## AgsSFZInstrumentLoader

AgsSFZInstrumentLoader — load SFZ instrument asynchronously

## Stability Level

Stable, unless otherwise indicated

## Functions

#define | AGS_SFZ_INSTRUMENT_LOADER_GET_OBJ_MUTEX()
gboolean | ags_sfz_instrument_loader_test_flags ()
void | ags_sfz_instrument_loader_set_flags ()
void | ags_sfz_instrument_loader_unset_flags ()
AgsAudio * | ags_sfz_instrument_loader_get_audio ()
void | ags_sfz_instrument_loader_set_audio ()
gchar * | ags_sfz_instrument_loader_get_filename ()
void | ags_sfz_instrument_loader_set_filename ()
AgsAudioContainer * | ags_sfz_instrument_loader_get_audio_container ()
void | ags_sfz_instrument_loader_set_audio_container ()
AgsSFZSynthUtil * | ags_sfz_instrument_loader_get_synth_template ()
void | ags_sfz_instrument_loader_set_synth_template ()
AgsSFZSynthUtil * | ags_sfz_instrument_loader_get_synth ()
void | ags_sfz_instrument_loader_set_synth ()
void | ags_sfz_instrument_loader_start ()
AgsSFZInstrumentLoader * | ags_sfz_instrument_loader_new ()

## Properties

AgsAudio * | audio | Read / Write
AgsAudioContainer * | audio-container | Read / Write
char * | filename | Read / Write
gpointer | synth | Read / Write
gpointer | synth-template | Read / Write

## Types and Values

enum | AgsSFZInstrumentLoaderFlags

## Object Hierarchy

        GObject
        ╰── AgsSFZInstrumentLoader

## Includes

    #include <ags/plugin/ags_sfz_instrument_loader.h>

## Description

The AgsSFZInstrumentLoader loads SFZ audio data of instrument asynchronously.

## Functions

### AGS_SFZ_INSTRUMENT_LOADER_GET_OBJ_MUTEX()

    #define AGS_SFZ_INSTRUMENT_LOADER_GET_OBJ_MUTEX(obj) (&(((AgsSFZInstrumentLoader *) obj)->obj_mutex))

### ags_sfz_instrument_loader_test_flags ()

    gboolean
    ags_sfz_instrument_loader_test_flags (AgsSFZInstrumentLoader *sfz_instrument_loader,
                                          AgsSFZInstrumentLoaderFlags flags);

Test `flags` to be set on `recall` .

#### Parameters

sfz_instrument_loader | the AgsSFZInstrumentLoader |
flags | the flags |

#### Returns

`TRUE` if flags are set, else `FALSE`

Since: 3.17.0

### ags_sfz_instrument_loader_set_flags ()

    void
    ags_sfz_instrument_loader_set_flags (AgsSFZInstrumentLoader *sfz_instrument_loader,
                                         AgsSFZInstrumentLoaderFlags flags);

Set flags.

#### Parameters

sfz_instrument_loader | the AgsSFZInstrumentLoader |
flags | the flags |

Since: 3.17.0

### ags_sfz_instrument_loader_unset_flags ()

    void
    ags_sfz_instrument_loader_unset_flags (AgsSFZInstrumentLoader *sfz_instrument_loader,
                                           AgsSFZInstrumentLoaderFlags flags);

Unset flags.

#### Parameters

sfz_instrument_loader | the AgsSFZInstrumentLoader |
flags | the flags |

Since: 3.17.0

### ags_sfz_instrument_loader_get_audio ()

    AgsAudio *
    ags_sfz_instrument_loader_get_audio (AgsSFZInstrumentLoader *sfz_instrument_loader);

Get audio of `sfz_instrument_loader` .

#### Parameters

sfz_instrument_loader | the AgsSFZInstrumentLoader |

#### Returns

the assigned AgsAudio.

[transfer full]

Since: 3.17.0

### ags_sfz_instrument_loader_set_audio ()

    void
    ags_sfz_instrument_loader_set_audio (AgsSFZInstrumentLoader *sfz_instrument_loader,
                                         AgsAudio *audio);

Set audio of `sfz_instrument_loader` .

#### Parameters

sfz_instrument_loader | the AgsSFZInstrumentLoader |
audio | the AgsAudio |

Since: 3.17.0

### ags_sfz_instrument_loader_get_filename ()

    gchar *
    ags_sfz_instrument_loader_get_filename
                                   (AgsSFZInstrumentLoader *sfz_instrument_loader);

Get filename of `sfz_instrument_loader` .

#### Parameters

sfz_instrument_loader | the AgsSFZInstrumentLoader |

#### Returns

the assigned filename.

[transfer full]

Since: 3.17.0

### ags_sfz_instrument_loader_set_filename ()

    void
    ags_sfz_instrument_loader_set_filename
                                   (AgsSFZInstrumentLoader *sfz_instrument_loader,
                                    gchar *filename);

Set filename of `sfz_instrument_loader` .

#### Parameters

sfz_instrument_loader | the AgsSFZInstrumentLoader |
filename | the filename |

Since: 3.17.0

### ags_sfz_instrument_loader_get_audio_container ()

    AgsAudioContainer *
    ags_sfz_instrument_loader_get_audio_container
                                   (AgsSFZInstrumentLoader *sfz_instrument_loader);

Get audio container of `sfz_instrument_loader` .

#### Parameters

sfz_instrument_loader | the AgsSFZInstrumentLoader |

#### Returns

the assigned AgsAudioContainer.

[transfer full]

Since: 3.17.0

### ags_sfz_instrument_loader_set_audio_container ()

    void
    ags_sfz_instrument_loader_set_audio_container
                                   (AgsSFZInstrumentLoader *sfz_instrument_loader,
                                    AgsAudioContainer *audio_container);

Set audio container of `sfz_instrument_loader` .

#### Parameters

sfz_instrument_loader | the AgsSFZInstrumentLoader |
audio_container | the AgsAudioContainer |

Since: 3.17.0

### ags_sfz_instrument_loader_get_synth_template ()

    AgsSFZSynthUtil *
    ags_sfz_instrument_loader_get_synth_template
                                   (AgsSFZInstrumentLoader *sfz_instrument_loader);

Get AgsSFZSynthUtil synth template of `sfz_instrument_loader` .

#### Parameters

sfz_instrument_loader | the AgsSFZInstrumentLoader |

#### Returns

the assigned AgsSFZSynthUtil

Since: 3.17.0

### ags_sfz_instrument_loader_set_synth_template ()

    void
    ags_sfz_instrument_loader_set_synth_template
                                   (AgsSFZInstrumentLoader *sfz_instrument_loader,
                                    AgsSFZSynthUtil *synth_template);

Set AgsSFZSynthUtil synth template of `sfz_instrument_loader` .

#### Parameters

sfz_instrument_loader | the AgsSFZInstrumentLoader |
synth_template | the AgsSFZSynthUtil |

Since: 3.17.0

### ags_sfz_instrument_loader_get_synth ()

    AgsSFZSynthUtil *
    ags_sfz_instrument_loader_get_synth (AgsSFZInstrumentLoader *sfz_instrument_loader);

Get AgsSFZSynthUtil synth of `sfz_instrument_loader` .

#### Parameters

sfz_instrument_loader | the AgsSFZInstrumentLoader |

#### Returns

the assigned AgsSFZSynthUtil

Since: 3.17.0

### ags_sfz_instrument_loader_set_synth ()

    void
    ags_sfz_instrument_loader_set_synth (AgsSFZInstrumentLoader *sfz_instrument_loader,
                                         AgsSFZSynthUtil *synth);

Set AgsSFZSynthUtil synth of `sfz_instrument_loader` .

#### Parameters

sfz_instrument_loader | the AgsSFZInstrumentLoader |
synth | the AgsSFZSynthUtil |

Since: 3.17.0

### ags_sfz_instrument_loader_start ()

    void
    ags_sfz_instrument_loader_start (AgsSFZInstrumentLoader *sfz_instrument_loader);

Start `sfz_instrument_loader` .

#### Parameters

sfz_instrument_loader | the AgsSFZInstrumentLoader |

Since: 3.17.0

### ags_sfz_instrument_loader_new ()

    AgsSFZInstrumentLoader *
    ags_sfz_instrument_loader_new (AgsAudio *audio,
                                   gchar *filename);

Create a new instance of AgsSFZInstrumentLoader.

#### Parameters

audio | the AgsAudio |
filename | the filename |

#### Returns

the new AgsSFZInstrumentLoader

Since: 3.17.0

## Types and Values

### enum AgsSFZInstrumentLoaderFlags

Enum values to configure SFZ instrument loader.

#### Members

AGS_SFZ_INSTRUMENT_LOADER_HAS_COMPLETED | has completed |
AGS_SFZ_INSTRUMENT_LOADER_RUN_APPLY_INSTRUMENT | run apply instrument |

## Property Details

### The `“audio”` property

      “audio”                    AgsAudio *

The assigned audio.

Owner: AgsSFZInstrumentLoader

Flags: Read / Write

Since: 3.17.0

### The `“audio-container”` property

      “audio-container”          AgsAudioContainer *

The audio container opened.

Owner: AgsSFZInstrumentLoader

Flags: Read / Write

Since: 3.17.0

### The `“filename”` property

      “filename”                 char *

The filename to open.

Owner: AgsSFZInstrumentLoader

Flags: Read / Write

Default value: NULL

Since: 3.17.0

### The `“synth”` property

      “synth”                    gpointer

The assigned synth.

Owner: AgsSFZInstrumentLoader

Flags: Read / Write

Since: 3.17.0

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

      “synth-template”           gpointer

The assigned synth template.

Owner: AgsSFZInstrumentLoader

Flags: Read / Write

Since: 3.17.0