bonobo question - what parts should be bonobo?
Ronald Bultje <[email protected]>
| Newsgroups | gmane.comp.gnome.components |
|---|---|
| Message-ID | <[email protected]> |
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 <[email protected]> Linux Video/Multimedia developer