Merge branch 'master' into dynamic-sample-loading

This commit is contained in:
Marcus Weseloh 2018-04-21 23:34:20 +02:00
commit 7240461e5b
4 changed files with 16 additions and 11 deletions

View file

@ -88,20 +88,20 @@ fluid_sfont_t* fluid_defsfloader_load(fluid_sfloader_t* loader, const char* file
fluid_defsfont_sfont_delete);
if (sfont == NULL)
{
return NULL;
}
defsfont->sfont = sfont;
if (fluid_defsfont_load(defsfont, &loader->file_callbacks, filename) == FLUID_FAILED) {
delete_fluid_defsfont(defsfont);
return NULL;
}
fluid_sfont_set_iteration_start(sfont, fluid_defsfont_sfont_iteration_start);
fluid_sfont_set_iteration_next(sfont, fluid_defsfont_sfont_iteration_next);
fluid_sfont_set_data(sfont, defsfont);
defsfont->sfont = sfont;
if (fluid_defsfont_load(defsfont, &loader->file_callbacks, filename) == FLUID_FAILED) {
fluid_sfont_delete_internal(sfont);
return NULL;
}
return sfont;
}
@ -403,16 +403,17 @@ int fluid_defsfont_load(fluid_defsfont_t* defsfont, const fluid_file_callbacks_t
if (fluid_sample_import_sfont(sample, sfsample, defsfont) == FLUID_OK)
{
/* Store reference to FluidSynth sample in SFSample for later IZone fixups */
sfsample->fluid_sample = sample;
fluid_defsfont_add_sample(defsfont, sample);
}
else
{
delete_fluid_sample(sample);
sample = NULL;
}
/* Store reference to FluidSynth sample in SFSample for later IZone fixups */
sfsample->fluid_sample = sample;
p = fluid_list_next(p);
}

View file

@ -95,6 +95,7 @@ fluid_ramsfont_create_sfont()
fluid_ramsfont_sfont_delete);
if (sfont == NULL)
{
delete_fluid_ramsfont(ramsfont);
return NULL;
}
@ -149,6 +150,7 @@ void fluid_rampreset_preset_delete(fluid_preset_t* preset)
{
fluid_ramsfont_t* ramsfont;
fluid_rampreset_t* rampreset;
fluid_return_if_fail(preset != NULL);
ramsfont = fluid_sfont_get_data(preset->sfont);
rampreset = fluid_preset_get_data(preset);

View file

@ -454,6 +454,8 @@ fluid_sample_set_sound_data (fluid_sample_t* sample,
{
FLUID_FREE(sample->data);
FLUID_FREE(sample->data24);
sample->data = NULL;
sample->data24 = NULL;
}
if (copy_data)

View file

@ -4,7 +4,7 @@
#include <stdio.h>
#include <stdlib.h>
#define TEST_ASSERT(COND) if (!(COND)) { fprintf(stderr, __FILE__ ":%d assertion ("#COND") failed\n", __LINE__); exit(-1); }
#define TEST_ASSERT(COND) do { if (!(COND)) { fprintf(stderr, __FILE__ ":%d assertion (%s) failed\n", __LINE__, #COND); exit(-1); } } while (0)
/* macro to test whether a fluidsynth function succeeded or not */
#define TEST_SUCCESS(FLUID_FUNCT) TEST_ASSERT((FLUID_FUNCT) != FLUID_FAILED)