Commit Graph

2121 Commits

Author SHA1 Message Date
derselbst 12fa690667 MacOS CI: upgrade packages before installing 2020-03-05 17:17:19 +01:00
derselbst 8eb06fdb6c FreeBSD CI: update repositories 2020-03-05 16:28:54 +01:00
derselbst ddbd0afcc8 Fix a possible NULL dereference 2020-03-03 16:48:24 +01:00
derselbst 33f687704f Exit with error when invalid commandline arguments are supplied
Resolves #623
2020-03-03 16:46:50 +01:00
derselbst a359e7f222 Turn SDL2 initialization message into a warning
Resolves #622
2020-03-03 16:15:32 +01:00
Tom M 3b851da6f7
Amend comment in fluidsynth_fx.c 2020-02-16 19:55:28 +01:00
derselbst 7ea9e21081 Fix build of OSS driver if soundcard.h is not in sys/ 2020-02-16 16:43:20 +01:00
derselbst ab15b32656 Bump to 2.1.1 2020-02-16 15:59:11 +01:00
derselbst 991a0a01d7 Cleanup TODO 2020-02-16 15:59:11 +01:00
derselbst 98d395bab0 Update fluidsynth_fx example to explain effects mixing 2020-02-16 10:03:45 +01:00
derselbst 871e409572 Update API doc of fluid_audio_func_t 2020-02-16 10:03:27 +01:00
derselbst 746cbeb1c1 Remove orphaned SF spec link from API docs 2020-02-16 09:44:07 +01:00
derselbst d5424462b5 Update documentation of --verbose option 2020-02-14 13:40:50 +01:00
Tom M aa3f5a52fd
Make printing debug messages runtime configurable (#619)
Supplying --verbose to the fluidsynth executable now prints debug messages to stdout. Debug messages are still being printed by default when fluidsynth was compiled in debug mode.
2020-02-13 17:09:20 +01:00
Tom M 2bbe9272bb
Merge pull request #614 from FluidSynth/sfsampletype
Hardening fluid_sample_validate() against invalid flag combinations
2020-02-13 17:07:57 +01:00
derselbst b3939138d4 Extend error logging in alsa driver 2020-02-08 18:55:26 +01:00
derselbst 729a0d04fa Turn cmake's developer warnings into errors during CI builds 2020-02-02 15:45:44 +01:00
derselbst 2759d9e087 Remove unused member SFSample::samfile 2020-02-02 15:25:53 +01:00
derselbst 8a0761a129 Fix cmake warning 2020-02-02 15:25:39 +01:00
derselbst df58a440f2 Warn if ogg sample is not ogg compressed 2020-02-02 15:19:27 +01:00
Tom M 9f7ea07bfc
Fix broken FreeBSD logo in README.md 2020-02-01 19:45:06 +01:00
derselbst e4f4390521 Fix libinstpatch's import lib name 2020-02-01 19:25:11 +01:00
derselbst 93a170ca58 Minor API doc update 2020-02-01 14:37:35 +01:00
Tom M af2342ac43
Solve the sequencer client unregistering problem (#610)
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.
2020-02-01 14:32:35 +01:00
Tom M 943ed37e54
Add ubsan and asan to TravisCI (#612)
Also add clang9
2020-02-01 10:55:50 +01:00
Nikos Chantziaras 545959ca17
Fix linking against libinstpatch (#617)
This fixes the case where linking fails if libinstpatch is not installed in a system/default location but instead needs to be found through `PKG_CONFIG_PATH`.
2020-02-01 08:54:21 +01:00
Atsushi Eno 69ba49348a
CMakeLists.txt: make positional code (-fPIC) customizible. (#616)
For some use cases it is necessary to specify -fPIC even if we build
static library e.g. building vst plugins (*.so) which may not load
shared libraries from outside the system paths (depends on DAWs).
For such environment we would like to build the final shared library
without depending on `libfluidsynth.so(.*)` but if we build libfluidsynth.a
it always comes without -fPIC. This change makes it adjustable.
2020-01-31 15:45:18 +01:00
derselbst dcc9c27acf Hardening fluid_sample_validate() against invalid flag combinations
e.g. unknown compression types, multiple exclusive flags or no flags at all
2020-01-24 15:57:08 +01:00
derselbst 76f4bc3db3 Add a unit test for fluid_sample_validate() 2020-01-24 15:57:08 +01:00
derselbst a250ac2a97 Slightly extend test_sfont_loading.c 2020-01-24 13:33:41 +01:00
Tom M 872c6bc678
Compile suitable demo files from doc/ (#611) 2020-01-24 08:57:20 +01:00
derselbst 5070fe8419 Attempt to fix double free in jack driver 2020-01-23 14:43:42 +01:00
derselbst 5b3ec92cec Fix a memory leak in the file renderer 2020-01-19 16:17:00 +01:00
Tom M c85ad53d60
Deprecate usage of the system timer for the sequencer (#599)
Deprecate usage of the system timer for the sequencer and print a warning if the system timer is used.
2020-01-19 15:37:42 +01:00
Tom M 3610372ae5
Workaround for jack sample rate mismatch (#607)
During the creation of a jack audio driver, it is checked whether the sample-rate of the settings object matches jack's rate. If not, it was adjusted previously via fluid_synth_set_sample_rate(). Due to the deprecation of that function and removal of real-time capability of the synth.sample-rate setting, a regression was introduced in 5fbddcecc3 causing the synth's sample-rate to be not updated.

This workaround obtains the synth via the settings instance and for now calls the deprecated sample-rate set function.
2020-01-19 15:36:15 +01:00
derselbst ba71d6ad9e Update unregistering unit test 2020-01-18 09:51:19 +01:00
derselbst e19652d45a Amend documentation about synth.sample-rate setting 2020-01-11 14:45:20 +01:00
derselbst 6163577a61 Remove unused clang-format cmake target 2020-01-11 09:45:05 +01:00
derselbst 850e8a2ec8 Fix building without pkg-config 2020-01-11 09:43:46 +01:00
Tom M 528e5465f1
Merge pull request #606 from ffontaine/master
CMakeLists.txt: use pkg-config to find readline
2020-01-11 09:38:06 +01:00
derselbst 7f816029ab Fix a few integer truncation warnings 2020-01-10 17:07:58 +01:00
derselbst 7af62902b6 Update API doc of fluid_sample_type 2020-01-10 16:57:23 +01:00
Fabrice Fontaine c538c9fa7e CMakeLists.txt: use pkg-config to find readline
Use pkg_check_modules to find readline dependencies such as ncurses and
fallback on current mechanism.

This will fix the following build failure when building statically:

/home/buildroot/autobuild/instance-1/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: /home/buildroot/autobuild/instance-1/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libreadline.a(display.o): in function `cr':
display.c:(.text+0x1a0): undefined reference to `tputs'

Fixes:
 - http://autobuild.buildroot.org/results/88609eefe55af2ca50d43e17d3424b923528b07a

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2020-01-10 08:57:57 +01:00
Tom M 9b069faf87
Merge pull request #598 from FluidSynth/seq-test
Add unit tests for the sequencer
2020-01-03 21:05:07 +01:00
derselbst f979c58e3c Add a unit test for fluid_sequencer_set_time_scale() 2020-01-03 20:30:09 +01:00
derselbst 6b42f27724 Remove redundant call to fluid_event_set_time()
It's already done by fluid_sequencer_send_at()
2020-01-02 11:14:25 +01:00
derselbst 68371d382b Update API doc of fluid_sequencer_add_midi_event_to_buffer() 2020-01-02 11:14:04 +01:00
derselbst 7898c4f4ab Add a unit test for fluid_sequencer_send_at() 2019-12-27 10:49:25 +01:00
luz.paz 45f8e0a868 Fix various typos
Found via `codespell -q 3 -L uint -S ./ChangeLog -L dur`
2019-12-17 20:11:49 +01:00
derselbst 13c6e98936 Guard the sequencer API 2019-12-14 18:38:27 +01:00