fluidsynth/test
Marcus Weseloh 109c41c355
Add public API to pin and unpin presets to the sample cache (#698)
Following the discussion about an API to pin and unpin preset samples in the sample cache here:
https://lists.nongnu.org/archive/html/fluid-dev/2020-10/msg00016.html

Short explanation of the change:

Only the default loader currently supports dynamic sample loading, so I thought it might be a good idea to keep the changes for this feature mostly contained in the default loader as well. I've added two new preset notify flags (FLUID_PRESET_PIN and FLUID_PRESET_UNPIN) that are handled by the preset->notify callback and trigger the loading and possibly unloading of the samples.
2020-10-31 13:23:15 +01:00
..
CMakeLists.txt Add public API to pin and unpin presets to the sample cache (#698) 2020-10-31 13:23:15 +01:00
README.md remove cmake option enable-tests 2018-08-05 20:50:41 +02:00
test.h Suppress abort() dialog on windows (#549) 2019-08-06 17:29:49 +02:00
test_bug_635.c Add regression test for #635 2020-05-23 15:30:27 +02:00
test_ct2hz.c More efficient implementation of fluid_ct2hz() (#569) 2019-10-22 13:09:42 +02:00
test_jack_obtaining_synth.c Workaround for jack sample rate mismatch (#607) 2020-01-19 15:36:15 +01:00
test_pointer_alignment.c enforce coding style guide 2018-06-24 13:13:18 +02:00
test_preset_pinning.c Add public API to pin and unpin presets to the sample cache (#698) 2020-10-31 13:23:15 +01:00
test_preset_sample_loading.c Reactivate test_preset_sample_loading 2020-05-23 14:40:41 +02:00
test_sample_cache.c fix building CoreAudio on OSX 10.4 2019-02-15 17:55:02 +01:00
test_sample_rate_change.c fix building CoreAudio on OSX 10.4 2019-02-15 17:55:02 +01:00
test_sample_validate.c Add a unit test for fluid_sample_validate() 2020-01-24 15:57:08 +01:00
test_seq_event_queue_remove.c Remove fluid_event_any_control_change() from public API (#674) 2020-09-12 10:40:57 +02:00
test_seq_event_queue_sort.c Revise the sequencer's event queue (#604) 2020-05-26 17:16:22 +02:00
test_seq_evt_order.c Revise the sequencer's event queue (#604) 2020-05-26 17:16:22 +02:00
test_seq_scale.c Revise the sequencer's event queue (#604) 2020-05-26 17:16:22 +02:00
test_seqbind_unregister.c Update unregistering unit test 2020-01-18 09:51:19 +01:00
test_sf3_sfont_loading.c fix building CoreAudio on OSX 10.4 2019-02-15 17:55:02 +01:00
test_sfont_loading.c Slightly extend test_sfont_loading.c 2020-01-24 13:33:41 +01:00
test_snprintf.c fix building CoreAudio on OSX 10.4 2019-02-15 17:55:02 +01:00
test_synth_chorus_reverb.c enforce coding style guide 2018-06-24 13:13:18 +02:00
test_synth_process.c Add a unit test for fluid_synth_write_float 2019-10-22 16:08:41 +02:00

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.