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 kdelibs Version 3.1.0.