[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.


More information about the gstreamer-devel mailing list