## AgsTactable

AgsTactable — unique tempo set or attributes access

## Stability Level

Stable, unless otherwise indicated

## Functions

guint64 | ags_tactable_get_sequencer_duration ()
guint64 | ags_tactable_get_notation_duration ()
guint64 | ags_tactable_get_wave_duration ()
guint64 | ags_tactable_get_midi_duration ()
gdouble | ags_tactable_get_bpm ()
gdouble | ags_tactable_get_tact ()
void | ags_tactable_change_sequencer_duration ()
void | ags_tactable_change_notation_duration ()
void | ags_tactable_change_wave_duration ()
void | ags_tactable_change_midi_duration ()
void | ags_tactable_change_bpm ()
void | ags_tactable_change_tact ()

## Signals

void | change-bpm | Run Last
void | change-midi-duration | Run Last
void | change-notation-duration | Run Last
void | change-sequencer-duration | Run Last
void | change-tact | Run Last
void | change-wave-duration | Run Last

## Object Hierarchy

        GInterface
        ╰── AgsTactable

## Includes

    #include <ags/object/ags_tactable.h>

## Description

The AgsTactable interface gives you a unique access to modify tempo.

## Functions

### ags_tactable_get_sequencer_duration ()

    guint64
    ags_tactable_get_sequencer_duration (AgsTactable *tactable);

Get sequencer duration.

#### Parameters

tactable | the AgsTactable |

#### Returns

the sequencer duration

Since: 3.0.0

### ags_tactable_get_notation_duration ()

    guint64
    ags_tactable_get_notation_duration (AgsTactable *tactable);

Get notation duration.

#### Parameters

tactable | the AgsTactable |

#### Returns

the notation duration

Since: 3.0.0

### ags_tactable_get_wave_duration ()

    guint64
    ags_tactable_get_wave_duration (AgsTactable *tactable);

Get wave duration.

#### Parameters

tactable | the AgsTactable |

#### Returns

the wave duration

Since: 3.0.0

### ags_tactable_get_midi_duration ()

    guint64
    ags_tactable_get_midi_duration (AgsTactable *tactable);

Get midi duration.

#### Parameters

tactable | the AgsTactable |

#### Returns

the midi duration

Since: 3.0.0

### ags_tactable_get_bpm ()

    gdouble
    ags_tactable_get_bpm (AgsTactable *tactable);

Get bpm.

#### Parameters

tactable | the AgsTactable |

#### Returns

the bpm

Since: 3.0.0

### ags_tactable_get_tact ()

    gdouble
    ags_tactable_get_tact (AgsTactable *tactable);

Get tact.

#### Parameters

tactable | the AgsTactable |

#### Returns

the tact

Since: 3.0.0

### ags_tactable_change_sequencer_duration ()

    void
    ags_tactable_change_sequencer_duration
                                   (AgsTactable *tactable,
                                    guint64 sequencer_duration);

Change sequencer duration.

#### Parameters

tactable | the AgsTactable |
sequencer_duration | the duration |

Since: 3.0.0

### ags_tactable_change_notation_duration ()

    void
    ags_tactable_change_notation_duration (AgsTactable *tactable,
                                           guint64 notation_duration);

Change notation duration.

#### Parameters

tactable | the AgsTactable |
notation_duration | the duration |

Since: 3.0.0

### ags_tactable_change_wave_duration ()

    void
    ags_tactable_change_wave_duration (AgsTactable *tactable,
                                       guint64 wave_duration);

Change wave duration.

#### Parameters

tactable | the AgsTactable |
wave_duration | the duration |

Since: 3.0.0

### ags_tactable_change_midi_duration ()

    void
    ags_tactable_change_midi_duration (AgsTactable *tactable,
                                       guint64 midi_duration);

Change midi duration.

#### Parameters

tactable | the AgsTactable |
midi_duration | the duration |

Since: 3.0.0

### ags_tactable_change_bpm ()

    void
    ags_tactable_change_bpm (AgsTactable *tactable,
                             gdouble new_bpm,
                             gdouble old_bpm);

Change bpm.

#### Parameters

tactable | the AgsTactable |
new_bpm | the new bpm |
old_bpm | the old bpm |

Since: 3.0.0

### ags_tactable_change_tact ()

    void
    ags_tactable_change_tact (AgsTactable *tactable,
                              gdouble new_tact,
                              gdouble old_tact);

Change tact.

#### Parameters

tactable | the AgsTactable |
new_tact | the new tact |
old_tact | the old tact |

Since: 3.0.0

## Signal Details

### The `“change-bpm”` signal

    void
    user_function (AgsTactable *tactable,
                   double       new_bpm,
                   double       old_bpm,
                   gpointer     user_data)

The ::change-bpm signal notifies about changed bpm.

#### Parameters

tactable | the AgsTactable object |
new_bpm | new BPM |
old_bpm | old BPM |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

Since: 3.0.0

### The `“change-midi-duration”` signal

    void
    user_function (AgsTactable *tactable,
                   guint64      midi_duration,
                   gpointer     user_data)

The ::change-midi-duration signal notifies about changed duration of midi.

#### Parameters

tactable | the AgsTactable object |
midi_duration | new duration |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

Since: 3.0.0

### The `“change-notation-duration”` signal

    void
    user_function (AgsTactable *tactable,
                   guint64      notation_duration,
                   gpointer     user_data)

The ::change-notation-duration signal notifies about changed duration of notation.

#### Parameters

tactable | the AgsTactable object |
notation_duration | new duration |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

Since: 3.0.0

### The `“change-sequencer-duration”` signal

    void
    user_function (AgsTactable *tactable,
                   guint64      sequencer_duration,
                   gpointer     user_data)

The ::change-sequencer-duration signal notifies about changed duration of sequencer.

#### Parameters

tactable | the AgsTactable object |
sequencer_duration | new duration |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

Since: 3.0.0

### The `“change-tact”` signal

    void
    user_function (AgsTactable *tactable,
                   double       new_tact,
                   double       old_tact,
                   gpointer     user_data)

The ::change-tact signal notifies about changed tact.

#### Parameters

tactable | the AgsTactable object |
new_tact | new tact |
old_tact | old tact |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

Since: 3.0.0

### The `“change-wave-duration”` signal

    void
    user_function (AgsTactable *tactable,
                   guint64      wave_duration,
                   gpointer     user_data)

The ::change-wave-duration signal notifies about changed duration of wave.

#### Parameters

tactable | the AgsTactable object |
wave_duration | new duration |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

Since: 3.0.0