## AgsJackClient

AgsJackClient — JACK connection

## Stability Level

Stable, unless otherwise indicated

## Functions

#define | AGS_JACK_CLIENT_GET_OBJ_MUTEX()
gboolean | ags_jack_client_test_flags ()
void | ags_jack_client_set_flags ()
void | ags_jack_client_unset_flags ()
GList * | ags_jack_client_find_uuid ()
GList * | ags_jack_client_find ()
void | ags_jack_client_open ()
void | ags_jack_client_close ()
void | ags_jack_client_add_device ()
void | ags_jack_client_remove_device ()
void | ags_jack_client_add_port ()
void | ags_jack_client_remove_port ()
void | ags_jack_client_activate ()
void | ags_jack_client_deactivate ()
AgsJackClient * | ags_jack_client_new ()

## Properties

char * | client-name | Read / Write
gpointer | device | Read / Write
AgsJackServer * | jack-server | Read / Write
gpointer | port | Read / Write

## Types and Values

enum | AgsJackClientFlags

## Object Hierarchy

        GFlags
        ╰── AgsJackClientFlags
        GObject
        ╰── AgsJackClient

## Includes

    #include <ags/audio/jack/ags_jack_client.h>

## Description

The AgsJackClient communicates with a JACK instance.

## Functions

### AGS_JACK_CLIENT_GET_OBJ_MUTEX()

    #define AGS_JACK_CLIENT_GET_OBJ_MUTEX(obj) (&(((AgsJackClient *) obj)->obj_mutex))

### ags_jack_client_test_flags ()

    gboolean
    ags_jack_client_test_flags (AgsJackClient *jack_client,
                                AgsJackClientFlags flags);

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

#### Parameters

jack_client | the AgsJackClient |
flags | the flags |

#### Returns

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

Since: 3.0.0

### ags_jack_client_set_flags ()

    void
    ags_jack_client_set_flags (AgsJackClient *jack_client,
                               AgsJackClientFlags flags);

Enable a feature of `jack_client` .

#### Parameters

jack_client | the AgsJackClient |
flags | see AgsJackClientFlags |

Since: 3.0.0

### ags_jack_client_unset_flags ()

    void
    ags_jack_client_unset_flags (AgsJackClient *jack_client,
                                 AgsJackClientFlags flags);

Disable a feature of `jack_client` .

#### Parameters

jack_client | the AgsJackClient |
flags | see AgsJackClientFlags |

Since: 3.0.0

### ags_jack_client_find_uuid ()

    GList *
    ags_jack_client_find_uuid (GList *jack_client,
                               gchar *client_uuid);

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

#### Parameters

jack_client | the GList containing AgsJackClient. | [element-type AgsAudio.JackClient][transfer none]
client_uuid | the client uuid to find |

#### Returns

the matching GList or `NULL`.

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

Since: 3.0.0

### ags_jack_client_find ()

    GList *
    ags_jack_client_find (GList *jack_client,
                          gchar *client_name);

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

#### Parameters

jack_client | the GList containing AgsJackClient. | [element-type AgsAudio.JackClient][transfer none]
client_name | the client name to find |

#### Returns

the next matching GList or `NULL`.

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

Since: 3.0.0

### ags_jack_client_open ()

    void
    ags_jack_client_open (AgsJackClient *jack_client,
                          gchar *client_name);

Open the JACK client's connection and read uuid.

#### Parameters

jack_client | the AgsJackClient |
client_name | the client's name |

Since: 3.0.0

### ags_jack_client_close ()

    void
    ags_jack_client_close (AgsJackClient *jack_client);

Close the JACK client's connection.

#### Parameters

jack_client | the AgsJackClient |

Since: 3.0.0

### ags_jack_client_add_device ()

    void
    ags_jack_client_add_device (AgsJackClient *jack_client,
                                GObject *jack_device);

Add `jack_device` to `jack_client` .

#### Parameters

jack_client | the AgsJackClient |
jack_device | an AgsJackDevout, AgsJackDevin or AgsJackMidiin |

Since: 3.0.0

### ags_jack_client_remove_device ()

    void
    ags_jack_client_remove_device (AgsJackClient *jack_client,
                                   GObject *jack_device);

Remove `jack_device` from `jack_client` .

#### Parameters

jack_client | the AgsJackClient |
jack_device | an AgsJackDevout, AgsJackDevin or AgsJackMidiin |

Since: 3.0.0

### ags_jack_client_add_port ()

    void
    ags_jack_client_add_port (AgsJackClient *jack_client,
                              GObject *jack_port);

Add `jack_port` to `jack_client` .

#### Parameters

jack_client | the AgsJackClient |
jack_port | an AgsJackPort |

Since: 3.0.0

### ags_jack_client_remove_port ()

    void
    ags_jack_client_remove_port (AgsJackClient *jack_client,
                                 GObject *jack_port);

Remove `jack_port` from `jack_client` .

#### Parameters

jack_client | the AgsJackClient |
jack_port | an AgsJackPort |

Since: 3.0.0

### ags_jack_client_activate ()

    void
    ags_jack_client_activate (AgsJackClient *jack_client);

Activate client.

#### Parameters

jack_client | the AgsJackClient |

Since: 3.0.0

### ags_jack_client_deactivate ()

    void
    ags_jack_client_deactivate (AgsJackClient *jack_client);

Deactivate client.

#### Parameters

jack_client | the AgsJackClient |

Since: 3.0.0

### ags_jack_client_new ()

    AgsJackClient *
    ags_jack_client_new (GObject *jack_server);

Create a new instance of AgsJackClient.

#### Parameters

jack_server | the assigned AgsJackServer |

#### Returns

the new AgsJackClient

Since: 3.0.0

## Types and Values

### enum AgsJackClientFlags

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

#### Members

AGS_JACK_CLIENT_ACTIVATED | the client was activated |

## Property Details

### The `“client-name”` property

      “client-name”              char *

The JACK client name.

Owner: AgsJackClient

Flags: Read / Write

Default value: NULL

Since: 3.0.0

### The `“device”` property

      “device”                   gpointer

The assigned devices.

[transfer full]

Owner: AgsJackClient

Flags: Read / Write

Since: 3.0.0

### The `“jack-server”` property

      “jack-server”              AgsJackServer *

The assigned AgsJackServer.

Owner: AgsJackClient

Flags: Read / Write

Since: 3.0.0

### The `“port”` property

      “port”                     gpointer

The assigned ports.

[transfer full]

Owner: AgsJackClient

Flags: Read / Write

Since: 3.0.0