|
LMMS
|
Alg_time_sigs is a dynamic array of time signatures. More...
#include <allegro.h>
Public Member Functions | |
| Alg_time_sigs () | |
| Alg_time_sig & | operator[] (int i) |
| ~Alg_time_sigs () | |
| void | show () |
| long | length () |
| int | find_beat (double beat) |
| double | get_bar_len (double beat) |
| get the number of beats per measure starting at beat | |
| void | insert (double beat, double num, double den, bool force=false) |
| void | cut (double start, double end, double dur) |
| remove from start to end | |
| void | trim (double start, double end) |
| retain just start to end | |
| void | paste (double start, Alg_seq *seq) |
| void | insert_beats (double beat, double len) |
| double | nearest_beat (double beat) |
| find the nearest beat (see Alg_seq::nearest_beat) to beat | |
Private Member Functions | |
| void | expand () |
| make more space | |
Private Attributes | |
| long | maxlen |
| long | len |
| Alg_time_sig_ptr | time_sigs |
Alg_time_sigs is a dynamic array of time signatures.
The default (empty) time_sigs has 4/4 time at beat 0. Each time_sig object in time_sigs represents the beginning of a measure. If there is a beat missing, e.g. in the first measure, you can represent this by inserting another time_sig at the next measure beginning. Each time_sig implies an infinite sequence of full measures until the next time_sig. If you insert a time_sig and one already exist near the same beat, the old one is replaced, thus re-barring every measure until the next time_sig.
|
inline |
|
inline |
| void Alg_time_sigs::cut | ( | double | start, |
| double | end, | ||
| double | dur ) |
remove from start to end
|
private |
make more space
| int Alg_time_sigs::find_beat | ( | double | beat | ) |
| double Alg_time_sigs::get_bar_len | ( | double | beat | ) |
get the number of beats per measure starting at beat
| void Alg_time_sigs::insert_beats | ( | double | beat, |
| double | len ) |
insert len beats at beat
|
inline |
| double Alg_time_sigs::nearest_beat | ( | double | beat | ) |
find the nearest beat (see Alg_seq::nearest_beat) to beat
|
inline |
< fetch a time signature
| void Alg_time_sigs::show | ( | ) |
| void Alg_time_sigs::trim | ( | double | start, |
| double | end ) |
retain just start to end
|
private |
|
private |
|
private |