Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Rework effect slot buffer setting | Chris Robinson | 2020-09-05 | 8 | -79/+25 |
| | | | | | | | | Rather than creating an effect-specific buffer that gets passed along as a property, the buffer is set the effect state when the effect state is created, the device is updated, or the buffer is changed. The buffer can only be set while the effect slot isn't playing, so it won't be changed or updated while the mixer is processing the effect state. | ||||
* | Add methods to start and stop effect slot processing | Chris Robinson | 2020-09-05 | 2 | -2/+124 |
| | | | | | | | | A newly-created effect slot is in an AL_INITIAL state, in which processing is stopped but will automatically become AL_PLAYING after successfully setting an AL_EFFECTSLOT_EFFECT value (including AL_EFFECT_NULL or 0). Calling Play[v] or Stop[v] will set the effect slot to AL_PLAYING or AL_STOPPED respectively. While stopped, the effect won't produce audio and will not be processed. | ||||
* | Don't add effect slots to the active list until an effect is set | Chris Robinson | 2020-09-05 | 3 | -2/+14 |
| | |||||
* | Avoid confusing */*...*/ syntax | Chris Robinson | 2020-09-05 | 1 | -3/+3 |
| | | | | MSVC warns about */ being outside of a comment. | ||||
* | Use a recursive_mutex for the router enumeration lock | Chris Robinson | 2020-09-05 | 1 | -38/+34 |
| | |||||
* | Use an RAII wrapper to manage COM object references | Chris Robinson | 2020-09-05 | 1 | -87/+111 |
| | |||||
* | Avoid duplicate WASAPI devices by matching GUIDs | Chris Robinson | 2020-09-04 | 1 | -33/+31 |
| | |||||
* | Update changelog | Chris Robinson | 2020-09-03 | 1 | -0/+2 |
| | |||||
* | Update some UHJ comments | Chris Robinson | 2020-09-02 | 2 | -28/+8 |
| | |||||
* | Avoid class templates for the POPCNT64/CTZ64 macros | Chris Robinson | 2020-09-01 | 1 | -15/+16 |
| | |||||
* | Add an in-progress extension string for convolution reverb | Chris Robinson | 2020-09-01 | 2 | -2/+5 |
| | |||||
* | Don't use config.h to define RESTRICT | Chris Robinson | 2020-09-01 | 2 | -5/+3 |
| | |||||
* | Use enum class for a couple enums | Chris Robinson | 2020-09-01 | 4 | -53/+53 |
| | |||||
* | Avoid using a deprecated function | Chris Robinson | 2020-08-31 | 1 | -4/+3 |
| | |||||
* | Move more processing to the ConvolutionFilter struct | Chris Robinson | 2020-08-31 | 1 | -108/+127 |
| | |||||
* | Remove a couple unnecessary pointers | Chris Robinson | 2020-08-30 | 1 | -15/+8 |
| | |||||
* | Dynamically allocate the convolution channel mixing data | Chris Robinson | 2020-08-30 | 1 | -46/+46 |
| | |||||
* | Reorganize some convolution fields | Chris Robinson | 2020-08-30 | 1 | -21/+18 |
| | |||||
* | Remove extraneous parenthesis | Chris Robinson | 2020-08-28 | 4 | -14/+14 |
| | |||||
* | Calculate the correct number of convolution segments | Chris Robinson | 2020-08-28 | 1 | -1/+1 |
| | |||||
* | Limit convolution processing to the output ambisonic order | Chris Robinson | 2020-08-28 | 1 | -2/+3 |
| | |||||
* | Don't dereference a null convolution filter | Chris Robinson | 2020-08-28 | 1 | -5/+7 |
| | |||||
* | Support B-Format impulse responses for convolution | Chris Robinson | 2020-08-28 | 1 | -17/+107 |
| | |||||
* | Pass a BufferStorage to EffectState::createBuffer | Chris Robinson | 2020-08-28 | 4 | -35/+27 |
| | |||||
* | Use a separate structure for buffer storage | Chris Robinson | 2020-08-28 | 14 | -136/+169 |
| | |||||
* | Rename buffer_formats to buffer_storage | Chris Robinson | 2020-08-27 | 6 | -6/+6 |
| | |||||
* | Handle 0-length convolution buffers | Chris Robinson | 2020-08-27 | 1 | -0/+3 |
| | |||||
* | Don't allow callback buffers for effect slots | Chris Robinson | 2020-08-27 | 1 | -1/+5 |
| | |||||
* | Blend panned B-Format source directivity given its radius | Chris Robinson | 2020-08-27 | 1 | -52/+54 |
| | |||||
* | De-duplicate LoadSampleArray and FmtTypeTraits | Chris Robinson | 2020-08-26 | 5 | -260/+178 |
| | |||||
* | Base the convolution example on the simpler stream example | Chris Robinson | 2020-08-26 | 3 | -537/+516 |
| | |||||
* | Recognize float32 format names for the example healpers | Chris Robinson | 2020-08-26 | 1 | -4/+7 |
| | |||||
* | Avoid copying the convolution filter history to shift it | Chris Robinson | 2020-08-25 | 1 | -10/+18 |
| | | | | | Instead, the current/head/newest segment is tracked, and decremented with each process to overwrite the oldest. | ||||
* | Add an example using convolution reverb | Chris Robinson | 2020-08-25 | 2 | -0/+540 |
| | |||||
* | Initial implementation of the convolution effect | Chris Robinson | 2020-08-25 | 1 | -9/+400 |
| | | | | | Currently limited to mono and stereo impulse responses, and stereo IRs try to use direct/real output rather than panning. | ||||
* | Fix handling doubles | Chris Robinson | 2020-08-25 | 1 | -2/+2 |
| | |||||
* | Store a reference to the effect buffer as an active property | Chris Robinson | 2020-08-24 | 5 | -3/+33 |
| | |||||
* | Stub out a convolution effect state | Chris Robinson | 2020-08-24 | 4 | -2/+160 |
| | |||||
* | Recognize a convolution reverb effect type | Chris Robinson | 2020-08-24 | 3 | -17/+24 |
| | |||||
* | Add a method for effects to create persistent buffer data | Chris Robinson | 2020-08-24 | 4 | -1/+39 |
| | |||||
* | Move storable buffer format info to a separate source | Chris Robinson | 2020-08-24 | 5 | -73/+89 |
| | |||||
* | Use an intrusive_ptr to hold the unapplied effect state | Chris Robinson | 2020-08-24 | 3 | -12/+9 |
| | |||||
* | Allow setting a buffer on an effect slot | Chris Robinson | 2020-08-24 | 2 | -1/+51 |
| | |||||
* | Clean up some comments | Chris Robinson | 2020-08-24 | 1 | -20/+21 |
| | |||||
* | Use an intrusive_ptr for ALeffectslotProps::State | Chris Robinson | 2020-08-24 | 4 | -15/+5 |
| | |||||
* | Allow intrusive_ptr::reset to take a new pointer | Chris Robinson | 2020-08-24 | 1 | -2/+2 |
| | |||||
* | macOS osx/ios dynamic framework support (#466) | HALX99 | 2020-08-24 | 3 | -733/+70 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * OSX bundle support * Disable framework by default, and fix domain name typo * Remove info.plist, add efx.h for framework public header * Fix osx/ios framework PUBLIC_HEADER doesn't work * Refine comment message * Auto set CFBundleShortVersionString by var LIB_VERSION * Set CFBundleVersion from git commit count * Use space to separate elements in a list * Specific framework name to variable 'IMPL_TARGET' * Solve cmake try_compile failed with code sign, and disable framework code sign * Make ios travis to build dynamic framework bundle by default * Update ios.toolchain.cmake Since we solve code sign issue for cmake to generate dynamic framework xcode project, enable strict try_compile by default * Remove MAKE_CXX_EXTENSIONS from travis-ci * Combined flat lib armv7;arm64 support * Remvoe ios.toolchain.cmake since we don't need [skip appveyor] [skip travis] * Sets framework name to soft_oal, avoid ambiguous with system OpenAL.framework * Fix missing BUNDLE, FRAMEWORK's DESTINATION Build osx/ios dynamic framework required them. * Use @rpath instead fullPath to mac local disk see also: https://github.com/libjpeg-turbo/libjpeg-turbo/commit/c80ddef7a4ce21ace9e3ca0fd190d320cc8cdaeb * CMake, use TRUE for bool value * Don't disable examples, utils, install * Make ALSOFT_OSX_FRAMEWORK for APPLE spec * Remove unused flag and more clearly comment * More clearly comment for solve armv7 target issue Co-authored-by: deal <[email protected]> Co-authored-by: bel <[email protected]> | ||||
* | Use CMAKE_DLLTOOL instead of looking for dlltool manually | Chris Robinson | 2020-08-20 | 1 | -12/+3 |
| | |||||
* | Ensure enough space is allocated for structs with a FlexArray | Chris Robinson | 2020-08-15 | 1 | -1/+4 |
| | |||||
* | Avoid a zero-length array for the FlexArray definition | Chris Robinson | 2020-08-15 | 2 | -10/+5 |
| | | | | | | Newer GCCs are warning about FlexArray being used at the end of another struct. Though not the most ideal to always allocate space for at least 1 element, actual 0-sized uses are rare and for smaller element types. |