Chris Robinson
d387deb3e8
Fix a couple warning messages to show the correct instrument ID
2014-01-17 06:10:29 -08:00
Chris Robinson
7206f5873c
Partially handle the irom sub-chunk
...
Reject soundfonts that have ROM sample types without a valid irom sub-chunk.
2014-01-17 06:03:53 -08:00
Chris Robinson
05e9c824d5
Better handle original key and overriding root key
2014-01-17 05:14:58 -08:00
Chris Robinson
65a5311449
Rename aftertouch to keypressure
2014-01-17 04:18:49 -08:00
Chris Robinson
50c8d9181a
Add a config option to specify the extra MIDI volume scaling
...
The value specified is in decibels.
2014-01-17 00:58:47 -08:00
Chris Robinson
08ba5d9dba
Use a proper struct for envelope properties
2014-01-17 00:36:33 -08:00
Chris Robinson
e118ac93a0
Handle fontsound sample types using explicit enum values
...
Uses AL_MONO_SOFT, AL_RIGHT_SOFT, and AL_LEFT_SOFT. "Linked" samples types
aren't explicitly supported due to being under-defined in the SF2 spec, nor are
ROM samples currently.
2014-01-15 22:18:07 -08:00
Chris Robinson
9ebeae6228
Use ALfontsound_setPropi to set fontsound sample properties
...
And make sure the loop mode is properly translated for FluidSynth.
2014-01-15 21:17:46 -08:00
Chris Robinson
50b74629dd
Add a flag to specify the device being paused
...
Used to prevent UpdateDeviceParams from restarting the device, if a new context
is created while paused.
2014-01-15 16:44:12 -08:00
Chris Robinson
8d7559d9d0
Stop the device when updating parameters, don't close it
2014-01-15 16:30:23 -08:00
Chris Robinson
56899716d6
Add an extension to pause audio processing
2014-01-15 16:27:17 -08:00
Chris Robinson
443e6b73b2
Use the 64-bit clamp method when getting the MIDI clock time
2014-01-15 15:38:54 -08:00
Chris Robinson
5fdc3c093e
Don't use the same buffer segment for enqueueing in OpenSL
2014-01-15 15:27:38 -08:00
Chris Robinson
1739998045
Stop the OpenSL buffer queue when stopping the device
2014-01-15 15:14:25 -08:00
Chris Robinson
bdc5850120
Don't reset presets when loading/unloading soundfonts
2014-01-13 16:57:56 -08:00
Chris Robinson
24ffb5b464
Be more thorough when converting sf2 modulator properties
2014-01-13 16:50:12 -08:00
Chris Robinson
90fd92628d
Use FluidSynth enums when handling generators
2014-01-13 16:15:56 -08:00
Chris Robinson
0c80f62de7
Add a method to get soundfont samples
2014-01-13 00:20:14 -08:00
Chris Robinson
a5bfc1e30b
Add a method to get the current MIDI state
2014-01-12 12:27:46 -08:00
Chris Robinson
da2c9732da
Don't break with an override root key generator value of -1
...
An accidental hold-over from when it was using a switch.
2014-01-06 13:21:08 -08:00
Chris Robinson
cf66516a27
Load soundfont modulators into FluidSynth
2014-01-06 13:07:12 -08:00
Chris Robinson
4079ee2200
Add methods to get and set modulator properties on fontsounds
2014-01-05 17:21:34 -08:00
Chris Robinson
5f961a392e
Move some soundfont methods to ALsoundfont
2014-01-05 05:11:07 -08:00
Chris Robinson
540a99e71f
Allow "deleting" the default soundfont
...
The ID remains valid and the soundfont will be reloaded as needed, but this
provides a way for the application to clear up the soundfont memory.
2014-01-04 05:30:57 -08:00
Chris Robinson
86f250a3f5
Trace preset, instrument, and sample names with invalid key and velocity ranges
2014-01-04 04:34:32 -08:00
Chris Robinson
4834f56779
Don't create presets that don't have any usable sounds
2014-01-04 03:20:17 -08:00
Chris Robinson
2dd87946fd
Update some trace messages to be more useful
2014-01-03 23:19:52 -08:00
Chris Robinson
13066bbf87
Allow selecting the default soundfont using ID 0
2014-01-03 22:58:51 -08:00
Chris Robinson
42a67731c4
Add storage for a default soundfont object
2014-01-03 20:21:12 -08:00
Chris Robinson
3a31402b1e
Remove an unused method
2014-01-03 19:35:55 -08:00
Chris Robinson
d9846f3219
Move ALsoundfont methods to the right source file
2014-01-03 19:18:06 -08:00
Chris Robinson
e6e7e461c0
Avoid using alFontsoundiSOFT when loading a soundfont
...
This should now make the soundfont loader thread-safe.
2014-01-03 18:52:17 -08:00
Chris Robinson
5dc4ea15bb
Don't handle the list type in the RiffHdr struct
2014-01-03 18:09:51 -08:00
Chris Robinson
49c17ad520
Mostly load into fontsound objects directly
...
This leaves only one unsafe alFontsoundiSOFT call.
2014-01-02 13:53:16 -08:00
Chris Robinson
fcf9e72202
Load presets directly into objects
2014-01-02 11:40:30 -08:00
Chris Robinson
01f547b93e
Move some preset alloc/dealloc code to separate functions
2014-01-02 10:39:21 -08:00
Chris Robinson
3ff33e2f79
Update the soundfont preset count after loading a soundfont
2014-01-02 09:09:57 -08:00
Chris Robinson
7d94e9c52f
Don't allow soundfonts with existing presets in alLoadSoundfontSOFT
2014-01-01 07:33:48 -08:00
Chris Robinson
0a5a08c0fb
Pass the ALsoundfont object to loadSf2, rather than its ID
2014-01-01 07:25:23 -08:00
Chris Robinson
e699ab8614
Force all FluidSynth sounds off when changing soundfonts
...
Selecting soundfonts should only happen when the MIDI engine is stopped or
reset. When stopped some notes may be left in a release phase, but we need to
ensure all fluid_sample_t objects are finished before unloading since the
soundfont (and associated sample memory) may be deleted at any time afterward.
2013-12-31 00:49:43 -08:00
Chris Robinson
6b2d3c3cfa
Remove some unused MIDI backend methods
2013-12-29 06:02:48 -08:00
Chris Robinson
396a2f1595
Don't destroy the fluid_sfont_t if any of its samples are still playing
...
FluidSynth apparently doesn't check for this itself before calling the free
callback.
2013-12-29 05:58:40 -08:00
Chris Robinson
37d183efc0
Update soundfont selection functions
...
A filename is no longer specified, and alMidiSoundfontsSOFT is renamed to
alMidiSoundfontvSOFT.
2013-12-29 05:44:18 -08:00
Chris Robinson
4e73b95fc0
Add the last remaining "real-time" properties
2013-12-29 05:09:50 -08:00
Chris Robinson
4c35f7c632
Add chorus and reverb send properties
2013-12-29 04:36:01 -08:00
Chris Robinson
15aa12847d
Check for negative soundfont indices getting passed to the loader
2013-12-29 04:25:28 -08:00
Chris Robinson
699d84491f
Add pan and attenuation properties
2013-12-29 04:24:32 -08:00
Chris Robinson
d030e07879
Add tuning properties
2013-12-29 03:43:00 -08:00
Chris Robinson
1d41122372
Add filter properties
2013-12-29 03:18:31 -08:00
Chris Robinson
deecbbc55d
Add modulation envelope properties
2013-12-29 02:40:12 -08:00