Top |
int | absolute-key | Read / Write |
guint | audio-channels | Read / Write |
guint | audio-end-mapping | Read / Write |
char * | audio-name | Read / Write |
guint | audio-start-mapping | Read / Write |
gpointer | automation | Read / Write |
double | bpm | Read / Write |
guint | buffer-size | Read / Write |
gpointer | cursor | Read / Write |
guint | denominator | Read / Write |
guint | format | Read / Write |
AgsInput * | input | Read |
GObject * | input-audio-file | Read / Write |
guint | input-lines | Read |
GObject * | input-midi-file | Read / Write |
guint | input-pads | Read / Write |
GObject * | input-sequencer | Read / Write |
GObject * | input-soundcard | Read / Write |
gboolean | is-minor | Read / Write |
guint | key | Read / Write |
guint64 | loop-end | Read / Write |
guint64 | loop-start | Read / Write |
guint | max-audio-channels | Read / Write |
guint | max-input-pads | Read / Write |
guint | max-output-pads | Read / Write |
gpointer | midi | Read / Write |
guint | midi-channel | Read / Write |
guint | midi-end-mapping | Read / Write |
guint | midi-group | Read / Write |
guint | midi-start-mapping | Read / Write |
guint | min-audio-channels | Read / Write |
guint | min-input-pads | Read / Write |
guint | min-output-pads | Read / Write |
gpointer | notation | Read / Write |
guint | numerator | Read / Write |
int | octave | Read / Write |
guint64 | offset | Read / Write |
AgsOutput * | output | Read |
GObject * | output-audio-file | Read / Write |
guint | output-lines | Read |
GObject * | output-midi-file | Read / Write |
guint | output-pads | Read / Write |
GObject * | output-sequencer | Read / Write |
GObject * | output-soundcard | Read / Write |
gpointer | play | Read / Write |
AgsPlaybackDomain * | playback-domain | Read / Write |
gpointer | preset | Read / Write |
gpointer | recall | Read / Write |
gpointer | recall-container | Read / Write |
gpointer | recall-id | Read / Write |
gpointer | recycling-context | Read / Write |
guint | samplerate | Read / Write |
gpointer | sf2-synth-generator | Read / Write |
gpointer | sfz-synth-generator | Read / Write |
guint | sharp-flats | Read / Write |
gpointer | synth-generator | Read / Write |
char * | time-signature | Read |
gpointer | wave | Read / Write |
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 | resolve-recall | Run Last |
void | set-audio-channels | Run Last |
void | set-pads | Run Last |
gpointer | start | Run Last |
void | stop | Run Last |
AgsAudio organizes AgsChannel objects either as input or output and is responsible of their alignment. The class can contain AgsRecall objects in order to perform computation on all channels or in audio context. Therefor exists AgsRecyclingContext acting as tree context.
At least one AgsRecallID is assigned to it and has one more if
AGS_AUDIO_OUTPUT_HAS_RECYCLING
is set as flag.
It hosts common storage objects like AgsNotation, AgsAutomation and AgsWave.
In order to make use of AgsNotation or AgsWave you have to set
AGS_AUDIO_OUTPUT_HAS_RECYCLING
.
Make sure you have set the matching AgsSoundAbilityFlags flags using
ags_audio_set_ability_flags()
. This is going to setup threads per matching
AgsSoundScope scope. See AgsPlaybackDomain and AgsPlayback.
Threads are usually run per AgsAudio with AGS_AUDIO_OUTPUT_HAS_RECYCLING
.
This are instruments, samplers, synthesizer, step sequencers or wave players.
In other words the producer of your AgsAudioSignal.
The dispatcher function ags_audio_recursive_run_stage()
is invoked as per
AgsSoundScope threads, hosted by AgsAudio. The staging program can
be modified. It calls then ags_channel_recursive_run_stage()
per output
channel.
AgsSoundStagingFlags is used to build your staging program for
AgsAudioThread. The audio threads are created per AgsSoundScope
and are provided by AgsAudio playback-domain
property.
You have in general one AgsPlaybackDomain referring one AgsAudio and one AgsPlayback referring one AgsChannel.
AGS_AUDIO_SYNC
and AGS_AUDIO_ASYNC
AgsAudioFlags affect channel
alignment. There 3 possible combinations available.
AGS_AUDIO_SYNC
means channels go straight from input line to matching
output line.
AGS_AUDIO_ASYNC
means input channels are bundled in output i.e. many
inputs of the same audio channel arrive at one output channel of the
same audio channel.
AGS_AUDIO_SYNC
and AGS_AUDIO_ASYNC
combined is only available if
AGS_AUDIO_OUTPUT_HAS_RECYCLING
is set. It is actually the same behaviour
as AGS_AUDIO_ASYNC
except you can have more than one output pad.
output-soundcard
and input-soundcard
properties are AgsSoundcard
implementations to read or write to a soundcard backend.
output-sequencer
and input-sequencer
properties are AgsSequencer
implementations to read or write to a sequencer backend.
You may add AgsNotation objects using ags_audio_add_notation()
. Make sure
the AgsNotation timestamp offset occurs only once per audio channel and is
correct padded using AGS_NOTATION_DEFAULT_OFFSET
.
You may add AgsWave objects using ags_audio_add_wave()
. Make sure the
AgsWave timestamp offset occurs only once per line and is correct padded
using relative offset. The relative offset is calculated as following:
relative_offset = AGS_WAVE_DEFAULT_BUFFER_LENGTH
* samplerate;
You may add AgsAutomation objects using ags_audio_add_automation()
. Make
sure AgsAutomation timestamp offset occurs only once per channel type and
line. If the context of the automation is AgsAudio channel-type
is
G_TYPE_NONE and line
is 0.
To modify the alignment of output or input channels use
ags_audio_set_audio_channels()
and to increase pads ags_audio_set_pads()
.
There is a playback and recall context for hosting AgsRecall implementations.
Usually you instantiate a recall for both contices. See play
and recall
properties.
#define AGS_AUDIO_GET_PLAY_MUTEX(obj) (&(((AgsAudio *) obj)->play_mutex))
#define AGS_AUDIO_GET_RECALL_MUTEX(obj) (&(((AgsAudio *) obj)->recall_mutex))
GRecMutex *
ags_audio_get_obj_mutex (AgsAudio *audio
);
Get object mutex.
Since: 3.1.0
GRecMutex *
ags_audio_get_play_mutex (AgsAudio *audio
);
Get play mutex.
Since: 3.1.0
GRecMutex *
ags_audio_get_recall_mutex (AgsAudio *audio
);
Get recall mutex.
Since: 3.1.0
gboolean ags_audio_test_flags (AgsAudio *audio
,AgsAudioFlags flags
);
Test flags
to be set on audio
.
Since: 3.0.0
void ags_audio_set_flags (AgsAudio *audio
,AgsAudioFlags flags
);
Enable a feature of AgsAudio.
Since: 3.0.0
void ags_audio_unset_flags (AgsAudio *audio
,AgsAudioFlags flags
);
Disable a feature of AgsAudio.
Since: 3.0.0
gboolean ags_audio_test_ability_flags (AgsAudio *audio
,AgsSoundAbilityFlags ability_flags
);
Test ability_flags
to be set on audio
.
Since: 3.0.0
void ags_audio_set_ability_flags (AgsAudio *audio
,AgsSoundAbilityFlags ability_flags
);
Enable an ability of AgsAudio.
Since: 3.0.0
void ags_audio_unset_ability_flags (AgsAudio *audio
,AgsSoundAbilityFlags ability_flags
);
Disable an ability of AgsAudio.
Since: 3.0.0
gboolean ags_audio_test_behaviour_flags (AgsAudio *audio
,AgsSoundBehaviourFlags behaviour_flags
);
Test behaviour_flags
to be set on audio
.
Since: 3.0.0
void ags_audio_set_behaviour_flags (AgsAudio *audio
,AgsSoundBehaviourFlags behaviour_flags
);
Set behaviour flags.
Since: 3.0.0
void ags_audio_unset_behaviour_flags (AgsAudio *audio
,AgsSoundBehaviourFlags behaviour_flags
);
Unset behaviour flags.
Since: 3.0.0
gboolean ags_audio_test_staging_flags (AgsAudio *audio
,gint sound_scope
,AgsSoundStagingFlags staging_flags
);
Test staging_flags
to be set on audio
.
Since: 3.0.0
void ags_audio_set_staging_flags (AgsAudio *audio
,gint sound_scope
,AgsSoundStagingFlags staging_flags
);
Set staging flags.
audio |
the AgsAudio |
|
sound_scope |
the AgsSoundScope to apply, or -1 to apply to all |
|
staging_flags |
the staging flags |
Since: 3.0.0
void ags_audio_unset_staging_flags (AgsAudio *audio
,gint sound_scope
,AgsSoundStagingFlags staging_flags
);
Unset staging flags.
audio |
the AgsAudio |
|
sound_scope |
the AgsSoundScope to apply, or -1 to apply to all |
|
staging_flags |
the staging flags |
Since: 3.0.0
gboolean ags_audio_test_staging_completed (AgsAudio *audio
,gint sound_scope
);
Test sound_scope
to be completed on audio
.
Since: 3.3.0
void ags_audio_set_staging_completed (AgsAudio *audio
,gint sound_scope
);
Set sound_scope
to be completed.
Since: 3.3.0
void ags_audio_unset_staging_completed (AgsAudio *audio
,gint sound_scope
);
Unset sound_scope
to be completed.
Since: 3.3.0
gchar *
ags_audio_get_audio_name (AgsAudio *audio
);
Get audio name of audio
.
Since: 3.1.0
void ags_audio_set_audio_name (AgsAudio *audio
,gchar *audio_name
);
Set audio name of audio
.
Since: 3.1.0
GList * ags_audio_find_name (GList *audio
,gchar *audio_name
);
Find audio_name
in audio
.
audio |
the GList containing AgsAudio. |
[element-type AgsAudio.Audio][transfer none] |
audio_name |
the audio name to find |
Since: 3.0.0
guint
ags_audio_get_max_audio_channels (AgsAudio *audio
);
Get maximum audio channels.
Since: 3.1.0
void ags_audio_set_max_audio_channels (AgsAudio *audio
,guint max_audio_channels
);
Set maximum audio channels.
Since: 3.0.0
guint
ags_audio_get_max_output_pads (AgsAudio *audio
);
Get maximum output pads.
Since: 3.1.0
void ags_audio_set_max_output_pads (AgsAudio *audio
,guint max_output_pads
);
Set maximum output pads.
Since: 3.1.0
guint
ags_audio_get_max_input_pads (AgsAudio *audio
);
Get maximum input pads.
Since: 3.1.0
void ags_audio_set_max_input_pads (AgsAudio *audio
,guint max_input_pads
);
Set maximum input pads.
Since: 3.1.0
void ags_audio_set_max_pads (AgsAudio *audio
,GType channel_type
,guint max_pads
);
Set maximum pads of channel_type
.
audio |
the AgsAudio |
|
channel_type |
the GType of channel, either AGS_TYPE_OUTPUT or AGS_TYPE_INPUT |
|
max_pads |
maximum of pads |
Since: 3.0.0
guint
ags_audio_get_audio_channels (AgsAudio *audio
);
Get audio channels.
Since: 3.1.0
void ags_audio_set_audio_channels (AgsAudio *audio
,guint audio_channels
,guint audio_channels_old
);
Resize audio channels AgsInput will be allocated first.
audio |
the AgsAudio |
|
audio_channels |
new audio channels |
|
audio_channels_old |
old audio channels |
Since: 3.0.0
guint
ags_audio_get_output_pads (AgsAudio *audio
);
Get output pads.
Since: 3.1.0
void ags_audio_set_output_pads (AgsAudio *audio
,guint output_pads
);
Set output pads.
Since: 3.1.0
guint
ags_audio_get_input_pads (AgsAudio *audio
);
Get input pads.
Since: 3.1.0
void ags_audio_set_input_pads (AgsAudio *audio
,guint input_pads
);
Set input pads.
Since: 3.1.0
void ags_audio_set_pads (AgsAudio *audio
,GType channel_type
,guint pads
,guint pads_old
);
Set pad count for the apropriate channel_type
audio |
the AgsAudio |
|
channel_type |
AGS_TYPE_INPUT or AGS_TYPE_OUTPUT |
|
pads |
new pad count |
|
pads_old |
old pad count |
Since: 3.0.0
guint
ags_audio_get_output_lines (AgsAudio *audio
);
Get output lines.
Since: 3.1.0
guint
ags_audio_get_input_lines (AgsAudio *audio
);
Get input lines.
Since: 3.1.0
AgsChannel *
ags_audio_get_output (AgsAudio *audio
);
Get the output object of audio
.
Since: 3.1.0
AgsChannel *
ags_audio_get_input (AgsAudio *audio
);
Get the input object of audio
.
Since: 3.1.0
GObject *
ags_audio_get_output_soundcard (AgsAudio *audio
);
Get the output soundcard object of audio
.
Since: 3.1.0
void ags_audio_set_output_soundcard (AgsAudio *audio
,GObject *output_soundcard
);
Set the output soundcard object of audio
.
Since: 3.0.0
GObject *
ags_audio_get_input_soundcard (AgsAudio *audio
);
Get the input soundcard object of audio
.
Since: 3.1.0
void ags_audio_set_input_soundcard (AgsAudio *audio
,GObject *input_soundcard
);
Set the input soundcard object of audio
.
Since: 3.0.0
GObject *
ags_audio_get_output_sequencer (AgsAudio *audio
);
Get the output sequencer object of audio
.
Since: 3.1.0
void ags_audio_set_output_sequencer (AgsAudio *audio
,GObject *output_sequencer
);
Set the output sequencer object of audio
.
Since: 3.0.0
GObject *
ags_audio_get_input_sequencer (AgsAudio *audio
);
Get the input sequencer object of audio
.
Since: 3.1.0
void ags_audio_set_input_sequencer (AgsAudio *audio
,GObject *input_sequencer
);
Set the input sequencer object of audio
.
Since: 3.0.0
guint
ags_audio_get_samplerate (AgsAudio *audio
);
Gets samplerate.
Since: 3.1.0
void ags_audio_set_samplerate (AgsAudio *audio
,guint samplerate
);
Sets samplerate.
Since: 3.0.0
guint
ags_audio_get_buffer_size (AgsAudio *audio
);
Gets buffer size.
Since: 3.1.0
void ags_audio_set_buffer_size (AgsAudio *audio
,guint buffer_size
);
Sets buffer length.
Since: 3.0.0
AgsSoundcardFormat
ags_audio_get_format (AgsAudio *audio
);
Gets format.
Since: 3.1.0
void ags_audio_set_format (AgsAudio *audio
,AgsSoundcardFormat format
);
Sets buffer length.
Since: 3.0.0
guint
ags_audio_get_audio_start_mapping (AgsAudio *audio
);
Gets audio start mapping.
Since: 3.1.0
void ags_audio_set_audio_start_mapping (AgsAudio *audio
,guint audio_start_mapping
);
Sets audio start mapping.
Since: 3.1.0
guint
ags_audio_get_midi_start_mapping (AgsAudio *audio
);
Gets MIDI start mapping.
Since: 3.1.0
void ags_audio_set_midi_start_mapping (AgsAudio *audio
,guint midi_start_mapping
);
Sets MIDI start mapping.
Since: 3.1.0
guint
ags_audio_get_midi_group (AgsAudio *audio
);
Gets MIDI group.
Since: 7.0.0
void ags_audio_set_midi_group (AgsAudio *audio
,guint midi_group
);
Sets MIDI group.
Since: 7.0.0
guint
ags_audio_get_midi_channel (AgsAudio *audio
);
Gets MIDI channel.
Since: 3.1.0
void ags_audio_set_midi_channel (AgsAudio *audio
,guint midi_channel
);
Sets MIDI channel.
Since: 3.1.0
guint
ags_audio_get_numerator (AgsAudio *audio
);
Gets numerator.
Since: 3.1.0
void ags_audio_set_numerator (AgsAudio *audio
,guint numerator
);
Sets numerator.
Since: 3.1.0
guint
ags_audio_get_denominator (AgsAudio *audio
);
Gets denominator.
Since: 3.1.0
void ags_audio_set_denominator (AgsAudio *audio
,guint denominator
);
Sets denominator.
Since: 3.1.0
gchar *
ags_audio_get_time_signature (AgsAudio *audio
);
Gets time signature.
Since: 3.1.0
void ags_audio_set_time_signature (AgsAudio *audio
,gchar *time_signature
);
Sets time signature.
Since: 3.1.0
gboolean
ags_audio_get_is_minor (AgsAudio *audio
);
Gets is minor.
Since: 3.1.0
void ags_audio_set_is_minor (AgsAudio *audio
,gboolean is_minor
);
Sets is minor.
Since: 3.1.0
guint
ags_audio_get_sharp_flats (AgsAudio *audio
);
Gets sharp flats.
Since: 3.1.0
void ags_audio_set_sharp_flats (AgsAudio *audio
,guint sharp_flats
);
Sets sharp flats.
Since: 3.1.0
void ags_audio_set_octave (AgsAudio *audio
,gint octave
);
Sets octave.
Since: 3.1.0
gint
ags_audio_get_absolute_key (AgsAudio *audio
);
Gets absolute key.
Since: 3.1.0
void ags_audio_set_absolute_key (AgsAudio *audio
,gint absolute_key
);
Sets absolute key.
Since: 3.1.0
void ags_audio_set_preset (AgsAudio *audio
,GList *preset
);
Set preset by replacing existing.
Since: 3.1.0
void ags_audio_add_preset (AgsAudio *audio
,GObject *preset
);
Adds a preset.
Since: 3.0.0
void ags_audio_remove_preset (AgsAudio *audio
,GObject *preset
);
Removes a preset.
Since: 3.0.0
GObject *
ags_audio_get_playback_domain (AgsAudio *audio
);
Get playback domain.
Since: 3.1.0
void ags_audio_set_playback_domain (AgsAudio *audio
,GObject *playback_domain
);
Set playback domain.
Since: 3.1.0
GList *
ags_audio_get_synth_generator (AgsAudio *audio
);
Get synth generator.
the GList containing AgsSynthGenerator.
[element-type AgsAudio.SynthGenerator][transfer full]
Since: 3.1.0
void ags_audio_set_synth_generator (AgsAudio *audio
,GList *synth_generator
);
Set synth generator by replacing existing.
audio |
the AgsAudio |
|
synth_generator |
the GList containing AgsSynthGenerator. |
[element-type AgsAudio.SynthGenerator][transfer full] |
Since: 3.1.0
void ags_audio_add_synth_generator (AgsAudio *audio
,GObject *synth_generator
);
Adds a synth generator.
Since: 3.0.0
void ags_audio_remove_synth_generator (AgsAudio *audio
,GObject *synth_generator
);
Removes a synth generator.
Since: 3.0.0
GList *
ags_audio_get_sf2_synth_generator (AgsAudio *audio
);
Get SF2 synth generator.
the GList containing AgsSF2SynthGenerator.
[element-type AgsAudio.SF2SynthGenerator][transfer full]
Since: 3.4.0
void ags_audio_set_sf2_synth_generator (AgsAudio *audio
,GList *sf2_synth_generator
);
Set SF2 synth generator by replacing existing.
audio |
the AgsAudio |
|
sf2_synth_generator |
the GList containing AgsSF2SynthGenerator. |
[element-type AgsAudio.SF2SynthGenerator][transfer full] |
Since: 3.4.0
void ags_audio_add_sf2_synth_generator (AgsAudio *audio
,GObject *sf2_synth_generator
);
Adds a SF2 synth generator.
Since: 3.4.0
void ags_audio_remove_sf2_synth_generator (AgsAudio *audio
,GObject *sf2_synth_generator
);
Removes a SF2 synth generator.
Since: 3.4.0
GList *
ags_audio_get_sfz_synth_generator (AgsAudio *audio
);
Get SFZ synth generator.
the GList containing AgsSFZSynthGenerator.
[element-type AgsAudio.SFZSynthGenerator][transfer full]
Since: 3.4.0
void ags_audio_set_sfz_synth_generator (AgsAudio *audio
,GList *sfz_synth_generator
);
Set SFZ synth generator by replacing existing.
audio |
the AgsAudio |
|
sfz_synth_generator |
the GList containing AgsSFZSynthGenerator. |
[element-type AgsAudio.SFZSynthGenerator][transfer full] |
Since: 3.4.0
void ags_audio_add_sfz_synth_generator (AgsAudio *audio
,GObject *sfz_synth_generator
);
Adds a SFZ synth generator.
Since: 3.4.0
void ags_audio_remove_sfz_synth_generator (AgsAudio *audio
,GObject *sfz_synth_generator
);
Removes a SFZ synth generator.
Since: 3.4.0
void ags_audio_set_cursor (AgsAudio *audio
,GList *cursor
);
Set cursor by replacing existing.
audio |
the AgsAudio |
|
cursor |
the GList containing AgsCursor. |
[element-type GObject][transfer full] |
Since: 3.1.0
void ags_audio_add_cursor (AgsAudio *audio
,GObject *cursor
);
Adds a cursor.
Since: 3.0.0
void ags_audio_remove_cursor (AgsAudio *audio
,GObject *cursor
);
Removes a cursor.
Since: 3.0.0
GList *
ags_audio_get_notation (AgsAudio *audio
);
Get notation.
Since: 3.1.0
void ags_audio_set_notation (AgsAudio *audio
,GList *notation
);
Set notation by replacing existing.
audio |
the AgsAudio |
|
notation |
the GList containing AgsNotation. |
[element-type AgsAudio.Notation][transfer full] |
Since: 3.1.0
void ags_audio_add_notation (AgsAudio *audio
,GObject *notation
);
Adds a notation.
Since: 3.0.0
void ags_audio_remove_notation (AgsAudio *audio
,GObject *notation
);
Removes a notation.
Since: 3.0.0
gchar **
ags_audio_get_automation_port (AgsAudio *audio
);
Get automation port.
Since: 3.1.0
void ags_audio_set_automation_port (AgsAudio *audio
,gchar **automation_port
);
Get automation port.
audio |
the AgsAudio |
|
automation_port |
the string vector containing automation ports. |
[transfer full] |
Since: 3.1.0
void ags_audio_add_automation_port (AgsAudio *audio
,gchar *control_name
);
Adds an automation port.
Since: 3.0.0
void ags_audio_remove_automation_port (AgsAudio *audio
,gchar *control_name
);
Removes an automation port.
Since: 3.0.0
void ags_audio_remove_all_empty_automation (AgsAudio *audio
,guint line
,GType channel_type
,gchar *control_name
);
Remove all empty automation.
Since: 5.4.0
GList *
ags_audio_get_automation (AgsAudio *audio
);
Get automation.
Since: 3.1.0
void ags_audio_set_automation (AgsAudio *audio
,GList *automation
);
Set automation by replacing existing.
audio |
the AgsAudio |
|
automation |
the GList containing AgsAutomation. |
[element-type AgsAudio.Automation][transfer full] |
Since: 3.1.0
void ags_audio_add_automation (AgsAudio *audio
,GObject *automation
);
Adds an automation.
Since: 3.0.0
void ags_audio_remove_automation (AgsAudio *audio
,GObject *automation
);
Removes an automation.
Since: 3.0.0
void ags_audio_set_wave (AgsAudio *audio
,GList *wave
);
Set wave by replacing existing.
Since: 3.1.0
void ags_audio_add_wave (AgsAudio *audio
,GObject *wave
);
Adds a wave.
Since: 3.0.0
void ags_audio_remove_wave (AgsAudio *audio
,GObject *wave
);
Removes a wave.
Since: 3.0.0
GObject *
ags_audio_get_output_audio_file (AgsAudio *audio
);
Get output audio file.
Since: 3.1.0
void ags_audio_set_output_audio_file (AgsAudio *audio
,GObject *output_audio_file
);
Set output audio file.
Since: 3.1.0
GObject *
ags_audio_get_input_audio_file (AgsAudio *audio
);
Get input audio file.
Since: 3.1.0
void ags_audio_set_input_audio_file (AgsAudio *audio
,GObject *input_audio_file
);
Set input audio file.
Since: 3.1.0
gchar *
ags_audio_get_instrument_name (AgsAudio *audio
);
Gets instrument name.
Since: 3.1.0
void ags_audio_set_instrument_name (AgsAudio *audio
,gchar *instrument_name
);
Sets instrument name.
Since: 3.1.0
gchar *
ags_audio_get_track_name (AgsAudio *audio
);
Gets track name.
Since: 3.1.0
void ags_audio_set_track_name (AgsAudio *audio
,gchar *track_name
);
Sets track name.
Since: 3.1.0
void ags_audio_set_midi (AgsAudio *audio
,GList *midi
);
Set MIDI by replacing existing.
Since: 3.1.0
void ags_audio_add_midi (AgsAudio *audio
,GObject *midi
);
Adds a midi.
Since: 3.0.0
void ags_audio_remove_midi (AgsAudio *audio
,GObject *midi
);
Removes a midi.
Since: 3.0.0
GObject *
ags_audio_get_output_midi_file (AgsAudio *audio
);
Get output MIDI file.
Since: 3.1.0
void ags_audio_set_output_midi_file (AgsAudio *audio
,GObject *output_midi_file
);
Set output MIDI file.
Since: 3.1.0
GObject *
ags_audio_get_input_midi_file (AgsAudio *audio
);
Get input MIDI file.
Since: 3.1.0
void ags_audio_set_input_midi_file (AgsAudio *audio
,GObject *input_midi_file
);
Set input MIDI file.
Since: 3.1.0
GList *
ags_audio_get_recall_id (AgsAudio *audio
);
Get recall id.
Since: 3.1.0
void ags_audio_set_recall_id (AgsAudio *audio
,GList *recall_id
);
Set recall id by replacing existing.
audio |
the AgsAudio |
|
recall_id |
the GList containing AgsRecallID. |
[element-type AgsAudio.RecallID][transfer full] |
Since: 3.1.0
void ags_audio_add_recall_id (AgsAudio *audio
,GObject *recall_id
);
Adds a recall id.
Since: 3.0.0
void ags_audio_remove_recall_id (AgsAudio *audio
,GObject *recall_id
);
Removes a recall id.
Since: 3.0.0
GList *
ags_audio_get_recycling_context (AgsAudio *audio
);
Get recycling_context.
the GList containig AgsRecyclingContext.
[element-type AgsAudio.RecyclingContext][transfer full]
Since: 3.1.0
void ags_audio_set_recycling_context (AgsAudio *audio
,GList *recycling_context
);
Set recycling_context by replacing existing.
audio |
the AgsAudio |
|
recycling_context |
the GList containing AgsRecyclingContext. |
[element-type AgsAudio.RecyclingContext][transfer full] |
Since: 3.1.0
void ags_audio_add_recycling_context (AgsAudio *audio
,GObject *recycling_context
);
Adds a recycling context.
Since: 3.0.0
void ags_audio_remove_recycling_context (AgsAudio *audio
,GObject *recycling_context
);
Removes a recycling context.
Since: 3.0.0
GList *
ags_audio_get_recall_container (AgsAudio *audio
);
Get recall_container.
the GList containig AgsRecallContainer.
[element-type AgsAudio.RecallContainer][transfer full]
Since: 3.1.0
void ags_audio_set_recall_container (AgsAudio *audio
,GList *recall_container
);
Set recall_container by replacing existing.
audio |
the AgsAudio |
|
recall_container |
the GList containing AgsRecallContainer. |
[element-type AgsAudio.RecallContainer][transfer full] |
Since: 3.1.0
void ags_audio_add_recall_container (AgsAudio *audio
,GObject *recall_container
);
Adds a recall container.
Since: 3.0.0
void ags_audio_remove_recall_container (AgsAudio *audio
,GObject *recall_container
);
Removes a recall container.
Since: 3.0.0
void ags_audio_set_play (AgsAudio *audio
,GList *play
);
Set play by replacing existing.
Since: 3.1.0
void ags_audio_set_recall (AgsAudio *audio
,GList *recall
);
Set recall by replacing existing.
Since: 3.1.0
void ags_audio_add_recall (AgsAudio *audio
,GObject *recall
,gboolean play_context
);
Adds a recall to audio
.
Since: 3.0.0
void ags_audio_insert_recall (AgsAudio *audio
,GObject *recall
,gboolean play_context
,gint position
);
Insert recall
at position
in audio
's play_context
.
Since: 3.3.0
void ags_audio_remove_recall (AgsAudio *audio
,GObject *recall
,gboolean play_context
);
Removes a recall from audio
.
Since: 3.0.0
void ags_audio_duplicate_recall (AgsAudio *audio
,AgsRecallID *recall_id
,guint pad
,guint audio_channel
,guint line
);
Duplicate all AgsRecall templates of audio
.
audio |
the AgsAudio |
|
recall_id |
an AgsRecallID |
|
pad |
the pad |
|
audio_channel |
the audio channel |
|
line |
the line |
Since: 3.0.0
void ags_audio_resolve_recall (AgsAudio *audio
,AgsRecallID *recall_id
);
Performs resolving of recalls.
Since: 3.0.0
void ags_audio_init_recall (AgsAudio *audio
,AgsRecallID *recall_id
,AgsSoundStagingFlags staging_flags
);
Initializes the recalls of audio
audio |
the AgsAudio |
|
recall_id |
the AgsRecallID to use or NULL |
|
staging_flags |
staging flags, see AgsSoundStagingFlags |
Since: 3.0.0
void ags_audio_play_recall (AgsAudio *audio
,AgsRecallID *recall_id
,AgsSoundStagingFlags staging_flags
);
Performs play for the specified staging_flags
.
audio |
the AgsAudio |
|
recall_id |
the AgsRecallID to apply to |
|
staging_flags |
staging flags, see AgsSoundStagingFlags |
Since: 3.0.0
void ags_audio_done_recall (AgsAudio *audio
,AgsRecallID *recall_id
);
Done processing audio data.
Since: 3.0.0
void ags_audio_cancel_recall (AgsAudio *audio
,AgsRecallID *recall_id
);
Cancel processing audio data.
Since: 3.0.0
void ags_audio_cleanup_recall (AgsAudio *audio
,AgsRecallID *recall_id
);
Cleanup processing audio data.
Since: 3.0.0
GList * ags_audio_start (AgsAudio *audio
,gint sound_scope
);
Is emitted as audio is started.
Since: 3.0.0
void ags_audio_stop (AgsAudio *audio
,GList *recall_id
,gint sound_scope
);
Is emitted as playing audio is stopped.
audio |
the AgsAudio |
|
recall_id |
the GList containing AgsRecallID. |
[element-type AgsAudio.RecallID][transfer none] |
sound_scope |
the scope |
Since: 3.0.0
GList * ags_audio_check_scope (AgsAudio *audio
,gint sound_scope
);
Check scope's recall id.
Since: 3.0.0
GList *
ags_audio_collect_all_audio_ports (AgsAudio *audio
);
Retrieve all ports of AgsAudio.
Since: 3.0.0
GList * ags_audio_collect_all_audio_ports_by_specifier_and_context (AgsAudio *audio
,gchar *specifier
,gboolean play_context
);
Retrieve specified port of AgsAudio
audio |
an AgsAudio |
|
specifier |
the port's name |
|
play_context |
either |
Since: 3.0.0
void ags_audio_open_audio_file_as_channel (AgsAudio *audio
,GSList *filename
,gboolean overwrite_channels
,gboolean create_channels
);
Open some files.
audio |
the AgsAudio |
|
filename |
the files to open. |
[element-type utf8][transfer none] |
overwrite_channels |
if existing channels should be assigned |
|
create_channels |
if new channels should be created as not fitting if combined with |
Since: 3.0.0
void ags_audio_open_audio_file_as_wave (AgsAudio *audio
,const gchar *filename
,gboolean overwrite_channels
,gboolean create_channels
);
void ags_audio_open_midi_file_as_midi (AgsAudio *audio
,const gchar *filename
,const gchar *instrument
,const gchar *track_name
,guint midi_channel
);
void ags_audio_open_midi_file_as_notation (AgsAudio *audio
,const gchar *filename
,const gchar *instrument
,const gchar *track_name
,guint midi_channel
);
void ags_audio_recursive_set_property (AgsAudio *audio
,gint n_params
,const gchar *parameter_name[]
,const GValue value[]
);
Recursive set property for AgsAudio.
audio |
the AgsAudio |
|
n_params |
the count of elements in following arrays |
|
parameter_name |
the parameter's name array |
|
value |
the value array |
Since: 3.0.0
void ags_audio_recursive_run_stage (AgsAudio *audio
,gint sound_scope
,AgsSoundStagingFlags staging_flags
);
Resets audio
's sound_scope
specified by staging_flags
.
audio |
the AgsAudio object |
|
sound_scope |
the scope to reset |
|
staging_flags |
the stage to enable |
Since: 3.0.0
Enum values to control the behavior or indicate internal state of AgsAudio by enable/disable as flags.
no output provided |
||
no input provided |
||
input/output is mapped synchronously |
||
input/output is mapped asynchronously |
||
output has recycling |
||
output has synth |
||
input has recycling |
||
input has synth |
||
input takes file |
||
dispatch can next active |
||
skip output as processing audio data |
||
skip input as processing audio data |
||
don't apply any data |
“absolute-key”
property “absolute-key” int
The absolute key lower.
Owner: AgsAudio
Flags: Read / Write
Allowed values: [0,128]
Default value: 0
Since: 3.0.0
“audio-channels”
property “audio-channels” guint
The audio channels count.
Owner: AgsAudio
Flags: Read / Write
Default value: 0
Since: 3.0.0
“audio-end-mapping”
property “audio-end-mapping” guint
The audio end mapping.
Owner: AgsAudio
Flags: Read / Write
Default value: 0
Since: 3.0.0
“audio-name”
property “audio-name” char *
The name of audio object.
Owner: AgsAudio
Flags: Read / Write
Default value: NULL
Since: 3.0.0
“audio-start-mapping”
property “audio-start-mapping” guint
The audio start mapping.
Owner: AgsAudio
Flags: Read / Write
Default value: 0
Since: 3.0.0
“automation”
property “automation” gpointer
The AgsAutomation it contains.
[transfer full]
Owner: AgsAudio
Flags: Read / Write
Since: 3.0.0
“bpm”
property “bpm” double
The bpm.
Owner: AgsAudio
Flags: Read / Write
Allowed values: >= 0
Default value: 120
Since: 3.0.0
“buffer-size”
property “buffer-size” guint
The buffer length.
Owner: AgsAudio
Flags: Read / Write
Default value: 1024
Since: 3.0.0
“cursor”
property “cursor” gpointer
The GObject implementing AgsCursor interface.
[transfer full]
Owner: AgsAudio
Flags: Read / Write
Since: 3.0.0
“denominator”
property “denominator” guint
The denominator of time signature.
Owner: AgsAudio
Flags: Read / Write
Allowed values: <= 32
Default value: 4
Since: 3.0.0
“format”
property “format” guint
The format.
Owner: AgsAudio
Flags: Read / Write
Default value: 16
Since: 3.0.0
“input”
property“input” AgsInput *
The AgsInput it contains.
Owner: AgsAudio
Flags: Read
Since: 3.0.0
“input-audio-file”
property “input-audio-file” GObject *
The assigned AgsAudioFile acting as default sink.
Owner: AgsAudio
Flags: Read / Write
Since: 3.0.0
“input-lines”
property “input-lines” guint
The input lines count.
Owner: AgsAudio
Flags: Read
Default value: 0
Since: 3.0.0
“input-midi-file”
property “input-midi-file” GObject *
The assigned AgsMidiFile acting as default sink.
Owner: AgsAudio
Flags: Read / Write
Since: 3.0.0
“input-pads”
property “input-pads” guint
The input pads count.
Owner: AgsAudio
Flags: Read / Write
Default value: 0
Since: 3.0.0
“input-sequencer”
property “input-sequencer” GObject *
The assigned AgsSequencer acting as default source.
Owner: AgsAudio
Flags: Read / Write
Since: 3.0.0
“input-soundcard”
property “input-soundcard” GObject *
The assigned AgsSoundcard acting as default source.
Owner: AgsAudio
Flags: Read / Write
Since: 3.0.0
“is-minor”
property “is-minor” gboolean
Is minor.
Owner: AgsAudio
Flags: Read / Write
Default value: FALSE
Since: 3.0.0
“key”
property “key” guint
The key relative to octave.
Owner: AgsAudio
Flags: Read / Write
Allowed values: <= 12
Default value: 0
Since: 3.0.0
“loop-end”
property “loop-end” guint64
The audio's loop end.
Owner: AgsAudio
Flags: Read / Write
Default value: 0
Since: 3.0.0
“loop-start”
property “loop-start” guint64
The audio's loop start.
Owner: AgsAudio
Flags: Read / Write
Default value: 0
Since: 3.0.0
“max-audio-channels”
property “max-audio-channels” guint
The maximum audio channels count.
Owner: AgsAudio
Flags: Read / Write
Default value: 0
Since: 3.0.0
“max-input-pads”
property “max-input-pads” guint
The maximum input pads count.
Owner: AgsAudio
Flags: Read / Write
Default value: 0
Since: 3.0.0
“max-output-pads”
property “max-output-pads” guint
The maximum output pads count.
Owner: AgsAudio
Flags: Read / Write
Default value: 0
Since: 3.0.0
“midi”
property “midi” gpointer
The AgsMidi it contains.
[transfer full]
Owner: AgsAudio
Flags: Read / Write
Since: 3.0.0
“midi-channel”
property “midi-channel” guint
The MIDI channel.
Owner: AgsAudio
Flags: Read / Write
Allowed values: <= 16
Default value: 0
Since: 3.0.0
“midi-end-mapping”
property “midi-end-mapping” guint
The MIDI end mapping.
Owner: AgsAudio
Flags: Read / Write
Default value: 0
Since: 3.0.0
“midi-group”
property “midi-group” guint
The MIDI group.
Owner: AgsAudio
Flags: Read / Write
Allowed values: <= 16
Default value: 0
Since: 7.0.0
“midi-start-mapping”
property “midi-start-mapping” guint
The MIDI start mapping.
Owner: AgsAudio
Flags: Read / Write
Default value: 0
Since: 3.0.0
“min-audio-channels”
property “min-audio-channels” guint
The minimum audio channels count.
Owner: AgsAudio
Flags: Read / Write
Default value: 0
Since: 3.0.0
“min-input-pads”
property “min-input-pads” guint
The minimum input pads count.
Owner: AgsAudio
Flags: Read / Write
Default value: 0
Since: 3.0.0
“min-output-pads”
property “min-output-pads” guint
The minimum output pads count.
Owner: AgsAudio
Flags: Read / Write
Default value: 0
Since: 3.0.0
“notation”
property “notation” gpointer
The AgsNotation it contains.
[transfer full]
Owner: AgsAudio
Flags: Read / Write
Since: 3.0.0
“numerator”
property “numerator” guint
The numerator of time signature.
Owner: AgsAudio
Flags: Read / Write
Allowed values: <= 32
Default value: 4
Since: 3.0.0
“octave”
property “octave” int
The octave lower.
Owner: AgsAudio
Flags: Read / Write
Allowed values: [0,10]
Default value: 0
Since: 3.0.0
“offset”
property “offset” guint64
The audio's offset.
Owner: AgsAudio
Flags: Read / Write
Default value: 0
Since: 3.0.0
“output”
property“output” AgsOutput *
The AgsOutput it contains.
Owner: AgsAudio
Flags: Read
Since: 3.0.0
“output-audio-file”
property “output-audio-file” GObject *
The assigned AgsAudioFile acting as default sink.
Owner: AgsAudio
Flags: Read / Write
Since: 3.0.0
“output-lines”
property “output-lines” guint
The output lines count.
Owner: AgsAudio
Flags: Read
Default value: 0
Since: 3.0.0
“output-midi-file”
property “output-midi-file” GObject *
The assigned AgsMidiFile acting as default sink.
Owner: AgsAudio
Flags: Read / Write
Since: 3.0.0
“output-pads”
property “output-pads” guint
The output pads count.
Owner: AgsAudio
Flags: Read / Write
Default value: 0
Since: 3.0.0
“output-sequencer”
property “output-sequencer” GObject *
The assigned AgsSequencer acting as default source.
Owner: AgsAudio
Flags: Read / Write
Since: 3.0.0
“output-soundcard”
property “output-soundcard” GObject *
The assigned AgsSoundcard acting as default sink.
Owner: AgsAudio
Flags: Read / Write
Since: 3.0.0
“play”
property “play” gpointer
The AgsRecall it contains in play-context.
[transfer full]
Owner: AgsAudio
Flags: Read / Write
Since: 3.0.0
“playback-domain”
property“playback-domain” AgsPlaybackDomain *
The assigned AgsPlaybackDomain.
Owner: AgsAudio
Flags: Read / Write
Since: 3.0.0
“preset”
property “preset” gpointer
The assigned GList containing AgsPreset information.
[transfer full]
Owner: AgsAudio
Flags: Read / Write
Since: 3.0.0
“recall”
property “recall” gpointer
The AgsRecall it contains in recall-context.
[transfer full]
Owner: AgsAudio
Flags: Read / Write
Since: 3.0.0
“recall-container”
property “recall-container” gpointer
The AgsRecallContainer it contains in container-context.
[transfer full]
Owner: AgsAudio
Flags: Read / Write
Since: 3.0.0
“recall-id”
property “recall-id” gpointer
The assigned AgsRecallID.
[transfer full]
Owner: AgsAudio
Flags: Read / Write
Since: 3.0.0
“recycling-context”
property “recycling-context” gpointer
The assigned AgsRecyclingContext.
[transfer full]
Owner: AgsAudio
Flags: Read / Write
Since: 3.0.0
“samplerate”
property “samplerate” guint
The samplerate.
Owner: AgsAudio
Flags: Read / Write
Default value: 48000
Since: 3.0.0
“sf2-synth-generator”
property “sf2-synth-generator” gpointer
The assigned GList containing AgsSF2SynthGenerator information.
[transfer full]
Owner: AgsAudio
Flags: Read / Write
Since: 3.4.0
“sfz-synth-generator”
property “sfz-synth-generator” gpointer
The assigned GList containing AgsSFZSynthGenerator information.
[transfer full]
Owner: AgsAudio
Flags: Read / Write
Since: 3.4.0
“sharp-flats”
property “sharp-flats” guint
The sharp/flats count.
Owner: AgsAudio
Flags: Read / Write
Allowed values: <= 12
Default value: 0
Since: 3.0.0
“synth-generator”
property “synth-generator” gpointer
The assigned GList containing AgsSynthGenerator information.
[transfer full]
Owner: AgsAudio
Flags: Read / Write
Since: 3.0.0
“time-signature”
property “time-signature” char *
The time signature.
Owner: AgsAudio
Flags: Read
Default value: "4/4"
Since: 3.0.0
“wave”
property “wave” gpointer
The AgsWave it contains.
[transfer full]
Owner: AgsAudio
Flags: Read / Write
Since: 3.0.0
“cancel-recall”
signalvoid user_function (AgsAudio *audio, GObject *recall_id, gpointer user_data)
The ::cancel-recall signal notifies about canceld recalls.
audio |
the AgsAudio |
|
recall_id |
the AgsRecallID |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.0.0
“check-scope”
signalgpointer user_function (AgsAudio *audio, int sound_scope, gpointer user_data)
The ::check-scope method returns the appropriate recall id of sound_scope
.
audio |
the AgsAudio to check the scopes |
|
sound_scope |
the affected scope |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.0.0
“cleanup-recall”
signalvoid user_function (AgsAudio *audio, GObject *recall_id, gpointer user_data)
The ::cleanup-recall signal notifies about cleanup recalls.
audio |
the AgsAudio |
|
recall_id |
the AgsRecallID |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.0.0
“done-recall”
signalvoid user_function (AgsAudio *audio, GObject *recall_id, gpointer user_data)
The ::done-recall signal notifies about doned recalls.
audio |
the AgsAudio |
|
recall_id |
the AgsRecallID |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.0.0
“duplicate-recall”
signalvoid user_function (AgsAudio *audio, GObject *recall_id, guint pad, guint audio_channel, guint line, gpointer user_data)
The ::duplicate-recall signal notifies about duplicated recalls.
audio |
the AgsAudio |
|
recall_id |
the AgsRecallID |
|
pad |
the pad |
|
audio_channel |
the audio channel |
|
line |
the line |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.0.0
“init-recall”
signalvoid user_function (AgsAudio *audio, GObject *recall_id, guint staging_flags, gpointer user_data)
The ::init-recall signal notifies about initd recalls.
audio |
the AgsAudio |
|
recall_id |
the AgsRecallID |
|
staging_flags |
the staging flags |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.0.0
“play-recall”
signalvoid user_function (AgsAudio *audio, GObject *recall_id, guint staging_flags, gpointer user_data)
The ::play-recall signal notifies about playd recalls.
audio |
the AgsAudio |
|
recall_id |
the AgsRecallID |
|
staging_flags |
the staging flags |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.0.0
“recursive-run-stage”
signalvoid user_function (AgsAudio *audio, int sound_scope, guint staging_flags, gpointer user_data)
The ::recursive-run-stage signal is invoked while run staging
of audio
for sound_scope
.
audio |
the AgsAudio to run |
|
sound_scope |
the affected scope |
|
staging_flags |
the flags to set |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.0.0
“resolve-recall”
signalvoid user_function (AgsAudio *audio, GObject *recall_id, gpointer user_data)
The ::resolve-recall signal notifies about resolved recalls.
audio |
the AgsAudio |
|
recall_id |
the AgsRecallID |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.0.0
“set-audio-channels”
signalvoid user_function (AgsAudio *audio, guint audio_channels_new, guint audio_channels_old, gpointer user_data)
The ::set-audio-channels signal notifies about changes in channel alignment.
audio |
the object to adjust the channels. |
|
audio_channels_new |
new audio channel count |
|
audio_channels_old |
old audio channel count |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.0.0
“set-pads”
signalvoid user_function (AgsAudio *audio, gpointer channel_type, guint pads_new, guint pads_old, gpointer user_data)
The ::set-pads signal notifies about changes in channel alignment.
audio |
the object to adjust pads. |
|
channel_type |
either AGS_TYPE_INPUT or AGS_TYPE_OUTPUT |
|
pads_new |
new pad count |
|
pads_old |
old pad count |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.0.0
“start”
signalgpointer user_function (AgsAudio *audio, int sound_scope, gpointer user_data)
The ::start signal is invoked while starting playback
of audio
.
audio |
the AgsAudio starts playing |
|
sound_scope |
the affected scope |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.0.0
“stop”
signalvoid user_function (AgsAudio *audio, gpointer recall_id, int sound_scope, gpointer user_data)
The ::stop signal is invoked while stoping playback
of audio
.
audio |
the AgsAudio stops playing |
|
recall_id |
a GList containing AgsRecallID |
|
sound_scope |
the affected scope |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.0.0