notearray.h
/* notearray.h - NoteArray class, which holds an array of notes
This file is part of LibKMid 0.9.5
Copyright (C) 1998,99,2000 Antonio Larrosa Jimenez
LibKMid's homepage : http://www.arrakis.es/~rlarrosa/libkmid.html
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
Send comments and bug fixes to Antonio Larrosa <larrosa@kde.org>
***************************************************************************/
#ifndef NOTEARRAY_H
#define NOTEARRAY_H
#include <libkmid/dattypes.h>
#include <kdelibs_export.h>
class KMID_EXPORT NoteArray
{
private:
class NoteArrayPrivate;
NoteArrayPrivate *d;
public:
struct noteCmd {
ulong ms;
int chn;
int cmd;
int note;
};
private:
noteCmd *data;
ulong totalAllocated;
ulong last;
noteCmd *lastAdded;
noteCmd *it;
noteCmd *pointerTo(ulong pos);
public:
NoteArray(void);
~NoteArray();
void at(ulong pos, ulong ms,int chn,int cmd,int note);
void at(ulong pos, noteCmd s);
noteCmd at(int pos);
void add(ulong ms,int chn,int cmd,int note);
void iteratorBegin(void) { it=data; }
noteCmd *get(void) { return it; }
void next(void);
void moveIteratorTo(ulong ms,int *pgm=NULL);
};
#endif
NoteArray::iteratorBegin
void iteratorBegin(void)
Initializes the iterator.
Definition: notearray.h:126
NoteArray
Holds a resizeable array of note on/off and patch change events.
Definition: notearray.h:38

KDE Home | KDE Accessibility Home | Description of Access Keys