## AgsInput

AgsInput — Input of AgsAudio

## Stability Level

Stable, unless otherwise indicated

## Functions

gboolean | ags_input_is_active ()
AgsInput * | ags_input_next_active ()
void | ags_input_add_synth_generator ()
void | ags_input_remove_synth_generator ()
gboolean | ags_input_open_file ()
AgsInput * | ags_input_new ()

## Properties

AgsFileLink * | file-link | Read / Write
gpointer | synth-generator | Read / Write

## Types and Values

#define | AGS_INPUT_SYNTH_BASE_NOTE

## Object Hierarchy

        GObject
        ╰── AgsChannel
            ╰── AgsInput

## Includes

    #include <ags/audio/ags_input.h>

## Description

AgsInput represents an input channel of AgsAudio.

## Functions

### ags_input_is_active ()

    gboolean
    ags_input_is_active (AgsInput *input,
                         GObject *recycling_context);

Check if `input` is active and needs processing.

#### Parameters

input | the AgsInput |
recycling_context | the AgsRecyclingContext to check |

#### Returns

`TRUE` if has a need to be processed, else `FALSE`

Since: 3.0.0

### ags_input_next_active ()

    AgsInput *
    ags_input_next_active (AgsInput *input,
                           GObject *recycling_context);

Find next AgsInput needed to be processed.

#### Parameters

input | the AgsInput |
recycling_context | the AgsRecyclingContext to check |

#### Returns

next active AgsInput, else `NULL` if non available.

[transfer full]

Since: 3.0.0

### ags_input_add_synth_generator ()

    void
    ags_input_add_synth_generator (AgsInput *input,
                                   GObject *synth_generator);

Add `synth_generator` to `input` .

#### Parameters

input | the AgsInput |
synth_generator | the AgsSynthGenerator |

Since: 3.0.0

### ags_input_remove_synth_generator ()

    void
    ags_input_remove_synth_generator (AgsInput *input,
                                      GObject *synth_generator);

Remove `synth_generator` from `input` .

#### Parameters

input | the AgsInput |
synth_generator | the AgsSynthGenerator |

Since: 3.0.0

### ags_input_open_file ()

    gboolean
    ags_input_open_file (AgsInput *input,
                         gchar *filename,
                         gchar *preset,
                         gchar *instrument,
                         gchar *sample,
                         guint audio_channel);

Open `filename` and assign `audio_channel` 's data as AGS_AUDIO_SIGNAL_TEMPLATE audio signal to `input` 's own recycling.

#### Parameters

input | the AgsInput |
filename | the filename as string |
preset | the preset to open |
instrument | the instrument to open |
sample | the sample to open |
audio_channel | the audio channel to read |

#### Returns

`TRUE` if open was successful, else `FALSE`

Since: 3.0.0

### ags_input_new ()

    AgsInput *
    ags_input_new (GObject *audio);

Creates a AgsInput, linking tree to `audio` .

#### Parameters

audio | the AgsAudio |

#### Returns

a new AgsInput

Since: 3.0.0

## Types and Values

### AGS_INPUT_SYNTH_BASE_NOTE

    #define AGS_INPUT_SYNTH_BASE_NOTE (-48.0)

## Property Details

### The `“file-link”` property

      “file-link”                AgsFileLink *

The file containing audio data.

Owner: AgsInput

Flags: Read / Write

Since: 3.0.0

### The `“synth-generator”` property

      “synth-generator”          gpointer

The synth generators assigned with this input.

[transfer full]

Owner: AgsInput

Flags: Read / Write

Since: 3.0.0