## AgsFxTwoPassAliaseChannel

AgsFxTwoPassAliaseChannel — fx two pass aliase channel

## Stability Level

Stable, unless otherwise indicated

## Functions

#define | AGS_FX_TWO_PASS_ALIASE_CHANNEL_INPUT_DATA()
#define | AGS_FX_TWO_PASS_ALIASE_CHANNEL_INPUT_DATA_GET_STRCT_MUTEX()
AgsFxTwoPassAliaseChannelInputData * | ags_fx_two_pass_aliase_channel_input_data_alloc ()
void | ags_fx_two_pass_aliase_channel_input_data_free ()
GRecMutex * | ags_fx_two_pass_aliase_channel_input_data_get_strct_mutex ()
gpointer | ags_fx_two_pass_aliase_channel_input_get_parent ()
gpointer | ags_fx_two_pass_aliase_channel_input_get_orig_buffer ()
gpointer | ags_fx_two_pass_aliase_channel_input_get_a_buffer ()
gpointer | ags_fx_two_pass_aliase_channel_input_get_b_buffer ()
gpointer | ags_fx_two_pass_aliase_channel_input_get_a_mix ()
gpointer | ags_fx_two_pass_aliase_channel_input_get_b_mix ()
gpointer | ags_fx_two_pass_aliase_channel_input_get_final_mix ()
AgsFxTwoPassAliaseChannel * | ags_fx_two_pass_aliase_channel_new ()

## Properties

AgsPort * | a-amount | Read / Write
AgsPort * | a-phase | Read / Write
AgsPort * | b-amount | Read / Write
AgsPort * | b-phase | Read / Write
AgsPort * | enabled | Read / Write

## Types and Values

struct | AgsFxTwoPassAliaseChannelInputData

## Object Hierarchy

        GObject
        ╰── AgsRecall
            ╰── AgsRecallChannel
                ╰── AgsFxTwoPassAliaseChannel

## Includes

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

## Description

The AgsFxTwoPassAliaseChannel class provides ports to the effect processor.

## Functions

### AGS_FX_TWO_PASS_ALIASE_CHANNEL_INPUT_DATA()

    #define AGS_FX_TWO_PASS_ALIASE_CHANNEL_INPUT_DATA(ptr) ((AgsFxTwoPassAliaseChannelInputData *)(ptr))

### AGS_FX_TWO_PASS_ALIASE_CHANNEL_INPUT_DATA_GET_STRCT_MUTEX()

    #define AGS_FX_TWO_PASS_ALIASE_CHANNEL_INPUT_DATA_GET_STRCT_MUTEX(ptr) (&(((AgsFxTwoPassAliaseChannelInputData *)(ptr))->strct_mutex))

### ags_fx_two_pass_aliase_channel_input_data_alloc ()

    AgsFxTwoPassAliaseChannelInputData *
    ags_fx_two_pass_aliase_channel_input_data_alloc
                                   ();

Allocate AgsFxTwoPassAliaseChannelInputData

#### Returns

the new AgsFxTwoPassAliaseChannelInputData.

[type gpointer][transfer full]

Since: 3.8.0

### ags_fx_two_pass_aliase_channel_input_data_free ()

    void
    ags_fx_two_pass_aliase_channel_input_data_free
                                   (AgsFxTwoPassAliaseChannelInputData *input_data);

Free `input_data` .

#### Parameters

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

Since: 3.8.0

### ags_fx_two_pass_aliase_channel_input_data_get_strct_mutex ()

    GRecMutex *
    ags_fx_two_pass_aliase_channel_input_data_get_strct_mutex
                                   (AgsFxTwoPassAliaseChannelInputData *input_data);

Get structure mutex.

#### Parameters

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

#### Returns

the GRecMutex to lock `input_data` .

[type gpointer][transfer none]

Since: 3.8.0

### ags_fx_two_pass_aliase_channel_input_get_parent ()

    gpointer
    ags_fx_two_pass_aliase_channel_input_get_parent
                                   (AgsFxTwoPassAliaseChannelInputData *input_data);

Get parent of `input_data` .

#### Parameters

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

#### Returns

the parent.

[type gpointer][transfer none]

Since: 3.8.0

### ags_fx_two_pass_aliase_channel_input_get_orig_buffer ()

    gpointer
    ags_fx_two_pass_aliase_channel_input_get_orig_buffer
                                   (AgsFxTwoPassAliaseChannelInputData *input_data);

Get orig buffer of `input_data` .

#### Parameters

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

#### Returns

the orig buffer.

[type gpointer][transfer none]

Since: 3.8.0

### ags_fx_two_pass_aliase_channel_input_get_a_buffer ()

    gpointer
    ags_fx_two_pass_aliase_channel_input_get_a_buffer
                                   (AgsFxTwoPassAliaseChannelInputData *input_data);

Get a buffer of `input_data` .

#### Parameters

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

#### Returns

the a buffer.

[type gpointer][transfer none]

Since: 3.8.0

### ags_fx_two_pass_aliase_channel_input_get_b_buffer ()

    gpointer
    ags_fx_two_pass_aliase_channel_input_get_b_buffer
                                   (AgsFxTwoPassAliaseChannelInputData *input_data);

Get b buffer of `input_data` .

#### Parameters

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

#### Returns

the b buffer.

[type gpointer][transfer none]

Since: 3.8.0

### ags_fx_two_pass_aliase_channel_input_get_a_mix ()

    gpointer
    ags_fx_two_pass_aliase_channel_input_get_a_mix
                                   (AgsFxTwoPassAliaseChannelInputData *input_data);

Get a mix of `input_data` .

#### Parameters

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

#### Returns

the a mix.

[type gpointer][transfer none]

Since: 3.8.0

### ags_fx_two_pass_aliase_channel_input_get_b_mix ()

    gpointer
    ags_fx_two_pass_aliase_channel_input_get_b_mix
                                   (AgsFxTwoPassAliaseChannelInputData *input_data);

Get b mix of `input_data` .

#### Parameters

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

#### Returns

the b mix.

[type gpointer][transfer none]

Since: 3.8.0

### ags_fx_two_pass_aliase_channel_input_get_final_mix ()

    gpointer
    ags_fx_two_pass_aliase_channel_input_get_final_mix
                                   (AgsFxTwoPassAliaseChannelInputData *input_data);

Get final mix of `input_data` .

#### Parameters

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

#### Returns

the final mix.

[type gpointer][transfer none]

Since: 3.8.0

### ags_fx_two_pass_aliase_channel_new ()

    AgsFxTwoPassAliaseChannel *
    ags_fx_two_pass_aliase_channel_new (AgsChannel *channel);

Create a new instance of AgsFxTwoPassAliaseChannel

#### Parameters

channel | the AgsChannel |

#### Returns

the new AgsFxTwoPassAliaseChannel

Since: 3.8.0

## Types and Values

### struct AgsFxTwoPassAliaseChannelInputData

    struct AgsFxTwoPassAliaseChannelInputData {
      GRecMutex strct_mutex;

      gpointer parent;

      gdouble *orig_buffer;

      gdouble *a_buffer;
      gdouble *b_buffer;

      gdouble *a_mix;
      gdouble *b_mix;

      gdouble *final_mix;
    };

## Property Details

### The `“a-amount”` property

      “a-amount”                 AgsPort *

The first pass amount.

Owner: AgsFxTwoPassAliaseChannel

Flags: Read / Write

Since: 3.8.0

### The `“a-phase”` property

      “a-phase”                  AgsPort *

The first pass phase.

Owner: AgsFxTwoPassAliaseChannel

Flags: Read / Write

Since: 3.8.0

### The `“b-amount”` property

      “b-amount”                 AgsPort *

The second pass amount.

Owner: AgsFxTwoPassAliaseChannel

Flags: Read / Write

Since: 3.8.0

### The `“b-phase”` property

      “b-phase”                  AgsPort *

The second pass phase.

Owner: AgsFxTwoPassAliaseChannel

Flags: Read / Write

Since: 3.8.0

### The `“enabled”` property

      “enabled”                  AgsPort *

The enable control of two pass aliase.

Owner: AgsFxTwoPassAliaseChannel

Flags: Read / Write

Since: 3.8.0