design: update controller design and add some thoughs for future stuff

This commit is contained in:
Stefan Sauer 2013-03-08 13:15:32 +01:00
parent 03075cd144
commit 31fbc86e09

View file

@ -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