AgsAudioTreeDispatcher

AgsAudioTreeDispatcher — The audio tree dispatcher

Stability Level

Stable, unless otherwise indicated

Functions

Types and Values

Includes

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

Description

AgsAudioTreeDispatcher runs per dispatch source and sound scope.

Functions

AGS_DISPATCH_AUDIO()

#define AGS_DISPATCH_AUDIO(ptr) ((AgsDispatchAudio*)(ptr))

AGS_AUDIO_TREE_DISPATCHER_GET_OBJ_MUTEX()

#define AGS_AUDIO_TREE_DISPATCHER_GET_OBJ_MUTEX(obj) (&(((AgsAudioTreeDispatcher *) obj)->obj_mutex))

ags_dispatch_audio_alloc ()

AgsDispatchAudio *
ags_dispatch_audio_alloc (GObject *dispatch_source,
                          gint sound_scope);

Alloc dispatch audio.

Parameters

dispatch_source

the dispatch source

 

sound_scope

the AgsSoundScope

 

Returns

the newly allocated AgsDispatchAudio

Since: 8.0.0


ags_dispatch_audio_free ()

void
ags_dispatch_audio_free (AgsDispatchAudio *dispatch_audio);

Free dispatch_audio .

Parameters

dispatch_audio

the AgsDispatchAudio

 

Since: 8.0.0


ags_audio_tree_dispatcher_compile_tree_list ()

GList *
ags_audio_tree_dispatcher_compile_tree_list
                               (AgsAudioTreeDispatcher *audio_tree_dispatcher,
                                GObject *dispatch_source,
                                gint sound_scope);

Compile tree list.

Parameters

audio_tree_dispatcher

the AgsAudioTreeDispatcher

 

dispatch_source

the dispatch source

 

sound_scope

the sound scope

 

Returns

the newly created tree list.

[transfer full]

Since: 8.0.0


ags_audio_tree_dispatcher_remove_dispatch_source ()

void
ags_audio_tree_dispatcher_remove_dispatch_source
                               (AgsAudioTreeDispatcher *audio_tree_dispatcher,
                                GObject *dispatch_source,
                                gint sound_scope);

Remove dispatch source from tree list.

Parameters

audio_tree_dispatcher

the AgsAudioTreeDispatcher

 

dispatch_source

the dispatch source

 

sound_scope

the sound scope

 

Since: 8.0.0


ags_audio_tree_dispatcher_get_staging_program ()

guint *
ags_audio_tree_dispatcher_get_staging_program
                               (AgsAudioTreeDispatcher *audio_tree_dispatcher,
                                guint *staging_program_count);

ags_audio_tree_dispatcher_set_staging_program ()

void
ags_audio_tree_dispatcher_set_staging_program
                               (AgsAudioTreeDispatcher *audio_tree_dispatcher,
                                guint *staging_program,
                                guint staging_program_count);

Get tree list.

Parameters

audio_tree_dispatcher

the AgsAudioTreeDispatcher

 

staging_program

the staging program array.

[transfer none]

staging_program_count

the staging program count

 

Since: 8.0.0


ags_audio_tree_dispatcher_get_tree_list ()

GList *
ags_audio_tree_dispatcher_get_tree_list
                               (AgsAudioTreeDispatcher *audio_tree_dispatcher);

Get tree list.

Parameters

audio_tree_dispatcher

the AgsAudioTreeDispatcher

 

Returns

the tree list.

[transfer container]

Since: 8.0.0


ags_audio_tree_dispatcher_set_tree_list ()

void
ags_audio_tree_dispatcher_set_tree_list
                               (AgsAudioTreeDispatcher *audio_tree_dispatcher,
                                GList *tree_list);

Set tree list.

Parameters

audio_tree_dispatcher

the AgsAudioTreeDispatcher

 

tree_list

the GList containing AgsDispatchAudio.

[transfer full]

Since: 8.0.0


ags_audio_tree_dispatcher_get_tree_list_stamp ()

gint64
ags_audio_tree_dispatcher_get_tree_list_stamp
                               (AgsAudioTreeDispatcher *audio_tree_dispatcher);

Get tree list stamp.

Parameters

audio_tree_dispatcher

the AgsAudioTreeDispatcher

 

Returns

the tree list stamp

Since: 8.0.0


ags_audio_tree_dispatcher_set_tree_list_stamp ()

void
ags_audio_tree_dispatcher_set_tree_list_stamp
                               (AgsAudioTreeDispatcher *audio_tree_dispatcher,
                                gint64 tree_list_stamp);

Set tree list stamp.

Parameters

audio_tree_dispatcher

the AgsAudioTreeDispatcher

 

tree_list_stamp

the tree list stamp

 

Since: 8.0.0


ags_audio_tree_dispatcher_run ()

void
ags_audio_tree_dispatcher_run (AgsAudioTreeDispatcher *audio_tree_dispatcher);

Run the dispatcher.

Parameters

audio_tree_dispatcher

the AgsAudioTreeDispatcher

 

Since: 8.0.0


ags_audio_tree_dispatcher_new ()

AgsAudioTreeDispatcher *
ags_audio_tree_dispatcher_new ();

Creates a AgsAudioTreeDispatcher

Returns

a new AgsAudioTreeDispatcher

Since: 8.0.0

Types and Values

struct AgsDispatchAudio

struct AgsDispatchAudio {
  GObject *dispatch_source;

  gint sound_scope;

  GType tree_element_type;

  union{
    GObject *audio;
    GObject *output;
    GObject *input;
  }tree_element;

  GObject *recall_id;
  GObject *recycling_context;
};