AgsCoreAudioDevout

AgsCoreAudioDevout — Output to soundcard

Stability Level

Stable, unless otherwise indicated

Functions

Properties

gpointer attack Read
double bpm Read / Write
gpointer buffer Read
guint buffer-size Read / Write
AgsCoreAudioClient * core-audio-client Read / Write
gpointer core-audio-port Read / Write
double delay-factor Read / Write
char * device Read / Write
guint dsp-channels Read / Write
guint format Read / Write
guint pcm-channels Read / Write
guint samplerate Read / Write

Types and Values

Object Hierarchy

    GFlags
    ╰── AgsCoreAudioDevoutFlags
    GObject
    ╰── AgsCoreAudioDevout

Implemented Interfaces

AgsCoreAudioDevout implements AgsConnectable and AgsSoundcard.

Includes

#include <ags/audio/core-audio/ags_core_audio_devout.h>

Description

AgsCoreAudioDevout represents a soundcard and supports output.

Functions

AGS_CORE_AUDIO_DEVOUT_GET_OBJ_MUTEX()

#define AGS_CORE_AUDIO_DEVOUT_GET_OBJ_MUTEX(obj) (&(((AgsCoreAudioDevout *) obj)->obj_mutex))

ags_core_audio_devout_error_quark ()

GQuark
ags_core_audio_devout_error_quark ();

ags_core_audio_devout_test_flags ()

gboolean
ags_core_audio_devout_test_flags (AgsCoreAudioDevout *core_audio_devout,
                                  guint flags);

Test flags to be set on core_audio_devout .

Parameters

core_audio_devout

the AgsCoreAudioDevout

 

flags

the flags

 

Returns

TRUE if flags are set, else FALSE

Since: 3.0.0


ags_core_audio_devout_set_flags ()

void
ags_core_audio_devout_set_flags (AgsCoreAudioDevout *core_audio_devout,
                                 guint flags);

Enable a feature of core_audio_devout .

Parameters

core_audio_devout

the AgsCoreAudioDevout

 

flags

see AgsCoreAudioDevoutFlags

 

Since: 3.0.0


ags_core_audio_devout_unset_flags ()

void
ags_core_audio_devout_unset_flags (AgsCoreAudioDevout *core_audio_devout,
                                   guint flags);

Disable a feature of core_audio_devout .

Parameters

core_audio_devout

the AgsCoreAudioDevout

 

flags

see AgsCoreAudioDevoutFlags

 

Since: 3.0.0


ags_core_audio_devout_switch_buffer_flag ()

void
ags_core_audio_devout_switch_buffer_flag
                               (AgsCoreAudioDevout *core_audio_devout);

The buffer flag indicates the currently played buffer.

Parameters

core_audio_devout

an AgsCoreAudioDevout

 

Since: 3.0.0


ags_core_audio_devout_adjust_delay_and_attack ()

void
ags_core_audio_devout_adjust_delay_and_attack
                               (AgsCoreAudioDevout *core_audio_devout);

Calculate delay and attack and reset it.

Parameters

core_audio_devout

the AgsCoreAudioDevout

 

Since: 3.0.0


ags_core_audio_devout_realloc_buffer ()

void
ags_core_audio_devout_realloc_buffer (AgsCoreAudioDevout *core_audio_devout);

Reallocate the internal audio buffer.

Parameters

core_audio_devout

the AgsCoreAudioDevout

 

Since: 3.0.0


ags_core_audio_devout_new ()

AgsCoreAudioDevout *
ags_core_audio_devout_new ();

Creates a new instance of AgsCoreAudioDevout.

Returns

a new AgsCoreAudioDevout

Since: 3.0.0


AGS_CORE_AUDIO_DEVOUT()

#define AGS_CORE_AUDIO_DEVOUT(obj)                (G_TYPE_CHECK_INSTANCE_CAST((obj), AGS_TYPE_CORE_AUDIO_DEVOUT, AgsCoreAudioDevout))

AGS_CORE_AUDIO_DEVOUT_CLASS()

#define AGS_CORE_AUDIO_DEVOUT_CLASS(class)        (G_TYPE_CHECK_CLASS_CAST(class, AGS_TYPE_CORE_AUDIO_DEVOUT, AgsCoreAudioDevout))

AGS_CORE_AUDIO_DEVOUT_GET_CLASS()

#define AGS_CORE_AUDIO_DEVOUT_GET_CLASS(obj)      (G_TYPE_INSTANCE_GET_CLASS(obj, AGS_TYPE_CORE_AUDIO_DEVOUT, AgsCoreAudioDevoutClass))

AGS_IS_CORE_AUDIO_DEVOUT()

#define AGS_IS_CORE_AUDIO_DEVOUT(obj)             (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AGS_TYPE_CORE_AUDIO_DEVOUT))

AGS_IS_CORE_AUDIO_DEVOUT_CLASS()

#define AGS_IS_CORE_AUDIO_DEVOUT_CLASS(class)     (G_TYPE_CHECK_CLASS_TYPE ((class), AGS_TYPE_CORE_AUDIO_DEVOUT))

ags_core_audio_devout_flags_get_type ()

GType
ags_core_audio_devout_flags_get_type ();

ags_core_audio_devout_get_type ()

GType
ags_core_audio_devout_get_type ();

Types and Values

AGS_CORE_AUDIO_DEVOUT_DEFAULT_APP_BUFFER_SIZE

#define AGS_CORE_AUDIO_DEVOUT_DEFAULT_APP_BUFFER_SIZE (8)

enum AgsCoreAudioDevoutFlags

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

Members

AGS_CORE_AUDIO_DEVOUT_INITIALIZED

the soundcard was initialized

 

AGS_CORE_AUDIO_DEVOUT_START_PLAY

playback starting

 

AGS_CORE_AUDIO_DEVOUT_PLAY

do playback

 

AGS_CORE_AUDIO_DEVOUT_SHUTDOWN

stop playback

 

AGS_CORE_AUDIO_DEVOUT_NONBLOCKING

do non-blocking calls

 

AGS_CORE_AUDIO_DEVOUT_ATTACK_FIRST

use first attack, instead of second one

 

enum AgsCore_AudioDevoutAppBufferMode

Members

AGS_CORE_AUDIO_DEVOUT_APP_BUFFER_0

   

AGS_CORE_AUDIO_DEVOUT_APP_BUFFER_1

   

AGS_CORE_AUDIO_DEVOUT_APP_BUFFER_2

   

AGS_CORE_AUDIO_DEVOUT_APP_BUFFER_3

   

AGS_CORE_AUDIO_DEVOUT_APP_BUFFER_4

   

AGS_CORE_AUDIO_DEVOUT_APP_BUFFER_5

   

AGS_CORE_AUDIO_DEVOUT_APP_BUFFER_6

   

AGS_CORE_AUDIO_DEVOUT_APP_BUFFER_7

   

enum AgsCoreAudioDevoutSyncFlags

Enum values to control the synchronization between soundcard and client.

Members

AGS_CORE_AUDIO_DEVOUT_PASS_THROUGH

do not sync

 

AGS_CORE_AUDIO_DEVOUT_INITIAL_CALLBACK

initial callback

 

AGS_CORE_AUDIO_DEVOUT_CALLBACK_WAIT

sync wait, soundcard conditional lock

 

AGS_CORE_AUDIO_DEVOUT_CALLBACK_DONE

sync done, soundcard conditional lock

 

AGS_CORE_AUDIO_DEVOUT_CALLBACK_FINISH_WAIT

sync wait, client conditional lock

 

AGS_CORE_AUDIO_DEVOUT_CALLBACK_FINISH_DONE

sync done, client conditional lock

 

AGS_CORE_AUDIO_DEVOUT_ERROR

#define AGS_CORE_AUDIO_DEVOUT_ERROR (ags_core_audio_devout_error_quark())

enum AgsCoreAudioDevoutError

Members

AGS_CORE_AUDIO_DEVOUT_ERROR_LOCKED_SOUNDCARD

   

AGS_TYPE_CORE_AUDIO_DEVOUT

#define AGS_TYPE_CORE_AUDIO_DEVOUT                (ags_core_audio_devout_get_type())

struct AgsCoreAudioDevout

struct AgsCoreAudioDevout;

struct AgsCoreAudioDevoutClass

struct AgsCoreAudioDevoutClass {
  GObjectClass gobject;
};

Property Details

The “attack” property

  “attack”                   gpointer

Attack of the buffer

Owner: AgsCoreAudioDevout

Flags: Read

Since: 3.0.0


The “bpm” property

  “bpm”                      double

Beats per minute

Owner: AgsCoreAudioDevout

Flags: Read / Write

Allowed values: [1,240]

Default value: 120

Since: 3.0.0


The “buffer” property

  “buffer”                   gpointer

The buffer

Owner: AgsCoreAudioDevout

Flags: Read

Since: 3.0.0


The “buffer-size” property

  “buffer-size”              guint

The buffer size

Owner: AgsCoreAudioDevout

Flags: Read / Write

Allowed values: [16,16384]

Default value: 1024

Since: 3.0.0


The “core-audio-client” property

  “core-audio-client”        AgsCoreAudioClient *

The assigned AgsCoreAudioClient

Owner: AgsCoreAudioDevout

Flags: Read / Write

Since: 3.0.0


The “core-audio-port” property

  “core-audio-port”          gpointer

The assigned AgsCoreAudioPort

Owner: AgsCoreAudioDevout

Flags: Read / Write

Since: 3.0.0


The “delay-factor” property

  “delay-factor”             double

tact

Owner: AgsCoreAudioDevout

Flags: Read / Write

Allowed values: [0,16]

Default value: 1

Since: 3.0.0


The “device” property

  “device”                   char *

The core audio soundcard indentifier

Owner: AgsCoreAudioDevout

Flags: Read / Write

Default value: "ags-core-audio-devout-0"

Since: 3.0.0


The “dsp-channels” property

  “dsp-channels”             guint

The dsp channel count

Owner: AgsCoreAudioDevout

Flags: Read / Write

Allowed values: [1,64]

Default value: 2

Since: 3.0.0


The “format” property

  “format”                   guint

The precision of the buffer

Owner: AgsCoreAudioDevout

Flags: Read / Write

Allowed values: [1,64]

Default value: 16

Since: 3.0.0


The “pcm-channels” property

  “pcm-channels”             guint

The pcm channel count

Owner: AgsCoreAudioDevout

Flags: Read / Write

Allowed values: [1,64]

Default value: 2

Since: 3.0.0


The “samplerate” property

  “samplerate”               guint

The samplerate

Owner: AgsCoreAudioDevout

Flags: Read / Write

Allowed values: [8000,5644800]

Default value: 48000

Since: 3.0.0