Commit graph

2530 commits

Author SHA1 Message Date
Atsushi Eno
492ab8c7f6 [Android] add libsndfile to build. (#532)
This brings in support for compressed soundfonts (sf3) for Android.
We need libsndfile.so, but it has various dependencies (libogg, libvorbis,
libflac), which are somewhat annoying to build if you do everything
by yourself.

Fortunately cerbero has recipes for libogg, libvorbis and libflac.
I added custom recipe for libsndfile in the referenced cerbero fork, and
therefore the changes could be just in cerbero world.
2019-04-20 09:27:15 +02:00
derselbst
c9a670d26c Merge branch '2.0.x' into master 2019-04-18 20:21:01 +02:00
derselbst
7f11a9bf5c use a common function for opening regular files
Fixes #514
2019-04-18 19:43:39 +02:00
derselbst
b817232f16 update API docs for 2.0.5 2019-04-17 20:07:40 +02:00
derselbst
8b448ffd4b fix build with MSVC 2019-04-17 19:20:36 +02:00
derselbst
e31bbe3504 Merge branch '2.0.x' into master 2019-04-17 19:14:46 +02:00
Marcus Weseloh
a0e91b9878 Fix memory-leak with SF3 samples when dynamic-sample-loading is not active
Vorbis compressed SF3 samples are always loaded individually and stored
in the sample cache in uncompressed form. When dynamic-sample-loading is
not active (the default), then the uncompressed samples did not get
unloaded when unloading the SF3 font.

This fix makes sure that those samples are also freed. For bulk loaded
samples, the sample->data pointer is always the same as the
font->sampledata pointer. For individually loaded samples, the sample->data
pointer always points to a different memory region. So we can use that
information to determine if and when to unload the samples one by one.

Fixes #530
Fixes #528
2019-04-17 19:10:38 +02:00
Carlo Bramini
b041fffc44 Remove redundant fclose (#529) 2019-04-17 19:08:45 +02:00
Stefan Westerfeld
f791162569 Fix buffering bug in fluid_synth_process().
The old buffering code assumes that synth->cur is between 0 and FLUID_BUFSIZE.
However since fluid_synth_process() can render more than one buffer at a time
this isn't always true, and the new code handles other values properly.

Closes #527
2019-04-14 17:25:55 +02:00
derselbst
68db8f4a80 add a unit test for fluid_synth_process()
addresses #527
2019-04-14 17:22:39 +02:00
derselbst
226b411a04 wording docs 2019-04-13 14:52:45 +02:00
derselbst
e5c29cf8b8 bump to 2.0.5 2019-04-13 14:02:01 +02:00
derselbst
a5436021a5 fix conditional jump depending on uninitialized variable 2019-04-13 10:45:05 +02:00
Tom M
c04acc653e
Use pkgconfig to find SDL2 (#524) 2019-04-06 09:10:50 +02:00
derselbst
33450117e9 another memory leak in jack midi driver 2019-04-05 20:13:17 +02:00
derselbst
faef23f094 fix various NULL derefs and mem leaks in jack driver
closes #416
2019-04-05 20:04:21 +02:00
Atsushi Eno
daa037b0d3 Add Android audio drivers based on OpenSLES and Oboe (#464)
This set of changes implements audio drivers for Android, OpenSLES and Oboe. The changes in the original sources are kept minimal so that it should be easily maintained.
2019-03-27 18:02:23 +01:00
Tom M
eb0c8eab9f
Merge pull request #523 from FluidSynth/sdl2-mac-ci
TravisCI: build with SDL2 support
2019-03-27 17:49:10 +01:00
derselbst
e7a6a3d93c CirrusCI: build with sdl2 support on bsd 2019-03-26 20:30:11 +01:00
derselbst
7b14cf4b07 TravisCI: build with sdl2 support on linux 2019-03-26 15:58:37 +01:00
derselbst
984f5dd091 TravisCI: build with sdl2 support on mac 2019-03-25 21:09:22 +01:00
derselbst
a36c06cff2 remove VintageDreamsWaves-v2.sf3
Converting this soundfont to other formats is forbidden. Suspend
depending unit tests.
2019-03-24 17:25:57 +01:00
derselbst
598ec01ce1 revise error logging in sdl2 audio driver 2019-03-17 17:56:06 +01:00
derselbst
5b2b5e6659 initialize sdl2 by the fluidsynth executable 2019-03-17 17:55:53 +01:00
derselbst
c8b455ca7a Merge branch '2.0.x' into master 2019-03-17 16:59:33 +01:00
derselbst
f9f826e8e2 fix the default tempo of midi files
the MIDI spec defines it to be 120 BPM, fixes #519
2019-03-17 14:05:06 +01:00
derselbst
9be693d9bc add missing calls to delete_fluid_thread()
even if they are currently a null-op
2019-03-15 20:32:29 +01:00
derselbst
89ffe5881d fix a memory leak in new_fluid_thread() 2019-03-15 20:30:02 +01:00
derselbst
8f3af98a94 prevent fluidsynth_priv.h from being listed by doxygen 2019-03-15 15:59:05 +01:00
derselbst
4bc3ba72cf fix documentation for pitch_bend_range shell command 2019-03-12 18:21:13 +01:00
derselbst
279be21edb update CONTRIBUTING.md 2019-03-10 10:20:34 +01:00
derselbst
0cd44d00e1 Merge branch '2.0.x' into master 2019-03-02 10:23:13 +01:00
Florian Léger
099369f8b7 Improve systemd integration
When fluidsynth is run as a service using systemd, make sure
the service is considered started only when it is ready to process events.

In order to do so:
 - Add an optional runtime dependency to libsystemd to the fluidsynth executable
 - Change the systemd service type to "notify"
 - Have fluidsynth notify systemd that the service is started after the server is started
 - Have fluidsynth notify systemd that the service is stopping after joining the server thread
2019-03-02 10:18:32 +01:00
derselbst
5f8fa6f5a0 Merge branch '2.0.x' into master 2019-02-22 10:18:05 +01:00
derselbst
9671e412fe fix build with MinGW 2019-02-22 10:15:18 +01:00
Tom M
9ca9a57a1f
add MinGW build badge to ReadMe 2019-02-22 10:10:53 +01:00
Tom M
b2ea8f9870
Add MinGW to AppVeyor CI (#515) 2019-02-22 10:08:02 +01:00
derselbst
bfc03136bb remove duplicate delcarations of fluid_get_std[in|out] 2019-02-17 12:44:06 +01:00
Tom M
9f15fef192
Merge pull request #506 from FluidSynth/cleanup21
Minor cleanup for 2.1
2019-02-17 09:09:17 +01:00
Tom M
46c2857fb0
Merge branch 'master' into cleanup21 2019-02-17 09:02:32 +01:00
derselbst
96e43ec72c Merge branch '2.0.x' into master 2019-02-17 09:00:32 +01:00
Tom M
24e4d1a963
Merge pull request #513 from FluidSynth/network-darwin
Re-enable Network Support on Mac
2019-02-16 12:39:25 +01:00
Bernhard M. Wiedemann
d25281d447 Generate pow lookup tables with higher precision
possibly due to glibc-2.29 commit 424c4f60ed6190e2ea0e72e0873bf3ebcbbf5448
pow is using fused-multiply-add (fma) if available.
That caused the fluidsynth binaries to differ depending on
the build machine's CPU.

This was visible among others in
grep '7.58577575029183[56]e-04' fluidsynth-2.0.3/build/fluid_conv_tables.c

See https://reproducible-builds.org/ for why this is matters.

Closes #512.
2019-02-16 10:51:53 +01:00
derselbst
cae9e5fdf2 remove orphaned Max/MSP include 2019-02-15 18:06:18 +01:00
derselbst
9ef169cb00 fix building CoreAudio on OSX 10.4
by cleaning up fluidsynth's private includes
2019-02-15 17:55:02 +01:00
derselbst
5c4ff485c2 log when using the server in a build wihtout network support 2019-02-10 08:53:25 +01:00
derselbst
52cd3338ac re-enable Network Support on Darwin 2019-02-10 08:37:40 +01:00
derselbst
c096c54cb6 Merge branch '2.0.x' into master 2019-02-09 09:52:53 +01:00
Tom M
38ae851202
add FreeBSD status badge to README 2019-02-09 09:52:34 +01:00
derselbst
63e0129f90 add circleCI for FreeBSD builds 2019-02-08 20:01:41 +01:00