Here is the updated fuzztrem plugin with 3 parameters and controls added ClassTest1126.
Sample code to parse MIDI – noteOff, noteOn and bendPitch are my own methods – you will need to write your own versions of these methods to connect the MIDI data to your process.
MidiBuffer::Iterator it(midiMessages); MidiMessage msg(0x80,0,0,0); int pos; int32_t note; // start with the MIDI processing while(it.getNextEvent(msg , pos)) { if(msg.isNoteOn()) { note = msg.getNoteNumber(); noteOn(note); } if(msg.isNoteOff()) { note = msg.getNoteNumber(); noteOff(note); } if(msg.isPitchWheel()) { bendPitch(msg.getPitchWheelValue()); } }
Simple code to save your current settings to a session (pulled from my plugin ++pitchsift)
void PitchsiftAudioProcessor::getStateInformation (MemoryBlock& destData) { // You should use this method to store your parameters in the memory block. // You could do that either as raw data, or use the XML or ValueTree classes // as intermediaries to make it easy to save and load complex data. ScopedPointerxml (parameters.state.createXml()); copyXmlToBinary (*xml, destData); } void PitchsiftAudioProcessor::setStateInformation (const void* data, int sizeInBytes) { // You should use this method to restore your parameters from this memory block, // whose contents will have been created by the getStateInformation() call. // This getXmlFromBinary() helper function retrieves our XML from the binary blob.. ScopedPointer xmlState (getXmlFromBinary (data, sizeInBytes)); }