| Top |
| #define | AGS_CHANNEL_MINIMUM_OCTAVE |
| #define | AGS_CHANNEL_MAXIMUM_OCTAVE |
| #define | AGS_CHANNEL_DEFAULT_OCTAVE |
| #define | AGS_CHANNEL_MINIMUM_OCTAVE_SEMITONE |
| #define | AGS_CHANNEL_MAXIMUM_OCTAVE_SEMITONE |
| #define | AGS_CHANNEL_DEFAULT_OCTAVE_SEMITONE |
| #define | AGS_CHANNEL_MINIMUM_SEMITONE |
| #define | AGS_CHANNEL_MAXIMUM_SEMITONE |
| #define | AGS_CHANNEL_DEFAULT_SEMITONE |
| #define | AGS_CHANNEL_MINIMUM_NOTE_FREQUENCY |
| #define | AGS_CHANNEL_MAXIMUM_NOTE_FREQUENCY |
| #define | AGS_CHANNEL_DEFAULT_NOTE_FREQUENCY |
| #define | AGS_CHANNEL_MINIMUM_MIDI_NOTE |
| #define | AGS_CHANNEL_MAXIMUM_MIDI_NOTE |
| #define | AGS_CHANNEL_DEFAULT_MIDI_NOTE |
| enum | AgsChannelFlags |
| #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.
#define AGS_CHANNEL_GET_OBJ_MUTEX(obj) (&(((AgsChannel *) obj)->obj_mutex))
#define AGS_CHANNEL_GET_PLAY_MUTEX(obj) (&(((AgsChannel *) obj)->play_mutex))
#define AGS_CHANNEL_GET_RECALL_MUTEX(obj) (&(((AgsChannel *) obj)->recall_mutex))
GRecMutex *
ags_channel_get_obj_mutex (AgsChannel *channel);
Get object mutex.
Since: 3.1.0
GRecMutex *
ags_channel_get_play_mutex (AgsChannel *channel);
Get play mutex.
Since: 3.1.0
GRecMutex *
ags_channel_get_recall_mutex (AgsChannel *channel);
Get recall mutex.
Since: 3.1.0
gboolean ags_channel_test_flags (AgsChannel *channel,guint flags);
Test flags
to be set on channel
.
Since: 3.0.0
void ags_channel_set_flags (AgsChannel *channel,guint flags);
Enable a feature of channel
.
Since: 3.0.0
void ags_channel_unset_flags (AgsChannel *channel,guint flags);
Disable a feature of channel
.
Since: 3.0.0
gboolean ags_channel_test_ability_flags (AgsChannel *channel,guint ability_flags);
Test ability_flags
to be set on channel
.
Since: 3.0.0
void ags_channel_set_ability_flags (AgsChannel *channel,guint ability_flags);
Enable an ability of AgsChannel.
Since: 3.0.0
void ags_channel_unset_ability_flags (AgsChannel *channel,guint ability_flags);
Disable an ability of AgsChannel.
Since: 3.0.0
gboolean ags_channel_test_behaviour_flags (AgsChannel *channel,guint behaviour_flags);
Test behaviour_flags
to be set on channel
.
Since: 3.0.0
void ags_channel_set_behaviour_flags (AgsChannel *channel,guint behaviour_flags);
Set behaviour flags.
Since: 3.0.0
void ags_channel_unset_behaviour_flags (AgsChannel *channel,guint behaviour_flags);
Unset behaviour flags.
Since: 3.0.0
gboolean ags_channel_test_staging_flags (AgsChannel *channel,gint sound_scope,guint staging_flags);
Test staging_flags
to be set on channel
.
channel |
the AgsChannel |
|
sound_scope |
the AgsSoundScope to test |
|
staging_flags |
the staging flags |
Since: 3.0.0
void ags_channel_set_staging_flags (AgsChannel *channel,gint sound_scope,guint staging_flags);
Set staging flags.
channel |
the AgsChannel |
|
sound_scope |
the AgsSoundScope to apply, or -1 to apply to all |
|
staging_flags |
the staging flags |
Since: 3.0.0
void ags_channel_unset_staging_flags (AgsChannel *channel,gint sound_scope,guint staging_flags);
Unset staging flags.
channel |
the AgsChannel |
|
sound_scope |
the AgsSoundScope to apply, or -1 to apply to all |
|
staging_flags |
the staging flags |
Since: 3.0.0
gboolean ags_channel_test_staging_completed (AgsChannel *channel,gint sound_scope);
Test sound_scope
to be completed on channel
.
Since: 3.3.0
void ags_channel_set_staging_completed (AgsChannel *channel,gint sound_scope);
Set sound_scope
to be completed.
Since: 3.3.0
void ags_channel_unset_staging_completed (AgsChannel *channel,gint sound_scope);
Unset sound_scope
to be completed.
Since: 3.3.0
GObject *
ags_channel_get_audio (AgsChannel *channel);
Get audio.
Since: 3.1.0
void ags_channel_set_audio (AgsChannel *channel,GObject *audio);
Set audio.
Since: 3.1.0
AgsChannel *
ags_channel_next (AgsChannel *channel);
Iterate channel
.
Since: 3.0.0
AgsChannel *
ags_channel_prev (AgsChannel *channel);
Iterate channel
.
Since: 3.0.0
AgsChannel *
ags_channel_next_pad (AgsChannel *channel);
Iterate channel
.
Since: 3.0.0
AgsChannel *
ags_channel_prev_pad (AgsChannel *channel);
Iterate channel
.
Since: 3.0.0
AgsChannel *
ags_channel_first (AgsChannel *channel);
Iterates until the first AgsChannel was found.
Since: 3.0.0
AgsChannel *
ags_channel_last (AgsChannel *channel);
Iterates until the last AgsChannel was found.
Since: 3.0.0
AgsChannel * ags_channel_nth (AgsChannel *channel,guint nth);
Iterates nth
times forward.
Since: 3.0.0
AgsChannel *
ags_channel_pad_first (AgsChannel *channel);
Iterates until the first pad has been reached.
Since: 3.0.0
AgsChannel *
ags_channel_pad_last (AgsChannel *channel);
Iterates until the last pad has been reached.
Since: 3.0.0
AgsChannel * ags_channel_pad_nth (AgsChannel *channel,guint nth);
Iterates nth times.
Since: 3.0.0
AgsChannel *
ags_channel_first_with_recycling (AgsChannel *channel);
Find first recycling related to channel
.
Since: 3.0.0
AgsChannel *
ags_channel_last_with_recycling (AgsChannel *channel);
Find last recycling related to channel
.
Since: 3.0.0
AgsChannel *
ags_channel_prev_with_recycling (AgsChannel *channel);
Find previous AgsRecycling of channel
.
Since: 3.0.0
AgsChannel *
ags_channel_next_with_recycling (AgsChannel *channel);
Find next AgsRecycling of channel
.
Since: 3.0.0
AgsChannel *
ags_channel_get_link (AgsChannel *channel);
Ascend/descend channel
.
Since: 3.0.0
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.
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
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.
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
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: 3.0.0
GObject *
ags_channel_get_output_soundcard (AgsChannel *channel);
Get the output soundcard object of channel
.
Since: 3.1.0
void ags_channel_set_output_soundcard (AgsChannel *channel,GObject *output_soundcard);
Set the output soundcard object of channel
.
Since: 3.0.0
GObject *
ags_channel_get_input_soundcard (AgsChannel *channel);
Get the input soundcard object of channel
.
Since: 3.1.0
void ags_channel_set_input_soundcard (AgsChannel *channel,GObject *input_soundcard);
Set the input soundcard object of channel
.
Since: 3.0.0
guint
ags_channel_get_samplerate (AgsChannel *channel);
Gets samplerate.
Since: 3.1.0
void ags_channel_set_samplerate (AgsChannel *channel,guint samplerate);
Set samplerate.
Since: 3.0.0
guint
ags_channel_get_buffer_size (AgsChannel *channel);
Gets buffer size.
Since: 3.1.0
void ags_channel_set_buffer_size (AgsChannel *channel,guint buffer_size);
Set buffer-size.
Since: 3.0.0
guint
ags_channel_get_format (AgsChannel *channel);
Gets format.
Since: 3.1.0
void ags_channel_set_format (AgsChannel *channel,guint format);
Set format.
Since: 3.0.0
void ags_channel_set_pad (AgsChannel *channel,guint pad);
Set pad.
Since: 3.0.0
guint
ags_channel_get_audio_channel (AgsChannel *channel);
Gets audio_channel.
Since: 3.1.0
void ags_channel_set_audio_channel (AgsChannel *channel,guint audio_channel);
Set audio_channel.
Since: 3.0.0
void ags_channel_set_line (AgsChannel *channel,guint line);
Set line.
Since: 3.0.0
gint
ags_channel_get_octave (AgsChannel *channel);
Gets octave.
Since: 3.1.0
void ags_channel_set_octave (AgsChannel *channel,gint octave);
Sets octave.
Since: 3.1.0
void ags_channel_set_key (AgsChannel *channel,guint key);
Sets key.
Since: 3.1.0
gint
ags_channel_get_absolute_key (AgsChannel *channel);
Gets absolute key.
Since: 3.1.0
void ags_channel_set_absolute_key (AgsChannel *channel,gint absolute_key);
Sets absolute key.
Since: 3.1.0
GList *
ags_channel_get_pattern (AgsChannel *channel);
Get pattern.
Since: 3.1.0
void ags_channel_set_pattern (AgsChannel *channel,GList *pattern);
Set pattern by replacing existing.
channel |
the AgsChannel |
|
pattern |
the GList containing AgsPattern. |
[element-type AgsAudio.Pattern][transfer full] |
Since: 3.1.0
void ags_channel_add_pattern (AgsChannel *channel,GObject *pattern);
Removes a pattern.
Since: 3.0.0
void ags_channel_remove_pattern (AgsChannel *channel,GObject *pattern);
Removes a pattern.
Since: 3.0.0
GObject *
ags_channel_get_playback (AgsChannel *channel);
Get playback.
Since: 3.1.0
void ags_channel_set_playback (AgsChannel *channel,GObject *playback);
Set playback.
Since: 3.1.0
GList *
ags_channel_get_recall_id (AgsChannel *channel);
Get recall id.
Since: 3.1.0
void ags_channel_set_recall_id (AgsChannel *channel,GList *recall_id);
Set recall id by replacing existing.
channel |
the AgsChannel |
|
recall_id |
the GList containing AgsRecallID. |
[element-type AgsAudio.RecallID][transfer full] |
Since: 3.1.0
void ags_channel_add_recall_id (AgsChannel *channel,AgsRecallID *recall_id);
Adds a recall id.
Since: 3.0.0
void ags_channel_remove_recall_id (AgsChannel *channel,AgsRecallID *recall_id);
Removes a recall id.
Since: 3.0.0
GList *
ags_channel_get_recall_container (AgsChannel *channel);
Get recall_container.
the GList containig AgsRecallContainer.
[element-type AgsAudio.RecallContainer][transfer full]
Since: 3.1.0
void ags_channel_set_recall_container (AgsChannel *channel,GList *recall_container);
Set recall_container by replacing existing.
channel |
the AgsChannel |
|
recall_container |
the GList containing AgsRecallContainer. |
[element-type AgsAudio.RecallContainer][transfer full] |
Since: 3.1.0
void ags_channel_add_recall_container (AgsChannel *channel,GObject *recall_container);
Adds a recall container.
Since: 3.0.0
void ags_channel_remove_recall_container (AgsChannel *channel,GObject *recall_container);
Removes a recall container.
Since: 3.0.0
void ags_channel_set_play (AgsChannel *channel,GList *play);
Set play by replacing existing.
channel |
the AgsChannel |
|
play |
the GList containing AgsRecall. |
[element-type AgsAudio.Recall][transfer full] |
Since: 3.1.0
GList *
ags_channel_get_recall (AgsChannel *channel);
Get recall.
Since: 3.1.0
void ags_channel_set_recall (AgsChannel *channel,GList *recall);
Set recall by replacing existing.
channel |
the AgsChannel |
|
recall |
the GList containing AgsRecall. |
[element-type AgsAudio.Recall][transfer full] |
Since: 3.1.0
void ags_channel_add_recall (AgsChannel *channel,GObject *recall,gboolean play_context);
Adds a recall.
Since: 3.0.0
void ags_channel_insert_recall (AgsChannel *channel,GObject *recall,gboolean play_context,gint position);
Insert recall
at position
in channel
's play_context
.
Since: 3.3.0
void ags_channel_remove_recall (AgsChannel *channel,GObject *recall,gboolean play_context);
Removes a recall.
Since: 3.0.0
GList * ags_channel_add_effect (AgsChannel *channel,char *filename,gchar *effect);
Add specified effect to channel
.
Since: 3.0.0
void ags_channel_remove_effect (AgsChannel *channel,guint nth);
Remove specified effect of channel
.
Since: 3.0.0
void ags_channel_duplicate_recall (AgsChannel *channel,AgsRecallID *recall_id);
Duplicate AgsRecall template and assign recall_id
to it.
Since: 3.0.0
void ags_channel_resolve_recall (AgsChannel *channel,AgsRecallID *recall_id);
Resolve step of initialization.
Since: 3.0.0
void ags_channel_init_recall (AgsChannel *channel,AgsRecallID *recall_id,guint staging_flags);
Prepare AgsRecall objects and invoke “run-init-pre”, “run-init-inter” or
“run-init-post” as specified by staging_flags
.
Since: 3.0.0
void ags_channel_play_recall (AgsChannel *channel,AgsRecallID *recall_id,guint staging_flags);
Run the specified steps by recall_id
of channel
.
Since: 3.0.0
void ags_channel_done_recall (AgsChannel *channel,AgsRecallID *recall_id);
Done processing specified by recall_id
.
Since: 3.0.0
void ags_channel_cancel_recall (AgsChannel *channel,AgsRecallID *recall_id);
Cancel processing specified by recall_id
.
Since: 3.0.0
void ags_channel_cleanup_recall (AgsChannel *channel,AgsRecallID *recall_id);
Cleanup processing specified by recall_id
.
Since: 3.0.0
GList * ags_channel_start (AgsChannel *channel,gint sound_scope);
Start channel
's sound_scope
to do playback.
Since: 3.0.0
void ags_channel_stop (AgsChannel *channel,GList *recall_id,gint sound_scope);
Stop channel
's sound_scope
playback specified by recall_id
.
channel |
the AgsChannel |
|
recall_id |
the GList containing AgsRecallID. |
[element-type AgsAudio.RecallID][transfer none] |
sound_scope |
the sound scope |
Since: 3.0.0
GList * ags_channel_check_scope (AgsChannel *channel,gint sound_scope);
Check channel
's sound_scope
.
the GList containing AgsRecallID or NULL if not playing.
[element-type AgsAudio.RecallID][transfer full]
Since: 3.0.0
GList *
ags_channel_collect_all_channel_ports (AgsChannel *channel);
Retrieve all ports of AgsChannel.
Since: 3.0.0
GList * ags_channel_collect_all_channel_ports_by_specifier_and_context (AgsChannel *channel,gchar *specifier,gboolean play_context);
Retrieve specified port of AgsChannel
Since: 3.0.0
AgsChannel *
ags_channel_get_level (AgsChannel *channel);
Get level.
Since: 3.0.0
void ags_channel_recursive_set_property (AgsChannel *channel,gint n_params,gchar **parameter_name,GValue *value);
Recursive set property for AgsChannel.
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
void ags_channel_recursive_run_stage (AgsChannel *channel,gint sound_scope,guint staging_flags);
Recursive run stage specified by staging_flags
for matching sound_scope
.
Since: 3.0.0
AgsChannel *
ags_channel_new (GObject *audio);
Creates a new instance of AgsChannel, linking tree to audio
.
Since: 3.0.0
#define AGS_CHANNEL_DEFAULT_OCTAVE_SEMITONE (AGS_CHANNEL_MINIMUM_OCTAVE_SEMITONE)
#define AGS_CHANNEL_MINIMUM_NOTE_FREQUENCY (440.0 * exp((-69.0 / 12.0) * log(2.0)))
#define AGS_CHANNEL_MAXIMUM_NOTE_FREQUENCY (440.0 * exp((58.0 / 12.0) * log(2.0)))
#define AGS_CHANNEL_DEFAULT_NOTE_FREQUENCY (AGS_CHANNEL_MINIMUM_NOTE_FREQUENCY)
Enum values to control the behavior or indicate internal state of AgsChannel by enable/disable as flags.