changeset 354:ba284f5e7ea5

More work on editor, etc.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 16 Oct 2012 01:49:15 +0300
parents 83e4af7835ce
children dbc62ba3f132
files dmeditor.c dmengine.h dmsimple.c
diffstat 3 files changed, 53 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/dmeditor.c	Tue Oct 16 01:33:26 2012 +0300
+++ b/dmeditor.c	Tue Oct 16 01:49:15 2012 +0300
@@ -240,6 +240,22 @@
         goto error_exit;
     }
 
+    // Final initializations
+    if ((err = engine.demoInit()) != DMERR_OK)
+    {
+        dmError("Failure in demoInit(), %d: %s\n",
+            err, dmErrorStr(err));
+        goto error_exit;
+    }
+
+    // Initialize effects
+    if ((err = dmInitializeEffects()) != DMERR_OK)
+    {
+        dmError("Effects initialization failed, %d: %s\n",
+            err, dmErrorStr(err));
+        goto error_exit;
+    }
+
     // Initialize GUI
     dmPrint(1, "Initializing Gtk+ editor GUI.\n");
     GtkWidget *window;
@@ -287,6 +303,9 @@
 #endif
     SDL_UnlockAudio();
 
+    dmFreeTimeline(engine.tl);
+    dmFreePreparedTimelineData(engine.ptl);
+    dmShutdownEffects();
     dmres_close();
 
     if (engine.demoShutdown != NULL)
--- a/dmengine.h	Tue Oct 16 01:33:26 2012 +0300
+++ b/dmengine.h	Tue Oct 16 01:49:15 2012 +0300
@@ -22,6 +22,7 @@
 
 typedef struct
 {
+    DMResource *timeline;
     DMTimeline *tl;
     DMPreparedTimeline *ptl;
 
--- a/dmsimple.c	Tue Oct 16 01:33:26 2012 +0300
+++ b/dmsimple.c	Tue Oct 16 01:49:15 2012 +0300
@@ -285,7 +285,6 @@
         goto error_exit;
     }
 
-
     if (!engineInitializeVideo())
         goto error_exit;
 
@@ -310,7 +309,37 @@
 
     // Final initializations
     if ((err = engine.demoInit()) != DMERR_OK)
+    {
+        dmError("Failure in demoInit(), %d: %s\n",
+            err, dmErrorStr(err));
         goto error_exit;
+    }
+
+    // Initialize effects
+    if ((err = dmInitializeEffects()) != DMERR_OK)
+    {
+        dmError("Effects initialization failed, %d: %s\n",
+            err, dmErrorStr(err));
+        goto error_exit;
+    }
+
+    // Use a timeline, if set
+    if (engine.timeline != NULL)
+    {
+        if ((err = dmLoadTimeline(engine.timeline, &engine.tl)) != DMERR_OK)
+        {
+            dmError("Error loading timeline, %d: %s\n", err,
+                dmErrorStr(err));
+            goto error_exit;
+        }
+
+        if ((err = dmPrepareTimeline(engine.tl, engine.ptl)) != DMERR_OK)
+        {
+            dmError("Error creating prepared timeline, %d: %s\n",
+                err, dmErrorStr(err));
+            goto error_exit;
+        }
+    }
 
     dmPrint(1, "Starting up.\n");
 
@@ -433,6 +462,9 @@
 #endif
     SDL_UnlockAudio();
 
+    dmFreeTimeline(engine.tl);
+    dmFreePreparedTimelineData(engine.ptl);
+    dmShutdownEffects();
     dmres_close();    
 
     if (engine.demoShutdown != NULL)