aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/midi
Commit message (Collapse)AuthorAgeFilesLines
* Rework MIDI clock timingChris Robinson2014-02-024-123/+62
| | | | | | It's best to avoid using doubles in the mixer since the FPU's set to single- precision mode. The new clock timing is similar to the device clock timing, and should hopefully be less prone to drift caused by fp rounding errors.
* Use nanosecond resolution for MIDIChris Robinson2014-02-011-2/+2
| | | | | This makes the MIDI clock use the same resolution as the device clock and source latency and the device clock.
* 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-172-3/+3
|
* Add a config option to specify the extra MIDI volume scalingChris Robinson2014-01-171-3/+17
| | | | The value specified is in decibels.
* Use a proper struct for envelope propertiesChris Robinson2014-01-171-2/+2
|
* Handle fontsound sample types using explicit enum valuesChris Robinson2014-01-152-13/+41
| | | | | | 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-152-13/+30
| | | | And make sure the loop mode is properly translated for FluidSynth.
* Use the 64-bit clamp method when getting the MIDI clock timeChris Robinson2014-01-151-1/+1
|
* Don't reset presets when loading/unloading soundfontsChris Robinson2014-01-131-2/+2
|
* Be more thorough when converting sf2 modulator propertiesChris Robinson2014-01-131-30/+58
|
* Use FluidSynth enums when handling generatorsChris Robinson2014-01-131-74/+78
|
* Add a method to get the current MIDI stateChris Robinson2014-01-122-0/+2
|
* 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.
* Load soundfont modulators into FluidSynthChris Robinson2014-01-061-1/+101
|
* Add methods to get and set modulator properties on fontsoundsChris Robinson2014-01-051-1/+52
|
* Move some soundfont methods to ALsoundfontChris Robinson2014-01-052-95/+1
|
* Allow "deleting" the default soundfontChris Robinson2014-01-042-0/+50
| | | | | 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.
* 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
|
* Allow selecting the default soundfont using ID 0Chris Robinson2014-01-034-11/+58
|
* Remove an unused methodChris Robinson2014-01-032-13/+0
|
* Move ALsoundfont methods to the right source fileChris Robinson2014-01-031-38/+0
|
* 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-022-285/+82
| | | | This leaves only one unsafe alFontsoundiSOFT call.
* Load presets directly into objectsChris Robinson2014-01-021-34/+45
|
* Move some preset alloc/dealloc code to separate functionsChris Robinson2014-01-021-28/+0
|
* 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-012-22/+54
|
* 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.
* Add the last remaining "real-time" propertiesChris Robinson2013-12-293-8/+23
|
* Add chorus and reverb send propertiesChris Robinson2013-12-293-2/+9
|
* Check for negative soundfont indices getting passed to the loaderChris Robinson2013-12-291-1/+1
|
* Add pan and attenuation propertiesChris Robinson2013-12-293-6/+15
|
* Add tuning propertiesChris Robinson2013-12-293-4/+13
|
* Add filter propertiesChris Robinson2013-12-293-5/+16
|
* Add modulation envelope propertiesChris Robinson2013-12-293-8/+25
|