summaryrefslogtreecommitdiff
path: root/attic/muse2-oom/muse2/muse/miditransform.h
diff options
context:
space:
mode:
Diffstat (limited to 'attic/muse2-oom/muse2/muse/miditransform.h')
-rw-r--r--attic/muse2-oom/muse2/muse/miditransform.h105
1 files changed, 105 insertions, 0 deletions
diff --git a/attic/muse2-oom/muse2/muse/miditransform.h b/attic/muse2-oom/muse2/muse/miditransform.h
new file mode 100644
index 00000000..4cf444bd
--- /dev/null
+++ b/attic/muse2-oom/muse2/muse/miditransform.h
@@ -0,0 +1,105 @@
+//=========================================================
+// MusE
+// Linux Music Editor
+// $Id: miditransform.h,v 1.2.2.2 2009/02/02 21:38:00 terminator356 Exp $
+//
+// (C) Copyright 2001 Werner Schweer (ws@seh.de)
+//=========================================================
+
+#ifndef __MIDITRANSFORM_H__
+#define __MIDITRANSFORM_H__
+
+#include "ui_transformbase.h"
+
+class QListWidgetItem;
+class QDialog;
+class MidiTransformation;
+class MidiTransformPrivate;
+class Event;
+class MidiPart;
+class Xml;
+
+enum ValOp {
+ All=0, Ignore=0, Equal=1, Unequal=2, Higher=3, Lower=4,
+ Inside=5, Outside=6
+ };
+
+enum TransformFunction {
+ Select, Quantize, Delete, Transform, Insert, Copy, Extract
+ };
+
+enum TransformOperator {
+ Keep, Plus, Minus, Multiply, Divide, Fix, Value, Invert,
+ ScaleMap, Flip, Dynamic, Random
+ };
+
+//---------------------------------------------------------
+// MidiTransformDialog
+//---------------------------------------------------------
+
+class MidiTransformerDialog : public QDialog, public Ui::MidiTransformDialogBase {
+ Q_OBJECT
+ MidiTransformPrivate* data;
+
+ virtual void accept();
+// virtual void reject();
+ void setValOp(QWidget* a, QWidget* b, ValOp op);
+ void processEvent(Event&, MidiPart*, MidiPart*);
+ bool isSelected(Event&, MidiPart*);
+ void transformEvent(Event&, MidiPart*, MidiPart*);
+ bool typesMatch(Event& e, unsigned selType);
+
+ void updatePresetList();
+
+ private slots:
+ void apply();
+ void presetNew();
+ void presetDelete();
+
+ void selEventOpSel(int);
+ void selTypeSel(int);
+ void selVal1OpSel(int);
+ void selVal2OpSel(int);
+ void selLenOpSel(int);
+ void selRangeOpSel(int);
+ void procEventOpSel(int);
+ void procEventTypeSel(int);
+ void procVal1OpSel(int);
+ void procVal2OpSel(int);
+ void procLenOpSel(int);
+ void procPosOpSel(int);
+ void funcOpSel(int);
+ void presetChanged(QListWidgetItem*);
+ void nameChanged(const QString&);
+ void commentChanged();
+ void selVal1aChanged(int);
+ void selVal1bChanged(int);
+ void selVal2aChanged(int);
+ void selVal2bChanged(int);
+ void selLenAChanged(int);
+ void selLenBChanged(int);
+ void selBarAChanged(int);
+ void selBarBChanged(int);
+ void procVal1aChanged(int);
+ void procVal1bChanged(int);
+ void procVal2aChanged(int);
+ void procVal2bChanged(int);
+ void procLenAChanged(int);
+ void procPosAChanged(int);
+ void funcQuantValSel(int);
+ void processAllChanged(bool);
+ void selectedTracksChanged(bool);
+ void insideLoopChanged(bool);
+
+ public slots:
+ void songChanged(int);
+
+ public:
+ MidiTransformerDialog(QDialog* parent = 0, Qt::WFlags fl = 0);
+ ~MidiTransformerDialog();
+ };
+
+extern void writeMidiTransforms(int level, Xml& xml);
+extern void readMidiTransform(Xml&);
+extern void clearMidiTransforms();
+#endif