diff options
author | Tim E. Real <termtech@rogers.com> | 2012-12-07 07:41:24 +0000 |
---|---|---|
committer | Tim E. Real <termtech@rogers.com> | 2012-12-07 07:41:24 +0000 |
commit | 0a919a7b36ee4b58e5ce3628a2d8b97bf751d2c4 (patch) | |
tree | 335fccddc229d2d0299095dfe46daae614188c79 /muse2/muse/synth.cpp | |
parent | a9cef6554f73892b6c7ff6a7a44d8e72f06aa16f (diff) |
Feature: Native VST instruments support. PLEASE SEE ChangeLog.
Diffstat (limited to 'muse2/muse/synth.cpp')
-rw-r--r-- | muse2/muse/synth.cpp | 58 |
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; |