[Dev] Fwd: XUL-based Integra GUI
Stephen Sinclair
sinclair at music.mcgill.ca
Thu Nov 27 17:00:14 GMT 2008
Now that the list is working again.. :)
---------- Forwarded message ----------
From: Stephen Sinclair <sinclair at music.mcgill.ca>
Date: Mon, Nov 24, 2008 at 3:11 PM
Subject: XUL-based Integra GUI
To: dev at integralive.org
Hi folks,
I'm almost embarrassed to say that I have had this sitting in my home
folder for about 3 months now, but I was stuck on a problem of getting
Open Sound Control working on OS X, and it hit "backburner" status. I
didn't feel I could put it out there until this was working. Finally
I got it working today, after much frustration I discovered it was a
single stupid little change I forgot to copy over from the Linux
version...! So anyway I'm proud now to show you a little bit of work
I did toward the end of the summer: A prototype for a XULrunner-based
GUI for Integra. It's not really functional (surprised?) but it is
able to communicate with the Integra server over OSC and instantiate
modules. It doesn't really do everything the Max/MSP version does,
but it's a start. There is a "dummy" mode where you can try a little
more functionality like creating cues and events, and drag & drop
events into cues. You can also click on modules, events, and cues, to
delete them.
The whole interface is jQuery, XHTML, and CSS. There are several
advantages to this approach:
- The "look and feel" is entirely separated from the application logic.
- Text is properly internationalized by keeping strings in locale files.
- It could be ported pretty easily to a real web-oriented version by
replacing Open Sound Control with XMLHttpRequest.
- XULrunner is open source and completely cross-platform. There is
only a tiny bit of C++ to hook into LibLo for doing OSC.
- The Mozilla code base is perfect for an XML-centric approach to data
as used in Integra.
jQuery makes it _slick_ too. :) I stole some of the web design from
the integralive.org site, of course.
The question, as always, is how modules and connections should be
represented and where to go from here. (They are just connection-less
boxes for now.)
Anyways, I'll be dropping the source into the subversion repository
sometime soon; I should probably clean up my commit log a bit first to
make it legible. In the meantime, enjoy:
Mac:
http://www.music.mcgill.ca/~sinclair/pub/integra/Integra-XUL-0.1.dmg
Linux (source):
http://www.music.mcgill.ca/~sinclair/pub/integra/Integra-XUL-0.1.tar.bz2
The Mac version is universal and comes with XULrunner in the bundle.
The Linux version requires you to have XULrunner-1.9 installed.
cheers,
Steve
More information about the Dev
mailing list