I'm having trouble with generating MIDI messages in my VST plugin (I use C++). I have the following processEvents() function implemented that takes an input note from the host and gives it right back.
Code: Select all
long MIDIGen::processEvents(VstEvents* ev){
for (long i=0; i<ev->numEvents; i++){
if ((ev->events[i])->type!=kVstMidiType)
continue;
event=(VstMidiEvent*)ev->events[i];
midiDataChar=event->midiData;
long status=midiDataChar[0]&0xf0;
if (status==0x90||status==0x80){
ev->events[i]=(VstEvent*)event;
sendVstEventsToHost(ev);
}
event++;
}
return 1;
}
Code: Select all
if (fPower>=0.5f){
genNote[0].type=0;
genNote[0].midiData[0]=90;
genNote[0].midiData[1]=60;
genNote[0].midiData[2]=127;
genNote[0].midiData[3]=0;
genNote[0].reserved1=99;
genNote[0].deltaFrames=-99;
genNote[0].noteLength=100;
genNote[0].noteOffset=0;
test->events[0]=(VstEvent*)genNote;
sendVstEventsToHost(test);
}
Thnx for reading!