aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Allow "deleting" the default soundfontChris Robinson2014-01-044-53/+68
| | | | | 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.
* Allow querying default soundfont propertiesChris Robinson2014-01-041-7/+19
| | | | | Any attempts to modify it or its held objects will result in an AL_INVALID_OPERATION error.
* 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-032-6/+7
|
* Don't allow min key/vel ranges to exceed max rangeChris Robinson2014-01-031-2/+2
|
* Allow selecting the default soundfont using ID 0Chris Robinson2014-01-035-12/+59
|
* Add storage for a default soundfont objectChris Robinson2014-01-035-4/+59
|
* Remove an unused methodChris Robinson2014-01-032-13/+0
|
* Move ALsoundfont methods to the right source fileChris Robinson2014-01-032-38/+38
|
* Avoid using alFontsoundiSOFT when loading a soundfontChris Robinson2014-01-033-204/+213
| | | | This should now make the soundfont loader thread-safe.
* Don't handle the list type in the RiffHdr structChris Robinson2014-01-031-20/+11
|
* Use a uint map for modulatorsChris Robinson2014-01-022-10/+15
|
* Mostly load into fontsound objects directlyChris Robinson2014-01-024-311/+209
| | | | This leaves only one unsafe alFontsoundiSOFT call.
* Load presets directly into objectsChris Robinson2014-01-021-34/+45
|
* Move some error macros to alError.hChris Robinson2014-01-022-16/+15
|
* Move some preset alloc/dealloc code to separate functionsChris Robinson2014-01-023-56/+73
|
* Update the soundfont preset count after loading a soundfontChris Robinson2014-01-021-0/+1
|
* Move alLoadSoundfontSOFT to alSoundfont.cChris Robinson2014-01-022-42/+42
|
* Don't allow soundfonts with existing presets in alLoadSoundfontSOFTChris Robinson2014-01-012-21/+16
|
* Pass the ALsoundfont object to loadSf2, rather than its IDChris Robinson2014-01-013-23/+82
|
* Force all FluidSynth sounds off when changing soundfontsChris Robinson2013-12-311-1/+6
| | | | | | | 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.
* Remove some unused MIDI backend methodsChris Robinson2013-12-293-86/+0
|
* Don't destroy the fluid_sfont_t if any of its samples are still playingChris Robinson2013-12-291-0/+20
| | | | | FluidSynth apparently doesn't check for this itself before calling the free callback.
* Remove explicit locking from alMidiSoundfontvSOFT.Chris Robinson2013-12-291-2/+0
| | | | The MIDI backend can lock as it needs.
* Update soundfont selection functionsChris Robinson2013-12-293-30/+8
| | | | | A filename is no longer specified, and alMidiSoundfontsSOFT is renamed to alMidiSoundfontvSOFT.
* Lock the device while selecting soundfontsChris Robinson2013-12-291-0/+2
|
* Add the last remaining "real-time" propertiesChris Robinson2013-12-296-8/+91
|
* Add chorus and reverb send propertiesChris Robinson2013-12-296-2/+36
|
* Check for negative soundfont indices getting passed to the loaderChris Robinson2013-12-291-1/+1
|
* Add pan and attenuation propertiesChris Robinson2013-12-296-6/+41
|
* Add tuning propertiesChris Robinson2013-12-296-17/+60
|
* Add filter propertiesChris Robinson2013-12-296-5/+63
|
* Add modulation envelope propertiesChris Robinson2013-12-296-22/+101
|
* Add a few more pitch propertiesChris Robinson2013-12-296-3/+44
|
* Add volume envelope propertiesChris Robinson2013-12-296-8/+116
|
* 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-296-4/+24
|
* Ensure the soundfont version is 2.xChris Robinson2013-12-281-2/+28
|
* Add alLoadSoundfontSOFT to load a soundfont via callbackChris Robinson2013-12-286-0/+1309
| | | | | | | | | | | | | | | | | | | | | 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.
* Allow loading multiple soundfonts with FluidSynthChris Robinson2013-12-271-21/+50
|
* Create a custom fluid_sfloader_t loaderChris Robinson2013-12-271-4/+299
| | | | | | | This allows us to load and use soundfont objects the app specifies (the first one, at least), rather than having to load from a file. It doesn't sound that good since modulators and most generators aren't yet available, but this will steadily improve.
* Add a method to set and get soundfontsChris Robinson2013-12-278-8/+145
| | | | | The main purpose of this is to select soundfonts for playback, eventually, instead of the existing method that takes a filename.
* Allow specifying all 4 sample typesChris Robinson2013-12-271-1/+1
| | | | ROM-based types will be specified with a separate property
* Allow specifying some fontsound sample propertiesChris Robinson2013-12-262-1/+113
|
* Remove the generator listChris Robinson2013-12-262-63/+16
|
* Allow specifying key and velocity ranges on fontsoundsChris Robinson2013-12-263-0/+140
|
* Add methods to set and get sounds on a presetChris Robinson2013-12-253-0/+67
|
* Store a list of sounds in the presetChris Robinson2013-12-252-0/+11
|