summaryrefslogtreecommitdiff
path: root/muse_qt4_evolution/midiplugins/splitlayer/splitlayer.h
diff options
context:
space:
mode:
authorRobert Jonsson <spamatica@gmail.com>2009-12-27 11:30:35 +0000
committerRobert Jonsson <spamatica@gmail.com>2009-12-27 11:30:35 +0000
commitb703eab295330e6f81564fbb39a10a1a2fdd2f54 (patch)
treee46b5c9a6bc22fd661c15d1d2123f5bf631cef80 /muse_qt4_evolution/midiplugins/splitlayer/splitlayer.h
parent5d5fa0fdf913907edbc3d2d29a7548f0cb658c94 (diff)
moved old qt4 branch
Diffstat (limited to 'muse_qt4_evolution/midiplugins/splitlayer/splitlayer.h')
-rw-r--r--muse_qt4_evolution/midiplugins/splitlayer/splitlayer.h69
1 files changed, 69 insertions, 0 deletions
diff --git a/muse_qt4_evolution/midiplugins/splitlayer/splitlayer.h b/muse_qt4_evolution/midiplugins/splitlayer/splitlayer.h
new file mode 100644
index 00000000..7c213c01
--- /dev/null
+++ b/muse_qt4_evolution/midiplugins/splitlayer/splitlayer.h
@@ -0,0 +1,69 @@
+//=============================================================================
+// MusE
+// Linux Music Editor
+// $Id:$
+//
+// Copyright (C) 2006 by Werner Schweer
+//
+// 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 __METRONOM_H__
+#define __METRONOM_H__
+
+#include "../libmidiplugin/mempi.h"
+
+static const int MIDI_CHANNELS = 16;
+
+//---------------------------------------------------------
+// SplitLayer - splits and layers for midi input
+//---------------------------------------------------------
+
+class SplitLayer : public Mempi {
+
+ protected:
+ struct InitData {
+ int startVelo[MIDI_CHANNELS];
+ int endVelo[MIDI_CHANNELS];
+ int startPitch[MIDI_CHANNELS];
+ int endPitch[MIDI_CHANNELS];
+ int pitchOffset[MIDI_CHANNELS];
+ int veloOffset[MIDI_CHANNELS];
+ } data;
+ int notes[128]; // bitmapped note-on/channel values
+ bool learnMode;
+ int learnChannel;
+ bool learnStartPitch;
+
+ SplitLayerGui* gui;
+ friend class SplitLayerGui;
+
+ virtual void process(unsigned, unsigned, MidiEventList*, MidiEventList*);
+
+ public:
+ SplitLayer(const char* name, const MempiHost*);
+ ~SplitLayer();
+ virtual bool init();
+
+ virtual bool hasGui() const { return true; }
+ virtual bool guiVisible() const { return gui->isVisible(); }
+ virtual void showGui(bool val) { gui->setShown(val); }
+ virtual void getGeometry(int* x, int* y, int* w, int* h) const;
+ virtual void setGeometry(int, int, int, int);
+
+ virtual void getInitData(int*, const unsigned char**) const;
+ virtual void setInitData(int, const unsigned char*);
+ };
+
+#endif
+