/***************************************************************************
                            kde_NoteArray.cpp -  description
                             -------------------
    begin                : Wed Feb  6 15:12:26 2002
    copyright            : (C) 2000-2001 Lost Highway Ltd. All rights reserved.
    email                : Lost_Highway@tipitina.demon.co.uk
    generated by         : duke@tipitina on Wed Feb  6 15:12:26 2002, using kalyptus 0.9.
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   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.                       *
 *                                                                         *
 ***************************************************************************/

extern "C" {
#include "kde_NoteArray.h"
}

#include <libkmid/notearray.h>

class NoteArrayBridge : public NoteArray
{
public:
	NoteArrayBridge() : NoteArray() {}
	~NoteArrayBridge() {}
};

kde_NoteArray * kde_new_NoteArray(){
	return (kde_NoteArray *) new NoteArrayBridge();
}
void kde_del_NoteArray( kde_NoteArray* p ){
	delete (NoteArrayBridge*) p;
}
void kde_NoteArray_at( kde_NoteArray* instPointer,unsigned long pos, unsigned long ms, int chn, int cmd, int note){
	((NoteArrayBridge*)instPointer)->at((ulong)pos, (ulong)ms, (int)chn, (int)cmd, (int)note);
	return;
}
//void kde_NoteArray_at1( kde_NoteArray* instPointer,unsigned long pos, kde_noteCmd* s){
//	((NoteArrayBridge*)instPointer)->at((ulong)pos, (noteCmd)* (noteCmd*)s);
//	return;
//}
//kde_noteCmd* kde_NoteArray_at2( kde_NoteArray* instPointer,int pos){
//	return (kde_noteCmd*)new noteCmd(((NoteArrayBridge*)instPointer)->at((int)pos));
//}
void kde_NoteArray_add( kde_NoteArray* instPointer,unsigned long ms, int chn, int cmd, int note){
	((NoteArrayBridge*)instPointer)->add((ulong)ms, (int)chn, (int)cmd, (int)note);
	return;
}
void kde_NoteArray_iteratorBegin( kde_NoteArray* instPointer){
	((NoteArrayBridge*)instPointer)->iteratorBegin();
	return;
}
kde_noteCmd* kde_NoteArray_get( kde_NoteArray* instPointer){
	return (kde_noteCmd*) ((NoteArrayBridge*)instPointer)->get();
}
void kde_NoteArray_next( kde_NoteArray* instPointer){
	((NoteArrayBridge*)instPointer)->next();
	return;
}
void kde_NoteArray_moveIteratorTo( kde_NoteArray* instPointer,unsigned long ms, int* pgm){
	((NoteArrayBridge*)instPointer)->moveIteratorTo((ulong)ms, (int*)pgm);
	return;
}
