aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/midi/sf2load.c
Commit message (Collapse)AuthorAgeFilesLines
* Avoid a size_t-to-ALuint conversion warningChris Robinson2014-03-211-1/+1
|
* Increase the vector reserve as needed when pushing in new itemsChris Robinson2014-03-211-19/+8
|
* Rename the vector's Max field to CapacityChris Robinson2014-03-211-8/+8
|
* Use vectors for the GenModListChris Robinson2014-03-211-166/+98
|
* Add an explicit cast to make Windows happyChris Robinson2014-02-261-2/+2
|
* Properly fill the SF2 sample buffer on big endianChris Robinson2014-02-011-1/+1
|
* Fix an infinite loop when loading SF2 samples on big endian machinesChris Robinson2014-02-011-2/+5
|
* Check and trace INFO properties when reading themChris Robinson2014-01-191-3/+9
|
* Check for 0-sized sf2 structure arraysChris Robinson2014-01-171-18/+18
|
* Remove redundancy in a couple error messagesChris Robinson2014-01-171-2/+2
|
* Put the version and irom storage into the Soundfont structChris Robinson2014-01-171-13/+18
|
* Fix a couple warning messages to show the correct instrument IDChris Robinson2014-01-171-8/+8
|
* Partially handle the irom sub-chunkChris Robinson2014-01-171-3/+30
| | | | Reject soundfonts that have ROM sample types without a valid irom sub-chunk.
* Better handle original key and overriding root keyChris Robinson2014-01-171-3/+10
|
* Rename aftertouch to keypressureChris Robinson2014-01-171-1/+1
|
* Handle fontsound sample types using explicit enum valuesChris Robinson2014-01-151-12/+29
| | | | | | 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.
* Use ALfontsound_setPropi to set fontsound sample propertiesChris Robinson2014-01-151-12/+18
| | | | And make sure the loop mode is properly translated for FluidSynth.
* Be more thorough when converting sf2 modulator propertiesChris Robinson2014-01-131-30/+58
|
* Don't break with an override root key generator value of -1Chris Robinson2014-01-061-1/+1
| | | | An accidental hold-over from when it was using a switch.
* Add methods to get and set modulator properties on fontsoundsChris Robinson2014-01-051-1/+52
|
* Trace preset, instrument, and sample names with invalid key and velocity rangesChris Robinson2014-01-041-8/+8
|
* Don't create presets that don't have any usable soundsChris Robinson2014-01-041-6/+5
|
* Update some trace messages to be more usefulChris Robinson2014-01-031-4/+5
|
* Avoid using alFontsoundiSOFT when loading a soundfontChris Robinson2014-01-031-3/+3
| | | | This should now make the soundfont loader thread-safe.
* Don't handle the list type in the RiffHdr structChris Robinson2014-01-031-20/+11
|
* Mostly load into fontsound objects directlyChris Robinson2014-01-021-155/+82
| | | | This leaves only one unsafe alFontsoundiSOFT call.
* Load presets directly into objectsChris Robinson2014-01-021-34/+45
|
* Update the soundfont preset count after loading a soundfontChris Robinson2014-01-021-0/+1
|
* Don't allow soundfonts with existing presets in alLoadSoundfontSOFTChris Robinson2014-01-011-21/+11
|
* Pass the ALsoundfont object to loadSf2, rather than its IDChris Robinson2014-01-011-21/+51
|
* Add the last remaining "real-time" propertiesChris Robinson2013-12-291-6/+6
|
* Add chorus and reverb send propertiesChris Robinson2013-12-291-2/+4
|
* Add pan and attenuation propertiesChris Robinson2013-12-291-6/+9
|
* Add tuning propertiesChris Robinson2013-12-291-3/+3
|
* Add filter propertiesChris Robinson2013-12-291-5/+7
|
* Add modulation envelope propertiesChris Robinson2013-12-291-8/+8
|
* Add a few more pitch propertiesChris Robinson2013-12-291-3/+3
|
* Add volume envelope propertiesChris Robinson2013-12-291-8/+8
|
* Fix copy-paste errors in error messagesChris Robinson2013-12-291-2/+2
|
* Accumulate with default modulator amountsChris Robinson2013-12-291-0/+20
|
* Add support for the fontsound loop modeChris Robinson2013-12-291-3/+6
|
* Ensure the soundfont version is 2.xChris Robinson2013-12-281-2/+28
|
* Add alLoadSoundfontSOFT to load a soundfont via callbackChris Robinson2013-12-281-0/+1283
Some hefty caveats: This function is not thread-safe. In particular, the current context affecting the thread must not be changed, and the provided soundfont must not be altered while the function is executing. Ideally, this will be fixed. Error handling is poor. Some RIFF structure errors may not be caught (e.g. sub- chunks with sizes greater than the parent chunk allows for), and generated AL errors are ignored, possibly leading to resource leaks in certain situations. These should be fixed in time. There is minimal error checking on the provided soundfont ID. It does not ensure a valid ID has been provided, nor does it ensure the provided soundfont can be modified. These short-comings should be fixed eventually. Proper cleanup is the responsibility of the caller. The caller must get the preset objects from the soundfont before deleting it, and the fontsound objects from each preset before deleting them, to make sure all resources are properly deleted.