mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-19 00:01:23 +00:00
design: update controller design and add some thoughs for future stuff
This commit is contained in:
parent
03075cd144
commit
31fbc86e09
1 changed files with 29 additions and 2 deletions
|
@ -13,7 +13,9 @@ Elements don't need to do much. They need to:
|
|||
- call gst_object_sync_values (self, timestamp) in the processing function
|
||||
before accessing the parameters.
|
||||
|
||||
All ordered property types can be automated (int, double, boolean, enum).
|
||||
All ordered property types can be automated (int, double, boolean, enum). Other
|
||||
property types can be automates as well by using special control bindings. One can
|
||||
e.g. write a control-binding that updates a text property based on timestamps.
|
||||
|
||||
Application view
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
@ -37,4 +39,29 @@ frequency of the first GstLFOControlSource.
|
|||
In most cases GstControlBindingDirect will be the binding to be used. Other
|
||||
control bindings are there to handle special cases, such as having 1-4 control-
|
||||
sources and combine their values into a single guint to control a rgba-color
|
||||
property.
|
||||
property.
|
||||
|
||||
|
||||
TODO
|
||||
~~~~
|
||||
control-source value ranges
|
||||
- control sources should ideally emit values between [0.0 and 1.0]
|
||||
- right now lfo-control-sources emits values between [-1.0 and 1.0]
|
||||
- we can make control-sources announce that or fix it in a lfo2-control-source
|
||||
|
||||
ranged-control-binding
|
||||
- it might be a nice thing to have a control-binding that has scale and offset
|
||||
properties
|
||||
- when attaching a contro-source to e.g. volume one needs to be aware that the values
|
||||
go from [0.0 to 4.0]
|
||||
- we can also have a "mapping-mode"={AS_IS, TRANSFORMED} on direct-control-binding
|
||||
and two extra properties that are used in TRANSFORMED mode
|
||||
|
||||
control-setup descriptions
|
||||
- it would be nice to have a way to parse a textual control-setup description. This
|
||||
could be used in gst-launch and in presets. It needs to be complemented with a
|
||||
formatter (for the preset storage or e.g. for debug logging).
|
||||
- this could be function-style:
|
||||
direct(control-source=lfo(waveform='sine',offset=0.5))
|
||||
or gst-launch style (looks weird)
|
||||
lfo wave=sine offset=0.5 ! direct .control-source
|
||||
|
|
Loading…
Reference in a new issue