## AgsOscFrontController

AgsOscFrontController — OSC front controller

## Stability Level

Stable, unless otherwise indicated

## Functions

gboolean | ags_osc_front_controller_test_flags ()
void | ags_osc_front_controller_set_flags ()
void | ags_osc_front_controller_unset_flags ()
void | ags_osc_front_controller_add_message ()
void | ags_osc_front_controller_remove_message ()
void | ags_osc_front_controller_start_delegate ()
void | ags_osc_front_controller_stop_delegate ()
gpointer | ags_osc_front_controller_do_request ()
AgsOscFrontController * | ags_osc_front_controller_new ()

## Signals

gpointer | do-request | Run Last
void | start-delegate | Run Last
void | stop-delegate | Run Last

## Types and Values

enum | AgsOscFrontControllerFlags

## Object Hierarchy

        GFlags
        ╰── AgsOscFrontControllerFlags
        GObject
        ╰── AgsOscController
            ╰── AgsOscFrontController

## Includes

    #include <ags/audio/osc/controller/ags_osc_front_controller.h>

## Description

The AgsOscFrontController implements the OSC front controller.

## Functions

### ags_osc_front_controller_test_flags ()

    gboolean
    ags_osc_front_controller_test_flags (AgsOscFrontController *osc_front_controller,
                                         AgsOscFrontControllerFlags flags);

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

#### Parameters

osc_front_controller | the AgsOscFrontController |
flags | the flags |

#### Returns

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

Since: 3.0.0

### ags_osc_front_controller_set_flags ()

    void
    ags_osc_front_controller_set_flags (AgsOscFrontController *osc_front_controller,
                                        AgsOscFrontControllerFlags flags);

Set flags.

#### Parameters

osc_front_controller | the AgsOscFrontController |
flags | the flags |

Since: 3.0.0

### ags_osc_front_controller_unset_flags ()

    void
    ags_osc_front_controller_unset_flags (AgsOscFrontController *osc_front_controller,
                                          AgsOscFrontControllerFlags flags);

Unset flags.

#### Parameters

osc_front_controller | the AgsOscFrontController |
flags | the flags |

Since: 3.0.0

### ags_osc_front_controller_add_message ()

    void
    ags_osc_front_controller_add_message (AgsOscFrontController *osc_front_controller,
                                          GObject *message);

Add `message` to `osc_front_controller` .

#### Parameters

osc_front_controller | the AgsOscFrontController |
message | the AgsOscMessage |

Since: 3.0.0

### ags_osc_front_controller_remove_message ()

    void
    ags_osc_front_controller_remove_message
                                   (AgsOscFrontController *osc_front_controller,
                                    GObject *message);

Remove `message` from `osc_front_controller` .

#### Parameters

osc_front_controller | the AgsOscFrontController |
message | the AgsOscMessage |

Since: 3.0.0

### ags_osc_front_controller_start_delegate ()

    void
    ags_osc_front_controller_start_delegate
                                   (AgsOscFrontController *osc_front_controller);

Start delegating.

#### Parameters

osc_front_controller | the AgsOscFrontController |

Since: 3.0.0

### ags_osc_front_controller_stop_delegate ()

    void
    ags_osc_front_controller_stop_delegate
                                   (AgsOscFrontController *osc_front_controller);

Stop delegating.

#### Parameters

osc_front_controller | the AgsOscFrontController |

Since: 3.0.0

### ags_osc_front_controller_do_request ()

    gpointer
    ags_osc_front_controller_do_request (AgsOscFrontController *osc_front_controller,
                                         AgsOscConnection *osc_connection,
                                         guchar *packet,
                                         gsize packet_size);

### ags_osc_front_controller_new ()

    AgsOscFrontController *
    ags_osc_front_controller_new ();

Instantiate new AgsOscFrontController

#### Returns

the AgsOscFrontController

Since: 3.0.0

## Types and Values

### enum AgsOscFrontControllerFlags

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

#### Members

AGS_OSC_FRONT_CONTROLLER_DELEGATE_STARTED | delegate started |
AGS_OSC_FRONT_CONTROLLER_DELEGATE_RUNNING | delegate running |
AGS_OSC_FRONT_CONTROLLER_DELEGATE_TERMINATING | delegate terminating |

## Signal Details

### The `“do-request”` signal

    gpointer
    user_function (AgsOscFrontController *osc_front_controller,
                   GObject               *osc_connection,
                   gpointer               packet,
                   gint64                 packet_size,
                   gpointer               user_data)

The ::do-request signal is emited during do request of front controller.

#### Parameters

osc_front_controller | the AgsOscFrontController |
osc_connection | the AgsOscConnection |
packet | the packet received |
packet_size | the packet size |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

Since: 3.0.0

### The `“start-delegate”` signal

    void
    user_function (AgsOscFrontController *osc_front_controller,
                   gpointer               user_data)

The ::start-delegate signal is emited during start of delegating messages.

#### Parameters

osc_front_controller | the AgsOscFrontController |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

Since: 3.0.0

### The `“stop-delegate”` signal

    void
    user_function (AgsOscFrontController *osc_front_controller,
                   gpointer               user_data)

The ::stop-delegate signal is emited during stop of delegating messages.

#### Parameters

osc_front_controller | the AgsOscFrontController |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

Since: 3.0.0