changeset 1224:e667710aee8e

Add functions jssFreeInstrument(), jssFreeExtInstrument() and jssFreePattern().
author Matti Hamalainen <ccr@tnsp.org>
date Fri, 06 Mar 2015 09:56:21 +0200
parents 82cc143cb7d2
children e8f0305f8e6b
files minijss/jssmod.c minijss/jssmod.h
diffstat 2 files changed, 37 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/minijss/jssmod.c	Fri Mar 06 09:54:30 2015 +0200
+++ b/minijss/jssmod.c	Fri Mar 06 09:56:21 2015 +0200
@@ -413,6 +413,15 @@
     // OK, return pointer to struct
     return pattern;
 }
+
+
+void jssFreePattern(JSSPattern *pattern)
+{
+    if (pattern != NULL)
+    {
+        dmFree(pattern->data);
+        dmFree(pattern);
+    }
 }
 
 
@@ -430,6 +439,19 @@
 }
 
 
+void jssFreeInstrument(JSSInstrument *inst)
+{
+    if (inst != NULL)
+    {
+#ifndef JSS_LIGHT
+        dmFree(inst->desc);
+#endif
+        dmFree(inst->data);
+        dmFree(inst);
+    }
+}
+
+
 /* Allocates and initializes "extended" instrument structure.
  */
 JSSExtInstrument *jssAllocateExtInstrument(void)
@@ -450,3 +472,15 @@
 
     return inst;
 }
+
+
+void jssFreeExtInstrument(JSSExtInstrument *inst)
+{
+    if (inst != NULL)
+    {
+#ifndef JSS_LIGHT
+        dmFree(inst->desc);
+#endif
+        dmFree(inst);
+    }
+}
--- a/minijss/jssmod.h	Fri Mar 06 09:54:30 2015 +0200
+++ b/minijss/jssmod.h	Fri Mar 06 09:56:21 2015 +0200
@@ -303,8 +303,11 @@
 JSSModule *         jssAllocateModule(void);
 int                 jssFreeModule(JSSModule * module);
 JSSPattern *        jssAllocatePattern(const int nrows, const int nchannels);
+void                jssFreePattern(JSSPattern *pattern);
 JSSInstrument *     jssAllocateInstrument(void);
+void                jssFreeInstrument(JSSInstrument *inst);
 JSSExtInstrument *  jssAllocateExtInstrument(void);
+void                jssFreeExtInstrument(JSSExtInstrument *inst);
 
 #ifdef JSS_SUP_XM
 int        jssLoadXM(DMResource *file, JSSModule **pmodule, BOOL probe);