Commit graph

1986 commits

Author SHA1 Message Date
derselbst
9ef169cb00 fix building CoreAudio on OSX 10.4
by cleaning up fluidsynth's private includes
2019-02-15 17:55:02 +01:00
derselbst
5c4ff485c2 log when using the server in a build wihtout network support 2019-02-10 08:53:25 +01:00
derselbst
52cd3338ac re-enable Network Support on Darwin 2019-02-10 08:37:40 +01:00
derselbst
c096c54cb6 Merge branch '2.0.x' into master 2019-02-09 09:52:53 +01:00
Tom M
38ae851202
add FreeBSD status badge to README 2019-02-09 09:52:34 +01:00
derselbst
63e0129f90 add circleCI for FreeBSD builds 2019-02-08 20:01:41 +01:00
derselbst
551d6495df cmake: correctly query for glib version 2019-02-08 19:59:46 +01:00
derselbst
851a26fff1 bump to 2.0.4 2019-02-08 17:39:12 +01:00
derselbst
e4d30ac61e suppress a few narrowing conversion warnings on windows 2019-02-08 17:28:57 +01:00
derselbst
aa65624f8c Merge branch '2.0.x' into master 2019-02-07 08:55:24 +01:00
derselbst
b6a5c5f570 avoid using g_stat on windows if glib < 2.26
Closes #452.
2019-02-03 19:45:51 +01:00
derselbst
12dd1c7653 reorder calls to fluid_file_test 2019-02-03 14:28:31 +01:00
Tobias Kortkamp
ff6377a3bd Address comments from #472
Resolves #508.

Signed-off-by: Tobias Kortkamp <t@tobik.me>
2019-02-03 11:09:08 +01:00
Yuri
22dd94fc5c FreeBSD compatibility patch upstream from the port 2019-02-03 11:06:17 +01:00
derselbst
06ef8a4e09 fluid_is_midifile(): only accept regular files 2019-02-01 13:10:52 +01:00
derselbst
64c90a6c49 restrict soundfont loading to regular files only
i.e. forbid to load directories, block devices, dangling symlinks, etc.
2019-02-01 11:22:14 +01:00
derselbst
630523ba73 remove fluid_synth_set_gen2()
...and all other absolute NRPN generator leftovers, closes #415
2019-01-27 11:15:14 +01:00
derselbst
70727b2f7a Merge branch 'master' into cleanup21 2019-01-27 10:48:07 +01:00
Tom M
09076e231d
Update issue_template.md 2019-01-17 19:52:27 +01:00
derselbst
72cb4504bc another cross compilation fix
fixes #501
2019-01-17 17:19:51 +01:00
derselbst
b98ba5bc63 Merge branch '2.0.x'
Closes #500
2019-01-12 16:54:35 +01:00
Marcus Weseloh
caf61baa04 Increase verbosity for fluid_settings_* functions 2019-01-12 14:37:27 +01:00
Marcus Weseloh
53bed2d506 Fix example code to deactivate reverb and chorus via fluid_settings_setint 2019-01-12 14:37:20 +01:00
Marcus Weseloh
241f676047 Add note about changes to fluid_settings_set* functions introduced in #293 2019-01-12 14:37:12 +01:00
Tom M
4f25d0c809
Merge pull request #498 from FluidSynth/zone-names
As instrument zone are common to all preset zones, an instrument zone cannot uniquely identified by a preset zone name.
Note: instrument zone name and preset zone name are used in warning about invalid modulators.
2019-01-04 11:25:10 +01:00
jjceresa
b462e25ba3 Removing useless preset_zone parameter. 2019-01-03 19:57:27 +01:00
jjceresa
cc3d93b56e Change on prefixe zone name
-Name of an instrument zone shouldn't prefixed by the preset zone
 name.
 This is due to the fact that instrument zone are common to all
 preset zone. Consequently, an instrument zone cannot identfied
 via a preset zone.
-This new change, simply prefixe a zone as this:
 instrument zone name prefixed by iz:
 preset zone name prefixed by pz:
2019-01-03 19:40:55 +01:00
derselbst
8b1820580b Merge branch '2.0.x' 2018-12-30 12:42:30 +01:00
derselbst
1bae9b2fe1 bump to version 2.0.3 2018-12-30 12:42:00 +01:00
derselbst
0f6c40c15e stop adding empty strings to readline's history 2018-12-29 19:58:10 +01:00
derselbst
8634613509 fix incorrect documentation of fluid_sample_sizeof() 2018-12-29 18:27:24 +01:00
derselbst
b7b420617b fix double free in fluid_sample_set_sound_data() 2018-12-29 18:21:43 +01:00
derselbst
15d27b7145 fix inverse logic in fluid_sample_set_sound_data() 2018-12-29 17:34:36 +01:00
derselbst
4d612c22f4 fix segfaults in fluid_is_soundfont() and fluid_is_midifile() 2018-12-29 11:18:36 +01:00
derselbst
488da516cd clarify documentation of fluid_sample_sizeof() 2018-12-28 14:54:13 +01:00
derselbst
c8b18056c6 remove unused fluid_sample_t::userdata 2018-12-28 14:47:55 +01:00
derselbst
2c9c176e17 fix documentation of fluid_sfont_iteration_next_t 2018-12-26 21:03:59 +01:00
derselbst
6d981aedfe Merge branch '2.0.x' into master 2018-12-22 16:08:54 +01:00
carlo-bramini
828307ff09 Fix error with MSVC (#492)
FLUID_INLINE must be used instead of inline, otherwise MSVC fails to build fluidsynth.
2018-12-22 16:08:09 +01:00
derselbst
d2078e63b4 clarify need for io.h 2018-12-22 16:05:22 +01:00
derselbst
06ec2d4e67 Revert "remove unused io.h include"
This reverts commit cb485806c3. Fixes #491.
2018-12-22 16:04:49 +01:00
derselbst
5fe56b32b2 clarify availability sdl2 and waveout audio driver options 2018-12-21 20:11:01 +01:00
derselbst
10ddcc0cd3 Merge branch '2.1-testing' into master 2018-12-21 20:05:32 +01:00
jjceresa
458cea0aff Fix incorrect comment (#488)
Normalized value of MIDI sources (before unipolar or bipolar mapping) is always in the range [0..+1], regardless of MIDI event (even for FLUID_MOD_PITCHWHEEL).
2018-12-21 19:54:15 +01:00
Tom M
d666515c31
Merge pull request #487 from FluidSynth/min-attenuation
Fix minor bug in lower_boundary_for_attenuation()
2018-12-21 19:53:26 +01:00
jjceresa
e9b0f0d24b Add modulators checking at soundfont loading time (#467)
Actually some basic modulators check are done at noteon time (in fluid_voice_add_mod()). That means that we know if a modulator (modx) is invalid only when a MIDI noteon is received and only for a preset modx belongs to. This is not appropriate.

This moves the modulator checking at soundfont loading time. Enhancements are:
1) A better verbose modulator integrity check, for any soundfont loaded at appropriate time.
1.1) All modulators are checked (preset zone (local/global), instrument zone (local/global).
1.2.1) Modulators check are enforced to source src1 and src2  (for non-CC and CC sources) (following SF specs (except for CC LSB) ( see comment in fluid_synth_cc_LOCAL()).
Modulators CC sources checking is coherent with the actual behaviour in fluid_synth_cc_LOCAL() in regard of modulation triggering.
1.2.2) Also, identical modulator in the same zone are detected. 
1.2.3) Any invalid modulator(sources invalid, or modulator identical) is removed at loading time with a warning message displaying the cause and name of the modulators.

2) This fix a bug in noteon, in the case of identical modulators in global preset zone.
Assuming 2 identical modulator (m1 and m2) in a preset global zone, the actual noteon doesn't check this case (the actual code detect identical modulator in all others zones (instrument (local or global), preset(local)) but not preset global).

3) NoteOn is faster.
3.1)There is no more modulators checks at noteon making this more efficient.
3.2) As there are no identical modulator in the same zone, there is no more identity modulator check (i.e local zone against local zone), (i.e global zone against global zone). This result in a faster code and the bug described in (2) is gone.

4) Modulators sources checking as been added in API functions fluid_synth_add_default_mod() and fluid_voice_add_mod(). Please
2018-12-21 19:42:00 +01:00
jjceresa
e8dd6ae389 Import modulator source src1 correctly.
- When primary source input (src1) is set to General Controller
  'No Controller', output will be forced to 0.0 at synthesis time
  (see fluid_mod_get_value()).
  That means that the minimum value of the modulator will be always 0.0.
  We need to force amount value to 0 to ensure a correct evaluation of the
  minimum value later (see fluid_voice_get_lower_boundary_for_attenuation()).
2018-12-21 12:19:37 +01:00
derselbst
54a9f29305 remove public comments about internal details 2018-12-20 17:46:10 +01:00
derselbst
d0813be1c5 add missing getters for lyric and text midi events
fixes #468
2018-12-20 17:45:10 +01:00
jjceresa
b659fd82a5 Import modulator source src2 correctly.
- When secondary source input (src2) is set to General
  Controller 'No Controller', output will be forced to +1.0 at synthesis time
  (see fluid_mod_get_value()).
  That means that this source will behave unipolar only. We need to force the
  unipolar flags to ensure the modulator will behave correctly later in
  fluid_voice_get_lower_boundary_for_attenuation().
2018-12-19 18:12:09 +01:00