Top |
gpointer | acceleration | Read / Write |
AgsAudio * | audio | Read / Write |
GType * | channel-type | Read / Write |
gpointer | control-key | Read / Write |
char * | control-name | Read / Write |
double | default-value | Read / Write |
guint | line | Read / Write |
double | lower | Read / Write |
AgsPort * | port | Read / Write |
guint | steps | Read / Write |
AgsTimestamp * | timestamp | Read / Write |
double | upper | Read / Write |
#define | AGS_AUTOMATION_DEFAULT_BPM |
#define | AGS_AUTOMATION_TICS_PER_BEAT |
#define | AGS_AUTOMATION_MINIMUM_ACCELERATION_LENGTH |
#define | AGS_AUTOMATION_MAXIMUM_ACCELERATION_LENGTH |
#define | AGS_AUTOMATION_DEFAULT_LENGTH |
#define | AGS_AUTOMATION_DEFAULT_JIFFIE |
#define | AGS_AUTOMATION_DEFAULT_DURATION |
#define | AGS_AUTOMATION_DEFAULT_OFFSET |
#define | AGS_AUTOMATION_DEFAULT_PRECISION |
#define | AGS_AUTOMATION_MAXIMUM_STEPS |
#define | AGS_AUTOMATION_CLIPBOARD_VERSION |
#define | AGS_AUTOMATION_CLIPBOARD_TYPE |
#define | AGS_AUTOMATION_CLIPBOARD_FORMAT |
#define | AGS_AUTOMATION_CLIPBOARD_LEGACY_FORMAT |
enum | AgsAutomationFlags |
AgsAutomation acts as a container of AgsAcceleration. The timestamp
property tells the
engine what the first x offset of AgsAcceleration applies.
You can lookup AgsAutomation by start x offset with ags_automation_find_near_timestamp()
.
The next x offset is calculated as following:
next_x_offset = x_offset + AGS_AUTOMATION_DEFAULT_OFFSET;
Use ags_automation_add_acceleration()
to add AgsAcceleration to AgsAutomation and
ags_automation_remove_acceleration()
to remove it again.
In order to copy or cut accelerations you select them first by calling ags_automation_add_region_to_selection()
.
#define AGS_AUTOMATION_GET_OBJ_MUTEX(obj) (&(((AgsAutomation *) obj)->obj_mutex))
GRecMutex *
ags_automation_get_obj_mutex (AgsAutomation *automation
);
Get object mutex.
Since: 3.1.0
gboolean ags_automation_test_flags (AgsAutomation *automation
,AgsAutomationFlags flags
);
Test flags
to be set on automation
.
Since: 3.0.0
void ags_automation_set_flags (AgsAutomation *automation
,AgsAutomationFlags flags
);
Set flags
on automation
.
Since: 3.0.0
void ags_automation_unset_flags (AgsAutomation *automation
,AgsAutomationFlags flags
);
Unset flags
on automation
.
Since: 3.0.0
GList * ags_automation_find_port (GList *automation
,GObject *port
);
Find automation by port.
automation |
the GList containing AgsAutomation. |
[element-type AgsAudio.Automation][transfer none] |
port |
the AgsPort to match |
next matching automation as GList or NULL
if not found.
[element-type AgsAudio.Automation][transfer none]
Since: 3.0.0
GList * ags_automation_find_near_timestamp (GList *automation
,guint line
,AgsTimestamp *timestamp
);
Retrieve appropriate automation for timestamp.
automation |
the GList containing AgsAutomation. |
[element-type AgsAudio.Automation][transfer none] |
line |
the matching audio channel |
|
timestamp |
the matching timestamp |
Since: 3.0.0
GList * ags_automation_find_near_timestamp_extended (GList *automation
,guint line
,GType channel_type
,gchar *control_name
,AgsTimestamp *timestamp
);
Retrieve appropriate automation for timestamp.
automation |
the GList containing AgsAutomation. |
[element-type AgsAudio.Automation][transfer none] |
line |
the matching audio channel |
|
channel_type |
the matching channel type |
|
control_name |
the matching control name |
|
timestamp |
the matching timestamp |
Since: 3.0.0
gint ags_automation_sort_func (gconstpointer a
,gconstpointer b
);
Compare a
to b
.
Since: 3.0.0
GList * ags_automation_add (GList *automation
,AgsAutomation *new_automation
);
Add new_automation
sorted to automation
automation |
the GList containing AgsAutomation. |
[element-type AgsAudio.Automation][transfer none] |
new_automation |
the AgsAutomation to add |
Since: 3.0.0
GList *
ags_automation_remove_all_empty (GList *automation
);
Remove all empty automation
.
automation |
the GList containing AgsAutomation. |
[element-type AgsAudio.Automation][transfer none] |
Since: 5.3.8
GObject *
ags_automation_get_audio (AgsAutomation *automation
);
Get audio.
Since: 3.1.0
void ags_automation_set_audio (AgsAutomation *automation
,GObject *audio
);
Set audio.
Since: 3.1.0
GType
ags_automation_get_channel_type (AgsAutomation *automation
);
Gets channel type.
Since: 3.1.0
void ags_automation_set_channel_type (AgsAutomation *automation
,GType channel_type
);
Sets channel type.
Since: 3.1.0
guint
ags_automation_get_line (AgsAutomation *automation
);
Gets line.
Since: 3.1.0
void ags_automation_set_line (AgsAutomation *automation
,guint line
);
Sets line.
Since: 3.1.0
AgsTimestamp *
ags_automation_get_timestamp (AgsAutomation *automation
);
Get timestamp.
Since: 3.1.0
void ags_automation_set_timestamp (AgsAutomation *automation
,AgsTimestamp *timestamp
);
Set timestamp.
Since: 3.1.0
gpointer
ags_automation_get_control_key (AgsAutomation *automation
);
Get control key.
Since: 5.4.0
void ags_automation_set_control_key (AgsAutomation *automation
,gpointer control_key
);
Set control key.
Since: 5.4.0
gchar *
ags_automation_get_control_name (AgsAutomation *automation
);
Get control name.
Since: 3.1.0
void ags_automation_set_control_name (AgsAutomation *automation
,gchar *control_name
);
Set control name.
Since: 3.1.0
guint
ags_automation_get_steps (AgsAutomation *automation
);
Gets steps.
Since: 3.1.0
void ags_automation_set_steps (AgsAutomation *automation
,guint steps
);
Sets steps.
Since: 3.1.0
gdouble
ags_automation_get_upper (AgsAutomation *automation
);
Gets upper.
Since: 3.1.0
void ags_automation_set_upper (AgsAutomation *automation
,gdouble upper
);
Sets upper.
Since: 3.1.0
gdouble
ags_automation_get_lower (AgsAutomation *automation
);
Gets lower.
Since: 3.1.0
void ags_automation_set_lower (AgsAutomation *automation
,gdouble lower
);
Sets lower.
Since: 3.1.0
gdouble
ags_automation_get_default_value (AgsAutomation *automation
);
Gets default value.
Since: 3.1.0
void ags_automation_set_default_value (AgsAutomation *automation
,gdouble default_value
);
Sets default value.
Since: 3.1.0
GObject *
ags_automation_get_port (AgsAutomation *automation
);
Get port.
Since: 3.1.0
void ags_automation_set_port (AgsAutomation *automation
,GObject *port
);
Set port.
Since: 3.1.0
GList *
ags_automation_get_acceleration (AgsAutomation *automation
);
Get acceleration.
Since: 3.1.0
void ags_automation_set_acceleration (AgsAutomation *automation
,GList *acceleration
);
Set acceleration by replacing existing.
automation |
the AgsAutomation |
|
acceleration |
the GList containing AgsAcceleration. |
[element-type AgsAudio.Acceleration][transfer full] |
Since: 3.1.0
void ags_automation_add_acceleration (AgsAutomation *automation
,AgsAcceleration *acceleration
,gboolean use_selection_list
);
Adds acceleration
to automation
.
automation |
the AgsAutomation |
|
acceleration |
the AgsAcceleration to add |
|
use_selection_list |
if |
Since: 3.0.0
void ags_automation_remove_acceleration (AgsAutomation *automation
,AgsAcceleration *acceleration
,gboolean use_selection_list
);
Removes acceleration
from automation
.
automation |
the AgsAutomation |
|
acceleration |
the AgsAcceleration to remove |
|
use_selection_list |
if |
Since: 3.0.0
gboolean ags_automation_remove_acceleration_at_position (AgsAutomation *automation
,guint x
,gdouble y
);
Removes one AgsAcceleration of automation.
Since: 3.0.0
GList *
ags_automation_get_selection (AgsAutomation *automation
);
Retrieve selection.
Since: 3.0.0
gboolean ags_automation_is_acceleration_selected (AgsAutomation *automation
,AgsAcceleration *acceleration
);
Check selection for acceleration.
Since: 3.0.0
AgsAcceleration * ags_automation_find_point (AgsAutomation *automation
,guint x
,gdouble y
,gboolean use_selection_list
);
Find acceleration by offset and acceleration.
automation |
the AgsAutomation |
|
x |
x offset |
|
y |
y value acceleration, will be ignored |
|
use_selection_list |
if |
Since: 3.0.0
GList * ags_automation_find_region (AgsAutomation *automation
,guint x0
,gdouble y0
,guint x1
,gdouble y1
,gboolean use_selection_list
);
Find acceleration by offset and value region.
automation |
the AgsAutomation |
|
x0 |
start offset |
|
y0 |
value start |
|
x1 |
end offset |
|
y1 |
value end |
|
use_selection_list |
if |
Since: 3.0.0
void
ags_automation_free_selection (AgsAutomation *automation
);
Clear selection.
Since: 3.0.0
void
ags_automation_free_all_selection (GList *automation
);
Clear all selection of automation
.
Since: 3.14.10
void ags_automation_add_point_to_selection (AgsAutomation *automation
,guint x
,gdouble y
,gboolean replace_current_selection
);
Select acceleration at position.
automation |
the AgsAutomation |
|
x |
x offset |
|
y |
y acceleration value |
|
replace_current_selection |
if |
Since: 3.0.0
void ags_automation_remove_point_from_selection (AgsAutomation *automation
,guint x
,gdouble y
);
Remove acceleration at position of selection.
Since: 3.0.0
void ags_automation_add_region_to_selection (AgsAutomation *automation
,guint x0
,gdouble y0
,guint x1
,gdouble y1
,gboolean replace_current_selection
);
void ags_automation_remove_region_from_selection (AgsAutomation *automation
,guint x0
,gdouble y0
,guint x1
,gdouble y1
);
Remove acceleration within region of selection.
automation |
the AgsAutomation |
|
x0 |
x start offset |
|
y0 |
y start acceleration |
|
x1 |
x end offset |
|
y1 |
y end acceleration |
Since: 3.0.0
void
ags_automation_add_all_to_selection (AgsAutomation *automation
);
Add all acceleration to selection.
Since: 3.0.0
xmlNode *
ags_automation_copy_selection (AgsAutomation *automation
);
Copy selection to clipboard.
Since: 3.0.0
xmlNode *
ags_automation_cut_selection (AgsAutomation *automation
);
Cut selection to clipboard.
Since: 3.0.0
void ags_automation_insert_from_clipboard (AgsAutomation *automation
,xmlNode *automation_node
,gboolean reset_x_offset
,guint x_offset
,gboolean reset_y_offset
,gdouble y_offset
);
Insert clipboard automation_node
to automation
.
automation |
the AgsAutomation |
|
automation_node |
the xmlNode |
|
reset_x_offset |
if |
|
x_offset |
the x offset to use |
|
reset_y_offset |
if |
|
y_offset |
the y offset to use |
Since: 3.0.0
void ags_automation_insert_from_clipboard_extended (AgsAutomation *automation
,xmlNode *automation_node
,gboolean reset_x_offset
,guint x_offset
,gboolean reset_y_offset
,gdouble y_offset
,gboolean match_line
,gboolean no_duplicates
);
Insert clipboard automation_node
to automation
.
automation |
the AgsAutomation |
|
automation_node |
the xmlNode |
|
reset_x_offset |
if |
|
x_offset |
the x offset to use |
|
reset_y_offset |
if |
|
y_offset |
the y offset to use |
|
match_line |
if |
|
no_duplicates |
if |
Since: 3.0.0
gchar **
ags_automation_get_specifier_unique (GList *automation
);
Retrieve automation port specifier.
automation |
the GList containing AgsAutomation. |
[element-type AgsAudio.Automation][transfer none] |
Since: 3.0.0
gchar ** ags_automation_get_specifier_unique_with_channel_type (GList *automation
,GType channel_type
);
Retrieve automation port specifier.
automation |
the GList containing AgsAutomation. |
[element-type AgsAudio.Automation][transfer none] |
channel_type |
the channel's GType |
Since: 3.0.0
GList * ags_automation_find_specifier (GList *automation
,gchar *specifier
);
Find port specifier.
automation |
the GList containing AgsAutomation. |
[element-type AgsAudio.Automation][transfer none] |
specifier |
the string specifier to find |
Since: 3.0.0
GList * ags_automation_find_channel_type_with_control_name (GList *automation
,GType channel_type
,gchar *specifier
);
Find automation by channel_type
.
automation |
the GList containing AgsAutomation. |
[element-type AgsAudio.Automation][transfer none] |
channel_type |
the GType to match |
|
specifier |
the control name |
next matching automation as GList or NULL
if not found.
[element-type AgsAudio.Automation][transfer none]
Since: 3.0.0
GList * ags_automation_find_specifier_with_type_and_line (GList *automation
,gchar *specifier
,GType channel_type
,guint line
);
Find port specifier with channel type and line.
automation |
the GList containing AgsAutomation. |
[element-type AgsAudio.Automation][transfer none] |
specifier |
the string specifier to find |
|
channel_type |
the channel GType |
|
line |
the line |
Since: 3.0.0
GList * ags_automation_filter (GList *automation
,gchar *specifier
,GType channel_type
,guint line
);
Filter automation
by specifier
, channel_type
and line
.
automation |
the GList containing AgsAutomation. |
[element-type AgsAudio.Automation][transfer none] |
specifier |
the string specifier to find |
|
channel_type |
the channel GType |
|
line |
the line |
Since: 5.4.0
guint ags_automation_get_value (AgsAutomation *automation
,guint x
,guint x_end
,gboolean use_prev_on_failure
,GValue *value
);
Get automation value.
automation |
the AgsAutomation |
|
x |
the x-offset |
|
x_end |
the x-end-offset |
|
use_prev_on_failure |
if |
|
value |
the return location of value. |
[out caller-allocates] |
Since: 3.0.0
AgsAutomation * ags_automation_new (GObject *audio
,guint line
,GType channel_type
,gchar *control_name
);
Creates a new instance of AgsAutomation.
audio |
the AgsAudio |
|
line |
the line to apply |
|
channel_type |
the channel type |
|
control_name |
the control name |
Since: 3.0.0
#define AGS_AUTOMATION_MINIMUM_ACCELERATION_LENGTH (1.0 / 16.0 / 64.0)
#define AGS_AUTOMATION_MAXIMUM_ACCELERATION_LENGTH (16.0)
#define AGS_AUTOMATION_DEFAULT_LENGTH (64 * 16 * 16 * 1200 / AGS_AUTOMATION_TICS_PER_BEAT)
#define AGS_AUTOMATION_DEFAULT_JIFFIE (60.0 / AGS_AUTOMATION_DEFAULT_BPM / AGS_AUTOMATION_TICS_PER_BEAT)
#define AGS_AUTOMATION_DEFAULT_DURATION (AGS_AUTOMATION_DEFAULT_LENGTH * AGS_AUTOMATION_DEFAULT_JIFFIE * AGS_USEC_PER_SEC)
#define AGS_AUTOMATION_DEFAULT_OFFSET (64 * (1 / AGS_AUTOMATION_MINIMUM_ACCELERATION_LENGTH))
#define AGS_AUTOMATION_CLIPBOARD_LEGACY_FORMAT "AgsAutomationNativePiano"
Enum values to control the behavior or indicate internal state of AgsAutomation by enable/disable as flags.
“acceleration”
property “acceleration” gpointer
The acceleration list.
[transfer full]
Owner: AgsAutomation
Flags: Read / Write
Since: 3.0.0
“audio”
property“audio” AgsAudio *
The assigned AgsAudio
Owner: AgsAutomation
Flags: Read / Write
Since: 3.0.0
“channel-type”
property “channel-type” GType *
The effect's assigned channel type.
Owner: AgsAutomation
Flags: Read / Write
Allowed values: void
Since: 3.0.0
“control-key”
property “control-key” gpointer
The effect's assigned control key.
Owner: AgsAutomation
Flags: Read / Write
Since: 5.4.0
“control-name”
property “control-name” char *
The effect's assigned control name.
Owner: AgsAutomation
Flags: Read / Write
Default value: NULL
Since: 3.0.0
“default-value”
property “default-value” double
The effect's default-value.
Owner: AgsAutomation
Flags: Read / Write
Default value: 0
Since: 3.0.0
“line”
property “line” guint
The effect's line.
Owner: AgsAutomation
Flags: Read / Write
Allowed values: <= 65535
Default value: 0
Since: 3.0.0
“lower”
property “lower” double
The effect's lower.
Owner: AgsAutomation
Flags: Read / Write
Default value: 0
Since: 3.0.0
“port”
property“port” AgsPort *
The assigned AgsPort
Owner: AgsAutomation
Flags: Read / Write
Since: 3.0.0
“steps”
property “steps” guint
The effect's steps.
Owner: AgsAutomation
Flags: Read / Write
Default value: 0
Since: 3.0.0
“timestamp”
property “timestamp” AgsTimestamp *
The automation's timestamp.
Owner: AgsAutomation
Flags: Read / Write
Since: 3.0.0