## AgsAudioUnitClient

AgsAudioUnitClient — core audio connection

## Stability Level

Stable, unless otherwise indicated

## Functions

#define | AGS_AUDIO_UNIT_CLIENT_GET_OBJ_MUTEX()
gboolean | ags_audio_unit_client_test_flags ()
void | ags_audio_unit_client_set_flags ()
void | ags_audio_unit_client_unset_flags ()
GList * | ags_audio_unit_client_find_uuid ()
GList * | ags_audio_unit_client_find ()
void | ags_audio_unit_client_open ()
void | ags_audio_unit_client_add_device ()
void | ags_audio_unit_client_remove_device ()
void | ags_audio_unit_client_add_port ()
void | ags_audio_unit_client_remove_port ()
void | ags_audio_unit_client_activate ()
void | ags_audio_unit_client_deactivate ()
AgsAudioUnitClient * | ags_audio_unit_client_new ()

## Types and Values

enum | AgsAudioUnitClientFlags

## Includes

    #include <ags/audio/audio-unit/ags_audio_unit_client.h>

## Description

The AgsAudioUnitClient communicates with a core audio instance.

## Functions

### AGS_AUDIO_UNIT_CLIENT_GET_OBJ_MUTEX()

    #define AGS_AUDIO_UNIT_CLIENT_GET_OBJ_MUTEX(obj) (&(((AgsAudioUnitClient *) obj)->obj_mutex))

### ags_audio_unit_client_test_flags ()

    gboolean
    ags_audio_unit_client_test_flags (AgsAudioUnitClient *audio_unit_client,
                                      AgsAudioUnitClientFlags flags);

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

#### Parameters

audio_unit_client | the AgsAudioUnitClient |
flags | the flags |

#### Returns

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

Since: 3.0.0

### ags_audio_unit_client_set_flags ()

    void
    ags_audio_unit_client_set_flags (AgsAudioUnitClient *audio_unit_client,
                                     AgsAudioUnitClientFlags flags);

Enable a feature of `audio_unit_client` .

#### Parameters

audio_unit_client | the AgsAudioUnitClient |
flags | see AgsAudioUnitClientFlags |

Since: 3.0.0

### ags_audio_unit_client_unset_flags ()

    void
    ags_audio_unit_client_unset_flags (AgsAudioUnitClient *audio_unit_client,
                                       AgsAudioUnitClientFlags flags);

Disable a feature of `audio_unit_client` .

#### Parameters

audio_unit_client | the AgsAudioUnitClient |
flags | see AgsAudioUnitClientFlags |

Since: 3.0.0

### ags_audio_unit_client_find_uuid ()

    GList *
    ags_audio_unit_client_find_uuid (GList *audio_unit_client,
                                     gchar *client_uuid);

Finds next match of `client_uuid` in `audio_unit_client` .

#### Parameters

audio_unit_client | the GList containing AgsAudioUnitClient. | [element-type AgsAudio.AudioUnitClient][transfer none]
client_uuid | the client uuid to find |

#### Returns

the next matching GList or `NULL`.

[element-type AgsAudio.AudioUnitClient][transfer none]

Since: 3.0.0

### ags_audio_unit_client_find ()

    GList *
    ags_audio_unit_client_find (GList *audio_unit_client,
                                gchar *client_name);

Finds next match of `client_name` in `audio_unit_client` .

#### Parameters

audio_unit_client | the GList containing AgsAudioUnitClient. | [element-type AgsAudio.AudioUnitClient][transfer none]
client_name | the client name to find |

#### Returns

the next matching GList or `NULL`.

[element-type AgsAudio.AudioUnitClient][transfer none]

Since: 3.0.0

### ags_audio_unit_client_open ()

    void
    ags_audio_unit_client_open (AgsAudioUnitClient *audio_unit_client,
                                gchar *client_name);

Open the core audio client's connection and read uuid.

#### Parameters

audio_unit_client | the AgsAudioUnitClient |
client_name | the client's name |

Since: 3.0.0

### ags_audio_unit_client_add_device ()

    void
    ags_audio_unit_client_add_device (AgsAudioUnitClient *audio_unit_client,
                                      GObject *audio_unit_device);

Add `audio_unit_device` to `audio_unit_client` .

#### Parameters

audio_unit_client | the AgsAudioUnitClient |
audio_unit_device | an AgsAudioUnitDevout or AgsAudioUnitDevin |

Since: 3.0.0

### ags_audio_unit_client_remove_device ()

    void
    ags_audio_unit_client_remove_device (AgsAudioUnitClient *audio_unit_client,
                                         GObject *audio_unit_device);

Remove `audio_unit_device` from `audio_unit_client` .

#### Parameters

audio_unit_client | the AgsAudioUnitClient |
audio_unit_device | an AgsAudioUnitDevout or AgsAudioUnitDevin |

Since: 3.0.0

### ags_audio_unit_client_add_port ()

    void
    ags_audio_unit_client_add_port (AgsAudioUnitClient *audio_unit_client,
                                    GObject *audio_unit_port);

Add `audio_unit_port` to `audio_unit_client` .

#### Parameters

audio_unit_client | the AgsAudioUnitClient |
audio_unit_port | an AgsAudioUnitPort |

Since: 3.0.0

### ags_audio_unit_client_remove_port ()

    void
    ags_audio_unit_client_remove_port (AgsAudioUnitClient *audio_unit_client,
                                       GObject *audio_unit_port);

Remove `audio_unit_port` from `audio_unit_client` .

#### Parameters

audio_unit_client | the AgsAudioUnitClient |
audio_unit_port | an AgsAudioUnitPort |

Since: 3.0.0

### ags_audio_unit_client_activate ()

    void
    ags_audio_unit_client_activate (AgsAudioUnitClient *audio_unit_client);

Activate client.

#### Parameters

audio_unit_client | the AgsAudioUnitClient |

Since: 3.0.0

### ags_audio_unit_client_deactivate ()

    void
    ags_audio_unit_client_deactivate (AgsAudioUnitClient *audio_unit_client);

Deactivate client.

#### Parameters

audio_unit_client | the AgsAudioUnitClient |

Since: 3.0.0

### ags_audio_unit_client_new ()

    AgsAudioUnitClient *
    ags_audio_unit_client_new (GObject *audio_unit_server);

Create a new instance of AgsAudioUnitClient.

#### Parameters

audio_unit_server | the assigned AgsAudioUnitServer |

#### Returns

the new AgsAudioUnitClient

Since: 3.0.0

## Types and Values

### enum AgsAudioUnitClientFlags

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

#### Members

AGS_AUDIO_UNIT_CLIENT_ACTIVATED | the client was activated |
AGS_AUDIO_UNIT_CLIENT_READY | the client is ready |