Skip to content

Commit

Permalink
VST3 - make sure MIDI CCs and pitchbend get sent to editor
Browse files Browse the repository at this point in the history
  • Loading branch information
olilarkin committed Apr 18, 2020
1 parent 686b631 commit a86fa69
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 3 deletions.
5 changes: 3 additions & 2 deletions IPlug/VST3/IPlugVST3_ProcessorBase.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -324,7 +324,7 @@ void IPlugVST3ProcessorBase::PrepareProcessContext(ProcessData& data, ProcessSet
SetRenderingOffline(offline);
}

void IPlugVST3ProcessorBase::ProcessParameterChanges(ProcessData& data)
void IPlugVST3ProcessorBase::ProcessParameterChanges(ProcessData& data, IPlugQueue<IMidiMsg>& fromProcessor)
{
IParameterChanges* paramChanges = data.inputParameterChanges;

Expand Down Expand Up @@ -386,6 +386,7 @@ void IPlugVST3ProcessorBase::ProcessParameterChanges(ProcessData& data)
else
msg.MakeControlChangeMsg((IMidiMsg::EControlChangeMsg) ctrlr, value, channel, offsetSamples);

fromProcessor.Push(msg);
ProcessMidiMsg(msg);
}
}
Expand Down Expand Up @@ -470,7 +471,7 @@ void IPlugVST3ProcessorBase::ProcessAudio(ProcessData& data, ProcessSetup& setup
void IPlugVST3ProcessorBase::Process(ProcessData& data, ProcessSetup& setup, const BusList& ins, const BusList& outs, IPlugQueue<IMidiMsg>& fromEditor, IPlugQueue<IMidiMsg>& fromProcessor, IPlugQueue<SysExData>& sysExFromEditor, SysExData& sysExBuf)
{
PrepareProcessContext(data, setup);
ProcessParameterChanges(data);
ProcessParameterChanges(data, fromProcessor);

if (DoesMIDIIn())
{
Expand Down
2 changes: 1 addition & 1 deletion IPlug/VST3/IPlugVST3_ProcessorBase.h
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ class IPlugVST3ProcessorBase : public IPlugProcessor

// Audio Processing
void PrepareProcessContext(Steinberg::Vst::ProcessData& data, Steinberg::Vst::ProcessSetup& setup);
void ProcessParameterChanges(Steinberg::Vst::ProcessData& data);
void ProcessParameterChanges(Steinberg::Vst::ProcessData& data, IPlugQueue<IMidiMsg>& fromProcessor);
void ProcessAudio(Steinberg::Vst::ProcessData& data, Steinberg::Vst::ProcessSetup& setup, const Steinberg::Vst::BusList& ins, const Steinberg::Vst::BusList& outs);
void Process(Steinberg::Vst::ProcessData& data, Steinberg::Vst::ProcessSetup& setup, const Steinberg::Vst::BusList& ins, const Steinberg::Vst::BusList& outs, IPlugQueue<IMidiMsg>& fromEditor, IPlugQueue<IMidiMsg>& fromProcessor, IPlugQueue<SysExData>& sysExFromEditor, SysExData& sysExBuf);

Expand Down

0 comments on commit a86fa69

Please sign in to comment.