This class is impossible to instantiate:
struct MyMidiHandler : public MidiInputCallback {
MyMidiHandler (MidiInput* midiInput, MidiOutput* midiOutput) { }
};
Because MidiInput::openDevice() requires a pointer to the MidiInputCallback:
static MidiInput* openDevice (int deviceIndex, MidiInputCallback* callback);
Instead, we should have this:
static MidiInput* MidiInput::openDevice (int deviceIndex);
virtual void MidiInput::start (MidiInputCallback* callback);
