## BtPatternControlSource BtPatternControlSource — Custom controlsource based on repeated event blocks (BtPatterns). |

## Functions

BtPatternControlSource * | bt_pattern_control_source_new ()

## Properties

gpointer | default-value | Write
BtMachine * | machine | Read / Write / Construct Only
BtParameterGroup * | parameter-group | Read / Write / Construct Only
BtSequence * | sequence | Read / Write / Construct Only
BtSongInfo * | song-info | Read / Write / Construct Only

## Types and Values

struct | BtPatternControlSource

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GstObject
                ╰── GstControlBinding
                    ╰── BtPatternControlSource

## Includes

    #include <libbtcore/core.h>

## Description

The control source will update machine parameters over time, based on the events from the sequences and the patterns. One control-source will handle one single parameter. It implements the logic of computing the parameter value for a given time, taking multiple tracks and overlapping patterns into account.

At the begin of the timeline (ts==0) all parameters that have no value in the sequence will be initialized from “default-value”. For trigger parameter this usualy is the no-value. For other parameters it is the last value one has set in the ui or via interaction controller.

## Functions

### bt_pattern_control_source_new ()

    BtPatternControlSource *
    bt_pattern_control_source_new (GstObject *object,
                                   const gchar *property_name,
                                   BtSequence *sequence,
                                   const BtSongInfo *song_info,
                                   const BtMachine *machine,
                                   BtParameterGroup *param_group);

Create a pattern control source for the given `machine` and `param_group` . Use `gst_control_source_bind()` to attach it to one specific parameter of the `param_group` .

#### Parameters

object | the object of the property |
property_name | the property-name to attach the control source |
sequence | the songs sequence |
song_info | the song info |
machine | the machine |
param_group | the parameter group |

#### Returns

the new pattern control source

## Types and Values

### struct BtPatternControlSource

    struct BtPatternControlSource;

A pattern based control source

## Property Details

### The `“default-value”` property

      “default-value”            gpointer

pointer to value to use if no other found.

Flags: Write

### The `“machine”` property

      “machine”                  BtMachine *

the machine object, the controlsource belongs to.

Flags: Read / Write / Construct Only

### The `“parameter-group”` property

      “parameter-group”          BtParameterGroup *

the parameter group.

Flags: Read / Write / Construct Only

### The `“sequence”` property

      “sequence”                 BtSequence *

the sequence object.

Flags: Read / Write / Construct Only

### The `“song-info”` property

      “song-info”                BtSongInfo *

the song-info object.

Flags: Read / Write / Construct Only