diff edmain.cpp @ 393:5137db55f00b

More work towards the editor ..
author Matti Hamalainen <ccr@tnsp.org>
date Fri, 19 Oct 2012 05:50:11 +0300
parents 28a74940f2b6
children 412082d5babc
line wrap: on
line diff
--- a/edmain.cpp	Fri Oct 19 05:26:34 2012 +0300
+++ b/edmain.cpp	Fri Oct 19 05:50:11 2012 +0300
@@ -101,7 +101,7 @@
 
     changed = FALSE;
     initSDL = FALSE;
-    tl = NULL;
+    currTimeline = NULL;
     memset(&engine, 0, sizeof(engine));
 
     // Pre-initialization
@@ -261,9 +261,22 @@
 
 void DemoEditor::updateTimelineView()
 {
+    demoView->setEngineData(&engine);    
+
+    timelineAudioTrack->setWaveform(
+        engine.audioRes->rdata, engine.audioRes->rdataSize,
+        engine.optAfmt.format, engine.optAfmt.channels,
+        engine.optAfmt.freq);
+
     timelineAudioTrack->setOffset(currViewOffset);
     timelineAudioTrack->setScale(currViewScale);
-//    timelineAudioTrack->setTime(currFrameTime);
+    
+    if (currTimeline != NULL)
+        timelineView->setTrack(currTimeline->tl);
+
+    timelineView->setTime(currFrameTime);
+    timelineView->setOffset(currViewOffset);
+    timelineView->setScale(currViewScale);
 
     timelineScrollBar->setRange(0, getTimelineDuration() - timelineAudioTrack->getScaledWidth());
     timelineScrollBar->setValue(currViewOffset);
@@ -332,11 +345,6 @@
     }
 
     // Etc.
-    demoView->setEngineData(&engine);    
-    timelineAudioTrack->setWaveform(
-        engine.audioRes->rdata, engine.audioRes->rdataSize,
-        engine.optAfmt.format, engine.optAfmt.channels,
-        engine.optAfmt.freq);
 
     updateTimelineView();
     updateMenuStates();
@@ -447,7 +455,7 @@
         delete undoHistory.takeFirst();
     }
     
-    TimelineObject *copy = new TimelineObject(tl);
+    TimelineObject *copy = new TimelineObject(currTimeline);
     copy->state = description;
     undoHistory.append(copy);
 }
@@ -455,7 +463,7 @@
 
 void DemoEditor::historyTop()
 {
-    TimelineObject *copy = new TimelineObject(tl);
+    TimelineObject *copy = new TimelineObject(currTimeline);
     copy->state = "-";
     undoHistory.append(copy);
 
@@ -480,8 +488,8 @@
     if (undoHistoryPos >= 0 && undoHistoryPos < undoHistory.size() - 1)
     {
         undoHistoryPos++;
-        delete tl;
-        tl = new TimelineObject(undoHistory.at(undoHistoryPos));
+        delete currTimeline;
+        currTimeline = new TimelineObject(undoHistory.at(undoHistoryPos));
         changed = true;
         
         updateMenuStates();
@@ -495,8 +503,8 @@
     if (undoHistoryPos > 0 && undoHistory.size() > 1)
     {
         undoHistoryPos--;
-        delete tl;
-        tl = new TimelineObject(undoHistory.at(undoHistoryPos));
+        delete currTimeline;
+        currTimeline = new TimelineObject(undoHistory.at(undoHistoryPos));
         changed = true;
         
         updateMenuStates();