diff options
author | Robert Jonsson <spamatica@gmail.com> | 2011-09-15 12:14:55 +0000 |
---|---|---|
committer | Robert Jonsson <spamatica@gmail.com> | 2011-09-15 12:14:55 +0000 |
commit | b0546e5e7f7044019892543c6c82029db8d564a7 (patch) | |
tree | 1b96a6260900f3fbf3513fb48a5a72aa89052dc8 /attic/muse_qt4_evolution/muse/instruments/minstrument.h | |
parent | 583c73d1a07154d3d2672d65d8cce6495f490454 (diff) |
moved attic to a branch of it's own
Diffstat (limited to 'attic/muse_qt4_evolution/muse/instruments/minstrument.h')
-rw-r--r-- | attic/muse_qt4_evolution/muse/instruments/minstrument.h | 160 |
1 files changed, 0 insertions, 160 deletions
diff --git a/attic/muse_qt4_evolution/muse/instruments/minstrument.h b/attic/muse_qt4_evolution/muse/instruments/minstrument.h deleted file mode 100644 index 5bcf2616..00000000 --- a/attic/muse_qt4_evolution/muse/instruments/minstrument.h +++ /dev/null @@ -1,160 +0,0 @@ -//============================================================================= -// 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 __MINSTRUMENT_H__ -#define __MINSTRUMENT_H__ - -#include "globaldefs.h" - -namespace AL { - class Xml; - }; -using AL::Xml; - -class MidiOutPort; -class EventList; -class MidiControllerList; -class MidiController; -class MidiEvent; -class DrumMap; -class MidiInstrument; - -//--------------------------------------------------------- -// Patch -//--------------------------------------------------------- - -struct Patch { - signed char typ; // 1 - GM 2 - GS 4 - XG - signed char hbank, lbank, prog; - QString name; - int categorie; - DrumMap* drumMap; - - void read(QDomNode, bool, MidiInstrument*); - void write(Xml& xml); - - Patch(); - ~Patch(); - }; - -typedef std::list<Patch*> PatchList; -typedef PatchList::iterator iPatch; -typedef PatchList::const_iterator ciPatch; - -//--------------------------------------------------------- -// PatchGroup -//--------------------------------------------------------- - -struct PatchGroup { - QString name; - PatchList patches; - void read(QDomNode, MidiInstrument*); - }; - -struct SysEx { - QString name; - QString comment; - int dataLen; - unsigned char* data; - }; - -//--------------------------------------------------------- -// MidiInstrument -//--------------------------------------------------------- - -class MidiInstrument { - std::vector<PatchGroup> pg; - MidiControllerList* _controller; - QList<SysEx*> _sysex; - bool _dirty; - bool _readonly; - - void init(); - - protected: - QList<QString> _categories; - EventList* _midiInit; - EventList* _midiReset; - EventList* _midiState; - char* _initScript; - QString _name; - QString _filePath; - - public: - MidiInstrument(); - virtual ~MidiInstrument(); - MidiInstrument(const QString& txt); - const QString& iname() const { return _name; } - void setIName(const QString& txt) { _name = txt; } - QString filePath() const { return _filePath; } - void setFilePath(const QString& s) { _filePath = s; } - bool dirty() const { return _dirty; } - void setDirty(bool v) { _dirty = v; } - bool readonly() const { return _readonly; } - void setReadonly(bool v) { _readonly = v; } - - EventList* midiInit() const { return _midiInit; } - EventList* midiReset() const { return _midiReset; } - EventList* midiState() const { return _midiState; } - const char* initScript() const { return _initScript; } - MidiControllerList* controller() const { return _controller; } - - void readMidiState(QDomNode); - virtual bool guiVisible() const { return false; } - virtual void showGui(bool) {} - virtual bool hasGui() const { return false; } - virtual void writeToGui(const MidiEvent&) {} - - virtual QString getPatchName(int,int); - virtual DrumMap* getDrumMap(int); - - virtual void populatePatchPopup(QMenu*, int); - void read(QDomNode); - void write(Xml& xml); - const QList<SysEx*>& sysex() const { return _sysex; } - void removeSysex(SysEx* sysex) { _sysex.removeAll(sysex); } - void addSysex(SysEx* sysex) { _sysex.append(sysex); } - - MidiController* midiController(int num) const; - - std::vector<PatchGroup>* groups() { return &pg; } - const QList<QString>& categories() const { return _categories; } - void addCategory(const QString& s) { _categories.append(s); } - }; - -//--------------------------------------------------------- -// MidiInstrumentList -//--------------------------------------------------------- - -class MidiInstrumentList : public QList<MidiInstrument*> { - }; - -typedef MidiInstrumentList::iterator iMidiInstrument; - -extern MidiInstrumentList midiInstruments; - -extern MidiInstrument* genericMidiInstrument; -extern void initMidiInstruments(); -extern MidiInstrument* registerMidiInstrument(const QString&); -extern void removeMidiInstrument(const QString& name); -extern void removeMidiInstrument(const MidiInstrument* instr); - -#endif - |