waddlesplash / QMidi

Qt library for MIDI output & MIDI file I/O.
MIT License
84 stars 38 forks source link

Add QMidiIn class + allow sending/receiving System Exclusive messages #17

Closed nilsding closed 4 years ago

nilsding commented 4 years ago

Here it is, the (at least by myself :P) long-awaited QMidiIn class.

I have tried the changes with a (as of yet unreleased and) small test program which interfaces with my Yamaha reface DX where it also retrieves certain data via System Exclusive messages (e.g. the voice name or a change in the FM algorithm used) -- worked fine across all three platforms.

waddlesplash commented 4 years ago

I also really should break the QMidiEvent class out of QMidiFile, and make that the one way to pass MIDI messages to QMidiIn/QMidiOut. The byte-banging just feels like a hack to me now.

nilsding commented 4 years ago

Yup. In a related note: one thing I thought that would be nice was to emit QMidiEvents instead of quint32s, but I quickly gave up fighting with the compiler as I just wanted to see the basic stuff working for now... Should be part of a later PR imho

nilsding commented 4 years ago

Oh and another thing -- should this library still be compatible with Qt 4, or can we drop that and make Travis build it with Qt 5?

waddlesplash commented 4 years ago

Yeah, we can drop Qt 4 at this point; I don't see any reason to keep that around.

waddlesplash commented 4 years ago

Looks good aside from the one comment.

waddlesplash commented 4 years ago

Thanks for the contribution!!