summaryrefslogtreecommitdiff
path: root/muse_qt4_evolution/synti/libsynti/mess2.h
diff options
context:
space:
mode:
Diffstat (limited to 'muse_qt4_evolution/synti/libsynti/mess2.h')
-rw-r--r--muse_qt4_evolution/synti/libsynti/mess2.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/muse_qt4_evolution/synti/libsynti/mess2.h b/muse_qt4_evolution/synti/libsynti/mess2.h
new file mode 100644
index 00000000..207eb6c3
--- /dev/null
+++ b/muse_qt4_evolution/synti/libsynti/mess2.h
@@ -0,0 +1,57 @@
+//=========================================================
+// MusE
+// Linux Music Editor
+// $Id:$
+// (C) Copyright 2007 Werner Schweer (ws@seh.de)
+//=========================================================
+
+#ifndef __MESS2_H__
+#define __MESS2_H__
+
+#include "mess.h"
+
+//---------------------------------------------------------
+// SynthCtlr
+//---------------------------------------------------------
+
+struct SynthCtrl {
+ const char* name;
+ int ctrl;
+ int min;
+ int max;
+ int init;
+ int val;
+ SynthCtrl(const char* n, int i, int a, int b, int c)
+ : name(n), ctrl(i), min(a), max(b), init(c)
+ {}
+ };
+
+//---------------------------------------------------------
+// Mess2
+// MusE experimental software synth
+// extended interface
+//---------------------------------------------------------
+
+class Mess2 : public Mess {
+ unsigned char* initData;
+
+ void getInitData(int*, const unsigned char**);
+ int getControllerInfo(int, const char**, int*, int*, int*);
+
+ protected:
+ static QList<SynthCtrl*> ctrl;
+
+ static void addController(const char* name,
+ int ctrl, int min = 0, int max = 16384, int init = 0);
+ static int controllerIdx(const char* name);
+ static int controllerId(int idx);
+ static int controllerIdx(int id);
+ static const char* controllerName(int idx);
+
+ public:
+ Mess2(int channels);
+ virtual ~Mess2();
+ };
+
+#endif
+