Top |
guint | attack | Read / Write |
guint | buffer-size | Read / Write |
AgsComplex * | damping | Read / Write |
AgsAudioSignal * | default-template | Read / Write |
double | delay | Read / Write |
guint | first-frame | Read / Write |
guint | format | Read / Write |
guint | frame-count | Read / Write |
GObject * | input-soundcard | Read / Write |
int | input-soundcard-channel | Read / Write |
guint | last-frame | Read / Write |
guint | length | Read / Write |
guint | loop-end | Read / Write |
guint | loop-start | Read / Write |
gpointer | note | Read / Write |
guint | note-256th-attack | Read / Write |
GObject * | output-soundcard | Read / Write |
int | output-soundcard-channel | Read / Write |
AgsRecallID * | recall-id | Read / Write |
AgsRecycling * | recycling | Read / Write |
AgsAudioSignal * | rt-template | Read / Write |
guint | samplerate | Read / Write |
gpointer | stream | Read |
gpointer | stream-current | Read |
gpointer | stream-end | Read |
guint | timbre-end | Read / Write |
guint | timbre-start | Read / Write |
AgsComplex * | vibration | Read / Write |
guint | word-size | Read |
AgsAudioSignal organizes audio data within a GList whereby data pointing to the buffer.
It has output-soundcard
and input-soundcard
properties AgsRecall implementations
should default to.
The stream
property contains the processing audio data. You may set loop-start
and loop-end
to loop over samples until desired audio buffer length is achieved.
As accessing the audio data you should lock it with ags_audio_signal_stream_lock()
and as
completed your work you release the lock with ags_audio_signal_stream_unlock()
.
The note
property contains information about assigned AgsNote objects coming from AgsNotation
residing in AgsAudio.
As you might see multiple key presses may apply to one AgsAudioSignal.
#define AGS_AUDIO_SIGNAL_GET_OBJ_MUTEX(obj) (&(((AgsAudioSignal *) obj)->obj_mutex))
#define AGS_AUDIO_SIGNAL_GET_STREAM_MUTEX(obj) (&(((AgsAudioSignal *) obj)->stream_mutex))
#define AGS_AUDIO_SIGNAL_GET_BACKLOG_MUTEX(obj) (&(((AgsAudioSignal *) obj)->backlog_mutex))
GRecMutex *
ags_audio_signal_get_obj_mutex (AgsAudioSignal *audio_signal
);
Get object mutex.
Since: 3.1.0
void
ags_audio_signal_stream_lock (AgsAudioSignal *audio_signal
);
Lock stream mutex.
Since: 3.1.0
void
ags_audio_signal_stream_unlock (AgsAudioSignal *audio_signal
);
Unlock stream mutex.
Since: 3.1.0
gboolean ags_audio_signal_test_flags (AgsAudioSignal *audio_signal
,AgsAudioSignalFlags flags
);
Test flags
to be set on audio_signal
.
Since: 3.0.0
void ags_audio_signal_set_flags (AgsAudioSignal *audio_signal
,AgsAudioSignalFlags flags
);
Enable a feature of audio_signal
.
Since: 3.0.0
void ags_audio_signal_unset_flags (AgsAudioSignal *audio_signal
,AgsAudioSignalFlags flags
);
Disable a feature of audio_signal
.
Since: 3.0.0
gboolean ags_audio_signal_test_key_format (AgsAudioSignal *audio_signal
,AgsSoundKeyFormat key_format
);
Test key_format
to be set on audio_signal
.
Since: 6.2.0
void ags_audio_signal_set_key_format (AgsAudioSignal *audio_signal
,AgsSoundKeyFormat key_format
);
Set key_format
on audio_signal
.
Since: 6.2.0
void * ags_stream_alloc (guint buffer_size
,AgsSoundcardFormat format
);
Allocs an audio buffer.
Since: 3.0.0
void * ags_stream_slice_alloc (guint buffer_size
,AgsSoundcardFormat format
);
Allocs an audio buffer.
Since: 3.3.0
void ags_stream_slice_free (guint buffer_size
,AgsSoundcardFormat format
,void *buffer
);
Frees an audio buffer.
Since: 3.3.0
GObject *
ags_audio_signal_get_recycling (AgsAudioSignal *audio_signal
);
Get recycling.
Since: 3.1.0
void ags_audio_signal_set_recycling (AgsAudioSignal *audio_signal
,GObject *recycling
);
Set recycling.
Since: 3.1.0
GObject *
ags_audio_signal_get_output_soundcard (AgsAudioSignal *audio_signal
);
Get the output soundcard object of audio_signal
.
Since: 3.1.0
void ags_audio_signal_set_output_soundcard (AgsAudioSignal *audio_signal
,GObject *output_soundcard
);
Set the output soundcard object of audio_signal
.
Since: 3.0.0
GObject *
ags_audio_signal_get_input_soundcard (AgsAudioSignal *audio_signal
);
Get the input soundcard object of audio_signal
.
Since: 3.1.0
void ags_audio_signal_set_input_soundcard (AgsAudioSignal *audio_signal
,GObject *input_soundcard
);
Set the input soundcard object of audio_signal
.
Since: 3.0.0
guint
ags_audio_signal_get_samplerate (AgsAudioSignal *audio_signal
);
Gets samplerate.
Since: 3.1.0
void ags_audio_signal_set_samplerate (AgsAudioSignal *audio_signal
,guint samplerate
);
Set samplerate.
Since: 3.0.0
guint
ags_audio_signal_get_buffer_size (AgsAudioSignal *audio_signal
);
Gets buffer size.
Since: 3.1.0
void ags_audio_signal_set_buffer_size (AgsAudioSignal *audio_signal
,guint buffer_size
);
Set buffer size.
Since: 3.0.0
AgsSoundcardFormat
ags_audio_signal_get_format (AgsAudioSignal *audio_signal
);
Gets format.
Since: 3.1.0
void ags_audio_signal_set_format (AgsAudioSignal *audio_signal
,AgsSoundcardFormat format
);
Set format.
Since: 3.0.0
guint
ags_audio_signal_get_attack (AgsAudioSignal *audio_signal
);
Get attack of audio_signal
.
Since: 6.2.0
void ags_audio_signal_set_attack (AgsAudioSignal *audio_signal
,guint attack
);
Set attack
of audio_signal
.
Since: 6.2.0
GList *
ags_audio_signal_get_note (AgsAudioSignal *audio_signal
);
Get note.
Since: 3.1.0
void ags_audio_signal_set_note (AgsAudioSignal *audio_signal
,GList *note
);
Set note by replacing existing.
audio_signal |
the AgsAudioSignal |
|
note |
the GList containing AgsNote. |
[element-type AgsAudio.Note][transfer full] |
Since: 3.1.0
void ags_audio_signal_add_note (AgsAudioSignal *audio_signal
,GObject *note
);
Add note to audio_signal
.
Since: 3.0.0
void ags_audio_signal_remove_note (AgsAudioSignal *audio_signal
,GObject *note
);
Remove note from audio_signal
.
Since: 3.0.0
GList *
ags_audio_signal_get_stream (AgsAudioSignal *audio_signal
);
Get stream.
Since: 3.8.11
void ags_audio_signal_set_stream (AgsAudioSignal *audio_signal
,GList *stream
);
Set stream by replacing existing.
audio_signal |
the AgsAudioSignal |
|
stream |
the GList containing audio data. |
[element-type guint8][transfer full] |
Since: 3.8.11
gboolean ags_audio_signal_test_stream_mode (AgsAudioSignal *audio_signal
,AgsAudioSignalStreamMode stream_mode
);
Test stream_mode
to be set on audio_signal
.
Since: 6.2.0
void ags_audio_signal_set_stream_mode (AgsAudioSignal *audio_signal
,AgsAudioSignalStreamMode stream_mode
);
Set stream mode of audio_signal
.
Since: 6.2.0
guint
ags_audio_signal_get_note_256th_attack
(AgsAudioSignal *audio_signal
);
Get note 256th attack of audio_signal
.
Since: 6.2.0
void ags_audio_signal_set_note_256th_attack (AgsAudioSignal *audio_signal
,guint note_256th_attack
);
Set note_256th_attack
of audio_signal
.
Since: 6.2.0
void
ags_audio_signal_add_stream (AgsAudioSignal *audio_signal
);
Adds a buffer at the end of the stream.
Since: 3.0.0
void ags_audio_signal_stream_resize (AgsAudioSignal *audio_signal
,guint length
);
Resize stream of audio_signal
to length
number of buffers.
Since: 3.0.0
void ags_audio_signal_stream_safe_resize (AgsAudioSignal *audio_signal
,guint length
);
Resize stream of audio_signal
to length
number of buffers. But doesn't shrink
more than the current stream position.
Since: 3.0.0
void
ags_audio_signal_clear (AgsAudioSignal *audio_signal
);
Clear audio_signal
.
Since: 3.4.1
void ags_audio_signal_duplicate_stream (AgsAudioSignal *audio_signal
,AgsAudioSignal *default_template
);
Apply default_template
audio data to audio_signal
. Note should only be invoked
by proper recall context because only the stream of default_template
is locked.
Since: 3.0.0
void ags_audio_signal_feed (AgsAudioSignal *audio_signal
,AgsAudioSignal *default_template
,guint frame_count
);
Feed audio signal to grow upto frame count.
audio_signal |
the AgsAudioSignal |
|
default_template |
the default template AgsAudioSignal |
|
frame_count |
the new frame count |
Since: 3.0.0
void ags_audio_signal_feed_extended (AgsAudioSignal *audio_signal
,AgsAudioSignal *default_template
,guint frame_count
,guint old_frame_count
,gboolean do_open
,gboolean do_close
);
Feed audio signal to grow upto frame count.
audio_signal |
the AgsAudioSignal |
|
default_template |
the default template AgsAudioSignal |
|
frame_count |
the new frame count |
|
old_frame_count |
the old frame count |
|
do_open |
open feed |
|
do_close |
close feed |
Since: 3.3.0
void ags_audio_signal_open_feed (AgsAudioSignal *audio_signal
,AgsAudioSignal *default_template
,guint frame_count
,guint old_frame_count
);
Feed audio signal to grow upto frame count.
audio_signal |
the AgsAudioSignal |
|
default_template |
the default template AgsAudioSignal |
|
frame_count |
the new frame count |
|
old_frame_count |
the old frame count |
Since: 3.3.0
void ags_audio_signal_continue_feed (AgsAudioSignal *audio_signal
,AgsAudioSignal *default_template
,guint frame_count
,guint old_frame_count
);
Feed audio signal to grow upto frame count.
audio_signal |
the AgsAudioSignal |
|
default_template |
the default template AgsAudioSignal |
|
frame_count |
the new frame count |
|
old_frame_count |
the old frame count |
Since: 3.3.0
void ags_audio_signal_close_feed (AgsAudioSignal *audio_signal
,AgsAudioSignal *default_template
,guint frame_count
,guint old_frame_count
);
Feed audio signal to grow upto frame count.
audio_signal |
the AgsAudioSignal |
|
default_template |
the default template AgsAudioSignal |
|
frame_count |
the new frame count |
|
old_frame_count |
the old frame count |
Since: 3.3.0
guint
ags_audio_signal_get_length_till_current
(AgsAudioSignal *audio_signal
);
Counts the buffers from :stream upto :stream-current.
Since: 3.0.0
gboolean ags_audio_signal_contains_note (AgsAudioSignal *audio_signal
,AgsNote *note
);
Check if audio_signal
contains note
.
Since: 3.3.0
AgsAudioSignal *
ags_audio_signal_get_default_template (GList *audio_signal
);
Retrieve the default template audio signal.
audio_signal |
the GList containing AgsAudioSignal. |
[element-type AgsAudio.AudioSignal][transfer none] |
Since: 5.0.0
GList *
ags_audio_signal_get_rt_default_template
(GList *audio_signal
);
GList *
ags_audio_signal_get_rt_template (GList *audio_signal
);
Retrieve the realtime template audio signal.
audio_signal |
a GList containing AgsAudioSignal. |
[element-type AgsAudio.AudioSignal][transfer none] |
the rt-templates as GList containing AgsAudioSignal.
[element-type AgsAudio.AudioSignal][transfer full]
Since: 3.0.0
GList * ags_audio_signal_find_stream_current (GList *audio_signal
,GObject *recall_id
);
Retrieve next current stream of AgsAudioSignal list. Warning this function does not lock the stream mutex.
audio_signal |
the GList containing AgsAudioSignal. |
[element-type AgsAudio.AudioSignal][transfer none] |
recall_id |
the matching AgsRecallID |
Since: 3.0.0
GList * ags_audio_signal_find_by_recall_id (GList *audio_signal
,GObject *recall_id
);
Retrieve next audio signal refering to recall_id
audio_signal |
a GList containing AgsAudioSignal. |
[element-type AgsAudio.AudioSignal][transfer none] |
recall_id |
matching AgsRecallID |
matching GList containing AgsAudioSignal.
[element-type AgsAudio.AudioSignal][transfer none]
Since: 3.0.0
gboolean ags_audio_signal_is_active (GList *audio_signal
,GObject *recall_id
);
Check if is active.
audio_signal |
the GList containing AgsAudioSignal. |
[element-type AgsAudio.AudioSignal][transfer none] |
recall_id |
the AgsRecallID |
Since: 3.0.0
AgsAudioSignal * ags_audio_signal_new (GObject *output_soundcard
,GObject *recycling
,GObject *recall_id
);
Creates a AgsAudioSignal, with defaults of output_soundcard
, linking recycling
tree
and refering to recall_id
.
output_soundcard |
the assigned output AgsSoundcard |
|
recycling |
the AgsRecycling |
|
recall_id |
the AgsRecallID, it can be NULL if |
Since: 3.0.0
AgsAudioSignal * ags_audio_signal_new_with_length (GObject *output_soundcard
,GObject *recycling
,GObject *recall_id
,guint length
);
Creates a AgsAudioSignal, with defaults of soundcard
, linking recycling
tree
and refering to recall_id
.
The audio data is tiled to length
frame count.
output_soundcard |
the assigned output AgsSoundcard |
|
recycling |
the AgsRecycling |
|
recall_id |
the AgsRecallID, it can be NULL if |
|
length |
audio data frame count |
Since: 3.0.0
Enum values to control the behavior or indicate internal state of AgsAudioSignal by enable/disable as flags.
Enum values to set the mode of AgsAudioSignal stream behaviour by enable/disable setting mode.
“attack”
property “attack” guint
The attack to be used.
Owner: AgsAudioSignal
Flags: Read / Write
Default value: 0
Since: 3.0.0
“buffer-size”
property “buffer-size” guint
The buffer size to be used.
Owner: AgsAudioSignal
Flags: Read / Write
Default value: 0
Since: 3.0.0
“damping”
property “damping” AgsComplex *
Damping of timbre.
Owner: AgsAudioSignal
Flags: Read / Write
Since: 3.0.0
“default-template”
property“default-template” AgsAudioSignal *
The assigned AgsAudioSignal default template.
Owner: AgsAudioSignal
Flags: Read / Write
Since: 5.0.0
“delay”
property “delay” double
The delay to be used.
Owner: AgsAudioSignal
Flags: Read / Write
Allowed values: >= 0
Default value: 0
Since: 3.0.0
“first-frame”
property “first-frame” guint
The first frame of stream.
Owner: AgsAudioSignal
Flags: Read / Write
Default value: 0
Since: 3.0.0
“format”
property “format” guint
The format to be used.
Owner: AgsAudioSignal
Flags: Read / Write
Default value: 0
Since: 3.0.0
“frame-count”
property “frame-count” guint
The initial size of audio data.
Owner: AgsAudioSignal
Flags: Read / Write
Default value: 0
Since: 3.0.0
“input-soundcard”
property “input-soundcard” GObject *
The assigned input AgsSoundcard.
Owner: AgsAudioSignal
Flags: Read / Write
Since: 3.0.0
“input-soundcard-channel”
property “input-soundcard-channel” int
The input soundcard channel.
Owner: AgsAudioSignal
Flags: Read / Write
Allowed values: >= -1
Default value: 0
Since: 3.0.0
“last-frame”
property “last-frame” guint
The last frame of stream.
Owner: AgsAudioSignal
Flags: Read / Write
Default value: 0
Since: 3.0.0
“length”
property “length” guint
The length of the stream.
Owner: AgsAudioSignal
Flags: Read / Write
Default value: 0
Since: 3.0.0
“loop-end”
property “loop-end” guint
The loop end of stream.
Owner: AgsAudioSignal
Flags: Read / Write
Default value: 0
Since: 3.0.0
“loop-start”
property “loop-start” guint
The loop start of stream.
Owner: AgsAudioSignal
Flags: Read / Write
Default value: 0
Since: 3.0.0
“note”
property “note” gpointer
The assigned AgsNote providing default settings.
[transfer full]
Owner: AgsAudioSignal
Flags: Read / Write
Since: 3.0.0
“note-256th-attack”
property “note-256th-attack” guint
The note 256th attack to be used.
Owner: AgsAudioSignal
Flags: Read / Write
Default value: 0
Since: 6.2.0
“output-soundcard”
property “output-soundcard” GObject *
The assigned output AgsSoundcard providing default settings.
Owner: AgsAudioSignal
Flags: Read / Write
Since: 3.0.0
“output-soundcard-channel”
property “output-soundcard-channel” int
The output soundcard channel.
Owner: AgsAudioSignal
Flags: Read / Write
Allowed values: >= -1
Default value: 0
Since: 3.0.0
“recall-id”
property“recall-id” AgsRecallID *
The assigned AgsRecallID providing context.
Owner: AgsAudioSignal
Flags: Read / Write
Since: 3.0.0
“recycling”
property“recycling” AgsRecycling *
The assigned AgsRecycling linking tree.
Owner: AgsAudioSignal
Flags: Read / Write
Since: 3.0.0
“rt-template”
property“rt-template” AgsAudioSignal *
The assigned AgsAudioSignal realtime template.
Owner: AgsAudioSignal
Flags: Read / Write
Since: 3.0.0
“samplerate”
property “samplerate” guint
The samplerate to be used.
Owner: AgsAudioSignal
Flags: Read / Write
Default value: 0
Since: 3.0.0
“stream”
property “stream” gpointer
The stream it contains.
Owner: AgsAudioSignal
Flags: Read
Since: 3.0.0
“stream-current”
property “stream-current” gpointer
The current stream.
Owner: AgsAudioSignal
Flags: Read
Since: 3.0.0
“stream-end”
property “stream-end” gpointer
The end of stream.
Owner: AgsAudioSignal
Flags: Read
Since: 3.0.0
“timbre-end”
property “timbre-end” guint
The timbre's end frame.
Owner: AgsAudioSignal
Flags: Read / Write
Default value: 0
Since: 3.0.0
“timbre-start”
property “timbre-start” guint
The timbre's start frame.
Owner: AgsAudioSignal
Flags: Read / Write
Default value: 0
Since: 3.0.0
“vibration”
property “vibration” AgsComplex *
Vibration of timbre.
Owner: AgsAudioSignal
Flags: Read / Write
Since: 3.0.0
“add-note”
signalvoid user_function (AgsAudioSignal *audio_signal, GObject *note, gpointer user_data)
The ::add-note signal notifies about adding note
.
audio_signal |
the AgsAudioSignal |
|
note |
the AgsNote |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.0.0
“refresh-data”
signalvoid user_function (AgsAudioSignal *audio_signal, gpointer user_data)
The ::refresh-data signal notifies about requesting to refresh data.
audio_signal |
the AgsAudioSignal |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.0.0
“remove-note”
signalvoid user_function (AgsAudioSignal *audio_signal, GObject *note, gpointer user_data)
The ::remove-note signal notifies about removing note
.
audio_signal |
the AgsAudioSignal |
|
note |
the AgsNote |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 3.0.0