## AgsSFZFile

AgsSFZFile — SFZ file

## Stability Level

Stable, unless otherwise indicated

## Functions

#define | AGS_SFZ_FILE_GET_OBJ_MUTEX()
GList * | ags_sfz_file_get_group ()
void | ags_sfz_file_set_group ()
GList * | ags_sfz_file_get_region ()
void | ags_sfz_file_set_region ()
GList * | ags_sfz_file_get_sample ()
void | ags_sfz_file_set_sample ()
gboolean | ags_sfz_file_select_sample ()
void | ags_sfz_file_get_range ()
gboolean | ags_sfz_file_check_suffix ()
void | ags_sfz_file_parse ()
AgsSFZFile * | ags_sfz_file_new ()

## Properties

char * | filename | Read / Write
gpointer | group | Read / Write
char * | mode | Read / Write
gpointer | region | Read / Write
gpointer | sample | Read / Write
GObject * | soundcard | Read / Write

## Types and Values

#define | AGS_SFZ_FILE_DEFAULT_CHANNELS
#define | AGS_SFZ_FILE_LOOP_MAX
#define | AGS_SFZ_FILE_READ
#define | AGS_SFZ_FILE_WRITE
enum | AgsSFZLevel

## Object Hierarchy

        GObject
        ╰── AgsSFZFile

## Includes

    #include <ags/audio/file/ags_sfz_file.h>

## Description

AgsSFZFile is the base object to ineract with SFZ files.

## Functions

### AGS_SFZ_FILE_GET_OBJ_MUTEX()

    #define AGS_SFZ_FILE_GET_OBJ_MUTEX(obj) (&(((AgsSFZFile *) obj)->obj_mutex))

### ags_sfz_file_get_group ()

    GList *
    ags_sfz_file_get_group (AgsSFZFile *sfz_file);

Get the groups of `sfz_file` .

#### Parameters

sfz_file | the AgsSFZFile |

#### Returns

the GList containing AgsSFZGroup.

[element-type AgsAudio.SFZGroup][transfer full]

Since: 3.17.0

### ags_sfz_file_set_group ()

    void
    ags_sfz_file_set_group (AgsSFZFile *sfz_file,
                            GList *group);

Set the group field of `sfz_file`

#### Parameters

sfz_file | the AgsSFZFile |
group | the GList containing AgsSFZGroup. | [element-type AgsAudio.SFZGroup][transfer none]

Since: 3.17.0

### ags_sfz_file_get_region ()

    GList *
    ags_sfz_file_get_region (AgsSFZFile *sfz_file);

Get the regions of `sfz_file` .

#### Parameters

sfz_file | the AgsSFZFile |

#### Returns

the GList containing AgsSFZRegion.

[element-type AgsAudio.SFZRegion][transfer full]

Since: 3.17.0

### ags_sfz_file_set_region ()

    void
    ags_sfz_file_set_region (AgsSFZFile *sfz_file,
                             GList *region);

Set the region field of `sfz_file`

#### Parameters

sfz_file | the AgsSFZFile |
region | the GList containing AgsSFZRegion. | [element-type AgsAudio.SFZRegion][transfer none]

Since: 3.17.0

### ags_sfz_file_get_sample ()

    GList *
    ags_sfz_file_get_sample (AgsSFZFile *sfz_file);

Get the samples of `sfz_file` .

#### Parameters

sfz_file | the AgsSFZFile |

#### Returns

the GList containing AgsSFZSample.

[element-type AgsAudio.SFZSample][transfer full]

Since: 3.17.0

### ags_sfz_file_set_sample ()

    void
    ags_sfz_file_set_sample (AgsSFZFile *sfz_file,
                             GList *sample);

Set the sample field of `sfz_file`

#### Parameters

sfz_file | the AgsSFZFile |
sample | the GList containing AgsSFZSample. | [element-type AgsAudio.SFZSample][transfer none]

Since: 3.17.0

### ags_sfz_file_select_sample ()

    gboolean
    ags_sfz_file_select_sample (AgsSFZFile *sfz_file,
                                guint sample_index);

Select sample.

#### Parameters

sfz_file | the AgsSFZFile |
sample_index | the sample index |

#### Returns

`TRUE` on success, else `FALSE` on failure

Since: 3.0.0

### ags_sfz_file_get_range ()

    void
    ags_sfz_file_get_range (AgsSFZFile *sfz_file,
                            glong *hikey,
                            glong *lokey);

Get range of `sfz_file` , set return location `hikey` and `lokey` .

#### Parameters

sfz_file | the AgsSFZFile |
hikey | the return location of key high. | [out]
lokey | the return location of key low. | [out]

Since: 3.0.0

### ags_sfz_file_check_suffix ()

    gboolean
    ags_sfz_file_check_suffix (gchar *filename);

Check `filename` 's suffix to be supported.

#### Parameters

filename | the filename |

#### Returns

`TRUE` if supported, else `FALSE`

Since: 3.0.0

### ags_sfz_file_parse ()

    void
    ags_sfz_file_parse (AgsSFZFile *sfz_file);

Parse `sfz_file` .

#### Parameters

sfz_file | the AgsSFZFile |

Since: 3.0.0

### ags_sfz_file_new ()

    AgsSFZFile *
    ags_sfz_file_new ();

Creates an AgsSFZFile.

#### Returns

an empty AgsSFZFile.

Since: 3.0.0

## Types and Values

### AGS_SFZ_FILE_DEFAULT_CHANNELS

    #define AGS_SFZ_FILE_DEFAULT_CHANNELS (2)

### AGS_SFZ_FILE_LOOP_MAX

    #define AGS_SFZ_FILE_LOOP_MAX (4294967296)

### AGS_SFZ_FILE_READ

    #define AGS_SFZ_FILE_READ "r"

### AGS_SFZ_FILE_WRITE

    #define AGS_SFZ_FILE_WRITE "w"

### enum AgsSFZLevel

Enum values to describe the different levels of a SFZ file.

#### Members

AGS_SFZ_LEVEL_FILENAME | filename |
AGS_SFZ_LEVEL_SAMPLE | sample |

## Property Details

### The `“filename”` property

      “filename”                 char *

The assigned filename.

Owner: AgsSFZFile

Flags: Read / Write

Default value: NULL

Since: 3.0.0

### The `“group”` property

      “group”                    gpointer

The containing groups.

[transfer full]

Owner: AgsSFZFile

Flags: Read / Write

Since: 3.0.0

### The `“mode”` property

      “mode”                     char *

The assigned mode.

Owner: AgsSFZFile

Flags: Read / Write

Default value: NULL

Since: 3.0.0

### The `“region”` property

      “region”                   gpointer

The containing regions.

[transfer full]

Owner: AgsSFZFile

Flags: Read / Write

Since: 3.0.0

### The `“sample”` property

      “sample”                   gpointer

The containing samples.

[transfer full]

Owner: AgsSFZFile

Flags: Read / Write

Since: 3.0.0

### The `“soundcard”` property

      “soundcard”                GObject *

The assigned soundcard.

Owner: AgsSFZFile

Flags: Read / Write

Since: 3.0.0