AgsChannel

AgsChannel — A channel is a node within the audio processing tree and does recycling

Stability Level

Stable, unless otherwise indicated

Functions

#define AGS_CHANNEL_GET_OBJ_MUTEX()
#define AGS_CHANNEL_GET_PLAY_MUTEX()
#define AGS_CHANNEL_GET_RECALL_MUTEX()
GQuark ags_channel_error_quark ()
GRecMutex * ags_channel_get_obj_mutex ()
GRecMutex * ags_channel_get_play_mutex ()
GRecMutex * ags_channel_get_recall_mutex ()
gboolean ags_channel_test_flags ()
void ags_channel_set_flags ()
void ags_channel_unset_flags ()
gboolean ags_channel_test_ability_flags ()
void ags_channel_set_ability_flags ()
void ags_channel_unset_ability_flags ()
gboolean ags_channel_test_behaviour_flags ()
void ags_channel_set_behaviour_flags ()
void ags_channel_unset_behaviour_flags ()
gboolean ags_channel_test_staging_flags ()
void ags_channel_set_staging_flags ()
void ags_channel_unset_staging_flags ()
gboolean ags_channel_test_staging_completed ()
void ags_channel_set_staging_completed ()
void ags_channel_unset_staging_completed ()
GObject * ags_channel_get_audio ()
void ags_channel_set_audio ()
AgsChannel * ags_channel_next ()
AgsChannel * ags_channel_prev ()
AgsChannel * ags_channel_next_pad ()
AgsChannel * ags_channel_prev_pad ()
AgsChannel * ags_channel_first ()
AgsChannel * ags_channel_last ()
AgsChannel * ags_channel_nth ()
AgsChannel * ags_channel_pad_first ()
AgsChannel * ags_channel_pad_last ()
AgsChannel * ags_channel_pad_nth ()
AgsChannel * ags_channel_first_with_recycling ()
AgsChannel * ags_channel_last_with_recycling ()
AgsChannel * ags_channel_prev_with_recycling ()
AgsChannel * ags_channel_next_with_recycling ()
AgsChannel * ags_channel_get_link ()
void ags_channel_set_link ()
void ags_channel_reset_recycling ()
void ags_channel_recycling_changed ()
GObject * ags_channel_get_output_soundcard ()
void ags_channel_set_output_soundcard ()
gint ags_channel_get_output_soundcard_channel ()
void ags_channel_set_output_soundcard_channel ()
GObject * ags_channel_get_input_soundcard ()
void ags_channel_set_input_soundcard ()
gint ags_channel_get_input_soundcard_channel ()
void ags_channel_set_input_soundcard_channel ()
guint ags_channel_get_samplerate ()
void ags_channel_set_samplerate ()
guint ags_channel_get_buffer_size ()
void ags_channel_set_buffer_size ()
AgsSoundcardFormat ags_channel_get_format ()
void ags_channel_set_format ()
guint ags_channel_get_pad ()
void ags_channel_set_pad ()
guint ags_channel_get_audio_channel ()
void ags_channel_set_audio_channel ()
guint ags_channel_get_line ()
void ags_channel_set_line ()
gint ags_channel_get_octave ()
void ags_channel_set_octave ()
guint ags_channel_get_key ()
void ags_channel_set_key ()
gint ags_channel_get_absolute_key ()
void ags_channel_set_absolute_key ()
GList * ags_channel_get_pattern ()
void ags_channel_set_pattern ()
void ags_channel_add_pattern ()
void ags_channel_remove_pattern ()
GObject * ags_channel_get_playback ()
void ags_channel_set_playback ()
GList * ags_channel_get_recall_id ()
void ags_channel_set_recall_id ()
void ags_channel_add_recall_id ()
void ags_channel_remove_recall_id ()
GList * ags_channel_get_recall_container ()
void ags_channel_set_recall_container ()
void ags_channel_add_recall_container ()
void ags_channel_remove_recall_container ()
GList * ags_channel_get_play ()
void ags_channel_set_play ()
GList * ags_channel_get_recall ()
void ags_channel_set_recall ()
void ags_channel_add_recall ()
void ags_channel_insert_recall ()
void ags_channel_remove_recall ()
void ags_channel_duplicate_recall ()
void ags_channel_resolve_recall ()
void ags_channel_init_recall ()
void ags_channel_play_recall ()
void ags_channel_done_recall ()
void ags_channel_cancel_recall ()
void ags_channel_cleanup_recall ()
GList * ags_channel_start ()
void ags_channel_stop ()
GList * ags_channel_check_scope ()
GList * ags_channel_collect_all_channel_ports ()
GList * ags_channel_collect_all_channel_ports_by_specifier_and_context ()
AgsChannel * ags_channel_get_level ()
void ags_channel_recursive_set_property ()
void ags_channel_recursive_run_stage ()
AgsChannel * ags_channel_new ()

Properties

int absolute-key Read / Write
AgsAudio * audio Read / Write
guint audio-channel Read
guint buffer-size Read / Write
AgsRecycling * first-recycling Read
guint format Read / Write
GObject * input-soundcard Read / Write
int input-soundcard-channel Read / Write
guint key Read / Write
AgsRecycling * last-recycling Read
guint line Read
AgsChannel * link Read / Write
guint midi-note Read / Write
AgsChannel * next Read
AgsChannel * next-pad Read
double note-frequency Read / Write
char * note-key Read / Write
int octave Read / Write
GObject * output-soundcard Read / Write
int output-soundcard-channel Read / Write
guint pad Read
gpointer pattern Read / Write
gpointer play Read / Write
AgsPlayback * playback Read / Write
AgsChannel * prev Read
AgsChannel * prev-pad Read
gpointer recall Read / Write
gpointer recall-container Read / Write
gpointer recall-id Read / Write
gpointer recycling-context Read / Write
guint samplerate Read / Write

Signals

void cancel-recall Run Last
gpointer check-scope Run Last
void cleanup-recall Run Last
void done-recall Run Last
void duplicate-recall Run Last
void init-recall Run Last
void play-recall Run Last
void recursive-run-stage Run Last
void recycling-changed Run Last
void resolve-recall Run Last
gpointer start Run Last
void stop Run Last

Types and Values

Object Hierarchy

    GFlags
    ╰── AgsChannelFlags
    GObject
    ╰── AgsChannel
        ├── AgsInput
        ╰── AgsOutput

Includes

#include <ags/audio/ags_channel.h>

Description

AgsChannel is the entry point to the entire audio tree and its nested recycling tree.

Every channel has its own AgsRecallID. As modifying link a new AgsRecyclingContext is indicated, since it acts as a kind of recall id tree context.

It hosts AgsPattern to implement step sequencers.

Make sure you have set the matching AgsSoundAbilityFlags flags using ags_channel_set_ability_flags(). This is going to setup threads per matching AgsSoundScope scope.

Multi-threaded processing per output line only applies if AGS_PLAYBACK_SUPER_THREADED_CHANNEL is set on matching AgsPlayback.

You might want to listen to changes in the nested recycling tree, too. ags_channel_recycling_changed() notifies about changes of processing structure in the deep audio tree.

The first-recycling and last-recycling property gives you the boundaries of processing structure in the audio tree.

If channel is an AgsOutput and is a signal source i.e. instrument or such first-recycling and last-recycling point to the very same AgsRecycling. In this case it is never altered.

On the other hand ags_channel_set_link() may alter your nested recycling tree. It may change the recycling context.

There are common functions to iterate channels.

There is a playback and recall context for hosting AgsRecall implementations. Usually you instantiate a recall for both contices. See play and recall properties.

Functions

AGS_CHANNEL_GET_OBJ_MUTEX()

#define AGS_CHANNEL_GET_OBJ_MUTEX(obj) (&(((AgsChannel *) obj)->obj_mutex))

AGS_CHANNEL_GET_PLAY_MUTEX()

#define AGS_CHANNEL_GET_PLAY_MUTEX(obj) (&(((AgsChannel *) obj)->play_mutex))

AGS_CHANNEL_GET_RECALL_MUTEX()

#define AGS_CHANNEL_GET_RECALL_MUTEX(obj) (&(((AgsChannel *) obj)->recall_mutex))

ags_channel_error_quark ()

GQuark
ags_channel_error_quark ();

ags_channel_get_obj_mutex ()

GRecMutex *
ags_channel_get_obj_mutex (AgsChannel *channel);

Get object mutex.

Parameters

channel

the AgsChannel

 

Returns

the GRecMutex to lock channel

Since: 3.1.0


ags_channel_get_play_mutex ()

GRecMutex *
ags_channel_get_play_mutex (AgsChannel *channel);

Get play mutex.

Parameters

channel

the AgsChannel

 

Returns

the GRecMutex to lock channel 's play property

Since: 3.1.0


ags_channel_get_recall_mutex ()

GRecMutex *
ags_channel_get_recall_mutex (AgsChannel *channel);

Get recall mutex.

Parameters

channel

the AgsChannel

 

Returns

the GRecMutex to lock channel 's recall property

Since: 3.1.0


ags_channel_test_flags ()

gboolean
ags_channel_test_flags (AgsChannel *channel,
                        AgsChannelFlags flags);

Test flags to be set on channel .

Parameters

channel

the AgsChannel

 

flags

the flags

 

Returns

TRUE if flags are set, else FALSE

Since: 3.0.0


ags_channel_set_flags ()

void
ags_channel_set_flags (AgsChannel *channel,
                       AgsChannelFlags flags);

Enable a feature of channel .

Parameters

channel

the AgsChannel

 

flags

see AgsChannelFlags

 

Since: 3.0.0


ags_channel_unset_flags ()

void
ags_channel_unset_flags (AgsChannel *channel,
                         AgsChannelFlags flags);

Disable a feature of channel .

Parameters

channel

the AgsChannel

 

flags

see AgsChannelFlags

 

Since: 3.0.0


ags_channel_test_ability_flags ()

gboolean
ags_channel_test_ability_flags (AgsChannel *channel,
                                AgsSoundAbilityFlags ability_flags);

Test ability_flags to be set on channel .

Parameters

channel

the AgsChannel

 

ability_flags

the ability flags

 

Returns

TRUE if flags are set, else FALSE

Since: 3.0.0


ags_channel_set_ability_flags ()

void
ags_channel_set_ability_flags (AgsChannel *channel,
                               AgsSoundAbilityFlags ability_flags);

Enable an ability of AgsChannel.

Parameters

channel

the AgsChannel

 

ability_flags

see enum AgsSoundAbilityFlags

 

Since: 3.0.0


ags_channel_unset_ability_flags ()

void
ags_channel_unset_ability_flags (AgsChannel *channel,
                                 AgsSoundAbilityFlags ability_flags);

Disable an ability of AgsChannel.

Parameters

channel

the AgsChannel

 

ability_flags

see enum AgsSoundAbilityFlags

 

Since: 3.0.0


ags_channel_test_behaviour_flags ()

gboolean
ags_channel_test_behaviour_flags (AgsChannel *channel,
                                  AgsSoundBehaviourFlags behaviour_flags);

Test behaviour_flags to be set on channel .

Parameters

channel

the AgsChannel

 

behaviour_flags

the behaviour flags

 

Returns

TRUE if flags are set, else FALSE

Since: 3.0.0


ags_channel_set_behaviour_flags ()

void
ags_channel_set_behaviour_flags (AgsChannel *channel,
                                 AgsSoundBehaviourFlags behaviour_flags);

Set behaviour flags.

Parameters

channel

the AgsChannel

 

behaviour_flags

the behaviour flags

 

Since: 3.0.0


ags_channel_unset_behaviour_flags ()

void
ags_channel_unset_behaviour_flags (AgsChannel *channel,
                                   AgsSoundBehaviourFlags behaviour_flags);

Unset behaviour flags.

Parameters

channel

the AgsChannel

 

behaviour_flags

the behaviour flags

 

Since: 3.0.0


ags_channel_test_staging_flags ()

gboolean
ags_channel_test_staging_flags (AgsChannel *channel,
                                gint sound_scope,
                                AgsSoundStagingFlags staging_flags);

Test staging_flags to be set on channel .

Parameters

channel

the AgsChannel

 

sound_scope

the AgsSoundScope to test

 

staging_flags

the staging flags

 

Returns

TRUE if flags are set, else FALSE

Since: 3.0.0


ags_channel_set_staging_flags ()

void
ags_channel_set_staging_flags (AgsChannel *channel,
                               gint sound_scope,
                               AgsSoundStagingFlags staging_flags);

Set staging flags.

Parameters

channel

the AgsChannel

 

sound_scope

the AgsSoundScope to apply, or -1 to apply to all

 

staging_flags

the staging flags

 

Since: 3.0.0


ags_channel_unset_staging_flags ()

void
ags_channel_unset_staging_flags (AgsChannel *channel,
                                 gint sound_scope,
                                 AgsSoundStagingFlags staging_flags);

Unset staging flags.

Parameters

channel

the AgsChannel

 

sound_scope

the AgsSoundScope to apply, or -1 to apply to all

 

staging_flags

the staging flags

 

Since: 3.0.0


ags_channel_test_staging_completed ()

gboolean
ags_channel_test_staging_completed (AgsChannel *channel,
                                    gint sound_scope);

Test sound_scope to be completed on channel .

Parameters

channel

the AgsChannel

 

sound_scope

the AgsSoundScope to test

 

Returns

TRUE if completed, otherwise FALSE

Since: 3.3.0


ags_channel_set_staging_completed ()

void
ags_channel_set_staging_completed (AgsChannel *channel,
                                   gint sound_scope);

Set sound_scope to be completed.

Parameters

channel

the AgsChannel

 

sound_scope

the AgsSoundScope to apply, or -1 to apply to all

 

Since: 3.3.0


ags_channel_unset_staging_completed ()

void
ags_channel_unset_staging_completed (AgsChannel *channel,
                                     gint sound_scope);

Unset sound_scope to be completed.

Parameters

channel

the AgsChannel

 

sound_scope

the AgsSoundScope to apply, or -1 to apply to all

 

Since: 3.3.0


ags_channel_get_audio ()

GObject *
ags_channel_get_audio (AgsChannel *channel);

Get audio.

Parameters

channel

the AgsChannel

 

Returns

the AgsAudio.

[transfer full]

Since: 3.1.0


ags_channel_set_audio ()

void
ags_channel_set_audio (AgsChannel *channel,
                       GObject *audio);

Set audio.

Parameters

channel

the AgsChannel

 

audio

the AgsAudio

 

Since: 3.1.0


ags_channel_next ()

AgsChannel *
ags_channel_next (AgsChannel *channel);

Iterate channel .

Parameters

channel

the AgsChannel

 

Returns

the next of AgsChannel if available, otherwise NULL.

[transfer full]

Since: 3.0.0


ags_channel_prev ()

AgsChannel *
ags_channel_prev (AgsChannel *channel);

Iterate channel .

Parameters

channel

the AgsChannel

 

Returns

the prev of AgsChannel if available, otherwise NULL.

[transfer full]

Since: 3.0.0


ags_channel_next_pad ()

AgsChannel *
ags_channel_next_pad (AgsChannel *channel);

Iterate channel .

Parameters

channel

the AgsChannel

 

Returns

the next pad of AgsChannel if available, otherwise NULL.

[transfer full]

Since: 3.0.0


ags_channel_prev_pad ()

AgsChannel *
ags_channel_prev_pad (AgsChannel *channel);

Iterate channel .

Parameters

channel

the AgsChannel

 

Returns

the prev pad of AgsChannel if available, otherwise NULL.

[transfer full]

Since: 3.0.0


ags_channel_first ()

AgsChannel *
ags_channel_first (AgsChannel *channel);

Iterates until the first AgsChannel was found.

Parameters

channel

an AgsChannel

 

Returns

the first AgsChannel.

[transfer full]

Since: 3.0.0


ags_channel_last ()

AgsChannel *
ags_channel_last (AgsChannel *channel);

Iterates until the last AgsChannel was found.

Parameters

channel

an AgsChannel

 

Returns

the last AgsChannel.

[transfer full]

Since: 3.0.0


ags_channel_nth ()

AgsChannel *
ags_channel_nth (AgsChannel *channel,
                 guint nth);

Iterates nth times forward.

Parameters

channel

an AgsChannel

 

nth

the count to iterate

 

Returns

the nth AgsChannel.

[transfer full]

Since: 3.0.0


ags_channel_pad_first ()

AgsChannel *
ags_channel_pad_first (AgsChannel *channel);

Iterates until the first pad has been reached.

Parameters

channel

an AgsChannel

 

Returns

the first AgsChannel with the same audio channel as channel .

[transfer full]

Since: 3.0.0


ags_channel_pad_last ()

AgsChannel *
ags_channel_pad_last (AgsChannel *channel);

Iterates until the last pad has been reached.

Parameters

channel

an AgsChannel

 

Returns

the last AgsChannel with the same audio channel as channel .

[transfer full]

Since: 3.0.0


ags_channel_pad_nth ()

AgsChannel *
ags_channel_pad_nth (AgsChannel *channel,
                     guint nth);

Iterates nth times.

Parameters

channel

an AgsChannel

 

nth

the count of pads to step

 

Returns

the nth pad.

[transfer full]

Since: 3.0.0


ags_channel_first_with_recycling ()

AgsChannel *
ags_channel_first_with_recycling (AgsChannel *channel);

Find first recycling related to channel .

Parameters

channel

an AgsChannel

 

Returns

the first channel with an AgsRecycling.

[transfer full]

Since: 3.0.0


ags_channel_last_with_recycling ()

AgsChannel *
ags_channel_last_with_recycling (AgsChannel *channel);

Find last recycling related to channel .

Parameters

channel

an AgsChannel

 

Returns

the last channel with an AgsRecycling.

[transfer full]

Since: 3.0.0


ags_channel_prev_with_recycling ()

AgsChannel *
ags_channel_prev_with_recycling (AgsChannel *channel);

Find previous AgsRecycling of channel .

Parameters

channel

an AgsChannel

 

Returns

the prev channel with an AgsRecycling.

[transfer full]

Since: 3.0.0


ags_channel_next_with_recycling ()

AgsChannel *
ags_channel_next_with_recycling (AgsChannel *channel);

Find next AgsRecycling of channel .

Parameters

channel

an AgsChannel

 

Returns

the next channel with an AgsRecycling.

[transfer full]

Since: 3.0.0


ags_channel_get_link ()

AgsChannel *
ags_channel_get_link (AgsChannel *channel);

Ascend/descend channel .

Parameters

channel

the AgsChannel

 

Returns

the link of AgsChannel if available, otherwise NULL.

[transfer full]

Since: 3.0.0


ags_channel_set_link ()

void
ags_channel_set_link (AgsChannel *channel,
                      AgsChannel *link,
                      GError **error);

Change the linking of AgsChannel objects. Sets link, calls ags_channel_reset_recycling(). Further it does loop detection and makes your machine running.

Parameters

channel

an AgsChannel to link

 

link

an other AgsChannel to link with

 

error

you may retrieve a AGS_CHANNEL_ERROR_LOOP_IN_LINK error

 

Since: 3.0.0


ags_channel_reset_recycling ()

void
ags_channel_reset_recycling (AgsChannel *channel,
                             AgsRecycling *first_recycling,
                             AgsRecycling *last_recycling);

Called by ags_channel_set_link() to handle outdated AgsRecycling references. Invoke only by a task.

Parameters

channel

the channel to reset

 

first_recycling

the recycling to set for channel->first_recycling

 

last_recycling

the recycling to set for channel->last_recycling

 

Since: 3.0.0


ags_channel_recycling_changed ()

void
ags_channel_recycling_changed (AgsChannel *channel,
                               AgsRecycling *old_start_region,
                               AgsRecycling *old_end_region,
                               AgsRecycling *new_start_region,
                               AgsRecycling *new_end_region,
                               AgsRecycling *old_start_changed_region,
                               AgsRecycling *old_end_changed_region,
                               AgsRecycling *new_start_changed_region,
                               AgsRecycling *new_end_changed_region);

Modify recycling. Asynchronously only.

Parameters

channel

the object recycling changed

 

old_start_region

first recycling

 

old_end_region

last recycling

 

new_start_region

new first recycling

 

new_end_region

new last recycling

 

old_start_changed_region

modified link recycling start

 

old_end_changed_region

modified link recyclig end

 

new_start_changed_region

replacing link recycling start

 

new_end_changed_region

replacing link recycling end

 

Since: 3.0.0


ags_channel_get_output_soundcard ()

GObject *
ags_channel_get_output_soundcard (AgsChannel *channel);

Get the output soundcard object of channel .

Parameters

channel

the AgsChannel

 

Returns

the output soundcard.

[transfer full]

Since: 3.1.0


ags_channel_set_output_soundcard ()

void
ags_channel_set_output_soundcard (AgsChannel *channel,
                                  GObject *output_soundcard);

Set the output soundcard object of channel .

Parameters

channel

an AgsChannel

 

output_soundcard

the GObject implementing AgsSoundcard

 

Since: 3.0.0


ags_channel_get_output_soundcard_channel ()

gint
ags_channel_get_output_soundcard_channel
                               (AgsChannel *channel);

Get the output soundcard object of channel .

Parameters

channel

the AgsChannel

 

Returns

the output soundcard

Since: 4.0.0


ags_channel_set_output_soundcard_channel ()

void
ags_channel_set_output_soundcard_channel
                               (AgsChannel *channel,
                                gint output_soundcard_channel);

Set the output soundcard channel of channel .

Parameters

channel

an AgsChannel

 

output_soundcard_channel

the output soundcard channel

 

Since: 4.0.0


ags_channel_get_input_soundcard ()

GObject *
ags_channel_get_input_soundcard (AgsChannel *channel);

Get the input soundcard object of channel .

Parameters

channel

the AgsChannel

 

Returns

the input soundcard.

[transfer full]

Since: 3.1.0


ags_channel_set_input_soundcard ()

void
ags_channel_set_input_soundcard (AgsChannel *channel,
                                 GObject *input_soundcard);

Set the input soundcard object of channel .

Parameters

channel

an AgsChannel

 

input_soundcard

the GObject implementing AgsSoundcard

 

Since: 3.0.0


ags_channel_get_input_soundcard_channel ()

gint
ags_channel_get_input_soundcard_channel
                               (AgsChannel *channel);

Get the input soundcard object of channel .

Parameters

channel

the AgsChannel

 

Returns

the input soundcard

Since: 4.0.0


ags_channel_set_input_soundcard_channel ()

void
ags_channel_set_input_soundcard_channel
                               (AgsChannel *channel,
                                gint input_soundcard_channel);

Set the input soundcard channel of channel .

Parameters

channel

an AgsChannel

 

input_soundcard_channel

the input soundcard channel

 

Since: 4.0.0


ags_channel_get_samplerate ()

guint
ags_channel_get_samplerate (AgsChannel *channel);

Gets samplerate.

Parameters

channel

the AgsChannel

 

Returns

the samplerate

Since: 3.1.0


ags_channel_set_samplerate ()

void
ags_channel_set_samplerate (AgsChannel *channel,
                            guint samplerate);

Set samplerate.

Parameters

channel

the AgsChannel

 

samplerate

the samplerate

 

Since: 3.0.0


ags_channel_get_buffer_size ()

guint
ags_channel_get_buffer_size (AgsChannel *channel);

Gets buffer size.

Parameters

channel

the AgsChannel

 

Returns

the buffer size

Since: 3.1.0


ags_channel_set_buffer_size ()

void
ags_channel_set_buffer_size (AgsChannel *channel,
                             guint buffer_size);

Set buffer-size.

Parameters

channel

the AgsChannel

 

buffer_size

the buffer_size

 

Since: 3.0.0


ags_channel_get_format ()

AgsSoundcardFormat
ags_channel_get_format (AgsChannel *channel);

Gets format.

Parameters

channel

the AgsChannel

 

Returns

the format

Since: 3.1.0


ags_channel_set_format ()

void
ags_channel_set_format (AgsChannel *channel,
                        AgsSoundcardFormat format);

Set format.

Parameters

channel

the AgsChannel

 

format

the format

 

Since: 3.0.0


ags_channel_get_pad ()

guint
ags_channel_get_pad (AgsChannel *channel);

Gets pad.

Parameters

channel

the AgsChannel

 

Returns

the pad

Since: 3.1.0


ags_channel_set_pad ()

void
ags_channel_set_pad (AgsChannel *channel,
                     guint pad);

Set pad.

Parameters

channel

the AgsChannel

 

pad

the pad

 

Since: 3.0.0


ags_channel_get_audio_channel ()

guint
ags_channel_get_audio_channel (AgsChannel *channel);

Gets audio_channel.

Parameters

channel

the AgsChannel

 

Returns

the audio_channel

Since: 3.1.0


ags_channel_set_audio_channel ()

void
ags_channel_set_audio_channel (AgsChannel *channel,
                               guint audio_channel);

Set audio_channel.

Parameters

channel

the AgsChannel

 

audio_channel

the audio_channel

 

Since: 3.0.0


ags_channel_get_line ()

guint
ags_channel_get_line (AgsChannel *channel);

Gets line.

Parameters

channel

the AgsChannel

 

Returns

the line

Since: 3.1.0


ags_channel_set_line ()

void
ags_channel_set_line (AgsChannel *channel,
                      guint line);

Set line.

Parameters

channel

the AgsChannel

 

line

the line

 

Since: 3.0.0


ags_channel_get_octave ()

gint
ags_channel_get_octave (AgsChannel *channel);

Gets octave.

Parameters

channel

the AgsChannel

 

Returns

the octave

Since: 3.1.0


ags_channel_set_octave ()

void
ags_channel_set_octave (AgsChannel *channel,
                        gint octave);

Sets octave.

Parameters

channel

the AgsChannel

 

octave

the octave

 

Since: 3.1.0


ags_channel_get_key ()

guint
ags_channel_get_key (AgsChannel *channel);

Gets key.

Parameters

channel

the AgsChannel

 

Returns

the key

Since: 3.1.0


ags_channel_set_key ()

void
ags_channel_set_key (AgsChannel *channel,
                     guint key);

Sets key.

Parameters

channel

the AgsChannel

 

key

the key

 

Since: 3.1.0


ags_channel_get_absolute_key ()

gint
ags_channel_get_absolute_key (AgsChannel *channel);

Gets absolute key.

Parameters

channel

the AgsChannel

 

Returns

the absolute key

Since: 3.1.0


ags_channel_set_absolute_key ()

void
ags_channel_set_absolute_key (AgsChannel *channel,
                              gint absolute_key);

Sets absolute key.

Parameters

channel

the AgsChannel

 

absolute_key

the absolute key

 

Since: 3.1.0


ags_channel_get_pattern ()

GList *
ags_channel_get_pattern (AgsChannel *channel);

Get pattern.

Parameters

channel

the AgsChannel

 

Returns

the GList containig AgsPattern.

[element-type AgsAudio.Pattern][transfer full]

Since: 3.1.0


ags_channel_set_pattern ()

void
ags_channel_set_pattern (AgsChannel *channel,
                         GList *pattern);

Set pattern by replacing existing.

Parameters

channel

the AgsChannel

 

pattern

the GList containing AgsPattern.

[element-type AgsAudio.Pattern][transfer full]

Since: 3.1.0


ags_channel_add_pattern ()

void
ags_channel_add_pattern (AgsChannel *channel,
                         GObject *pattern);

Removes a pattern.

Parameters

channel

an AgsChannel

 

pattern

the AgsPattern

 

Since: 3.0.0


ags_channel_remove_pattern ()

void
ags_channel_remove_pattern (AgsChannel *channel,
                            GObject *pattern);

Removes a pattern.

Parameters

channel

an AgsChannel

 

pattern

the AgsPattern

 

Since: 3.0.0


ags_channel_get_playback ()

GObject *
ags_channel_get_playback (AgsChannel *channel);

Get playback.

Parameters

channel

the AgsChannel

 

Returns

the AgsPlayback.

[transfer full]

Since: 3.1.0


ags_channel_set_playback ()

void
ags_channel_set_playback (AgsChannel *channel,
                          GObject *playback);

Set playback.

Parameters

channel

the AgsChannel

 

playback

the AgsPlayback

 

Since: 3.1.0


ags_channel_get_recall_id ()

GList *
ags_channel_get_recall_id (AgsChannel *channel);

Get recall id.

Parameters

channel

the AgsChannel

 

Returns

the GList containig AgsRecallID.

[element-type AgsAudio.RecallID][transfer full]

Since: 3.1.0


ags_channel_set_recall_id ()

void
ags_channel_set_recall_id (AgsChannel *channel,
                           GList *recall_id);

Set recall id by replacing existing.

Parameters

channel

the AgsChannel

 

recall_id

the GList containing AgsRecallID.

[element-type AgsAudio.RecallID][transfer full]

Since: 3.1.0


ags_channel_add_recall_id ()

void
ags_channel_add_recall_id (AgsChannel *channel,
                           AgsRecallID *recall_id);

Adds a recall id.

Parameters

channel

an AgsChannel

 

recall_id

the AgsRecallID

 

Since: 3.0.0


ags_channel_remove_recall_id ()

void
ags_channel_remove_recall_id (AgsChannel *channel,
                              AgsRecallID *recall_id);

Removes a recall id.

Parameters

channel

an AgsChannel

 

recall_id

the AgsRecallID

 

Since: 3.0.0


ags_channel_get_recall_container ()

GList *
ags_channel_get_recall_container (AgsChannel *channel);

Get recall_container.

Parameters

channel

the AgsChannel

 

Returns

the GList containig AgsRecallContainer.

[element-type AgsAudio.RecallContainer][transfer full]

Since: 3.1.0


ags_channel_set_recall_container ()

void
ags_channel_set_recall_container (AgsChannel *channel,
                                  GList *recall_container);

Set recall_container by replacing existing.

Parameters

channel

the AgsChannel

 

recall_container

the GList containing AgsRecallContainer.

[element-type AgsAudio.RecallContainer][transfer full]

Since: 3.1.0


ags_channel_add_recall_container ()

void
ags_channel_add_recall_container (AgsChannel *channel,
                                  GObject *recall_container);

Adds a recall container.

Parameters

channel

an AgsChannel

 

recall_container

the AgsRecallContainer

 

Since: 3.0.0


ags_channel_remove_recall_container ()

void
ags_channel_remove_recall_container (AgsChannel *channel,
                                     GObject *recall_container);

Removes a recall container.

Parameters

channel

an AgsChannel

 

recall_container

the AgsRecallContainer

 

Since: 3.0.0


ags_channel_get_play ()

GList *
ags_channel_get_play (AgsChannel *channel);

Get play.

Parameters

channel

the AgsChannel

 

Returns

the GList containig AgsRecall.

[element-type AgsAudio.Recall][transfer full]

Since: 3.1.0


ags_channel_set_play ()

void
ags_channel_set_play (AgsChannel *channel,
                      GList *play);

Set play by replacing existing.

Parameters

channel

the AgsChannel

 

play

the GList containing AgsRecall.

[element-type AgsAudio.Recall][transfer full]

Since: 3.1.0


ags_channel_get_recall ()

GList *
ags_channel_get_recall (AgsChannel *channel);

Get recall.

Parameters

channel

the AgsChannel

 

Returns

the GList containig AgsRecall.

[element-type AgsAudio.Recall][transfer full]

Since: 3.1.0


ags_channel_set_recall ()

void
ags_channel_set_recall (AgsChannel *channel,
                        GList *recall);

Set recall by replacing existing.

Parameters

channel

the AgsChannel

 

recall

the GList containing AgsRecall.

[element-type AgsAudio.Recall][transfer full]

Since: 3.1.0


ags_channel_add_recall ()

void
ags_channel_add_recall (AgsChannel *channel,
                        GObject *recall,
                        gboolean play_context);

Adds a recall.

Parameters

channel

an AgsChannel

 

recall

the AgsRecall

 

play_context

TRUE if play context, else if FALSE recall context

 

Since: 3.0.0


ags_channel_insert_recall ()

void
ags_channel_insert_recall (AgsChannel *channel,
                           GObject *recall,
                           gboolean play_context,
                           gint position);

Insert recall at position in channel 's play_context .

Parameters

channel

an AgsChannel

 

recall

the AgsRecall

 

play_context

TRUE if play context, else if FALSE recall context

 

position

the position

 

Since: 3.3.0


ags_channel_remove_recall ()

void
ags_channel_remove_recall (AgsChannel *channel,
                           GObject *recall,
                           gboolean play_context);

Removes a recall.

Parameters

channel

an AgsChannel

 

recall

the AgsRecall

 

play_context

TRUE if play context, else if FALSE recall context

 

Since: 3.0.0


ags_channel_duplicate_recall ()

void
ags_channel_duplicate_recall (AgsChannel *channel,
                              AgsRecallID *recall_id);

Duplicate AgsRecall template and assign recall_id to it.

Parameters

channel

the AgsChannel

 

recall_id

the AgsRecallID

 

Since: 3.0.0


ags_channel_resolve_recall ()

void
ags_channel_resolve_recall (AgsChannel *channel,
                            AgsRecallID *recall_id);

Resolve step of initialization.

Parameters

channel

an AgsChannel

 

recall_id

appropriate AgsRecallID

 

Since: 3.0.0


ags_channel_init_recall ()

void
ags_channel_init_recall (AgsChannel *channel,
                         AgsRecallID *recall_id,
                         AgsSoundStagingFlags staging_flags);

Prepare AgsRecall objects and invoke “run-init-pre”, “run-init-inter” or “run-init-post” as specified by staging_flags .

Parameters

channel

the AgsChannel

 

recall_id

the AgsRecallID

 

staging_flags

the stages to invoke

 

Since: 3.0.0


ags_channel_play_recall ()

void
ags_channel_play_recall (AgsChannel *channel,
                         AgsRecallID *recall_id,
                         AgsSoundStagingFlags staging_flags);

Run the specified steps by recall_id of channel .

Parameters

channel

the AgsChannel

 

recall_id

the AgsRecallID

 

staging_flags

the stages to invoke

 

Since: 3.0.0


ags_channel_done_recall ()

void
ags_channel_done_recall (AgsChannel *channel,
                         AgsRecallID *recall_id);

Done processing specified by recall_id .

Parameters

channel

the AgsChannel

 

recall_id

the AgsRecallID

 

Since: 3.0.0


ags_channel_cancel_recall ()

void
ags_channel_cancel_recall (AgsChannel *channel,
                           AgsRecallID *recall_id);

Cancel processing specified by recall_id .

Parameters

channel

the AgsChannel

 

recall_id

the AgsRecallID

 

Since: 3.0.0


ags_channel_cleanup_recall ()

void
ags_channel_cleanup_recall (AgsChannel *channel,
                            AgsRecallID *recall_id);

Cleanup processing specified by recall_id .

Parameters

channel

the AgsChannel

 

recall_id

the AgsRecallID

 

Since: 3.0.0


ags_channel_start ()

GList *
ags_channel_start (AgsChannel *channel,
                   gint sound_scope);

Start channel 's sound_scope to do playback.

Parameters

channel

the AgsChannel

 

sound_scope

the sound scope

 

Returns

the GList containing AgsRecallID.

[element-type AgsAudio.RecallID][transfer full]

Since: 3.0.0


ags_channel_stop ()

void
ags_channel_stop (AgsChannel *channel,
                  GList *recall_id,
                  gint sound_scope);

Stop channel 's sound_scope playback specified by recall_id .

Parameters

channel

the AgsChannel

 

recall_id

the GList containing AgsRecallID.

[element-type AgsAudio.RecallID][transfer none]

sound_scope

the sound scope

 

Since: 3.0.0


ags_channel_check_scope ()

GList *
ags_channel_check_scope (AgsChannel *channel,
                         gint sound_scope);

Check channel 's sound_scope .

Parameters

channel

the AgsChannel

 

sound_scope

the sound scope

 

Returns

the GList containing AgsRecallID or NULL if not playing.

[element-type AgsAudio.RecallID][transfer full]

Since: 3.0.0


ags_channel_collect_all_channel_ports ()

GList *
ags_channel_collect_all_channel_ports (AgsChannel *channel);

Retrieve all ports of AgsChannel.

Parameters

channel

the AgsChannel

 

Returns

a new GList containing AgsPort.

[element-type AgsAudio.Port][transfer full]

Since: 3.0.0


ags_channel_collect_all_channel_ports_by_specifier_and_context ()

GList *
ags_channel_collect_all_channel_ports_by_specifier_and_context
                               (AgsChannel *channel,
                                gchar *specifier,
                                gboolean play_context);

Retrieve specified port of AgsChannel

Parameters

channel

an AgsChannel

 

specifier

the port's name

 

play_context

either TRUE for play or FALSE for recall

 

Returns

a GList of AgsPort if found, otherwise NULL.

[element-type AgsAudio.Port][transfer full]

Since: 3.0.0


ags_channel_get_level ()

AgsChannel *
ags_channel_get_level (AgsChannel *channel);

Get level.

Parameters

channel

the AgsChannel

 

Returns

the level of channel as AgsChannel or NULL if no parent recycling.

[transfer full]

Since: 3.0.0


ags_channel_recursive_set_property ()

void
ags_channel_recursive_set_property (AgsChannel *channel,
                                    gint n_params,
                                    gchar **parameter_name,
                                    GValue *value);

Recursive set property for AgsChannel.

Parameters

channel

the AgsChannel

 

n_params

the count of paramter name and value pairs

 

parameter_name

a string vector containing parameter names

 

value

the value array

 

Since: 3.0.0


ags_channel_recursive_run_stage ()

void
ags_channel_recursive_run_stage (AgsChannel *channel,
                                 gint sound_scope,
                                 AgsSoundStagingFlags staging_flags);

Recursive run stage specified by staging_flags for matching sound_scope .

Parameters

channel

the AgsChannel

 

sound_scope

the sound scope

 

staging_flags

the staging flags

 

Since: 3.0.0


ags_channel_new ()

AgsChannel *
ags_channel_new (GObject *audio);

Creates a new instance of AgsChannel, linking tree to audio .

Parameters

audio

the AgsAudio

 

Returns

a new AgsChannel

Since: 3.0.0

Types and Values

AGS_CHANNEL_MINIMUM_OCTAVE

#define AGS_CHANNEL_MINIMUM_OCTAVE (0)

AGS_CHANNEL_MAXIMUM_OCTAVE

#define AGS_CHANNEL_MAXIMUM_OCTAVE (10)

AGS_CHANNEL_DEFAULT_OCTAVE

#define AGS_CHANNEL_DEFAULT_OCTAVE (AGS_CHANNEL_MINIMUM_OCTAVE)

AGS_CHANNEL_MINIMUM_OCTAVE_SEMITONE

#define AGS_CHANNEL_MINIMUM_OCTAVE_SEMITONE (0)

AGS_CHANNEL_MAXIMUM_OCTAVE_SEMITONE

#define AGS_CHANNEL_MAXIMUM_OCTAVE_SEMITONE (12)

AGS_CHANNEL_DEFAULT_OCTAVE_SEMITONE

#define AGS_CHANNEL_DEFAULT_OCTAVE_SEMITONE (AGS_CHANNEL_MINIMUM_OCTAVE_SEMITONE)

AGS_CHANNEL_MINIMUM_SEMITONE

#define AGS_CHANNEL_MINIMUM_SEMITONE (0)

AGS_CHANNEL_MAXIMUM_SEMITONE

#define AGS_CHANNEL_MAXIMUM_SEMITONE (128)

AGS_CHANNEL_DEFAULT_SEMITONE

#define AGS_CHANNEL_DEFAULT_SEMITONE (AGS_CHANNEL_MINIMUM_SEMITONE)

AGS_CHANNEL_MINIMUM_NOTE_FREQUENCY

#define AGS_CHANNEL_MINIMUM_NOTE_FREQUENCY (440.0 * exp((-69.0 / 12.0) * log(2.0)))

AGS_CHANNEL_MAXIMUM_NOTE_FREQUENCY

#define AGS_CHANNEL_MAXIMUM_NOTE_FREQUENCY (440.0 * exp((58.0 / 12.0) * log(2.0)))

AGS_CHANNEL_DEFAULT_NOTE_FREQUENCY

#define AGS_CHANNEL_DEFAULT_NOTE_FREQUENCY (AGS_CHANNEL_MINIMUM_NOTE_FREQUENCY)

AGS_CHANNEL_MINIMUM_MIDI_NOTE

#define AGS_CHANNEL_MINIMUM_MIDI_NOTE (0)

AGS_CHANNEL_MAXIMUM_MIDI_NOTE

#define AGS_CHANNEL_MAXIMUM_MIDI_NOTE (127)

AGS_CHANNEL_DEFAULT_MIDI_NOTE

#define AGS_CHANNEL_DEFAULT_MIDI_NOTE (AGS_CHANNEL_MINIMUM_MIDI_NOTE)

enum AgsChannelFlags

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

Members

AGS_CHANNEL_BYPASS

don't apply any data

 

AGS_CHANNEL_ERROR

#define AGS_CHANNEL_ERROR (ags_channel_error_quark())

enum AgsChannelError

Members

AGS_CHANNEL_ERROR_LOOP_IN_LINK

   

Property Details

The “absolute-key” property

  “absolute-key”             int

The nth absolute key.

Owner: AgsChannel

Flags: Read / Write

Allowed values: [0,128]

Default value: 0

Since: 3.0.0


The “audio” property

  “audio”                    AgsAudio *

The assigned AgsAudio aligning channels.

Owner: AgsChannel

Flags: Read / Write

Since: 3.0.0


The “audio-channel” property

  “audio-channel”            guint

The nth audio channel.

Owner: AgsChannel

Flags: Read

Default value: 0

Since: 3.0.0


The “buffer-size” property

  “buffer-size”              guint

The buffer size.

Owner: AgsChannel

Flags: Read / Write

Default value: 0

Since: 3.0.0


The “first-recycling” property

  “first-recycling”          AgsRecycling *

The containing AgsRecycling it takes it AgsAudioSignal from.

Owner: AgsChannel

Flags: Read

Since: 3.0.0


The “format” property

  “format”                   guint

The format.

Owner: AgsChannel

Flags: Read / Write

Default value: 0

Since: 3.0.0


The “input-soundcard” property

  “input-soundcard”          GObject *

The assigned input AgsSoundcard.

Owner: AgsChannel

Flags: Read / Write

Since: 3.0.0


The “input-soundcard-channel” property

  “input-soundcard-channel”  int

The input soundcard channel.

Owner: AgsChannel

Flags: Read / Write

Allowed values: >= -1

Default value: 0

Since: 3.0.0


The “key” property

  “key”                      guint

The nth key.

Owner: AgsChannel

Flags: Read / Write

Allowed values: <= 12

Default value: 0

Since: 3.0.0


The “last-recycling” property

  “last-recycling”           AgsRecycling *

The containing AgsRecycling it takes it AgsAudioSignal from.

Owner: AgsChannel

Flags: Read

Since: 3.0.0


The “line” property

  “line”                     guint

The nth line.

Owner: AgsChannel

Flags: Read

Default value: 0

Since: 3.0.0


The “link” property

  “link”                     AgsChannel *

The assigned link as AgsChannel.

Owner: AgsChannel

Flags: Read / Write

Since: 3.0.0


The “midi-note” property

  “midi-note”                guint

The nth midi note.

Owner: AgsChannel

Flags: Read / Write

Allowed values: <= 127

Default value: 0

Since: 3.0.0


The “next” property

  “next”                     AgsChannel *

The assigned next AgsChannel.

Owner: AgsChannel

Flags: Read

Since: 3.0.0


The “next-pad” property

  “next-pad”                 AgsChannel *

The assigned next pad AgsChannel.

Owner: AgsChannel

Flags: Read

Since: 3.0.0


The “note-frequency” property

  “note-frequency”           double

The note frequency.

Owner: AgsChannel

Flags: Read / Write

Allowed values: [8.1758,12543.9]

Default value: 8.1758

Since: 3.0.0


The “note-key” property

  “note-key”                 char *

The assigned note key representing this channel.

Owner: AgsChannel

Flags: Read / Write

Default value: NULL

Since: 3.0.0


The “octave” property

  “octave”                   int

The nth octave.

Owner: AgsChannel

Flags: Read / Write

Allowed values: [0,10]

Default value: 0

Since: 3.0.0


The “output-soundcard” property

  “output-soundcard”         GObject *

The assigned output AgsSoundcard.

Owner: AgsChannel

Flags: Read / Write

Since: 3.0.0


The “output-soundcard-channel” property

  “output-soundcard-channel” int

The output soundcard channel.

Owner: AgsChannel

Flags: Read / Write

Allowed values: >= -1

Default value: 0

Since: 3.0.0


The “pad” property

  “pad”                      guint

The nth pad.

Owner: AgsChannel

Flags: Read

Default value: 0

Since: 3.0.0


The “pattern” property

  “pattern”                  gpointer

The containing AgsPattern.

[transfer full]

Owner: AgsChannel

Flags: Read / Write

Since: 3.0.0


The “play” property

  “play”                     gpointer

The containing AgsRecall in play-context.

[transfer full]

Owner: AgsChannel

Flags: Read / Write

Since: 3.0.0


The “playback” property

  “playback”                 AgsPlayback *

The assigned AgsPlayback.

Owner: AgsChannel

Flags: Read / Write

Since: 3.0.0


The “prev” property

  “prev”                     AgsChannel *

The assigned prev AgsChannel.

Owner: AgsChannel

Flags: Read

Since: 3.0.0


The “prev-pad” property

  “prev-pad”                 AgsChannel *

The assigned prev pad AgsChannel.

Owner: AgsChannel

Flags: Read

Since: 3.0.0


The “recall” property

  “recall”                   gpointer

The containing AgsRecall in recall-context.

[transfer full]

Owner: AgsChannel

Flags: Read / Write

Since: 3.0.0


The “recall-container” property

  “recall-container”         gpointer

The containing AgsRecallContainer.

[transfer full]

Owner: AgsChannel

Flags: Read / Write

Since: 3.0.0


The “recall-id” property

  “recall-id”                gpointer

The assigned AgsRecallID.

[transfer full]

Owner: AgsChannel

Flags: Read / Write

Since: 3.0.0


The “recycling-context” property

  “recycling-context”        gpointer

The containing AgsRecyclingContext.

[transfer full]

Owner: AgsChannel

Flags: Read / Write

Since: 3.0.0


The “samplerate” property

  “samplerate”               guint

The samplerate.

Owner: AgsChannel

Flags: Read / Write

Default value: 0

Since: 3.0.0

Signal Details

The “cancel-recall” signal

void
user_function (AgsChannel *channel,
               GObject    *recall_id,
               gpointer    user_data)

The ::cancel-recall signal is invoked during termination of playback.

Parameters

channel

the AgsChannel

 

recall_id

the appropriate AgsRecallID

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 3.0.0


The “check-scope” signal

gpointer
user_function (AgsChannel *channel,
               int         sound_scope,
               gpointer    user_data)

The ::check-scope signal gives you control of checking scope.

Parameters

channel

the AgsChannel

 

sound_scope

the sound scope

 

user_data

user data set when the signal handler was connected.

 

Returns

the GList containing AgsRecallID

Flags: Run Last

Since: 3.0.0


The “cleanup-recall” signal

void
user_function (AgsChannel *channel,
               GObject    *recall_id,
               gpointer    user_data)

The ::cleanup-recall signal is invoked during termination of playback.

Parameters

channel

the AgsChannel

 

recall_id

the appropriate AgsRecallID

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 3.0.0


The “done-recall” signal

void
user_function (AgsChannel *channel,
               GObject    *recall_id,
               gpointer    user_data)

The ::done-recall signal is invoked during termination of playback.

Parameters

channel

the AgsChannel

 

recall_id

the appropriate AgsRecallID

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 3.0.0


The “duplicate-recall” signal

void
user_function (AgsChannel *channel,
               GObject    *recall_id,
               gpointer    user_data)

The ::duplicate-recall signal is invoked during playback initialization.

Parameters

channel

the AgsChannel

 

recall_id

the appropriate AgsRecallID

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 3.0.0


The “init-recall” signal

void
user_function (AgsChannel *channel,
               GObject    *recall_id,
               guint       staging_flags,
               gpointer    user_data)

The ::init-recall signal is invoked during playback initialization.

Parameters

channel

the AgsChannel

 

recall_id

the appropriate AgsRecallID

 

staging_flags

the staging flags

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 3.0.0


The “play-recall” signal

void
user_function (AgsChannel *channel,
               GObject    *recall_id,
               guint       staging_flags,
               gpointer    user_data)

The ::play-recall signal is invoked during playback run.

Parameters

channel

the AgsChannel

 

recall_id

the appropriate AgsRecallID

 

staging_flags

the staging flags

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 3.0.0


The “recursive-run-stage” signal

void
user_function (AgsChannel *channel,
               int         sound_scope,
               guint       staging_flags,
               gpointer    user_data)

The ::recursive-run-stage signal gives you control of checking scope.

Parameters

channel

the AgsChannel

 

sound_scope

the sound scope

 

staging_flags

the staging flags

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 3.0.0


The “recycling-changed” signal

void
user_function (AgsChannel *channel,
               GObject    *old_start_region,
               GObject    *old_end_region,
               GObject    *new_start_region,
               GObject    *new_end_region,
               GObject    *old_start_changed_region,
               GObject    *old_end_changed_region,
               GObject    *new_start_changed_region,
               GObject    *new_end_changed_region,
               gpointer    user_data)

The ::recycling-changed signal is invoked to notify modified recycling tree.

Parameters

channel

the AgsChannel recycling changed

 

old_start_region

first AgsRecycling

 

old_end_region

last AgsRecycling

 

new_start_region

new first AgsRecycling

 

new_end_region

new last AgsRecycling

 

old_start_changed_region

modified link AgsRecycling start

 

old_end_changed_region

modified link AgsRecyclig end

 

new_start_changed_region

replacing link AgsRecycling start

 

new_end_changed_region

replacing link AgsRecycling end

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 3.0.0


The “resolve-recall” signal

void
user_function (AgsChannel *channel,
               GObject    *recall_id,
               gpointer    user_data)

The ::resolve-recall signal is invoked during playback initialization.

Parameters

channel

the AgsChannel

 

recall_id

the appropriate AgsRecallID

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 3.0.0


The “start” signal

gpointer
user_function (AgsChannel *channel,
               int         sound_scope,
               gpointer    user_data)

The ::start signal is invoked as playback starts.

Parameters

channel

the AgsChannel

 

sound_scope

the sound scope

 

user_data

user data set when the signal handler was connected.

 

Returns

the GList containing AgsRecallID.

[type GLib.List][element-type AgsAudio.RecallID][transfer full]

Flags: Run Last

Since: 3.0.0


The “stop” signal

void
user_function (AgsChannel *channel,
               gpointer    recall_id,
               int         sound_scope,
               gpointer    user_data)

The ::stop signal is invoked as playback stops.

Parameters

channel

the AgsChannel

 

recall_id

the GList containing AgsRecallID

 

sound_scope

the sound scope

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 3.0.0