notearray.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
#ifndef NOTEARRAY_H
00025
#define NOTEARRAY_H
00026
00027
#include <libkmid/dattypes.h>
00028
00037 class NoteArray
00038 {
00039
private:
00040
class NoteArrayPrivate;
00041 NoteArrayPrivate *d;
00042
00043
public:
00044
struct noteCmd {
00048 ulong ms;
00049
00053
int chn;
00054
00058
int cmd;
00059
00065
int note;
00066 };
00067
00068
private:
00069 noteCmd *data;
00070 ulong totalAllocated;
00071
00072 ulong last;
00073 noteCmd *lastAdded;
00074
00079 noteCmd *it;
00080
00081 noteCmd *pointerTo(ulong pos);
00082
00083
public:
00087
NoteArray(
void);
00091
~NoteArray();
00092
00099
void at(ulong pos, ulong ms,
int chn,
int cmd,
int note);
00100
00105
void at(ulong pos, noteCmd s);
00106
00110 noteCmd
at(
int pos);
00111
00117
void add(ulong ms,
int chn,
int cmd,
int note);
00118
00125 void iteratorBegin(
void) { it=data; };
00126
00130 noteCmd *
get(
void) {
return it; };
00131
00135
void next(
void);
00136
00141
void moveIteratorTo(ulong ms,
int *pgm=NULL);
00142 };
00143
00144
#endif
This file is part of the documentation for libkmid Library Version 3.3.1.