Top | ![]() |
![]() |
![]() |
![]() |
gulong | beats-per-minute | Read / Write |
gulong | subticks-per-tick | Read / Write |
gulong | ticks-per-beat | Read / Write |
GstBtTempo is implemented by GstBtAudioDelay, GstBtAudioSynth, GstBtEBeats, GstBtFluidSynth, GstBtSidSyn, GstBtSimSyn, GstBtWaveReplay and GstBtWaveTabSyn.
This interface offers three GObject properties to specify a rythmic tempo of
the GStreamer pipeline. The tempo can be changed from the application side by
calling gstbt_tempo_change_tempo()
.
GstElements that implement this interface should use the given tempo, to
adjust their gst_object_sync_values()
cycle.
The difference between the tempo iface and the tempo-tag metadata is that the metadata describes the overall tempo, but the iface allows to change the tempo during playback.
void gstbt_tempo_change_tempo (GstBtTempo *self
,glong beats_per_minute
,glong ticks_per_beat
,glong subticks_per_tick
);
Set all tempo properties at once. Pass -1 to leave a value unchanged.
self |
a GObject that implements GstBtTempo |
|
beats_per_minute |
the number of beats in a minute |
|
ticks_per_beat |
the number of ticks of one beat (measure) |
|
subticks_per_tick |
the number of subticks within one tick |
struct GstBtTempoInterface { GTypeInterface parent; void (*change_tempo) (GstBtTempo *self, glong beats_per_minute, glong ticks_per_beat, glong subticks_per_tick); };
Interface structure.
“beats-per-minute”
property“beats-per-minute” gulong
the number of beats per minute the top level pipeline uses.
Flags: Read / Write
Allowed values: >= 1
“subticks-per-tick”
property“subticks-per-tick” gulong
the number of subticks (for smoothing) per tick the top level pipeline uses.
Flags: Read / Write
Allowed values: >= 1
“ticks-per-beat”
property“ticks-per-beat” gulong
the number of ticks (events) per beat the top level pipeline uses.
Flags: Read / Write
Allowed values: >= 1