mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 06:54:49 +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
|
- call gst_object_sync_values (self, timestamp) in the processing function
|
||||||
before accessing the parameters.
|
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
|
Application view
|
||||||
~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~
|
||||||
|
@ -37,4 +39,29 @@ frequency of the first GstLFOControlSource.
|
||||||
In most cases GstControlBindingDirect will be the binding to be used. Other
|
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-
|
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
|
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