derselbst
39993f3963
assure synth is initialized once
2017-10-25 18:27:59 +02:00
derselbst
a1810385e1
Merge branch 'carlo-bramini-misc-fixes-1'
2017-10-25 17:52:17 +02:00
derselbst
2e17573179
Revert "'mod_count' of struct fluid_voice_t should be an unsigned type."
...
This reverts commit 7db133acae
.
2017-10-25 17:41:56 +02:00
derselbst
43d4659451
make vars const correct
2017-10-25 17:11:41 +02:00
derselbst
24a6748a02
use FLUID_LOG rather than fprintf
2017-10-25 16:58:20 +02:00
derselbst
7a3a97a98e
even more mixed declarations
2017-10-25 16:57:15 +02:00
derselbst
22c38a4205
avoid storing pointer to stack alloced var
2017-10-25 16:56:06 +02:00
derselbst
bb00ce7b25
rename alsa_autoconnect function to fit conventions
2017-10-25 16:52:37 +02:00
derselbst
aa33bd23c0
avoid mixed declarations
2017-10-25 16:51:29 +02:00
derselbst
ae660ebcdb
rename alsa autoconnect setting to fit conventions
2017-10-25 16:49:56 +02:00
Tommaso Cucinotta
31025133b0
Autoconnect ALSA MIDI inputs.
2017-10-25 16:42:13 +02:00
derselbst
5235549172
fix build
2017-10-25 16:28:27 +02:00
derselbst
0b8810ace8
wrap glib byteswap functions in custom FLUID macros
2017-10-25 16:11:43 +02:00
loki666
b07ed23cad
dont use atomics for chorus_ and reverb_ params
2017-10-25 15:10:11 +02:00
loki666
33e56b1b32
init with_reverb and with_chrous local variables
2017-10-25 14:53:27 +02:00
loki666
9ebc22d4e1
add typedef for atomics
...
access atomics via fluid_atomic_X_set/get
2017-10-25 14:38:39 +02:00
derselbst
8f5bd52ea0
use fluid_cb2amp() for lfo calculation
2017-10-25 10:47:03 +02:00
derselbst
27f2ed3750
avoid redundant zero checking
...
count will never become 0
2017-10-25 10:42:59 +02:00
carlo-bramini
96f0f5fe88
Use _close() on _WIN32
2017-10-24 20:25:58 +02:00
carlo-bramini
6068c20728
Place again list_of_generators_to_initialize[] inside fluid_voice_calculate_runtime_synthesis_parameters()
2017-10-24 20:23:21 +02:00
Marcus Weseloh
e485129705
Merge pull request #249 from mawe42/more-ladspa-cleanup
...
More LADSPA cleanup and refactor
2017-10-24 15:50:05 +02:00
Marcus Weseloh
dab11fd503
Breakup very long fluid_ladspa_check into smaller functions
2017-10-24 00:40:09 +02:00
Marcus Weseloh
ab26f85bf8
Add check for in-place broken plugins
...
In-place broken plugins can't cope with input and output audio
ports connected to the same buffer.
2017-10-23 23:16:06 +02:00
Marcus Weseloh
8814926857
Replace number of inputs and outputs on ports with pointer to connected node
...
Ports can only have a single input or output, so no need for two counters.
And keeping track of the connected node means we can check for
INPLACE_BROKEN plugins, if multiple ports connect to the same node.
2017-10-23 22:12:04 +02:00
Marcus Weseloh
93dbac3535
When clearing LADSPA, also reset connection counts on system nodes
2017-10-23 22:07:58 +02:00
Marcus Weseloh
f1cf28b00c
Remove obsolete check for ladspa->state in rvoice mixer
...
The decision if plugins can be run should stay in the LADSPA codebase.
2017-10-23 21:41:28 +02:00
Marcus Weseloh
a1ff8d0e55
Render all block using a single LADSPA run
...
Removes the need for VLAs before ladspa call in rvoice mixer and number
for for loops to set up and advance the buffers. Also reduces the number
of state changes (and atomic operations) by calling fluid_ladspa_run only
once.
2017-10-23 21:41:28 +02:00
Marcus Weseloh
105d9835cb
Explicity pass in the audio buffer size when creating LADSPA fx.
...
And don't pass in node buffer sizes into new_fluid_ladspa_node but
determine it from the node type.
2017-10-23 21:41:20 +02:00
derselbst
168274fbbd
fix build
2017-10-23 12:43:07 +02:00
R. Mattes
afe915dab2
Fixed dumptuning
2017-10-22 21:36:25 +02:00
carlo-bramini
7db133acae
'mod_count' of struct fluid_voice_t should be an unsigned type.
2017-10-22 19:40:14 +02:00
carlo-bramini
9d49d29aaf
Declare list_of_generators_to_initialize[] as global static const.
2017-10-22 19:19:14 +02:00
carlo-bramini
e1c3b46ee2
Fix an handle leak
2017-10-22 19:13:16 +02:00
R. Mattes
38758c78dd
Fixed nasty loop test
2017-10-22 18:47:00 +02:00
derselbst
36d8f95584
avoid accessing uninited memory
2017-10-22 16:19:04 +02:00
derselbst
2623f67865
correctly fix use-after-free
2017-10-22 15:00:51 +02:00
derselbst
a54dfa522a
remove G_STMT_[START|END]
...
for readability
2017-10-22 14:45:16 +02:00
derselbst
77ad959913
remove unused fluid_debug()
2017-10-22 14:43:35 +02:00
derselbst
02bb14243a
remove unused debug enum
2017-10-22 14:41:00 +02:00
derselbst
3d7465a01e
remove FLUID_STMT_[START|END]
...
for readability
2017-10-22 14:39:06 +02:00
derselbst
2deffc40c0
remove redundant #ifdef LADSPA
...
cmake will take care of compiling fluid_ladspa.c
2017-10-22 14:31:57 +02:00
derselbst
456b6afa97
remove redundant getopt.h declarations
2017-10-22 13:25:25 +02:00
Marcus Weseloh
799f3ea44c
Merge pull request #242 from mawe42/ladspa-additional-fixes
...
More fixes to LADSPA system
2017-10-22 11:38:37 +02:00
Marcus Weseloh
e18e54d7ae
White-space
2017-10-22 11:24:25 +02:00
Marcus Weseloh
e0dcdbcdfc
Correct documentation for fluid_ladspa_run
2017-10-22 11:24:25 +02:00
Marcus Weseloh
47d640571b
Add missing check for ladspa_is_active to ladsap_control_defaults
2017-10-22 11:24:25 +02:00
Marcus Weseloh
29a4abb9a5
Use int for number of inputs and outputs, some plugins have a lot of ports
2017-10-22 11:24:25 +02:00
derselbst
24614d343d
Revert "ladspa: atomically get and set pending_deactivation"
...
This reverts commit 6c69b8ccff
.
2017-10-22 11:23:34 +02:00
Tom M
7146ecd61b
Merge pull request #239 from carlo-bramini/fluidsynth_no_glib_1
...
Fluidsynth no glib 1
2017-10-22 08:47:56 +02:00
Marcus Weseloh
8aa2d14476
Nicer error message when user requests LADSPA but is not available.
2017-10-21 22:40:19 +02:00
Marcus Weseloh
3cc684e47e
Avoid a few ifdefs by defining two separate sets of node<->buffer functions
2017-10-21 22:36:34 +02:00
Marcus Weseloh
4d256ce8cc
Add new command to FluidSynth shell to set control ports to default value
2017-10-21 19:49:49 +02:00
Marcus Weseloh
2787b0e10e
Add function to automatically set unconnected port to default value
...
Uses the hints in the plugin to determine the default value.
2017-10-21 19:47:03 +02:00
Marcus Weseloh
7534e54d4f
Check LADSPA setup before activation
2017-10-21 19:47:03 +02:00
carlo-bramini
828fdb9744
Completely remove G_STMT_* macros
2017-10-21 19:46:32 +02:00
derselbst
3486bb515b
avoid null deref in jack driver
2017-10-21 19:30:09 +02:00
derselbst
c205e0162d
avoid null dereferences in delete_fluid_ladspa_plugin()
...
be extremely paranoid as suggested by clang-tidy
2017-10-21 19:01:07 +02:00
carlo-bramini
6f7ec3b1fc
Added FLUID_STMT_START and FLUID_STMT_END
2017-10-21 18:40:57 +02:00
carlo-bramini
031c3671da
Replace GPOINTER_TO_INT with FLUID_POINTER_TO_INT
2017-10-21 18:33:27 +02:00
carlo-bramini
122b249e27
Replace G_INT_TO_POINTER with FLUID_INT_TO_POINTER
2017-10-21 18:32:17 +02:00
derselbst
6c69b8ccff
ladspa: atomically get and set pending_deactivation
2017-10-21 18:31:20 +02:00
carlo-bramini
82454b9fd5
Remove useless code, it's identical for both LE & BE
2017-10-21 18:29:18 +02:00
carlo-bramini
7e238c5438
Replace g_atomic_*() with fluid_atomic_*()
2017-10-21 18:26:55 +02:00
carlo-bramini
3cea11de7f
Replace use of glib types
2017-10-21 18:23:23 +02:00
derselbst
81505b9324
remove redundant ';'
2017-10-21 18:22:19 +02:00
derselbst
402f76bfb8
avoid duplicate ';'
2017-10-21 18:21:03 +02:00
derselbst
1d0cfd605f
prefer using enum for LADSPA state
2017-10-21 18:13:40 +02:00
derselbst
4911bc8de4
credit @mawe42 for rewriting LADSPA
2017-10-21 18:09:38 +02:00
derselbst
79cef163a1
fix cast operator precedence
2017-10-21 18:05:54 +02:00
Tom M
c594bdf466
Merge branch 'master' into fluidsynth-on-mcu-1
2017-10-21 17:38:54 +02:00
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
carlo-bramini
931e4349a6
Reverted again to unsigned type on fluid_synth_set_reverb_preset(), fixed error on fluid_return_val_if_fail() usage.
2017-10-21 17:13:02 +02:00
carlo-bramini
b15f6c4b2a
Reverted change to unsigned type on fluid_synth_set_reverb_preset(), used fluid_return_val_if_fail() for consistency.
2017-10-21 16:49:07 +02:00
carlo-bramini
ae041fdcec
Made fluid_gen_info[] static
2017-10-21 16:41:03 +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
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
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
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
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
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
derselbst
e866bc98e0
fix return val of fluid_file_set_encoding_quality()
2017-10-19 18:04:03 +02:00
derselbst
39406fe477
cleanup portaudio #includes
...
fixes win32 build issue (unistd.h missing)
2017-10-16 15:45:50 +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
f63b26748f
update doc for fluid_synth_set_channel_type()
2017-10-12 12:05:02 +02:00
derselbst
82f564506c
deprecated redundant tuning functions and clarify docs
2017-10-12 11:25:09 +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
Tom M
0902b261cc
Merge pull request #205 from FluidSynth/def-mod-api
...
API to manipulate default modulators
2017-10-10 18:29:11 +02:00
derselbst
accefc170f
avoid deref NULL
...
in fluid_synth_add_default_mod()
2017-10-10 18:20:27 +02:00
Tom M
b1c23fb35d
minor doc update for fluid_synth_add_default_mod()
2017-10-10 18:16:58 +02:00
derselbst
360ae04135
update API doc
2017-10-07 15:21:38 +02:00
derselbst
86a19090eb
remove unneeded fluid_server_newclient_func_t
2017-10-07 15:06:06 +02:00
derselbst
b79f2a614e
adapt fluid_server API after cmd_handler decoupling
...
avoid new_fluid_server() to require an already existing instance of fluid_cmd_handler_t just for storing fluid_synth_t* and fluid_midi_router_t*, instead require these two instances explicitly when creating the server
2017-10-07 14:58:26 +02:00
derselbst
38984b0974
avoid memleak
2017-10-07 14:44:22 +02:00
derselbst
b25485d030
update doc for new_fluid_cmd_handler()
2017-10-07 14:43:13 +02:00
derselbst
9e77341482
avoid segfault
2017-10-07 14:42:46 +02:00
derselbst
6531bebbfe
remove struct fluid_cmd_handler_t from public API
2017-10-07 11:47:22 +02:00
derselbst
680d4d51a4
fix sizeof's
2017-10-06 21:17:14 +02:00
derselbst
924d4b3e77
prefer snprintf to sprintf
2017-10-06 20:52:07 +02:00
Tom M
668980b44b
Merge pull request #230 from FluidSynth/cmake-os2
...
OS/2 cmake fixes
2017-10-06 13:17:12 +02:00
Tom M
5ae62791ae
dont hardcode buf size
2017-10-06 13:15:09 +02:00
Tom M
82b2000d08
Merge branch 'master' into cmd-handler
2017-10-06 13:11:21 +02:00
KO Myung-Hun
692e6ef2ce
Use normal library name for OS/2
...
Now, CMake for OS/2 can process a DLL name properly longer than 8
characters.
Signed-off-by: derselbst <tom.mbrt@googlemail.com>
2017-10-06 12:47:57 +02:00
derselbst
e36e39249b
update API docs for new chorus/reverb setters
2017-10-06 10:59:41 +02:00
derselbst
2b861a12eb
assure audio_groups is not overwritten
...
with an unset value, fixes #225
2017-10-06 10:34:35 +02:00
derselbst
6e3644d1aa
cleanup fluidsynth.c
2017-10-06 10:31:44 +02:00
derselbst
3a4385c7f6
settings: avoid silent error hiding
...
fail if param out of range, addresses #225
2017-10-06 10:28:28 +02:00
derselbst
84fe779b98
jack: atomically get audio_driver
2017-10-06 10:25:38 +02:00