On Thu, Dec 8, 2016 at 3:52 PM, Gonzalo
Hi,
I'm using Bruce Murphy's MIDIsender class (http://www.rattus.net/~packra t/audio/ChucK/files/midisender.ck) to generate MIDI from my Chuck code. I'm sending this MIDI to various virtual MIDI ports (using OSX's IAC Driver). Then I have various software instruments in Cubase, each one listening to one of the virtual ports. Works well when I run my Chuck program, but if in Cubase I arm the tracks and try to record the incoming MIDI, all the events get 'collapsed' at the same time, specifically the moment I click record. They do get recorded, but all starting at the same time.
This only happens if I want to record them, if I'm only playing, timing is fine.
Using MidiMonitor I see that the time for all the MIDI events generated from Chuck is 0, that seems to be the issue. Any thoughts on how I can change that?
MidiMsg is defined as a four byte record https://github.com/ccrma/chuck/blob/master/src/midiio_rtmidi.h#L65 but ChucK only sets three bytes on send https://github.com/ccrma/chuck/blob/master/src/midiio_rtmidi.cpp#L120 midisender.ck does the same. Is the unset byte supposed to be the time? Suppose I should go read the spec. It appears time is written and read from files separately https://github.com/ccrma/chuck/blob/master/src/midiio_rtmidi.cpp#L823 https://github.com/ccrma/chuck/blob/master/src/midiio_rtmidi.cpp#L837 Not sure that helps, michael