aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/midi/base.h
Commit message (Collapse)AuthorAgeFilesLines
* Remove the MIDI codeChris Robinson2015-10-201-133/+0
| | | | | | | The extension's not going anywhere, and it can't do anything fluidsynth can't. The code maintenance and bloat is not worth keeping around, and ideally the AL API would be able to facilitate MIDI-like behavior anyway (envelopes, start-at- time, etc).
* Properly handle a mono output buffer with the MIDI synthsChris Robinson2015-02-091-2/+2
|
* Avoid unnecessary uses of ExchangeInt/PtrChris Robinson2015-02-041-1/+1
|
* Print SF2 text INFO chunksChris Robinson2014-07-011-2/+7
|
* Add a GCC-specific STATIC_UPCAST macro that checks the object typeChris Robinson2014-04-191-1/+1
| | | | | The check is compile time, and is functionally identical to the old/alternate version.
* Remove setState from the MidiSynth vtableChris Robinson2014-03-231-3/+0
|
* Add a stub 'soft' MIDI synth handlerChris Robinson2014-03-221-0/+1
| | | | | Eventually this one will be used to handle MIDI internally, using our own mixers and resamplers.
* Use a void* for the MidiSynth Delete method paramChris Robinson2014-03-221-2/+3
|
* Rework MIDI clock timingChris Robinson2014-02-021-8/+9
| | | | | | 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.
* Add a method to get the current MIDI stateChris Robinson2014-01-121-0/+1
|
* Move some soundfont methods to ALsoundfontChris Robinson2014-01-051-2/+0
|
* Allow "deleting" the default soundfontChris Robinson2014-01-041-0/+1
| | | | | 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 selecting the default soundfont using ID 0Chris Robinson2014-01-031-3/+4
|
* Remove an unused methodChris Robinson2014-01-031-1/+0
|
* Pass the ALsoundfont object to loadSf2, rather than its IDChris Robinson2014-01-011-1/+3
|
* Remove some unused MIDI backend methodsChris Robinson2013-12-291-6/+0
|
* Add alLoadSoundfontSOFT to load a soundfont via callbackChris Robinson2013-12-281-0/+12
| | | | | | | | | | | | | | | | | | | | | 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.
* Add a method to set and get soundfontsChris Robinson2013-12-271-0/+7
| | | | | The main purpose of this is to select soundfonts for playback, eventually, instead of the existing method that takes a filename.
* Fix header guard and remove duplicate codeChris Robinson2013-12-181-3/+3
|
* Move the base MidiSynth to a separate fileChris Robinson2013-12-171-0/+113