Commit Graph

2398 Commits

Author SHA1 Message Date
Marcus Weseloh 16d2f43509 Remove unused library, genre and morphology fields
Those fields are not used anywhere, so let's simply remove them.
2021-03-27 22:42:57 +01:00
Tom M 8413c35aca
Fix a regression in fluid_player_stop() (#822)
fluid_player_stop() should not set the STOPPING state, when the player has already finished. Introduced in 676923757c.
2021-03-27 18:35:00 +01:00
derselbst 3f5394a15d Bump version to 2.2.0 2021-03-27 17:46:01 +01:00
Marcus Weseloh 661a06b504
Merge pull request #820 from FluidSynth/player-reset-between-songs
Reset synth after end, not before start of song
2021-03-27 00:49:29 +01:00
Marcus Weseloh 7dd870f498 Update player.reset-synth doc with new behaviour 2021-03-24 20:41:48 +01:00
Marcus Weseloh 9a4b95a742 Reset the synth after the end, not before the start of a song
This change prevents an unnecessary synth reset before the first
MIDI song is played. It allows changing synth parameters via a
config file without having to unset the player.reset-synth setting.
2021-03-24 20:41:18 +01:00
Marcus Weseloh d13c4965e1
Update api_doc_build.yml
Fix ubuntu version to 18.04 to keep doxygen
version stable. Latest ubuntu has a new version
which breaks the current API docs layout
2021-03-19 19:50:40 +01:00
Tom M a3d0a56996
Update API docs
Make breaking changes a bit more obvious.
2021-03-17 20:11:46 +01:00
Tom M c32faa7b17
Parallelize SF2 loading (#812)
The loading of SF2 samples can be parallelized as well, at least for bigger soundfonts like the Stgiga 4GB monster.

The following test is performed with hot-caches:

`time src/fluidsynth -i -a alsa Stgiga\'s\ HiDef\ Soundfont\ \(2019-05-25\).sf2`

Serial version:
```
real    0m15,460s
user    0m14,163s
sys     0m1,192s
```

Parallelized version proposed by this PR:
```
real    0m5,851s
user    0m14,089s
sys     0m1,194s
```
2021-03-17 19:41:33 +01:00
Tom M ea5ebe4813
Merge pull request #815 from FluidSynth/fluid-sffile-variable-renaming
Rename variables in fluid_sffile.c for easier readability
2021-03-16 08:47:28 +01:00
Tom M 5ae72f8c74
Merge branch 'master' into fluid-sffile-variable-renaming 2021-03-15 21:40:16 +01:00
derselbst 9ea6c75724 Merge branch '2.1.x' into master 2021-03-15 21:27:42 +01:00
Tom M 005719628a
Invalid generators were not removed from zone list (#810)
fluid_list_remove() should receive the beginning of a list, so it can adjust the predecessor of the element to be removed. Otherwise the element would remain in the list, which in this case led to a use-after-free afterwards.
2021-03-15 20:12:51 +01:00
Marcus Weseloh e3d95cb854 Rename p in load_igen to inst_list 2021-03-14 21:33:46 +01:00
Marcus Weseloh 552b1c4aa6 Rename p in load_imod to inst_list 2021-03-14 21:32:08 +01:00
Marcus Weseloh dd037c725e Rename p in load_ibag to inst_list 2021-03-14 21:31:27 +01:00
Marcus Weseloh 93a74ff3bd Rename pr in load_ihdr to prev_inst 2021-03-14 21:29:28 +01:00
Marcus Weseloh c545766ea6 Rename p in load_ihdr to inst 2021-03-14 21:27:40 +01:00
Marcus Weseloh 8df5abf903 Rename p in load_pgen to preset_list 2021-03-14 21:24:25 +01:00
Marcus Weseloh 9e7c108f4c Rename p in load_pmod to preset_list 2021-03-14 21:12:04 +01:00
Marcus Weseloh f1baa556a6 Rename p in load_pbag to preset_list 2021-03-14 21:11:07 +01:00
Marcus Weseloh edc99ebc24 Rename p2 in fixup_igen to zone_list 2021-03-14 21:03:10 +01:00
Marcus Weseloh 06145d2139 Rename p2 in fixup_pgen to zone_list 2021-03-14 21:02:29 +01:00
Marcus Weseloh e254c56373 Rename p2 in load_igen to zone_list 2021-03-14 21:00:15 +01:00
Marcus Weseloh 0c363cc574 Rename p2 in load_imod to zone_list 2021-03-14 20:59:32 +01:00
Marcus Weseloh 355c50631d Rename p2 in load_ibag to zone_list 2021-03-14 20:58:55 +01:00
Marcus Weseloh b5d80a1248 Rename p2 in load_pgen to zone_list 2021-03-14 20:58:03 +01:00
Marcus Weseloh a044835cf5 Rename p2 in load_pmod to zone_list 2021-03-14 20:56:58 +01:00
Marcus Weseloh 0e761da102 Rename p2 in load_pbag to zone_list 2021-03-14 20:55:52 +01:00
Marcus Weseloh f694d41a0e Rename p3 in fixup_igen to inst_list 2021-03-14 20:54:27 +01:00
Marcus Weseloh fd3e9bdc21 Rename p3 in fixup_pgen to inst_list 2021-03-14 20:54:14 +01:00
Marcus Weseloh bc2afb682b Rename p3 in load_igen to gen_list 2021-03-14 20:51:10 +01:00
Marcus Weseloh b506304bef Rename p3 in load_imod to mod_list 2021-03-14 20:50:18 +01:00
Marcus Weseloh 5bf9cf545f Rename p3 in load_pmod to gen_list 2021-03-14 20:49:45 +01:00
Marcus Weseloh 2c3caafcdf Rename p3 in load_pmod to mod_list 2021-03-14 20:48:58 +01:00
Tom M 8a778e0c0e
Add warning if soundfont bigger 2GB (#811)
Advice the user to use fluidsynth 2.2.0 or later when loading soundfonts > 2GB
2021-03-14 17:20:09 +01:00
derselbst b8fb6c81e1 Change short option for --query-audio-devices to -Q
Resolves #802
2021-03-13 20:15:36 +01:00
Tom M 4a696cabf9
Add missing dll dependencies to CI artifact (#806) 2021-03-13 20:10:59 +01:00
derselbst 14ab1ec6ab Merge branch '2.1.x' into master 2021-03-13 18:32:41 +01:00
derselbst 2c1561ea18 Bump to 2.1.8 2021-03-13 18:24:28 +01:00
Patryk Obara 908b98107c Rename generated table files from .c to .inc.h
These two files are not ordinary C files, and are being compiled
through #include's in other C source files, not through invoking
compiler on generated files. This might confuse both developers and
automated systems.

For longer explanation see discussion in #800.
2021-03-13 16:36:32 +01:00
TotalCaesar659 a27457c32f
Update URLs to HTTPS (#796) 2021-03-08 16:46:36 +01:00
Tom M 5d1078f7b9
Merge pull request #795 from mawe42/ladspa-improvements
Improvements to LADSPA subsystem
2021-03-07 12:50:03 +01:00
Marcus Weseloh 17c355ffaf Free the host_nodes list in fx destructor to prevent memory leaks 2021-03-07 12:18:47 +01:00
Tom M a2b2625517
Silence annoying 'non-existing shell command file' error (#794) 2021-03-07 10:54:31 +01:00
Marcus Weseloh 4ec1f799f8 Use separate lists for user and host nodes
Remove the global nodes list with separate host and audio nodes. Instead
use completely separate lists and search through both lists in the only
place where that is required: getting a node by name.
2021-03-06 18:21:14 +01:00
Marcus Weseloh 7e553339e4 Don't add effect control nodes to global node list
As effect control nodes are private to the effect and only ever
accessed via the effect and port name, they don't need to be added
to the global node list and can be cleaned up in the effect
destructor.
2021-03-06 18:21:14 +01:00
Marcus Weseloh ef29d03cc9 Move bookkeeping of nodes out of node creation function
Removal from and iterating through othe node lists is also handled
separately, so adding nodes to the lists should be explicit as well.
2021-03-06 18:20:56 +01:00
Marcus Weseloh 14b288a801 Linking effect ports is only supported for audio ports
Clarify the code and error messages to reflect that
limitation / design decision.
2021-03-06 18:19:39 +01:00
Marcus Weseloh f66a7e1442 Use lists to keep track of LADSPA nodes and effects
Removes the need for static allocation and prevents users from
running into our arbitrary node and effect limits.

Fixes #793
2021-03-06 18:19:39 +01:00