<div dir="ltr"><div>btw, I quickly tried sending SysEx from ChucK on MacOS Sierra 10.12.6 and this seems to work, but it also sends spurious bytes when the msg is not a multiple of 3.</div><div>Here&#39;s few lines of code I quickly put together to test this. I&#39;ll try on Linux and it would be great if anybody could try on Windows as well.</div><div>On Mac I used MidiMonitor to check the MIDI out, on Windows a virtual port and something like Pd or Max should do the trick.</div><div>No luck in receiving SysEx though, but I don&#39;t give up :P<br></div><div><br></div><div><br></div><div>//-------------------SYSEX-TEST-------------------</div><div>MidiOut m_out;<br>MidiMsg msg;<br><br>m_out.open(0);        // select MIDI out<br><br>while( true )<br>{<br>    sysex_gen() @=&gt; int buffer[];<br>    for( 0 =&gt; int c; c &lt; buffer.size(); c++)<br>    {<br>        chout &lt;= buffer[c] &lt;= &quot; &quot;;<br>    }<br>    chout &lt;= IO.nl();<br>    send_sysex( m_out, msg, buffer );<br>    2::second =&gt; now;<br>}<br><br>function int[] sysex_gen()<br>{<br>    Math.random2( 6, 128 ) =&gt; int length;<br>    int buffer[ length ];<br>    240 =&gt; buffer[0];<br>    247 =&gt; buffer[ length - 1 ];<br>    for( 0 =&gt; int c; c &lt; length - 2; c++ )<br>    {<br>        Math.random2( 0, 127 ) =&gt; buffer[ c + 1 ];<br>    }<br>    <br>    return buffer;<br>}<br><br>function void send_sysex( MidiOut out, MidiMsg msg_out, int sys_msg[] )<br>{<br>    for( 0 =&gt; int c; c &lt; sys_msg.size(); c++ )<br>    {<br>        if( c % 3 == 0 )<br>        {<br>            sys_msg[c] =&gt; msg_out.data1; <br>            if( c == sys_msg.size() - 1 )<br>            {<br>                0 =&gt; msg_out.data2;<br>                0 =&gt; msg_out.data3;<br>                out.send( msg_out );<br>            }<br>        }<br>        else if( c % 3 == 1 )<br>        {<br>            sys_msg[c] =&gt; msg_out.data2;<br>            if( c == sys_msg.size() - 1 )<br>            {<br>                0 =&gt; msg_out.data3;<br>                out.send( msg_out );<br>            }<br>        }<br>        else if( c % 3 == 2 )<br>        {<br>            sys_msg[c] =&gt; msg_out.data3;<br>            out.send( msg_out );<br>        }<br>    }<br>}</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 2 Jul 2019 at 22:15, Michael Heuer &lt;<a href="mailto:heuermh@gmail.com">heuermh@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;">Great, thanks!  I&#39;ll start a new thread asking how best to use it!<div><br></div><div>   michael</div><div><br><div><br><blockquote type="cite"><div>On Jul 2, 2019, at 3:53 PM, Mario Buoninfante &lt;<a href="mailto:mario.buoninfante@gmail.com" target="_blank">mario.buoninfante@gmail.com</a>&gt; wrote:</div><br class="gmail-m_-8959663932309435404Apple-interchange-newline"><div><div dir="ltr"><div>Nice :) <br></div><div>MIDI clock works fine now (ChucK 1.4.0.0). There&#39;s a flag you can use to activate it that I don&#39;t remember whether is ON or OFF by default, but anyway is there.</div><div>Like I said there&#39;s a flag for SysEx as well, but that doesn&#39;t seem to do much.</div><div><br></div><div>Cheers,</div><div>Mario<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 2 Jul 2019 at 21:43, Michael Heuer &lt;<a href="mailto:heuermh@gmail.com" target="_blank">heuermh@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I&#39;d say go for it!  It would be nice to have proper SysEx and MIDI clock support in ChucK.<br>
<br>
I recall there was some progress on the latter; did I read somewhere that clock messages are available via RtMidi but simply disabled in ChucK for performance reasons?<br>
<br>
   michael<br>
<br>
<br>
&gt; On Jul 2, 2019, at 3:23 PM, Mario Buoninfante &lt;<a href="mailto:mario.buoninfante@gmail.com" target="_blank">mario.buoninfante@gmail.com</a>&gt; wrote:<br>
&gt; <br>
&gt; Hi everybody,<br>
&gt; <br>
&gt; One month ago I got started with an Open Source project whose goal is to support some hardware on various platforms/environments/programming languages (Pd, SC, Processing, Lua, Python, JS, etc.) and of course my goal is to have ChucK on board as well (hopefully I&#39;ll share more info about the project in the next months).<br>
&gt; The only issue I&#39;ve got at the moment is that I need to talk SysEx with these gears, and as you know ChucK doesn&#39;t deal with SysEx.<br>
&gt; I really care a lot about this project, mainly because it&#39;s open source and because will involve different communities (Pd, SC, JS, etc.) and would really love to include ChucK in this since is the tool I&#39;m mainly using to experiment and make music and I truly believe has got something more than other languages/environments. <br>
&gt; Thus, since I&#39;m not a C++ person, I decided I&#39;ll ask a colleague of mine (a C++ programmer) to help out with this, also because he&#39;ll get involved in the project for other reasons anyway.<br>
&gt; But before doing this I wanted to ask the developers and all those who are involved in maintaining ChucK, if there&#39;s any particular reason why SysEx messages are not currently supported.<br>
&gt; From what I can see in the code (and after running few experiments) with the current architecture SysEx messages could be sent out (3 bytes at time though) but with a lot of limitations (didn&#39;t manage to receive SysEx messages though). <br>
&gt; Also, I think RtMidi doesn&#39;t gate us from doing that (there&#39;s just a flag used to &#39;turn on/off&#39; SysEx communication).<br>
&gt; But it seems like there&#39;s nothing in place that allows to deal with MIDI messages bigger than 3 bytes and, from a &quot;non-C++ person&quot;, it seems one way to fix this could potentially be to add a SysExIn/SysExOut and a SysExMsg classes that deal with these kind of MIDI messages.<br>
&gt; Of course there could be a lot of things I&#39;m missing here, and that&#39;s why I&#39;m asking you for some help, even before asking for other help :)<br>
&gt; Just to make sure there&#39;s nothing that prevents people from adding this functionality.<br>
&gt; Then, last but not the least, ChucK is an open source project and I love it. There are a lot of people working with it, and I was wondering whether or not this would be a feature people are after.<br>
&gt; Basically I&#39;d like to hear from the community before even getting started with this.<br>
&gt; <br>
&gt; I hope this makes sense. Looking forward to hearing from you guys :)<br>
&gt; <br>
&gt; Cheers,<br>
&gt; Mario<br>
&gt; _______________________________________________<br>
&gt; chuck-users mailing list<br>
&gt; <a href="mailto:chuck-users@lists.cs.princeton.edu" target="_blank">chuck-users@lists.cs.princeton.edu</a><br>
&gt; <a href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users" rel="noreferrer" target="_blank">https://lists.cs.princeton.edu/mailman/listinfo/chuck-users</a><br>
<br>
_______________________________________________<br>
chuck-users mailing list<br>
<a href="mailto:chuck-users@lists.cs.princeton.edu" target="_blank">chuck-users@lists.cs.princeton.edu</a><br>
<a href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users" rel="noreferrer" target="_blank">https://lists.cs.princeton.edu/mailman/listinfo/chuck-users</a><br>
</blockquote></div>
_______________________________________________<br>chuck-users mailing list<br><a href="mailto:chuck-users@lists.cs.princeton.edu" target="_blank">chuck-users@lists.cs.princeton.edu</a><br><a href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users" target="_blank">https://lists.cs.princeton.edu/mailman/listinfo/chuck-users</a><br></div></blockquote></div><br></div></div>_______________________________________________<br>
chuck-users mailing list<br>
<a href="mailto:chuck-users@lists.cs.princeton.edu" target="_blank">chuck-users@lists.cs.princeton.edu</a><br>
<a href="https://lists.cs.princeton.edu/mailman/listinfo/chuck-users" rel="noreferrer" target="_blank">https://lists.cs.princeton.edu/mailman/listinfo/chuck-users</a><br>
</blockquote></div>