## AgsSFZSample

AgsSFZSample — interfacing SFZ samples

## Stability Level

Stable, unless otherwise indicated

## Functions

#define | AGS_SFZ_SAMPLE_GET_OBJ_MUTEX()
gboolean | ags_sfz_sample_test_flags ()
void | ags_sfz_sample_set_flags ()
void | ags_sfz_sample_unset_flags ()
GObject * | ags_sfz_sample_get_group ()
void | ags_sfz_sample_set_group ()
GObject * | ags_sfz_sample_get_region ()
void | ags_sfz_sample_set_region ()
gint | ags_sfz_sample_get_key ()
gint | ags_sfz_sample_get_hikey ()
gint | ags_sfz_sample_get_lokey ()
gint | ags_sfz_sample_get_pitch_keycenter ()
guint | ags_sfz_sample_get_loop_mode ()
guint | ags_sfz_sample_get_loop_start ()
guint | ags_sfz_sample_get_loop_end ()
AgsSFZSample * | ags_sfz_sample_new ()

## Properties

guint | audio-channels | Read / Write
guint | buffer-size | Read / Write
char * | filename | Read / Write
guint | format | Read / Write
AgsSFZGroup * | group | Read / Write
guint | loop-end | Read / Write
guint | loop-start | Read / Write
AgsSFZRegion * | region | Read / Write

## Types and Values

enum | AgsSFZSampleFlags
enum | AgsSFZSampleLoopMode

## Object Hierarchy

        GObject
        ╰── AgsSFZSample

## Includes

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

## Description

AgsSFZSample is the base object to ineract with SFZ samples.

## Functions

### AGS_SFZ_SAMPLE_GET_OBJ_MUTEX()

    #define AGS_SFZ_SAMPLE_GET_OBJ_MUTEX(obj) (&(((AgsSFZSample *) obj)->obj_mutex))

### ags_sfz_sample_test_flags ()

    gboolean
    ags_sfz_sample_test_flags (AgsSFZSample *sfz_sample,
                               guint flags);

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

#### Parameters

sfz_sample | the AgsSFZSample |
flags | the flags |

#### Returns

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

Since: 3.0.0

### ags_sfz_sample_set_flags ()

    void
    ags_sfz_sample_set_flags (AgsSFZSample *sfz_sample,
                              guint flags);

Enable a feature of `sfz_sample` .

#### Parameters

sfz_sample | the AgsSFZSample |
flags | see AgsSFZSampleFlags |

Since: 3.0.0

### ags_sfz_sample_unset_flags ()

    void
    ags_sfz_sample_unset_flags (AgsSFZSample *sfz_sample,
                                guint flags);

Disable a feature of `sfz_sample` .

#### Parameters

sfz_sample | the AgsSFZSample |
flags | see AgsSFZSampleFlags |

Since: 3.0.0

### ags_sfz_sample_get_group ()

    GObject *
    ags_sfz_sample_get_group (AgsSFZSample *sfz_sample);

Get the groups of `sfz_sample` .

#### Parameters

sfz_sample | the AgsSFZSample |

#### Returns

the AgsSFZGroup.

[transfer full]

Since: 3.17.0

### ags_sfz_sample_set_group ()

    void
    ags_sfz_sample_set_group (AgsSFZSample *sfz_sample,
                              GObject *group);

Set the group field of `sfz_sample`

#### Parameters

sfz_sample | the AgsSFZSample |
group | the AgsSFZGroup. | [transfer none]

Since: 3.17.0

### ags_sfz_sample_get_region ()

    GObject *
    ags_sfz_sample_get_region (AgsSFZSample *sfz_sample);

Get the regions of `sfz_sample` .

#### Parameters

sfz_sample | the AgsSFZSample |

#### Returns

the AgsSFZRegion.

[transfer full]

Since: 3.17.0

### ags_sfz_sample_set_region ()

    void
    ags_sfz_sample_set_region (AgsSFZSample *sfz_sample,
                               GObject *region);

Set the region field of `sfz_sample`

#### Parameters

sfz_sample | the AgsSFZSample |
region | the AgsSFZRegion. | [transfer none]

Since: 3.17.0

### ags_sfz_sample_get_key ()

    gint
    ags_sfz_sample_get_key (AgsSFZSample *sfz_sample);

Get key of `sfz_sample` .

#### Parameters

sfz_sample | the AgsSFZSample |

#### Returns

the key

Since: 3.7.3

### ags_sfz_sample_get_hikey ()

    gint
    ags_sfz_sample_get_hikey (AgsSFZSample *sfz_sample);

Get high key of `sfz_sample` .

#### Parameters

sfz_sample | the AgsSFZSample |

#### Returns

the key

Since: 3.7.3

### ags_sfz_sample_get_lokey ()

    gint
    ags_sfz_sample_get_lokey (AgsSFZSample *sfz_sample);

Get low key of `sfz_sample` .

#### Parameters

sfz_sample | the AgsSFZSample |

#### Returns

the key

Since: 3.7.3

### ags_sfz_sample_get_pitch_keycenter ()

    gint
    ags_sfz_sample_get_pitch_keycenter (AgsSFZSample *sfz_sample);

Get pitch key-center of `sfz_sample` .

#### Parameters

sfz_sample | the AgsSFZSample |

#### Returns

the key

Since: 3.7.3

### ags_sfz_sample_get_loop_mode ()

    guint
    ags_sfz_sample_get_loop_mode (AgsSFZSample *sfz_sample);

Get key of `sfz_sample` .

#### Parameters

sfz_sample | the AgsSFZSample |

#### Returns

the key

Since: 3.7.3

### ags_sfz_sample_get_loop_start ()

    guint
    ags_sfz_sample_get_loop_start (AgsSFZSample *sfz_sample);

Get key of `sfz_sample` .

#### Parameters

sfz_sample | the AgsSFZSample |

#### Returns

the key

Since: 3.7.3

### ags_sfz_sample_get_loop_end ()

    guint
    ags_sfz_sample_get_loop_end (AgsSFZSample *sfz_sample);

Get key of `sfz_sample` .

#### Parameters

sfz_sample | the AgsSFZSample |

#### Returns

the key

Since: 3.7.3

### ags_sfz_sample_new ()

    AgsSFZSample *
    ags_sfz_sample_new ();

Creates a new instance of AgsSFZSample.

#### Returns

the new AgsSFZSample.

Since: 3.0.0

## Types and Values

### enum AgsSFZSampleFlags

Enum values to control the behavior or indicate internal state of AgsSFZSample by enable/disable as flags.

#### Members

AGS_SFZ_SAMPLE_ADDED_TO_REGISTRY | the sfz sample was added to registry, see `AgsConnectable::`add_to_registry()`` |
AGS_SFZ_SAMPLE_CONNECTED | indicates the sfz sample was connected by calling `AgsConnectable::`connect()`` |

### enum AgsSFZSampleLoopMode

Enum values to control the behavior or indicate internal state of AgsSFZSample by enable/disable as flags.

#### Members

AGS_SFZ_SAMPLE_LOOP_ONE_SHOT | one shot |
AGS_SFZ_SAMPLE_LOOP_CONTINUOUS | loop continuous |
AGS_SFZ_SAMPLE_LOOP_SUSTAIN | loop sustain |

## Property Details

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

      “audio-channels”           guint

The audio channels to be used.

Owner: AgsSFZSample

Flags: Read / Write

Default value: 0

Since: 3.0.0

### The `“buffer-size”` property

      “buffer-size”              guint

The buffer size to be used.

Owner: AgsSFZSample

Flags: Read / Write

Default value: 0

Since: 3.0.0

### The `“filename”` property

      “filename”                 char *

The filename to be used.

Owner: AgsSFZSample

Flags: Read / Write

Default value: NULL

Since: 3.0.0

### The `“format”` property

      “format”                   guint

The format to be used.

Owner: AgsSFZSample

Flags: Read / Write

Default value: 0

Since: 3.0.0

### The `“group”` property

      “group”                    AgsSFZGroup *

The group assigned with.

Owner: AgsSFZSample

Flags: Read / Write

Since: 3.0.0

### The `“loop-end”` property

      “loop-end”                 guint

The loop end to be used.

Owner: AgsSFZSample

Flags: Read / Write

Default value: 0

Since: 3.0.0

### The `“loop-start”` property

      “loop-start”               guint

The loop start to be used.

Owner: AgsSFZSample

Flags: Read / Write

Default value: 0

Since: 3.0.0

### The `“region”` property

      “region”                   AgsSFZRegion *

The region assigned with.

Owner: AgsSFZSample

Flags: Read / Write

Since: 3.0.0