summaryrefslogtreecommitdiff
path: root/attic/muse2-oom/muse2/muse/midictrl.h
diff options
context:
space:
mode:
Diffstat (limited to 'attic/muse2-oom/muse2/muse/midictrl.h')
-rw-r--r--attic/muse2-oom/muse2/muse/midictrl.h256
1 files changed, 0 insertions, 256 deletions
diff --git a/attic/muse2-oom/muse2/muse/midictrl.h b/attic/muse2-oom/muse2/muse/midictrl.h
deleted file mode 100644
index 4c08fbe0..00000000
--- a/attic/muse2-oom/muse2/muse/midictrl.h
+++ /dev/null
@@ -1,256 +0,0 @@
-//=========================================================
-// MusE
-// Linux Music Editor
-// $Id: midictrl.h,v 1.16.2.8 2009/11/25 09:09:43 terminator356 Exp $
-//
-// (C) Copyright 1999-2003 Werner Schweer (ws@seh.de)
-//=========================================================
-
-#ifndef __MIDICTRL_H__
-#define __MIDICTRL_H__
-
-#include <list>
-#include <map>
-
-#include <QString>
-
-const int CTRL_HBANK = 0x00;
-const int CTRL_LBANK = 0x20;
-
-const int CTRL_HDATA = 0x06;
-const int CTRL_LDATA = 0x26;
-
-const int CTRL_HNRPN = 0x63;
-const int CTRL_LNRPN = 0x62;
-
-const int CTRL_HRPN = 0x65;
-const int CTRL_LRPN = 0x64;
-
-const int CTRL_MODULATION = 0x01;
-const int CTRL_PORTAMENTO_TIME = 0x05;
-const int CTRL_VOLUME = 0x07;
-const int CTRL_PANPOT = 0x0a;
-const int CTRL_EXPRESSION = 0x0b;
-const int CTRL_SUSTAIN = 0x40;
-const int CTRL_PORTAMENTO = 0x41;
-const int CTRL_SOSTENUTO = 0x42;
-const int CTRL_SOFT_PEDAL = 0x43;
-const int CTRL_HARMONIC_CONTENT = 0x47;
-const int CTRL_RELEASE_TIME = 0x48;
-const int CTRL_ATTACK_TIME = 0x49;
-
-const int CTRL_BRIGHTNESS = 0x4a;
-const int CTRL_PORTAMENTO_CONTROL = 0x54;
-const int CTRL_REVERB_SEND = 0x5b;
-const int CTRL_CHORUS_SEND = 0x5d;
-const int CTRL_VARIATION_SEND = 0x5e;
-
-const int CTRL_ALL_SOUNDS_OFF = 0x78; // 120
-const int CTRL_RESET_ALL_CTRL = 0x79; // 121
-const int CTRL_LOCAL_OFF = 0x7a; // 122
-
-// controller types 0x10000 - 0x1ffff are 14 bit controller with
-// 0x1xxyy
-// xx - MSB controller
-// yy - LSB controller
-
-// RPN - registered parameter numbers 0x20000 -
-// NRPN - non registered parameter numbers 0x30000 -
-
-// internal controller types:
-const int CTRL_INTERNAL_OFFSET = 0x40000;
-
-// p3.3.37
-//const int CTRL_PITCH = 0x40000;
-//const int CTRL_PROGRAM = 0x40001;
-//const int CTRL_VELOCITY = 0x40002;
-//const int CTRL_MASTER_VOLUME = 0x40003;
-const int CTRL_PITCH = CTRL_INTERNAL_OFFSET;
-const int CTRL_PROGRAM = CTRL_INTERNAL_OFFSET + 1;
-const int CTRL_VELOCITY = CTRL_INTERNAL_OFFSET + 2;
-//const int CTRL_MASTER_VOLUME = CTRL_INTERNAL_OFFSET + 3;
-
-const int CTRL_VAL_UNKNOWN = 0x10000000; // used as unknown hwVal
-
-const int CTRL_14_OFFSET = 0x10000;
-const int CTRL_RPN_OFFSET = 0x20000;
-const int CTRL_NRPN_OFFSET = 0x30000;
-const int CTRL_RPN14_OFFSET = 0x50000;
-const int CTRL_NRPN14_OFFSET = 0x60000;
-const int CTRL_NONE_OFFSET = 0x70000;
-
-class Xml;
-class Part;
-
-//---------------------------------------------------------
-// MidiController
-//---------------------------------------------------------
-
-class MidiController {
- public:
- //
- // mapping of midi controller types to
- // controller number:
- //
- enum ControllerType {
- Controller7, // num values from 0 - 0x7f
- Controller14, // values from 0x10000 - 0x12fff
- RPN, // registered parameter 0x20000 -
- NRPN, // non registered parameter 0x30000 -
- RPN14, // registered parameter 0x50000
- NRPN14, // non registered parameter 0x60000 -
- Pitch, // num value = CTRL_PITCH
- Program, // num value = CTRL_PROGRAM
- Velo // not assigned
- };
- private:
- QString _name;
- int _num; // Controller Number
- int _minVal; // controller value range (used in gui)
- int _maxVal;
- int _initVal;
- int _bias;
- void updateBias();
-
- public:
- MidiController();
- MidiController(const QString& n, int num, int min, int max, int init);
- MidiController(const MidiController& mc);
- void copy(const MidiController &mc);
- MidiController& operator= (const MidiController &mc);
-
- const QString& name() const { return _name; }
- int num() const { return _num; }
- void setName(const QString& s) { _name = s; }
- void setNum(int v) { _num = v; }
- void write(int level, Xml& xml) const;
- void read(Xml& xml);
- int minVal() const { return _minVal; }
- int maxVal() const { return _maxVal; }
- int initVal() const { return _initVal; }
- void setInitVal(int val) { _initVal = val; }
- void setMinVal(int val) { _minVal = val; updateBias(); }
- void setMaxVal(int val) { _maxVal = val; updateBias(); }
- int bias() const { return _bias; }
- static int genNum(ControllerType, int, int);
- };
-
-// Added by T356.
-struct MidiCtrlVal
-{
- // The part containing the event which this value came from. Used for searching and deleting.
- Part* part;
- // The stored value.
- int val;
-};
-
-//---------------------------------------------------------
-// MidiCtrlValList
-// arrange controller events of a specific type in a
-// list for easy retrieval
-//---------------------------------------------------------
-
-// Changed by T356.
-//typedef std::map<int, int, std::less<int> >::iterator iMidiCtrlVal;
-//typedef std::map<int, int, std::less<int> >::const_iterator ciMidiCtrlVal;
-typedef std::multimap<int, MidiCtrlVal, std::less<int> >::iterator iMidiCtrlVal;
-typedef std::multimap<int, MidiCtrlVal, std::less<int> >::const_iterator ciMidiCtrlVal;
-
-typedef std::pair <iMidiCtrlVal, iMidiCtrlVal> MidiCtrlValRange;
-// Changed by T356.
-//class MidiCtrlValList : public std::map<int, int, std::less<int> > {
-class MidiCtrlValList : public std::multimap<int, MidiCtrlVal, std::less<int> > {
-
- int ctrlNum;
- int _lastValidHWVal;
- int _hwVal; // current set value in midi hardware
- // can be CTRL_VAL_UNKNOWN
-
- // Hide built-in finds.
- iMidiCtrlVal find(const int&) { return end(); };
- ciMidiCtrlVal find(const int&) const { return end(); };
-
- public:
- MidiCtrlValList(int num);
-
- Part* partAtTick(int tick) const;
-
- iMidiCtrlVal iValue(int tick);
- int value(int tick) const;
- //int value(int tick, Part** part = 0) const;
- int value(int tick, Part* part) const;
- // Changed by T356.
- //bool add(int tick, int value);
- //void del(int tick);
- bool addMCtlVal(int tick, int value, Part* part);
- void delMCtlVal(int tick, Part* part);
-
- iMidiCtrlVal findMCtlVal(int tick, Part* part);
-
- int hwVal() const { return _hwVal; }
- bool setHwVal(const int v);
- bool setHwVals(const int v, const int lastv);
- int num() const { return ctrlNum; }
- int lastValidHWVal() const { return _lastValidHWVal; }
- };
-
-//---------------------------------------------------------
-// MidiCtrlValListList
-// List of midi controller value lists.
-// This list represents the controller state of a
-// midi port.
-// index = (channelNumber << 24) + ctrlNumber
-//---------------------------------------------------------
-
-typedef std::map<int, MidiCtrlValList*, std::less<int> >::iterator iMidiCtrlValList;
-typedef std::map<int, MidiCtrlValList*, std::less<int> >::const_iterator ciMidiCtrlValList;
-
-class MidiCtrlValListList : public std::map<int, MidiCtrlValList*, std::less<int> > {
- public:
- void add(int channel, MidiCtrlValList* vl) {
- insert(std::pair<const int, MidiCtrlValList*>((channel << 24) + vl->num(), vl));
- }
- iMidiCtrlValList find(int channel, int ctrl) {
- return std::map<int, MidiCtrlValList*, std::less<int> >::find((channel << 24) + ctrl);
- }
- void clearDelete(bool deleteLists);
- };
-
-//---------------------------------------------------------
-// MidiControllerList
-// this is a list of used midi controllers created
-// - excplicit by user
-// - implicit during import of a midi file
-//---------------------------------------------------------
-
-class MidiControllerList : public std::map<int, MidiController*, std::less<int> >
-{
- public:
- MidiControllerList() {}
- MidiControllerList(const MidiControllerList& mcl);
-
- void add(MidiController* mc) { insert(std::pair<int, MidiController*>(mc->num(), mc)); }
-};
-
-typedef MidiControllerList::iterator iMidiController;
-typedef MidiControllerList::const_iterator ciMidiController;
-typedef MidiControllerList MidiControllerList;
-
-extern MidiControllerList defaultMidiController;
-extern void initMidiController();
-extern MidiController::ControllerType midiControllerType(int num);
-
-
-extern const QString& int2ctrlType(int n);
-extern MidiController::ControllerType ctrlType2Int(const QString& s);
-extern QString midiCtrlName(int ctrl);
-extern MidiController veloCtrl;
-
-
-typedef std::map<int, int, std::less<int> > MidiCtl2LadspaPortMap;
-typedef MidiCtl2LadspaPortMap::iterator iMidiCtl2LadspaPort;
-typedef MidiCtl2LadspaPortMap::const_iterator ciMidiCtl2LadspaPort;
-
-
-#endif
-