## AgsFxAnalyseChannel

AgsFxAnalyseChannel — fx analyse channel

## Stability Level

Stable, unless otherwise indicated

## Functions

#define | AGS_FX_ANALYSE_CHANNEL_INPUT_DATA()
#define | AGS_FX_ANALYSE_CHANNEL_INPUT_DATA_GET_STRCT_MUTEX()
AgsFxAnalyseChannelInputData * | ags_fx_analyse_channel_input_data_alloc ()
void | ags_fx_analyse_channel_input_data_free ()
GRecMutex * | ags_fx_analyse_channel_input_data_get_strct_mutex ()
gpointer | ags_fx_analyse_channel_input_get_parent ()
gpointer | ags_fx_analyse_channel_input_get_in ()
gpointer | ags_fx_analyse_channel_input_get_out ()
AgsFxAnalyseChannelInputData * | ags_fx_analyse_channel_get_input_data ()
AgsFxAnalyseChannel * | ags_fx_analyse_channel_new ()

## Properties

AgsPort * | frequency | Read / Write
AgsPort * | magnitude | Read / Write

## Types and Values

struct | AgsFxAnalyseChannelInputData

## Object Hierarchy

        GObject
        ╰── AgsRecall
            ╰── AgsRecallChannel
                ╰── AgsFxAnalyseChannel

## Includes

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

## Description

The AgsFxAnalyseChannel class provides ports to the effect processor.

## Functions

### AGS_FX_ANALYSE_CHANNEL_INPUT_DATA()

    #define AGS_FX_ANALYSE_CHANNEL_INPUT_DATA(ptr) ((AgsFxAnalyseChannelInputData *)(ptr))

### AGS_FX_ANALYSE_CHANNEL_INPUT_DATA_GET_STRCT_MUTEX()

    #define AGS_FX_ANALYSE_CHANNEL_INPUT_DATA_GET_STRCT_MUTEX(ptr) (&(((AgsFxAnalyseChannelInputData *)(ptr))->strct_mutex))

### ags_fx_analyse_channel_input_data_alloc ()

    AgsFxAnalyseChannelInputData *
    ags_fx_analyse_channel_input_data_alloc
                                   ();

Allocate AgsFxAnalyseChannelInputData

#### Returns

the new AgsFxAnalyseChannelInputData.

[type gpointer][transfer full]

Since: 3.3.0

### ags_fx_analyse_channel_input_data_free ()

    void
    ags_fx_analyse_channel_input_data_free
                                   (AgsFxAnalyseChannelInputData *input_data);

Free `input_data` .

#### Parameters

input_data | the AgsFxAnalyseChannelInputData. | [type gpointer][transfer full]

Since: 3.3.0

### ags_fx_analyse_channel_input_data_get_strct_mutex ()

    GRecMutex *
    ags_fx_analyse_channel_input_data_get_strct_mutex
                                   (AgsFxAnalyseChannelInputData *input_data);

Get structure mutex.

#### Parameters

input_data | the AgsFxAnalyseChannelInputData. | [type gpointer][transfer none]

#### Returns

the GRecMutex to lock `input_data` .

[type gpointer][transfer none]

Since: 3.3.0

### ags_fx_analyse_channel_input_get_parent ()

    gpointer
    ags_fx_analyse_channel_input_get_parent
                                   (AgsFxAnalyseChannelInputData *input_data);

Get parent of `input_data` .

#### Parameters

input_data | the AgsFxAnalyseChannelInputData. | [type gpointer][transfer none]

#### Returns

the parent.

[type gpointer][transfer none]

Since: 3.3.0

### ags_fx_analyse_channel_input_get_in ()

    gpointer
    ags_fx_analyse_channel_input_get_in (AgsFxAnalyseChannelInputData *input_data);

Get input of `input_data` .

#### Parameters

input_data | the AgsFxAnalyseChannelInputData. | [type gpointer][transfer none]

#### Returns

the input.

[type gpointer][transfer none]

Since: 3.3.0

### ags_fx_analyse_channel_input_get_out ()

    gpointer
    ags_fx_analyse_channel_input_get_out (AgsFxAnalyseChannelInputData *input_data);

Get output of `input_data` .

#### Parameters

input_data | the AgsFxAnalyseChannelInputData. | [type gpointer][transfer none]

#### Returns

the output.

[type gpointer][transfer none]

Since: 3.3.0

### ags_fx_analyse_channel_get_input_data ()

    AgsFxAnalyseChannelInputData *
    ags_fx_analyse_channel_get_input_data (AgsFxAnalyseChannel *fx_analyse_channel,
                                           gint sound_scope);

Get input data from `fx_analyse_channel` by `sound_scope` .

#### Parameters

fx_analyse_channel | the AgsFxAnalyseChannel |
sound_scope | the sound scope |

#### Returns

the matching AgsFxAnalyseChannelInputData.

[type gpointer][transfer none]

Since: 3.3.0

### ags_fx_analyse_channel_new ()

    AgsFxAnalyseChannel *
    ags_fx_analyse_channel_new (AgsChannel *channel);

Create a new instance of AgsFxAnalyseChannel

#### Parameters

channel | the AgsChannel |

#### Returns

the new AgsFxAnalyseChannel

Since: 3.3.0

## Types and Values

### struct AgsFxAnalyseChannelInputData

    struct AgsFxAnalyseChannelInputData {
      GRecMutex strct_mutex;

      gpointer parent;

      fftw_plan plan;
      fftw_complex *comout;

      double *in;
      double *out;
    };

## Property Details

### The `“frequency”` property

      “frequency”                AgsPort *

The beats per minute.

Owner: AgsFxAnalyseChannel

Flags: Read / Write

Since: 3.3.0

### The `“magnitude”` property

      “magnitude”                AgsPort *

The beats per minute.

Owner: AgsFxAnalyseChannel

Flags: Read / Write

Since: 3.3.0