aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Rework effect slot buffer settingChris Robinson2020-09-058-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 processingChris Robinson2020-09-052-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 setChris Robinson2020-09-053-2/+14
|
* Avoid confusing */*...*/ syntaxChris Robinson2020-09-051-3/+3
| | | | MSVC warns about */ being outside of a comment.
* Use a recursive_mutex for the router enumeration lockChris Robinson2020-09-051-38/+34
|
* Use an RAII wrapper to manage COM object referencesChris Robinson2020-09-051-87/+111
|
* Avoid duplicate WASAPI devices by matching GUIDsChris Robinson2020-09-041-33/+31
|
* Update changelogChris Robinson2020-09-031-0/+2
|
* Update some UHJ commentsChris Robinson2020-09-022-28/+8
|
* Avoid class templates for the POPCNT64/CTZ64 macrosChris Robinson2020-09-011-15/+16
|
* Add an in-progress extension string for convolution reverbChris Robinson2020-09-012-2/+5
|
* Don't use config.h to define RESTRICTChris Robinson2020-09-012-5/+3
|
* Use enum class for a couple enumsChris Robinson2020-09-014-53/+53
|
* Avoid using a deprecated functionChris Robinson2020-08-311-4/+3
|
* Move more processing to the ConvolutionFilter structChris Robinson2020-08-311-108/+127
|
* Remove a couple unnecessary pointersChris Robinson2020-08-301-15/+8
|
* Dynamically allocate the convolution channel mixing dataChris Robinson2020-08-301-46/+46
|
* Reorganize some convolution fieldsChris Robinson2020-08-301-21/+18
|
* Remove extraneous parenthesisChris Robinson2020-08-284-14/+14
|
* Calculate the correct number of convolution segmentsChris Robinson2020-08-281-1/+1
|
* Limit convolution processing to the output ambisonic orderChris Robinson2020-08-281-2/+3
|
* Don't dereference a null convolution filterChris Robinson2020-08-281-5/+7
|
* Support B-Format impulse responses for convolutionChris Robinson2020-08-281-17/+107
|
* Pass a BufferStorage to EffectState::createBufferChris Robinson2020-08-284-35/+27
|
* Use a separate structure for buffer storageChris Robinson2020-08-2814-136/+169
|
* Rename buffer_formats to buffer_storageChris Robinson2020-08-276-6/+6
|
* Handle 0-length convolution buffersChris Robinson2020-08-271-0/+3
|
* Don't allow callback buffers for effect slotsChris Robinson2020-08-271-1/+5
|
* Blend panned B-Format source directivity given its radiusChris Robinson2020-08-271-52/+54
|
* De-duplicate LoadSampleArray and FmtTypeTraitsChris Robinson2020-08-265-260/+178
|
* Base the convolution example on the simpler stream exampleChris Robinson2020-08-263-537/+516
|
* Recognize float32 format names for the example healpersChris Robinson2020-08-261-4/+7
|
* Avoid copying the convolution filter history to shift itChris Robinson2020-08-251-10/+18
| | | | | Instead, the current/head/newest segment is tracked, and decremented with each process to overwrite the oldest.
* Add an example using convolution reverbChris Robinson2020-08-252-0/+540
|
* Initial implementation of the convolution effectChris Robinson2020-08-251-9/+400
| | | | | Currently limited to mono and stereo impulse responses, and stereo IRs try to use direct/real output rather than panning.
* Fix handling doublesChris Robinson2020-08-251-2/+2
|
* Store a reference to the effect buffer as an active propertyChris Robinson2020-08-245-3/+33
|
* Stub out a convolution effect stateChris Robinson2020-08-244-2/+160
|
* Recognize a convolution reverb effect typeChris Robinson2020-08-243-17/+24
|
* Add a method for effects to create persistent buffer dataChris Robinson2020-08-244-1/+39
|
* Move storable buffer format info to a separate sourceChris Robinson2020-08-245-73/+89
|
* Use an intrusive_ptr to hold the unapplied effect stateChris Robinson2020-08-243-12/+9
|
* Allow setting a buffer on an effect slotChris Robinson2020-08-242-1/+51
|
* Clean up some commentsChris Robinson2020-08-241-20/+21
|
* Use an intrusive_ptr for ALeffectslotProps::StateChris Robinson2020-08-244-15/+5
|
* Allow intrusive_ptr::reset to take a new pointerChris Robinson2020-08-241-2/+2
|
* macOS osx/ios dynamic framework support (#466)HALX992020-08-243-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 manuallyChris Robinson2020-08-201-12/+3
|
* Ensure enough space is allocated for structs with a FlexArrayChris Robinson2020-08-151-1/+4
|
* Avoid a zero-length array for the FlexArray definitionChris Robinson2020-08-152-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.