//============================================================================= // MusE // Linux Music Editor // $Id:$ // // Copyright (C) 2002-2006 by Werner Schweer and others // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2. // // This program 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 General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. //============================================================================= #ifndef __MIDI_H__ #define __MIDI_H__ enum { ME_NOTEOFF = 0x80, ME_NOTEON = 0x90, ME_POLYAFTER = 0xa0, ME_CONTROLLER = 0xb0, ME_PROGRAM = 0xc0, ME_AFTERTOUCH = 0xd0, ME_PITCHBEND = 0xe0, ME_SYSEX = 0xf0, ME_META = 0xff, ME_MTC_QUARTER = 0xf1, ME_SONGPOS = 0xf2, ME_SONGSEL = 0xf3, ME_TUNE_REQ = 0xf6, ME_SYSEX_END = 0xf7, ME_CLOCK = 0xf8, ME_TICK = 0xf9, ME_START = 0xfa, ME_CONTINUE = 0xfb, ME_STOP = 0xfc, ME_SENSE = 0xfe, }; #define ME_TIMESIG 0x58 extern unsigned const char gmOnMsg[]; extern unsigned const char gsOnMsg[]; extern unsigned const char xgOnMsg[]; extern unsigned const int gmOnMsgLen; extern unsigned const int gsOnMsgLen; extern unsigned const int xgOnMsgLen; QString nameSysex(unsigned int len, const unsigned char* buf); QString midiMetaName(int); class EventList; class MidiTrack; class MidiEventList; extern void buildMidiEventList(EventList* mel, const MidiEventList* el, MidiTrack* track, int channel, int division, bool); #endif