View Single Post
Old 12-02-2016, 07:05 PM   #113
ijijn
Human being with feelings
 
ijijn's Avatar
 
Join Date: Apr 2012
Location: Christchurch, New Zealand
Posts: 482
Default

If I may suggest a couple of points to consider before details are set in stone:

Safe-to-send Format

Whatever the chosen solution, I think being able to send these meta-events externally (to VSTs, other DAWs, etc.) rather than simply sanitising the stream would be extremely beneficial for the greatest flexibility and interoperability. This way, notation can be shared between applications and harnessed by plugins on various platforms without relying solely on JSFX and friends within Reaper itself. It could also streamline Reaper's MIDI processing slightly in that it wouldn't need to keep such a careful eye on these things.

It seems that the existing 0xFF wouldn't work in this context: it designates metadata in static MIDI files but reset messages () in live applications, which isn't exactly ideal for our purposes!

So ... is SysEx the only format that would actually work reliably for all of this? Following on from discussions early in the piece, I personally wouldn't worry about whether or not it's officially binary or text data, as:
  1. I'm sure Reaper could detect its own distinct header signature for displaying the data appropriately in the event list, and
  2. third-party developers would be fine if we know what to look for.

Of course, if there is another message type that would work, I'd be totally on board with that too.

MIDI Bus Support

In a similar vein, I'm also wondering about the possibility of including the MIDI bus information via these events too, rather than relying on the midi_bus variable. Then we could use buses (where available) externally as well. This could be added to the specification later in the piece, but I thought I'd mention it.
ijijn is offline   Reply With Quote