## GstLFOControlSource

GstLFOControlSource — LFO control source

## Synopsis

    #include <libs/controller/gstlfocontrolsource.h>

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

## Object Hierarchy

      GObject
       +----GstControlSource
             +----GstLFOControlSource

## Properties

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

## Description

GstLFOControlSource is a GstControlSource, that provides several periodic waveforms as control values. It supports all fundamental, numeric GValue types as property.

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

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 ()

    GstLFOControlSource * gst_lfo_control_source_new        (void);

This returns a new, unbound GstLFOControlSource.

Returns : | a new, unbound GstLFOControlSource.

## Property Details

### The `"amplitude"` property

      "amplitude"                GValue*               : Read / Write

Specifies the amplitude for the waveform of this GstLFOControlSource.

It should be given as a GValue with a type that can be transformed to the type of the bound property.

### 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: >= 0

Default value: 1

### The `"offset"` property

      "offset"                   GValue*               : Read / Write

Specifies the offset for the waveform of this GstLFOControlSource.

It should be given as a GValue with a type that can be transformed to the type of the bound property.

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