## AgsJackPort

AgsJackPort — JACK resource.

## Stability Level

Stable, unless otherwise indicated

## Functions

#define | AGS_JACK_PORT_GET_OBJ_MUTEX()
gboolean | ags_jack_port_test_flags ()
void | ags_jack_port_set_flags ()
void | ags_jack_port_unset_flags ()
GList * | ags_jack_port_find ()
void | ags_jack_port_register ()
void | ags_jack_port_unregister ()
AgsJackPort * | ags_jack_port_new ()

## Properties

AgsJackClient * | jack-client | Read / Write
char * | port-name | Read / Write

## Types and Values

enum | AgsJackPortFlags

## Object Hierarchy

        GFlags
        ╰── AgsJackPortFlags
        GObject
        ╰── AgsJackPort

## Includes

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

## Description

The AgsJackPort represents either a JACK sequencer or soundcard to communicate with.

## Functions

### AGS_JACK_PORT_GET_OBJ_MUTEX()

    #define AGS_JACK_PORT_GET_OBJ_MUTEX(obj) (&(((AgsJackPort *) obj)->obj_mutex))

### ags_jack_port_test_flags ()

    gboolean
    ags_jack_port_test_flags (AgsJackPort *jack_port,
                              AgsJackPortFlags flags);

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

#### Parameters

jack_port | the AgsJackPort |
flags | the flags |

#### Returns

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

Since: 3.0.0

### ags_jack_port_set_flags ()

    void
    ags_jack_port_set_flags (AgsJackPort *jack_port,
                             AgsJackPortFlags flags);

Enable a feature of `jack_port` .

#### Parameters

jack_port | the AgsJackPort |
flags | see AgsJackPortFlags |

Since: 3.0.0

### ags_jack_port_unset_flags ()

    void
    ags_jack_port_unset_flags (AgsJackPort *jack_port,
                               AgsJackPortFlags flags);

Disable a feature of `jack_port` .

#### Parameters

jack_port | the AgsJackPort |
flags | see AgsJackPortFlags |

Since: 3.0.0

### ags_jack_port_find ()

    GList *
    ags_jack_port_find (GList *jack_port,
                        gchar *port_name);

Finds next match of `port_name` in `jack_port` .

#### Parameters

jack_port | the GList containing AgsJackPort. | [element-type AgsAudio.JackPort][transfer none]
port_name | the port name to find |

#### Returns

the next matching GList or `NULL`.

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

Since: 3.0.0

### ags_jack_port_register ()

    void
    ags_jack_port_register (AgsJackPort *jack_port,
                            gchar *port_name,
                            gboolean is_audio,
                            gboolean is_midi,
                            gboolean is_output);

Register a new JACK port and read uuid. Creates a new AgsSequencer or AgsSoundcard object.

#### Parameters

jack_port | the AgsJackPort |
port_name | the name as string |
is_audio | if `TRUE` interpreted as audio port |
is_midi | if `TRUE` interpreted as midi port |
is_output | if `TRUE` port is acting as output, otherwise as input |

Since: 3.0.0

### ags_jack_port_unregister ()

    void
    ags_jack_port_unregister (AgsJackPort *jack_port);

Unregister JACK port.

#### Parameters

jack_port | the AgsJackPort |

Since: 3.0.0

### ags_jack_port_new ()

    AgsJackPort *
    ags_jack_port_new (GObject *jack_client);

Create a new instance of AgsJackPort.

#### Parameters

jack_client | the AgsJackClient assigned to |

#### Returns

the new AgsJackPort

Since: 3.0.0

## Types and Values

### enum AgsJackPortFlags

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

#### Members

AGS_JACK_PORT_REGISTERED | the port was registered |
AGS_JACK_PORT_IS_AUDIO | the port provides audio data |
AGS_JACK_PORT_IS_MIDI | the port provides midi data |
AGS_JACK_PORT_IS_OUTPUT | the port does output |
AGS_JACK_PORT_IS_INPUT | the port does input |

## Property Details

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

      “jack-client”              AgsJackClient *

The assigned AgsJackClient.

Owner: AgsJackPort

Flags: Read / Write

Since: 3.0.0

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

      “port-name”                char *

The JACK port name.

Owner: AgsJackPort

Flags: Read / Write

Default value: NULL

Since: 3.0.0