|
lmms
Cross-platform music production software
|
#include <allegro.h>
Public Member Functions | |
| Alg_time_map () | |
| Alg_time_map (Alg_time_map *map) | |
| copy constructor | |
| long | length () |
| void | show () |
| long | locate_time (double time) |
| long | locate_beat (double beat) |
| double | beat_to_time (double beat) |
| double | time_to_beat (double time) |
| void | insert_beat (double time, double beat) |
| add a point to the map | |
| bool | insert_tempo (double tempo, double beat) |
| double | get_tempo (double beat) |
| get the tempo starting at beat | |
| bool | set_tempo (double tempo, double start_beat, double end_beat) |
| set the tempo over a region | |
| bool | stretch_region (double b0, double b1, double dur) |
| void | cut (double start, double len, bool units_are_seconds) |
| void | trim (double start, double end, bool units_are_seconds) |
| void | paste (double start, Alg_track *tr) |
| void | insert_time (double start, double len) |
| void | insert_beats (double start, double len) |
| void | dereference () |
| void | reference () |
Public Attributes | |
| Alg_beats | beats |
| array of Alg_beat | |
| double | last_tempo |
| bool | last_tempo_flag |
Private Attributes | |
| int | refcount |
|
inline |
This value ignored until last_tempo_flag is set; nevertheless, the default tempo is 100.
| Alg_time_map::Alg_time_map | ( | Alg_time_map * | map | ) |
copy constructor
| double Alg_time_map::beat_to_time | ( | double | beat | ) |
| void Alg_time_map::cut | ( | double | start, |
| double | len, | ||
| bool | units_are_seconds ) |
|
inline |
| double Alg_time_map::get_tempo | ( | double | beat | ) |
get the tempo starting at beat
| void Alg_time_map::insert_beat | ( | double | time, |
| double | beat ) |
add a point to the map
Time map manipulations: it is prefered to call the corresponding methods in Alg_seq. If you manipulate an Alg_time_map directly, you should take care to convert all tracks that use the time map to beats or seconds as appropriate: Normally if you insert a beat you want tracks to be in time units and if you insert a tempo change you want tracks to be in beat units.
| void Alg_time_map::insert_beats | ( | double | start, |
| double | len ) |
insert a span of beats. If start is at a tempo change, the tempo change takes effect before the inserted beats
| bool Alg_time_map::insert_tempo | ( | double | tempo, |
| double | beat ) |
insert a tempo change
| void Alg_time_map::insert_time | ( | double | start, |
| double | len ) |
insert a span of time. If start is at a tempo change, then the span of time runs at the changed tempo
|
inline |
| long Alg_time_map::locate_beat | ( | double | beat | ) |
| long Alg_time_map::locate_time | ( | double | time | ) |
| void Alg_time_map::paste | ( | double | start, |
| Alg_track * | tr ) |
|
inline |
| bool Alg_time_map::set_tempo | ( | double | tempo, |
| double | start_beat, | ||
| double | end_beat ) |
set the tempo over a region
| void Alg_time_map::show | ( | ) |
| bool Alg_time_map::stretch_region | ( | double | b0, |
| double | b1, | ||
| double | dur ) |
| double Alg_time_map::time_to_beat | ( | double | time | ) |
| void Alg_time_map::trim | ( | double | start, |
| double | end, | ||
| bool | units_are_seconds ) |
| double Alg_time_map::last_tempo |
| bool Alg_time_map::last_tempo_flag |
|
private |