<div dir="auto">Greetings<div dir="auto"><br></div><div dir="auto">Why not send each track instrument a separate midi channel on a single port. Question is will Cubase do that. It used to only allow one midi channel at a time when recording. Certainly that is no longer the case? </div></div><div class="gmail_extra"><br><div class="gmail_quote">On Dec 8, 2016 18:28, "Gonzalo" <<a href="mailto:gonzalo@dense13.com">gonzalo@dense13.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I found this:<br>
<br>
"...the MIDI specification has different parts. One part describes MIDI "wire" protocol (messages sent between devices in real time), and another part describes Standard MIDI Files (messages stored as events in "sequences"). In the latter part of the specification, each event stored in a standard MIDI file is tagged with a timing value that indicates when that event should be played. By contrast, messages in MIDI wire protocol are always supposed to be processed immediately, as soon as they're received by a device, so they have no accompanying timing values".<br>
<br>
(<a href="https://docs.oracle.com/javase/tutorial/sound/MIDI-messages.html" rel="noreferrer" target="_blank">https://docs.oracle.com/javas<wbr>e/tutorial/sound/MIDI-messages<wbr>.html</a>)<br>
<br>
Might suggest there's no problem with the MidiMsg. Maybe it's a Cubase issue? Someone suggested it's a Midi TimeCode issue, but I know nothing about that. I'll keep looking, but if anybody has any more info that'll be very welcome.<br>
<br>
Gonzalo<br>
<br>
<br>
<br>
On 09/12/16 00:11, Gonzalo wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Thanks Michael,<br>
<br>
This might be a bit over my head, but I'll look into it. Never checked<br>
Chuck's source code before, at the very least it'll be fun. :)<br>
<br>
Gonzalo<br>
<br>
<br>
On 08/12/16 23:28, Michael Heuer wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Thu, Dec 8, 2016 at 3:52 PM, Gonzalo <<a href="mailto:gonzalo@dense13.com" target="_blank">gonzalo@dense13.com</a><br>
<mailto:<a href="mailto:gonzalo@dense13.com" target="_blank">gonzalo@dense13.com</a>>> wrote:<br>
<br>
Hi,<br>
<br>
I'm using Bruce Murphy's MIDIsender class<br>
(<a href="http://www.rattus.net/~packrat/audio/ChucK/files/midisender.ck" rel="noreferrer" target="_blank">http://www.rattus.net/~packra<wbr>t/audio/ChucK/files/midisender<wbr>.ck</a><br>
<<a href="http://www.rattus.net/%7Epackrat/audio/ChucK/files/midisender.ck" rel="noreferrer" target="_blank">http://www.rattus.net/%7Epack<wbr>rat/audio/ChucK/files/midisend<wbr>er.ck</a>>)<br>
to generate MIDI from my Chuck code. I'm sending this MIDI to<br>
various virtual MIDI ports (using OSX's IAC Driver). Then I have<br>
various software instruments in Cubase, each one listening to one of<br>
the virtual ports. Works well when I run my Chuck program, but if in<br>
Cubase I arm the tracks and try to record the incoming MIDI, all the<br>
events get 'collapsed' at the same time, specifically the moment I<br>
click record. They do get recorded, but all starting at the same<br>
time.<br>
<br>
This only happens if I want to record them, if I'm only playing,<br>
timing is fine.<br>
<br>
Using MidiMonitor I see that the time for all the MIDI events<br>
generated from Chuck is 0, that seems to be the issue. Any thoughts<br>
on how I can change that?<br>
<br>
<br>
MidiMsg is defined as a four byte record<br>
<br>
<a href="https://github.com/ccrma/chuck/blob/master/src/midiio_rtmidi.h#L65" rel="noreferrer" target="_blank">https://github.com/ccrma/chuck<wbr>/blob/master/src/midiio_rtmidi<wbr>.h#L65</a><br>
<br>
but ChucK only sets three bytes on send<br>
<br>
<a href="https://github.com/ccrma/chuck/blob/master/src/midiio_rtmidi.cpp#L120" rel="noreferrer" target="_blank">https://github.com/ccrma/chuck<wbr>/blob/master/src/midiio_rtmidi<wbr>.cpp#L120</a><br>
<br>
<a href="http://midisender.ck" rel="noreferrer" target="_blank">midisender.ck</a> <<a href="http://midisender.ck" rel="noreferrer" target="_blank">http://midisender.ck</a>> does the same. Is the unset byte<br>
supposed to be the time? Suppose I should go read the spec.<br>
<br>
It appears time is written and read from files separately<br>
<br>
<a href="https://github.com/ccrma/chuck/blob/master/src/midiio_rtmidi.cpp#L823" rel="noreferrer" target="_blank">https://github.com/ccrma/chuck<wbr>/blob/master/src/midiio_rtmidi<wbr>.cpp#L823</a><br>
<a href="https://github.com/ccrma/chuck/blob/master/src/midiio_rtmidi.cpp#L837" rel="noreferrer" target="_blank">https://github.com/ccrma/chuck<wbr>/blob/master/src/midiio_rtmidi<wbr>.cpp#L837</a><br>
<br>
Not sure that helps,<br>
<br>
michael<br>
<br>
<br>
______________________________<wbr>_________________<br>
chuck-users mailing list<br>
<a href="mailto:chuck-users@lists.cs.princeton.edu" target="_blank">chuck-users@lists.cs.princeton<wbr>.edu</a><br>
<a href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users" rel="noreferrer" target="_blank">https://lists.cs.princeton.edu<wbr>/mailman/listinfo/chuck-users</a><br>
<br>
</blockquote>
<br>
</blockquote>
<br>
-- <br>
<a href="http://dense13.com" rel="noreferrer" target="_blank">http://dense13.com</a><br>
<a href="http://www.whole-play.com" rel="noreferrer" target="_blank">http://www.whole-play.com</a><br>
<a href="https://www.30daygroove.com" rel="noreferrer" target="_blank">https://www.30daygroove.com</a><br>
______________________________<wbr>_________________<br>
chuck-users mailing list<br>
<a href="mailto:chuck-users@lists.cs.princeton.edu" target="_blank">chuck-users@lists.cs.princeton<wbr>.edu</a><br>
<a href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users" rel="noreferrer" target="_blank">https://lists.cs.princeton.edu<wbr>/mailman/listinfo/chuck-users</a><br>
</blockquote></div></div>