Commit graph

2681 commits

Author SHA1 Message Date
Marisa Heit
2867c8d8db Fix potential race condition when creating detached threads 2022-07-25 21:15:29 -05:00
Marisa Heit
b58d142dd9 Fix test cases 2022-07-24 22:47:32 -05:00
Marisa Heit
32f4347d26 Use native Win32 API instead of glib on Windows
- Don't look for PkgConfig on Win32.
- Don't force glib and gthread on Win32.
- Support finding libsndfile with vcpkg.
- Add enable-static-msvcrt option to use the static VC runtime library.
- Add stubs that define glib functions to Win32 equivalents.
2022-07-24 22:47:32 -05:00
derselbst
85fcbde9e0 Merge remote-tracking branch 'origin/2.2.x' into master 2022-07-10 18:18:30 +02:00
derselbst
7e3fdc9056 Bump to 2.2.8 2022-07-10 00:05:56 +02:00
Bill Peterson
57554ee35a Reorder LADSPA fx mixing
This PR moves mixing of LADSPA effects in fluid_rvoice_mixer_process_fx() before mixing of the internal reverb and chorus effects.

Currently, if a user sets synth.audio-groups >1, LADSPA effects can be applied to specific MIDI channels only. The user can then follow @mawe42's great suggestion from the mailing list and use a zero-gain amp effect to mix the LADSPA buffers back to the first host port for output to the sound card (This seems like the most proper way to do this IMO - the LADSPA subsystem shouldn't have to figure out what FluidSynth's audio output channels are on its own).

However, since the internal reverb and chorus are applied first and don't care about synth.audio-groups, the LADSPA effects will appear in the internal effects buffers regardless of which audio_group the currently-playing MIDI channels are part of. Increasing synth.effects-groups is not ideal since it adds a lot of processing load, and also would seem to require that effects-groups always be equal to audio-groups. A user could disable the internal reverb and chorus and add them as LADSPA effects, but it's nice to be able to have backing instruments or tracks from MIDI files play "normally" (i.e. according to the soundfonts' reverb and chorus settings), while a user plays lead with interesting effects that don't alter the backing voices.

Resolves #1117.
2022-06-27 17:45:59 +02:00
derselbst
24898c126d Merge branch '2.2.x' into master 2022-06-27 17:43:09 +02:00
derselbst
1f8c6a4633 Minor cleanup 2022-06-27 17:39:18 +02:00
Pedro López-Cabanillas
9910b0dc9b Adding audio.periods setting to the fluid_pulse audio driver
This common setting was ignored by the PulseAudio driver.
It doesn't change the synthesis buffer size, which is still
the number of frames specified by audio.period-size, but
the number of periods may be raised to request a higher latency
amount, unless audio.pulseaudio.adjust-latency is 1 (the
default). In turn, PulseAudio will grant or not this latency
request. See: [PulseAudio Latency
Control](https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/Developer/Clients/LatencyControl/).
2022-06-27 17:39:18 +02:00
Tom M
a50680aafa
Add warnings and extend documentation for issue #1120 (#1126) 2022-06-27 17:26:15 +02:00
Tom M
3a3ed4f783
Fix system-wide config file not loaded (#1121) 2022-06-23 20:32:29 +02:00
Marcus Weseloh
b274aaefba
Wording and typo fixes for LADSPA documentation 2022-06-20 21:02:49 +02:00
derselbst
58ec0d8eb7 Fix div by zero in fluid_player_set_tempo() 2022-06-15 22:07:44 +02:00
Tom M
41f00ec8cb
Merge pull request #1115 from albedozero/system_realtime
Modify select drivers to pass system realtime messages
2022-06-11 17:35:34 +02:00
derselbst
3591299ea0 Format recent code changes 2022-06-11 17:26:09 +02:00
Bill Peterson
ff362b52cd fluid_midi_parser_parse pass all realtime messages 2022-06-10 03:50:08 -05:00
Bill Peterson
fe7fa3e309 winmidi pass system realtime messages 2022-06-10 03:49:36 -05:00
Bill Peterson
1b4b7ddbfe alsa_seq pass system realtime messages 2022-06-10 03:49:30 -05:00
Tom M
b675a392ea
Fix CI builds after update (#1114) 2022-06-10 09:47:08 +02:00
derselbst
f06619e079 Merge remote-tracking branch 'origin/2.2.x' into master 2022-05-28 22:28:33 +02:00
derselbst
a293761e44 Fix several flaws in example.c 2022-05-28 22:28:09 +02:00
Tom M
7ede2382d3
More precise wording for new_fluid_audio_driver() 2022-05-26 12:56:56 +02:00
derselbst
0e0a287be4 Merge remote-tracking branch 'origin/2.2.x' into master 2022-05-23 00:40:27 +02:00
Tom M
0d0b4d4b84
Fix universal MacOS CI build (#1106)
Do not build libomp, because it depends on cmake-bootstrap, which for some reason tries to execute a unit test compiled for arm64, which obviously fails on a x86_64 host.
2022-05-23 00:37:23 +02:00
derselbst
d554067fc5 Fix size_t to int truncation in fluid_wasapi_finddev_callback() 2022-05-21 21:35:16 +02:00
derselbst
f013e82d58 Fix size_t to int truncation in new_fluid_midi_file() 2022-05-21 20:48:39 +02:00
Tom M
eff5da51c4
Add universal build to Mac CI pipeline (#1096) 2022-05-10 23:15:09 +02:00
derselbst
308cf73796 Restore orphaned enable-openmp 2022-04-27 20:40:54 +02:00
derselbst
2779d5b2b8 Merge branch '2.2.x' into master 2022-04-25 20:25:47 +02:00
derselbst
1daf078708 Bump to 2.2.7 2022-04-25 20:18:10 +02:00
Tom M
50003761c1
Bump minimum required SDL2 version
due to SDL_HINT_NO_SIGNAL_HANDLERS
2022-04-23 09:58:05 +02:00
derselbst
4ee4b0403e Fix Fluidsynth not responding to either SIGTERM nor SIGINT
with recent SDL2
2022-04-22 23:38:33 +02:00
derselbst
a0ca05e16d Merge branch '2.2.x' into master 2022-04-21 14:17:01 +02:00
derselbst
0771899e3f Update vcpkg ref to fix CI pipeline 2022-04-21 14:15:33 +02:00
Tom M
0995727374
Merge pull request #1080 from FluidSynth/issue1078
Add a function to create a sequencer event from a midi event
2022-04-21 13:26:07 +02:00
derselbst
cd0b3ce0c5 Amend documentation of audio.coreaudio.channel-map 2022-04-21 13:22:24 +02:00
Tom M
486e3f34d7
Merge pull request #1081 from mattrtaylor/coreaudio-channel-map
Multi-channel output for the CoreAudio driver.
2022-04-21 13:01:39 +02:00
Matt Taylor
b80ad6ecf5 Add an 'empty string' default value to the audio.coreaudio.channel-map setting documentation to be consistent with other entries. 2022-04-19 14:54:26 -06:00
Matt Taylor
034f316d2c Remove the default value from the audio.coreaudio.channel-map setting documentation. 2022-04-19 14:52:19 -06:00
Matt Taylor
2bf041cf76 Update documentation to more clearly indicate what happens if there are more outputs than specified in the channel map.
https://github.com/FluidSynth/fluidsynth/pull/1081#discussion_r853428937
2022-04-19 14:45:48 -06:00
Matt Taylor
552bfce3ed Initialize newly allocated channel map with a value of -1 (off) for all channels.
https://github.com/FluidSynth/fluidsynth/pull/1081#discussion_r853430986
2022-04-19 14:33:13 -06:00
Matt Taylor
ab0b79c114 Print debug log message when channel map value is out of range.
https://github.com/FluidSynth/fluidsynth/pull/1081#discussion_r853437544
2022-04-19 14:31:52 -06:00
derselbst
15529d50a8 Make MIDI Event API const correct 2022-04-19 22:15:18 +02:00
derselbst
2acb068075 Fix C90 build 2022-04-19 22:15:03 +02:00
Tom M
a9d555ff50
WinXP CI build: use x87 FPU (#1083) 2022-04-19 22:00:47 +02:00
Matt Taylor
7e081d700b Add a safety check in case CoreAudio provides more buffers than were allocated. 2022-04-15 15:13:07 -06:00
Matt Taylor
326d90e952 Add an 'audio.coreaudio.channel-map' setting to enable multi-channel output routing for CoreAudio. 2022-04-15 14:08:21 -06:00
Matt Taylor
49a3b410f0 Enable the 'synth.audio-channels' setting for the CoreAudio driver. 2022-04-15 12:07:53 -06:00
derselbst
757b151601 Move fluid_event_from_midi_event() to fluid_event.c 2022-04-12 21:45:19 +02:00
JimHenry
719b525e2b Add @note and @code to fluid_event_from_midi_event() documentation block. 2022-04-12 10:40:23 +02:00