aboutsummaryrefslogtreecommitdiffstats
path: root/al/auxeffectslot.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Rename alcontext.h and move some functions to context.cppChris Robinson2021-04-271-1/+1
|
* Rename alcmain.h to device.hChris Robinson2021-04-271-1/+1
|
* Update include headersChris Robinson2021-04-271-4/+4
| | | | Don't add alc/ to the include paths.
* Create a base the ALCdevice and ALCcontext structsChris Robinson2021-04-241-4/+4
| | | | | A base that contains the API-agnostic data, with ALCdevice and ALCcontext being for AL-specific data.
* Force an effect slot update when implicitly startingChris Robinson2021-04-191-0/+4
|
* Don't flag the auxslot dirty when setting the current valueChris Robinson2021-04-191-0/+14
|
* Make an inverted atomic flag type and use itChris Robinson2021-04-151-5/+5
| | | | | | | | The inverted atomic flag replaces test_and_set+clear with test_and_clear+set, essentially inverting the flag status. This makes more logical sense for flagging dirty state, which is less confusing than flagging clean state. The one caveat is ATOMIC_FLAG_INIT (or default construction in C++20) initializes the state to true rather than false.
* Fix inverted check for updating deferred effectslot propertiesChris Robinson2021-04-131-1/+1
|
* Store buffer info in the queue entryChris Robinson2021-01-241-2/+9
|
* Make PopCount and CountTrailingZeros more standard-likeChris Robinson2021-01-221-4/+5
|
* Remove constexpr from a functionChris Robinson2021-01-171-6/+1
| | | | | Various versions of GCC have a problem with it, and it doesn't really add much benefit anyway.
* Move cpu_caps and fpu_ctrl to coreChris Robinson2020-12-311-1/+1
|
* Avoid ugly reinterpret_casts with offsetofChris Robinson2020-12-291-6/+12
|
* Combine multiple functions into oneChris Robinson2020-12-281-32/+22
|
* Return an intrusive_ptr from EffectStateFactory::createChris Robinson2020-12-281-2/+1
|
* Workaround a GCC 5 constexpr function bugChris Robinson2020-12-281-0/+5
|
* Move the WetBuffer reference to EffectSlotChris Robinson2020-12-271-3/+1
|
* Combine EffectState::deviceUpdate with setBufferChris Robinson2020-12-261-4/+2
|
* Avoid AL enums for the EffectSlot typeChris Robinson2020-12-261-8/+62
|
* Move alexcpt to coreChris Robinson2020-12-241-1/+1
|
* Move logging to coreChris Robinson2020-12-171-1/+1
|
* Make ALbuffer inherit from BufferStorageChris Robinson2020-11-211-3/+3
|
* Use an array of auxslot pointers instead of IDs to lookupChris Robinson2020-11-071-41/+59
|
* Use a separate structure for the active effect slot propertiesChris Robinson2020-11-071-36/+36
|
* Store the wet buffers in the contextChris Robinson2020-11-021-1/+3
| | | | | | This is rather ugly, but we need the wet buffers to remain allocated after its effect slot is deleted, because a voice can still use it for its final fade-out mix.
* Use inline functions for popcnt and ctz instead of macrosChris Robinson2020-10-131-3/+3
|
* Use a span instead of a pointer and count parametersChris Robinson2020-10-121-18/+15
|
* Cleanup and fix alAuxiliaryEffectSlotPlayv/StopvSOFTChris Robinson2020-09-051-20/+15
|
* Ensure effect slot properties are updated when playingChris Robinson2020-09-051-2/+15
|
* Rework effect slot buffer settingChris Robinson2020-09-051-15/+9
| | | | | | | | 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-051-2/+113
| | | | | | | | 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-051-2/+5
|
* Pass a BufferStorage to EffectState::createBufferChris Robinson2020-08-281-6/+2
|
* Use a separate structure for buffer storageChris Robinson2020-08-281-5/+7
|
* Don't allow callback buffers for effect slotsChris Robinson2020-08-271-1/+5
|
* Store a reference to the effect buffer as an active propertyChris Robinson2020-08-241-3/+5
|
* Add a method for effects to create persistent buffer dataChris Robinson2020-08-241-1/+12
|
* Use an intrusive_ptr to hold the unapplied effect stateChris Robinson2020-08-241-9/+6
|
* Allow setting a buffer on an effect slotChris Robinson2020-08-241-1/+49
|
* Use an intrusive_ptr for ALeffectslotProps::StateChris Robinson2020-08-241-10/+1
|
* Change a couple functions into member functionsChris Robinson2020-05-101-59/+58
|
* Fix up some more uses of [AL[C]]voidChris Robinson2020-04-281-10/+10
|
* Remove another unnecessary return valueChris Robinson2020-04-161-8/+3
|
* Avoid AL[C]boolean for internal useChris Robinson2020-03-281-2/+2
|
* Move the FPUCtl methods to its own sourceChris Robinson2020-03-201-1/+1
|
* Add a helper to wait for the device mixChris Robinson2020-03-031-6/+4
|
* Only sort active effect slots as neededChris Robinson2020-01-181-0/+4
|
* Enable and fix some more warningsChris Robinson2019-09-181-1/+2
|
* pass proper effects slot number to AddActiveEffectSlotsLopuska2019-09-151-2/+3
| | | It resolves wrong logic when creating more than 1 aux slot at time in a batch
* Clean up some lambda definitionsChris Robinson2019-09-121-28/+24
|