summaryrefslogtreecommitdiff
path: root/muse2/muse/seqmsg.cpp
diff options
context:
space:
mode:
authorTim E. Real <termtech@rogers.com>2011-08-29 22:44:24 +0000
committerTim E. Real <termtech@rogers.com>2011-08-29 22:44:24 +0000
commitd505c378bdf55445babb73e0ba4085702be35870 (patch)
tree40ccb82e5b27f118904a5298faedd10fe3b96d36 /muse2/muse/seqmsg.cpp
parent21e75f0c2d14010d060693c77fd3e22e1fccd65d (diff)
Fixed audio automation graph editing. And now 'snaps' to discrete integer or bool types.
All control movements should update display now. Also slightly changed behaviour of Ctrl class. TODO: Fix some painting corruption, improve discrete display, add transparency etc. etc. Applied compilation patch to rhythmbase.ui by Jean-Damien Durand.
Diffstat (limited to 'muse2/muse/seqmsg.cpp')
-rw-r--r--muse2/muse/seqmsg.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/muse2/muse/seqmsg.cpp b/muse2/muse/seqmsg.cpp
index 57aadc18..035ee949 100644
--- a/muse2/muse/seqmsg.cpp
+++ b/muse2/muse/seqmsg.cpp
@@ -338,6 +338,7 @@ void Audio::msgSetVolume(AudioTrack* src, double val)
msg.dval = val;
sendMsg(&msg);
//muse->arranger->controllerChanged(src);
+ song->controllerChange(src);
}
//---------------------------------------------------------
@@ -352,6 +353,7 @@ void Audio::msgSetPan(AudioTrack* node, double val)
msg.dval = val;
sendMsg(&msg);
//muse->arranger->controllerChanged(node);
+ song->controllerChange(node);
}
//---------------------------------------------------------
@@ -513,6 +515,7 @@ void Audio::msgSetPluginCtrlVal(AudioTrack* track, int param, double val)
msg.snode = track;
sendMsg(&msg);
//muse->arranger->controllerChanged(track);
+ song->controllerChange(track);
}
//---------------------------------------------------------
@@ -529,6 +532,7 @@ void Audio::msgSwapControllerIDX(AudioTrack* node, int idx1, int idx2)
msg.b = idx2;
sendMsg(&msg);
//muse->arranger->controllerChanged(node);
+ song->controllerChange(node);
}
//---------------------------------------------------------
@@ -544,6 +548,7 @@ void Audio::msgClearControllerEvents(AudioTrack* node, int acid)
msg.ival = acid;
sendMsg(&msg);
//muse->arranger->controllerChanged(node);
+ song->controllerChange(node);
}
//---------------------------------------------------------
@@ -588,6 +593,7 @@ void Audio::msgEraseACEvent(AudioTrack* node, int acid, int frame)
msg.a = frame;
sendMsg(&msg);
//muse->arranger->controllerChanged(node);
+ song->controllerChange(node);
}
//---------------------------------------------------------
@@ -605,6 +611,7 @@ void Audio::msgEraseRangeACEvents(AudioTrack* node, int acid, int frame1, int fr
msg.b = frame2;
sendMsg(&msg);
//muse->arranger->controllerChanged(node);
+ song->controllerChange(node);
}
//---------------------------------------------------------
@@ -622,6 +629,26 @@ void Audio::msgAddACEvent(AudioTrack* node, int acid, int frame, double val)
msg.dval = val;
sendMsg(&msg);
//muse->arranger->controllerChanged(node);
+ song->controllerChange(node);
+}
+
+//---------------------------------------------------------
+// msgChangeACEvent
+//---------------------------------------------------------
+
+void Audio::msgChangeACEvent(AudioTrack* node, int acid, int frame, int newFrame, double val)
+{
+ AudioMsg msg;
+
+ msg.id = AUDIO_CHANGE_AC_EVENT;
+ msg.snode = node;
+ msg.ival = acid;
+ msg.a = frame;
+ msg.b = newFrame;
+ msg.dval = val;
+ sendMsg(&msg);
+ //muse->arranger->controllerChanged(node);
+ song->controllerChange(node);
}
//---------------------------------------------------------