summaryrefslogtreecommitdiff
path: root/attic/muse2-oom/muse2/muse/undo.h
diff options
context:
space:
mode:
Diffstat (limited to 'attic/muse2-oom/muse2/muse/undo.h')
-rw-r--r--attic/muse2-oom/muse2/muse/undo.h110
1 files changed, 110 insertions, 0 deletions
diff --git a/attic/muse2-oom/muse2/muse/undo.h b/attic/muse2-oom/muse2/muse/undo.h
new file mode 100644
index 00000000..896b8a94
--- /dev/null
+++ b/attic/muse2-oom/muse2/muse/undo.h
@@ -0,0 +1,110 @@
+//=========================================================
+// MusE
+// Linux Music Editor
+// $Id: undo.h,v 1.6.2.5 2009/05/24 21:43:44 terminator356 Exp $
+//
+// (C) Copyright 1999/2000 Werner Schweer (ws@seh.de)
+//=========================================================
+
+#ifndef __UNDO_H__
+#define __UNDO_H__
+
+#include <list>
+
+#include "event.h"
+#include "marker/marker.h"
+
+class QString;
+
+class Track;
+class TEvent;
+class SigEvent;
+class Part;
+
+extern std::list<QString> temporaryWavFiles; //!< Used for storing all tmp-files, for cleanup on shutdown
+//---------------------------------------------------------
+// UndoOp
+//---------------------------------------------------------
+
+struct UndoOp {
+ enum UndoType {
+ AddTrack, DeleteTrack, ModifyTrack,
+ AddPart, DeletePart, ModifyPart,
+ AddEvent, DeleteEvent, ModifyEvent,
+ AddTempo, DeleteTempo,
+ AddSig, DeleteSig,
+ SwapTrack,
+ ModifyClip,
+ ModifyMarker,
+ AddTrackView, DeleteTrackView, ModifyTrackView
+ };
+ UndoType type;
+
+ union {
+ struct {
+ int a;
+ int b;
+ int c;
+ };
+ struct {
+ Track* oTrack;
+ Track* nTrack;
+ int trackno;
+ };
+ struct {
+ Part* oPart;
+ Part* nPart;
+ };
+ struct {
+ Part* part;
+ };
+ struct {
+ SigEvent* nSignature;
+ SigEvent* oSignature;
+ };
+ struct {
+ int channel;
+ int ctrl;
+ int oVal;
+ int nVal;
+ };
+ struct {
+ int startframe; //!< Start frame of changed data
+ int endframe; //!< End frame of changed data
+ const char* filename; //!< The file that is changed
+ const char* tmpwavfile; //!< The file with the changed data
+ };
+ struct {
+ Marker* realMarker;
+ Marker* copyMarker;
+ };
+ struct {
+ int d;
+ int e;
+ int f;
+ };
+ };
+ Event oEvent;
+ Event nEvent;
+ bool doCtrls;
+ bool doClones;
+ const char* typeName();
+ void dump();
+ };
+
+class Undo : public std::list<UndoOp> {
+ void undoOp(UndoOp::UndoType, int data);
+ };
+
+typedef Undo::iterator iUndoOp;
+typedef Undo::reverse_iterator riUndoOp;
+
+class UndoList : public std::list<Undo> {
+ public:
+ void clearDelete();
+ };
+
+typedef UndoList::iterator iUndo;
+
+
+#endif // __UNDO_H__