2021-03-23 21:32:15 +00:00
|
|
|
<!-- file * -->
|
|
|
|
<!-- struct ARGBControlBinding -->
|
|
|
|
A value mapping object that attaches multiple control sources to a guint
|
|
|
|
gobject properties representing a color. A control value of 0.0 will turn the
|
|
|
|
color component off and a value of 1.0 will be the color level.
|
|
|
|
|
|
|
|
# Implements
|
|
|
|
|
|
|
|
[`ARGBControlBindingExt`](trait.ARGBControlBindingExt.html), [`gst::ControlBindingExt`](../gst/trait.ControlBindingExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html)
|
|
|
|
<!-- trait ARGBControlBindingExt -->
|
|
|
|
Trait containing all `ARGBControlBinding` methods.
|
|
|
|
|
|
|
|
# Implementors
|
|
|
|
|
|
|
|
[`ARGBControlBinding`](struct.ARGBControlBinding.html)
|
|
|
|
<!-- impl ARGBControlBinding::fn new -->
|
|
|
|
Create a new control-binding that attaches the given `gst::ControlSource` to the
|
2021-04-11 19:38:18 +00:00
|
|
|
`glib::object::Object` property.
|
2021-03-23 21:32:15 +00:00
|
|
|
## `object`
|
|
|
|
the object of the property
|
|
|
|
## `property_name`
|
|
|
|
the property-name to attach the control source
|
|
|
|
## `cs_a`
|
|
|
|
the control source for the alpha channel
|
|
|
|
## `cs_r`
|
|
|
|
the control source for the red channel
|
|
|
|
## `cs_g`
|
|
|
|
the control source for the green channel
|
|
|
|
## `cs_b`
|
|
|
|
the control source for the blue channel
|
|
|
|
|
|
|
|
# Returns
|
|
|
|
|
|
|
|
the new `ARGBControlBinding`
|
|
|
|
<!-- struct ControlPoint -->
|
|
|
|
An internal structure for value+time and various temporary
|
|
|
|
values used for interpolation. This "inherits" from
|
|
|
|
GstTimedValue.
|
|
|
|
<!-- impl ControlPoint::fn copy -->
|
|
|
|
Copies a `ControlPoint`
|
|
|
|
|
|
|
|
# Returns
|
|
|
|
|
|
|
|
A copy of `self`
|
|
|
|
<!-- impl ControlPoint::fn free -->
|
|
|
|
Frees all data allocated by a `ControlPoint` instance.
|
|
|
|
<!-- struct DirectControlBinding -->
|
|
|
|
A value mapping object that attaches control sources to gobject properties. It
|
|
|
|
will map the control values directly to the target property range. If a
|
|
|
|
non-absolute direct control binding is used, the value range [0.0 ... 1.0]
|
|
|
|
is mapped to full target property range, and all values outside the range
|
|
|
|
will be clipped. An absolute control binding will not do any value
|
|
|
|
transformations.
|
|
|
|
|
|
|
|
# Implements
|
|
|
|
|
|
|
|
[`DirectControlBindingExt`](trait.DirectControlBindingExt.html), [`gst::ControlBindingExt`](../gst/trait.ControlBindingExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html)
|
|
|
|
<!-- trait DirectControlBindingExt -->
|
|
|
|
Trait containing all `DirectControlBinding` methods.
|
|
|
|
|
|
|
|
# Implementors
|
|
|
|
|
|
|
|
[`DirectControlBinding`](struct.DirectControlBinding.html)
|
|
|
|
<!-- impl DirectControlBinding::fn new -->
|
|
|
|
Create a new control-binding that attaches the `gst::ControlSource` to the
|
2021-04-11 19:38:18 +00:00
|
|
|
`glib::object::Object` property. It will map the control source range [0.0 ... 1.0] to
|
2021-03-23 21:32:15 +00:00
|
|
|
the full target property range, and clip all values outside this range.
|
|
|
|
## `object`
|
|
|
|
the object of the property
|
|
|
|
## `property_name`
|
|
|
|
the property-name to attach the control source
|
|
|
|
## `cs`
|
|
|
|
the control source
|
|
|
|
|
|
|
|
# Returns
|
|
|
|
|
|
|
|
the new `DirectControlBinding`
|
|
|
|
<!-- impl DirectControlBinding::fn new_absolute -->
|
|
|
|
Create a new control-binding that attaches the `gst::ControlSource` to the
|
2021-04-11 19:38:18 +00:00
|
|
|
`glib::object::Object` property. It will directly map the control source values to the
|
2021-03-23 21:32:15 +00:00
|
|
|
target property range without any transformations.
|
|
|
|
## `object`
|
|
|
|
the object of the property
|
|
|
|
## `property_name`
|
|
|
|
the property-name to attach the control source
|
|
|
|
## `cs`
|
|
|
|
the control source
|
|
|
|
|
|
|
|
# Returns
|
|
|
|
|
|
|
|
the new `DirectControlBinding`
|
|
|
|
<!-- struct InterpolationControlSource -->
|
|
|
|
`InterpolationControlSource` is a `gst::ControlSource`, that interpolates values between user-given
|
|
|
|
control points. It supports several interpolation modes and property types.
|
|
|
|
|
|
|
|
To use `InterpolationControlSource` get a new instance by calling
|
2021-04-11 19:38:18 +00:00
|
|
|
`InterpolationControlSource::new`, bind it to a `glib::object::ParamSpec` and set some
|
2021-03-23 21:32:15 +00:00
|
|
|
control points by calling `TimedValueControlSourceExt::set`.
|
|
|
|
|
|
|
|
All functions are MT-safe.
|
|
|
|
|
|
|
|
# Implements
|
|
|
|
|
|
|
|
[`InterpolationControlSourceExt`](trait.InterpolationControlSourceExt.html), [`TimedValueControlSourceExt`](trait.TimedValueControlSourceExt.html), [`gst::ControlSourceExt`](../gst/trait.ControlSourceExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html)
|
|
|
|
<!-- trait InterpolationControlSourceExt -->
|
|
|
|
Trait containing all `InterpolationControlSource` methods.
|
|
|
|
|
|
|
|
# Implementors
|
|
|
|
|
|
|
|
[`InterpolationControlSource`](struct.InterpolationControlSource.html)
|
|
|
|
<!-- impl InterpolationControlSource::fn new -->
|
|
|
|
This returns a new, unbound `InterpolationControlSource`.
|
|
|
|
|
|
|
|
# Returns
|
|
|
|
|
|
|
|
a new, unbound `InterpolationControlSource`.
|
|
|
|
<!-- enum InterpolationMode -->
|
|
|
|
The various interpolation modes available.
|
|
|
|
<!-- enum InterpolationMode::variant None -->
|
|
|
|
steps-like interpolation, default
|
|
|
|
<!-- enum InterpolationMode::variant Linear -->
|
|
|
|
linear interpolation
|
|
|
|
<!-- enum InterpolationMode::variant Cubic -->
|
|
|
|
cubic interpolation (natural), may overshoot
|
|
|
|
the min or max values set by the control point, but is more 'curvy'
|
|
|
|
<!-- enum InterpolationMode::variant CubicMonotonic -->
|
|
|
|
monotonic cubic interpolation, will not
|
|
|
|
produce any values outside of the min-max range set by the control points
|
|
|
|
(Since: 1.8)
|
|
|
|
<!-- struct LFOControlSource -->
|
|
|
|
`LFOControlSource` is a `gst::ControlSource`, that provides several periodic
|
|
|
|
waveforms as control values.
|
|
|
|
|
|
|
|
To use `LFOControlSource` get a new instance by calling
|
2021-04-11 19:38:18 +00:00
|
|
|
`LFOControlSource::new`, bind it to a `glib::object::ParamSpec` and set the relevant
|
2021-03-23 21:32:15 +00:00
|
|
|
properties.
|
|
|
|
|
|
|
|
All functions are MT-safe.
|
|
|
|
|
|
|
|
# Implements
|
|
|
|
|
|
|
|
[`LFOControlSourceExt`](trait.LFOControlSourceExt.html), [`gst::ControlSourceExt`](../gst/trait.ControlSourceExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html)
|
|
|
|
<!-- trait LFOControlSourceExt -->
|
|
|
|
Trait containing all `LFOControlSource` methods.
|
|
|
|
|
|
|
|
# Implementors
|
|
|
|
|
|
|
|
[`LFOControlSource`](struct.LFOControlSource.html)
|
|
|
|
<!-- impl LFOControlSource::fn new -->
|
|
|
|
This returns a new, unbound `LFOControlSource`.
|
|
|
|
|
|
|
|
# Returns
|
|
|
|
|
|
|
|
a new, unbound `LFOControlSource`.
|
|
|
|
<!-- trait LFOControlSourceExt::fn get_property_amplitude -->
|
|
|
|
Specifies the amplitude for the waveform of this `LFOControlSource`.
|
|
|
|
<!-- trait LFOControlSourceExt::fn set_property_amplitude -->
|
|
|
|
Specifies the amplitude for the waveform of this `LFOControlSource`.
|
|
|
|
<!-- trait LFOControlSourceExt::fn get_property_frequency -->
|
|
|
|
Specifies the frequency that should be used for the waveform
|
|
|
|
of this `LFOControlSource`. It should be large enough
|
|
|
|
so that the period is longer than one nanosecond.
|
|
|
|
<!-- trait LFOControlSourceExt::fn set_property_frequency -->
|
|
|
|
Specifies the frequency that should be used for the waveform
|
|
|
|
of this `LFOControlSource`. It should be large enough
|
|
|
|
so that the period is longer than one nanosecond.
|
|
|
|
<!-- trait LFOControlSourceExt::fn get_property_offset -->
|
|
|
|
Specifies the value offset for the waveform of this `LFOControlSource`.
|
|
|
|
<!-- trait LFOControlSourceExt::fn set_property_offset -->
|
|
|
|
Specifies the value offset for the waveform of this `LFOControlSource`.
|
|
|
|
<!-- trait LFOControlSourceExt::fn get_property_timeshift -->
|
|
|
|
Specifies the timeshift to the right that should be used for the waveform
|
|
|
|
of this `LFOControlSource` in nanoseconds.
|
|
|
|
|
|
|
|
To get a n nanosecond shift to the left use
|
|
|
|
"(GST_SECOND / frequency) - n".
|
|
|
|
<!-- trait LFOControlSourceExt::fn set_property_timeshift -->
|
|
|
|
Specifies the timeshift to the right that should be used for the waveform
|
|
|
|
of this `LFOControlSource` in nanoseconds.
|
|
|
|
|
|
|
|
To get a n nanosecond shift to the left use
|
|
|
|
"(GST_SECOND / frequency) - n".
|
|
|
|
<!-- trait LFOControlSourceExt::fn get_property_waveform -->
|
|
|
|
Specifies the waveform that should be used for this `LFOControlSource`.
|
|
|
|
<!-- trait LFOControlSourceExt::fn set_property_waveform -->
|
|
|
|
Specifies the waveform that should be used for this `LFOControlSource`.
|
|
|
|
<!-- enum LFOWaveform -->
|
|
|
|
The various waveform modes available.
|
|
|
|
<!-- enum LFOWaveform::variant Sine -->
|
|
|
|
sine waveform
|
|
|
|
<!-- enum LFOWaveform::variant Square -->
|
|
|
|
square waveform
|
|
|
|
<!-- enum LFOWaveform::variant Saw -->
|
|
|
|
saw waveform
|
|
|
|
<!-- enum LFOWaveform::variant ReverseSaw -->
|
|
|
|
reverse saw waveform
|
|
|
|
<!-- enum LFOWaveform::variant Triangle -->
|
|
|
|
triangle waveform
|
|
|
|
<!-- struct ProxyControlBinding -->
|
|
|
|
A `gst::ControlBinding` that forwards requests to another `gst::ControlBinding`
|
|
|
|
|
|
|
|
Feature: `v1_12`
|
|
|
|
|
|
|
|
# Implements
|
|
|
|
|
|
|
|
[`gst::ControlBindingExt`](../gst/trait.ControlBindingExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html)
|
|
|
|
<!-- impl ProxyControlBinding::fn new -->
|
|
|
|
`ProxyControlBinding` forwards all access to data or `sync_values()`
|
|
|
|
requests from `property_name` on `object` to the control binding at
|
|
|
|
`ref_property_name` on `ref_object`.
|
|
|
|
|
|
|
|
Feature: `v1_12`
|
|
|
|
|
|
|
|
## `object`
|
|
|
|
a `gst::Object`
|
|
|
|
## `property_name`
|
|
|
|
the property name in `object` to control
|
|
|
|
## `ref_object`
|
|
|
|
a `gst::Object` to forward all
|
|
|
|
`gst::ControlBinding` requests to
|
|
|
|
## `ref_property_name`
|
|
|
|
the property_name in `ref_object` to control
|
|
|
|
|
|
|
|
# Returns
|
|
|
|
|
|
|
|
a new `gst::ControlBinding` that proxies the control interface between
|
|
|
|
properties on different `gst::Object`'s
|
|
|
|
<!-- struct TimedValueControlSource -->
|
|
|
|
Base class for `gst::ControlSource` that use time-stamped values.
|
|
|
|
|
|
|
|
When overriding bind, chain up first to give this bind implementation a
|
|
|
|
chance to setup things.
|
|
|
|
|
|
|
|
All functions are MT-safe.
|
|
|
|
|
|
|
|
This is an Abstract Base Class, you cannot instantiate it.
|
|
|
|
|
|
|
|
# Implements
|
|
|
|
|
|
|
|
[`TimedValueControlSourceExt`](trait.TimedValueControlSourceExt.html), [`gst::ControlSourceExt`](../gst/trait.ControlSourceExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html)
|
|
|
|
<!-- trait TimedValueControlSourceExt -->
|
|
|
|
Trait containing all `TimedValueControlSource` methods.
|
|
|
|
|
|
|
|
# Implementors
|
|
|
|
|
|
|
|
[`InterpolationControlSource`](struct.InterpolationControlSource.html), [`TimedValueControlSource`](struct.TimedValueControlSource.html), [`TriggerControlSource`](struct.TriggerControlSource.html)
|
|
|
|
<!-- trait TimedValueControlSourceExt::fn find_control_point_iter -->
|
|
|
|
Find last value before given timestamp in control point list.
|
|
|
|
If all values in the control point list come after the given
|
|
|
|
timestamp or no values exist, `None` is returned.
|
|
|
|
|
|
|
|
For use in control source implementations.
|
|
|
|
## `timestamp`
|
|
|
|
the search key
|
|
|
|
|
|
|
|
# Returns
|
|
|
|
|
|
|
|
the found `glib::SequenceIter` or `None`
|
|
|
|
<!-- trait TimedValueControlSourceExt::fn get_all -->
|
|
|
|
Returns a read-only copy of the list of `gst::TimedValue` for the given property.
|
|
|
|
Free the list after done with it.
|
|
|
|
|
|
|
|
# Returns
|
|
|
|
|
|
|
|
a copy
|
|
|
|
of the list, or `None` if the property isn't handled by the controller
|
|
|
|
<!-- trait TimedValueControlSourceExt::fn get_count -->
|
|
|
|
Get the number of control points that are set.
|
|
|
|
|
|
|
|
# Returns
|
|
|
|
|
|
|
|
the number of control points that are set.
|
|
|
|
<!-- trait TimedValueControlSourceExt::fn set -->
|
|
|
|
Set the value of given controller-handled property at a certain time.
|
|
|
|
## `timestamp`
|
|
|
|
the time the control-change is scheduled for
|
|
|
|
## `value`
|
|
|
|
the control-value
|
|
|
|
|
|
|
|
# Returns
|
|
|
|
|
|
|
|
FALSE if the values couldn't be set, TRUE otherwise.
|
|
|
|
<!-- trait TimedValueControlSourceExt::fn set_from_list -->
|
|
|
|
Sets multiple timed values at once.
|
|
|
|
## `timedvalues`
|
|
|
|
a list
|
|
|
|
with `gst::TimedValue` items
|
|
|
|
|
|
|
|
# Returns
|
|
|
|
|
|
|
|
FALSE if the values couldn't be set, TRUE otherwise.
|
|
|
|
<!-- trait TimedValueControlSourceExt::fn unset -->
|
|
|
|
Used to remove the value of given controller-handled property at a certain
|
|
|
|
time.
|
|
|
|
## `timestamp`
|
|
|
|
the time the control-change should be removed from
|
|
|
|
|
|
|
|
# Returns
|
|
|
|
|
|
|
|
FALSE if the value couldn't be unset (i.e. not found, TRUE otherwise.
|
|
|
|
<!-- trait TimedValueControlSourceExt::fn unset_all -->
|
|
|
|
Used to remove all time-stamped values of given controller-handled property
|
|
|
|
<!-- trait TimedValueControlSourceExt::fn connect_value_added -->
|
|
|
|
Emitted right after the new value has been added to `self_`
|
|
|
|
## `timed_value`
|
|
|
|
The newly added `gst::TimedValue`
|
|
|
|
<!-- trait TimedValueControlSourceExt::fn connect_value_changed -->
|
|
|
|
Emitted right after the new value has been set on `timed_signals`
|
|
|
|
## `timed_value`
|
|
|
|
The `gst::TimedValue` where the value changed
|
|
|
|
<!-- trait TimedValueControlSourceExt::fn connect_value_removed -->
|
|
|
|
Emitted when `timed_value` is removed from `self_`
|
|
|
|
## `timed_value`
|
|
|
|
The removed `gst::TimedValue`
|
|
|
|
<!-- struct TriggerControlSource -->
|
|
|
|
`TriggerControlSource` is a `gst::ControlSource`, that returns values from user-given
|
|
|
|
control points. It allows for a tolerance on the time-stamps.
|
|
|
|
|
|
|
|
To use `TriggerControlSource` get a new instance by calling
|
2021-04-11 19:38:18 +00:00
|
|
|
`TriggerControlSource::new`, bind it to a `glib::object::ParamSpec` and set some
|
2021-03-23 21:32:15 +00:00
|
|
|
control points by calling `TimedValueControlSourceExt::set`.
|
|
|
|
|
|
|
|
All functions are MT-safe.
|
|
|
|
|
|
|
|
# Implements
|
|
|
|
|
|
|
|
[`TriggerControlSourceExt`](trait.TriggerControlSourceExt.html), [`TimedValueControlSourceExt`](trait.TimedValueControlSourceExt.html), [`gst::ControlSourceExt`](../gst/trait.ControlSourceExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html)
|
|
|
|
<!-- trait TriggerControlSourceExt -->
|
|
|
|
Trait containing all `TriggerControlSource` methods.
|
|
|
|
|
|
|
|
# Implementors
|
|
|
|
|
|
|
|
[`TriggerControlSource`](struct.TriggerControlSource.html)
|
|
|
|
<!-- impl TriggerControlSource::fn new -->
|
|
|
|
This returns a new, unbound `TriggerControlSource`.
|
|
|
|
|
|
|
|
# Returns
|
|
|
|
|
|
|
|
a new, unbound `TriggerControlSource`.
|