Commit graph

800 commits

Author SHA1 Message Date
Tom M
0600ba7c68 Merge pull request #235 from mawe42/ladspa-cleanup
LADSPA effect unit refactor
2017-10-21 17:36:04 +02:00
Marcus Weseloh
9f4c60c6c8 Remove unused includes 2017-10-21 17:18:05 +02:00
Marcus Weseloh
885178ef9d Replace timeout in deactivate with mutex and cond. 2017-10-21 16:32:04 +02:00
Marcus Weseloh
5f488123d8 Also make node names case-insensitive and update comments to reflect this. 2017-10-21 15:58:22 +02:00
Marcus Weseloh
cecf115a38 Replace the fuzzy prefix matching by a simple strncasecmp.
That spaces and underscores are treated as equal is no needed anymore
anyway, as the token parser of the shell understands quoted names.
So searching for "Dry / Wet Mix" is possible.

Adds new FLUID_STRNCASECMP macro to fluid_priv.
2017-10-21 15:55:43 +02:00
Marcus Weseloh
e05f1904d5 Update the LADSPA sample rate if the rvoice mixer sample rate changes. 2017-10-21 15:08:04 +02:00
Marcus Weseloh
2c7e1696fd Completely decouple LADSPA engine from FluidSynth
Knowledge of FluidSynth is completely removed from the LADSPA effects
unit. All synchronization happens inside LADSPA with atomic operations.
The LADSPA fx instance created by FluidSynth is only special in that
FluidSynth knows about it and calls it's run method when enabled.

This simplifies the code structure, makes the FluidSynth and the LADSPA
engine easier to maintain due to the loose coupling. It also enables
users to create their own (or additional) LADSPA fx unit for further
processing as soon as we expose the LADSPA functions via a public API.
2017-10-21 15:07:39 +02:00
Marcus Weseloh
812ea57ed0 Bugfix: properly release the LADSPA API lock after exiting fluid_ladspa_check 2017-10-21 15:03:38 +02:00
Marcus Weseloh
d6066d0560 Remove LADSPA deactivation hooks from FluidSynth again 2017-10-21 15:01:02 +02:00
derselbst
cd17358b7e FLUID_STRNCPY: always add terminator '\0' 2017-10-21 13:19:21 +02:00
derselbst
36f7cc1b21 avoid garbage value for client->handler 2017-10-21 13:04:09 +02:00
derselbst
9e3b01927e fix use after free 2017-10-21 12:48:52 +02:00
derselbst
b266369561 avoid mem leaks in pulse audio driver 2017-10-21 12:17:26 +02:00
derselbst
758f29cb58 add py script to run clang-tidy 2017-10-21 12:16:54 +02:00
derselbst
e9e5e625bc add .clang-tidy
clang-tidy -checks=-*,cert-*,clang-analyzer-*,performance-*,readability-avoid-const-params-in-decls,readability-braces-around-statements,readability-delete-null-pointer,readability-implicit-bool-conversion,readability-inconsistent-declaration-parameter-name,readability-misleading-indentation,readability-misplaced-array-index,readability-non-const-parameter,readability-redundant-control-flow,readability-redundant-declaration,readability-redundant-function-ptr-dereference,readability-simplify-boolean-expr -dump-config > clang-tidy
2017-10-21 11:03:06 +02:00
derselbst
c7789c0e58 fluid_synth_system_reset: avoid code duplication
reuse fluid_synth_all_sounds_off_LOCAL()
2017-10-20 20:38:37 +02:00
Marcus Weseloh
128a669ef8 Remove volatile from plugin->active 2017-10-20 16:20:50 +02:00
Marcus Weseloh
ce79b5f952 Handle sample rate changes and change sample rate to unsigned long (as defined in ladspa.h) 2017-10-20 15:51:20 +02:00
Marcus Weseloh
4a047726e2 Use memset instead of explicit initialization for port states. 2017-10-20 15:48:34 +02:00
derselbst
452d86cde9 travis: remove repo george-edison55-precise-backports 2017-10-20 15:30:40 +02:00
derselbst
5df21d99c4 travis: update package manager before_install 2017-10-20 15:07:15 +02:00
Marcus Weseloh
f4c5590edf Initialize fluid_ladspa_* structs to zero after creation and use delete_fluid_ladspa_* for cleanup. 2017-10-20 13:53:22 +02:00
Marcus Weseloh
2fb35cdab5 Fix typos in LADSPA documentation 2017-10-20 12:43:53 +02:00
derselbst
bf3b5a9419 travis: enable ladspa build 2017-10-20 12:33:25 +02:00
derselbst
a8b840f393 travis: use gcc5 for debug build
fix build with UBSan
2017-10-20 12:28:02 +02:00
derselbst
4b9405a4ce remove unused fluid_voice_t::debug 2017-10-20 12:26:37 +02:00
derselbst
587a8408cf Revert "remove redundant debug vars for fluid_voice_t"
This reverts commit 69d41ae5ec. Fixing build if -Denable-profiling=1
2017-10-20 12:25:45 +02:00
Marcus Weseloh
244e0c1122 Use FLUID_SNPRINTF instead of FLUID_SPRINTF 2017-10-20 12:08:42 +02:00
Marcus Weseloh
d07e8e3114 Add missing mutex cleanup in error handler 2017-10-20 12:03:21 +02:00
Marcus Weseloh
9a8483d997 Copy buffers with memcpy if FluidSynth and LADSPA use float buffer type 2017-10-20 10:50:01 +02:00
Marcus Weseloh
e4f0f2b41f Remove unused pthread include 2017-10-20 10:37:30 +02:00
Marcus Weseloh
71a4b2c058 First draft of the new LADSPA documentation 2017-10-20 00:23:39 +02:00
derselbst
3101647e32 slightly optimize fluid_voice_t in size 2017-10-19 23:52:46 +02:00
derselbst
69d41ae5ec remove redundant debug vars for fluid_voice_t 2017-10-19 23:46:20 +02:00
Marcus Weseloh
171faae670 Prevent unused variable warnings if LADSPA is not compiled in 2017-10-19 23:31:05 +02:00
Marcus Weseloh
4120b2320f Major refactor and rewrite of the LADSPA effects engine. 2017-10-19 23:31:05 +02:00
derselbst
7fb3a93e83 minor doc update for fluid_voice_is_*() 2017-10-19 23:28:59 +02:00
Tom M
09f237fd0c clarify xg bank select documentation
addressing #228
2017-10-19 23:08:15 +02:00
derselbst
c10b0db8b4 apply FLUID_DEPRECATED for public synth functions 2017-10-19 22:53:28 +02:00
derselbst
e59c4e77ab add FLUID_DEPRECATED 2017-10-19 22:41:13 +02:00
derselbst
7e2ea5c85d use UBSan for debug builds 2017-10-19 21:12:08 +02:00
derselbst
e866bc98e0 fix return val of fluid_file_set_encoding_quality() 2017-10-19 18:04:03 +02:00
Tom M
9ba8136ce0 Update fluidsettings.xml
line wrap
2017-10-19 13:12:40 +02:00
Tom M
6f3b9da191 Merge pull request #220 from FluidSynth/fluidsettings-doc
move fluidsettings doc to xml
2017-10-19 12:46:26 +02:00
Tom M
cd92d83366 convert readme to markdown
closes #181
2017-10-18 20:38:41 +02:00
derselbst
69a4ce44c3 remove fluidsettings doc from manpage
refer to xml instead
2017-10-18 18:03:44 +02:00
derselbst
9b5a204e02 fluidsettings: different color for deprecated settings 2017-10-18 14:08:02 +02:00
Tom M
b908c04317 Update issue_template.md 2017-10-18 09:46:18 +02:00
derselbst
d54a9af4ea remove fluid settings from public API doc
instead refer to new fluidsettings.xml
2017-10-16 18:08:29 +02:00
derselbst
88cdc46653 clarify documentation for midi.jack.id
fixes #224
2017-10-16 17:40:46 +02:00