aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/ALc.c
Commit message (Collapse)AuthorAgeFilesLines
* Move some soundfont methods to ALsoundfontChris Robinson2014-01-051-1/+1
|
* Allow "deleting" the default soundfontChris Robinson2014-01-041-48/+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.
* Add storage for a default soundfont objectChris Robinson2014-01-031-0/+51
|
* Update soundfont selection functionsChris Robinson2013-12-291-1/+1
| | | | | A filename is no longer specified, and alMidiSoundfontsSOFT is renamed to alMidiSoundfontvSOFT.
* Add alLoadSoundfontSOFT to load a soundfont via callbackChris Robinson2013-12-281-0/+1
| | | | | | | | | | | | | | | | | | | | | 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/+1
| | | | | The main purpose of this is to select soundfonts for playback, eventually, instead of the existing method that takes a filename.
* Allow specifying key and velocity ranges on fontsoundsChris Robinson2013-12-261-0/+4
|
* Add methods to set and get sounds on a presetChris Robinson2013-12-251-0/+1
|
* Remove the zone, sample, and instrument object typesChris Robinson2013-12-251-13/+0
|
* Add a new fontsound object typeChris Robinson2013-12-251-0/+13
| | | | This is basically a combined preset and intrument zone with sample header.
* Add methods to get and set presets on a soundfontChris Robinson2013-12-231-0/+2
|
* Add methods to get and set a preset object's preset and bank numbersChris Robinson2013-12-231-0/+3
|
* Add functions to set a soundfont's sample dataChris Robinson2013-12-191-0/+3
|
* Allow creating instrument objectsChris Robinson2013-12-191-0/+13
|
* Add methods to create and destroy presetsChris Robinson2013-12-191-0/+13
|
* Properly initialize and cleanup the soundfont mapChris Robinson2013-12-181-0/+11
|
* Add a new ALsoundfont object typeChris Robinson2013-12-181-0/+2
| | | | | Includes a basic hierarchy for presets, instruments, samples, zones, generators, and modulators.
* Move the base MidiSynth to a separate fileChris Robinson2013-12-171-1/+1
|
* Add a alMidiResetSOFT method to reset the synthChris Robinson2013-12-131-0/+1
| | | | | Playback is stopped, the queue is flushed, the clock is reset to 0, and the MIDI system is reset to power-up status.
* Rename pthread wrappers used for Windows to althreadChris Robinson2013-12-061-15/+15
|
* Add methods to set and get the MIDI gainChris Robinson2013-11-301-0/+1
|
* Add a method to check if a file is a soundfontChris Robinson2013-11-301-0/+1
|
* Add a method to specifying MIDI SysEx messagesChris Robinson2013-11-291-0/+1
|
* Add a method to stop MIDI playbackChris Robinson2013-11-281-0/+1
| | | | | Unlike pausing, this resets the MIDI clock time to 0, clears the existing event queue, stops all MIDI sounds, and resets MIDI controllers.
* Add a method to load a soundfontChris Robinson2013-11-281-0/+1
|
* Start a MIDI interface extensionChris Robinson2013-11-281-1/+8
|
* Create and use a MidiSynth on playback devicesChris Robinson2013-11-271-0/+25
|
* Add a macro for GCC to ensure stack alignmentChris Robinson2013-11-251-1/+1
|
* Remove the Lock and Unlock methods from BackendFuncsChris Robinson2013-11-041-13/+3
| | | | | All backends that still use the old interface use the default locking methods, which is also used by the ALCbackend base.
* Use C99 inline in more placesChris Robinson2013-11-041-0/+4
|
* Only set device functions when neededChris Robinson2013-11-041-2/+6
|
* Use a unique backend type for loopbackChris Robinson2013-11-041-1/+1
|
* Rename VCALL and VCALL0 to V and V0Chris Robinson2013-11-021-34/+34
|
* Convert the OSS backend to the new interfaceChris Robinson2013-11-021-1/+1
|
* Make LockContext and UnlockContext inline againChris Robinson2013-11-021-10/+0
|
* Rename alcGetLatency to ALCdevice_GetLatencyChris Robinson2013-11-021-1/+1
|
* Convert the PulseAudio backend to the new interfaceChris Robinson2013-10-291-1/+1
|
* Convert the loopback backend to the new interfaceChris Robinson2013-10-291-7/+11
|
* Fix capture with the new backend interfaceChris Robinson2013-10-281-2/+8
|
* Convert ALSA to the new backend interfaceChris Robinson2013-10-281-1/+1
|
* Rename the support method to querySupportChris Robinson2013-10-281-2/+2
|
* Support capture backends with the new interfaceChris Robinson2013-10-281-2/+1
|
* Create and use a backend wrapper for captureChris Robinson2013-10-281-13/+10
|
* Move ALCbackend base stuff to a separate fileChris Robinson2013-10-281-114/+0
|
* Move the device mutex to the backendChris Robinson2013-10-281-15/+38
|
* Modify how VCALL is handledChris Robinson2013-10-281-26/+26
| | | | | | | | | | | Now instead of specifying the arguments as a third argument to the macro, like VCALL(object,function,(arg1, arg2)); they are specified separately after the macro, like VCALL(object,function)(arg1, arg2); Also, VCALL_NOARGS has been removed in favor of VCALL0, which behaves like above but expects an empty argument list (a separate macro is needed to work around preprocessor limitations).
* Convert the Null backend to the ALCbackend styleChris Robinson2013-10-281-26/+92
|
* Add a default getLatency to ALCbackendChris Robinson2013-10-281-0/+7
| | | | And make sure the backend is properly deleted.
* Move the lock/unlock methods to the backendChris Robinson2013-10-281-0/+45
|
* Move the ALCdevice handle to the ALCbackend baseChris Robinson2013-10-271-10/+8
|