summaryrefslogtreecommitdiff
path: root/attic/muse_qt4_evolution/muse/mstrip.h
diff options
context:
space:
mode:
Diffstat (limited to 'attic/muse_qt4_evolution/muse/mstrip.h')
-rw-r--r--attic/muse_qt4_evolution/muse/mstrip.h191
1 files changed, 191 insertions, 0 deletions
diff --git a/attic/muse_qt4_evolution/muse/mstrip.h b/attic/muse_qt4_evolution/muse/mstrip.h
new file mode 100644
index 00000000..058884db
--- /dev/null
+++ b/attic/muse_qt4_evolution/muse/mstrip.h
@@ -0,0 +1,191 @@
+//=============================================================================
+// 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 __MSTRIP_H__
+#define __MSTRIP_H__
+
+#include "strip.h"
+
+namespace Awl {
+ class MidiMeterSlider;
+ class MidiMeter;
+ class FloatEntry;
+ class MidiVolEntry;
+ class Knob;
+ };
+
+class MidiTrack;
+class MidiOutPort;
+class MidiInPort;
+class MidiChannel;
+class MidiSynti;
+
+//---------------------------------------------------------
+// MidiStrip
+//---------------------------------------------------------
+
+class MidiStrip : public Strip {
+ Q_OBJECT
+
+ Awl::MidiMeterSlider* slider;
+ Awl::MidiVolEntry* sl;
+ QToolButton* iR;
+ QToolButton* oR;
+
+ struct KNOB {
+ Awl::Knob* knob;
+ Awl::FloatEntry* dl;
+ QLabel* lb;
+ } controller[4]; // pan variation reverb chorus
+
+ bool volumeTouched;
+ bool panTouched;
+ bool reverbSendTouched;
+ bool variSendTouched;
+ bool chorusSendTouched;
+
+ void addKnob(int ctrl, int idx, const QString&, const QString&, const char*, bool, int row);
+
+ private slots:
+ virtual void controllerChanged(int id);
+ void ctrlChanged(double val, int num);
+ void muteToggled(bool);
+ void soloToggled(bool);
+ void autoChanged();
+ void sliderPressed(int);
+ void sliderReleased(int);
+ void autoReadToggled(bool);
+ void autoWriteToggled(bool);
+ void iRouteShow();
+ void oRouteShow();
+ void recordToggled(bool);
+ void monitorToggled(bool);
+ QMenu* sendMenu() const { return static_cast<QMenu*>(sender()); }
+
+ public slots:
+ virtual void songChanged(int);
+
+ public:
+ MidiStrip(Mixer*, MidiTrack*, bool align = true);
+ virtual void heartBeat();
+ };
+
+//---------------------------------------------------------
+// MidiOutPortStrip
+//---------------------------------------------------------
+
+class MidiOutPortStrip : public Strip {
+ Q_OBJECT
+
+ Awl::MidiMeterSlider* slider;
+ Awl::MidiVolEntry* sl;
+ QToolButton* oR;
+ QToolButton* iR;
+ SimpleButton* sync;
+
+ bool volumeTouched;
+
+ private slots:
+ virtual void controllerChanged(int id);
+ void ctrlChanged(double val, int num);
+ void muteToggled(bool);
+ void soloToggled(bool);
+ void autoChanged();
+ void sliderPressed(int);
+ void sliderReleased(int);
+ void autoReadToggled(bool);
+ void autoWriteToggled(bool);
+ void iRouteShow();
+ void oRouteShow();
+ void syncToggled(bool) const;
+
+ public slots:
+ virtual void songChanged(int);
+
+ public:
+ MidiOutPortStrip(Mixer*, MidiOutPort*, bool align = true);
+ virtual void heartBeat();
+ };
+
+//---------------------------------------------------------
+// MidiSyntiStrip
+//---------------------------------------------------------
+
+class MidiSyntiStrip : public Strip {
+ Q_OBJECT
+
+ Awl::MidiMeterSlider* slider;
+ Awl::MidiVolEntry* sl;
+ QToolButton* iR;
+ QToolButton* oR;
+
+ bool volumeTouched;
+
+ private slots:
+ virtual void controllerChanged(int id);
+ void ctrlChanged(double val, int num);
+ void muteToggled(bool);
+ void soloToggled(bool);
+ void autoChanged();
+ void sliderPressed(int);
+ void sliderReleased(int);
+ void autoReadToggled(bool);
+ void autoWriteToggled(bool);
+ void iRouteShow();
+ void oRouteShow();
+
+ public slots:
+ virtual void songChanged(int);
+
+ public:
+ MidiSyntiStrip(Mixer*, MidiSynti*, bool align = true);
+ virtual void heartBeat();
+ };
+
+//---------------------------------------------------------
+// MidiInPortStrip
+//---------------------------------------------------------
+
+class MidiInPortStrip : public Strip {
+ Q_OBJECT
+
+ bool activity[MIDI_CHANNELS];
+ QPixmap* activityOn;
+ QPixmap* activityOff;
+ QLabel* channelActivity[MIDI_CHANNELS];
+ QToolButton* iR;
+ QToolButton* oR;
+ MidiInPort* inport() const { return (MidiInPort*)track; }
+
+ private slots:
+ void muteToggled(bool);
+ void soloToggled(bool);
+ void iRouteShow();
+ void oRouteShow();
+
+ public slots:
+ virtual void songChanged(int);
+
+ public:
+ MidiInPortStrip(Mixer*, MidiInPort*, bool align = true);
+ virtual void heartBeat();
+ };
+
+#endif