[gst-devel] GstController and live updates from user interaction

Steve Baker steve at stevebaker.org
Mon Apr 18 02:20:12 CEST 2005


On Mon, 2005-04-18 at 09:51 +0200, Stefan Kost wrote:
> Now one scenarion ist to run the pipeline and along play back the param changes.
> Another scenario is that a part of the pipeline runs in a loop and the user 
> controlls the parameters via GUI. There are two sub-scenarios - just finding the 
> right setting and recording param changes. The latter is easy, whenever the 
> widget changes insert a new timstamped control value change. The first is not so 
> easy. I see two possibillities:
> * have an 'gboolean active' flag in a controlled property. Whenever the GUI 
> changes set active to false (temporaily detaching the control-envelope) and 
> directly setting the gobject-property. Problem here is , when to reattach the 
> envelope (active=true)?
> * have a 'GstTimedValue live_value' inside the property structure. Whenever a 
> widget changes, set this value with timestamp=NOW. The controller will 
> additionally check this value. For mode 'none' this will work as expected. For 
> 'linear' this will cause a fade towards the next timed value.
> So its probably better to always return the live_value.value until a new 
> timestamped value in the envelope has been reached. Then invalidate the 
> live_value and continue with regular envelope.

Here is another option - when a widget changes then set the value with
timestamp=NOW and delete any points after NOW so it behaves like an
overwrite-and-record mode. This means the value will remain constant
until they change the widget again. This would be very handy sometimes
but maybe not always.

cheers





More information about the gstreamer-devel mailing list