## GstLFOControlSource

GstLFOControlSource — LFO control source

## Synopsis

    #include <libs/controller/gstlfocontrolsource.h>

    struct              GstLFOControlSource;
    enum                GstLFOWaveform;
    GstControlSource *  gst_lfo_control_source_new          (void);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GstObject
                   +----GstControlSource
                         +----GstLFOControlSource

## Properties

      "amplitude"                gdouble               : Read / Write
      "frequency"                gdouble               : Read / Write
      "offset"                   gdouble               : Read / Write
      "timeshift"                guint64               : Read / Write
      "waveform"                 GstLFOWaveform        : Read / Write

## Description

GstLFOControlSource is a GstControlSource, that provides several periodic waveforms as control values.

To use GstLFOControlSource get a new instance by calling `gst_lfo_control_source_new()`, bind it to a GParamSpec and set the relevant properties.

All functions are MT-safe.

## Details

### struct GstLFOControlSource

    struct GstLFOControlSource;

The instance structure of GstControlSource.

### enum GstLFOWaveform

    typedef enum {
      GST_LFO_WAVEFORM_SINE,
      GST_LFO_WAVEFORM_SQUARE,
      GST_LFO_WAVEFORM_SAW,
      GST_LFO_WAVEFORM_REVERSE_SAW,
      GST_LFO_WAVEFORM_TRIANGLE
    } GstLFOWaveform;

The various waveform modes available.

`GST_LFO_WAVEFORM_SINE` | sine waveform
`GST_LFO_WAVEFORM_SQUARE` | square waveform
`GST_LFO_WAVEFORM_SAW` | saw waveform
`GST_LFO_WAVEFORM_REVERSE_SAW` | reverse saw waveform
`GST_LFO_WAVEFORM_TRIANGLE` | triangle waveform

### gst_lfo_control_source_new ()

    GstControlSource *  gst_lfo_control_source_new          (void);

This returns a new, unbound GstLFOControlSource.

Returns : | a new, unbound GstLFOControlSource. [transfer full]

## Property Details

### The `"amplitude"` property

      "amplitude"                gdouble               : Read / Write

Specifies the amplitude for the waveform of this GstLFOControlSource.

Allowed values: [0,1]

Default value: 1

### The `"frequency"` property

      "frequency"                gdouble               : Read / Write

Specifies the frequency that should be used for the waveform of this GstLFOControlSource. It should be large enough so that the period is longer than one nanosecond.

Allowed values: >= G_MINDOUBLE

Default value: 1

### The `"offset"` property

      "offset"                   gdouble               : Read / Write

Specifies the value offset for the waveform of this GstLFOControlSource.

Allowed values: [0,1]

Default value: 1

### The `"timeshift"` property

      "timeshift"                guint64               : Read / Write

Specifies the timeshift to the right that should be used for the waveform of this GstLFOControlSource in nanoseconds.

To get a n nanosecond shift to the left use "(GST_SECOND / frequency) - n".

Default value: 0

### The `"waveform"` property

      "waveform"                 GstLFOWaveform        : Read / Write

Specifies the waveform that should be used for this GstLFOControlSource.

Default value: GST_LFO_WAVEFORM_SINE