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
carlo-bramini
6f51fca022
Same fix for fluid_adriver.c
2017-10-21 14:01:22 +02:00
carlo-bramini
6b3ec26242
Added 2 missing tests with FLUID_N_ELEMENTS()
2017-10-21 13:56:48 +02:00
carlo-bramini
fceeffa8de
Remove unused variable.
2017-10-21 13:33:28 +02:00
derselbst
cd17358b7e
FLUID_STRNCPY: always add terminator '\0'
2017-10-21 13:19:21 +02:00
carlo-bramini
be8acf4e27
Replace PI with standard M_PI.
2017-10-21 13:15:57 +02:00
derselbst
36f7cc1b21
avoid garbage value for client->handler
2017-10-21 13:04:09 +02:00
carlo-bramini
94b752f433
Made fluid_libname[] to be const.
2017-10-21 12:54:53 +02:00
carlo-bramini
4293fddc05
Fixes for using standard math constants
2017-10-21 12:54:00 +02:00
carlo-bramini
48936975e7
Fixed prototype for fluid_synth_set_reverb_preset()
2017-10-21 12:52:03 +02:00
carlo-bramini
0722ab3ab4
Optimized revmodel_preset[] as const and rewritten fluid_synth_set_reverb_preset()
2017-10-21 12:50:52 +02:00
derselbst
9e3b01927e
fix use after free
2017-10-21 12:48:52 +02:00
carlo-bramini
95ea3c0fba
idlist[], badgen[] and badpgen[] made static const
2017-10-21 12:47:59 +02:00
carlo-bramini
4f8ab20355
fluid_gen_info[] made as a const object
2017-10-21 12:46:13 +02:00
carlo-bramini
87bff4d3ef
Optimized arrays to be fully const and FLUID_N_ELEMENTS() support.
2017-10-21 12:43:59 +02:00
carlo-bramini
5e0bc7c143
Optimized fluid_midi_drivers[]
2017-10-21 12:41:42 +02:00
carlo-bramini
a10662e897
Optimized fluid_audio_drivers[]
2017-10-21 12:40:38 +02:00
carlo-bramini
152fb395f5
Optimized fluid_commands[]
2017-10-21 12:38:44 +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