[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: Controlling GTK from MIDI?
- From: Chris Wareham <chris incubation demon co uk>
- To: gtk-app-devel-list gnome org
- Cc: "Craig S. Kaplan" <csk cs washington edu>
- Subject: Re: Controlling GTK from MIDI?
- Date: Tue, 09 Oct 2001 08:04:57 +0100
"Craig S. Kaplan" wrote:
>
> I just bought a Peavey PC1600x, a programmable button/slider
> box that generates MIDI events. My big brainwave is that
> I'd like to be able to use these MIDI events to control
> widgets and behaviour in a GTK application. Wouldn't it
> be wonderful to right-click on a slider in GTK and tell it
> to obtain its position from slider #7 of the slider box?
> Just thinking about it gets me all misty-eyed.
>
> The problem is that I'm not sure about the best way to go
> about doing this. Let's consider the simplest case --
> MIDI events are somehow translated into new GdkEvents and
> fed into the event pipe with everything else. How would
> you go about doing this?
>
> * The app could open /dev/midi and start parsing events,
> waiting on MIDI input using gdk_input_add, but doesn't
> that mean that only one such app can be open at a time?
> And how would you send events to the correct widget?
>
> * It seems like the ideal setup would be to create a bridge
> (in the form of a daemon) that processes MIDI events and
> hands them over to X. Then GTK wouldn't have to change
> at all. I don't know much about programming X, but it seems
> that this won't work without specifying a new XInput device
> and registering it in my XF86Config, which seems rather
> heavyhanded (and dangerous if it breaks!).
>
> Anyway, this is sort of an open-ended question and I'm
> interested in all your ideas on building a bridge from this
> device to my application. Thanks all for any help!
>
The daemon idea sounds quite neat, but I don't think I'd bother
with XInput - at least not in the short term. If you wrote the
daemon and GTK+ client with a CORBA interface, you could write
an elegant interface for each widget on the Peavey. A client
could register its interest in a particular widget on the box,
amd then the daemon could notify the client of changes.
Chris
--
protracted full-body tweezer depiliation
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]