58#define ALG_EPS 0.000001
59#define ALG_DEFAULT_BPM 100.0
62bool within(
double d1,
double d2,
double epsilon);
74#define alg_attr_name(a) ((a) + 1)
75#define alg_attr_type(a) (*(a))
93 for (
int i = 0;
i <
len;
i++) {
113#define DLLEXPORT __declspec(dllexport)
191#define ALG_PRESSURE 5
193#define ALG_TIMESIG_NUM 7
194#define ALG_TIMESIG_DEN 8
293 bool overlap(
double t,
double len,
bool all);
311 void show()
override;
323 void show()
override;
514 bool set_tempo(
double tempo,
double start_beat,
double end_beat);
516 void cut(
double start,
double len,
bool units_are_seconds);
517 void trim(
double start,
double end,
bool units_are_seconds);
565 while (
reinterpret_cast<uintptr_t
>(
ptr) & 7) {
ptr++; }
571 buffer =
static_cast<char *
>(buf);
572 ptr =
static_cast<char *
>(buf);
583 const float f = *(
reinterpret_cast<float *
>(
ptr));
584 ptr +=
sizeof(float);
588 const double d = *(
reinterpret_cast<double *
>(
ptr));
589 ptr +=
sizeof(double);
594 [[maybe_unused]]
char *fence =
buffer +
len;
620 [[deprecated(
"Use store_int32() instead")]]
624 [[maybe_unused]]
char *fence =
buffer +
len;
629 assert(
reinterpret_cast<char *
>(
reinterpret_cast<uintptr_t
>(
ptr + 7) & ~7) <= fence);
633 *(
reinterpret_cast<long *
>(
ptr)) =
v;
637 *(
reinterpret_cast<double *
>(
ptr)) =
v;
638 ptr +=
sizeof(double);
641 *(
reinterpret_cast<float *
>(
ptr)) =
v;
642 ptr +=
sizeof(float);
646 while (
reinterpret_cast<uintptr_t
>(
ptr) & 7) {
set_char(0); }
650 char *newbuf =
new char[*
len];
701 virtual void serialize(
void **buffer,
long *bytes);
736 float pitch,
float loudness,
double duration);
806 virtual void clear(
double t,
double len,
bool all);
812 virtual void silence(
double t,
double len,
bool all);
832 long channel_mask,
long event_type_mask);
857 double *
num,
double *
den);
894 void insert(
double beat,
double num,
double den,
bool force =
false);
895 void cut(
double start,
double end,
double dur);
1008 double *offset_ptr =
nullptr,
double end_time = 0);
1050 Alg_seq(std::istream &
file,
bool smf,
double *offset_ptr =
nullptr);
1052 Alg_seq(
const char *
filename,
bool smf,
double *offset_ptr =
nullptr);
1055 void serialize(
void **buffer,
long *bytes)
override;
1065 void write(std::ostream &
file,
bool in_secs,
double offset = 0.0);
1096 void clear(
double t,
double len,
bool all)
override;
1098 void silence(
double t,
double len,
bool all)
override;
1102 bool all,
long channel_mask,
1103 long event_type_mask);
1106 long seek_time(
double time,
int track_num);
1126 bool set_tempo(
double bpm,
double start_beat,
double end_beat);
1130 void set_time_sig(
double beat,
double num,
double den);
1132 double *num,
double *den);
#define copy(x)
Definition ADnoteParameters.cpp:1011
struct Alg_pending_event * Alg_pending_event_ptr
#define ALG_DEFAULT_BPM
default tempo
Definition allegro.h:59
class Alg_parameter * Alg_parameter_ptr
class Alg_time_map * Alg_time_map_ptr
Serial_read_buffer * Serial_read_buffer_ptr
DLLEXPORT Alg_atoms symbol_table
Definition allegro.cpp:31
#define alg_attr_type(a)
Definition allegro.h:75
class Alg_tracks * Alg_tracks_ptr
a sequence of Alg_events objects
class Alg_beats * Alg_beats_ptr
Alg_beats is a list of Alg_beat objects used in Alg_seq.
const char * Alg_attribute
Definition allegro.h:73
Alg_track * Alg_track_ptr
Alg_event_list * Alg_event_list_ptr
Alg_update * Alg_update_ptr
class Alg_parameters * Alg_parameters_ptr
a list of attribute/value pairs
#define DLLEXPORT
Definition allegro.h:115
Alg_track & Alg_track_ref
class Alg_time_sig * Alg_time_sig_ptr
char * heapify(const char *s)
put a string on the heap
Definition allegro.cpp:42
Alg_event_list & Alg_event_list_ref
class Alg_seq * Alg_seq_ptr
Definition allegro.h:656
bool within(double d1, double d2, double epsilon)
are d1 and d2 within epsilon of each other?
Definition allegro.cpp:35
#define alg_attr_name(a)
Definition allegro.h:74
class Alg_beat * Alg_beat_ptr
Alg_beat is used to contruct a tempo map.
class Alg_iterator * Alg_iterator_ptr
class Alg_event * Alg_event_ptr
abstract superclass of Alg_note and Alg_update:
Alg_error
Definition allegro.h:931
@ alg_error_syntax
Definition allegro.h:934
@ alg_error_open
could not open Allegro or MIDI file
Definition allegro.h:933
@ alg_no_error
no error reading Allegro or MIDI file
Definition allegro.h:932
class Alg_events * Alg_events_ptr
a sequence of Alg_event objects
Serial_write_buffer * Serial_write_buffer_ptr
Alg_atoms()
Definition allegro.h:81
void expand()
Definition allegro.cpp:50
virtual ~Alg_atoms()
Definition allegro.h:92
Alg_attribute insert_string(const char *name)
insert/lookup attribute by name (without prefixed type)
Definition allegro.cpp:93
Alg_attribute insert_new(const char *name, char attr_type)
insert an Attriubute not in table after moving attr to heap
Definition allegro.cpp:68
long len
Definition allegro.h:104
Alg_attribute insert_attribute(Alg_attribute attr)
insert/lookup an atttribute
Definition allegro.cpp:81
Alg_attribute * atoms
Definition allegro.h:105
long maxlen
Definition allegro.h:103
Alg_beat is used to contruct a tempo map.
Definition allegro.h:447
double beat
Definition allegro.h:453
double time
Definition allegro.h:452
Alg_beat(double t, double b)
Definition allegro.h:449
Alg_beats is a list of Alg_beat objects used in Alg_seq.
Definition allegro.h:458
Alg_beats()
Definition allegro.h:469
~Alg_beats()
Definition allegro.h:477
void insert(long i, Alg_beat_ptr beat)
Definition allegro.cpp:810
long len
Definition allegro.h:463
long maxlen
Definition allegro.h:460
Alg_beat & operator[](int i)
Definition allegro.h:465
void expand()
Definition allegro.cpp:798
Alg_beat_ptr beats
Definition allegro.h:464
static const char * last_error_message
Definition allegro.h:375
Alg_track * get_owner()
Definition allegro.h:410
int sequence_number
Definition allegro.h:379
Alg_event_list()
Definition allegro.h:405
Alg_track * events_owner
the events are owned by an Alg_track or an Alg_seq
Definition allegro.h:376
virtual void set_start_time(Alg_event *event, double)
Definition allegro.cpp:749
double get_beat_dur()
Returns the duration of the sequence in beats or seconds.
Definition allegro.h:418
static int sequences
to keep track of sequence numbers
Definition allegro.h:378
virtual Alg_event_ptr & operator[](int i)
Definition allegro.cpp:743
void set_beat_dur(double d)
Definition allegro.h:419
char type
'e' Alg_event_list, 't' Alg_track, 's' Alg_seq
Definition allegro.h:374
double beat_dur
Definition allegro.h:393
~Alg_event_list() override=default
double get_real_dur()
Definition allegro.h:420
void set_real_dur(double d)
Definition allegro.h:421
char get_type()
Definition allegro.h:409
const char * get_last_error_message()
get text description of run-time errors detected, clear error
Definition allegro.h:433
double real_dur
Definition allegro.h:394
abstract superclass of Alg_note and Alg_update:
Definition allegro.h:198
double get_duration()
get duration in seconds or beats
Definition allegro.cpp:392
Alg_event()
Definition allegro.h:297
int get_type_code()
Definition allegro.cpp:235
bool has_attribute(const char *attr)
test if note has attribute/value pair
Definition allegro.cpp:423
const char * get_atom_value()
Definition allegro.cpp:581
bool is_update()
tell whether an Alg_event is a parameter update
Definition allegro.h:210
bool get_selected()
Definition allegro.h:216
void set_pitch(float)
Definition allegro.cpp:400
const char * GetDescription()
the result is in a static buffer, not thread-safe, just for debugging.
void set_integer_value(const char *attr, int32_t value)
Definition allegro.cpp:334
float get_loud()
get loudness (MIDI velocity)
Definition allegro.cpp:368
char type
'e' event, 'n' note, 'u' update
Definition allegro.h:201
char get_attribute_type(const char *attr)
Definition allegro.cpp:434
double get_start_time()
get start time in seconds or beats
Definition allegro.cpp:376
const char * get_string_value()
Definition allegro.cpp:545
void set_logical_value(const char *attr, bool value)
Definition allegro.cpp:321
void set_atom_value(const char *attr, const char *atom)
Definition allegro.cpp:347
void set_real_value(const char *attr, double value)
Definition allegro.cpp:305
void delete_attribute(const char *attr)
(ignore if no matching attribute/value pair exists)
Definition allegro.cpp:520
long get_identifier()
get MIDI key or note identifier of note or update
Definition allegro.h:222
bool is_note()
tell whether an Alg_event is a note
Definition allegro.h:209
void set_identifier(long i)
Definition allegro.h:223
double time
Definition allegro.h:205
float get_pitch()
get pitch in steps – use this even for MIDI
Definition allegro.cpp:360
bool get_logical_value()
get the update's logical value
Definition allegro.cpp:563
long key
note identifier
Definition allegro.h:202
void set_string_value(const char *attr, const char *value)
Definition allegro.cpp:292
bool selected
Definition allegro.h:200
long chan
Definition allegro.h:206
void set_duration(double)
Definition allegro.cpp:415
static const char * description
static buffer for debugging (in Alg_event)
Definition allegro.h:203
virtual ~Alg_event()=default
bool overlap(double t, double len, bool all)
Definition allegro.cpp:590
double get_real_value()
get the update's real value
Definition allegro.cpp:554
void set_parameter(Alg_parameter_ptr new_parameter)
Definition allegro.cpp:274
void set_selected(bool b)
Definition allegro.h:217
int32_t get_integer_value()
get the update's integer value
Definition allegro.cpp:572
const char * get_attribute()
get the update's attribute (string)
Definition allegro.cpp:528
double get_end_time()
get end time in seconds or beats
Definition allegro.cpp:384
char get_update_type()
Definition allegro.cpp:537
char get_type()
return 'n' for note, 'u' for update
Definition allegro.h:211
void set_loud(float)
Definition allegro.cpp:407
a sequence of Alg_event objects
Definition allegro.h:328
void append(Alg_event_ptr event)
Definition allegro.cpp:712
long maxlen
Definition allegro.h:330
virtual int length()
Definition allegro.h:346
Alg_event_ptr * events
events is array of pointers
Definition allegro.h:334
void set_events(Alg_event_ptr *e, long l, long m)
Definition allegro.h:360
bool in_use
Definition allegro.h:345
void expand()
Definition allegro.cpp:663
void insert(Alg_event_ptr event)
for use by Alg_track and Alg_seq
Definition allegro.cpp:675
virtual ~Alg_events()
Definition allegro.cpp:727
Alg_event_ptr uninsert(long index)
Definition allegro.cpp:699
Alg_events()
Definition allegro.h:351
double last_note_off
Definition allegro.h:342
Alg_event_ptr & operator[](int i)
Definition allegro.h:347
long len
Definition allegro.h:333
void show()
Definition allegro.cpp:2739
void begin_seq(Alg_seq_ptr s, void *cookie=nullptr, double offset=0.0)
Definition allegro.cpp:3536
bool note_off_flag
Definition allegro.h:975
void begin(void *cookie=nullptr)
Definition allegro.h:997
Alg_pending_event * pending_events
Definition allegro.h:960
long length()
Definition allegro.h:977
long len
Definition allegro.h:958
long index
remembers index of current event
Definition allegro.h:963
bool remove_next(Alg_events_ptr &events, long &index, bool ¬e_on, void *&cookie, double &offset, double &time)
returns the info on the next pending event in the priority queue
Definition allegro.cpp:2809
void end()
clean up after enumerating events
Definition allegro.cpp:3595
Alg_iterator(Alg_seq_ptr s, bool note_off)
Definition allegro.h:978
Alg_seq_ptr seq
Definition allegro.h:959
~Alg_iterator()
Definition allegro.h:974
void request_note_off()
Definition allegro.cpp:3588
void expand()
Definition allegro.cpp:2725
Alg_event_ptr next(bool *note_on=nullptr, void **cookie_ptr=nullptr, double *offset_ptr=nullptr, double end_time=0)
Definition allegro.cpp:3549
long maxlen
Definition allegro.h:955
void expand_to(int new_max)
Definition allegro.cpp:2713
bool earlier(int i, int j)
Definition allegro.cpp:2749
double offset
Definition allegro.h:965
void * cookie
remembers the cookie associated with next event
Definition allegro.h:964
Alg_events_ptr events_ptr
the next four fields are mainly for request_note_off()
Definition allegro.h:962
void insert(Alg_events_ptr events, long index, bool note_on, void *cookie, double offset)
Definition allegro.cpp:2771
float pitch
pitch in semitones (69 = A440)
Definition allegro.h:306
void show() override
Definition allegro.cpp:632
Alg_note(Alg_note *)
copy constructor
Alg_note()
Definition allegro.h:310
~Alg_note() override
Definition allegro.cpp:622
double dur
duration in seconds (normally to release point)
Definition allegro.h:308
Alg_parameters_ptr parameters
attribute/value pair list
Definition allegro.h:309
float loud
dynamic corresponding to MIDI velocity
Definition allegro.h:307
const char * a
symbol (atom)
Definition allegro.h:136
Alg_attribute attr
Definition allegro.h:130
void show()
Definition allegro.cpp:116
~Alg_parameter()
Definition allegro.cpp:143
Alg_parameter()
Definition allegro.h:139
void set_attr(Alg_attribute a)
Definition allegro.h:144
bool l
logical
Definition allegro.h:135
char attr_type()
Definition allegro.h:142
int32_t i
integer
Definition allegro.h:134
double r
real
Definition allegro.h:132
const char * s
string
Definition allegro.h:133
const char * attr_name()
Definition allegro.h:143
a list of attribute/value pairs
Definition allegro.h:150
static Alg_parameters * remove_key(Alg_parameters **list, const char *name)
Definition allegro.cpp:206
Alg_parameter_ptr find(Alg_attribute attr)
find an attribute/value pair
Definition allegro.cpp:222
Alg_parameters(Alg_parameters *list)
Definition allegro.h:155
static void insert_atom(Alg_parameters **list, const char *name, const char *s)
Definition allegro.cpp:195
static void insert_logical(Alg_parameters **list, const char *name, bool l)
Definition allegro.cpp:184
Alg_parameter parm
Definition allegro.h:153
static void insert_real(Alg_parameters **list, const char *name, double r)
Definition allegro.cpp:151
static void insert_string(Alg_parameters **list, const char *name, const char *s)
insert string will copy string to heap
Definition allegro.cpp:162
static void insert_integer(Alg_parameters **list, const char *name, int32_t i)
Definition allegro.cpp:174
class Alg_parameters * next
Definition allegro.h:152
Definition allegro.h:1022
void merge(double t, Alg_event_list_ptr seq) override
Definition allegro.cpp:3233
void write(std::ostream &file, bool in_secs, double offset=0.0)
write an ascii representation to file
Definition allegrowr.cpp:83
double get_bar_len(double beat)
get the bar length in beats starting at beat
Definition allegro.cpp:3467
void seq_from_track(Alg_track_ref tr)
Definition allegro.cpp:2882
void set_time_map(Alg_time_map *map) override
Definition allegro.cpp:3020
void copy_time_sigs_to(Alg_seq *dest)
a utility function
Definition allegro.cpp:3010
void paste(double start, Alg_seq *seq)
Definition allegro.cpp:3191
void silence_track(int track_num, double start, double len, bool all)
Definition allegro.cpp:3247
Alg_track_ptr copy_track(int track_num, double t, double len, bool all)
Definition allegro.cpp:3135
void insert_silence(double t, double len) override
Definition allegro.cpp:3111
Alg_iterator_ptr pending
iterator used internally by Alg_seq methods
Definition allegro.h:1024
int tracks()
Returns the number of tracks.
Definition allegro.cpp:2926
int channel_offset_per_track
used to encode track_num into channel
Definition allegro.h:1031
Alg_track_ptr track(int)
Definition allegro.cpp:2932
void set_in_use(bool flag) override
set in_use flag on all tracks
Definition allegro.cpp:3624
void convert_to_beats() override
Change units.
Definition allegro.cpp:2963
void serialize(void **buffer, long *bytes) override
Definition allegro.cpp:1404
void beat_to_measure(double beat, long *measure, double *m_beat, double *num, double *den)
Definition allegro.cpp:3479
Alg_error error
Definition allegro.h:1026
int beat_x
Definition allegro.h:1034
void serialize_seq()
Definition allegro.cpp:1435
void unserialize_seq()
Definition allegro.cpp:1598
Alg_tracks track_list
array of Alg_events
Definition allegro.h:1032
Alg_event_list_ptr find_in_track(int track_num, double t, double len, bool all, long channel_mask, long event_type_mask)
Definition allegro.cpp:3307
void clear(double t, double len, bool all) override
Definition allegro.cpp:3271
void insert_silence_in_track(int track_num, double t, double len)
Definition allegro.cpp:3104
void clear_track(int track_num, double start, double len, bool all)
Definition allegro.cpp:3263
Alg_time_sigs time_sig
Definition allegro.h:1033
Alg_seq()
Definition allegro.h:1041
Alg_seq(Alg_track_ref track)
Definition allegro.h:1046
void add(Alg_event_ptr) override
Definition allegro.h:1123
long seek_time(double time, int track_num)
find index of first score event after time
Definition allegro.cpp:3330
void add_event(Alg_event_ptr event, int track_num)
Definition allegro.cpp:3425
void set_time_sig(double beat, double num, double den)
Definition allegro.cpp:3473
Alg_seq(Alg_track_ptr track)
Definition allegro.h:1047
bool set_tempo(double bpm, double start_beat, double end_beat)
Definition allegro.cpp:3447
~Alg_seq() override
Definition allegro.cpp:3315
void add_track(int track_num)
create a track
Definition allegro.h:1075
bool insert_beat(double time, double beat)
Definition allegro.cpp:3344
void basic_initialization()
Definition allegro.h:1035
Alg_event_ptr write_track_name(std::ostream &file, int n, Alg_events &events)
an internal function used for writing Allegro track names
Definition allegrowr.cpp:51
Alg_event_ptr & operator[](int i) override
Definition allegro.cpp:2942
bool insert_tempo(double bpm, double beat)
warning: insert_tempo may change representation from seconds to beats
Definition allegro.cpp:3389
void convert_to_seconds() override
Definition allegro.cpp:2978
bool stretch_region(double b0, double b1, double dur)
Definition allegro.cpp:3377
int get_read_error()
Definition allegro.h:1054
double get_tempo(double beat)
get the tempo starting at beat
Definition allegro.cpp:3441
void merge_tracks()
void set_events(Alg_event_ptr *events, long len, long max);
Definition allegro.cpp:3600
Alg_seq * cut(double t, double len, bool all) override
Definition allegro.cpp:3029
void smf_write(std::ostream &file)
Definition allegrosmfwr.cpp:659
Alg_track_ptr cut_from_track(int track_num, double start, double dur, bool all)
Definition allegro.cpp:3001
double nearest_beat_time(double time, double *beat)
Definition allegro.cpp:3366
long locate_time(double time)
Definition allegro.cpp:849
bool stretch_region(double b0, double b1, double dur)
Definition allegro.cpp:1055
Alg_time_map()
Definition allegro.h:489
long locate_beat(double beat)
Definition allegro.cpp:859
void trim(double start, double end, bool units_are_seconds)
Definition allegro.cpp:1085
bool last_tempo_flag
Definition allegro.h:488
double last_tempo
Definition allegro.h:487
Alg_beats beats
array of Alg_beat
Definition allegro.h:486
bool insert_tempo(double tempo, double beat)
Definition allegro.cpp:959
double beat_to_time(double beat)
Definition allegro.cpp:869
void insert_time(double start, double len)
Definition allegro.cpp:1242
double time_to_beat(double time)
Definition allegro.cpp:904
void insert_beats(double start, double len)
Definition allegro.cpp:1267
bool set_tempo(double tempo, double start_beat, double end_beat)
set the tempo over a region
Definition allegro.cpp:1032
void show()
Definition allegro.cpp:838
void reference()
Definition allegro.h:531
long length()
Definition allegro.h:497
void cut(double start, double len, bool units_are_seconds)
Definition allegro.cpp:1140
void insert_beat(double time, double beat)
add a point to the map
Definition allegro.cpp:932
int refcount
Definition allegro.h:484
void paste(double start, Alg_track *tr)
Definition allegro.cpp:1203
double get_tempo(double beat)
get the tempo starting at beat
Definition allegro.cpp:996
void dereference()
Definition allegro.h:525
Alg_time_sig(double b, double n, double d)
Definition allegro.h:850
double beat
when does this take effect?
Definition allegro.h:847
Alg_time_sig()
Definition allegro.h:853
double num
what is the "numerator" (top number?)
Definition allegro.h:848
void beat_to_measure(double beat, double *measure, double *m_beat, double *num, double *den)
double den
what is the "denominator" (bottom number?)
Definition allegro.h:849
Alg_time_sigs is a dynamic array of time signatures.
Definition allegro.h:873
double nearest_beat(double beat)
find the nearest beat (see Alg_seq::nearest_beat) to beat
Definition allegro.cpp:2597
Alg_time_sig_ptr time_sigs
Definition allegro.h:878
void trim(double start, double end)
retain just start to end
Definition allegro.cpp:2268
Alg_time_sig & operator[](int i)
Definition allegro.h:884
~Alg_time_sigs()
Definition allegro.h:888
long maxlen
Definition allegro.h:875
long len
Definition allegro.h:877
int find_beat(double beat)
Definition allegro.cpp:2120
void paste(double start, Alg_seq *seq)
Definition allegro.cpp:2389
double get_bar_len(double beat)
get the number of beats per measure starting at beat
Definition allegro.cpp:2131
void show()
Definition allegro.cpp:2110
void expand()
make more space
Definition allegro.cpp:2048
void insert(double beat, double num, double den, bool force=false)
Definition allegro.cpp:2061
long length()
Definition allegro.h:890
void insert_beats(double beat, double len)
Definition allegro.cpp:2531
void cut(double start, double end, double dur)
remove from start to end
Definition allegro.cpp:2143
Alg_time_sigs()
Definition allegro.h:880
virtual Alg_event_list * find(double t, double len, bool all, long channel_mask, long event_type_mask)
Definition allegro.cpp:2018
bool units_are_seconds
Definition allegro.h:661
void serialize_parameter(Alg_parameter *parm)
Definition allegro.cpp:1528
double get_double(char **p, long *b)
static Serial_read_buffer ser_read_buf
Definition allegro.h:666
virtual void convert_to_beats()
Change units.
Definition allegro.cpp:1750
Alg_event_ptr & operator[](int i) override
Definition allegro.h:675
static Alg_track * unserialize(void *buffer, long len)
Definition allegro.cpp:1567
Alg_note * create_note(double time, int channel, int identifier, float pitch, float loudness, double duration)
Definition allegro.cpp:1803
virtual void insert_silence(double t, double len)
Definition allegro.cpp:2006
long get_int32(char **p, long *b)
virtual void set_time_map(Alg_time_map *map)
Definition allegro.cpp:1735
Alg_event_ptr copy_event(Alg_event_ptr event)
make a complete copy
Definition allegro.cpp:1296
virtual void convert_to_seconds()
Definition allegro.cpp:1770
~Alg_track() override
Definition allegro.h:690
virtual void add(Alg_event *event)
Definition allegro.h:744
void unserialize_parameter(Alg_parameter_ptr parm_ptr)
Definition allegro.cpp:1700
virtual void serialize(void **buffer, long *bytes)
Definition allegro.cpp:1334
Alg_update * create_update(double time, int channel, int identifier)
Definition allegro.cpp:1817
static Serial_write_buffer ser_write_buf
Definition allegro.h:667
void unserialize_track()
Definition allegro.cpp:1646
Alg_track()
Definition allegro.h:679
virtual void merge(double t, Alg_event_list_ptr seq)
Definition allegro.cpp:1945
virtual void clear(double t, double len, bool all)
Definition allegro.cpp:1961
bool get_units_are_seconds()
Are we using beats or seconds?
Definition allegro.h:713
void set_dur(double dur)
Definition allegro.cpp:1790
float get_float(char **p, long *b)
void serialize_track()
Definition allegro.cpp:1476
virtual Alg_track * cut(double t, double len, bool all)
Definition allegro.cpp:1827
Alg_time_map * get_time_map()
Definition allegro.h:730
virtual void set_in_use(bool flag)
Definition allegro.h:834
void paste(double t, Alg_event_list *seq)
Definition allegro.cpp:1895
char * get_string(char **p, long *b)
Alg_time_map * time_map
Definition allegro.h:660
double get_dur()
Definition allegro.h:718
Alg_seq_ptr to_alg_seq()
Definition allegro.h:709
a sequence of Alg_events objects
Definition allegro.h:905
void reset()
Definition allegro.cpp:2689
long len
Definition allegro.h:910
void expand_to(int new_max)
Definition allegro.cpp:2633
void set_in_use(bool flag)
handy to set in_use flag on all tracks
Definition allegro.cpp:2705
~Alg_tracks()
Definition allegro.cpp:2627
void append(Alg_track_ptr track)
Append a track to tracks. This Alg_tracks becomes the owner of track.
Definition allegro.cpp:2652
long maxlen
Definition allegro.h:907
Alg_track & operator[](int i)
Definition allegro.h:913
long length()
Definition allegro.h:917
void add_track(int track_num, Alg_time_map_ptr time_map, bool seconds)
Definition allegro.cpp:2662
void expand()
Definition allegro.cpp:2644
Alg_track_ptr * tracks
tracks is array of pointers
Definition allegro.h:912
Alg_tracks()
Definition allegro.h:918
~Alg_update() override=default
void show() override
Definition allegro.cpp:655
Alg_update(Alg_update *)
copy constructor
Alg_update()
Definition allegro.h:322
Alg_parameter parameter
an update contains one attr/value pair
Definition allegro.h:319
char * buffer
Definition allegro.h:541
long get_posn()
Definition allegro.h:552
long get_len()
Definition allegro.h:553
virtual ~Serial_buffer()=default
Serial_buffer()
Definition allegro.h:545
char * ptr
Definition allegro.h:542
long len
Definition allegro.h:543
void init_for_read(void *buf, long n)
Definition allegro.h:570
char get_char()
Definition allegro.h:575
double get_double()
Definition allegro.h:587
~Serial_read_buffer() override
Definition allegro.h:563
const char * get_string()
Definition allegro.h:592
int32_t get_int32()
Definition allegro.h:577
void get_pad()
Definition allegro.h:564
void unget_chars(int n)
Definition allegro.h:576
void check_input_buffer(long needed)
Definition allegro.h:600
float get_float()
Definition allegro.h:582
void check_buffer(long needed)
Definition allegro.cpp:1413
void * to_heap(long *len)
Definition allegro.h:648
void pad()
Definition allegro.h:645
void set_int32(int32_t v)
Definition allegro.h:632
void init_for_write()
Definition allegro.h:614
void set_string(const char *s)
Definition allegro.h:623
void set_char(char v)
Definition allegro.h:644
void store_int32(long offset, int32_t value)
Writes an int32_t at a given offset.
Definition allegro.h:616
~Serial_write_buffer() override
Definition allegro.h:613
void set_double(double v)
Definition allegro.h:636
void set_float(float v)
Definition allegro.h:640
void store_long(long offset, long value)
Definition allegro.h:621
* e
Definition inflate.c:1404
int * l
Definition inflate.c:1579
unsigned * m
Definition inflate.c:1559
struct huft * t
Definition inflate.c:943
register unsigned j
Definition inflate.c:1576
unsigned v[N_MAX]
Definition inflate.c:1584
unsigned d
Definition inflate.c:940
register unsigned i
Definition inflate.c:1575
unsigned s
Definition inflate.c:1555
unsigned f
Definition inflate.c:1572
static char filename[]
Definition features.c:5
static PuglViewHint int value
Definition pugl.h:1708
static const char * name
Definition pugl.h:1582
virtual ASIOError start()=0
int int32_t
Definition mid.cpp:97
float silence[4097]
Definition monosynth.cpp:28
void * cookie
client-provided sequence identifier
Definition allegro.h:944
bool note_on
is this a note-on or a note-off (if applicable)?
Definition allegro.h:947
double time
time for this event
Definition allegro.h:949
long index
offset of this event
Definition allegro.h:946
double offset
time offset for events
Definition allegro.h:948
Alg_events * events
the array of events
Definition allegro.h:945
void DWORD DWORD LPVOID parm
Definition swell-functions.h:807
int n
Definition crypt.c:458
uch * p
Definition crypt.c:594
memcpy(hh, h, RAND_HEAD_LEN)
int r
Definition crypt.c:458
int flag
Definition unix.c:754
struct zdirent * file
Definition win32.c:1500