diff edmain.cpp @ 397:9993873ff655

More work towards editor.
author Matti Hamalainen <ccr@tnsp.org>
date Fri, 19 Oct 2012 07:22:09 +0300
parents 412082d5babc
children 8660c6005032
line wrap: on
line diff
--- a/edmain.cpp	Fri Oct 19 07:21:54 2012 +0300
+++ b/edmain.cpp	Fri Oct 19 07:22:09 2012 +0300
@@ -99,10 +99,10 @@
     resize(1024, 768);
     setWindowTitle(QCoreApplication::applicationName());
 
+    memset(&engine, 0, sizeof(engine));
     changed = FALSE;
     initSDL = FALSE;
     currTimeline = NULL;
-    memset(&engine, 0, sizeof(engine));
 
     // Pre-initialization
     if ((err = demoPreInit(&engine)) != DMERR_OK)
@@ -208,6 +208,10 @@
     // Setup GUI elements
     createMainGUI();
     createNewFile();
+    DMTimelineTrack *tr = NULL;
+    dmTimelineAddTrack(currTimeline->tl, &tr, "Penis");
+
+    timelineView->setTimeline(currTimeline);
 
     settingsRestore();
 
@@ -224,7 +228,6 @@
 
     settingsSave();
     delete demoView;
-    delete tl;
     historyReset();
 
     if (engine.screen)
@@ -263,16 +266,17 @@
 {
     demoView->setEngineData(&engine);    
 
-    timelineAudioTrack->setWaveform(
-        engine.audioRes->rdata, engine.audioRes->rdataSize,
-        engine.optAfmt.format, engine.optAfmt.channels,
-        engine.optAfmt.freq);
+    if (engine.audioRes != NULL)
+    {
+        timelineAudioTrack->setWaveform(
+            engine.audioRes->rdata, engine.audioRes->rdataSize,
+            engine.optAfmt.format, engine.optAfmt.channels,
+            engine.optAfmt.freq);
+    }
 
     timelineAudioTrack->setOffset(currViewOffset);
     timelineAudioTrack->setScale(currViewScale);
     
-    if (currTimeline != NULL)
-        timelineView->setTrack(currTimeline->tl);
 
     timelineView->setTime(currFrameTime);
     timelineView->setOffset(currViewOffset);
@@ -304,6 +308,13 @@
 }
 
 
+void DemoEditor::actionTimelineChanged()
+{
+    updateMenuStates();
+    update();
+}
+
+
 int DemoEditor::initEffectsAndResources()
 {
     int err;
@@ -355,7 +366,7 @@
 
 void DemoEditor::shutdownEffectsAndResources()
 {
-    dmFreeTimeline(engine.tl);
+    delete currTimeline;
     dmFreePreparedTimelineData(engine.ptl);
     engineShutdownEffects(&engine);
     dmres_close(engine.resources);
@@ -388,8 +399,8 @@
     }
     else
     {
-        delete tl;
-        tl = tmp;
+        delete currTimeline;
+        currTimeline = tmp;
 
         update();
         historyReset();
@@ -401,7 +412,7 @@
 
 void DemoEditor::saveToFile(QString filename)
 {
-    int ret = tl->save(filename);
+    int ret = currTimeline->save(filename);
     if (ret != DMERR_OK)
     {
         showFileErrorDialog("Saving demo blob file "+ filename, ret);