Top |
Functions
Properties
absolute-key | Read / Write | |
AgsAudio * | audio | Read / Write |
audio-channel | Read | |
buffer-size | Read / Write | |
AgsRecycling * | first-recycling | Read |
format | Read / Write | |
|
input-soundcard | Read / Write |
input-soundcard-channel | Read / Write | |
key | Read / Write | |
AgsRecycling * | last-recycling | Read |
line | Read | |
AgsChannel * | link | Read / Write |
midi-note | Read / Write | |
AgsChannel * | next | Read |
AgsChannel * | next-pad | Read |
note-frequency | Read / Write | |
|
note-key | Read / Write |
octave | Read / Write | |
|
output-soundcard | Read / Write |
output-soundcard-channel | Read / Write | |
pad | Read | |
pattern | Read / Write | |
play | Read / Write | |
AgsPlayback * | playback | Read / Write |
AgsChannel * | prev | Read |
AgsChannel * | prev-pad | Read |
recall | Read / Write | |
recall-container | Read / Write | |
recall-id | Read / Write | |
recycling-context | Read / Write | |
samplerate | Read / Write |
Signals
cancel-recall | ||
check-scope | ||
cleanup-recall | ||
done-recall | ||
duplicate-recall | ||
init-recall | ||
play-recall | ||
recursive-run-stage | ||
recycling-changed | ||
resolve-recall | ||
start | ||
stop |
Types and Values
#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 |
#define | AGS_TYPE_CHANNEL |
struct | AgsChannel |
struct | AgsChannelClass |
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 ags_channel_set_ability_flags()
. This is going to setup threads per matching
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_get_obj_mutex ()
GRecMutex * ags_channel_get_obj_mutex (AgsChannel *channel
);
Get object mutex.
Since:
ags_channel_get_play_mutex ()
GRecMutex * ags_channel_get_play_mutex (AgsChannel *channel
);
Get play mutex.
Since:
ags_channel_get_recall_mutex ()
GRecMutex * ags_channel_get_recall_mutex (AgsChannel *channel
);
Get recall mutex.
Since:
ags_channel_test_flags ()
gboolean ags_channel_test_flags (AgsChannel *channel
,AgsChannelFlags flags
);
Test flags
to be set on channel
.
Since:
ags_channel_set_flags ()
void ags_channel_set_flags (AgsChannel *channel
,AgsChannelFlags flags
);
Enable a feature of channel
.
Since:
ags_channel_unset_flags ()
void ags_channel_unset_flags (AgsChannel *channel
,AgsChannelFlags flags
);
Disable a feature of channel
.
Since:
ags_channel_test_ability_flags ()
gboolean ags_channel_test_ability_flags (AgsChannel *channel
,AgsSoundAbilityFlags ability_flags
);
Test ability_flags
to be set on channel
.
Since:
ags_channel_set_ability_flags ()
void ags_channel_set_ability_flags (AgsChannel *channel
,AgsSoundAbilityFlags ability_flags
);
Enable an ability of AgsChannel.
Since:
ags_channel_unset_ability_flags ()
void ags_channel_unset_ability_flags (AgsChannel *channel
,AgsSoundAbilityFlags ability_flags
);
Disable an ability of AgsChannel.
Since:
ags_channel_test_behaviour_flags ()
gboolean ags_channel_test_behaviour_flags (AgsChannel *channel
,AgsSoundBehaviourFlags behaviour_flags
);
Test behaviour_flags
to be set on channel
.
Since:
ags_channel_set_behaviour_flags ()
void ags_channel_set_behaviour_flags (AgsChannel *channel
,AgsSoundBehaviourFlags behaviour_flags
);
Set behaviour flags.
Since:
ags_channel_unset_behaviour_flags ()
void ags_channel_unset_behaviour_flags (AgsChannel *channel
,AgsSoundBehaviourFlags behaviour_flags
);
Unset behaviour flags.
Since:
ags_channel_test_staging_flags ()
gboolean ags_channel_test_staging_flags (AgsChannel *channel
,,
gint sound_scopeAgsSoundStagingFlags 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 |
Since:
ags_channel_set_staging_flags ()
void ags_channel_set_staging_flags (AgsChannel *channel
,,
gint sound_scopeAgsSoundStagingFlags 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:
ags_channel_unset_staging_flags ()
void ags_channel_unset_staging_flags (AgsChannel *channel
,,
gint sound_scopeAgsSoundStagingFlags 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:
ags_channel_test_staging_completed ()
gboolean ags_channel_test_staging_completed (AgsChannel *channel
,);
gint sound_scope
Test sound_scope
to be completed on channel
.
Since:
ags_channel_set_staging_completed ()
void ags_channel_set_staging_completed (AgsChannel *channel
,);
gint sound_scope
Set sound_scope
to be completed.
Since:
ags_channel_unset_staging_completed ()
void ags_channel_unset_staging_completed (AgsChannel *channel
,);
gint sound_scope
Unset sound_scope
to be completed.
Since:
ags_channel_get_audio ()
GObject * ags_channel_get_audio (AgsChannel *channel
);
Get audio.
Since:
ags_channel_set_audio ()
void ags_channel_set_audio (AgsChannel *channel
,);
GObject *audio
Set audio.
Since:
ags_channel_next ()
AgsChannel *
ags_channel_next (AgsChannel *channel
);
Iterate channel
.
Since:
ags_channel_prev ()
AgsChannel *
ags_channel_prev (AgsChannel *channel
);
Iterate channel
.
Since:
ags_channel_next_pad ()
AgsChannel *
ags_channel_next_pad (AgsChannel *channel
);
Iterate channel
.
Since:
ags_channel_prev_pad ()
AgsChannel *
ags_channel_prev_pad (AgsChannel *channel
);
Iterate channel
.
Since:
ags_channel_first ()
AgsChannel *
ags_channel_first (AgsChannel *channel
);
Iterates until the first AgsChannel was found.
Since:
ags_channel_last ()
AgsChannel *
ags_channel_last (AgsChannel *channel
);
Iterates until the last AgsChannel was found.
Since:
ags_channel_nth ()
AgsChannel * ags_channel_nth (AgsChannel *channel
,);
guint nth
Iterates nth
times forward.
Since:
ags_channel_pad_first ()
AgsChannel *
ags_channel_pad_first (AgsChannel *channel
);
Iterates until the first pad has been reached.
Since:
ags_channel_pad_last ()
AgsChannel *
ags_channel_pad_last (AgsChannel *channel
);
Iterates until the last pad has been reached.
Since:
ags_channel_pad_nth ()
AgsChannel * ags_channel_pad_nth (AgsChannel *channel
,);
guint nth
Iterates nth times.
Since:
ags_channel_first_with_recycling ()
AgsChannel *
ags_channel_first_with_recycling (AgsChannel *channel
);
Find first recycling related to channel
.
Since:
ags_channel_last_with_recycling ()
AgsChannel *
ags_channel_last_with_recycling (AgsChannel *channel
);
Find last recycling related to channel
.
Since:
ags_channel_prev_with_recycling ()
AgsChannel *
ags_channel_prev_with_recycling (AgsChannel *channel
);
Find previous AgsRecycling of channel
.
Since:
ags_channel_next_with_recycling ()
AgsChannel *
ags_channel_next_with_recycling (AgsChannel *channel
);
Find next AgsRecycling of channel
.
Since:
ags_channel_get_link ()
AgsChannel *
ags_channel_get_link (AgsChannel *channel
);
Ascend/descend channel
.
Since:
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:
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:
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:
ags_channel_get_output_soundcard ()
GObject * ags_channel_get_output_soundcard (AgsChannel *channel
);
Get the output soundcard object of channel
.
Since:
ags_channel_set_output_soundcard ()
void ags_channel_set_output_soundcard (AgsChannel *channel
,);
GObject *output_soundcard
Set the output soundcard object of channel
.
Since:
ags_channel_get_output_soundcard_channel ()
gint ags_channel_get_output_soundcard_channel (AgsChannel *channel
);
Get the output soundcard object of channel
.
Since:
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
.
Since:
ags_channel_get_input_soundcard ()
GObject * ags_channel_get_input_soundcard (AgsChannel *channel
);
Get the input soundcard object of channel
.
Since:
ags_channel_set_input_soundcard ()
void ags_channel_set_input_soundcard (AgsChannel *channel
,);
GObject *input_soundcard
Set the input soundcard object of channel
.
Since:
ags_channel_get_input_soundcard_channel ()
gint ags_channel_get_input_soundcard_channel (AgsChannel *channel
);
Get the input soundcard object of channel
.
Since:
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
.
Since:
ags_channel_get_samplerate ()
guint ags_channel_get_samplerate (AgsChannel *channel
);
Gets samplerate.
Since:
ags_channel_set_samplerate ()
void ags_channel_set_samplerate (AgsChannel *channel
,);
guint samplerate
Set samplerate.
Since:
ags_channel_get_buffer_size ()
guint ags_channel_get_buffer_size (AgsChannel *channel
);
Gets buffer size.
Since:
ags_channel_set_buffer_size ()
void ags_channel_set_buffer_size (AgsChannel *channel
,);
guint buffer_size
Set buffer-size.
Since:
ags_channel_get_format ()
AgsSoundcardFormat ags_channel_get_format (AgsChannel *channel
);
Gets format.
Since:
ags_channel_set_format ()
void ags_channel_set_format (AgsChannel *channel
,);
AgsSoundcardFormat format
Set format.
Since:
ags_channel_set_pad ()
void ags_channel_set_pad (AgsChannel *channel
,);
guint pad
Set pad.
Since:
ags_channel_get_audio_channel ()
guint ags_channel_get_audio_channel (AgsChannel *channel
);
Gets audio_channel.
Since:
ags_channel_set_audio_channel ()
void ags_channel_set_audio_channel (AgsChannel *channel
,);
guint audio_channel
Set audio_channel.
Since:
ags_channel_set_line ()
void ags_channel_set_line (AgsChannel *channel
,);
guint line
Set line.
Since:
ags_channel_get_octave ()
gint ags_channel_get_octave (AgsChannel *channel
);
Gets octave.
Since:
ags_channel_set_octave ()
void ags_channel_set_octave (AgsChannel *channel
,);
gint octave
Sets octave.
Since:
ags_channel_set_key ()
void ags_channel_set_key (AgsChannel *channel
,);
guint key
Sets key.
Since:
ags_channel_get_absolute_key ()
gint ags_channel_get_absolute_key (AgsChannel *channel
);
Gets absolute key.
Since:
ags_channel_set_absolute_key ()
void ags_channel_set_absolute_key (AgsChannel *channel
,);
gint absolute_key
Sets absolute key.
Since:
ags_channel_get_pattern ()
GList * ags_channel_get_pattern (AgsChannel *channel
);
Get pattern.
Since:
ags_channel_set_pattern ()
void ags_channel_set_pattern (AgsChannel *channel
,);
GList *pattern
Set pattern by replacing existing.
Parameters
channel |
the AgsChannel |
|
pattern |
the |
[element-type AgsAudio.Pattern][transfer full] |
Since:
ags_channel_add_pattern ()
void ags_channel_add_pattern (AgsChannel *channel
,);
GObject *pattern
Removes a pattern.
Since:
ags_channel_remove_pattern ()
void ags_channel_remove_pattern (AgsChannel *channel
,);
GObject *pattern
Removes a pattern.
Since:
ags_channel_get_playback ()
GObject * ags_channel_get_playback (AgsChannel *channel
);
Get playback.
Since:
ags_channel_set_playback ()
void ags_channel_set_playback (AgsChannel *channel
,);
GObject *playback
Set playback.
Since:
ags_channel_get_recall_id ()
GList * ags_channel_get_recall_id (AgsChannel *channel
);
Get recall id.
Since:
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 |
[element-type AgsAudio.RecallID][transfer full] |
Since:
ags_channel_add_recall_id ()
void ags_channel_add_recall_id (AgsChannel *channel
,AgsRecallID *recall_id
);
Adds a recall id.
Since:
ags_channel_remove_recall_id ()
void ags_channel_remove_recall_id (AgsChannel *channel
,AgsRecallID *recall_id
);
Removes a recall id.
Since:
ags_channel_get_recall_container ()
GList * ags_channel_get_recall_container (AgsChannel *channel
);
Get recall_container.
Returns
the
[element-type AgsAudio.RecallContainer][transfer full]
Since:
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 |
[element-type AgsAudio.RecallContainer][transfer full] |
Since:
ags_channel_add_recall_container ()
void ags_channel_add_recall_container (AgsChannel *channel
,);
GObject *recall_container
Adds a recall container.
Since:
ags_channel_remove_recall_container ()
void ags_channel_remove_recall_container (AgsChannel *channel
,);
GObject *recall_container
Removes a recall container.
Since:
ags_channel_set_play ()
void ags_channel_set_play (AgsChannel *channel
,);
GList *play
Set play by replacing existing.
Parameters
channel |
the AgsChannel |
|
play |
the |
[element-type AgsAudio.Recall][transfer full] |
Since:
ags_channel_get_recall ()
GList * ags_channel_get_recall (AgsChannel *channel
);
Get recall.
Since:
ags_channel_set_recall ()
void ags_channel_set_recall (AgsChannel *channel
,);
GList *recall
Set recall by replacing existing.
Parameters
channel |
the AgsChannel |
|
recall |
the |
[element-type AgsAudio.Recall][transfer full] |
Since:
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 |
|
Since:
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 |
|
|
position |
the position |
Since:
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 |
|
Since:
ags_channel_duplicate_recall ()
void ags_channel_duplicate_recall (AgsChannel *channel
,AgsRecallID *recall_id
);
Duplicate AgsRecall template and assign recall_id
to it.
Since:
ags_channel_resolve_recall ()
void ags_channel_resolve_recall (AgsChannel *channel
,AgsRecallID *recall_id
);
Resolve step of initialization.
Since:
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
.
Since:
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
.
Since:
ags_channel_done_recall ()
void ags_channel_done_recall (AgsChannel *channel
,AgsRecallID *recall_id
);
Done processing specified by recall_id
.
Since:
ags_channel_cancel_recall ()
void ags_channel_cancel_recall (AgsChannel *channel
,AgsRecallID *recall_id
);
Cancel processing specified by recall_id
.
Since:
ags_channel_cleanup_recall ()
void ags_channel_cleanup_recall (AgsChannel *channel
,AgsRecallID *recall_id
);
Cleanup processing specified by recall_id
.
Since:
ags_channel_start ()
GList * ags_channel_start (AgsChannel *channel
,);
gint sound_scope
Start channel
's sound_scope
to do playback.
Since:
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 |
[element-type AgsAudio.RecallID][transfer none] |
sound_scope |
the sound scope |
Since:
ags_channel_check_scope ()
GList * ags_channel_check_scope (AgsChannel *channel
,);
gint sound_scope
Check channel
's sound_scope
.
Returns
the NULL
[element-type AgsAudio.RecallID][transfer full]
Since:
ags_channel_collect_all_channel_ports ()
GList * ags_channel_collect_all_channel_ports (AgsChannel *channel
);
Retrieve all ports of AgsChannel.
Since:
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 |
Since:
ags_channel_get_level ()
AgsChannel *
ags_channel_get_level (AgsChannel *channel
);
Get level.
Since:
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:
ags_channel_recursive_run_stage ()
void ags_channel_recursive_run_stage (AgsChannel *channel
,,
gint sound_scopeAgsSoundStagingFlags staging_flags
);
Recursive run stage specified by staging_flags
for matching sound_scope
.
Since:
ags_channel_new ()
AgsChannel *
ags_channel_new (GObject *audio
);
Creates a new instance of AgsChannel, linking tree to audio
.
Since:
AGS_CHANNEL()
#define AGS_CHANNEL(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), AGS_TYPE_CHANNEL, AgsChannel))
AGS_CHANNEL_CLASS()
#define AGS_CHANNEL_CLASS(class) (G_TYPE_CHECK_CLASS_CAST((class), AGS_TYPE_CHANNEL, AgsChannelClass))
AGS_CHANNEL_GET_CLASS()
#define AGS_CHANNEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), AGS_TYPE_CHANNEL, AgsChannelClass))
AGS_IS_CHANNEL_CLASS()
#define AGS_IS_CHANNEL_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), AGS_TYPE_CHANNEL))
Types and Values
AGS_CHANNEL_DEFAULT_OCTAVE_SEMITONE
#define AGS_CHANNEL_DEFAULT_OCTAVE_SEMITONE (AGS_CHANNEL_MINIMUM_OCTAVE_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)
enum AgsChannelFlags
Enum values to control the behavior or indicate internal state of AgsChannel by enable/disable as flags.
struct AgsChannelClass
struct AgsChannelClass { GObjectClass gobject; void (*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); void (*duplicate_recall)(AgsChannel *channel, AgsRecallID *recall_id); void (*resolve_recall)(AgsChannel *channel, AgsRecallID *recall_id); void (*init_recall)(AgsChannel *channel, AgsRecallID *recall_id, AgsSoundStagingFlags staging_flags); void (*play_recall)(AgsChannel *channel, AgsRecallID *recall_id, AgsSoundStagingFlags staging_flags); void (*done_recall)(AgsChannel *channel, AgsRecallID *recall_id); void (*cancel_recall)(AgsChannel *channel, AgsRecallID *recall_id); void (*cleanup_recall)(AgsChannel *channel, AgsRecallID *recall_id); GList* (*start)(AgsChannel *channel, gint sound_scope); void (*stop)(AgsChannel *channel, GList *recall_id, gint sound_scope); GList* (*check_scope)(AgsChannel *channel, gint sound_scope); void (*recursive_run_stage)(AgsChannel *channel, gint sound_scope, AgsSoundStagingFlags staging_flags); };
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:
The “audio”
property
“audio” AgsAudio *
The assigned AgsAudio aligning channels.
Owner: AgsChannel
Flags: Read / Write
Since:
The “audio-channel”
property
“audio-channel”guint
The nth audio channel.
Owner: AgsChannel
Flags: Read
Default value: 0
Since:
The “buffer-size”
property
“buffer-size”guint
The buffer size.
Owner: AgsChannel
Flags: Read / Write
Default value: 0
Since:
The “first-recycling”
property
“first-recycling” AgsRecycling *
The containing AgsRecycling it takes it AgsAudioSignal from.
Owner: AgsChannel
Flags: Read
Since:
The “format”
property
“format”guint
The format.
Owner: AgsChannel
Flags: Read / Write
Default value: 0
Since:
The “input-soundcard”
property
“input-soundcard”GObject *
The assigned input
Owner: AgsChannel
Flags: Read / Write
Since:
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:
The “key”
property
“key”guint
The nth key.
Owner: AgsChannel
Flags: Read / Write
Allowed values: <= 12
Default value: 0
Since:
The “last-recycling”
property
“last-recycling” AgsRecycling *
The containing AgsRecycling it takes it AgsAudioSignal from.
Owner: AgsChannel
Flags: Read
Since:
The “line”
property
“line”guint
The nth line.
Owner: AgsChannel
Flags: Read
Default value: 0
Since:
The “link”
property
“link” AgsChannel *
The assigned link as AgsChannel.
Owner: AgsChannel
Flags: Read / Write
Since:
The “midi-note”
property
“midi-note”guint
The nth midi note.
Owner: AgsChannel
Flags: Read / Write
Allowed values: <= 127
Default value: 0
Since:
The “next”
property
“next” AgsChannel *
The assigned next AgsChannel.
Owner: AgsChannel
Flags: Read
Since:
The “next-pad”
property
“next-pad” AgsChannel *
The assigned next pad AgsChannel.
Owner: AgsChannel
Flags: Read
Since:
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:
The “note-key”
property
“note-key”char *
The assigned note key representing this channel.
Owner: AgsChannel
Flags: Read / Write
Default value: NULL
Since:
The “octave”
property
“octave”int
The nth octave.
Owner: AgsChannel
Flags: Read / Write
Allowed values: [0,10]
Default value: 0
Since:
The “output-soundcard”
property
“output-soundcard”GObject *
The assigned output
Owner: AgsChannel
Flags: Read / Write
Since:
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:
The “pad”
property
“pad”guint
The nth pad.
Owner: AgsChannel
Flags: Read
Default value: 0
Since:
The “pattern”
property
“pattern”gpointer
The containing AgsPattern.
[transfer full]
Owner: AgsChannel
Flags: Read / Write
Since:
The “play”
property
“play”gpointer
The containing AgsRecall in play-context.
[transfer full]
Owner: AgsChannel
Flags: Read / Write
Since:
The “playback”
property
“playback” AgsPlayback *
The assigned AgsPlayback.
Owner: AgsChannel
Flags: Read / Write
Since:
The “prev”
property
“prev” AgsChannel *
The assigned prev AgsChannel.
Owner: AgsChannel
Flags: Read
Since:
The “prev-pad”
property
“prev-pad” AgsChannel *
The assigned prev pad AgsChannel.
Owner: AgsChannel
Flags: Read
Since:
The “recall”
property
“recall”gpointer
The containing AgsRecall in recall-context.
[transfer full]
Owner: AgsChannel
Flags: Read / Write
Since:
The “recall-container”
property
“recall-container”gpointer
The containing AgsRecallContainer.
[transfer full]
Owner: AgsChannel
Flags: Read / Write
Since:
The “recall-id”
property
“recall-id”gpointer
The assigned AgsRecallID.
[transfer full]
Owner: AgsChannel
Flags: Read / Write
Since:
The “recycling-context”
property
“recycling-context”gpointer
The containing AgsRecyclingContext.
[transfer full]
Owner: AgsChannel
Flags: Read / Write
Since:
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:
Since:
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. |
Flags:
Since:
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:
Since:
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:
Since:
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:
Since:
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:
Since:
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:
Since:
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:
Since:
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 |
|
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:
Since:
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:
Since:
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
[type GLib.List][element-type AgsAudio.RecallID][transfer full]
Flags:
Since:
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 |
|
sound_scope |
the sound scope |
|
user_data |
user data set when the signal handler was connected. |
Flags:
Since: