greetings... it's good to be back in touch with the ChucK community! i'm re-examining ChucK after a number of years since i experimented a little bit with it, as a possible alternative platform for a live performance instrument which has been implemented in pd until now. so far, i have one question which i don't see addressed directly in the various docs: is there some facility, native to ChucK, for building any GUI elements for use during performance?... things like sliders, knobs, and toggles, for both input (from keyboard or mouse) and to display values incoming from various MIDI controllers. i guess a front-end could be built in pd, but that just seems silly. somehow, i'm beginning to suspect that such a visual front-end might be a little outside the "ChucK paradigm"?! please let me know if you guys have some good approaches to this kind of thing! thanks... cheers! .pltk. -- Peter Lutek improvising musician in Toronto, Canada http://peterlutek.com
Indeed there are some sliders, buttons and other elements available in
ChucK.
Check out examples/UI in the documentation
I have used them a little bit and the main annoyance I had is that the GUI
windows do not close when a shred is removed... only a minor inconvenience
most of the time.
Hope that helps
On Wed, Sep 10, 2014 at 6:57 PM, Peter Lutek
greetings... it's good to be back in touch with the ChucK community!
i'm re-examining ChucK after a number of years since i experimented a little bit with it, as a possible alternative platform for a live performance instrument which has been implemented in pd until now. so far, i have one question which i don't see addressed directly in the various docs:
is there some facility, native to ChucK, for building any GUI elements for use during performance?... things like sliders, knobs, and toggles, for both input (from keyboard or mouse) and to display values incoming from various MIDI controllers. i guess a front-end could be built in pd, but that just seems silly. somehow, i'm beginning to suspect that such a visual front-end might be a little outside the "ChucK paradigm"?!
please let me know if you guys have some good approaches to this kind of thing!
thanks... cheers! .pltk.
-- Peter Lutek improvising musician in Toronto, Canada http://peterlutek.com _______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
On 2014-09-10 22:39, Phill wrote:
Check out examples/UI in the documentation
thanks, phill! hmmm.... perhaps this has been removed in recent versions? there's no UI at http://chuck.cs.princeton.edu/doc/examples/ or in the examples directory of the latest source (1.3.4.0), which i just downloaded. it doesn't appear in the pdf manual either. :( cheers! .pltk. -- Peter Lutek improvising musician in Toronto, Canada http://peterlutek.com
Hello Peter,
Another common pattern for interacting with ChucK is to receive MIDI
or preferably OSC messages in your ChucK script.
That way you can drive it with MIDI controllers, or OSC controllers
like the monome, or software that sends MIDI, or software that sends
OSC (e.g. IanniX, ControlOSC, TouchOSC). There are a bunch of
examples here (although LiCK stuff is more object-oriented-y than
typical ChucK examples)
https://github.com/heuermh/lick/tree/master/examples
For simple GUIs, I typically use Processing with either the MidiBus or
rtmidi library for MIDI or the oscP5 library for OSC.
http://processing.org
http://www.smallbutdigital.com/themidibus.php
https://github.com/heuermh/rwmidi
http://www.sojamo.de/libraries/oscP5
michael
On Thu, Sep 11, 2014 at 7:23 AM, Peter Lutek
On 2014-09-10 22:39, Phill wrote:
Check out examples/UI in the documentation
thanks, phill!
hmmm.... perhaps this has been removed in recent versions? there's no UI at http://chuck.cs.princeton.edu/doc/examples/ or in the examples directory of the latest source (1.3.4.0), which i just downloaded. it doesn't appear in the pdf manual either. :(
cheers! .pltk.
-- Peter Lutek improvising musician in Toronto, Canada http://peterlutek.com _______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
Hallo Peter, you didn't mention your OS. In case you're Mac user, there are GUI controls ("MAUI elments") in MiniAudicle for OS X - http://audicle.cs.princeton.edu/mini/mac/ I can't say more about this topic because I'm on Linux. My personal choice for ChucK GUI controls is Processing with ControlP5 and OscP5 libraries. Antanas
On 2014-09-11 14:31, Antanas Budriūnas wrote:
you didn't mention your OS. In case you're Mac user, there are GUI controls ("MAUI elments") in MiniAudicle for OS X - http://audicle.cs.princeton.edu/mini/mac/ I can't say more about this topic because I'm on Linux. My personal choice for ChucK GUI controls is Processing with ControlP5 and OscP5 libraries.
oops... i'm on linux, and you're the second person to mention Processing, so i'll have to have a look! any reason you prefer it over PureData? cheers! .pltk.
2014-09-11 21:35 GMT+03:00 Peter Lutek
On 2014-09-11 14:31, Antanas Budriūnas wrote:
you didn't mention your OS. In case you're Mac user, there are GUI controls ("MAUI elments") in MiniAudicle for OS X - http://audicle.cs.princeton.edu/mini/mac/ I can't say more about this topic because I'm on Linux. My personal choice for ChucK GUI controls is Processing with ControlP5 and OscP5 libraries.
oops... i'm on linux, and you're the second person to mention Processing, so i'll have to have a look! any reason you prefer it over PureData?
Simply I'm not familiar enough with PD contrary to Java. So you could test both. Antanas
Peter!
I've used both Pd/Max and Processing.org/controlp5 for ChucK GUI controls.
Personally, I find the dataflow model of Pd/Max to be very well suited
to event-oriented things like user interface: just pipe your ui
objects / number boxes / what have you straight to a `udpsend` object,
and you don't have to think about an event loop. Another potential
advantage of Pd/Max is that it's inherently suited to livecoding,
whereas a Processing patch needs to be recompiled when you make
changes.
On the other hand, Processing provides many more tools than Max (and
especially Pd) for prettying-up your interface. I start almost every
project with a UI in Pd/Max, but if my interface needs to be used by
other people, I'll often switch over to Processing to provide more
visual control in a final 'release' version.
I'll always use Pd/Max when I'm livecoding, so that I can easily add
UI elements on-the-fly as I need them. When livecoding I don't really
care about how pretty my interface is since it's for one-time use.
On Thu, Sep 11, 2014 at 1:57 PM, Antanas Budriūnas
2014-09-11 21:35 GMT+03:00 Peter Lutek
: On 2014-09-11 14:31, Antanas Budriūnas wrote:
you didn't mention your OS. In case you're Mac user, there are GUI controls ("MAUI elments") in MiniAudicle for OS X - http://audicle.cs.princeton.edu/mini/mac/ I can't say more about this topic because I'm on Linux. My personal choice for ChucK GUI controls is Processing with ControlP5 and OscP5 libraries.
oops... i'm on linux, and you're the second person to mention Processing, so i'll have to have a look! any reason you prefer it over PureData?
Simply I'm not familiar enough with PD contrary to Java. So you could test both.
Antanas _______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
On 2014-09-11 15:08, Andrew Monks wrote:
I'll always use Pd/Max when I'm livecoding, so that I can easily add UI elements on-the-fly as I need them. When livecoding I don't really care about how pretty my interface is since it's for one-time use.
BINGO! thanks, andrew! that's what i was starting to think, reading about how Processing works... and Pd has the benefit that i already know it! :) although, i suppose, one could end up using more system resources with Pd, versus a compiled solution like Processing... do you have any direct comparisons of size/load for things you've built in both? not likely to be much of an issue for something just providing a front-end GUI, though, eh?! cheers! .pltk.
I've honestly never really kept track of memory use. I've had some
Processing stuff run slowly, but only because I've added visualization
that would be impossible/super hard in Pd/Max. That's usually when I
migrate again to OpenFrameworks...
Also:
My last message was somewhat misleading: you don't have to think about
an event loop in Processing either.
Still, I personally find there's less mental overhead involved in
using Pd/Max for UI-type stuff. I expect you'll find the same, since
you're already accustomed to using Pd.
Having said that, definitely check out Processing (or a similar tool
like OpenFrameworks, which I'm really into) if you're at all
interested in generating graphics or video (maybe even based on events
sent by your audio tool). I find that kind of thing really fun to work
with.
On Thu, Sep 11, 2014 at 2:31 PM, Peter Lutek
On 2014-09-11 15:08, Andrew Monks wrote:
I'll always use Pd/Max when I'm livecoding, so that I can easily add UI elements on-the-fly as I need them. When livecoding I don't really care about how pretty my interface is since it's for one-time use.
BINGO! thanks, andrew!
that's what i was starting to think, reading about how Processing works... and Pd has the benefit that i already know it! :)
although, i suppose, one could end up using more system resources with Pd, versus a compiled solution like Processing... do you have any direct comparisons of size/load for things you've built in both? not likely to be much of an issue for something just providing a front-end GUI, though, eh?!
cheers! .pltk.
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
On 2014-09-11 15:37, Andrew Monks wrote:
...definitely check out Processing (or a similar tool like OpenFrameworks, which I'm really into) if you're at all interested in generating graphics or video (maybe even based on events sent by your audio tool).
yes, i'm interested in incorporating a visual component; so far i've played with fluxus a bit, but always appreciate being pointed to more options! cheers! .pltk.
participants (5)
-
Andrew Monks
-
Antanas Budriūnas
-
Michael Heuer
-
Peter Lutek
-
Phill