Commit graph

820 commits

Author SHA1 Message Date
carlo-bramini
e298fefd7f cleanup audio and midi driver instantiation (#448)
Instead of saving the name of the driver, it would be worth to save to pointer to the selected definition instead.
In this way, the function for deleting the driver does not need to search its name by parsing all the list, but it just needs to call the pointer into the saved definition (less code). This fix can be applied to MIDI drivers too. 
I also moved the FLUID_FREE(allnames) inside the "if(allnames != NULL)" block, nothing bad should happen even by keeping that instruction outside, but actually there is no need to call the free if allnames is NULL.
2018-10-27 16:22:44 +02:00
Tom M
121ed7124e
Merge pull request #447 from FluidSynth/zero-size-arr
Fix build when no audio drivers are supported
2018-10-23 17:41:35 +02:00
derselbst
e03e2edf8d register settings before adding options 2018-10-23 17:07:34 +02:00
derselbst
f6e70b38c7 clarify log message when no MIDI drivers are available 2018-10-21 20:26:46 +02:00
derselbst
327b3fb45b clarify log message when no audio drivers are available 2018-10-21 20:21:21 +02:00
carlo-bramini
a7c5b66872 Simplify MIDI driver installation 2018-10-21 13:35:41 +02:00
carlo-bramini
70f4551e90 Simplify audio driver installation
In my opionion, it should be possible to simplify the code by installing the drivers with a for() cycle instead of doing tons of #ifdef...#endif.
The size of the binary code is basically the same as before, but the source lines are much less. I think that it could be done also for MIDI input drivers.
2018-10-21 13:35:32 +02:00
carlo-bramini
326c20c0e3 Remove duplicated init_dither() declaration (#446) 2018-10-20 20:06:38 +02:00
derselbst
670cdf1e8f conditionally compile fluid_aufile.c 2018-10-20 15:15:43 +02:00
derselbst
08b5333398 remove macro workaround when no midi drivers are supported 2018-10-20 15:05:18 +02:00
derselbst
5bd07c120c fix build when no audio drivers are supported 2018-10-20 15:04:55 +02:00
carlo-bramini
ebc177f48f Consistently use FLUID_LOG macro (#443) 2018-10-16 18:02:27 +02:00
derselbst
7517c17524 Revert "make fluid_log() thread safe"
This reverts commit d25cdae17c.
Mistakenly committed too early on the wrong branch.
2018-10-12 09:24:07 +02:00
derselbst
2b563071f6 initialize logging at compile time 2018-10-09 18:11:37 +02:00
derselbst
d25cdae17c make fluid_log() thread safe
by using a local buffer rather than global one, intentionally breaks
fluid_synth_error()
2018-10-09 18:00:19 +02:00
derselbst
c93fdd4b10 avoid chorus depth from spamming the console
on any chorus setting, if the previous depth was out of range
2018-10-07 13:15:05 +02:00
derselbst
0920db6d1f abort 'set' shell command if param not found 2018-10-07 12:56:18 +02:00
derselbst
ce57220d65 dont cast const qualifier away 2018-10-06 14:27:10 +02:00
carlo-bramini
f74f415a69 Avoid duplication of fluid_chorus_sine() call.
Closes #439.
2018-10-06 12:05:10 +02:00
Tom M
b768ad6d14
Merge pull request #437 from FluidSynth/null-fixes
NULL derefs and mem leaks in soundfont loader
2018-10-06 11:55:11 +02:00
derselbst
3ef6af5ade Merge branch 'recent-docs' 2018-10-06 11:45:18 +02:00
derselbst
fd7db023dd set upper chorus depth to 256 ms
upper depth limit (ms) = (MAX_SAMPLES * 1000) / lower sample rate limit

with MAX_SAMPLES==2048 && lowersrate==8000
2018-10-05 18:39:54 +02:00
derselbst
f972fbf1ec remove experimental hint from fluid_synth_set_sample_rate() 2018-10-05 18:12:31 +02:00
derselbst
57ef2dfed8 fix memory leaks in load_phdr() and load_ihdr() 2018-10-02 20:20:22 +02:00
derselbst
7f2d655b9c fix various NULL derefs in fluid_sffile 2018-10-02 20:14:56 +02:00
derselbst
b31afd65a5 fix NULL deref in new_fluid_hashtable_full() 2018-10-02 19:33:50 +02:00
carlo-bramini
6f8a574e36 Various fixes to dsound driver (#435)
- fluid_dsound_audio_run() and fluid_win32_error() are now static functions.

- WAVEFORMATEX is not required by DirectSound during the playback. We do not need it anymore after calling ::SetFormat(), so allocating this structure dynamically inside driver structure is useless.

- Implemented support for float sample type.

- Uses an event object for handling the end of thread, it allows to combine the quit event with the later wait in milliseconds in a single block.

- Calculates the amount of milliseconds to sleep rather than sleeping always for one millisecond.

- Fix an error into a FLUID_LOG() call.

- Fix handle leak of the thread, now it is correctly closed with CloseHandle().

- ExitThread() is a nonsense in that position, since the thread is already exiting.

- Fix error when compiling with WSDK 8.1, by defining NOBITMAP, in case NOGDI macro added somewhere
2018-09-29 10:08:34 +02:00
derselbst
923f5f3544 update API doc of delete_fluid_sequencer() 2018-09-21 19:00:28 +02:00
Tom M
fb684aa5d8
Merge pull request #434 from rncbc/jack_driver-last_client-reuse-fix
jack_driver: last_client reuse fix.
2018-09-20 20:20:55 +02:00
jjceresa
75b77f0186 Remove redundant invalid preset generators checking in fluid_defpreset_noteon() (#430) 2018-09-20 20:11:11 +02:00
rncbc
99e235e279 jack_driver: last_client reuse fix. 2018-09-20 09:04:21 +01:00
Colin Kinloch
f4b88fc747 coremidi input port and autoconnect (#427) 2018-09-15 14:08:55 +02:00
jjceresa
f566f0ef33 Simplify fluid_mod_get_xxx_value() signature. (#429) 2018-09-15 14:01:15 +02:00
Tom M
e4b8e2b44c
Implement fluid_get_userconf() on windows (#425) 2018-09-09 22:34:35 +02:00
derselbst
eb132d8196 correctly typedef fluid_stat_buf_t for glib < 2.26 2018-08-30 22:14:27 +02:00
derselbst
b9dd426046 correctly typedef fluid_stat_buf_t
fixing copy'n paste mistake... excuse me
2018-08-30 19:53:40 +02:00
derselbst
9052bad56c silence MSVC type narrowing warnings in fluid_cmd.c 2018-08-30 18:45:29 +02:00
derselbst
7d9a02d836 replace strlen with FLUID_STRLEN 2018-08-30 18:40:49 +02:00
derselbst
cdc8d38f4e silence MSVC type narrowing warnings in fluid_settings.c 2018-08-30 18:33:05 +02:00
derselbst
70fbabf97c fix incompatible types warning: 'fluid_stat_buf_t *' to '_stat64i32 *'
only occurs on Win64 with glib < 2.26
2018-08-30 17:38:19 +02:00
derselbst
4d8574d38a change fluid_log_* prototypes to const char* 2018-08-23 16:56:22 +02:00
Tom M
55a4bb5597
Merge pull request #421 from FluidSynth/test-flag
Always build unit tests, remove `enable-tests` cmake flag
2018-08-10 16:39:17 +02:00
derselbst
500959701e move fluid_file_renderer_settings() declaration to fluid_adriver.h 2018-08-08 20:55:32 +02:00
derselbst
908aaeb5cc cmake: setup linker directories before creating target 2018-08-07 15:19:05 +02:00
derselbst
39f574942e cmake: remove redundant include and link dir variables
cf. docs of pkg_check_modules()
2018-08-07 15:07:20 +02:00
derselbst
ff1482ec06 fix dll visibility on win32 for unittests 2018-08-06 20:29:50 +02:00
derselbst
521e5451fc remove cmake option enable-tests
Always build unit tests instead and use cmakes OBJECT library to bypass visibility control and the value of BUILD_SHARED_LIBS.
2018-08-05 20:50:41 +02:00
derselbst
063ab5d7d2 remove unused midi driver status functions 2018-07-21 10:43:38 +02:00
derselbst
47c4a5b1c7 remove various redundant audio / midi driver declarations
by moving already existing function declarations to fluid_adriver.h and
fluid_mdriver.h resp.
2018-07-21 10:37:43 +02:00
derselbst
f6f66d53fd make fluid_synth_write_float() safe when called with NULL buffers 2018-07-20 19:30:18 +02:00