[chuck-users] Controling Chuck - building accessible GUI

Rich Caloggero rjc at MIT.EDU
Mon Nov 19 18:14:19 EST 2007

Hey, just saw your blog and your XUL project, but didn't see any contact for 
you. So, glad you responded; thanx ...

Anyhow, text only interfaces are inherently more accessible, but not always 
optimal for the job.  What I am ultimately wanting is something like PD, or 
at the very least a good synth like dimensionPro which I can actually 
control in real time.  I want to play with sound, not play with code! 

Last time I tried PureData, it was completely inaccessible to my screen 
reader.  To make something accessible takes some planning (use the right 
toolkit and use standard widgets/components which have accessibility hooks 
already in them), and test with real users! For instance, if your going to 
use Java, then you either need to use Swing and its standard components, or 
write your own code to properly use the Java Accessibility API on your own 
AWT widgets (a fair amount of extra work so I've been told).  Since most 
sighted software designers insist on creating their own widgets, accessible 
software tends to be hard to find, especially in music land.

It would be very cool to have some sort of physical control over a virtual 
software synth, but again this does not come in a vacuum. You need to be 
able to setup your controller to control what you want, in the way you want. 
This generally requires the ability to interact with your synthesis software 
and whatever software runs the controller.  This again depends on the 
accessibility of both.

So, perhaps your  little XUL experiement will be at least a start. The great 
thing about XUL/JS is that:
1. XUL produces accessible UI widgets with little effort
2. There seem to be a good number of standard and useful widgets/controls 
3. Javascript is powerful and fairly easy to program
4. you don't need complex IDEs (which are usually not accessible via screen 
reader) to write fairly complex  XUL/JS code

All that said, I have some basic uqestions about your software:
1. My screen reader only runs on windows (boo), so what (in general terms) 
do I need to get libLo running
2. Do I need anything else to get chuck to work with libLo

Thanx much in advance.
-- Rich

----- Original Message ----- 
From: "Stephen Sinclair" <radarsat1 at gmail.com>
To: "ChucK Users Mailing List" <chuck-users at lists.cs.princeton.edu>
Sent: Monday, November 19, 2007 4:35 PM
Subject: Re: [chuck-users] Controling Chuck - building accessible GUI

> Hi,
> I don't know if I can answer your whole question, but ... well, first
> of all for Mozilla, take a look at something I posted a while ago that
> lets you send and receive OSC messages using the XUL framework:
> http://www.music.mcgill.ca/~sinclair/content/blog:communication_between_xul_and_osc
> It's only been tested on Linux so far, but you might find it useful.
> I'm just waiting for someone to do something more impressive with it.
> Second, I don't know much about screen readers, but I'm surprised that
> as a blind person you want to use Chuck in a GUI environment.  I
> always thought that text-based things were much friendlier to use by
> the blind, isn't that the case?  I figured something like Chuck would
> be much easier to use by teletype than a GUI environment like
> PureData.  I'm curious how well this screen reader thing works for
> music.  I would think that control through a physical interface like a
> MIDI controller, or a text-based braille reader would be much easier.
> Lastly, I'm not sure Chuck would be necessarily "better" if converted
> to a graphical environment.  If something like PureData is what you
> want instead of writing code, why not just use PureData?  Chuck is
> pretty much designed to be code-oriented.
> Just curious,
> Steve
> On Nov 19, 2007 4:05 PM, Rich Caloggero <rjc at mit.edu> wrote:
>> There was a thread on this list back in January about control of chuck 
>> via
>> OSC, a Python package.  I have a few questions:
>> First, I'm blind and use a screen reader. I want to build something that
>> allows me to control chuck sreds via a GUI.  I don't like Python much for
>> programming, and am not sure if OSC would even work with my screen reader
>> (anyone have any quick demos I could try just to see if the screen reader
>> will deal with the UI toolkit at all)?
>> What I was thinking of doing is building something in Mozilla's XUL
>> language. This does have the ability to send network packets, and also 
>> can
>> execute shell commands.  So, was thinking about writing code in chuck and
>> then pass arguments to each .ck file to change parameters. Of course, 
>> this
>> might not work so smoothly if we wanted to change things on the fly.  FOr
>> this I guess I'd  need to implement something like OSC's message passing
>> scheme in XUL.
>> Any advice, or suggestions?  Anyone interested in rewriting audical so it
>> works with a screen reader?  There are so many great software 
>> synthesizers
>> on the market now that work as both stand alone and/or plugins to popular
>> hosts like Cakewalk's Sonar, but none that I've ever tried will allow the
>> screen reader enough control to do real sound design. With effort, one 
>> can
>> usually figure out how to change presets, but in a large number of cases
>> even this is not possible. I was hoping that chuck could be used to build 
>> a
>> fully accessible sound designers toolbox that could allow one to do 
>> things
>> quickly and easily without having to write too much code. I've obviously
>> never used it because it is very graphically oriented, but think of
>> something like PD "Pure Data". You aparently can build all sorts of neat
>> stuff by just plugging stuff together, without having to write a line of
>> code.
>> Thanx for any thoughts/suggestions...
>> -- Rich
>> _______________________________________________
>> chuck-users mailing list
>> chuck-users at lists.cs.princeton.edu
>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
> _______________________________________________
> chuck-users mailing list
> chuck-users at lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users

More information about the chuck-users mailing list