summaryrefslogtreecommitdiff
path: root/attic/muse2-oom/muse2/muse/mplugins/mitplugin.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'attic/muse2-oom/muse2/muse/mplugins/mitplugin.cpp')
-rw-r--r--attic/muse2-oom/muse2/muse/mplugins/mitplugin.cpp156
1 files changed, 156 insertions, 0 deletions
diff --git a/attic/muse2-oom/muse2/muse/mplugins/mitplugin.cpp b/attic/muse2-oom/muse2/muse/mplugins/mitplugin.cpp
new file mode 100644
index 00000000..e1a4e656
--- /dev/null
+++ b/attic/muse2-oom/muse2/muse/mplugins/mitplugin.cpp
@@ -0,0 +1,156 @@
+//=========================================================
+// MusE
+// Linux Music Editor
+// $Id: mitplugin.cpp,v 1.1.1.1 2003/10/27 18:52:40 wschweer Exp $
+//
+// (C) Copyright 2001 Werner Schweer (ws@seh.de)
+//=========================================================
+
+#include "mitplugin.h"
+#include "app.h"
+#include "event.h"
+#include "xml.h"
+
+#include "midiitransform.h"
+#include "mittranspose.h"
+#include "midifilterimpl.h"
+#include "mrconfig.h"
+
+#ifdef BUILD_EXPERIMENTAL
+#include "rhythm.h"
+#endif
+
+MITPluginList mitPlugins;
+
+//---------------------------------------------------------
+// startMidiInputPlugin
+//---------------------------------------------------------
+
+void MusE::startMidiInputPlugin(int id)
+ {
+ bool flag = false;
+ QWidget* w = 0;
+ QAction* act;
+ if (id == 0) {
+ if (!mitPluginTranspose) {
+ mitPluginTranspose = new MITPluginTranspose();
+ mitPlugins.push_back(mitPluginTranspose);
+ connect(mitPluginTranspose, SIGNAL(hideWindow()),
+ SLOT(hideMitPluginTranspose()));
+ }
+ w = mitPluginTranspose;
+ act = midiTrpAction;
+ }
+ else if (id == 1) {
+ if (!midiInputTransform) {
+ midiInputTransform = new MidiInputTransformDialog();
+ connect(midiInputTransform, SIGNAL(hideWindow()),
+ SLOT(hideMidiInputTransform()));
+ }
+ w = midiInputTransform;
+ act = midiInputTrfAction;
+ }
+ else if (id == 2) {
+ if (!midiFilterConfig) {
+ midiFilterConfig = new MidiFilterConfig();
+ connect(midiFilterConfig, SIGNAL(hideWindow()),
+ SLOT(hideMidiFilterConfig()));
+ }
+ w = midiFilterConfig;
+ act = midiInputFilterAction;
+ }
+ else if (id == 3) {
+ if (!midiRemoteConfig) {
+ midiRemoteConfig = new MRConfig();
+ connect(midiRemoteConfig, SIGNAL(hideWindow()),
+ SLOT(hideMidiRemoteConfig()));
+ }
+ w = midiRemoteConfig;
+ act = midiRemoteAction;
+ }
+#ifdef BUILD_EXPERIMENTAL
+ else if (id == 4) {
+ if (!midiRhythmGenerator) {
+ midiRhythmGenerator = new RhythmGen();
+ connect(midiRhythmGenerator, SIGNAL(hideWindow()),
+ SLOT(hideMidiRhythmGenerator()));
+ }
+ w = midiRhythmGenerator;
+ act = midiRhythmAction;
+ }
+#endif
+ if (w) {
+ flag = !w->isVisible();
+ if (flag)
+ w->show();
+ else
+ w->hide();
+ }
+ act->setChecked(flag);
+ }
+
+void MusE::hideMitPluginTranspose()
+ {
+ midiTrpAction->setChecked(false);
+ }
+void MusE::hideMidiInputTransform()
+ {
+ midiInputTrfAction->setChecked(false);
+ }
+void MusE::hideMidiFilterConfig()
+ {
+ midiInputFilterAction->setChecked(false);
+ }
+void MusE::hideMidiRemoteConfig()
+ {
+ midiRemoteAction->setChecked(false);
+ }
+#ifdef BUILD_EXPERIMENTAL
+void MusE::hideMidiRhythmGenerator()
+ {
+ midiRhythmAction->setChecked(false);
+ }
+#endif
+
+//---------------------------------------------------------
+// processMidiInputTransformPlugins
+//---------------------------------------------------------
+
+void processMidiInputTransformPlugins(MEvent& event)
+ {
+ for (iMITPlugin i = mitPlugins.begin(); i != mitPlugins.end(); ++i)
+ (*i)->process(event);
+ }
+
+//---------------------------------------------------------
+// startMidiTransformer
+//---------------------------------------------------------
+
+void MusE::startMidiTransformer()
+ {
+ if (midiTransformerDialog == 0)
+ midiTransformerDialog = new MidiTransformerDialog;
+ midiTransformerDialog->show();
+ }
+
+//---------------------------------------------------------
+// writeStatusMidiInputTransformPlugins
+//---------------------------------------------------------
+
+void writeStatusMidiInputTransformPlugins(int level, Xml& xml)
+ {
+ for (iMITPlugin i = mitPlugins.begin(); i != mitPlugins.end(); ++i) {
+ xml.tag(level++, "mplugin name=\"%d\"");
+ (*i)->writeStatus(level, xml);
+ xml.etag(level, "mplugin");
+ }
+ }
+
+//---------------------------------------------------------
+// readStatusMidiInputTransformPlugin
+//---------------------------------------------------------
+
+void readStatusMidiInputTransformPlugin(Xml&)
+ {
+ }
+