## AgsChannelThread

AgsChannelThread — channel thread

## Stability Level

Stable, unless otherwise indicated

## Functions

gboolean | ags_channel_thread_test_nested_sync_flags ()
void | ags_channel_thread_set_nested_sync_flags ()
void | ags_channel_thread_unset_nested_sync_flags ()
gboolean | ags_channel_thread_get_processing ()
void | ags_channel_thread_set_processing ()
AgsTaskLauncher * | ags_channel_thread_get_task_launcher ()
void | ags_channel_thread_set_sound_scope ()
gboolean | ags_channel_thread_get_do_fx_staging ()
void | ags_channel_thread_set_do_fx_staging ()
guint * | ags_channel_thread_get_staging_program ()
void | ags_channel_thread_set_staging_program ()
AgsChannelThread * | ags_channel_thread_new ()

## Properties

AgsChannel * | channel | Read / Write
GObject * | default-output-soundcard | Read / Write
gboolean | processing | Read / Write
AgsTaskLauncher * | task-launcher | Read

## Types and Values

#define | AGS_CHANNEL_THREAD_DEFAULT_JIFFIE
enum | AgsChannelThreadNestedSyncFlags

## Object Hierarchy

        GObject
        ╰── AgsThread
            ╰── AgsChannelThread

## Includes

    #include <ags/audio/thread/ags_channel_thread.h>

## Description

The AgsChannelThread acts as channel output thread to soundcard.

## Functions

### ags_channel_thread_test_nested_sync_flags ()

    gboolean
    ags_channel_thread_test_nested_sync_flags
                                   (AgsChannelThread *channel_thread,
                                    AgsChannelThreadNestedSyncFlags nested_sync_flags);

Test `nested_sync_flags` of `channel_thread` .

#### Parameters

channel_thread | the AgsChannelThread |
nested_sync_flags | nested sync flags |

#### Returns

`TRUE` if status flags set, otherwise `FALSE`

Since: 6.0.0

### ags_channel_thread_set_nested_sync_flags ()

    void
    ags_channel_thread_set_nested_sync_flags
                                   (AgsChannelThread *channel_thread,
                                    AgsChannelThreadNestedSyncFlags nested_sync_flags);

Set status flags.

#### Parameters

channel_thread | the AgsChannelThread |
nested_sync_flags | status flags |

Since: 6.0.0

### ags_channel_thread_unset_nested_sync_flags ()

    void
    ags_channel_thread_unset_nested_sync_flags
                                   (AgsChannelThread *channel_thread,
                                    AgsChannelThreadNestedSyncFlags nested_sync_flags);

Unset status flags.

#### Parameters

channel_thread | the AgsChannelThread |
nested_sync_flags | status flags |

Since: 6.0.0

### ags_channel_thread_get_processing ()

    gboolean
    ags_channel_thread_get_processing (AgsChannelThread *channel_thread);

Get processing.

#### Parameters

channel_thread | the AgsChannelThread |

#### Returns

`TRUE` if do processing, otherwise `FALSE`

Since: 3.11.0

### ags_channel_thread_set_processing ()

    void
    ags_channel_thread_set_processing (AgsChannelThread *channel_thread,
                                       gboolean processing);

Set processing.

#### Parameters

channel_thread | the AgsChannelThread |
processing | `TRUE` enables and `FALSE` disables processing |

Since: 3.11.0

### ags_channel_thread_get_task_launcher ()

    AgsTaskLauncher *
    ags_channel_thread_get_task_launcher (AgsChannelThread *channel_thread);

Get task launcher.

#### Parameters

channel_thread | the AgsChannelThread |

#### Returns

the AgsTaskLauncher.

[transfer full]

Since: 3.11.0

### ags_channel_thread_set_sound_scope ()

    void
    ags_channel_thread_set_sound_scope (AgsChannelThread *channel_thread,
                                        gint sound_scope);

Set sound scope.

#### Parameters

channel_thread | the AgsChannelThread |
sound_scope | the sound scope |

Since: 3.0.0

### ags_channel_thread_get_do_fx_staging ()

    gboolean
    ags_channel_thread_get_do_fx_staging (AgsChannelThread *channel_thread);

Get do fx staging.

#### Parameters

channel_thread | the AgsChannelThread |

#### Returns

`TRUE` if set, otherwise `FALSE`

Since: 3.3.0

### ags_channel_thread_set_do_fx_staging ()

    void
    ags_channel_thread_set_do_fx_staging (AgsChannelThread *channel_thread,
                                          gboolean do_fx_staging);

Set do fx staging.

#### Parameters

channel_thread | the AgsChannelThread |
do_fx_staging | `TRUE` if do fx staging, else `FALSe` |

Since: 3.3.0

### ags_channel_thread_get_staging_program ()

    guint *
    ags_channel_thread_get_staging_program
                                   (AgsChannelThread *channel_thread,
                                    guint *staging_program_count);

Get staging program.

#### Parameters

channel_thread | the AgsChannelThread |
staging_program_count | the staging program count. | [out]

#### Returns

the staging program.

[transfer full]

Since: 3.3.0

### ags_channel_thread_set_staging_program ()

    void
    ags_channel_thread_set_staging_program
                                   (AgsChannelThread *channel_thread,
                                    guint *staging_program,
                                    guint staging_program_count);

Set staging program.

#### Parameters

channel_thread | the AgsChannelThread |
staging_program | the staging program. | [transfer none]
staging_program_count | the staging program count |

Since: 3.3.0

### ags_channel_thread_new ()

    AgsChannelThread *
    ags_channel_thread_new (GObject *default_output_soundcard,
                            GObject *channel);

Create a new AgsChannelThread.

#### Parameters

default_output_soundcard | the GObject |
channel | the AgsChannel |

#### Returns

the new AgsChannelThread

Since: 3.0.0

## Types and Values

### AGS_CHANNEL_THREAD_DEFAULT_JIFFIE

    #define AGS_CHANNEL_THREAD_DEFAULT_JIFFIE (ceil(AGS_SOUNDCARD_DEFAULT_SAMPLERATE / AGS_SOUNDCARD_DEFAULT_BUFFER_SIZE) + AGS_SOUNDCARD_DEFAULT_OVERCLOCK)

### enum AgsChannelThreadNestedSyncFlags

#### Members

AGS_CHANNEL_THREAD_STATUS_DONE |  |
AGS_CHANNEL_THREAD_STATUS_WAIT |  |
AGS_CHANNEL_THREAD_STATUS_DONE_SYNC |  |
AGS_CHANNEL_THREAD_STATUS_WAIT_SYNC |  |

## Property Details

### The `“channel”` property

      “channel”                  AgsChannel *

The assigned AgsChannel.

Owner: AgsChannelThread

Flags: Read / Write

Since: 3.0.0

### The `“default-output-soundcard”` property

      “default-output-soundcard” GObject *

The assigned default soundcard.

Owner: AgsChannelThread

Flags: Read / Write

Since: 3.0.0

### The `“processing”` property

      “processing”               gboolean

The processing state.

Owner: AgsChannelThread

Flags: Read / Write

Default value: FALSE

Since: 3.11.0

### The `“task-launcher”` property

      “task-launcher”            AgsTaskLauncher *

The assigned AgsTaskLauncher.

Owner: AgsChannelThread

Flags: Read

Since: 3.11.0