Since AgsAudio is your entry point to do sound processing there are some useful
functions to set it up, but later on them. Instances of AgsRecallAudio base object
may be added or removed with
void ags_audio_add_recall(AgsAudio*, GObject*, gboolean)
void ags_audio_remove_recall(AgsAudio*, GObject*, gboolean).
You can initialize the sound processing tree with
AgsRecallID* ags_audio_recursive_play_init(AgsAudio, gint, gboolean, gboolean, gboolean, gboolean, AgsRecallID*).
This invokes successive
void ags_audio_init_recall(AgsAudio*, gint, AgsRecallID*),
void ags_channel_init_recall(AgsAudio*, gint, AgsRecallID*) and related
within your tree.
The following signals are triggered during playback ::play, ::tact and ::done - ::cancel and ::remove during termination.