Commit graph

49 commits

Author SHA1 Message Date
Jean-Jacques Ceresa
048c51c4ab Add sostenuto pedal functionality (ticket #47, #136)
Apart from adding sostenuto pedal functionality, this also changes
the behaviour of dampening currently sounding notes on the same key
to ignore pedals.

Signed-off-by: David Henningsson <diwic@ubuntu.com>
2015-04-07 13:48:04 +02:00
Element Green
8ab1a20bc4 Added NEW_GLIB_THREAD_API and OLD_GLIB_THREAD_API macros to test Glib thread API pre or post version 2.32.
Separate thread primative defines in utils/fluid_sys.h for new and old Glib thread API.
g_atomic_int_add is now used in place of depricated g_atomic_int_exchange_and_add if Glib >= 2.30.
Added name field to new_fluid_thread() function for setting the thread name and updated all uses of this function.
new_fluid_thread updated to use new Glib thread API.
Removed notify parameter from fluid_private_set() since it wasn't being used and complicates things with the new Glib thread API.
2013-08-19 23:10:43 +00:00
David Henningsson
2f6aa0e9e6 Fix segfault / memory leak in error paths
Patch credit: surabhi-mishra
2013-08-09 14:43:30 +00:00
David Henningsson
822ffbb4ab defsfont: Avoid memory allocation on program change
This memory allocation can be avoided by preallocating one preset
per midi channel (every midi channel only has one current preset).
2013-05-12 10:21:43 +00:00
David Henningsson
fda26d6b24 Add default soundfont setting: synth.default-soundfont 2013-05-05 09:12:14 +00:00
David Henningsson
ea6d033598 chorus level: Probably > 1 is not unreasonable if the default is 2. 2012-12-27 10:07:42 +00:00
David Henningsson
ffc49ac408 Fix documentation for fluid_synth_set_chorus (ticket #114) 2012-12-27 09:55:09 +00:00
David Henningsson
5b2e24a762 Add synth.lock-memory option (possibility to avoid mlock)
Closes ticket #111. Sometimes, e g in a fast-render scenario
or other scenarios where low latency is not important, you can
turn off mlock to reduce memory pressure (and thus allow the soundfont
to swap to disk).
2012-12-08 06:25:21 +00:00
David Henningsson
5f3568deee fluidmax: Fix compilation failure
...by adding new functions to reset reverb and chorus into the engine.
2012-11-18 09:30:46 +00:00
David Henningsson
05acefb59c Fix a few compiler warnings
Like e g "variable z set but never used".
2012-09-23 09:08:45 +00:00
David Henningsson
bb72c170ad Update Free Software Foundation name and address (closes ticket #99)
Thanks to ogetbilo for the sed script.
2011-08-15 12:57:10 +00:00
David Henningsson
57b0b7835c Fix memory leak causing soundfonts not to be deleted in delete_fluid_synth 2011-05-22 12:11:19 +00:00
David Henningsson
5b3ba5d678 Remove some old mutex code - the mutex should only be controlled by fluid_synth_api_enter/exit. 2011-05-22 09:41:15 +00:00
David Henningsson
f7d87aa1a8 Rewrite overflow so that an extra rvoice is used, and make sure samples are ref/dref under mutex. 2011-03-27 13:54:52 +00:00
David Henningsson
3c13165c34 Better message when substituting presets, and store XG LSB changes even in drum mode. 2011-02-10 09:23:17 +00:00
David Henningsson
b05e61fedf Add fluid_synth_all_notes_off and fluid_synth_all_sounds_off as public API functions 2011-02-07 07:46:37 +00:00
David Henningsson
f75ed6243b Empty event queue from non-realtime context on startup
Some time extensive events were queued to be carried out on
the first audio block rendering, when in fact they could
be carried out before rendering has even started, from
a non-RT context.

Reported-by: Krysztof Foltman
2011-02-07 07:30:50 +00:00
David Henningsson
26b297f144 (credit: jimmy) all_notes_off and all_sounds_off can now silence all channels at once. 2011-02-07 07:30:31 +00:00
David Henningsson
7ea31c19bd Fixup since tag for new public API function. 2011-02-04 19:26:33 +00:00
David Henningsson
d7b9767598 (Credit: jimmy) Allow channels to change state between melodic and drum channels 2011-02-04 19:19:30 +00:00
David Henningsson
2180d58ade Allow sample rates down to 8 kHz (fixup) 2010-10-18 05:32:34 +00:00
David Henningsson
e25feb62d0 Fixup previous commit so that it actually compiles, and change
sample rate to use fluid_real_t all the way through.
2010-10-17 10:43:48 +00:00
David Henningsson
f84a9b9885 Fix incorrect samplerate for reverb and chorus, closes ticket #89.
Thanks to jaz001 for the patch!
2010-10-17 10:27:18 +00:00
David Henningsson
2479c03b78 Code cleanup, and remove unnecessary atomicy and shadow variables,
now that the new architecture is in place.
2010-10-17 10:20:57 +00:00
Pedro Lopez-Cabanillas
304d6a0875 * Preliminary support for creating in MacOSX a "FluidSynth.framework"
* Platform dependent options scoped to only the relevant platform
* Fixed warning in fluid_synth.c
2010-10-13 21:57:19 +00:00
David Henningsson
da430d9d1a Allow sample rates down to 8 kHz 2010-10-06 06:15:45 +00:00
David Henningsson
25a3453eef Fixup fluid_synth_nwrite_float 2010-09-30 06:04:25 +00:00
Pedro Lopez-Cabanillas
07711903a3 fix for ticket #87: Noise when using more than 1 stereo channel 2010-09-28 20:14:35 +00:00
David Henningsson
5a21df18a6 Fix ticket #86 - irritating message when setting a tuning the first time. 2010-09-12 19:18:39 +00:00
David Henningsson
e00d5a1455 Experimental and untested: enable LADSPA again. At least it compiles now. 2010-09-04 07:19:57 +00:00
David Henningsson
7ec84a37fd Renderer thread should not call check_finished_voices (fixes ticket #84) 2010-08-25 06:46:53 +00:00
Pedro Lopez-Cabanillas
713021b5a3 New setting: synth.midi-bank-select, defines the MIDI bank select style (GM, GS, XG or MMA. Default=GS). This setting is read only on initialization. The behavior of each option is the following
GM: ignores CC0 and CC32 msgs
GS: CC0 becomes the channel bank, CC32 is ignored
XG: CC32 becomes the channel bank, CC0 is ignored
MMA: bank = CC0*128+CC32
2010-08-10 09:55:34 +00:00
David Henningsson
191dd546f6 Fix compiler warnings 2010-08-08 06:45:10 +00:00
David Henningsson
1578f9e02b Fix bug when increasing polyphony 2010-08-04 20:56:36 +00:00
David Henningsson
e21c56f6e7 Change name from synth.overflow.drum-channel to synth.overflow.percussion 2010-08-01 18:16:54 +00:00
David Henningsson
c414d7373e Fix a new voice overflow code, and some related bugfixes. 2010-07-31 20:50:47 +00:00
David Henningsson
8cfcef3c90 Fix ticket #81 - allow channel=-1 for fluid_synth_set_interp_method 2010-07-14 08:54:40 +00:00
David Henningsson
94e5844b60 Sample rate update 2010-07-14 08:46:03 +00:00
David Henningsson
5225b46b5d Minor cleanup 2010-07-14 08:45:38 +00:00
David Henningsson
f62306d142 Experimental support for changing sample-rate 2010-07-14 08:45:17 +00:00
David Henningsson
4b8b6f27b7 Remove fluid_synths queueing now that the new architecture is being used instead 2010-07-14 08:44:51 +00:00
David Henningsson
76256628ce Fix profiling 2010-07-04 09:05:32 +00:00
David Henningsson
3dfe5ae328 Fix bug in fluid_synth_get_gain 2010-07-03 13:04:04 +00:00
David Henningsson
668901c737 Fix multiblock rendering for write_float and write_s16 2010-07-03 12:25:43 +00:00
David Henningsson
96d007ea64 Multi-core rendering 2010-07-03 12:25:16 +00:00
David Henningsson
710d46e9e8 Add settings for thread safety 2010-07-01 11:36:59 +00:00
David Henningsson
0fa019bab3 Optionally Mutex-protect fluidsynth's public API 2010-07-01 11:14:55 +00:00
David Henningsson
41853f6f69 Refactor/fix mixer implementation, fix a few bugs 2010-06-30 16:39:20 +00:00
David Henningsson
5d9eade6e7 Move synth core to synth subdir 2010-06-28 20:49:01 +00:00
Renamed from fluidsynth/src/fluid_synth.c (Browse further)