## AgsAcceleration

AgsAcceleration — Acceleration class

## Stability Level

Stable, unless otherwise indicated

## Functions

#define | AGS_ACCELERATION_GET_OBJ_MUTEX()
GRecMutex * | ags_acceleration_get_obj_mutex ()
gboolean | ags_acceleration_test_flags ()
void | ags_acceleration_set_flags ()
void | ags_acceleration_unset_flags ()
gint | ags_acceleration_sort_func ()
guint | ags_acceleration_get_x ()
void | ags_acceleration_set_x ()
gdouble | ags_acceleration_get_y ()
void | ags_acceleration_set_y ()
GList * | ags_acceleration_find_range_x ()
AgsAcceleration * | ags_acceleration_duplicate ()
AgsAcceleration * | ags_acceleration_new ()

## Properties

char * | acceleration-name | Read / Write
guint | x | Read / Write
double | y | Read / Write

## Types and Values

enum | AgsAccelerationFlags

## Object Hierarchy

        GFlags
        ╰── AgsAccelerationFlags
        GObject
        ╰── AgsAcceleration

## Includes

    #include <ags/audio/ags_acceleration.h>

## Description

AgsAcceleration represents an automated value of a port. You specify y the value written to a port by offset x.

## Functions

### AGS_ACCELERATION_GET_OBJ_MUTEX()

    #define AGS_ACCELERATION_GET_OBJ_MUTEX(obj) (&(((AgsAcceleration *) obj)->obj_mutex))

### ags_acceleration_get_obj_mutex ()

    GRecMutex *
    ags_acceleration_get_obj_mutex (AgsAcceleration *acceleration);

Get object mutex.

#### Parameters

acceleration | the AgsAcceleration |

#### Returns

the GRecMutex to lock `acceleration`

Since: 3.1.0

### ags_acceleration_test_flags ()

    gboolean
    ags_acceleration_test_flags (AgsAcceleration *acceleration,
                                 AgsAccelerationFlags flags);

Test `flags` to be set on `acceleration` .

#### Parameters

acceleration | the AgsAcceleration |
flags | the flags |

#### Returns

`TRUE` if flags are set, else `FALSE`

Since: 3.0.0

### ags_acceleration_set_flags ()

    void
    ags_acceleration_set_flags (AgsAcceleration *acceleration,
                                AgsAccelerationFlags flags);

Set `flags` on `acceleration` .

#### Parameters

acceleration | the AgsAcceleration |
flags | the flags |

Since: 3.0.0

### ags_acceleration_unset_flags ()

    void
    ags_acceleration_unset_flags (AgsAcceleration *acceleration,
                                  AgsAccelerationFlags flags);

Unset `flags` on `acceleration` .

#### Parameters

acceleration | the AgsAcceleration |
flags | the flags |

Since: 3.0.0

### ags_acceleration_sort_func ()

    gint
    ags_acceleration_sort_func (gconstpointer a,
                                gconstpointer b);

Sort accelerations.

#### Parameters

a | an AgsAcceleration |
b | an other AgsAcceleration |

#### Returns

0 if equal, -1 if smaller and 1 if bigger offset

Since: 3.0.0

### ags_acceleration_get_x ()

    guint
    ags_acceleration_get_x (AgsAcceleration *acceleration);

Gets x.

#### Parameters

acceleration | the AgsAcceleration |

#### Returns

the x

Since: 3.1.0

### ags_acceleration_set_x ()

    void
    ags_acceleration_set_x (AgsAcceleration *acceleration,
                            guint x);

Sets x.

#### Parameters

acceleration | the AgsAcceleration |
x | the x |

Since: 3.1.0

### ags_acceleration_get_y ()

    gdouble
    ags_acceleration_get_y (AgsAcceleration *acceleration);

Gets y.

#### Parameters

acceleration | the AgsAcceleration |

#### Returns

the y

Since: 3.1.0

### ags_acceleration_set_y ()

    void
    ags_acceleration_set_y (AgsAcceleration *acceleration,
                            gdouble y);

Sets y.

#### Parameters

acceleration | the AgsAcceleration |
y | the y |

Since: 3.1.0

### ags_acceleration_find_range_x ()

    GList *
    ags_acceleration_find_range_x (GList *acceleration,
                                   guint start_x,
                                   guint end_x);

Find within range of `start_x` and `end_x` .

#### Parameters

acceleration | the GList containing AgsAcceleration. | [element-type AgsAudio.Acceleration][transfer none]
start_x | start x offset |
end_x | end x offset |

#### Returns

the matching entry as GList, else `NULL`.

[element-type AgsAudio.Acceleration][transfer none]

Since: 8.0.11

### ags_acceleration_duplicate ()

    AgsAcceleration *
    ags_acceleration_duplicate (AgsAcceleration *acceleration);

Duplicate a acceleration.

#### Parameters

acceleration | an AgsAcceleration |

#### Returns

the duplicated AgsAcceleration.

[transfer full]

Since: 3.0.0

### ags_acceleration_new ()

    AgsAcceleration *
    ags_acceleration_new ();

Creates a new instance of AgsAcceleration

#### Returns

the new AgsAcceleration

Since: 3.0.0

## Types and Values

### enum AgsAccelerationFlags

#### Members

AGS_ACCELERATION_DEFAULT_START | if start is default start point |
AGS_ACCELERATION_DEFAULT_END | if end is default end point |
AGS_ACCELERATION_GUI | interpret x and y as GUI format |
AGS_ACCELERATION_RUNTIME | interpret x and y as runtime formant |
AGS_ACCELERATION_HUMAN_READABLE | interpret x and y as human readable |
AGS_ACCELERATION_DEFAULT_LENGTH | if default length applies |
AGS_ACCELERATION_IS_SELECTED | if the acceleration is selected |

## Property Details

### The `“acceleration-name”` property

      “acceleration-name”        char *

The acceleration's name.

Owner: AgsAcceleration

Flags: Read / Write

Default value: NULL

Since: 3.0.0

### The `“x”` property

      “x”                        guint

Acceleration offset x.

Owner: AgsAcceleration

Flags: Read / Write

Default value: 0

Since: 3.0.0

### The `“y”` property

      “y”                        double

Acceleration value y.

Owner: AgsAcceleration

Flags: Read / Write

Default value: 0

Since: 3.0.0