mirror of
https://github.com/ZDoom/fluidsynth.git
synced 2025-02-21 11:21:24 +00:00
Merge branch 'master' into dynamic-sample-loading
This commit is contained in:
commit
7240461e5b
4 changed files with 16 additions and 11 deletions
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue