[chuck-users] translating a pd patch to chuck

altern altern2 at gmail.com
Thu Jan 4 15:22:00 EST 2007

ok, i have got the widgets working from ChucK. It is a bit primitive yet 
but looks very promising.

I have a small problem, i needed to pass arrays in a couple of places, 
in the end i went for a dirty solution and the arrays are passed as 
strings like this "[''one, 'two']" and then are eval() in the python server.

At the moment i can, from chuck, define the size, position of the wx 
window and create all widgets defined so far (slider, button, toggle, 
number, choice, radiobox). Then the widgets send back to ChucK data when 
they are interacted. The code to create the widgets looks pretty uggly 
now but as Spencer suggested i plan to hide it in some classes so that 
the user does not see all the OSC stuff, but works directly with some 
classes. Still the amount of code to set the OSC in ChucK is like 10 
times more than in python, i want to see if i can find some way to make 
this look nicer.

It would be cool to be able to trigger the python process from ChucK, i 
can do it the other way around but not from ChucK, any ideas?

I will probably need help deciding the API for the ChucK classes that 
interface the osc. My brain does not think 100% ChucK yet and i might 
take some weird decisions if I dont get some feedback from proper ChucK 


joerg piringer wrote:
> works great!
> i'd like to contribute once the svn server is up.
> i could for example add code for my simple xy-control & maybe wiimote 
> support.
> one problem i ran into:
> one of the sockets isn't closed when i exit the app, so starting it 
> again yields the following error:
> Traceback (most recent call last):
>    File "C:\developer\wxmirra\example.py", line 19, in ?
>      MyApp(size=(400, 350), fps=10)
>    File "C:\developer\wxmirra\wxmirra.py", line 155, in __init__
>      self.oscIn = osc.createListener(port=inPort) # in this case just 
> using one socket
>    File "C:\developer\wxmirra\osc\oscAPI.py", line 51, in createListener
>      l.bind( (ipAddr, port) )
>    File "<string>", line 1, in bind
> error: (10048, 'Address already in use')
> all the best
> joerg

More information about the chuck-users mailing list