Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Use a C11-like mutex wrapper instead of CRITICAL_SECTIONs | Chris Robinson | 2014-04-16 | 1 | -8/+13 |
| | |||||
* | Recognize NULL as an empty vector/string | Chris Robinson | 2014-04-03 | 1 | -1/+1 |
| | |||||
* | Use an al_string for the device name | Chris Robinson | 2014-03-28 | 1 | -10/+9 |
| | |||||
* | Add an al_string type and use it for the device lists | Chris Robinson | 2014-03-28 | 1 | -49/+28 |
| | |||||
* | Wrap fopen calls under Windows | Chris Robinson | 2014-03-28 | 1 | -1/+1 |
| | | | | | | | The idea is that all filenames we deal with are encoded as UTF-8, but the Windows functions that take a char string interpret it using the ANSI codepage. So instead, we convert the UTF-8 string to a wchar string, and then use the wchar functions for proper extended character filename support. | ||||
* | Add gain stepping to the send mixers | Chris Robinson | 2014-03-23 | 1 | -0/+7 |
| | |||||
* | Remove the now-unneeded click removal buffers for the device | Chris Robinson | 2014-03-23 | 1 | -7/+0 |
| | | | | | | They are still there for auxiliary sends. However, they should go away soon enough too, and then we won't have to mess around with calculating extra "predictive" samples in the mixer. | ||||
* | Add a generic vector interface and use it for the active effect slots | Chris Robinson | 2014-03-21 | 1 | -7/+14 |
| | |||||
* | Use flexible array members to pad the device and context structs | Chris Robinson | 2014-03-20 | 1 | -4/+4 |
| | | | | | This helps avoid the convoluted math otherwise required to ensure the default slot and listener, respectively, are aligned. | ||||
* | Store some source mixing parameters in the active source struct | Chris Robinson | 2014-03-19 | 1 | -2/+10 |
| | |||||
* | Use a separate struct for tracking active sources | Chris Robinson | 2014-03-18 | 1 | -3/+10 |
| | |||||
* | Store the old-style backend funcs in the wrapper | Chris Robinson | 2014-03-17 | 1 | -8/+4 |
| | |||||
* | Return the original value from CompExchange* | Chris Robinson | 2014-03-09 | 1 | -6/+6 |
| | |||||
* | Add an extension to support MSADPCM buffer formats | Chris Robinson | 2014-03-04 | 1 | -1/+3 |
| | |||||
* | Add an extension to alter the block alignment for buffer unpack/pack ops | Chris Robinson | 2014-03-04 | 1 | -3/+5 |
| | | | | | | | | | | | | | | | | This is for unpacking (reading, e.g. alBufferData) and packing (writing, e.g. alGetBufferSamplesSOFT) operations. The alignments are specified in sample frames, with 0 meaning the default (65 for IMA4, 1 otherwise). IMA4 alignment must be a multiple of 8, plus 1 (e.g. alignment = n*8 + 1), otherwise an error will occur during (un)packing. Chenging the block alignment does not affect already-loaded sample data, only future unpack/pack operations... so for example, this is perfectly valid: // Load mono IMA4 data with a block alignment of 1024 bytes, or 2041 sample // frames. alBufferi(buffer, AL_UNPACK_BLOCK_ALIGNMENT_SOFT, 2041); alBufferData(buffer, AL_FORMAT_MONO_IMA4, data, data_len, srate); alBufferi(buffer, AL_UNPACK_BLOCK_ALIGNMENT_SOFT, 0); | ||||
* | Add a return value to FindHrtfFormat | Chris Robinson | 2014-02-23 | 1 | -6/+7 |
| | |||||
* | Check the hrtf config option earlier | Chris Robinson | 2014-02-23 | 1 | -8/+8 |
| | | | | | This is to make sure it tries to find an HRTF-compatible format before reseting the device, just like when using ALC_HRTF_SOFT. | ||||
* | Avoid checking the hrtf config option twice | Chris Robinson | 2014-02-23 | 1 | -2/+3 |
| | |||||
* | Avoid duplicating code in alcGetIntegerv | Chris Robinson | 2014-02-01 | 1 | -241/+152 |
| | |||||
* | Add an alcGetInteger64vSOFT method and a way to get the device clock | Chris Robinson | 2014-02-01 | 1 | -2/+204 |
| | |||||
* | Keep track of a device clock time, based on the number of samples processed | Chris Robinson | 2014-02-01 | 1 | -0/+24 |
| | |||||
* | Implement dry and wet mixers for Neon | Chris Robinson | 2014-01-26 | 1 | -2/+4 |
| | | | | Code provided by Philippe Simons <[email protected]>. | ||||
* | Add a flag to specify the device being paused | Chris Robinson | 2014-01-15 | 1 | -4/+11 |
| | | | | | Used to prevent UpdateDeviceParams from restarting the device, if a new context is created while paused. | ||||
* | Stop the device when updating parameters, don't close it | Chris Robinson | 2014-01-15 | 1 | -1/+1 |
| | |||||
* | Add an extension to pause audio processing | Chris Robinson | 2014-01-15 | 1 | -1/+56 |
| | |||||
* | Add a method to get soundfont samples | Chris Robinson | 2014-01-13 | 1 | -0/+1 |
| | |||||
* | Add methods to get and set modulator properties on fontsounds | Chris Robinson | 2014-01-05 | 1 | -0/+2 |
| | |||||
* | Move some soundfont methods to ALsoundfont | Chris Robinson | 2014-01-05 | 1 | -1/+1 |
| | |||||
* | Allow "deleting" the default soundfont | Chris Robinson | 2014-01-04 | 1 | -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 object | Chris Robinson | 2014-01-03 | 1 | -0/+51 |
| | |||||
* | Update soundfont selection functions | Chris Robinson | 2013-12-29 | 1 | -1/+1 |
| | | | | | A filename is no longer specified, and alMidiSoundfontsSOFT is renamed to alMidiSoundfontvSOFT. | ||||
* | Add alLoadSoundfontSOFT to load a soundfont via callback | Chris Robinson | 2013-12-28 | 1 | -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 soundfonts | Chris Robinson | 2013-12-27 | 1 | -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 fontsounds | Chris Robinson | 2013-12-26 | 1 | -0/+4 |
| | |||||
* | Add methods to set and get sounds on a preset | Chris Robinson | 2013-12-25 | 1 | -0/+1 |
| | |||||
* | Remove the zone, sample, and instrument object types | Chris Robinson | 2013-12-25 | 1 | -13/+0 |
| | |||||
* | Add a new fontsound object type | Chris Robinson | 2013-12-25 | 1 | -0/+13 |
| | | | | This is basically a combined preset and intrument zone with sample header. | ||||
* | Add methods to get and set presets on a soundfont | Chris Robinson | 2013-12-23 | 1 | -0/+2 |
| | |||||
* | Add methods to get and set a preset object's preset and bank numbers | Chris Robinson | 2013-12-23 | 1 | -0/+3 |
| | |||||
* | Add functions to set a soundfont's sample data | Chris Robinson | 2013-12-19 | 1 | -0/+3 |
| | |||||
* | Allow creating instrument objects | Chris Robinson | 2013-12-19 | 1 | -0/+13 |
| | |||||
* | Add methods to create and destroy presets | Chris Robinson | 2013-12-19 | 1 | -0/+13 |
| | |||||
* | Properly initialize and cleanup the soundfont map | Chris Robinson | 2013-12-18 | 1 | -0/+11 |
| | |||||
* | Add a new ALsoundfont object type | Chris Robinson | 2013-12-18 | 1 | -0/+2 |
| | | | | | Includes a basic hierarchy for presets, instruments, samples, zones, generators, and modulators. | ||||
* | Move the base MidiSynth to a separate file | Chris Robinson | 2013-12-17 | 1 | -1/+1 |
| | |||||
* | Add a alMidiResetSOFT method to reset the synth | Chris Robinson | 2013-12-13 | 1 | -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 althread | Chris Robinson | 2013-12-06 | 1 | -15/+15 |
| | |||||
* | Add methods to set and get the MIDI gain | Chris Robinson | 2013-11-30 | 1 | -0/+1 |
| | |||||
* | Add a method to check if a file is a soundfont | Chris Robinson | 2013-11-30 | 1 | -0/+1 |
| | |||||
* | Add a method to specifying MIDI SysEx messages | Chris Robinson | 2013-11-29 | 1 | -0/+1 |
| |