summaryrefslogtreecommitdiff
path: root/muse2/muse/plugin.h
diff options
context:
space:
mode:
authorTim E. Real <termtech@rogers.com>2011-08-29 22:44:24 +0000
committerTim E. Real <termtech@rogers.com>2011-08-29 22:44:24 +0000
commitd505c378bdf55445babb73e0ba4085702be35870 (patch)
tree40ccb82e5b27f118904a5298faedd10fe3b96d36 /muse2/muse/plugin.h
parent21e75f0c2d14010d060693c77fd3e22e1fccd65d (diff)
Fixed audio automation graph editing. And now 'snaps' to discrete integer or bool types.
All control movements should update display now. Also slightly changed behaviour of Ctrl class. TODO: Fix some painting corruption, improve discrete display, add transparency etc. etc. Applied compilation patch to rhythmbase.ui by Jean-Damien Durand.
Diffstat (limited to 'muse2/muse/plugin.h')
-rw-r--r--muse2/muse/plugin.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/muse2/muse/plugin.h b/muse2/muse/plugin.h
index 30cc5912..dec77d2f 100644
--- a/muse2/muse/plugin.h
+++ b/muse2/muse/plugin.h
@@ -177,6 +177,8 @@ class Plugin {
//double defaultValue(unsigned long port) const;
float defaultValue(unsigned long port) const; // p4.0.21
void range(unsigned long i, float*, float*) const;
+ CtrlValueType ctrlValueType(unsigned long /*i*/) const;
+ CtrlList::Mode ctrlMode(unsigned long /*i*/) const;
const char* portName(unsigned long i) {
return plugin ? plugin->PortNames[i] : 0;
@@ -354,6 +356,9 @@ class PluginIBase
virtual const char* paramOutName(unsigned long /*i*/) = 0;
virtual LADSPA_PortRangeHint range(unsigned long /*i*/) = 0;
virtual LADSPA_PortRangeHint rangeOut(unsigned long /*i*/) = 0;
+
+ virtual CtrlValueType ctrlValueType(unsigned long /*i*/) const = 0;
+ virtual CtrlList::Mode ctrlMode(unsigned long /*i*/) const = 0;
QString dssi_ui_filename() const;
//virtual void showGui(bool) = 0; // p4.0.20
@@ -499,7 +504,6 @@ class PluginI : public PluginIBase {
QString pluginLabel() const { return _plugin->label(); }
QString label() const { return _label; }
QString name() const { return _name; }
- CtrlValueType valueType() const;
QString lib() const { return _plugin->lib(); }
QString dirPath() const { return _plugin->dirPath(); }
QString fileName() const { return _plugin->fileName(); }
@@ -560,6 +564,8 @@ class PluginI : public PluginIBase {
LADSPA_PortRangeHint range(unsigned long i) { return _plugin->range(controls[i].idx); }
LADSPA_PortRangeHint rangeOut(unsigned long i) { return _plugin->range(controlsOut[i].idx); }
bool inPlaceCapable() const { return _plugin->inPlaceCapable(); }
+ CtrlValueType ctrlValueType(unsigned long i) const { return _plugin->ctrlValueType(controls[i].idx); }
+ CtrlList::Mode ctrlMode(unsigned long i) const { return _plugin->ctrlMode(controls[i].idx); };
};
//---------------------------------------------------------
@@ -650,6 +656,8 @@ extern bool ladspaDefaultValue(const LADSPA_Descriptor* plugin, unsigned long po
extern void ladspaControlRange(const LADSPA_Descriptor* plugin, unsigned long port, float* min, float* max);
extern bool ladspa2MidiControlValues(const LADSPA_Descriptor* plugin, unsigned long port, int ctlnum, int* min, int* max, int* def);
extern float midi2LadspaValue(const LADSPA_Descriptor* plugin, unsigned long port, int ctlnum, int val);
+extern CtrlValueType ladspaCtrlValueType(const LADSPA_Descriptor* plugin, int port);
+extern CtrlList::Mode ladspaCtrlMode(const LADSPA_Descriptor* plugin, int port);
//extern MidiController* ladspa2MidiController(const LADSPA_Descriptor* plugin, unsigned long port, int ctlnum);
#endif