AgsAudioThread

AgsAudioThread — audio thread

Functions

Properties

AgsAudio * audio Read / Write
GObject * default-output-soundcard Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── AgsThread
        ╰── AgsAudioThread

Implemented Interfaces

AgsAudioThread implements AgsConnectable.

Includes

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

Description

The AgsAudioThread acts as audio output thread to soundcard.

Functions

ags_audio_thread_test_status_flags ()

gboolean
ags_audio_thread_test_status_flags (AgsAudioThread *audio_thread,
                                    guint status_flags);

Test status_flags of audio_thread .

Parameters

audio_thread

the AgsAudioThread

 

status_flags

status flags

 

Returns

TRUE if status flags set, otherwise FALSE

Since: 3.0.0


ags_audio_thread_set_status_flags ()

void
ags_audio_thread_set_status_flags (AgsAudioThread *audio_thread,
                                   guint status_flags);

Set status flags.

Parameters

audio_thread

the AgsAudioThread

 

status_flags

status flags

 

Since: 3.0.0


ags_audio_thread_unset_status_flags ()

void
ags_audio_thread_unset_status_flags (AgsAudioThread *audio_thread,
                                     guint status_flags);

Unset status flags.

Parameters

audio_thread

the AgsAudioThread

 

status_flags

status flags

 

Since: 3.0.0


ags_audio_thread_set_sound_scope ()

void
ags_audio_thread_set_sound_scope (AgsAudioThread *audio_thread,
                                  gint sound_scope);

Set sound scope.

Parameters

audio_thread

the AgsAudioThread

 

sound_scope

the sound scope

 

Since: 3.0.0


ags_audio_thread_scope_data_alloc ()

AgsAudioThreadScopeData *
ags_audio_thread_scope_data_alloc ();

Allocate the AgsAudioThreadScopeData.

Returns

the newly allocated struct.

[transfer full]

Since: 3.3.0


ags_audio_thread_scope_data_free ()

void
ags_audio_thread_scope_data_free (AgsAudioThreadScopeData *scope_data);

Free scope_data .

Parameters

scope_data

the AgsAudioThreadScopeData.

[transfer full]

Since: 3.3.0


ags_audio_thread_get_do_fx_staging ()

gboolean
ags_audio_thread_get_do_fx_staging (AgsAudioThread *audio_thread);

Get do fx staging.

Parameters

audio_thread

the AgsAudioThread

 

Returns

TRUE if set, otherwise FALSE

Since: 3.3.0


ags_audio_thread_set_do_fx_staging ()

void
ags_audio_thread_set_do_fx_staging (AgsAudioThread *audio_thread,
                                    gboolean do_fx_staging);

Set do fx staging.

Parameters

audio_thread

the AgsAudioThread

 

do_fx_staging

TRUE if do fx staging, else FALSE

 

Since: 3.3.0


ags_audio_thread_get_staging_program ()

guint *
ags_audio_thread_get_staging_program (AgsAudioThread *audio_thread,
                                      guint *staging_program_count);

Get staging program.

Parameters

audio_thread

the AgsAudioThread

 

staging_program_count

the staging program count.

[out]

Returns

the staging program.

[transfer full]

Since: 3.3.0


ags_audio_thread_set_staging_program ()

void
ags_audio_thread_set_staging_program (AgsAudioThread *audio_thread,
                                      guint *staging_program,
                                      guint staging_program_count);

Set staging program.

Parameters

audio_thread

the AgsAudioThread

 

staging_program

the staging program.

[transfer none]

staging_program_count

the staging program count

 

Since: 3.3.0


ags_audio_thread_new ()

AgsAudioThread *
ags_audio_thread_new (GObject *default_output_soundcard,
                      GObject *audio);

Create a new instance of AgsAudioThread.

Parameters

default_output_soundcard

the GObject

 

audio

the AgsAudio

 

Returns

the new AgsAudioThread

Since: 3.0.0


AGS_AUDIO_THREAD()

#define AGS_AUDIO_THREAD(obj)                (G_TYPE_CHECK_INSTANCE_CAST((obj), AGS_TYPE_AUDIO_THREAD, AgsAudioThread))

AGS_AUDIO_THREAD_CLASS()

#define AGS_AUDIO_THREAD_CLASS(class)        (G_TYPE_CHECK_CLASS_CAST(class, AGS_TYPE_AUDIO_THREAD, AgsAudioThreadClass))

AGS_AUDIO_THREAD_GET_CLASS()

#define AGS_AUDIO_THREAD_GET_CLASS(obj)      (G_TYPE_INSTANCE_GET_CLASS(obj, AGS_TYPE_AUDIO_THREAD, AgsAudioThreadClass))

AGS_IS_AUDIO_THREAD()

#define AGS_IS_AUDIO_THREAD(obj)             (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AGS_TYPE_AUDIO_THREAD))

AGS_IS_AUDIO_THREAD_CLASS()

#define AGS_IS_AUDIO_THREAD_CLASS(class)     (G_TYPE_CHECK_CLASS_TYPE ((class), AGS_TYPE_AUDIO_THREAD))

ags_audio_thread_get_type ()

GType
ags_audio_thread_get_type ();

Types and Values

AGS_AUDIO_THREAD_DEFAULT_JIFFIE

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

enum AgsAudioThreadFlags

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

Members

AGS_AUDIO_THREAD_STATUS_DONE

sync done parent thread, initial wait during AgsThread::run()

 

AGS_AUDIO_THREAD_STATUS_WAIT

sync wait parent thread, initial wait during AgsThread::run()

 

AGS_AUDIO_THREAD_STATUS_DONE_SYNC

sync done parent thread, signal completed during AgsThread::run()

 

AGS_AUDIO_THREAD_STATUS_WAIT_SYNC

sync wait parent thread, signal completed during AgsThread::run()

 

struct AgsAudioThreadScopeData

struct AgsAudioThreadScopeData {
  volatile gboolean fx_done;
  volatile guint fx_wait;

  GMutex fx_mutex;
  GCond fx_cond;
};

AGS_TYPE_AUDIO_THREAD

#define AGS_TYPE_AUDIO_THREAD                (ags_audio_thread_get_type())

struct AgsAudioThread

struct AgsAudioThread;

struct AgsAudioThreadClass

struct AgsAudioThreadClass {
  AgsThreadClass thread;
};

Property Details

The “audio” property

  “audio”                    AgsAudio *

The assigned AgsAudio.

Owner: AgsAudioThread

Flags: Read / Write

Since: 3.0.0


The “default-output-soundcard” property

  “default-output-soundcard” GObject *

The assigned default soundcard.

Owner: AgsAudioThread

Flags: Read / Write

Since: 3.0.0