## AgsFxFMSynthAudio

AgsFxFMSynthAudio — fx FM synth audio

## Stability Level

Stable, unless otherwise indicated

## Functions

AgsFxFMSynthAudioScopeData * | ags_fx_fm_synth_audio_scope_data_alloc ()
void | ags_fx_fm_synth_audio_scope_data_free ()
AgsFxFMSynthAudioChannelData * | ags_fx_fm_synth_audio_channel_data_alloc ()
void | ags_fx_fm_synth_audio_channel_data_free ()
AgsFxFMSynthAudioInputData * | ags_fx_fm_synth_audio_input_data_alloc ()
void | ags_fx_fm_synth_audio_input_data_free ()
AgsFxFMSynthAudio * | ags_fx_fm_synth_audio_new ()

## Properties

AgsPort * | chorus-delay | Read / Write
AgsPort * | chorus-depth | Read / Write
AgsPort * | chorus-enabled | Read / Write
AgsPort * | chorus-input-volume | Read / Write
AgsPort * | chorus-lfo-frequency | Read / Write
AgsPort * | chorus-lfo-oscillator | Read / Write
AgsPort * | chorus-mix | Read / Write
AgsPort * | chorus-output-volume | Read / Write
AgsPort * | chorus-pitch-type | Read / Write
AgsPort * | high-pass-enabled | Read / Write
AgsPort * | high-pass-filter-gain | Read / Write
AgsPort * | high-pass-q-lin | Read / Write
AgsPort * | low-pass-enabled | Read / Write
AgsPort * | low-pass-filter-gain | Read / Write
AgsPort * | low-pass-q-lin | Read / Write
AgsPort * | noise-gain | Read / Write
AgsPort * | pitch-tuning | Read / Write
AgsPort * | pitch-type | Read / Write
AgsPort * | sequencer-enabled | Read / Write
AgsPort * | sequencer-sign | Read / Write
AgsPort * | synth-0-key | Read / Write
AgsPort * | synth-0-lfo-depth | Read / Write
AgsPort * | synth-0-lfo-frequency | Read / Write
AgsPort * | synth-0-lfo-oscillator | Read / Write
AgsPort * | synth-0-lfo-tuning | Read / Write
AgsPort * | synth-0-octave | Read / Write
AgsPort * | synth-0-oscillator | Read / Write
AgsPort * | synth-0-phase | Read / Write
AgsPort * | synth-0-volume | Read / Write
AgsPort * | synth-1-key | Read / Write
AgsPort * | synth-1-lfo-depth | Read / Write
AgsPort * | synth-1-lfo-frequency | Read / Write
AgsPort * | synth-1-lfo-oscillator | Read / Write
AgsPort * | synth-1-lfo-tuning | Read / Write
AgsPort * | synth-1-octave | Read / Write
AgsPort * | synth-1-oscillator | Read / Write
AgsPort * | synth-1-phase | Read / Write
AgsPort * | synth-1-volume | Read / Write
AgsPort * | synth-2-key | Read / Write
AgsPort * | synth-2-lfo-depth | Read / Write
AgsPort * | synth-2-lfo-frequency | Read / Write
AgsPort * | synth-2-lfo-oscillator | Read / Write
AgsPort * | synth-2-lfo-tuning | Read / Write
AgsPort * | synth-2-octave | Read / Write
AgsPort * | synth-2-oscillator | Read / Write
AgsPort * | synth-2-phase | Read / Write
AgsPort * | synth-2-volume | Read / Write

## Types and Values

#define | AGS_FX_FM_SYNTH_AUDIO_DEFAULT_BUFFER_SIZE
struct | AgsFxFMSynthAudioScopeData
struct | AgsFxFMSynthAudioChannelData
struct | AgsFxFMSynthAudioInputData

## Object Hierarchy

        GObject
        ╰── AgsRecall
            ╰── AgsRecallAudio
                ╰── AgsFxNotationAudio
                    ╰── AgsFxFMSynthAudio

## Includes

    #include <ags/audio/fx/ags_fx_fm_synth_audio.h>

## Description

The AgsFxFMSynthAudio class provides ports to the effect processor.

## Functions

### ags_fx_fm_synth_audio_scope_data_alloc ()

    AgsFxFMSynthAudioScopeData *
    ags_fx_fm_synth_audio_scope_data_alloc
                                   ();

Allocate AgsFxFMSynthAudioScopeData

#### Returns

the new AgsFxFMSynthAudioScopeData

Since: 3.14.0

### ags_fx_fm_synth_audio_scope_data_free ()

    void
    ags_fx_fm_synth_audio_scope_data_free (AgsFxFMSynthAudioScopeData *scope_data);

Free `scope_data` .

#### Parameters

scope_data | the AgsFxFMSynthAudioScopeData |

Since: 3.14.0

### ags_fx_fm_synth_audio_channel_data_alloc ()

    AgsFxFMSynthAudioChannelData *
    ags_fx_fm_synth_audio_channel_data_alloc
                                   ();

Allocate AgsFxFMSynthAudioChannelData

#### Returns

the new AgsFxFMSynthAudioChannelData

Since: 3.14.0

### ags_fx_fm_synth_audio_channel_data_free ()

    void
    ags_fx_fm_synth_audio_channel_data_free
                                   (AgsFxFMSynthAudioChannelData *channel_data);

Free `channel_data` .

#### Parameters

channel_data | the AgsFxFMSynthAudioChannelData |

Since: 3.14.0

### ags_fx_fm_synth_audio_input_data_alloc ()

    AgsFxFMSynthAudioInputData *
    ags_fx_fm_synth_audio_input_data_alloc
                                   ();

Allocate AgsFxFMSynthAudioInputData

#### Returns

the new AgsFxFMSynthAudioInputData

Since: 3.14.0

### ags_fx_fm_synth_audio_input_data_free ()

    void
    ags_fx_fm_synth_audio_input_data_free (AgsFxFMSynthAudioInputData *input_data);

Free `input_data` .

#### Parameters

input_data | the AgsFxFMSynthAudioInputData |

Since: 3.14.0

### ags_fx_fm_synth_audio_new ()

    AgsFxFMSynthAudio *
    ags_fx_fm_synth_audio_new (AgsAudio *audio);

Create a new instance of AgsFxFMSynthAudio

#### Parameters

audio | the AgsAudio |

#### Returns

the new AgsFxFMSynthAudio

Since: 3.14.0

## Types and Values

### AGS_FX_FM_SYNTH_AUDIO_DEFAULT_BUFFER_SIZE

    #define AGS_FX_FM_SYNTH_AUDIO_DEFAULT_BUFFER_SIZE (65536)

### struct AgsFxFMSynthAudioScopeData

    struct AgsFxFMSynthAudioScopeData {
      GRecMutex strct_mutex;

      gpointer parent;

      guint audio_channels;

      AgsFxFMSynthAudioChannelData **channel_data;
    };

### struct AgsFxFMSynthAudioChannelData

    struct AgsFxFMSynthAudioChannelData {
      GRecMutex strct_mutex;

      gpointer parent;

      AgsFMSynthUtil *synth_0;
      AgsFMSynthUtil *synth_1;
      AgsFMSynthUtil *synth_2;

      AgsNoiseUtil *noise_util;

      GType pitch_type;
      gpointer pitch_util;

      AgsChorusUtil *chorus_util;

      AgsFluidIIRFilterUtil *low_pass_filter;
      AgsFluidIIRFilterUtil *high_pass_filter;

      AgsFxFMSynthAudioInputData* input_data[AGS_SEQUENCER_MAX_MIDI_KEYS];
    };

### struct AgsFxFMSynthAudioInputData

    struct AgsFxFMSynthAudioInputData {
      GRecMutex strct_mutex;

      gpointer parent;

      guint key_on;
    };

## Property Details

### The `“chorus-delay”` property

      “chorus-delay”             AgsPort *

The chorus delay.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“chorus-depth”` property

      “chorus-depth”             AgsPort *

The chorus depth.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“chorus-enabled”` property

      “chorus-enabled”           AgsPort *

The chorus enabled.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“chorus-input-volume”` property

      “chorus-input-volume”      AgsPort *

The chorus input volume.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“chorus-lfo-frequency”` property

      “chorus-lfo-frequency”     AgsPort *

The chorus lfo frequency.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“chorus-lfo-oscillator”` property

      “chorus-lfo-oscillator”    AgsPort *

The chorus lfo oscillator.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“chorus-mix”` property

      “chorus-mix”               AgsPort *

The chorus mix.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“chorus-output-volume”` property

      “chorus-output-volume”     AgsPort *

The chorus output volume.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

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

      “chorus-pitch-type”        AgsPort *

The chorus pitch type.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 4.0.0

### The `“high-pass-enabled”` property

      “high-pass-enabled”        AgsPort *

The high pass enabled.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“high-pass-filter-gain”` property

      “high-pass-filter-gain”    AgsPort *

The high pass filter gain.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“high-pass-q-lin”` property

      “high-pass-q-lin”          AgsPort *

The high pass q-lin.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“low-pass-enabled”` property

      “low-pass-enabled”         AgsPort *

The low pass enabled.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“low-pass-filter-gain”` property

      “low-pass-filter-gain”     AgsPort *

The low pass filter gain.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“low-pass-q-lin”` property

      “low-pass-q-lin”           AgsPort *

The low pass q-lin.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“noise-gain”` property

      “noise-gain”               AgsPort *

The noise gain.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

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

      “pitch-tuning”             AgsPort *

The pitch tuning.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

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

      “pitch-type”               AgsPort *

The pitch type.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 4.0.0

### The `“sequencer-enabled”` property

      “sequencer-enabled”        AgsPort *

The sequencer enabled.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“sequencer-sign”` property

      “sequencer-sign”           AgsPort *

The sequencer sign.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“synth-0-key”` property

      “synth-0-key”              AgsPort *

The synth-0 key.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“synth-0-lfo-depth”` property

      “synth-0-lfo-depth”        AgsPort *

The synth-0 LFO depth.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“synth-0-lfo-frequency”` property

      “synth-0-lfo-frequency”    AgsPort *

The synth-0 LFO frequency.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“synth-0-lfo-oscillator”` property

      “synth-0-lfo-oscillator”   AgsPort *

The synth-0 lfo-oscillator.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“synth-0-lfo-tuning”` property

      “synth-0-lfo-tuning”       AgsPort *

The synth-0 LFO tuning.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“synth-0-octave”` property

      “synth-0-octave”           AgsPort *

The synth-0 octave.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“synth-0-oscillator”` property

      “synth-0-oscillator”       AgsPort *

The synth-0 oscillator.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“synth-0-phase”` property

      “synth-0-phase”            AgsPort *

The synth-0 phase.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“synth-0-volume”` property

      “synth-0-volume”           AgsPort *

The synth-0 volume.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“synth-1-key”` property

      “synth-1-key”              AgsPort *

The synth-1 key.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“synth-1-lfo-depth”` property

      “synth-1-lfo-depth”        AgsPort *

The synth-1 LFO depth.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“synth-1-lfo-frequency”` property

      “synth-1-lfo-frequency”    AgsPort *

The synth-1 LFO frequency.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“synth-1-lfo-oscillator”` property

      “synth-1-lfo-oscillator”   AgsPort *

The synth-1 lfo-oscillator.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“synth-1-lfo-tuning”` property

      “synth-1-lfo-tuning”       AgsPort *

The synth-1 LFO tuning.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“synth-1-octave”` property

      “synth-1-octave”           AgsPort *

The synth-1 octave.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“synth-1-oscillator”` property

      “synth-1-oscillator”       AgsPort *

The synth-1 oscillator.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“synth-1-phase”` property

      “synth-1-phase”            AgsPort *

The synth-1 phase.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“synth-1-volume”` property

      “synth-1-volume”           AgsPort *

The synth-1 volume.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“synth-2-key”` property

      “synth-2-key”              AgsPort *

The synth-2 key.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“synth-2-lfo-depth”` property

      “synth-2-lfo-depth”        AgsPort *

The synth-2 LFO depth.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“synth-2-lfo-frequency”` property

      “synth-2-lfo-frequency”    AgsPort *

The synth-2 LFO frequency.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“synth-2-lfo-oscillator”` property

      “synth-2-lfo-oscillator”   AgsPort *

The synth-2 lfo-oscillator.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“synth-2-lfo-tuning”` property

      “synth-2-lfo-tuning”       AgsPort *

The synth-2 LFO tuning.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“synth-2-octave”` property

      “synth-2-octave”           AgsPort *

The synth-2 octave.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“synth-2-oscillator”` property

      “synth-2-oscillator”       AgsPort *

The synth-2 oscillator.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“synth-2-phase”` property

      “synth-2-phase”            AgsPort *

The synth-2 phase.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0

### The `“synth-2-volume”` property

      “synth-2-volume”           AgsPort *

The synth-2 volume.

Owner: AgsFxFMSynthAudio

Flags: Read / Write

Since: 3.15.0