# HG changeset patch # User Matti Hamalainen # Date 1425628581 -7200 # Node ID e667710aee8e652c80cbb27156657a4b1200973e # Parent 82cc143cb7d24733ab76845456e00185ac2512c1 Add functions jssFreeInstrument(), jssFreeExtInstrument() and jssFreePattern(). diff -r 82cc143cb7d2 -r e667710aee8e minijss/jssmod.c --- 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); + } +} diff -r 82cc143cb7d2 -r e667710aee8e minijss/jssmod.h --- 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);