summaryrefslogtreecommitdiff
path: root/muse2/muse/dssihost.h
diff options
context:
space:
mode:
authorTim E. Real <termtech@rogers.com>2011-09-09 21:29:24 +0000
committerTim E. Real <termtech@rogers.com>2011-09-09 21:29:24 +0000
commitefc7169b5f31ca13f970ae19e3d41c361acace41 (patch)
tree25fefb2df088f75e9b0126c7c71a60cea74e49ff /muse2/muse/dssihost.h
parent2120ea4f083228dde0d7307203391a4ec8f57e2d (diff)
More massive cleanups, update ChangeLog.
Diffstat (limited to 'muse2/muse/dssihost.h')
-rw-r--r--muse2/muse/dssihost.h90
1 files changed, 8 insertions, 82 deletions
diff --git a/muse2/muse/dssihost.h b/muse2/muse/dssihost.h
index 802e0e95..cea46e69 100644
--- a/muse2/muse/dssihost.h
+++ b/muse2/muse/dssihost.h
@@ -4,6 +4,7 @@
// $Id: dssihost.h,v 1.10.2.7 2009/12/06 10:05:00 terminator356 Exp $
//
// Copyright (C) 1999-2011 by Werner Schweer and others
+// (C) Copyright 2011 Tim E. Real (terminator356 on users dot sourceforge dot net)
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License
@@ -67,18 +68,14 @@ class Port;
class DssiSynth : public Synth {
protected:
- //char* label;
void* handle;
const DSSI_Descriptor* dssi;
DSSI_Descriptor_Function df;
unsigned long _portCount, _inports, _outports, _controlInPorts, _controlOutPorts;
- //std::vector<unsigned long> pIdx; // Control input index to port number.
- //std::vector<unsigned long> opIdx; // Control output index to port number. This is sometimes a latency port and...?
std::vector<unsigned long> iIdx; // Audio input index to port number.
std::vector<unsigned long> oIdx; // Audio output index to port number.
std::vector<bool> iUsedIdx; // During process, tells whether an audio input port was used by any input routes.
std::vector<unsigned long> rpIdx; // Port number to control input index. Item is -1 if it's not a control input.
- //unsigned long* rpIdx;
MidiCtl2LadspaPortMap midiCtl2PortMap; // Maps midi controller numbers to DSSI port numbers.
MidiCtl2LadspaPortMap port2MidiCtlMap; // Maps DSSI port numbers to midi controller numbers.
bool _hasGui;
@@ -87,25 +84,10 @@ class DssiSynth : public Synth {
bool _isDssiVst;
public:
- //DssiSynth(const QFileInfo* fi, QString l) : Synth(fi, l) {
- //DssiSynth(const QFileInfo& fi, QString l) : Synth(fi, l) {
- //DssiSynth(const QFileInfo& fi, QString label, QString descr, QString maker, QString ver) :
- // Synth(fi, label, descr, maker, ver) {
- // rpIdx = 0;
- // df = 0;
- // handle = 0;
- // dssi = 0;
- // _hasGui = false;
- // }
- //DssiSynth(const QFileInfo& fi, QString label, QString descr, QString maker, QString ver);
DssiSynth(QFileInfo&, const DSSI_Descriptor*); // removed const for QFileInfo
virtual ~DssiSynth();
virtual void incInstances(int);
-
- //virtual void* instantiate();
-
virtual SynthIF* createSIF(SynthI*);
- //virtual SynthIF* createSIF();
friend class DssiSynthIF;
//float defaultValue(int); // Not required
@@ -113,8 +95,6 @@ class DssiSynth : public Synth {
unsigned long outPorts() const { return _outports; }
unsigned long inControls() const { return _controlInPorts; }
unsigned long outControls() const { return _controlOutPorts; }
-
- //unsigned long inControlPortIdx(unsigned long i) { return pIdx[i]; }
};
//---------------------------------------------------------
@@ -122,31 +102,18 @@ class DssiSynth : public Synth {
// VSTi synthesizer instance
//---------------------------------------------------------
-//class DssiSynthIF : public SynthIF
class DssiSynthIF : public SynthIF, public PluginIBase
{
- //bool _guiVisible;
DssiSynth* synth;
LADSPA_Handle handle;
- //LadspaPort* controls;
Port* controls;
Port* controlsOut;
- //unsigned long _curBank;
- //unsigned long _curProgram;
-
#ifdef OSC_SUPPORT
OscDssiIF _oscif;
#endif
- //void* uiTarget;
- //char* uiOscShowPath;
- //char* uiOscControlPath;
- //char* uiOscConfigurePath;
- //char* uiOscProgramPath;
- //char* uiOscPath;
-
std::vector<DSSI_Program_Descriptor> programs;
void queryPrograms();
bool processEvent(const MidiPlayEvent&, snd_seq_event_t*);
@@ -154,13 +121,8 @@ class DssiSynthIF : public SynthIF, public PluginIBase
float** audioInBuffers;
float** audioOutBuffers;
- protected:
- //int guiPid;
- //QProcess* guiQProc;
-
public:
DssiSynthIF(SynthI* s);
- //DssiSynthIF();
// This is only a kludge required to support old songs' midistates. Do not use in any new synth.
virtual int oldMidiStateHeader(const unsigned char** data) const;
@@ -174,70 +136,43 @@ class DssiSynthIF : public SynthIF, public PluginIBase
virtual void guiHeartBeat();
virtual bool guiVisible() const;
virtual void showGui(bool);
- //virtual bool hasGui() const { return synth->_hasGui; }
virtual bool hasGui() const { return true; }
- virtual bool nativeGuiVisible() const; // p4.0.20
- virtual void showNativeGui(bool); //
- //virtual bool hasNativeGui() const { /*return synth->_hasGui; */} //
- virtual bool hasNativeGui() const { return !dssi_ui_filename().isEmpty(); } //
+ virtual bool nativeGuiVisible() const;
+ virtual void showNativeGui(bool);
+ virtual bool hasNativeGui() const { return !dssi_ui_filename().isEmpty(); }
virtual void getGeometry(int*x, int*y, int*w, int*h) const { *x=0;*y=0;*w=0;*h=0; }
virtual void setGeometry(int, int, int, int) {}
virtual void getNativeGeometry(int*x, int*y, int*w, int*h) const { *x=0;*y=0;*w=0;*h=0; }
virtual void setNativeGeometry(int, int, int, int) {}
virtual void preProcessAlways();
-
- //virtual void getData(MidiEventList*, unsigned pos, int ports, unsigned n, float** buffer) ;
virtual iMPEvent getData(MidiPort*, MPEventList*, iMPEvent, unsigned pos, int ports, unsigned n, float** buffer);
-
- //virtual bool putEvent(const MidiEvent& ev);
virtual bool putEvent(const MidiPlayEvent& ev);
-
- //virtual MidiEvent receiveEvent();
virtual MidiPlayEvent receiveEvent();
-
virtual int eventsPending() const { return 0; }
- //virtual int channels() const { return synth->_outports; }
virtual int channels() const;
virtual int totalOutChannels() const;
virtual int totalInChannels() const;
virtual void deactivate3() {}
- //virtual QString getPatchName(int, int);
virtual const char* getPatchName(int, int, int, bool) const { return ""; }
virtual const char* getPatchName(int, int, MType, bool);
+ virtual void populatePatchPopup(MusEWidget::PopupMenu*, int, MType, bool);
- //virtual void populatePatchPopup(QMenu*, int);
- //virtual void populatePatchPopup(QMenu*, int, MType, bool);
- virtual void populatePatchPopup(MusEWidget::PopupMenu*, int, MType, bool);
-
- //virtual void write(Xml& xml) const;
virtual void write(int level, Xml& xml) const;
virtual float getParameter(unsigned long /*idx*/) const;
virtual float getParameterOut(unsigned long n) const;
virtual void setParameter(unsigned long /*idx*/, float /*value*/);
- //virtual int getControllerInfo(int, const char**, int*, int*, int*) { return 0; }
virtual int getControllerInfo(int, const char**, int*, int*, int*, int*);
bool init(DssiSynth* s);
- //StringParamMap& stringParameters() { return synti->stringParameters(); }
-
#ifdef OSC_SUPPORT
OscDssiIF& oscIF() { return _oscif; }
- /*
- int oscProgram(lo_arg**);
- int oscControl(lo_arg**);
- int oscMidi(lo_arg**);
- int oscConfigure(lo_arg**);
- int oscUpdate(lo_arg**);
- //int oscExiting(lo_arg**);
- */
-
int oscProgram(unsigned long /*prog*/, unsigned long /*bank*/);
int oscControl(unsigned long /*dssiPort*/, float /*val*/);
int oscMidi(int /*a*/, int /*b*/, int /*c*/);
@@ -251,8 +186,7 @@ class DssiSynthIF : public SynthIF, public PluginIBase
//-------------------------
bool on() const;
void setOn(bool /*val*/);
- //int pluginID();
- unsigned long pluginID(); // p4.0.21
+ unsigned long pluginID();
int id();
QString pluginLabel() const;
QString name() const;
@@ -260,22 +194,14 @@ class DssiSynthIF : public SynthIF, public PluginIBase
QString dirPath() const;
QString fileName() const;
AudioTrack* track();
- //void enableController(int /*i*/, bool v = true);
- //bool controllerEnabled(int /*i*/) const;
- //bool controllerEnabled2(int /*i*/) const;
- void enableController(unsigned long /*i*/, bool v = true); // p4.0.21
+ void enableController(unsigned long /*i*/, bool v = true);
bool controllerEnabled(unsigned long /*i*/) const;
bool controllerEnabled2(unsigned long /*i*/) const;
void updateControllers();
void writeConfiguration(int /*level*/, Xml& /*xml*/);
bool readConfiguration(Xml& /*xml*/, bool readPreset=false);
- //int parameters() const;
- //void setParam(int /*i*/, double /*val*/);
- //double param(int /*i*/) const;
- //const char* paramName(int /*i*/);
- //LADSPA_PortRangeHint range(int /*i*/);
- unsigned long parameters() const; // p4.0.21
+ unsigned long parameters() const;
unsigned long parametersOut() const;
void setParam(unsigned long /*i*/, float /*val*/);
float param(unsigned long /*i*/) const;