commit 974841112ea22d2f7d84d44dbd327ef8fa541206
parent 5ab5f8b3ae1ed24f6ec1aa8eaee1b6cadd88a4f5
Author: dsp56300 <dsp56300@users.noreply.github.com>
Date: Fri, 25 Oct 2024 18:47:15 +0200
do not forward parameter changes echoed by the DSP back to the DAW, it causes some hosts to stop automation because it guesses that we're editing parameters
Diffstat:
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/source/virusJucePlugin/VirusController.cpp b/source/virusJucePlugin/VirusController.cpp
@@ -83,7 +83,7 @@ namespace virus
Controller::~Controller() = default;
- bool Controller::parseSysexMessage(const pluginLib::SysEx& _msg, synthLib::MidiEventSource)
+ bool Controller::parseSysexMessage(const pluginLib::SysEx& _msg, synthLib::MidiEventSource _source)
{
std::string name;
pluginLib::MidiPacket::Data data;
@@ -109,7 +109,12 @@ namespace virus
else if(name == midiPacketName(MidiPacketType::MultiDump))
parseMulti(_msg, data, parameterValues);
else if(name == midiPacketName(MidiPacketType::ParameterChange))
- parseParamChange(data);
+ {
+ // TI DSP sends parameter changes back as sysex, unsure why. Ignore them as it stops
+ // host automation because the host thinks we "edit" the parameter
+ if(_source != synthLib::MidiEventSource::Plugin)
+ parseParamChange(data);
+ }
else
{
LOG("Controller: Begin unhandled SysEx! --");