Top |
GObject * | audio | Read / Write |
guint | audio-channel | Read |
guint | buffer-size | Read |
AgsRecycling * | first-recycling | Read |
guint | format | Read |
AgsRecycling * | last-recycling | Read |
guint | line | Read |
AgsChannel * | link | Read / Write |
gchar * | note | Read / Write |
guint | pad | Read |
AgsPattern * | pattern | Read / Write |
AgsRecall * | play | Read / Write |
AgsPlayback * | playback | Read / Write |
AgsRecall * | recall | Read / Write |
AgsRecallContainer * | recall-container | Read / Write |
AgsRecallID * | recall-id | Read / Write |
guint | samplerate | Read |
GObject * | soundcard | Read / Write |
gpointer | add-effect | Run Last |
void | done | Run Last |
void | recycling-changed | Run Last |
void | remove-effect | Run Last |
enum | AgsChannelFlags |
enum | AgsChannelRecallIDMode |
#define | AGS_CHANNEL_ERROR |
enum | AgsChannelError |
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.
AgsRecall * ags_channel_find_recall (AgsChannel *channel
,char *effect
,char *name
);
AgsChannel *
ags_channel_first (AgsChannel *channel
);
Iterates until the first AgsChannel was found.
Since: 0.3
AgsChannel *
ags_channel_last (AgsChannel *channel
);
Iterates until the last AgsChannel was found.
Since: 0.3
AgsChannel * ags_channel_nth (AgsChannel *channel
,guint nth
);
Iterates nth
times forward.
Since: 0.3
AgsChannel *
ags_channel_pad_first (AgsChannel *channel
);
Iterates until the first pad has been reached.
Since: 0.3
AgsChannel *
ags_channel_pad_last (AgsChannel *channel
);
Iterates until the last pad has been reached.
Since: 0.3
AgsChannel * ags_channel_pad_nth (AgsChannel *channel
,guint nth
);
Iterates nth times.
Since: 0.3
AgsChannel *
ags_channel_first_with_recycling (AgsChannel *channel
);
Iterates over pads forwards as long as there is no AgsRecycling on the AgsChannel.
Since: 0.3
AgsChannel *
ags_channel_last_with_recycling (AgsChannel *channel
);
Iterates over pads backwards as long as there is no AgsRecycling on the AgsChannel.
Since: 0.3
AgsChannel *
ags_channel_prev_with_recycling (AgsChannel *channel
);
AgsChannel *
ags_channel_next_with_recycling (AgsChannel *channel
);
void ags_channel_set_soundcard (AgsChannel *channel
,GObject *soundcard
);
Sets soundcard.
Since: 0.4
void ags_channel_set_samplerate (AgsChannel *channel
,guint samplerate
);
void ags_channel_set_buffer_size (AgsChannel *channel
,guint buffer_size
);
void ags_channel_remove_recall_id (AgsChannel *channel
,AgsRecallID *recall_id
);
Removes a recall id.
Since: 0.4
void ags_channel_add_recall_id (AgsChannel *channel
,AgsRecallID *recall_id
);
Adds a recall id.
Since: 0.4
void ags_channel_add_recall_container (AgsChannel *channel
,GObject *recall_container
);
Adds a recall container.
Since: 0.4
void ags_channel_remove_recall_container (AgsChannel *channel
,GObject *recall_container
);
Removes a recall container.
Since: 0.4
void ags_channel_remove_recall (AgsChannel *channel
,GObject *recall
,gboolean play
);
Removes a recall.
Since: 0.4
void ags_channel_add_recall (AgsChannel *channel
,GObject *recall
,gboolean play
);
Adds a recall.
Since: 0.4
void ags_channel_remove_pattern (AgsChannel *channel
,GObject *pattern
);
Removes a pattern.
Since: 0.7.2
GList * ags_channel_add_effect (AgsChannel *channel
,char *filename
,gchar *effect
);
void ags_channel_safe_resize_audio_signal (AgsChannel *channel
,guint length
);
Resize audio data.
Since: 0.4
void ags_channel_duplicate_recall (AgsChannel *channel
,AgsRecallID *recall_id
);
Duplicate AgsRecall templates for use with ags_channel_recursive_play()
,
but ags_channel_recursive_play_init()
may call this function for you.
channel |
an AgsChannel that contains the AgsRecall templates |
|
recall_id |
the AgsRecallID the newly allocated AgsRecall objects belongs to |
Since: 0.3
void ags_channel_resolve_recall (AgsChannel *channel
,AgsRecallID *recall_id
);
Resolve step of initialization.
Since: 0.4
void ags_channel_init_recall (AgsChannel *channel
,gint stage
,AgsRecallID *recall_id
);
Prepare AgsRecall objects to become runnning, ags_channel_recursive_play_init()
may call this function for you.
channel |
an AgsChannel that contains the recalls |
|
stage |
the stage to init |
|
recall_id |
the AgsRecallId this recall belongs to |
Since: 0.3
void ags_channel_play (AgsChannel *channel
,AgsRecallID *recall_id
,gint stage
);
Play one single run of stage
step.
channel |
an AgsChannel |
|
recall_id |
appropriate AgsRecallID |
|
stage |
run_pre, run_inter or run_post |
Since: 0.3
void ags_channel_done (AgsChannel *channel
,AgsRecallID *recall_id
);
Is emitted as playing channel is done.
Since: 0.4
void ags_channel_cancel (AgsChannel *channel
,AgsRecallID *recall_id
);
Calls for every matching recall_id
ags_recall_cancel()
Since: 0.3
void ags_channel_remove (AgsChannel *channel
,AgsRecallID *recall_id
);
Calls for every matching recall_id
ags_recall_remove()
Since: 0.3
void ags_channel_recall_id_set (AgsChannel *output
,AgsRecallID *recall_id
,gboolean ommit_own_channel
,guint mode
,...
);
GList *
ags_channel_find_port (AgsChannel *channel
);
Retrieve all ports of AgsChannel
Since: 0.4
void ags_channel_set_link (AgsChannel *channel
,AgsChannel *link
,GError **error
);
Change the linking of AgsChannel objects. Sets link, calls ags_channel_set_recycling()
and ags_channel_recursive_reset_recall_ids()
. Further it does loop detection and makes
your machine running. Thus it adds AgsRecallID. Asynchronously only.
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: 0.3
void ags_channel_set_recycling (AgsChannel *channel
,AgsRecycling *first_recycling
,AgsRecycling *last_recycling
,gboolean update
,gboolean destroy_old
);
Called by ags_channel_set_link()
to handle outdated AgsRecycling references.
Asynchronously only.
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 |
|
update |
reset allthough the AgsRecyclings are still the same |
|
destroy_old |
destroy old AgsRecyclings |
Since: 0.3
void ags_channel_recursive_reset_recycling_context (AgsChannel *channel
,AgsRecyclingContext *old_recycling_context
,AgsRecyclingContext *recycling_context
);
Resets the recycling container context. Asynchronously only.
channel |
the channel to reset |
|
old_recycling_context |
the old recycling container context |
|
recycling_context |
the new recycling container context |
Since: 0.4
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.
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: 0.3
AgsRecallID * ags_channel_recursive_play_init (AgsChannel *channel
,gint stage
,gboolean arrange_recall_id
,gboolean duplicate_templates
,gboolean do_playback
,gboolean do_sequencer
,gboolean do_notation
,gboolean resolve_dependencies
,AgsRecallID *recall_id
);
Make the tree ready for a new AgsPlayback. Only for asynchronous use, take a look at AgsInitChannel or AgsInitAudio task.
channel |
the AgsChannel to prepare |
|
stage |
valid values for |
|
arrange_recall_id |
|
|
duplicate_templates |
||
do_playback |
|
|
do_sequencer |
|
|
do_notation |
|
|
resolve_dependencies |
|
|
recall_id |
the initial recall id or |
Since: 0.3
void ags_channel_recursive_play_threaded (AgsChannel *channel
,AgsRecallID *recall_id
,gint stage
);
Super-threaded version of ags_channel_recursive_play()
one single run of stage
step. This
function expects to be called by AgsIteratorThread and having a functional AgsRecyclingThread
setup.
channel |
an AgsChannel |
|
recall_id |
appropriate AgsRecallID |
|
stage |
run_pre, run_inter or run_post |
Since: 0.4
void ags_channel_tillrecycling_cancel (AgsChannel *channel
,AgsRecallID *recall_id
);
Traverses the tree down and up and calls ags_channel_cancel()
for corresponding
recall_id
.
Since: 0.4
void ags_channel_recursive_reset_recall_ids (AgsChannel *channel
,AgsChannel *link
,AgsChannel *old_channel_link
,AgsChannel *old_link_link
);
Called by ags_channel_set_link()
to handle running AgsAudio objects correctly.
This function destroys AgsRecall objects which were uneeded because they became
invalid due to unlinking. By the way it destroys the uneeded AgsRecallID objects, too.
Additionally it creates AgsRecall and AgsRecallID objects to prepare becoming a
running object (AgsAudio or AgsChannel).
By the clean up the invalid AgsRecall objects will be removed.
Once the clean up has done ags_channel_recursive_play_init()
will be called for every
playing instance that was found.
channel |
an AgsChannel that was linked with |
|
link |
an AgsChannel that was linked with |
|
old_channel_link |
the old link of |
|
old_link_link |
the old link of |
Since: 0.4
AgsChannel *
ags_channel_new (GObject *audio
);
Creates a AgsChannel, linking tree to audio
.
Since: 0.3
“audio”
property“audio” GObject *
The audio it is assigned with.
Flags: Read / Write
Since: 0.4.0
“audio-channel”
property“audio-channel” guint
The nth audio channel.
Flags: Read
Allowed values: <= 65535
Default value: 0
“first-recycling”
property“first-recycling” AgsRecycling *
The first recycling it contains.
Flags: Read
Since: 0.7.2
“last-recycling”
property“last-recycling” AgsRecycling *
The last recycling it contains.
Flags: Read
Since: 0.7.2
“line”
property“line” guint
The nth line.
Flags: Read
Allowed values: <= 65535
Default value: 0
“link”
property“link” AgsChannel *
The link it is assigned with.
Flags: Read / Write
Since: 0.7.2
“note”
property“note” gchar *
The note it is assigned with.
Flags: Read / Write
Default value: NULL
Since: 0.7.2
“pattern”
property“pattern” AgsPattern *
The pattern it contains.
Flags: Read / Write
Since: 0.7.2
“playback”
property“playback” AgsPlayback *
The playback it is assigned with.
Flags: Read / Write
Since: 0.7.2
“recall-container”
property“recall-container” AgsRecallContainer *
The recall container it contains.
Flags: Read / Write
Since: 0.7.2
“recall-id”
property“recall-id” AgsRecallID *
The recall id it is assigned with.
Flags: Read / Write
Since: 0.7.2
“soundcard”
property“soundcard” GObject *
The soundcard it is assigned with.
Flags: Read / Write
Since: 0.4.0
“add-effect”
signalgpointer user_function (AgsChannel *channel, gchar *effect, gchar *arg2, gpointer user_data)
Flags: Run Last
“done”
signalvoid user_function (AgsChannel *channel, GObject *recall_id, gpointer user_data)
Flags: Run Last
“recycling-changed”
signalvoid user_function (AgsChannel *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, GObject *arg8, gpointer user_data)
Flags: Run Last
“remove-effect”
signalvoid user_function (AgsChannel *channel, guint nth, gpointer user_data)
Flags: Run Last