Commit graph

2138 commits

Author SHA1 Message Date
derselbst
c6030874ab Merge branch '2.0.x' into master 2019-08-25 11:00:07 +02:00
derselbst
cac2c6bf84 Fix example code in the API docs
order of object creation: audio driver must be last
2019-08-25 10:59:11 +02:00
derselbst
1e7a5f594d Merge branch '2.0.x' into master 2019-08-19 16:39:36 +02:00
derselbst
f78486a50b Update developer docs 2019-08-17 18:01:01 +02:00
derselbst
dec5e98f23 Bump version to 2.0.6 2019-08-17 18:00:29 +02:00
derselbst
6d8f338d42 Fix order of object creation in fluidsynth binary
Fixes a use-after-free when the MIDI player is deleted before the audio
driver, because the synthesis thread is still actively making callbacks
on the sample timer, which is deleted by the player though.
2019-08-17 16:17:00 +02:00
derselbst
686556decc Fix documentation of fluid_player_stop()
Addresses #550
2019-08-17 16:04:14 +02:00
derselbst
58022a11fa Regression fix for fluid_player_join()
df893bbfa4 caused to wait for the system timer thread to join for ever.
2019-08-17 16:04:14 +02:00
Tom M
5351d9dcb9
Fix various memory leaks in the fluidsynth binary (#555) 2019-08-17 14:36:35 +02:00
Tom M
c596427949
Merge pull request #554 from FluidSynth/quiet-option
Add --quiet option to fluidsynth binary
2019-08-17 12:59:51 +02:00
Marcus Weseloh
bfe954a0fe Supress log messages < PANIC on Windows
As Windows logs to stdout by default.
2019-08-17 11:32:55 +02:00
Marcus Weseloh
1b2e61519a Add quiet mode option to fluidsynth binary
Enabling the option supresses the default welcome message and
some other text output that normally gets printed to stdout.

It also slightly changes the way the welcome message and argument
errors are handled: in case of an argument error, the welcome message
is never printed.
2019-08-17 09:51:28 +02:00
derselbst
81a86e33ab Correctly restart playback after fluid_player_stop()
Fixes #550
2019-08-15 16:21:12 +02:00
derselbst
df893bbfa4 Fix use-after-free in fluid_player_stop()
Previously, sample timers were deleted in fluid_player_stop() which caused a use-after-free when at the same time the sample timers were advanced by the synthesizer thread. This was incorrectly addressed in 5d3f727547 . Deleting sample timers is now done in delete_fluid_player(). A broken application could still crash if it does not respect the order of object creation though. At least now, this issue is properly documented.
2019-08-15 16:18:55 +02:00
derselbst
c4ebd264ca Update default issue template 2019-08-15 14:31:21 +02:00
Tom M
690f84aeeb Update issue templates 2019-08-15 14:27:48 +02:00
Tom M
f70a6321c5 fix build 2019-08-09 09:00:03 +02:00
Tom M
8dae1eebcf enable readline support if header and lib found 2019-08-09 08:59:54 +02:00
derselbst
ac6becea14 Import CI build scripts from master 2019-08-08 21:57:20 +02:00
derselbst
90c5eb05c1 Let clang only report successfully vectorized loops
too spamy otherwise, flag kept as comment for manual profiling though
2019-08-08 21:54:12 +02:00
derselbst
5167ab9967 TravisCI: execute clang-tidy-8 2019-08-08 21:54:07 +02:00
derselbst
e3ec7e8c86 Execute unit tests on MacOS 2019-08-08 21:54:00 +02:00
derselbst
3ab7e9e7ff Install additional packages for MacOS CI build 2019-08-08 21:53:40 +02:00
derselbst
6931a3446f Update TravisCI to Ubuntu Bionic 2019-08-08 21:53:35 +02:00
derselbst
f315d84f4f Remove MacOS leftovers from TravisCI 2019-08-08 21:53:30 +02:00
derselbst
03511aef3a Merge branch '2.0.x' into master 2019-08-08 19:51:44 +02:00
derselbst
b87d8b96ef Print out version of clang-tidy 2019-08-08 19:50:41 +02:00
Tom M
5c795791c1
Suppress abort() dialog on windows (#549) 2019-08-06 17:29:49 +02:00
derselbst
743601930a Fix two uninitialized memory accesses in new_fluid_synth()
In an out of memory situation, fluid_synth_t::voice and fluid_synth_t::channel may not be fully initialized, causing a NULL dereference and heap corruption in delete_fluid_synth().
2019-08-02 15:09:29 +02:00
derselbst
d8bbd56fea Restore original libinstpatch pkgconfig module name 2019-08-02 14:06:54 +02:00
derselbst
6a6015f047 Fix build if -Denable-fpe-check=1 on windows 2019-08-02 13:53:14 +02:00
derselbst
7e2ed650ca Make travis builds verbose 2019-08-02 13:53:14 +02:00
derselbst
775beba985 Add additional windows CI builds 2019-08-02 13:53:14 +02:00
derselbst
e1dc5d8f68 Correctly define DEBUG macro 2019-08-02 13:21:21 +02:00
Tom M
df0a84ec53
Add a debug CI build using MSVC
and increase verbosity of build log
2019-07-30 12:53:17 +02:00
Carlo Bramini
d6c51cd2cc Aid constant folding in fluid_rev.c (#547) 2019-07-16 17:47:25 +02:00
derselbst
bbbb499efd Remove unused member fluid_defpreset_t::defsfont 2019-07-11 20:58:13 +02:00
derselbst
b8cc519795 Silence clang-tidy's unsafe string operations
Since we are using C89, we cannot use any of the modern strlcpy functions.
2019-07-11 10:16:22 +02:00
derselbst
eb40b5a550 Compile with address sanitizer on request 2019-07-10 17:01:12 +02:00
derselbst
e5dbe76d1b Fix memory leak in test_seqbind_unregister 2019-07-10 17:01:01 +02:00
Carlo Bramini
a02f1379d8 Add support for C99 math functions, if available (#545) 2019-07-07 11:02:31 +02:00
derselbst
2be598b8e9 Amend documentation of fluid_synth_set_gen() 2019-07-02 18:38:19 +02:00
derselbst
db1740b7e9 Avoid conflicts with libinstpatch's default SF2 modulators
By default, libinstpatch silently adds all SF2 default modulators to the
converted DLS voices. Since fluidsynth respects the modulators provided
by libinstpatch, those modulators would conflict with the default
modulator list managed by fluidsynth. This is only noticeable, if the
user used fluidsynth's API to manipulate default modulators.
2019-07-02 14:15:00 +02:00
Tom M
33421922f3
Set up Azure Pipelines for most Windows CI builds (#541) 2019-06-29 10:56:09 +02:00
derselbst
c093b20c31 Fix premature exit of the fluid_shell on WinXP
When compiled with compatibility for WinXP (toolset v141_xp), read() may return 0 (EOF) rather than '\n' which led to an early exit of the shell after a single user input.
2019-06-29 09:10:07 +02:00
Tom M
b6df34cc27
Restructure cmake build summary (#542) 2019-06-28 16:28:41 +02:00
Carlo Bramini
0b17a84ced Cleanup floating-point arithmetics (#543)
* avoid unnecessary floating-point promotion to double when compiled `WITH_FLOAT==1`
* remove redundant calculations and reorder floating-point constants to allow better constant folding
2019-06-27 17:20:13 +02:00
Tom M
ef2c256e9e
fix build with recent libinstpatch 2019-06-22 18:57:13 +02:00
Tom M
030a497aa5
fix build with glib < 2.28 (#540)
g_clear_object() was not yet available
2019-06-22 10:22:23 +02:00
Tom M
adb498f222
Add libsndfile support to Windows CI builds (#539) 2019-06-15 15:21:24 +03:00