summaryrefslogtreecommitdiff
path: root/muse2/muse/audio.h
diff options
context:
space:
mode:
authorFlorian Jung <flo@windfisch.org>2013-09-01 11:55:38 +0200
committerFlorian Jung <flo@windfisch.org>2013-09-01 13:29:11 +0200
commit2f26bcd6a94124721d8c946f55d3f360147f1f58 (patch)
tree5b218108bbe1c8676e433fb3a27f2f5ee97e7bd0 /muse2/muse/audio.h
parentc5e6fd0f6dfbf18847b601668ba8c657d776da31 (diff)
applyOperationGroup is no more a hack :)
Diffstat (limited to 'muse2/muse/audio.h')
-rw-r--r--muse2/muse/audio.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/muse2/muse/audio.h b/muse2/muse/audio.h
index 4b81bb2a..044760ac 100644
--- a/muse2/muse/audio.h
+++ b/muse2/muse/audio.h
@@ -52,6 +52,7 @@ class Part;
class PluginI;
class SynthI;
class Track;
+class Undo;
//---------------------------------------------------------
// AudioMsgId
@@ -67,7 +68,7 @@ enum {
SEQM_ADD_TEMPO, SEQM_SET_TEMPO, SEQM_REMOVE_TEMPO, SEQM_ADD_SIG, SEQM_REMOVE_SIG,
SEQM_ADD_KEY, SEQM_REMOVE_KEY,
SEQM_SET_GLOBAL_TEMPO,
- SEQM_UNDO, SEQM_REDO,
+ SEQM_REVERT_OPERATION_GROUP, SEQM_EXECUTE_OPERATION_GROUP,
SEQM_RESET_DEVICES, SEQM_INIT_DEVICES, SEQM_PANIC,
SEQM_MIDI_LOCAL_OFF,
SEQM_PLAY_MIDI_EVENT,
@@ -121,6 +122,7 @@ struct AudioMsg : public ThreadMsg { // this should be an union
char port, channel, ctrl;
int a, b, c;
Pos pos;
+ Undo* operations;
};
class AudioOutput;
@@ -221,6 +223,9 @@ class Audio {
void msgSeek(const Pos&);
void msgPlay(bool val);
+ void msgExecuteOperationGroup(Undo&); // calls exe1, then calls exe2 in audio context, then calls exe3
+ void msgRevertOperationGroup(Undo&); // similar.
+
void msgRemoveTrack(Track*, bool u = true);
void msgRemoveTracks();
void msgMoveTrack(int idx1, int dx2, bool u = true);
@@ -252,8 +257,6 @@ class Audio {
void msgSetPrefader(AudioTrack*, int);
void msgSetChannels(AudioTrack*, int);
void msgSetRecord(AudioTrack*, bool);
- void msgUndo();
- void msgRedo();
void msgLocalOff();
void msgInitMidiDevices(bool force = true);
void msgResetMidiDevices();