From what I can see in the code (and after running few experiments) with
Hi everybody, 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'll share more info about the project in the next months). The only issue I've got at the moment is that I need to talk SysEx with these gears, and as you know ChucK doesn't deal with SysEx. I really care a lot about this project, mainly because it'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'm mainly using to experiment and make music and I truly believe has got something more than other languages/environments. Thus, since I'm not a C++ person, I decided I'll ask a colleague of mine (a C++ programmer) to help out with this, also because he'll get involved in the project for other reasons anyway. But before doing this I wanted to ask the developers and all those who are involved in maintaining ChucK, if there's any particular reason why SysEx messages are not currently supported. the current architecture SysEx messages could be sent out (3 bytes at time though) but with a lot of limitations (didn't manage to receive SysEx messages though). Also, I think RtMidi doesn't gate us from doing that (there's just a flag used to 'turn on/off' SysEx communication). But it seems like there's nothing in place that allows to deal with MIDI messages bigger than 3 bytes and, from a "non-C++ person", 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. Of course there could be a lot of things I'm missing here, and that's why I'm asking you for some help, even before asking for other help :) Just to make sure there's nothing that prevents people from adding this functionality. 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. Basically I'd like to hear from the community before even getting started with this. I hope this makes sense. Looking forward to hearing from you guys :) Cheers, Mario
I'd say go for it! It would be nice to have proper SysEx and MIDI clock support in ChucK. 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? michael
On Jul 2, 2019, at 3:23 PM, Mario Buoninfante
wrote: Hi everybody,
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'll share more info about the project in the next months). The only issue I've got at the moment is that I need to talk SysEx with these gears, and as you know ChucK doesn't deal with SysEx. I really care a lot about this project, mainly because it'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'm mainly using to experiment and make music and I truly believe has got something more than other languages/environments. Thus, since I'm not a C++ person, I decided I'll ask a colleague of mine (a C++ programmer) to help out with this, also because he'll get involved in the project for other reasons anyway. But before doing this I wanted to ask the developers and all those who are involved in maintaining ChucK, if there's any particular reason why SysEx messages are not currently supported. 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't manage to receive SysEx messages though). Also, I think RtMidi doesn't gate us from doing that (there's just a flag used to 'turn on/off' SysEx communication). But it seems like there's nothing in place that allows to deal with MIDI messages bigger than 3 bytes and, from a "non-C++ person", 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. Of course there could be a lot of things I'm missing here, and that's why I'm asking you for some help, even before asking for other help :) Just to make sure there's nothing that prevents people from adding this functionality. 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. Basically I'd like to hear from the community before even getting started with this.
I hope this makes sense. Looking forward to hearing from you guys :)
Cheers, Mario _______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
Nice :)
MIDI clock works fine now (ChucK 1.4.0.0). There's a flag you can use to
activate it that I don't remember whether is ON or OFF by default, but
anyway is there.
Like I said there's a flag for SysEx as well, but that doesn't seem to do
much.
Cheers,
Mario
On Tue, 2 Jul 2019 at 21:43, Michael Heuer
I'd say go for it! It would be nice to have proper SysEx and MIDI clock support in ChucK.
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?
michael
On Jul 2, 2019, at 3:23 PM, Mario Buoninfante < mario.buoninfante@gmail.com> wrote:
Hi everybody,
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'll share more info about the project in the next months). The only issue I've got at the moment is that I need to talk SysEx with these gears, and as you know ChucK doesn't deal with SysEx. I really care a lot about this project, mainly because it'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'm mainly using to experiment and make music and I truly believe has got something more than other languages/environments. Thus, since I'm not a C++ person, I decided I'll ask a colleague of mine (a C++ programmer) to help out with this, also because he'll get involved in the project for other reasons anyway. But before doing this I wanted to ask the developers and all those who are involved in maintaining ChucK, if there's any particular reason why SysEx messages are not currently supported. 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't manage to receive SysEx messages though). Also, I think RtMidi doesn't gate us from doing that (there's just a flag used to 'turn on/off' SysEx communication). But it seems like there's nothing in place that allows to deal with MIDI messages bigger than 3 bytes and, from a "non-C++ person", 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. Of course there could be a lot of things I'm missing here, and that's why I'm asking you for some help, even before asking for other help :) Just to make sure there's nothing that prevents people from adding this functionality. 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. Basically I'd like to hear from the community before even getting started with this.
I hope this makes sense. Looking forward to hearing from you guys :)
Cheers, Mario _______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
Great, thanks! I'll start a new thread asking how best to use it! michael
On Jul 2, 2019, at 3:53 PM, Mario Buoninfante
wrote: Nice :) MIDI clock works fine now (ChucK 1.4.0.0). There's a flag you can use to activate it that I don't remember whether is ON or OFF by default, but anyway is there. Like I said there's a flag for SysEx as well, but that doesn't seem to do much.
Cheers, Mario
On Tue, 2 Jul 2019 at 21:43, Michael Heuer
mailto:heuermh@gmail.com> wrote: I'd say go for it! It would be nice to have proper SysEx and MIDI clock support in ChucK. 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?
michael
On Jul 2, 2019, at 3:23 PM, Mario Buoninfante
mailto:mario.buoninfante@gmail.com> wrote: Hi everybody,
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'll share more info about the project in the next months). The only issue I've got at the moment is that I need to talk SysEx with these gears, and as you know ChucK doesn't deal with SysEx. I really care a lot about this project, mainly because it'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'm mainly using to experiment and make music and I truly believe has got something more than other languages/environments. Thus, since I'm not a C++ person, I decided I'll ask a colleague of mine (a C++ programmer) to help out with this, also because he'll get involved in the project for other reasons anyway. But before doing this I wanted to ask the developers and all those who are involved in maintaining ChucK, if there's any particular reason why SysEx messages are not currently supported. 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't manage to receive SysEx messages though). Also, I think RtMidi doesn't gate us from doing that (there's just a flag used to 'turn on/off' SysEx communication). But it seems like there's nothing in place that allows to deal with MIDI messages bigger than 3 bytes and, from a "non-C++ person", 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. Of course there could be a lot of things I'm missing here, and that's why I'm asking you for some help, even before asking for other help :) Just to make sure there's nothing that prevents people from adding this functionality. 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. Basically I'd like to hear from the community before even getting started with this.
I hope this makes sense. Looking forward to hearing from you guys :)
Cheers, Mario _______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu mailto:chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu mailto:chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users https://lists.cs.princeton.edu/mailman/listinfo/chuck-users _______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
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.
Here's few lines of code I quickly put together to test this. I'll try on
Linux and it would be great if anybody could try on Windows as well.
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.
No luck in receiving SysEx though, but I don't give up :P
//-------------------SYSEX-TEST-------------------
MidiOut m_out;
MidiMsg msg;
m_out.open(0); // select MIDI out
while( true )
{
sysex_gen() @=> int buffer[];
for( 0 => int c; c < buffer.size(); c++)
{
chout <= buffer[c] <= " ";
}
chout <= IO.nl();
send_sysex( m_out, msg, buffer );
2::second => now;
}
function int[] sysex_gen()
{
Math.random2( 6, 128 ) => int length;
int buffer[ length ];
240 => buffer[0];
247 => buffer[ length - 1 ];
for( 0 => int c; c < length - 2; c++ )
{
Math.random2( 0, 127 ) => buffer[ c + 1 ];
}
return buffer;
}
function void send_sysex( MidiOut out, MidiMsg msg_out, int sys_msg[] )
{
for( 0 => int c; c < sys_msg.size(); c++ )
{
if( c % 3 == 0 )
{
sys_msg[c] => msg_out.data1;
if( c == sys_msg.size() - 1 )
{
0 => msg_out.data2;
0 => msg_out.data3;
out.send( msg_out );
}
}
else if( c % 3 == 1 )
{
sys_msg[c] => msg_out.data2;
if( c == sys_msg.size() - 1 )
{
0 => msg_out.data3;
out.send( msg_out );
}
}
else if( c % 3 == 2 )
{
sys_msg[c] => msg_out.data3;
out.send( msg_out );
}
}
}
On Tue, 2 Jul 2019 at 22:15, Michael Heuer
Great, thanks! I'll start a new thread asking how best to use it!
michael
On Jul 2, 2019, at 3:53 PM, Mario Buoninfante
wrote: Nice :) MIDI clock works fine now (ChucK 1.4.0.0). There's a flag you can use to activate it that I don't remember whether is ON or OFF by default, but anyway is there. Like I said there's a flag for SysEx as well, but that doesn't seem to do much.
Cheers, Mario
On Tue, 2 Jul 2019 at 21:43, Michael Heuer
wrote: I'd say go for it! It would be nice to have proper SysEx and MIDI clock support in ChucK.
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?
michael
On Jul 2, 2019, at 3:23 PM, Mario Buoninfante < mario.buoninfante@gmail.com> wrote:
Hi everybody,
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'll share more info about the project in the next months). The only issue I've got at the moment is that I need to talk SysEx with these gears, and as you know ChucK doesn't deal with SysEx. I really care a lot about this project, mainly because it'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'm mainly using to experiment and make music and I truly believe has got something more than other languages/environments. Thus, since I'm not a C++ person, I decided I'll ask a colleague of mine (a C++ programmer) to help out with this, also because he'll get involved in the project for other reasons anyway. But before doing this I wanted to ask the developers and all those who are involved in maintaining ChucK, if there's any particular reason why SysEx messages are not currently supported. 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't manage to receive SysEx messages though). Also, I think RtMidi doesn't gate us from doing that (there's just a flag used to 'turn on/off' SysEx communication). But it seems like there's nothing in place that allows to deal with MIDI messages bigger than 3 bytes and, from a "non-C++ person", 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. Of course there could be a lot of things I'm missing here, and that's why I'm asking you for some help, even before asking for other help :) Just to make sure there's nothing that prevents people from adding this functionality. 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. Basically I'd like to hear from the community before even getting started with this.
I hope this makes sense. Looking forward to hearing from you guys :)
Cheers, Mario _______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
just found out on Linux I cannot send anything that's not 3 bytes! No Program Change, no Aftertouch, no Real Time. I can receive them (real-time included), but I cannot send them since I get this error: [chuck](via RtMidi): RtMidiOut::sendMessage: event parsing error! Cheers, Mario On 02/07/2019 22:15, Michael Heuer wrote:
Great, thanks! I'll start a new thread asking how best to use it!
michael
On Jul 2, 2019, at 3:53 PM, Mario Buoninfante
mailto:mario.buoninfante@gmail.com> wrote: Nice :) MIDI clock works fine now (ChucK 1.4.0.0). There's a flag you can use to activate it that I don't remember whether is ON or OFF by default, but anyway is there. Like I said there's a flag for SysEx as well, but that doesn't seem to do much.
Cheers, Mario
On Tue, 2 Jul 2019 at 21:43, Michael Heuer
mailto:heuermh@gmail.com> wrote: I'd say go for it! It would be nice to have proper SysEx and MIDI clock support in ChucK.
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?
michael
> On Jul 2, 2019, at 3:23 PM, Mario Buoninfante
mailto:mario.buoninfante@gmail.com> wrote: > > Hi everybody, > > 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'll share more info about the project in the next months). > The only issue I've got at the moment is that I need to talk SysEx with these gears, and as you know ChucK doesn't deal with SysEx. > I really care a lot about this project, mainly because it'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'm mainly using to experiment and make music and I truly believe has got something more than other languages/environments. > Thus, since I'm not a C++ person, I decided I'll ask a colleague of mine (a C++ programmer) to help out with this, also because he'll get involved in the project for other reasons anyway. > But before doing this I wanted to ask the developers and all those who are involved in maintaining ChucK, if there's any particular reason why SysEx messages are not currently supported. > 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't manage to receive SysEx messages though). > Also, I think RtMidi doesn't gate us from doing that (there's just a flag used to 'turn on/off' SysEx communication). > But it seems like there's nothing in place that allows to deal with MIDI messages bigger than 3 bytes and, from a "non-C++ person", 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. > Of course there could be a lot of things I'm missing here, and that's why I'm asking you for some help, even before asking for other help :) > Just to make sure there's nothing that prevents people from adding this functionality. > 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. > Basically I'd like to hear from the community before even getting started with this. > > I hope this makes sense. Looking forward to hearing from you guys :) > > Cheers, > Mario > _______________________________________________ > chuck-users mailing list > chuck-users@lists.cs.princeton.edu mailto:chuck-users@lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users _______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu mailto:chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu mailto:chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
-- Electronic Musician, Creative Coder, QA Engineer https://vimeo.com/creativecodingsalerno http://mbuoninfante.tumblr.com/ https://github.com/mariobuoninfante https://bitbucket.org/mariobuoninfante/
I've found a workaround (not sure it's a proper one though!) more info here: https://github.com/ccrma/chuck/issues/130 this now allows to send SysEx from Linux as well :) On 02/07/2019 22:15, Michael Heuer wrote:
Great, thanks! I'll start a new thread asking how best to use it!
michael
On Jul 2, 2019, at 3:53 PM, Mario Buoninfante
mailto:mario.buoninfante@gmail.com> wrote: Nice :) MIDI clock works fine now (ChucK 1.4.0.0). There's a flag you can use to activate it that I don't remember whether is ON or OFF by default, but anyway is there. Like I said there's a flag for SysEx as well, but that doesn't seem to do much.
Cheers, Mario
On Tue, 2 Jul 2019 at 21:43, Michael Heuer
mailto:heuermh@gmail.com> wrote: I'd say go for it! It would be nice to have proper SysEx and MIDI clock support in ChucK.
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?
michael
> On Jul 2, 2019, at 3:23 PM, Mario Buoninfante
mailto:mario.buoninfante@gmail.com> wrote: > > Hi everybody, > > 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'll share more info about the project in the next months). > The only issue I've got at the moment is that I need to talk SysEx with these gears, and as you know ChucK doesn't deal with SysEx. > I really care a lot about this project, mainly because it'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'm mainly using to experiment and make music and I truly believe has got something more than other languages/environments. > Thus, since I'm not a C++ person, I decided I'll ask a colleague of mine (a C++ programmer) to help out with this, also because he'll get involved in the project for other reasons anyway. > But before doing this I wanted to ask the developers and all those who are involved in maintaining ChucK, if there's any particular reason why SysEx messages are not currently supported. > 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't manage to receive SysEx messages though). > Also, I think RtMidi doesn't gate us from doing that (there's just a flag used to 'turn on/off' SysEx communication). > But it seems like there's nothing in place that allows to deal with MIDI messages bigger than 3 bytes and, from a "non-C++ person", 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. > Of course there could be a lot of things I'm missing here, and that's why I'm asking you for some help, even before asking for other help :) > Just to make sure there's nothing that prevents people from adding this functionality. > 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. > Basically I'd like to hear from the community before even getting started with this. > > I hope this makes sense. Looking forward to hearing from you guys :) > > Cheers, > Mario > _______________________________________________ > chuck-users mailing list > chuck-users@lists.cs.princeton.edu mailto:chuck-users@lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users _______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu mailto:chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu mailto:chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
-- Electronic Musician, Creative Coder, QA Engineer https://vimeo.com/creativecodingsalerno http://mbuoninfante.tumblr.com/ https://github.com/mariobuoninfante https://bitbucket.org/mariobuoninfante/
Have you grabbed the latest rtmidi sources from https://github.com/thestk/rtmidi ? I briefly looked for the code you reported changing and didn't see anything that looked like that in HEAD. On Wed, Jul 3, 2019 at 3:22 PM mario buoninfante < mario.buoninfante@gmail.com> wrote:
I've found a workaround (not sure it's a proper one though!)
more info here: https://github.com/ccrma/chuck/issues/130
this now allows to send SysEx from Linux as well :) On 02/07/2019 22:15, Michael Heuer wrote:
Great, thanks! I'll start a new thread asking how best to use it!
michael
On Jul 2, 2019, at 3:53 PM, Mario Buoninfante
wrote: Nice :) MIDI clock works fine now (ChucK 1.4.0.0). There's a flag you can use to activate it that I don't remember whether is ON or OFF by default, but anyway is there. Like I said there's a flag for SysEx as well, but that doesn't seem to do much.
Cheers, Mario
On Tue, 2 Jul 2019 at 21:43, Michael Heuer
wrote: I'd say go for it! It would be nice to have proper SysEx and MIDI clock support in ChucK.
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?
michael
On Jul 2, 2019, at 3:23 PM, Mario Buoninfante < mario.buoninfante@gmail.com> wrote:
Hi everybody,
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'll share more info about the project in the next months). The only issue I've got at the moment is that I need to talk SysEx with these gears, and as you know ChucK doesn't deal with SysEx. I really care a lot about this project, mainly because it'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'm mainly using to experiment and make music and I truly believe has got something more than other languages/environments. Thus, since I'm not a C++ person, I decided I'll ask a colleague of mine (a C++ programmer) to help out with this, also because he'll get involved in the project for other reasons anyway. But before doing this I wanted to ask the developers and all those who are involved in maintaining ChucK, if there's any particular reason why SysEx messages are not currently supported. 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't manage to receive SysEx messages though). Also, I think RtMidi doesn't gate us from doing that (there's just a flag used to 'turn on/off' SysEx communication). But it seems like there's nothing in place that allows to deal with MIDI messages bigger than 3 bytes and, from a "non-C++ person", 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. Of course there could be a lot of things I'm missing here, and that's why I'm asking you for some help, even before asking for other help :) Just to make sure there's nothing that prevents people from adding this functionality. 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. Basically I'd like to hear from the community before even getting started with this.
I hope this makes sense. Looking forward to hearing from you guys :)
Cheers, Mario _______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
_______________________________________________ chuck-users mailing listchuck-users@lists.cs.princeton.eduhttps://lists.cs.princeton.edu/mailman/listinfo/chuck-users
-- Electronic Musician, Creative Coder, QA Engineerhttps://vimeo.com/creativecodingsalernohttp://mbuoninfante.tumblr.com/https:...
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
According to the headers, ChucK uses RtMidi Version 1.0.4 from 14 October
2005.
On Fri, Jul 5, 2019 at 10:10 AM Forrest Cahoon
Have you grabbed the latest rtmidi sources from https://github.com/thestk/rtmidi ?
I briefly looked for the code you reported changing and didn't see anything that looked like that in HEAD.
On Wed, Jul 3, 2019 at 3:22 PM mario buoninfante < mario.buoninfante@gmail.com> wrote:
I've found a workaround (not sure it's a proper one though!)
more info here: https://github.com/ccrma/chuck/issues/130
this now allows to send SysEx from Linux as well :) On 02/07/2019 22:15, Michael Heuer wrote:
Great, thanks! I'll start a new thread asking how best to use it!
michael
On Jul 2, 2019, at 3:53 PM, Mario Buoninfante < mario.buoninfante@gmail.com> wrote:
Nice :) MIDI clock works fine now (ChucK 1.4.0.0). There's a flag you can use to activate it that I don't remember whether is ON or OFF by default, but anyway is there. Like I said there's a flag for SysEx as well, but that doesn't seem to do much.
Cheers, Mario
On Tue, 2 Jul 2019 at 21:43, Michael Heuer
wrote: I'd say go for it! It would be nice to have proper SysEx and MIDI clock support in ChucK.
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?
michael
On Jul 2, 2019, at 3:23 PM, Mario Buoninfante < mario.buoninfante@gmail.com> wrote:
Hi everybody,
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'll share more info about the project in the next months). The only issue I've got at the moment is that I need to talk SysEx with these gears, and as you know ChucK doesn't deal with SysEx. I really care a lot about this project, mainly because it'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'm mainly using to experiment and make music and I truly believe has got something more than other languages/environments. Thus, since I'm not a C++ person, I decided I'll ask a colleague of mine (a C++ programmer) to help out with this, also because he'll get involved in the project for other reasons anyway. But before doing this I wanted to ask the developers and all those who are involved in maintaining ChucK, if there's any particular reason why SysEx messages are not currently supported. 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't manage to receive SysEx messages though). Also, I think RtMidi doesn't gate us from doing that (there's just a flag used to 'turn on/off' SysEx communication). But it seems like there's nothing in place that allows to deal with MIDI messages bigger than 3 bytes and, from a "non-C++ person", 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. Of course there could be a lot of things I'm missing here, and that's why I'm asking you for some help, even before asking for other help :) Just to make sure there's nothing that prevents people from adding this functionality. 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. Basically I'd like to hear from the community before even getting started with this.
I hope this makes sense. Looking forward to hearing from you guys :)
Cheers, Mario _______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
_______________________________________________ chuck-users mailing listchuck-users@lists.cs.princeton.eduhttps://lists.cs.princeton.edu/mailman/listinfo/chuck-users
-- Electronic Musician, Creative Coder, QA Engineerhttps://vimeo.com/creativecodingsalernohttp://mbuoninfante.tumblr.com/https:...
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
participants (5)
-
Forrest Cahoon
-
Jack Atherton
-
mario buoninfante
-
Mario Buoninfante
-
Michael Heuer