## BtSourceMachine BtSourceMachine — class for signal processing machines with outputs only |

## Functions

BtSourceMachine * | bt_source_machine_new ()

## Types and Values

struct | BtSourceMachine
enum | BtSourceMachinePatternIndex

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GstObject
                ╰── GstElement
                    ╰── GstBin
                        ╰── BtMachine
                            ╰── BtSourceMachine

## Implemented Interfaces

BtSourceMachine implements GstChildProxy and BtPersistence.

## Includes

    #include <libbtcore/core.h>

## Description

Sources are machines that generate audio.

## Functions

### bt_source_machine_new ()

    BtSourceMachine *
    bt_source_machine_new (const BtSong * const song,
                           const gchar * const id,
                           const gchar * const plugin_name,
                           const glong voices,
                           GError **err);

Create a new instance The machine is automaticly added to the setup from the given song object. You don't need to add the machine with

`bt_setup_add_machine(setup,BT_MACHINE(machine));`.

#### Parameters

song | the song the new instance belongs to |
id | the id, we can use to lookup the machine |
plugin_name | the name of the gst-plugin the machine is using |
voices | the number of voices the machine should initially have |
err | inform about failed instance creation |

#### Returns

the new instance or `NULL` in case of an error

## Types and Values

### struct BtSourceMachine

    struct BtSourceMachine;

Sub-class of a BtMachine that implements a signal generator (a machine with outputs only).

### enum BtSourceMachinePatternIndex

Use this with `bt_machine_get_pattern_by_index()` to get the command patterns.

#### Members

BT_SOURCE_MACHINE_PATTERN_INDEX_BREAK | stop the pattern |
BT_SOURCE_MACHINE_PATTERN_INDEX_MUTE | mute the machine |
BT_SOURCE_MACHINE_PATTERN_INDEX_SOLO | play only this machine |
BT_SOURCE_MACHINE_PATTERN_INDEX_OFFSET | offset for real pattern ids |