Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Handle fontsound sample types using explicit enum values | Chris Robinson | 2014-01-15 | 1 | -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 properties | Chris Robinson | 2014-01-15 | 1 | -12/+18 |
| | | | | And make sure the loop mode is properly translated for FluidSynth. | ||||
* | Be more thorough when converting sf2 modulator properties | Chris Robinson | 2014-01-13 | 1 | -30/+58 |
| | |||||
* | Don't break with an override root key generator value of -1 | Chris Robinson | 2014-01-06 | 1 | -1/+1 |
| | | | | An accidental hold-over from when it was using a switch. | ||||
* | Add methods to get and set modulator properties on fontsounds | Chris Robinson | 2014-01-05 | 1 | -1/+52 |
| | |||||
* | Trace preset, instrument, and sample names with invalid key and velocity ranges | Chris Robinson | 2014-01-04 | 1 | -8/+8 |
| | |||||
* | Don't create presets that don't have any usable sounds | Chris Robinson | 2014-01-04 | 1 | -6/+5 |
| | |||||
* | Update some trace messages to be more useful | Chris Robinson | 2014-01-03 | 1 | -4/+5 |
| | |||||
* | Avoid using alFontsoundiSOFT when loading a soundfont | Chris Robinson | 2014-01-03 | 1 | -3/+3 |
| | | | | This should now make the soundfont loader thread-safe. | ||||
* | Don't handle the list type in the RiffHdr struct | Chris Robinson | 2014-01-03 | 1 | -20/+11 |
| | |||||
* | Mostly load into fontsound objects directly | Chris Robinson | 2014-01-02 | 1 | -155/+82 |
| | | | | This leaves only one unsafe alFontsoundiSOFT call. | ||||
* | Load presets directly into objects | Chris Robinson | 2014-01-02 | 1 | -34/+45 |
| | |||||
* | Update the soundfont preset count after loading a soundfont | Chris Robinson | 2014-01-02 | 1 | -0/+1 |
| | |||||
* | Don't allow soundfonts with existing presets in alLoadSoundfontSOFT | Chris Robinson | 2014-01-01 | 1 | -21/+11 |
| | |||||
* | Pass the ALsoundfont object to loadSf2, rather than its ID | Chris Robinson | 2014-01-01 | 1 | -21/+51 |
| | |||||
* | Add the last remaining "real-time" properties | Chris Robinson | 2013-12-29 | 1 | -6/+6 |
| | |||||
* | Add chorus and reverb send properties | Chris Robinson | 2013-12-29 | 1 | -2/+4 |
| | |||||
* | Add pan and attenuation properties | Chris Robinson | 2013-12-29 | 1 | -6/+9 |
| | |||||
* | Add tuning properties | Chris Robinson | 2013-12-29 | 1 | -3/+3 |
| | |||||
* | Add filter properties | Chris Robinson | 2013-12-29 | 1 | -5/+7 |
| | |||||
* | Add modulation envelope properties | Chris Robinson | 2013-12-29 | 1 | -8/+8 |
| | |||||
* | Add a few more pitch properties | Chris Robinson | 2013-12-29 | 1 | -3/+3 |
| | |||||
* | Add volume envelope properties | Chris Robinson | 2013-12-29 | 1 | -8/+8 |
| | |||||
* | Fix copy-paste errors in error messages | Chris Robinson | 2013-12-29 | 1 | -2/+2 |
| | |||||
* | Accumulate with default modulator amounts | Chris Robinson | 2013-12-29 | 1 | -0/+20 |
| | |||||
* | Add support for the fontsound loop mode | Chris Robinson | 2013-12-29 | 1 | -3/+6 |
| | |||||
* | Ensure the soundfont version is 2.x | Chris Robinson | 2013-12-28 | 1 | -2/+28 |
| | |||||
* | Add alLoadSoundfontSOFT to load a soundfont via callback | Chris Robinson | 2013-12-28 | 1 | -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. |