I'm not shure if this is the right forum ...
However - I'm kind of stuck - when I set more than 1 note in my DAW at the same time (chords) - midiNoteOn() is processed one time only.
I tried the same with the same results in the doProcessEvent() function (VSTProcessor.cpp).
I'm not shure how polyphony is handled - I imagined something like stepwise at samplerate or so 😉
What am I doing wrong?
Thanks for help!
VST SDK is VST 3.6.8
my code for Note On is more or less like this (i removed voicing and so on):
bool __stdcall CMrQ::midiNoteOn(UINT uChannel, UINT uMIDINote, UINT uVelocity)
samplerNote = float(uMIDINote)*halftone;
when I use my display function it shows me only one event even if two or more notes are hit at the same time. With a little offset between the notes everything works as expected.
OK thanks; I will get back to this thread as soon as I can. The MIDI handling didn't change significantly in the later SDK versions. I'm currently on 3.6.10 which is required for the latest version of RackAFX 6.9 so I am guessing you may be on an older version of RackAFX as well (likewise, nothing really changed there either).
I'm still stuck here.
Today i built the DXSynth from your Synth Projects with the actual RackAFX and VST SDK 3.6.10 and it behaves in the same way - only one note is played when notes are set at the same time in the sequencer (like most people set chords).
With a little offset it works. But the same that happens with noteOn happens with NoteOff - set at the same time only one is recognized.
numEvents in VSTProcessor.cpp shows me the right count of events happening at the same time. Now I don't know if i should try to rewrite all the noteOn/Off stuff from there? Hmmm ...
You can use the files here to patch the VST exported project:
Unzip these two files and replace the same-named files in your exported VST project; they are located in the <PROJECT>/project_source/source/vst_source folder. If you look at the Process() function you can see the addition of the new method for processing the MIDI block of data. Please set breakpoints and watch the MIDI processing for all events with a given sample interval.
As for MIDI clock, please check the VST3 SDK to note the strict limitations on incoming MIDI data for VST3 - clock is not supported.
If you are trying to use clock information to synchronize LFOs, delay times, or even sequence events, then use the host information to get BPM and timing info instead.
Works like a charm on Mac but getting an error at Win (Visual Studio 2017):
'bool Steinberg::Vst::Sock2VST3::Processor::processEventsForInterval(Steinberg::Vst::IEventList *,int,int &)': cannot convert argument 3 from 'Steinberg::int32' to 'int &'
Got it working - so no need to speed anything up 😀
Thanks a lot again!
Most Users Ever Online: 55
Currently Browsing this Page:
Guest Posters: 1
Newest Members:Simple, Chris_1, manyu, AdamR, Stuart, Al Calabrese, frankthetank, dhodgson, Wanderer, mister1234
Moderators: W Pirkle: 352
Administrators: Tom: 71, JD Young: 80, Will Pirkle: 0, W Pirkle: 352