Fwd: [gst-devel] Re: dparams roadmap (AKA dparams are dead, long live control pads)

Edward Hervey bilboed at gmail.com
Mon Mar 7 05:54:33 CET 2005

On Mon, 28 Feb 2005 11:13:50 +0100, Stefan Kost <ensonic at hora-obscura.de> wrote:
> Edward Hervey schrieb:
> >>== Removing envelope points
> >>
> >>gboolean gst_envelope_set (...);
> >>gboolean gst_envelope_set_many (...);
> >>
> >>can be used to add control changes at given timestamps.
> >>We also need API to remove single control changes (imagine you cut a piece of video/audio from the timeline, one won't need the envelope there):
> >>
> >>gboolean gst_envelope_remove (...);
> >>gboolean gst_envelope_remove_many (...);
> >>
> >>
> >
> >  I agree on the principle, it should be allowed although it's just to
> >clean up data that wouldn't be used anyway.
> >
> Why do you think that it would not be used? E.g. in our music
> application we have a sequence (timeline). The sequence has tracks and
> each track belongs to a generator (source), effect or sink. One can
> place patterns on each track's timeline. A pattern is infact just a
> chunk of control data. With the new approach I would just add the value
> changes to the envelope.
> Now the user can also move patterns back and forth, as well as removing
> them. Means we need a methods that removes a timestamped value too.
> Maybe even a method that removes all timestamped values in a timeregion.
> This boils down to steves question, wheter the list of timestamped
> values one gets by gst_envelope_get_all() is a copy or is the real list
> and the app is alowed to manipulate it.
> I am for returning a copy and going through the 'pain' to provide api to
> manipulate the list. This way we keep the option of changing internals.
> Shouldn't be too hard to implement then some convinience methods like:
> gst_envelope_move_region(...) that adds/subtracts an ofset to the
> timestamps (and re sorts the list).

  Agreed on returning a copy, and adding convenience function for
moving regions. We could also add a function for copying a region (so
you can easily repeat a pattern across a given area).

> > This makes me think that
> >maybe we should need a way to reset all values for an "enveloped"
> >property, something like :
> >
> >  gboolean gst_envelope_reset_property (GstEnvelope*, gchar*);
> >
> >
> >
> Ciao
>   Stefan


More information about the gstreamer-devel mailing list