Commit Graph

1945 Commits

Author SHA1 Message Date
carlo-bramini afbd818f8a
Use M_LN10 macro instead of log(10.) 2018-11-03 17:07:20 +01:00
carlo-bramini 578f3ccbbe
Merge pull request #4 from FluidSynth/master
Sync to master
2018-11-03 16:06:11 +01:00
Tom M 0160543cdd
Compile time constant lookup tables with cmake (#438)
Autogenerate lookup tables with a C helper tool, allowing them to be compile time constant and reduce memory requirements esp. on embedded systems.
2018-11-03 14:38:54 +01:00
derselbst 28edbbfe83 fluid_settings_option_concat: dont count NULL options
should never happen though
2018-11-03 14:17:40 +01:00
derselbst 4d8954ee30 fix mistaken usage of fluid_synth_process in coreaudio driver 2018-11-03 14:11:05 +01:00
derselbst 31ccc6b6a0 fix a NULL deref in coreaudio driver 2018-11-03 14:11:05 +01:00
derselbst ffdf5b89d7 constify function parameters if possible 2018-11-03 14:11:05 +01:00
derselbst 16d81d50ea remove unused fluid_hz2ct()
Closes #455.
2018-11-03 09:13:56 +01:00
carlo-bramini 2205e4a8fc Use integer math
Since 'data' is an integer value clipped between +/-8192 and 'nrpn_scale' is a char value, this calculation could be done with integers and then return the fluid_real_t value.

Addresses #455.
2018-11-03 08:06:56 +01:00
carlo-bramini a948f7c5b2 Use integer math
Actually, using an integer division produces the same result.

Addresses #455.
2018-11-03 08:04:16 +01:00
carlo-bramini 241c82a4b0
Merge pull request #3 from FluidSynth/master
Sync to master
2018-11-01 11:00:10 +01:00
derselbst da6a2e7a91 travis: disable sudo 2018-10-31 13:23:05 +01:00
Tom M 3f4c08e34b
Merge pull request #442 from carlo-bramini/float-to-s16-1
Rounded samples do not need to be float.
2018-10-31 13:18:33 +01:00
derselbst ac356a408b update fluidsettings.xml on jack midi autoconnect 2018-10-31 13:14:59 +01:00
Colin Kinloch cf09b654ab jack midi autoconnect (#450) 2018-10-31 13:10:29 +01:00
derselbst b628115092 optimize rounding and clipping to int16 samples 2018-10-31 10:40:32 +01:00
derselbst ee5b0ea1c7 remove redundant declarations 2018-10-28 16:42:20 +01:00
derselbst a4ddc9396c avoid leaking memory in pulse driver 2018-10-28 16:37:44 +01:00
Tom M c0ff5a0af1
Optimize Travis and AppVeyor CI builds (#451)
* cleanup unneeded compiler variations (now builds in 7 min rather than 13 min)
* Windows:
  * use VS2017 for vcpkg, VS2015 for manual build
* Linux:
  * install alsa, jack, pulse, portaudio, ladspa, libsndfile for all builds
* MacOSX: 
  * use AppleClang
  * reorder macosx build in between linux build, as macosx usually takes longer to build, allowing to make better use of build time (via pipelining)
  * switch to XCode10, enabling TravisCI to support CoreAudio and CoreMidi
2018-10-28 16:29:15 +01:00
derselbst 3d94d01225 clang-tidy: remove annoying readability-inconsistent-declaration-parameter-name 2018-10-28 14:21:36 +01:00
Tom M 804cbf91c9
Merge pull request #449 from carlo-bramini/win-driver-selection
let cmake find WinMidi and DSound
2018-10-27 20:26:18 +02:00
derselbst e4ab5067f1 fix linker error on win32 without network support
by adding missing #ifdefs
2018-10-27 16:32:54 +02:00
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
carlo-bramini a1affca2ca
Use "enable-network" instead of NETWORK_SUPPORT 2018-10-27 10:11:28 +02:00
carlo-bramini 02d7ab6939
Fix "-mms-bitfields" option. 2018-10-26 19:49:27 +02:00
carlo-bramini 2ffad4dd2c
Add options for Windows drivers 2018-10-26 19:48:01 +02:00
carlo-bramini 30886a3d78
Remove handwritten macros 2018-10-26 19:44:27 +02:00
carlo-bramini 413bcbeb84
Add Windows driver support macro. 2018-10-26 19:43:27 +02:00
carlo-bramini 8ef6ac7dcc
Enable VersionInfo also for MINGW 2018-10-26 19:42:15 +02:00
carlo-bramini 7b6ebbea5b
Add Windows driver selection 2018-10-26 19:41:34 +02:00
carlo-bramini f8c470d3f7
Don't use an MFC include. 2018-10-26 19:38:04 +02:00
carlo-bramini 4f75973f88
Print status of Windows drivers 2018-10-26 19:35:50 +02:00
carlo-bramini f3afe61b6a
Merge pull request #2 from FluidSynth/master
Sync to master
2018-10-23 21:02:14 +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 dc15ace53a
Merge pull request #1 from FluidSynth/master
Consistently use FLUID_LOG macro (#443)
2018-10-20 11:24:34 +02:00
carlo-bramini ebc177f48f Consistently use FLUID_LOG macro (#443) 2018-10-16 18:02:27 +02:00
carlo-bramini d8890038b6
Rounded samples do not need to be float.
Actually, the function roundi() already returns an "int" type value, so in my opinion there is no need to use a floating point value for saturating the values in the range -32768/+32767. The generated assembly code looks more efficient after that.
2018-10-13 14:37:41 +02:00
derselbst 45e0f94b29 fuse fluid_gen_set_default_values() and fluid_gen_init()
avoids iterating over generators twice
2018-10-12 09:34:42 +02:00
derselbst f8a55cd10d remove fluid_error() 2018-10-12 09:34:25 +02:00
derselbst c483ae0f95 make fluid_log() thread safe
by using a local buffer rather than global one, intentionally breaks
the deprecated fluid_synth_error()
2018-10-12 09:34:01 +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