diff options
Diffstat (limited to 'attic/muse2-oom/muse2/muse/midifile.h')
-rw-r--r-- | attic/muse2-oom/muse2/muse/midifile.h | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/attic/muse2-oom/muse2/muse/midifile.h b/attic/muse2-oom/muse2/muse/midifile.h deleted file mode 100644 index da71a00a..00000000 --- a/attic/muse2-oom/muse2/muse/midifile.h +++ /dev/null @@ -1,113 +0,0 @@ -//========================================================= -// MusE -// Linux Music Editor -// $Id: midifile.h,v 1.3 2004/01/04 18:24:43 wschweer Exp $ -// -// (C) Copyright 1999-2004 Werner Schweer (ws@seh.de) -//========================================================= - -#ifndef __MIDIFILE_H__ -#define __MIDIFILE_H__ - -#include <stdio.h> -#include <list> - -#include "globaldefs.h" -#include "mpevent.h" - -struct MPEventList; -class MidiPlayEvent; - -//--------------------------------------------------------- -// MidiFileTrack -//--------------------------------------------------------- - -struct MidiFileTrack { - MPEventList events; - bool isDrumTrack; - MidiFileTrack() { - isDrumTrack = false; - } - }; - -typedef std::list<MidiFileTrack*> MidiFileTrackList; -typedef MidiFileTrackList::iterator iMidiFileTrack; -typedef MidiFileTrackList::const_iterator ciMidiFileTrack; - -//--------------------------------------------------------- -// MidiFile -//--------------------------------------------------------- - -class MidiFile { - int _error; - int format; // smf file format - int ntracks; // number of midi tracks - int _division; - MType _mtype; - MidiFileTrackList* _tracks; - - int status, click; - int sstatus; - int lastport, lastchannel; - FILE* fp; - int curPos; - - bool read(void*, size_t); - bool write(const void*, size_t); - void put(unsigned char c) { write(&c, 1); } - bool skip(size_t); - int readShort(); - bool writeShort(int); - int readLong(); - bool writeLong(int); - int getvl(); - void putvl(unsigned); - - bool readTrack(MidiFileTrack*); - bool writeTrack(const MidiFileTrack*); - - int readEvent(MidiPlayEvent*, MidiFileTrack*); - void writeEvent(const MidiPlayEvent*); - - public: - MidiFile(FILE* f); - ~MidiFile(); - bool read(); - bool write(); - QString error(); - MidiFileTrackList* trackList() { return _tracks; } - int tracks() const { return ntracks; } - void setTrackList(MidiFileTrackList* tr, int n) { - _tracks = tr; - ntracks = n; - } - void setDivision(int d) { _division = d; } - int division() const { return _division; } - void setMType(MType t) { _mtype = t; } - MType mtype() const { return _mtype; } - }; - -#define XCHG_SHORT(x) ((((x)&0xFF)<<8) | (((x)>>8)&0xFF)) -#ifdef __i486__ -#define XCHG_LONG(x) \ - ({ int __value; \ - asm ("bswap %1; movl %1,%0" : "=g" (__value) : "r" (x)); \ - __value; }) -#else -#define XCHG_LONG(x) ((((x)&0xFF)<<24) | \ - (((x)&0xFF00)<<8) | \ - (((x)&0xFF0000)>>8) | \ - (((x)>>24)&0xFF)) -#endif - -#if __BYTE_ORDER == __LITTLE_ENDIAN -#define BE_SHORT(x) XCHG_SHORT(x) -#define BE_LONG(x) XCHG_LONG(x) -#else -#define BE_SHORT(x) x -#define BE_LONG(x) x -#endif - - -#endif - |