@mcc since its a just for me tool first, my only real constraints here are that it needs to be low latency and it needs to be something I can iterate on quickly, which, well, means C++ still until I learn another systems language.
@aeva Here's the C++ mini sequencer I've been using, if you want to see how easy this is:
https://github.com/mcclure/lovr/blob/ZP_midi/game/midi/hook-midi.cpp#L338
Songs look like
(P t--3 0 p8x p13x p0x p8x p13x) (R t--2 0 t--3 p0 x p8 x p13 x) R P -2 R P +4 R P -2
(Numbers are notes, uppercase letters are function definitions or calls, lowercase numbers are control codes)
413 lines of code (and it was only 70 lines of code in the original version; adding polyphony and hooks for GUI integration made it more complicated)
@aeva Here's the C++ mini sequencer I've been using, if you want to see how easy this is:
https://github.com/mcclure/lovr/blob/ZP_midi/game/midi/hook-midi.cpp#L338
Songs look like
(P t--3 0 p8x p13x p0x p8x p13x)
(R t--2 0 t--3 p0 x p8 x p13 x)
R P -2 R P +4 R P -2
(Numbers are notes, uppercase letters are function definitions or calls, lowercase numbers are control codes)
413 lines of code (and it was only 70 lines of code in the original version; adding polyphony and hooks for GUI integration made it more complicated)
@aeva Here's the C++ mini sequencer I've been using, if you want to see how easy this is:
https://github.com/mcclure/lovr/blob/ZP_midi/game/midi/hook-midi.cpp#L338
Songs look like
(P t--3 0 p8x p13x p0x p8x p13x)
(R t--2 0 t--3 p0 x p8 x p13 x)
R P -2 R P +4 R P -2
(Numbers are notes, uppercase letters are function definitions or calls, lowercase numbers are control codes)