I'm trying to clarify what fixed it as best I can, but I came in making a lot of trial and error changes so bear with me as I sort them out. Forgive my lingo if I mix up words, I am learning by doing so occasionally figure things incorrectly.
Originally, I was missing the connection between my midiInput object being declared in the header file and initialised in the cpp. I originally just copied your code straight up, but as I now think I know,that was redeclaring the MidiInput when it was already declared in the h file. When I simply changed the Line MidiInput* midiInput in the header to ScopedPointer<MidiInput> midiInput - it all started working.
The other confusing part (for me) was that I was trying harder to make the surrounding class around the midiInput a scoped pointer, which turned out to be unneccesarry.
Silly mistakes, yea, but I'm working through them. I started by just copying your code, but when I considered in relation to mine, I figured it out.
And apologies for not providing more code, I am trying to walk the fine line between 'point me in the right direction' and seeming like 'do it for me'.