summaryrefslogtreecommitdiff
path: root/muse2/muse/synth.cpp
diff options
context:
space:
mode:
authorTim E. Real <termtech@rogers.com>2012-12-07 07:41:24 +0000
committerTim E. Real <termtech@rogers.com>2012-12-07 07:41:24 +0000
commit0a919a7b36ee4b58e5ce3628a2d8b97bf751d2c4 (patch)
tree335fccddc229d2d0299095dfe46daae614188c79 /muse2/muse/synth.cpp
parenta9cef6554f73892b6c7ff6a7a44d8e72f06aa16f (diff)
Feature: Native VST instruments support. PLEASE SEE ChangeLog.
Diffstat (limited to 'muse2/muse/synth.cpp')
-rw-r--r--muse2/muse/synth.cpp58
1 files changed, 57 insertions, 1 deletions
diff --git a/muse2/muse/synth.cpp b/muse2/muse/synth.cpp
index 840365ee..92c0a27d 100644
--- a/muse2/muse/synth.cpp
+++ b/muse2/muse/synth.cpp
@@ -61,7 +61,7 @@ namespace MusECore {
extern void connectNodes(AudioTrack*, AudioTrack*);
bool SynthI::_isVisible=false;
-const char* synthTypes[] = { "METRONOME", "MESS", "DSSI", "VST", "UNKNOWN" };
+const char* synthTypes[] = { "METRONOME", "MESS", "DSSI", "VST", "VST_NATIVE", "UNKNOWN" };
QString synthType2String(Synth::Type type) { return QString(synthTypes[type]); }
Synth::Type string2SynthType(const QString& type)
@@ -74,6 +74,62 @@ Synth::Type string2SynthType(const QString& type)
return Synth::SYNTH_TYPE_END;
}
+//--------------------------------
+// Methods for PluginIBase:
+//--------------------------------
+
+bool SynthIF::on() const { return true; } // Synth is not part of a rack plugin chain. Always on.
+void SynthIF::setOn(bool /*val*/) { }
+unsigned long SynthIF::pluginID() { return 0; }
+int SynthIF::id() { return MAX_PLUGINS; } // Set for special block reserved for synth.
+QString SynthIF::pluginLabel() const { return QString(); }
+QString SynthIF::name() const { return synti->name(); }
+QString SynthIF::lib() const { return QString(); }
+QString SynthIF::dirPath() const { return QString(); }
+QString SynthIF::fileName() const { return QString(); }
+QString SynthIF::titlePrefix() const { return QString(); }
+MusECore::AudioTrack* SynthIF::track() { return static_cast < MusECore::AudioTrack* > (synti); }
+void SynthIF::enableController(unsigned long, bool) { }
+bool SynthIF::controllerEnabled(unsigned long) const { return true;}
+void SynthIF::enable2Controller(unsigned long, bool) { }
+bool SynthIF::controllerEnabled2(unsigned long) const { return true; }
+void SynthIF::enableAllControllers(bool) { }
+void SynthIF::enable2AllControllers(bool) { }
+void SynthIF::updateControllers() { }
+void SynthIF::activate() { }
+void SynthIF::deactivate() { }
+void SynthIF::writeConfiguration(int /*level*/, Xml& /*xml*/) { }
+bool SynthIF::readConfiguration(Xml& /*xml*/, bool /*readPreset*/) { return false; }
+unsigned long SynthIF::parameters() const { return 0; }
+unsigned long SynthIF::parametersOut() const { return 0; }
+void SynthIF::setParam(unsigned long, float) { }
+float SynthIF::param(unsigned long) const { return 0.0; }
+float SynthIF::paramOut(unsigned long) const { return 0.0; }
+const char* SynthIF::paramName(unsigned long) { return NULL; }
+const char* SynthIF::paramOutName(unsigned long) { return NULL; }
+LADSPA_PortRangeHint SynthIF::range(unsigned long)
+{
+ LADSPA_PortRangeHint h;
+ h.HintDescriptor = 0;
+ h.LowerBound = 0.0;
+ h.UpperBound = 1.0;
+ return h;
+}
+LADSPA_PortRangeHint SynthIF::rangeOut(unsigned long)
+{
+ LADSPA_PortRangeHint h;
+ h.HintDescriptor = 0;
+ h.LowerBound = 0.0;
+ h.UpperBound = 1.0;
+ return h;
+}
+CtrlValueType SynthIF::ctrlValueType(unsigned long) const { return VAL_LINEAR; }
+CtrlList::Mode SynthIF::ctrlMode(unsigned long) const { return CtrlList::INTERPOLATE; };
+
+//-------------------------------------------------------------------------
+
+
+
bool MessSynthIF::nativeGuiVisible() const
{
return _mess ? _mess->nativeGuiVisible() : false;