bonobo question - what parts should be bonobo?



Hey,

I'm doing a GStreamer-based project which should one day become a great
video recorder app. I want to use layering here, so some parts are
gstreamer plugins, one part should become a bonobo element as well. Now
my question is about what people normally make bonobo components.
Basically, the app can be really small, see
http://www.gstreamer.net/apps/gst-rec/gst-rec-new.png for a screenshot.
Possibly bonobo'izeable widgets around here: a tv widget (it's gray
here, but that's because my laptop doesn't have a TV card), a
preferences screen (where things like capture format, audio codec, video
codec, audio and video source settings are located) and a control screen
(where audio volume, video image (brightness etc.) and video channel can
be changed).

The question is, what parts here would normally become bonobo
components? I could make the preferences screen, control screen and TV
widget a bonobo component, but is that a wise idea? I could also make
the TV widget a bonobo component and make everything else properties of
this component (so that the bonobo client needs to implement all GUI
stuff for this), or make the widgets inside the control screen bonobo
components on themselves... What do normal people do here? How far
should I go here?

(The idea is that other GStreamer applications, like Wim's gnonlin NLE,
can call gst-rec's video-recording function via bonobo, and maybe
there's other weird people out there that would want to use gst-rec for
some weird reason).

Also, related to this, is it normal for applications that call a
bonobo-component to keep their own configuration of this component, or
should the configuration be inside the bonobo component? I.e., should I
use GConf in the component or in the application part?

Thanks for any help,

Ronald

[please CC me, I'm not subscribed]

-- 
Ronald Bultje <rbultje ronald bitfreak net>
Linux Video/Multimedia developer




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]