Awkward MidiInput API


#1

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);