summaryrefslogtreecommitdiff
path: root/muse2/muse/miditransform.h
diff options
context:
space:
mode:
Diffstat (limited to 'muse2/muse/miditransform.h')
-rw-r--r--muse2/muse/miditransform.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/muse2/muse/miditransform.h b/muse2/muse/miditransform.h
index 626c83c5..5ff78357 100644
--- a/muse2/muse/miditransform.h
+++ b/muse2/muse/miditransform.h
@@ -50,7 +50,21 @@ enum TransformFunction {
enum TransformOperator {
Keep, Plus, Minus, Multiply, Divide, Fix, Value, Invert,
- ScaleMap, Flip, Dynamic, Random
+ ScaleMap, Flip, Dynamic, Random, Toggle
+ };
+
+class TransformToggleState {
+ private:
+ bool _ctrlStates[128];
+
+ public:
+ TransformToggleState()
+ {
+ for(int i = 0; i < 128; ++i)
+ _ctrlStates[i] = false;
+ }
+ bool ctrlState(int ctl_num) { return _ctrlStates[ctl_num & 0x7f]; }
+ void setCtrlState(int ctl_num, bool state) { _ctrlStates[ctl_num & 0x7f] = state; }
};
extern void writeMidiTransforms(int level, Xml& xml);
@@ -93,6 +107,7 @@ class MidiTransformerDialog : public QDialog, public Ui::MidiTransformDialogBase
void procEventTypeSel(int);
void procVal1OpSel(int);
void procVal2OpSel(int);
+ void procVal2OpUpdate(MusECore::TransformOperator op);
void procLenOpSel(int);
void procPosOpSel(int);
void funcOpSel(int);