From e40fc849149dd97c248866a4a1d026dda5e57b62 Mon Sep 17 00:00:00 2001 From: Robert Jonsson Date: Mon, 7 Mar 2011 19:01:11 +0000 Subject: clean3 --- .../midiplugins/splitlayer/splitlayer.h | 69 ++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 attic/muse_qt4_evolution/midiplugins/splitlayer/splitlayer.h (limited to 'attic/muse_qt4_evolution/midiplugins/splitlayer/splitlayer.h') diff --git a/attic/muse_qt4_evolution/midiplugins/splitlayer/splitlayer.h b/attic/muse_qt4_evolution/midiplugins/splitlayer/splitlayer.h new file mode 100644 index 00000000..7c213c01 --- /dev/null +++ b/attic/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 + -- cgit v1.2.3