Tom M
d3cfa28e5b
Merge branch 'master' into balance
2018-02-11 15:24:50 +01:00
Tom M
5d26d2dee8
Additional general-purpose IIR filter ( #331 )
...
* Additional high-pass filter
* ability to use a linear Q
* add custom sinus modulator mapping function
* add GEN_CUSTOM_FILTERFC and GEN_CUSTOM_FILTERQ generators
* introduce fluid_synth_custom_filter()
* make custom filter user adjustable by custom flags
2018-02-11 15:18:28 +01:00
derselbst
9cd870ea7a
jack midi driver: open several ports if midi-channels > 16
...
addressing #326
2018-02-06 20:53:13 +01:00
derselbst
2b1cc566a5
pulse driver: preallocate audio buffers
2018-02-06 10:35:37 +01:00
harborsiem
2f35afe79e
include windows version info for dll ( #336 )
...
fixes #216
2018-01-29 10:42:55 +01:00
Tom M
2a4b2084f1
Merge pull request #330 from FluidSynth/api-clean
...
remove unused API functions
* fluid_synth_set_gen2()
* fluid_cmd_handler_register()
* fluid_cmd_handler_unregister()
* fluid_cmd_t
2018-01-27 14:34:09 +01:00
derselbst
94b26e6365
adjust signature of fluid_settings_getstr_default()
...
for consistency
2018-01-26 20:32:09 +01:00
derselbst
297372d6d9
rename GEN_BALANCE to GEN_CUSTOM_BALANCE
2018-01-25 20:39:11 +01:00
derselbst
4a655de242
implement 24 bit sample support for fluid_voice_optimize_sample()
2018-01-24 18:47:30 +01:00
carlo-bramini
a4bccd9a49
Fix rounding for triangular modulation waveform
2018-01-20 12:26:42 +01:00
carlo-bramini
57de2bf45a
No need to do extra addition at every cycle.
2018-01-19 11:01:35 +01:00
derselbst
5f8fabb651
remove fluid_cmd_handler_register() from public API
...
as well as fluid_cmd_handler_unregister() and fluid_cmd_t
2018-01-18 20:39:45 +01:00
derselbst
fe19ce0c24
remove fluid_synth_set_gen2() from public API
2018-01-18 20:24:58 +01:00
derselbst
c61d093aec
avoid redundant debug loop warnings
2018-01-18 14:13:09 +01:00
derselbst
57cbdda39a
avoid a buffer overrun when loading corrupt soundfonts
...
addresses #327
2018-01-18 14:12:41 +01:00
derselbst
37218ba4b4
report FluidSynth's runtime + exec version
2018-01-10 09:07:22 +01:00
Marcus Weseloh
aff8f0d458
Cleanup initial attenuation generator value handling ( #324 )
...
The EMU8k/10k hardware applies a 0.4 factor to all initially set attenuation generator values. Do this once on soundfont load.
Remove the invalid -531.509 power factor that was computed from Timidiy's non-standard conversion table. And remove the synth.volenv switch again, as the "compliant" setting wasn't compliant at all.
This allows us to get rid of the atten2amp function and use cb2amp everywhere, with a range of 0 1440 centibels.
Fixes #70
Supersedes #71
Supersedes #318
2018-01-09 16:30:43 +01:00
carlo-bramini
8c6d328cab
Fix unused variable warnings ( #322 )
2018-01-08 16:27:44 +01:00
carlo-bramini
1a201a2d4d
Simplified code for modulation waveforms ( #321 )
...
extract calculations that never changed during the loop
2018-01-07 10:23:18 +01:00
derselbst
292b7e028f
check for "sfbk" in fluid_is_soundfont()
2018-01-06 21:57:07 +01:00
derselbst
9456bfab12
use FLUID_STRNCMP wrapper macro
2018-01-06 21:24:55 +01:00
Marcus Weseloh
2e4a517a3f
Use absolute centibels for range of balance generator
2018-01-04 15:28:23 +01:00
Marcus Weseloh
52cc645e7e
Rename default_balance_mod to custom_balance_mod
2018-01-04 12:31:22 +01:00
Marcus Weseloh
ff3e918d47
Use range with true center point for pan and balance
...
As specified in MIDI Recommended Practice (RP-036)
2018-01-04 00:54:29 +01:00
Marcus Weseloh
8f9b89588a
Add support for channel balance control (CC 8)
2018-01-04 00:54:29 +01:00
derselbst
dd2b78a842
simplify check for default_vel2filter_mod
2018-01-02 18:59:19 +01:00
derselbst
d9a39e8ba7
make default modulators static
2018-01-02 18:58:46 +01:00
derselbst
6e3f5ce390
correct API doc of fluid_audio_driver_register()
2018-01-01 18:07:16 +01:00
derselbst
70dffe71b1
remove unused _fluid_channel_t::mutex
2017-12-31 16:45:44 +01:00
derselbst
81ebb229ae
elaborate on _[v]snprintf()
2017-12-31 16:21:01 +01:00
derselbst
f9ef9eb021
removed strayed '\'
2017-12-31 12:34:37 +01:00
derselbst
6148771b1e
elaborate on "preset reset"
2017-12-29 22:18:08 +01:00
derselbst
c56d09be6c
elaborate on "bank offsets"
2017-12-29 22:10:04 +01:00
derselbst
9e39479f55
update API doc of fluid_synth_[bank|sfont]_select()
2017-12-29 21:57:54 +01:00
derselbst
272b807383
fallback to glibs C99 compliant *snprintf() functions
...
rather than microsofts non compliant extension functions
2017-12-29 17:51:57 +01:00
carlo-bramini
3e9052535b
Use only g_usleep() in fluid_msleep().
2017-12-28 16:55:52 +01:00
carlo-bramini
cb1e93cd7c
Use fluid_msleep() into JACK driver.
2017-12-28 12:28:26 +01:00
carlo-bramini
f638fd90ba
Introduce fluid_msleep function.
2017-12-27 21:36:07 +01:00
Tom M
2d83700dc7
Merge pull request #315 from carlo-bramini/misc-fixes-3
...
Remove redundant includes and avoid zero-size array if MIDI input unavailable.
2017-12-27 18:04:06 +01:00
derselbst
be9caa1953
Merge branch 'master' of https://github.com/FluidSynth/fluidsynth
2017-12-27 17:24:44 +01:00
carlo-bramini
9c59ad9eb8
Optimize memory usage for fluid_audio_driver_register() ( #314 )
2017-12-27 17:24:13 +01:00
carlo-bramini
20b7143ba9
Avoid zero-size array if MIDI input unavailable.
2017-12-24 14:55:39 +01:00
carlo-bramini
c6a2b0ceba
Use FLUID_MUTEX_INIT instead of G_STATIC_MUTEX_INIT
2017-12-24 14:46:39 +01:00
carlo-bramini
74122f2d6d
Remove redundant include.
2017-12-24 14:43:06 +01:00
carlo-bramini
806b3d68e1
Check for JACK_SUPPORT
2017-12-24 14:41:39 +01:00
carlo-bramini
771fa8191a
Remove redundant include
2017-12-24 14:39:40 +01:00
derselbst
870a9a8232
make fluid_synth_error() const correct
2017-12-21 20:00:39 +01:00
derselbst
51cc2656e1
add internal note about fluid_midi_parser_parse()
2017-12-21 14:57:09 +01:00
derselbst
5f45c6d97b
Revert "make fluid_midi_parser_parse() public"
...
This reverts commit 4568e551b9
. Would allow fluidsynth to be abused as midi parser.
Closes #150
2017-12-21 14:52:06 +01:00
jjceresa
5be4f31822
Explicit cast for rvoice_event_handler functions ( #312 )
...
Explicit casts to avoid narrowing conversion warnings.
2017-12-21 14:48:58 +01:00
carlo-bramini
4203e10220
Use FLUID_CHORUS_DEFAULT_TYPE properly. ( #311 )
2017-12-18 20:03:18 +01:00
derselbst
610b6743be
explicit casts to avoid narrowing conversion warnings
...
fixes #310
2017-12-18 19:14:12 +01:00
derselbst
bf5dbc60cf
adjust return value of fluid_server_join()
...
to be consistent with ladspa API
2017-12-17 11:45:42 +01:00
derselbst
c61bcdca70
silence "network support disabled" warnings
...
one is enough
2017-12-17 11:42:46 +01:00
carlo-bramini
8025f788d3
Disable network at compile time (option) ( #307 )
2017-12-17 10:25:54 +01:00
derselbst
4568e551b9
make fluid_midi_parser_parse() public
...
to enable realtime byte to fluid_midi_event_t parsing
fixes #108
addresses #150
2017-12-16 15:08:47 +01:00
derselbst
5e0649158b
fix build on macosx
...
fixes #305
2017-12-15 19:06:43 +01:00
derselbst
ca9080d73f
abstract usage of G_UNLIKELY through custom macro
2017-12-14 20:04:24 +01:00
Tom M
e4f338d014
Merge pull request #304 from carlo-bramini/tcpip-win32-fix
...
Fix crash to TCP server (WIN32).
2017-12-14 16:54:51 +01:00
Tom M
a82ddb8d08
Merge branch 'master' into sm24
2017-12-13 20:12:47 +01:00
carlo-bramini
46733af348
Fix crash to TCP server (WIN32).
2017-12-13 20:08:42 +01:00
derselbst
f231df5608
remove redundant fluid_real_t casts
...
in rvoice_dsp
2017-12-12 21:06:11 +01:00
derselbst
05a4989498
avoid bad function cast warnings
2017-12-12 21:02:21 +01:00
derselbst
0dde0c1aff
mark voice helper functions inline
...
fluid_voice_calculate_gain_amplitude()
fluid_rvoice_get_sample()
2017-12-12 20:54:40 +01:00
Tom M
deb0658205
add support for lyrics and text midi events ( #299 )
...
* partly applied karaoke patch from ticket #111
* allow MIDI_SET_TEMPO in playback_callback
2017-12-11 19:35:07 +01:00
derselbst
84124e3230
doc the DOCMEs
2017-12-10 17:31:11 +01:00
derselbst
5806d9e9cc
display sample type for fluidsynth --version
2017-12-09 22:20:25 +01:00
derselbst
c02a5ae5ce
remove redundant VERSION macro
...
use FLUIDSYNTH_VERSION instead
2017-12-09 22:09:24 +01:00
derselbst
97a4e1aa1c
fix a bug when reading 24 bit soundfonts
2017-12-09 20:03:37 +01:00
derselbst
29d194ed6d
Revert "adjust voice gain for 24bit samples"
...
This reverts commit 1629f9f997
. Accidentally committed to wrong master branch instead of sm24.
2017-12-09 16:48:57 +01:00
derselbst
b130763545
adjust voice gain for 24bit samples
2017-12-09 16:48:36 +01:00
derselbst
1629f9f997
adjust voice gain for 24bit samples
2017-12-08 20:24:17 +01:00
derselbst
9a21e10e10
add 24bit sample support to rvoice_dsp interpolation functions
2017-12-08 18:23:18 +01:00
derselbst
7de0e02a82
Merge branch 'master' into sm24
2017-12-07 18:58:12 +01:00
Tom M
ea8ac50333
Merge branch 'master' into cleanup3
2017-12-07 17:11:35 +01:00
Tom M
e4972c5038
Merge pull request #298 from carlo-bramini/winmidi-improvements
...
Simpler implementation of WINMIDI driver.
2017-12-06 19:22:53 +01:00
derselbst
a4e43d3543
re-introduce fluid_synth_set_gen2()
...
to reduce API breakage
2017-12-06 12:18:06 +01:00
derselbst
a808e28f8b
cleanup winmidi driver
2017-12-05 22:57:28 +01:00
Tom M
e0e319cf30
Merge pull request #294 from FluidSynth/overflow-important-channels
...
New feature for overflow calculation: specify important channels
2017-12-05 09:22:54 +01:00
Marcus Weseloh
ae48793c28
Replace loop with memset
2017-12-04 18:53:47 +01:00
derselbst
6eb450b40c
silence -Wdocumentation warnings
2017-12-03 20:31:00 +01:00
carlo-bramini
7be328a357
Simpler implementation of WINMIDI driver.
2017-12-03 19:37:20 +01:00
derselbst
82450e0ee1
remove FLUID_NUM_MOD macro from public API
2017-12-03 18:39:24 +01:00
derselbst
76d4028aeb
calculate voice amplitudes on-the-fly
...
no need for saving them in fluid_voice_t
2017-12-03 18:28:22 +01:00
derselbst
d086ca8046
refactor fluid_voice_update_param()
2017-12-03 17:55:31 +01:00
derselbst
6e59d3bca9
use fluid_voice_gen_value() rather than _GEN macro
2017-12-03 16:24:10 +01:00
derselbst
c30d519572
return -1 in fluid_midi_file_getc()
...
closes #93
2017-12-03 15:13:26 +01:00
carlo-bramini
cdfe8d3d7d
Include fixes 2 ( #296 )
...
Remove redundant includes
2017-12-03 13:12:27 +01:00
derselbst
0f737708c7
optimize fluid_voice_t in size
2017-12-02 18:25:58 +01:00
Marcus Weseloh
a3aef4b2ee
Add ability to mark channels as important in overflow priority calculation
...
FluidSynths overflow priority calculation, that determines which voice to
kill if the current polyphony limit has been reached, treats all channels
as equal. Only percussion channels can get a user defined score added to
their priority.
In certain use-cases there can be a number of MIDI channels that are much
more important than other ones, and not just percussion channels. For
example, a channel playing a constant pad sound which would be very
noticeable if killed.
This change adds two new synth.overflow settings:
- synth.overflow.important
- synth.overflow.important-channels
They add the ability to mark MIDI channels as "important" and have
the overflow calculation add a user defined score to voices on those
channels.
2017-12-02 15:57:21 +01:00
derselbst
80063d58f1
Merge branch 'master' into cleanup3
2017-12-02 13:04:49 +01:00
Marcus Weseloh
3973b9566d
Add float-typed wrapper for fluid_settings_getnum
...
Avoids the need to store the value in a local double before assigning
it to the target variable.
2017-12-02 12:19:47 +01:00
Marcus Weseloh
ac5aa418ae
Use float instead of fluid_real_t for overflow parameters and calculations
2017-12-02 12:19:47 +01:00
derselbst
50923b3f0e
remove redundant string termination
...
already done by FLUID_STRNCPY macro
2017-12-02 11:01:31 +01:00
Marcus Weseloh
ba48024f59
Ensure that fluid_synth_set_reverb_on is protect by api mutex
...
The function calls fluid_synth_update_mixer, which should only be
called with the mutex held.
This also removes the need for fluid_synth_t::with_reverb to be an atomic.
fluid_synth_t::with_chorus was already protected by the mutex and doesn't
need to be an atomic either.
2017-12-01 21:35:03 +01:00
Marcus Weseloh
ee227986e5
Explicity set overflow settings in new_fluid_synth
...
Removes the need for faked callback calls.
2017-12-01 21:24:31 +01:00
Marcus Weseloh
69cf9e1ec2
overflow settings callback should use passed value, not query settings
2017-12-01 21:18:30 +01:00
Marcus Weseloh
6b79c05dc2
Rename setting callbacks to clarify their purpose
2017-12-01 21:09:06 +01:00
Marcus Weseloh
750ffc003b
Cleanup settings callback signatures to avoid error hiding casts
...
Removes the need to cast the callback functions when registering them.
Also makes the needed cast from (void *) to (fluid_synth_t *) explicit
in the callback handlers.
2017-12-01 21:02:21 +01:00
Marcus Weseloh
1b5cf26000
Change settings callback to return void
...
The callback return value is not used anywhere anyway.
2017-12-01 20:51:21 +01:00
Marcus Weseloh
6ab0cc3024
Refactor and cleanup fluid_settings_set* functions
...
- backwards incompatible: remove "yes", "no" support for int settings via
fluid_settings_setstr
- backwards incompatible: remove silent setting creation of named setting
does not exist
- Unlock settings mutex before calling into an update callback, to
avoid possible deadlock with FluidSynth API mutex
2017-12-01 20:21:07 +01:00
Marcus Weseloh
4b090c2afb
Use case-insensitive string match for boolean settings
2017-12-01 19:29:29 +01:00
Marcus Weseloh
9f579d99f3
Remove callback and data parameters from settings_register_* functions
...
Callback functions and user data can be set with the previously added
functions. And callbacks are only used in a single place in new_fluid_synth,
all other calls to setttings_register_* set those two params to NULL,
so lets remove them everywhere.
2017-11-30 22:57:19 +01:00
Marcus Weseloh
5cd03e0171
Add dedicated functions for registering update callbacks on settings
...
This avoids having to duplicate the default, min, max and hint values
when setting a callback function for an existing setting.
2017-11-30 22:56:01 +01:00
derselbst
cde8517c5a
make sure doxygen generates ladspa-related docs
2017-11-30 13:01:16 +01:00
derselbst
01040409ba
exclude private headers from public API doc generation
2017-11-30 12:55:20 +01:00
derselbst
ce6c5cadcb
fix build
2017-11-29 13:56:05 +01:00
derselbst
8fca88942d
Merge branch 'master' into sm24
2017-11-29 10:03:42 +01:00
derselbst
c5cdcb8eda
remove deprecated fluid_synth_reset_tuning()
2017-11-27 18:01:19 +01:00
derselbst
70a1c82a5e
remove deprecated fluid_synth_select_tuning()
2017-11-27 18:00:50 +01:00
derselbst
0bb8726583
remove deprecated fluid_synth_create_octave_tuning()
2017-11-27 17:56:03 +01:00
derselbst
7140e971ec
remove deprecated fluid_synth_create_key_tuning()
2017-11-27 17:52:58 +01:00
derselbst
62df9178ae
remove deprecated fluid_synth_get_channel_info()
...
it provided functionality in between of fluid_synth_get_program() and fluid_synth_get_channel_preset(), which however was not visible from the user perspective
2017-11-27 17:49:10 +01:00
derselbst
4d65e07156
get rid of redundant fluid_sample_refcount macro
...
and access field directly
2017-11-27 17:27:37 +01:00
derselbst
4776b7e407
remove macro fluid_sfont_get_id() from public API
2017-11-27 17:19:29 +01:00
derselbst
9900d5f151
rename fluid_mod_new|delete() to match naming conventions
2017-11-27 16:58:27 +01:00
Tom M
621c84f6a1
Merge branch 'master' into file-callback
2017-11-27 14:52:20 +01:00
derselbst
3b1a4ccad0
clarify API doc of fluid_synth_add_sfloader()
2017-11-27 14:41:26 +01:00
derselbst
a13cb63103
avoid buffer overrun in fluid_synth_nwrite_float()
2017-11-26 22:12:12 +01:00
Tom M
6c5e1d9ae0
Merge pull request #290 from carlo-bramini/bsd-socket-fixes
...
Cleanup redundant socket implementation.
2017-11-26 14:12:40 +01:00
derselbst
e7ff72df46
make fluid_socket_*() helper functions static
2017-11-26 14:05:22 +01:00
jjceresa
c564fd6d5a
Portaudio driver - unique device identification ( #289 )
...
Changes the format of portaudio device names to ensure uniqueness of device names.
Without uniqueness of device names the driver was unable to select the device chosen by the user.
Fixes #284 .
2017-11-26 13:39:01 +01:00
carlo-bramini
44985b1212
INVALID_SOCKET can be into fluid_sys.c, near SOCKET_ERROR. No need to have it in fluidsynth_priv.h
2017-11-26 11:07:09 +01:00
carlo-bramini
4ccf7217b0
Fix comment to the right #endif
2017-11-26 11:02:24 +01:00
derselbst
8fb1f500e0
validate param of new_fluid_defsfloader()
2017-11-26 08:55:19 +01:00
derselbst
ae29be83d8
no need to expose delete_fluid_defsfloader()
...
fluid_sfloader_t::free() can be used instead
2017-11-25 22:56:00 +01:00
derselbst
5c5423df32
update API doc about new_fluid_defsfloader()
2017-11-25 22:54:48 +01:00
derselbst
31592fee64
fix return value check for fseek
2017-11-25 22:35:05 +01:00
derselbst
3c39d68294
change fluid_sfloader_t::free() to return void
2017-11-25 22:32:00 +01:00
derselbst
f55e90aa80
expose new_fluid_defsfloader() to public API
...
to enable custom soundfont loading
2017-11-25 22:24:01 +01:00
derselbst
96356cbf9d
correctly check return values for file callback functions
2017-11-25 22:12:59 +01:00
derselbst
d02eaf6585
continue file callback implementation
2017-11-25 21:43:13 +01:00
derselbst
09c084e776
fix build
2017-11-25 20:41:31 +01:00
mikelow
1e65ba1a49
add fluid_file_callbacks struct to fluid_defsfont
...
to perform file operations through callbacks
2017-11-25 20:35:42 +01:00
carlo-bramini
763b1f39a5
Minor fix, no need to include glib.h, fluidsynth_priv.h includes it already.
2017-11-25 14:54:28 +01:00
carlo-bramini
f26258cd1f
Unified BSD socket source, for WIN32 and POSIX.
2017-11-25 14:50:52 +01:00
derselbst
4178bbdb72
avoid signedness warnings
...
on platforms where char is unsigned
2017-11-25 12:29:07 +01:00
Tom M
a7fe5c4257
Merge pull request #283 from FluidSynth/ladspa
...
Polishing of LADSPA subsystem
2017-11-25 11:45:49 +01:00
derselbst
4051b6da28
cleanup fluid_ladspa.h
2017-11-25 11:17:44 +01:00
derselbst
6484440ee1
enforce signedness when reading MThd
2017-11-25 10:43:03 +01:00
derselbst
6931644a4d
avoid glib assertion if plugin not found
2017-11-25 10:14:33 +01:00
Tom M
a1623f673f
Merge pull request #288 from FluidSynth/misc-fixes
...
remove unused code + fix compiler warnings
2017-11-24 20:17:41 +01:00
derselbst
e567df3f40
add doxygen since to fluid_audio_driver_register()
2017-11-24 17:45:07 +01:00
Marcus Weseloh
267325f107
char is unsigned on some platforms/compilers (e.g. on Linaro ARM 2016.11)
2017-11-24 12:30:10 +01:00
Marcus Weseloh
c57507a518
Remove statics that are unused if libsndfile is not available
2017-11-24 12:23:30 +01:00
Marcus Weseloh
49d19be9c8
Include glib as system includes, to get rid of annoying glib warnings in gcc
2017-11-24 11:30:14 +01:00
Marcus Weseloh
1f4a6008b8
Fix indentation to get rid of GCC "not guarded by if" warnings
2017-11-24 11:29:38 +01:00
Marcus Weseloh
f1d28bdeb9
Remove unused fluid_track_* methods
...
fluid_track_count_events
fluid_track_first_event
fluid_track_get_name
2017-11-24 11:09:34 +01:00
Marcus Weseloh
5f6003e465
Remote unused fluid_player_count_tracks, fluid_player_get_track
2017-11-24 10:57:00 +01:00
Marcus Weseloh
432929c18c
Make use of fluid_tuning_set_name where appropriate
...
Also add memory allocation error checks and initialize fluid_tuning_t
after allocation.
2017-11-24 10:51:52 +01:00
Marcus Weseloh
c605380aa8
Remove unused fluid_tuning_set_key and fluid_is_empty
2017-11-24 10:31:02 +01:00
Marcus Weseloh
a1343103f1
run_adding_gain can safely be set while LADSPA is active
2017-11-24 10:22:13 +01:00
Marcus Weseloh
036cb1d347
Remove unused macros from fluid_rev
2017-11-23 11:12:24 +01:00
Marcus Weseloh
58f5b87074
Clarify and cleanup the denormal handling in fluid_rev
2017-11-23 11:12:24 +01:00
Marcus Weseloh
b742b9a58e
Remove unused fluid_voice_mix function
2017-11-23 11:12:24 +01:00
Marcus Weseloh
3ec593a6aa
Add missing check for memory allocation error on chorus effect
2017-11-23 11:12:24 +01:00
derselbst
7ed5d1f1d8
update docs about upper roomsize threshold
2017-11-22 16:56:51 +01:00
Tom M
eb5945bb2c
make dsound use the desktop window handle ( #286 )
...
* Dsound driver is now making use of an already existing window handle: the desktop window
* Removing of fluid_dll.c because it has becoming useless
* avoid a potential deadlock when calling functions within DllMain()
* remove obsolete fluid_set_hinstance() and fluid_get_hinstance() from public API
2017-11-22 16:42:48 +01:00
Tom M
e50dd8ed4c
Merge pull request #264 from FluidSynth/register-adriver
...
support for registering audio drivers based on actual needs
2017-11-22 14:03:52 +01:00
derselbst
c56943cfc6
complete 24bit sample support for sfloader
2017-11-21 21:41:12 +01:00
Marcus Weseloh
88092e8c9d
Better documentation and err param handling for fluid_ladspa_check
2017-11-21 09:30:31 +01:00
derselbst
0802fdfe5e
use FLUID_STRDUP rather than custom copy
2017-11-21 09:14:19 +01:00
derselbst
45bc334333
add 24 bit sample support to fluid_cached_sampledata_load()
2017-11-21 09:03:12 +01:00
Marcus Weseloh
04285fcf48
Validate params in all public API functions of LADSPA subsystem
2017-11-20 20:35:24 +01:00
Marcus Weseloh
ce8fa7c387
Only include gmodule and define dyn loading macros if LADSPA is enabled
2017-11-20 20:13:25 +01:00
derselbst
c0cd1887db
Revert "make dsound driver using the desktop window handle ( #269 )"
...
This reverts commit be6e1ab88a
. Forgot to take public API HInstance getter/setter into account.
2017-11-20 20:05:02 +01:00
Marcus Weseloh
2f19e80d38
Rename buffer_count to num_buffers
2017-11-20 19:59:47 +01:00
Marcus Weseloh
645d8c5da4
Release the API lock when returning from fluid_ladspa_add_host_ports
2017-11-20 19:58:05 +01:00
Marcus Weseloh
e312f5bedd
Use TRUE/FALSE for boolean flag
2017-11-20 19:56:42 +01:00
Marcus Weseloh
c7da1ef511
Fix typos and clarify comments
2017-11-20 19:55:06 +01:00
Marcus Weseloh
a328dce437
Remove includes that are already in fluid_ladspa.h
2017-11-20 19:40:26 +01:00
Tom M
d24c2a1179
Merge branch 'master' into register-adriver
2017-11-20 16:39:15 +01:00
jjceresa
be6e1ab88a
make dsound driver using the desktop window handle ( #269 )
...
* Dsound driver is now making use of an already existing window handle: the desktop window
* Removing of fluid_dll.c because it has becoming useless
* avoid a potential deadlock when calling functions within DllMain()
2017-11-20 16:33:12 +01:00
Tom M
2aa612b764
Merge pull request #280 from FluidSynth/reverb-settings-adjust
...
Reverb settings adjustements
2017-11-20 16:15:06 +01:00
Tom M
c675d2667a
fix grammar
2017-11-20 16:10:22 +01:00
Marcus Weseloh
89646783d1
Only require gmodule if LADSPA is enabled
...
Also remove the now unused libdl support, as it was only used by LADSPA,
which has been changed to use gmodule instead.
2017-11-19 21:45:00 +01:00
Marcus Weseloh
72d32da33d
Remove redundant declarations of public API functions
2017-11-19 17:27:07 +01:00
Marcus Weseloh
0786d8a37f
Remove unused define
2017-11-19 14:43:19 +01:00
Marcus Weseloh
e94b7f8003
Remove unused include in fluid_ladspa.c
2017-11-19 14:31:36 +01:00
Marcus Weseloh
79c32301f2
Move fluid_synth_get_ladspa_fx to synth, typedef to types.
2017-11-19 14:29:32 +01:00
derselbst
1bd85ffba7
remove meaningless multiplication
...
value never read
2017-11-18 21:43:21 +01:00
Marcus Weseloh
e511992680
Expose LADSPA functions via public API
...
Always compile in fluid_ladspa.h and c to that the LADSPA API functions
are always exposed, but use dummy functions that return failure (NULL,
FLUID_FAILED or FALSE) if LADSPA isn't available.
2017-11-18 20:48:30 +01:00
Marcus Weseloh
1863c618e8
Add function to get LADSPA effects instance from synth
2017-11-18 20:48:30 +01:00
derselbst
02d5ce331c
remove meaningless statement in fluid_conv.c
2017-11-18 20:15:57 +01:00
jjceresa
219ae7556b
Minor coding changes
2017-11-16 14:04:54 +01:00
jjceresa
dc38ba7bc5
Avoiding level/width dependency
...
Adding a compensation to cancel level versus width dependency settings.
2017-11-16 01:33:44 +01:00
jjceresa
fe2fd682e5
Clipping upper limit of roomsize to 1.0f
...
This will avoid the output amplitude growing exponentially.
2017-11-16 00:30:14 +01:00
jjceresa
b71e1230e2
Adjust the upper limit of roomsize.
...
The upper limit is narrowed from 1.2 to 1.0 value to avoid output
growing exponentially.
2017-11-16 00:16:34 +01:00
derselbst
1815ca880f
Merge branch 'master' into sm24
2017-11-15 21:01:34 +01:00
derselbst
fd7bc44b0b
call fluid_synth_all_notes_off() directly
2017-11-15 17:13:23 +01:00
derselbst
7dee2c18e9
implement handling of FLUID_SEQ_ALLSOUNDSOFF
2017-11-15 17:10:26 +01:00
Tom M
415fdbd89b
Merge pull request #275 from carlo-bramini/cmake-win32-1
...
Improvements to cmake for win32 and other bits.
2017-11-15 10:56:58 +01:00
derselbst
bbc6a6098a
Remove unused _fluid_midi_router_t::synth
2017-11-15 10:52:12 +01:00
derselbst
31cc93f2fc
readd HAVE_IO_H check to config.cmake
...
fix compiler warnings
2017-11-15 10:32:15 +01:00
derselbst
a8a7dba0df
remove obsolete config_win32.h from src/CMakeLists.txt
2017-11-15 10:12:13 +01:00
carlo-bramini
acf2395a41
Revert "Use alloca()/_alloca() on C89/C90 compilers without VLA"
...
This reverts commit b8766aef67
.
2017-11-14 23:11:23 +01:00
carlo-bramini
e18c8c3ae4
Revert "Fix macros for alloca/_alloca usage (not a source of problems in current code)."
...
This reverts commit 15b31be962
.
2017-11-14 23:07:47 +01:00
Marcus Weseloh
9dc7a4e52c
Merge branch 'master' into ladspa
2017-11-13 22:30:41 +01:00
derselbst
ecdd6e2a8a
avoid pointless MSVC warnings
...
return value in void function
2017-11-13 20:32:02 +01:00
loki666
3908917aab
return FLUID_FAIL when sampletype is OGG but not compiled with LIBSNDFILE_SUPPORT
2017-11-13 15:21:30 +01:00
carlo-bramini
15b31be962
Fix macros for alloca/_alloca usage (not a source of problems in current code).
2017-11-12 16:57:11 +01:00
carlo-bramini
48941897b9
No need to increment string pointer at exit.
2017-11-12 16:27:36 +01:00
carlo-bramini
4a5648141c
glib.h is already included by fluidsynth_priv.h
2017-11-12 16:26:50 +01:00
carlo-bramini
b8766aef67
Use alloca()/_alloca() on C89/C90 compilers without VLA
2017-11-12 16:16:34 +01:00
carlo-bramini
f9ca336a2d
Check if pulse driver is installed and enabled.
2017-11-12 14:56:57 +01:00
carlo-bramini
3fb1bf8d5c
Remove includes already into fluidsynth_priv.h with #ifdef...#endif
2017-11-12 14:53:26 +01:00
carlo-bramini
d1dd24f45a
Remove obsolete config_win32.cmake
2017-11-12 13:26:08 +01:00
carlo-bramini
582d316f9f
Remove obsolete config_win32.h
2017-11-12 13:24:36 +01:00
Marcus Weseloh
e844b3567c
Fix typo in FLUID_STRNCASECMP for Windows
2017-11-12 11:00:20 +01:00
Marcus Weseloh
50b50e765d
Remove debug print statement
2017-11-12 00:54:10 +01:00
Marcus Weseloh
9509628da1
Use glib dynamic librar loading functions
2017-11-12 00:53:57 +01:00
derselbst
13728ed0bd
update API doc about fluid_audio_driver_register()
2017-11-11 15:27:35 +01:00
derselbst
52b892c534
consistently use fluid_seq_id_t for new API
...
ABI breaking change
2017-11-11 12:18:09 +01:00
derselbst
696c736b2f
introduce separate type for client IDs
2017-11-11 12:14:13 +01:00
derselbst
c7a02bd812
make fluid_settings_foreach_t const correct
2017-11-11 11:09:17 +01:00
derselbst
12a9692211
make fluid_settings_foreach_option_t const correct
2017-11-11 11:04:12 +01:00
Tom M
180038d416
Merge pull request #271 from fabiangreffrath/cmake_mingw_libname
...
fix library file names when building with MinGW and CMake
2017-11-10 20:58:23 +01:00
derselbst
4571d996b3
remove unused forward declarations
2017-11-10 20:49:06 +01:00
derselbst
f2c4cfb6b6
remove orphaned /src/unused/ dir
2017-11-10 20:48:37 +01:00
Marcus Weseloh
007cd2b5fc
Merge branch 'master' into ladspa
...
Resolve conflicts in:
src/bindings/fluid_ladspa.c
2017-11-10 19:36:30 +01:00
Marcus Weseloh
b2aed2b317
Fix compilation error if LADSPA is not enabled
2017-11-10 19:09:04 +01:00
Tom M
987aa33486
Merge pull request #263 from FluidSynth/rm-def-mod
...
support removing default modulators
2017-11-10 16:41:56 +01:00
Marcus Weseloh
1a91e971d4
Always prepare the reverb and chorus sends when LADSPA is active
...
This change enables users to disable the internal reverb and chorus
and process the mixed down reverb and chorus send signals using
LADSPA plugins.
2017-11-10 15:37:00 +01:00
Fabian Greffrath
9a205c0b8b
fix library file names when building with MinGW and CMake
...
We have applied this patch to the mingw-w64-fluidsynth package [1] in
MSYS2 to recieve the same library file names when building with CMake
as we got when building with Autotools.
[1] https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-fluidsynth
2017-11-10 13:20:14 +01:00
Tom M
a13cf153d9
Merge pull request #265 from FluidSynth/delete-refactor
...
refactor destructor functions to return void if possible and make them safe when called with NULL
2017-11-08 15:45:49 +01:00
Marcus Weseloh
87c37f305d
Explicity create left and right host buffers
...
Makes it possible to create a single host buffer node for the
effect sends.
2017-11-07 23:49:57 +01:00
Marcus Weseloh
4b2414761b
Reapply "make struct _fluid_ladspa_fx_t opaque" effects from 5afb1a854b
2017-11-07 23:49:57 +01:00
Marcus Weseloh
9f6ef4e67e
Cleanup API and docs
...
- Rename functions to clarify purpose
- Group functions in header by purpose
- Cleanup doc comments
- Remove unused members from structs
2017-11-07 23:49:57 +01:00
Marcus Weseloh
6508d36bea
Remove some macros and cleanup comments
2017-11-07 23:49:57 +01:00
Marcus Weseloh
1ba0450f3a
Remove enum for output mode, use a simple flag instead
2017-11-07 23:49:57 +01:00
Marcus Weseloh
be38fa98e3
Cleanup ladspa commands and add more comments
...
Remove the <effect name>:<port name> syntax for ladspa_link again,
better to have them as two separate arguments. Also remove the
<lib name>:<plugin label> syntax, use separate args where as well.
2017-11-07 23:49:57 +01:00
Marcus Weseloh
61ea5e19db
Remove the node concept completely from LADSPA api
2017-11-07 23:49:57 +01:00
Marcus Weseloh
9af97fb02b
Add note that LADSPA doesn't need very long command lines anymore
2017-11-07 23:49:57 +01:00
Marcus Weseloh
0b263175d3
Rename "plugin" to "effect" where it's used to mean "plugin instance"
2017-11-07 23:49:57 +01:00
Marcus Weseloh
4212dd04f7
Smaller cleanups for fluid_cmd
2017-11-07 23:49:57 +01:00
Marcus Weseloh
ea3481c57e
Control port values are always float
2017-11-07 23:49:57 +01:00
Marcus Weseloh
fa0b210233
Rename function to set effect control port value
2017-11-07 23:49:57 +01:00
Marcus Weseloh
bcf711f51a
Rename check for effect port existance
2017-11-07 23:49:57 +01:00
Marcus Weseloh
adcd5a5d53
Cleanup automatic control node creation
...
Change function signatures and names to better reflect what they do
and when they do it.
2017-11-07 23:49:57 +01:00
Marcus Weseloh
72517b8715
No need for user created control nodes anymore
...
Control nodes are created automatically when effect is added now.
Also remove the now unused FLUID_LADSPA_FIXED direction.
2017-11-07 23:49:57 +01:00
Marcus Weseloh
e0463843fa
Rename ladspa_node to ladspa_buffer
...
Users don't need to create control nodes anymore
2017-11-07 23:49:57 +01:00
Marcus Weseloh
026bcbcc78
Create control nodes automatically and use better interface to set value
...
Removes ladspa_control_defaults and ladspa_control in favour of the new
ladspa_set. Nodes for all effect controls are created when the effect
is instantiated.
2017-11-07 23:49:57 +01:00
Marcus Weseloh
ea9c868c86
Make plugin label optional when creating effect
2017-11-07 23:49:57 +01:00
Marcus Weseloh
a4312c65ed
Remove explicit direction from ladspa_link and fluid_ladspa_connect
2017-11-07 23:49:57 +01:00
Marcus Weseloh
1684427c33
Rename ladspa_port to ladspa_link
2017-11-07 23:49:57 +01:00
Marcus Weseloh
55cd5040a7
Allow port names in fluid_port to be specified as one argument
2017-11-07 23:49:57 +01:00
Marcus Weseloh
5aecf97097
Rename command ladspa_plugin to ladspa_effect, remove ladspa_mode
2017-11-07 23:49:57 +01:00
Marcus Weseloh
6eb8212723
Add consistent checking for inactive ladspa in fluid commands
2017-11-07 23:49:57 +01:00
Marcus Weseloh
5b4ad47bee
Effects (plugin instances) identified by name instead of unique id
2017-11-07 23:49:57 +01:00
Marcus Weseloh
e77e702b16
Add support for run_adding mode of plugins and in-place rendering
...
In-place rendering is implemented in such a way that there is no
change in behaviour if it is enabled or not. So there's no need
for a user setting.
Run adding mode is a LADSPA feature that plugins can support. Using
that mode, they don't replace an output buffer, but add their rendered
audio to it (with a user definable gain). A very necessary feature to
be able to use a LADSPA reverb in place of the internal reverb.
2017-11-07 23:49:57 +01:00
derselbst
2ed47f23b5
Revert "make struct _fluid_ladspa_fx_t opaque" to prepare ladspa merge
...
It's effects will be replicated after merge.
This reverts commit 5afb1a854b
.
# Conflicts:
# src/bindings/fluid_ladspa.c
2017-11-07 23:49:57 +01:00
Tom M
15464b1453
Merge pull request #267 from carlo-bramini/stdint-fixes
...
use stdint compliant ints; include stdint.h if possible, else fallback to glib
2017-11-07 21:41:49 +01:00
Tom M
2c5e7ab6e4
Merge pull request #266 from tomcucinotta/autoconnect_alsa_at_runtime
...
Autoconnect ALSA MIDI inputs also while fluidsynth is running
2017-11-07 21:38:23 +01:00
derselbst
b1d0db7d5c
define customized fluid_return_if_fail
...
unlike glib's g_return_if_fail, dont log to console if condition fails
2017-11-07 21:11:49 +01:00
Tom M
91a63595f4
Merge pull request #261 from VolcanoMobile/player_seek
...
add seek to player
2017-11-07 11:34:15 +01:00
Tom M
0a4a588d7c
bump version for fluid_player_seek()
2017-11-07 11:33:02 +01:00
loki666
aa8a32951a
avoid hanging notes
2017-11-05 20:27:21 +01:00
carlo-bramini
c2eab91ac2
Remove VisualC++ types.
2017-11-05 18:20:51 +01:00
carlo-bramini
137ace8e87
Add also int64_t for completeness.
2017-11-05 17:59:07 +01:00
carlo-bramini
5a2bb5a109
Use GLIB types if stdint.h is not available
2017-11-05 16:08:43 +01:00
derselbst
1b2a098c7c
delete_*() refactorings in defsfont
2017-11-05 15:33:28 +01:00
carlo-bramini
cb4f1d389d
No need to read-modify-write, just set errors to TRUE
2017-11-04 13:07:18 +01:00
carlo-bramini
4ee44a24a5
Use stdint type names instead of sint8, sint16, etc
2017-11-04 12:53:44 +01:00
loki666
7a803c3ee4
fix typo
2017-11-03 22:48:21 +01:00
loki666
58ec452054
update api doc
...
fluid_player_seek returns FLUID_FAILED if ticks is negative
2017-11-03 21:11:32 +01:00
loki666
64eda30cf4
handle seeking in fluid_track_send_events
2017-11-02 10:51:07 +01:00
Tommaso Cucinotta
f23b0f7a19
Autoconnect ALSA MIDI inputs not only on start, but also while fluidsynth is running (if midi.autoconnect == 1).
2017-11-01 18:10:23 +01:00
derselbst
78ab309bb6
complete implementation of fluid_audio_driver_register()
2017-11-01 16:20:16 +01:00
loki666
3f1a05cf38
update fluid_player_seek API doc, and return values
2017-11-01 09:49:21 +01:00
Tom M
97a1a24874
Merge pull request #262 from FluidSynth/doc-2.0
...
cleanup API doc
2017-10-31 16:56:12 +01:00
derselbst
242c2cd119
replace NEXT_RELEASE with 2.0.0
...
find . -type f -exec sed -i s/@NEXT_RELEASE@/2.0.0/ '{}' \;
2017-10-30 19:26:40 +01:00
derselbst
9b6d3d4c55
support for registering audio drivers based on actual needs
2017-10-30 17:42:37 +01:00
derselbst
abab1f87e4
make modulator API const correct
2017-10-30 15:21:38 +01:00
derselbst
179f87f952
add a function for removing default modulators
2017-10-30 15:19:46 +01:00
derselbst
60121af287
fix segfault when deleting sample_timers
2017-10-30 13:10:52 +01:00
derselbst
681f62ce4d
fix conflicting declarations
...
fix build
2017-10-30 11:53:02 +01:00
derselbst
1da426dcfd
remove redundant NULL checks in delete_fluid_synth()
2017-10-30 11:37:06 +01:00
derselbst
5427a4ebf5
refactor delete_fluid_voice() to return void
...
return value was ignored anyway
2017-10-30 11:33:23 +01:00
derselbst
bf978e2b6b
even more destructor refactor
2017-10-30 11:28:08 +01:00
loki666
6c8a72fa0a
add seek to player
2017-10-30 10:53:45 +01:00
derselbst
a381b09dc6
remove orphaned fluid_defsfont_get_sample()
2017-10-29 21:05:18 +01:00
derselbst
323320e7e4
refactor all destructor functions
...
to return void if possible and not crash if called with NULL
2017-10-29 13:23:08 +01:00
derselbst
c40c49b331
fix usage of incorrect string format argument
...
causing segfault
2017-10-28 19:48:29 +02:00
derselbst
d8d5679c8e
fix segfault in delete_fluid_ringbuffer()
2017-10-28 19:47:56 +02:00
derselbst
0ac6209356
Merge branch 'master' into sm24
2017-10-28 16:23:24 +02:00
derselbst
2b882c2877
fix build
2017-10-28 14:19:20 +02:00
derselbst
6dfd736460
refactor return values in fluid_cmd.c
...
consistently return FLUID_OK or FLUID_FAILED for shell command handlers
2017-10-28 14:02:44 +02:00
derselbst
707f1eb079
conflicting function delcarations
...
fix build
2017-10-28 13:53:33 +02:00
derselbst
0ef6da7740
minor clarification
2017-10-28 13:50:13 +02:00
derselbst
8f83592b6e
fix wrong printf format
2017-10-28 13:36:32 +02:00
derselbst
642b9750b2
remove unimplemented fluid_handle_mstat()
2017-10-28 13:31:10 +02:00
derselbst
634c07ed45
remove error hiding casts in fluid_commands[]
2017-10-28 13:30:35 +02:00
derselbst
f2263e2f62
avoid using g_atomic* directly
2017-10-28 12:57:47 +02:00
Tom M
ad9c185dca
Merge pull request #255 from FluidSynth/alsa-autocon
...
Autoconnect ALSA MIDI inputs.
2017-10-27 22:31:17 +02:00
Tom M
9c7b8f330d
Merge pull request #251 from FluidSynth/polish
...
Some optimizations
2017-10-27 22:27:01 +02:00
derselbst
479b31c9fe
init static atomics in a more general way
2017-10-27 21:04:28 +02:00
derselbst
1eb6aa97f3
avoid using deprecated tuning functions
2017-10-27 16:59:20 +02:00
derselbst
db373f168f
Merge branch 'fluid_atomic' of git://github.com/VolcanoMobile/fluidsynth into VolcanoMobile-fluid_atomic
2017-10-27 15:58:54 +02:00
Tom M
f17f5333a8
Merge pull request #257 from VolcanoMobile/default_soundfont_optional
...
dont register synth.default-soundfont if not defined
2017-10-27 15:40:55 +02:00
Tom M
8339a1e70e
Merge pull request #256 from VolcanoMobile/defsfont_cleanup
...
remove glib.h import from fluid_defsfont.h
2017-10-27 15:40:32 +02:00
loki666
d1cc61745c
dont register synth.default-soundfont if not defined
2017-10-26 22:56:49 +02:00
loki666
8eccbb39ab
remove glib.h import from fluid_defsfont.h
2017-10-26 22:54:37 +02:00
derselbst
5afb1a854b
make struct _fluid_ladspa_fx_t opaque
2017-10-26 21:45:29 +02:00
Philippe Simons
cdd9f75112
thread function return type ( #254 )
...
typedef the return value of thread starting routines, as suggested by @loki666
2017-10-26 18:08:10 +02:00
derselbst
56969332b2
promote audio.alsa.autoconnect to a more general setting
...
that could be used across different midi drivers
2017-10-26 15:56:27 +02:00
derselbst
7872f80827
rename alsa autoconnect function to be alsa_seq specific
2017-10-26 15:51:34 +02:00
derselbst
48eb3943e2
adjust log levels for alsa autoconnect
2017-10-26 10:39:52 +02:00
loki666
8b78e3e798
fix fluid_winmidi.c
2017-10-25 23:06:08 +02:00
loki666
6d9081e1a5
use fluid_atomic types in fluid_ladspa and fluid_winmidi
2017-10-25 23:03:56 +02:00
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