## BtProcessorMachine

BtProcessorMachine — class for signal processing machines with inputs and outputs

## Synopsis

    #include <libbtcore/core.h>

    struct              BtProcessorMachine;
    enum                BtProcessorMachinePatternIndex;
    BtProcessorMachine * bt_processor_machine_new           (const BtSong * const song,
                                                             const gchar * const id,
                                                             const gchar * const plugin_name,
                                                             const glong voices,
                                                             GError **err);

## Object Hierarchy

      GObject
       +----GstObject
             +----GstElement
                   +----GstBin
                         +----BtMachine
                               +----BtProcessorMachine

## Implemented Interfaces

BtProcessorMachine implements GstChildProxy.

## Description

Processors are machines that alter incomming audio.

## Details

### struct BtProcessorMachine

    struct BtProcessorMachine;

Sub-class of a BtMachine that implements an effect-processor (a machine with in and outputs).

### enum BtProcessorMachinePatternIndex

    typedef enum {
      BT_PROCESSOR_MACHINE_PATTERN_INDEX_BREAK=0,
      BT_PROCESSOR_MACHINE_PATTERN_INDEX_MUTE,
      BT_PROCESSOR_MACHINE_PATTERN_INDEX_BYPASS,
      BT_PROCESSOR_MACHINE_PATTERN_INDEX_OFFSET
    } BtProcessorMachinePatternIndex;

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

`BT_PROCESSOR_MACHINE_PATTERN_INDEX_BREAK` | stop the pattern
`BT_PROCESSOR_MACHINE_PATTERN_INDEX_MUTE` | mute the machine
`BT_PROCESSOR_MACHINE_PATTERN_INDEX_BYPASS` | bypass the machine
`BT_PROCESSOR_MACHINE_PATTERN_INDEX_OFFSET` | offset for real pattern ids

### bt_processor_machine_new ()

    BtProcessorMachine * bt_processor_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 of the given song. You don't need to call `bt_setup_add_machine(setup,BT_MACHINE(machine));`.

`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