changeset 328:dd7b1356d726

More work.
author Matti Hamalainen <ccr@tnsp.org>
date Sun, 14 Oct 2012 23:47:33 +0300
parents 2964947674d1
children a4a6082a9055
files dmtimeline.c dmtimelinew.c
diffstat 2 files changed, 36 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/dmtimeline.c	Sun Oct 14 23:36:06 2012 +0300
+++ b/dmtimeline.c	Sun Oct 14 23:47:33 2012 +0300
@@ -342,12 +342,38 @@
 }
 
 
+void dmFreeTimelineEventParam(DMTimelineEventParam *param)
+{
+    dmFree(param->name);
+    dmFree(param->vstr);
+    dmFreeTimelinePoints(&(param->vpts));
+}
+
+
+void dmFreeTimelineEvent(DMTimelineEvent *event)
+{
+    if (event != NULL)
+    {
+        int param;
+        for (param = 0; param < event->nparams; param++)
+            dmFreeTimelineEventParam(&(event->params[param]));
+        dmFree(event->params);
+    }
+}
+
+
 void dmFreeTimelineTrack(DMTimelineTrack *track)
 {
     if (track != NULL)
     {
+        int event;
+
         dmFree(track->name);
-        track->name = NULL;
+
+        for (event = 0; event < track->nevents; event++)
+            dmFreeTimelineEvent(track->events[event]);
+        dmFree(track->events);
+
         dmFreeTimelinePoints(&(track->composite.points));
     }
 }
--- a/dmtimelinew.c	Sun Oct 14 23:36:06 2012 +0300
+++ b/dmtimelinew.c	Sun Oct 14 23:47:33 2012 +0300
@@ -145,6 +145,12 @@
     if ((err = dmSaveTimelineCurve(res, &(track->composite))) != DMERR_OK)
         return err;
 
+    return DMERR_OK;
+}
+
+
+int dmSaveTimeline(DMResource *res, DMTimeline *tl)
+{
     int track, err;
     DMFTimeline hdr;
 
@@ -166,6 +172,9 @@
     }
 
     return DMERR_OK;
+}
+
+
 int dmTimelineNew(DMTimeline **ptl, const char *name)
 {
     DMTimeline *tl;
@@ -279,12 +288,3 @@
     }
     return NULL;
 }
-}
-
-
-int dmSaveTimeline(DMResource *res, DMTimeline *tl)
-{
-    return DMERR_OK;
-}
-
-