## AgsSFZSynthGenerator

AgsSFZSynthGenerator — generate wave-form

## Stability Level

Stable, unless otherwise indicated

## Functions

#define | AGS_SFZ_SYNTH_GENERATOR_GET_OBJ_MUTEX()
GRecMutex * | ags_sfz_synth_generator_get_obj_mutex ()
gchar * | ags_sfz_synth_generator_get_filename ()
void | ags_sfz_synth_generator_set_filename ()
guint | ags_sfz_synth_generator_get_samplerate ()
void | ags_sfz_synth_generator_set_samplerate ()
guint | ags_sfz_synth_generator_get_buffer_size ()
void | ags_sfz_synth_generator_set_buffer_size ()
AgsSoundcardFormat | ags_sfz_synth_generator_get_format ()
void | ags_sfz_synth_generator_set_format ()
gchar * | ags_sfz_synth_generator_get_pitch_type ()
void | ags_sfz_synth_generator_set_pitch_type ()
gdouble | ags_sfz_synth_generator_get_delay ()
void | ags_sfz_synth_generator_set_delay ()
guint | ags_sfz_synth_generator_get_frame_count ()
void | ags_sfz_synth_generator_set_frame_count ()
guint | ags_sfz_synth_generator_get_loop_start ()
void | ags_sfz_synth_generator_set_loop_start ()
guint | ags_sfz_synth_generator_get_loop_end ()
void | ags_sfz_synth_generator_set_loop_end ()
gdouble | ags_sfz_synth_generator_get_base_key ()
void | ags_sfz_synth_generator_set_base_key ()
gdouble | ags_sfz_synth_generator_get_tuning ()
void | ags_sfz_synth_generator_set_tuning ()
AgsTimestamp * | ags_sfz_synth_generator_get_timestamp ()
void | ags_sfz_synth_generator_set_timestamp ()
void | ags_sfz_synth_generator_compute ()
AgsSFZSynthGenerator * | ags_sfz_synth_generator_new ()

## Properties

guint | attack | Read / Write
double | base-key | Read / Write
guint | buffer-size | Read / Write
double | delay | Read / Write
char * | filename | Read / Write
guint | format | Read / Write
guint | frame-count | Read / Write
guint | loop-end | Read / Write
guint | loop-start | Read / Write
char * | pitch-type | Read / Write
guint | samplerate | Read / Write
double | tuning | Read / Write
double | volume | Read / Write

## Types and Values

#define | AGS_SFZ_SYNTH_GENERATOR_DEFAULT_SAMPLERATE
#define | AGS_SFZ_SYNTH_GENERATOR_DEFAULT_BUFFER_SIZE
#define | AGS_SFZ_SYNTH_GENERATOR_DEFAULT_FORMAT
#define | AGS_SFZ_SYNTH_GENERATOR_DEFAULT_VOLUME
#define | AGS_SFZ_SYNTH_GENERATOR_DEFAULT_PITCH_TYPE
#define | AGS_SFZ_SYNTH_GENERATOR_DEFAULT_BASE_KEY
#define | AGS_SFZ_SYNTH_GENERATOR_DEFAULT_TUNING

## Object Hierarchy

        GObject
        ╰── AgsFunction
            ╰── AgsSFZSynthGenerator

## Includes

    #include <ags/audio/ags_sfz_synth_generator.h>

## Description

The AgsSFZSynthGenerator generates wave-forms with oscillators.

## Functions

### AGS_SFZ_SYNTH_GENERATOR_GET_OBJ_MUTEX()

    #define AGS_SFZ_SYNTH_GENERATOR_GET_OBJ_MUTEX(obj) (&(((AgsSFZSynthGenerator *) obj)->obj_mutex))

### ags_sfz_synth_generator_get_obj_mutex ()

    GRecMutex *
    ags_sfz_synth_generator_get_obj_mutex (AgsSFZSynthGenerator *sfz_synth_generator);

Get object mutex.

#### Parameters

sfz_synth_generator | the AgsSFZSynthGenerator |

#### Returns

the GRecMutex to lock `sfz_synth_generator`

Since: 3.4.0

### ags_sfz_synth_generator_get_filename ()

    gchar *
    ags_sfz_synth_generator_get_filename (AgsSFZSynthGenerator *sfz_synth_generator);

Gets filename.

#### Parameters

sfz_synth_generator | the AgsSFZSynthGenerator |

#### Returns

the filename

Since: 3.4.0

### ags_sfz_synth_generator_set_filename ()

    void
    ags_sfz_synth_generator_set_filename (AgsSFZSynthGenerator *sfz_synth_generator,
                                          gchar *filename);

Set filename.

#### Parameters

sfz_synth_generator | the AgsSFZSynthGenerator |
filename | the filename |

Since: 3.4.0

### ags_sfz_synth_generator_get_samplerate ()

    guint
    ags_sfz_synth_generator_get_samplerate
                                   (AgsSFZSynthGenerator *sfz_synth_generator);

Gets samplerate.

#### Parameters

sfz_synth_generator | the AgsSFZSynthGenerator |

#### Returns

the samplerate

Since: 3.4.0

### ags_sfz_synth_generator_set_samplerate ()

    void
    ags_sfz_synth_generator_set_samplerate
                                   (AgsSFZSynthGenerator *sfz_synth_generator,
                                    guint samplerate);

Set samplerate.

#### Parameters

sfz_synth_generator | the AgsSFZSynthGenerator |
samplerate | the samplerate |

Since: 3.4.0

### ags_sfz_synth_generator_get_buffer_size ()

    guint
    ags_sfz_synth_generator_get_buffer_size
                                   (AgsSFZSynthGenerator *sfz_synth_generator);

Gets buffer size.

#### Parameters

sfz_synth_generator | the AgsSFZSynthGenerator |

#### Returns

the buffer size

Since: 3.4.0

### ags_sfz_synth_generator_set_buffer_size ()

    void
    ags_sfz_synth_generator_set_buffer_size
                                   (AgsSFZSynthGenerator *sfz_synth_generator,
                                    guint buffer_size);

Set buffer size.

#### Parameters

sfz_synth_generator | the AgsSFZSynthGenerator |
buffer_size | the buffer size |

Since: 3.4.0

### ags_sfz_synth_generator_get_format ()

    AgsSoundcardFormat
    ags_sfz_synth_generator_get_format (AgsSFZSynthGenerator *sfz_synth_generator);

Gets format.

#### Parameters

sfz_synth_generator | the AgsSFZSynthGenerator |

#### Returns

the format

Since: 3.4.0

### ags_sfz_synth_generator_set_format ()

    void
    ags_sfz_synth_generator_set_format (AgsSFZSynthGenerator *sfz_synth_generator,
                                        AgsSoundcardFormat format);

Set format.

#### Parameters

sfz_synth_generator | the AgsSFZSynthGenerator |
format | the format |

Since: 3.4.0

### ags_sfz_synth_generator_get_pitch_type ()

    gchar *
    ags_sfz_synth_generator_get_pitch_type
                                   (AgsSFZSynthGenerator *sfz_synth_generator);

Gets pitch type.

#### Parameters

sfz_synth_generator | the AgsSFZSynthGenerator |

#### Returns

the pitch type

Since: 3.9.0

### ags_sfz_synth_generator_set_pitch_type ()

    void
    ags_sfz_synth_generator_set_pitch_type
                                   (AgsSFZSynthGenerator *sfz_synth_generator,
                                    gchar *pitch_type);

Set pitch type.

#### Parameters

sfz_synth_generator | the AgsSFZSynthGenerator |
pitch_type | the pitch type |

Since: 3.9.0

### ags_sfz_synth_generator_get_delay ()

    gdouble
    ags_sfz_synth_generator_get_delay (AgsSFZSynthGenerator *sfz_synth_generator);

Gets delay.

#### Parameters

sfz_synth_generator | the AgsSFZSynthGenerator |

#### Returns

the delay

Since: 3.4.0

### ags_sfz_synth_generator_set_delay ()

    void
    ags_sfz_synth_generator_set_delay (AgsSFZSynthGenerator *sfz_synth_generator,
                                       gdouble delay);

Sets delay.

#### Parameters

sfz_synth_generator | the AgsSFZSynthGenerator |
delay | the delay |

Since: 3.4.0

### ags_sfz_synth_generator_get_frame_count ()

    guint
    ags_sfz_synth_generator_get_frame_count
                                   (AgsSFZSynthGenerator *sfz_synth_generator);

Gets frame count.

#### Parameters

sfz_synth_generator | the AgsSFZSynthGenerator |

#### Returns

the frame count

Since: 3.4.0

### ags_sfz_synth_generator_set_frame_count ()

    void
    ags_sfz_synth_generator_set_frame_count
                                   (AgsSFZSynthGenerator *sfz_synth_generator,
                                    guint frame_count);

Sets frame count.

#### Parameters

sfz_synth_generator | the AgsSFZSynthGenerator |
frame_count | the frame count |

Since: 3.4.0

### ags_sfz_synth_generator_get_loop_start ()

    guint
    ags_sfz_synth_generator_get_loop_start
                                   (AgsSFZSynthGenerator *sfz_synth_generator);

Gets loop start.

#### Parameters

sfz_synth_generator | the AgsSFZSynthGenerator |

#### Returns

the loop start

Since: 3.4.0

### ags_sfz_synth_generator_set_loop_start ()

    void
    ags_sfz_synth_generator_set_loop_start
                                   (AgsSFZSynthGenerator *sfz_synth_generator,
                                    guint loop_start);

Sets loop start.

#### Parameters

sfz_synth_generator | the AgsSFZSynthGenerator |
loop_start | the loop start |

Since: 3.4.0

### ags_sfz_synth_generator_get_loop_end ()

    guint
    ags_sfz_synth_generator_get_loop_end (AgsSFZSynthGenerator *sfz_synth_generator);

Gets loop end.

#### Parameters

sfz_synth_generator | the AgsSFZSynthGenerator |

#### Returns

the loop end

Since: 3.4.0

### ags_sfz_synth_generator_set_loop_end ()

    void
    ags_sfz_synth_generator_set_loop_end (AgsSFZSynthGenerator *sfz_synth_generator,
                                          guint loop_end);

Sets loop end.

#### Parameters

sfz_synth_generator | the AgsSFZSynthGenerator |
loop_end | the loop end |

Since: 3.4.0

### ags_sfz_synth_generator_get_base_key ()

    gdouble
    ags_sfz_synth_generator_get_base_key (AgsSFZSynthGenerator *sfz_synth_generator);

Gets base key.

#### Parameters

sfz_synth_generator | the AgsSFZSynthGenerator |

#### Returns

the base key

Since: 3.4.0

### ags_sfz_synth_generator_set_base_key ()

    void
    ags_sfz_synth_generator_set_base_key (AgsSFZSynthGenerator *sfz_synth_generator,
                                          gdouble base_key);

Sets base key.

#### Parameters

sfz_synth_generator | the AgsSFZSynthGenerator |
base_key | the base key |

Since: 3.4.0

### ags_sfz_synth_generator_get_tuning ()

    gdouble
    ags_sfz_synth_generator_get_tuning (AgsSFZSynthGenerator *sfz_synth_generator);

Gets tuning.

#### Parameters

sfz_synth_generator | the AgsSFZSynthGenerator |

#### Returns

the tuning

Since: 3.4.0

### ags_sfz_synth_generator_set_tuning ()

    void
    ags_sfz_synth_generator_set_tuning (AgsSFZSynthGenerator *sfz_synth_generator,
                                        gdouble tuning);

Sets tuning.

#### Parameters

sfz_synth_generator | the AgsSFZSynthGenerator |
tuning | the tuning |

Since: 3.4.0

### ags_sfz_synth_generator_get_timestamp ()

    AgsTimestamp *
    ags_sfz_synth_generator_get_timestamp (AgsSFZSynthGenerator *sfz_synth_generator);

Get timestamp.

#### Parameters

sfz_synth_generator | the AgsSFZSynthGenerator |

#### Returns

the AgsTimestamp.

[transfer full]

Since: 3.4.0

### ags_sfz_synth_generator_set_timestamp ()

    void
    ags_sfz_synth_generator_set_timestamp (AgsSFZSynthGenerator *sfz_synth_generator,
                                           AgsTimestamp *timestamp);

Set timestamp.

#### Parameters

sfz_synth_generator | the AgsSFZSynthGenerator |
timestamp | the AgsTimestamp |

Since: 3.4.0

### ags_sfz_synth_generator_compute ()

    void
    ags_sfz_synth_generator_compute (AgsSFZSynthGenerator *sfz_synth_generator,
                                     GObject *audio_signal,
                                     gdouble note);

Compute instrument for `note` .

#### Parameters

sfz_synth_generator | the AgsSFZSynthGenerator |
audio_signal | the AgsAudioSignal |
note | the note to compute |

Since: 3.4.0

### ags_sfz_synth_generator_new ()

    AgsSFZSynthGenerator *
    ags_sfz_synth_generator_new ();

Creates an AgsSFZSynthGenerator

#### Returns

a new AgsSFZSynthGenerator

Since: 3.4.0

## Types and Values

### AGS_SFZ_SYNTH_GENERATOR_DEFAULT_SAMPLERATE

    #define AGS_SFZ_SYNTH_GENERATOR_DEFAULT_SAMPLERATE ((guint) AGS_SOUNDCARD_DEFAULT_SAMPLERATE)

### AGS_SFZ_SYNTH_GENERATOR_DEFAULT_BUFFER_SIZE

    #define AGS_SFZ_SYNTH_GENERATOR_DEFAULT_BUFFER_SIZE (AGS_SOUNDCARD_DEFAULT_BUFFER_SIZE)

### AGS_SFZ_SYNTH_GENERATOR_DEFAULT_FORMAT

    #define AGS_SFZ_SYNTH_GENERATOR_DEFAULT_FORMAT (AGS_SOUNDCARD_DEFAULT_FORMAT)

### AGS_SFZ_SYNTH_GENERATOR_DEFAULT_VOLUME

    #define AGS_SFZ_SYNTH_GENERATOR_DEFAULT_VOLUME (1.0)

### AGS_SFZ_SYNTH_GENERATOR_DEFAULT_PITCH_TYPE

    #define AGS_SFZ_SYNTH_GENERATOR_DEFAULT_PITCH_TYPE "ags-fluid-4th-order"

### AGS_SFZ_SYNTH_GENERATOR_DEFAULT_BASE_KEY

    #define AGS_SFZ_SYNTH_GENERATOR_DEFAULT_BASE_KEY (-48.0)

### AGS_SFZ_SYNTH_GENERATOR_DEFAULT_TUNING

    #define AGS_SFZ_SYNTH_GENERATOR_DEFAULT_TUNING (0.0)

## Property Details

### The `“attack”` property

      “attack”                   guint

The attack to be used.

Owner: AgsSFZSynthGenerator

Flags: Read / Write

Default value: 0

Since: 3.4.11

### The `“base-key”` property

      “base-key”                 double

The base key to be used.

Owner: AgsSFZSynthGenerator

Flags: Read / Write

Allowed values: [-65535,65535]

Default value: -48

Since: 3.4.0

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

      “buffer-size”              guint

The buffer size to be used.

Owner: AgsSFZSynthGenerator

Flags: Read / Write

Default value: 2048

Since: 3.4.0

### The `“delay”` property

      “delay”                    double

The delay to be used.

Owner: AgsSFZSynthGenerator

Flags: Read / Write

Allowed values: [0,65535]

Default value: 0

Since: 3.4.11

### The `“filename”` property

      “filename”                 char *

The assigned filename.

Owner: AgsSFZSynthGenerator

Flags: Read / Write

Default value: NULL

Since: 3.4.0

### The `“format”` property

      “format”                   guint

The format to be used.

Owner: AgsSFZSynthGenerator

Flags: Read / Write

Default value: 16

Since: 3.4.0

### The `“frame-count”` property

      “frame-count”              guint

The frame count to be used.

Owner: AgsSFZSynthGenerator

Flags: Read / Write

Default value: 0

Since: 3.4.0

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

      “loop-end”                 guint

The loop end to be used.

Owner: AgsSFZSynthGenerator

Flags: Read / Write

Default value: 0

Since: 3.4.0

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

      “loop-start”               guint

The loop start to be used.

Owner: AgsSFZSynthGenerator

Flags: Read / Write

Default value: 0

Since: 3.4.0

### The `“pitch-type”` property

      “pitch-type”               char *

The pitch type to be used.

Owner: AgsSFZSynthGenerator

Flags: Read / Write

Default value: "ags-fluid-4th-order"

Since: 3.9.0

### The `“samplerate”` property

      “samplerate”               guint

The samplerate to be used.

Owner: AgsSFZSynthGenerator

Flags: Read / Write

Default value: 44100

Since: 3.4.0

### The `“tuning”` property

      “tuning”                   double

The tuning to be used.

Owner: AgsSFZSynthGenerator

Flags: Read / Write

Allowed values: [0,1200]

Default value: 0

Since: 3.4.0

### The `“volume”` property

      “volume”                   double

The volume to be used.

Owner: AgsSFZSynthGenerator

Flags: Read / Write

Allowed values: [0,2]

Default value: 1

Since: 3.4.11