Commit graph

1148 commits

Author SHA1 Message Date
carlo-bramini
7be328a357 Simpler implementation of WINMIDI driver. 2017-12-03 19:37:20 +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
Marcus Weseloh
8525e420b0 Allow overwriting the compile-time flags for gcc/clang. 2017-12-02 17:38:41 +01:00
Tom M
7d3ea52171
Merge pull request #293 from FluidSynth/settings-cleanup
Settings cleanup and refactor
2017-12-02 11:15:00 +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
Tom M
c94f747c04
Merge pull request #291 from FluidSynth/file-callback
Add file callbacks to fluid_sfloader_t
2017-11-27 16:54: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
derselbst
58a5f43d6a update fluidsettings about unique portaudio device names 2017-11-26 13:49:55 +01:00
derselbst
99c03350fc update API docs about unique portaudio device names 2017-11-26 13:41:46 +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
7a22eb87f6 add an example of how read a soundfont from memory 2017-11-26 10:07:08 +01:00
derselbst
332c221cfb update docs about file callback struct 2017-11-26 09:29:35 +01:00
derselbst
8fb1f500e0 validate param of new_fluid_defsfloader() 2017-11-26 08:55:19 +01:00
derselbst
6cdcf5137e make sure fluid_file_callbacks_t is recognized by doxygen 2017-11-25 23:10:09 +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
b334ba3f8f update API doc about fluid_sfloader_t::free() 2017-11-25 22:54:20 +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
1c6b0337f2 update API doc about fluid_file_callbacks_t 2017-11-25 22:05:31 +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