Commit graph

40 commits

Author SHA1 Message Date
Tom M
4a0a7365ee
Refactor Soundfont loader API (#334)
* add fluid_mod_sizeof() and fluid_sample_sizeof() for low latency scenarios
* fix return value of default_fclose
* enable padding warnings for cmake enable-profiling=1
* make these types private:
  * struct _fluid_sfloader_t
  * struct _fluid_sample_t
  * struct _fluid_sfont_t
  * struct _fluid_preset_t

...and provide proper getter and setter functions
2018-02-11 16:56:53 +01:00
derselbst
c61d093aec avoid redundant debug loop warnings 2018-01-18 14:13:09 +01:00
derselbst
57cbdda39a avoid a buffer overrun when loading corrupt soundfonts
addresses #327
2018-01-18 14:12:41 +01:00
Marcus Weseloh
aff8f0d458 Cleanup initial attenuation generator value handling (#324)
The EMU8k/10k hardware applies a 0.4 factor to all initially set attenuation generator values. Do this once on soundfont load.

Remove the invalid -531.509 power factor that was computed from Timidiy's non-standard conversion table. And remove the synth.volenv switch again, as the "compliant" setting wasn't compliant at all.

This allows us to get rid of the atten2amp function and use cb2amp everywhere, with a range of 0 1440 centibels.

Fixes #70 
Supersedes #71 
Supersedes #318
2018-01-09 16:30:43 +01:00
derselbst
7de0e02a82 Merge branch 'master' into sm24 2017-12-07 18:58:12 +01:00
derselbst
ce6c5cadcb fix build 2017-11-29 13:56:05 +01:00
derselbst
8fca88942d Merge branch 'master' into sm24 2017-11-29 10:03:42 +01:00
derselbst
4d65e07156 get rid of redundant fluid_sample_refcount macro
and access field directly
2017-11-27 17:27:37 +01:00
derselbst
9900d5f151 rename fluid_mod_new|delete() to match naming conventions 2017-11-27 16:58:27 +01:00
derselbst
8fb1f500e0 validate param of new_fluid_defsfloader() 2017-11-26 08:55:19 +01:00
derselbst
5c5423df32 update API doc about new_fluid_defsfloader() 2017-11-25 22:54:48 +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
96356cbf9d correctly check return values for file callback functions 2017-11-25 22:12:59 +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
derselbst
c56943cfc6 complete 24bit sample support for sfloader 2017-11-21 21:41:12 +01:00
derselbst
0802fdfe5e use FLUID_STRDUP rather than custom copy 2017-11-21 09:14:19 +01:00
derselbst
45bc334333 add 24 bit sample support to fluid_cached_sampledata_load() 2017-11-21 09:03:12 +01:00
derselbst
1815ca880f Merge branch 'master' into sm24 2017-11-15 21:01:34 +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
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
derselbst
1b2a098c7c delete_*() refactorings in defsfont 2017-11-05 15:33:28 +01:00
carlo-bramini
4ee44a24a5 Use stdint type names instead of sint8, sint16, etc 2017-11-04 12:53:44 +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
derselbst
0ac6209356 Merge branch 'master' into sm24 2017-10-28 16:23:24 +02:00
derselbst
0b8810ace8 wrap glib byteswap functions in custom FLUID macros 2017-10-25 16:11:43 +02:00
derselbst
3d7465a01e remove FLUID_STMT_[START|END]
for readability
2017-10-22 14:39:06 +02:00
carlo-bramini
6f7ec3b1fc Added FLUID_STMT_START and FLUID_STMT_END 2017-10-21 18:40:57 +02:00
carlo-bramini
031c3671da Replace GPOINTER_TO_INT with FLUID_POINTER_TO_INT 2017-10-21 18:33:27 +02:00
carlo-bramini
122b249e27 Replace G_INT_TO_POINTER with FLUID_INT_TO_POINTER 2017-10-21 18:32:17 +02:00
carlo-bramini
82454b9fd5 Remove useless code, it's identical for both LE & BE 2017-10-21 18:29:18 +02:00
carlo-bramini
95ea3c0fba idlist[], badgen[] and badpgen[] made static const 2017-10-21 12:47:59 +02:00
derselbst
fb36c245aa start implementing 24 bit sample support 2017-10-08 13:18:03 +02:00
derselbst
8fd8a75b9f parse sm24 chunk 2017-10-07 11:34:53 +02:00
derselbst
924d4b3e77 prefer snprintf to sprintf 2017-10-06 20:52:07 +02:00
derselbst
b71f474afa make fluid_preset_t::get_name() const correct 2017-09-20 12:55:55 +02:00
derselbst
aac2354f5c remove fop-level "fluidsynth" directory node
cd fluidsynth && git mv * ../
2017-09-03 13:30:26 +02:00
Renamed from fluidsynth/src/sfloader/fluid_defsfont.c (Browse further)