One thing i’ve discovered that’s actually quite serious for me for a project i’m working on… it concerns MIDI generating plugins in TRACKTION
I made a plugin yesterday that works fine, generating MIDI CC data from mousewheel movements. This morning, before making an interface tweak, i decided to alter it so that it was compliant with the new JuceAudioPlugin model. Hardly any of the actual code has changed, and certainly not the midi generation code. Now it still works fine, but there is a very serious yet initially invisible problem.
Hooking up MidiOX to the midi output port, i discovered that the new version of the plugin does NOT generate any MIDI at the plug’s midi output if it has just been instantiated by itself on a track. Once another VST plugin has been put after it, it works as normal, even if you then remove that plugin from the chain.
This may not seem important, but when making a plugin designed to send MIDI data to external hardware, this is a very serious problem.
[EDIT] in case it isn’t clear, i’ve also tried several other little plugin ideas generating simple midi messages in various ways. the same thing happens, and i need to add another plugin to the track before it will generate midi, despite the interface seeming to be functioning properly. If it’s any help, this is the type of thing i’m doing when generating my midi…
(in filter class)...
generatedMidi.add( new MidiMessage::controllerEvent(1,0,value) );
the contents of generatedMidi get added to midiMessages (and then cleared) in the processBlock() section