Commit graph

395 commits

Author SHA1 Message Date
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
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