af2342ac43
Responsibility for calling fluid_sequencer_unregister_client() in case of FLUID_SEQ_UNREGISTERING events has been moved to fluid_sequencer_send_now(). In other words, a FLUID_SEQ_UNREGISTERING event now really unregisters the client, no matter how the client's callback function looks like. Avoids leaking the sequencer clients if implementations do not unregister them explicitly. Also fixes another memory leak if fluid_sequencer_register_fluidsynth() clients were unregistered with fluid_sequencer_unregister_client() rather than by sending an unregistering event. |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
README.md | ||
test.h | ||
test_ct2hz.c | ||
test_jack_obtaining_synth.c | ||
test_pointer_alignment.c | ||
test_preset_sample_loading.c | ||
test_sample_cache.c | ||
test_sample_rate_change.c | ||
test_seq_event_queue_sort.c | ||
test_seq_scale.c | ||
test_seqbind_unregister.c | ||
test_sf3_sfont_loading.c | ||
test_sfont_loading.c | ||
test_snprintf.c | ||
test_synth_chorus_reverb.c | ||
test_synth_process.c |
This directory contains small executables to verify fluidsynths correct behaviour, i.e. unit tests.
Do not blindly use the tests as template for your application!
Although some tests might serve as educational demonstration of how to use certain parts of fluidsynth, they are not intended to do so! It is most likely that those tests will consist of many hacky parts that are necessary to test fluidsynth (e.g. including fluidsynth's private headers to access internal data types and functions). For user applications this programming style is strongly discouraged! Keep referring to the documentation and code examples listed in the API documentation.
Developers
To add a unit test just duplicate an existing one, give it a unique name and update the CMakeLists.txt by
- adding a call to
ADD_FLUID_TEST()
and - a dependency to the custom
check
target.
Execute the tests via make check
. Unit tests should use the VintageDreamsWaves-v2.sf2
as test soundfont.
Use the TEST_SOUNDFONT
macro to access it.