Commit graph

778 commits

Author SHA1 Message Date
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
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
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
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
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
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
derselbst
cb4f7acd25 travis: enable portaudio driver 2017-10-16 17:30:31 +02:00
derselbst
32cf418631 add a simple TOC to fluidsettings 2017-10-16 17:10:28 +02:00
derselbst
39406fe477 cleanup portaudio #includes
fixes win32 build issue (unistd.h missing)
2017-10-16 15:45:50 +02:00
Tom M
dc992712ab Merge pull request #234 from FluidSynth/carlo-bramini-master
Wrap std C functions in FLUID_* macros
2017-10-15 21:15:51 +02:00
derselbst
b4c36b1ba2 fix indentation 2017-10-15 20:17:45 +02:00
derselbst
64b929ced6 replace strcasecmp with FLUID_STRCASECMP 2017-10-15 20:16:04 +02:00
derselbst
458cb94b93 correct conditional define of FLUID_[V]SNPRINTF
fixes build
2017-10-15 20:06:44 +02:00
carlo-bramini
a89c7c5183 Replace remaining vsnprintf with FLUID_VSNPRINTF 2017-10-15 18:57:06 +02:00
carlo-bramini
0b16169f35 Replace g_snprintf with FLUID_SNPRINTF 2017-10-15 18:53:06 +02:00
carlo-bramini
9321dda281 Use FLUID_SNPRINTF into all remaining files 2017-10-15 18:42:44 +02:00
carlo-bramini
1c0419c4c3 Include fluid_sys.h, required for FLUID_INLINE 2017-10-15 17:34:24 +02:00
carlo-bramini
55c682b1b0 Use FLUID_INLINE in all remaining parts of the sources 2017-10-15 17:27:30 +02:00
derselbst
61ea49d24a complete fluidsettings doc 2017-10-14 22:40:43 +02:00
derselbst
5dd776b705 mv ISSUE_TEMPLATE.md to .github subfolder 2017-10-14 20:07:26 +02:00
Tom M
c3ad1bb469 Update ISSUE_TEMPLATE.md 2017-10-14 20:02:01 +02:00
derselbst
2ad727d6d2 fix license reference in man page 2017-10-12 17:32:05 +02:00
derselbst
61c81d06a5 bump version to 1.1.8 2017-10-12 17:15:27 +02:00
derselbst
f63b26748f update doc for fluid_synth_set_channel_type() 2017-10-12 12:05:02 +02:00
derselbst
77f4604498 update API doc for 1.1.8 2017-10-12 11:53:08 +02:00
derselbst
82f564506c deprecated redundant tuning functions and clarify docs 2017-10-12 11:25:09 +02:00
derselbst
e2495e8db4 fix travis macos build 2017-10-11 11:20:50 +02:00
derselbst
820448bafe fix memory leak in fluid_client_t
let each fluid_client_t own its fluid_cmd_handler_t and delete it properly
2017-10-11 10:51:59 +02:00