GstBtTempo

GstBtTempo — helper interface for tempo synced gstreamer elements

Functions

Properties

gulong beats-per-minute Read / Write
gulong subticks-per-tick Read / Write
gulong ticks-per-beat Read / Write

Types and Values

Object Hierarchy

    GInterface
    ╰── GstBtTempo

Known Implementations

GstBtTempo is implemented by GstBtAudioDelay, GstBtAudioSynth, GstBtEBeats, GstBtFluidSynth, GstBtSidSyn, GstBtSimSyn, GstBtWaveReplay and GstBtWaveTabSyn.

Includes

#include <libgstbuzztrax/tempo.h>

Description

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.

Functions

gstbt_tempo_change_tempo ()

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.

Parameters

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

 

Types and Values

struct GstBtTempoInterface

struct GstBtTempoInterface {
  GTypeInterface parent;

  void (*change_tempo) (GstBtTempo *self, glong beats_per_minute, glong ticks_per_beat, glong subticks_per_tick);
};

Interface structure.

Members

GTypeInterface parent;

parent type

 

change_tempo ()

vmethod for changing the song tempo

 

GstBtTempo

typedef struct _GstBtTempo GstBtTempo;

Opaque interface handle.

Property Details

The “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


The “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


The “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