[gst-devel] "bounties"/...

Andy Wingo wingo at pobox.com
Tue Jul 20 06:48:01 CEST 2004


Hey Josh,

On Sat, 2004-07-17 at 08:10 -0700, Josh Green wrote:
> I can also see that a GValue event network might be very useful
> in GStreamer. How about the ability to connect a MIDI controller to a
> property of a pad or other object? Connect a GUI control to a property,
> etc.

Interesting. Benjamin has been musing about this recently, too. You
should pick his brain. This is sounding like a better idea now that he
made me think about it more.

GValue networks would be very MAX-like. It would be a cleaner solution
than the one I have now, and probably would be just as efficient: the
GValue could actually be in the buffer, and thus it's just one
allocation instead of two, and that could be from a pool.

For the record, connections between control pads in soundscrape do pass
around control data; it's a normal GstBuffer with length 1, and a
special flag set on it. (I currently use GST_BUFFER_KEY_FRAME, because
all the flags are used by core!). The data is actually a pointer to the
float value member of my GstPad derivative, so nothing is alloc'd.

> Would the mixer respond to MIDI events? How does MIDI enter into that
> description?

I think MIDI is a very old language which is poorly suited to general
control of parameters. That said, it's extremely widespread. Since I
don't use MIDI right now, if I were to build such a system I'd use Open
Sound Control (google for it if you're not familiar).

But as it is, in this case you'd have a Midi2Control element that would
map some parameter of a MIDI channel to SSControl data, which is the
thing I mentioned above.

See if you can work up a patch for the GValue networks :) It could
probably go in as a lib in gst-plugins. It's just a header file, really.

Cheers,
-- 
Andy Wingo <wingo at pobox.com>
http://ambient.2y.net/wingo/




More information about the gstreamer-devel mailing list