aboutsummaryrefslogtreecommitdiffstats
path: root/alc/effects/modulator.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Use a more accurate ring modulator waveform generatorChris Robinson2023-08-291-37/+76
| | | | | | This restricts available frequencies to fit an integer number of samples per cycle, but ensures no unintended harmonics from misaligned samples w.r.t. sawtooth and square waveforms.
* Avoid some large stack buffersChris Robinson2023-08-281-27/+18
|
* Simplify effect state buffer handling someChris Robinson2023-04-041-2/+2
|
* Change a couple macros to constexpr variablesChris Robinson2023-01-161-3/+3
|
* Rename some lambda parameters to avoid shadowing warningsChris Robinson2023-01-051-3/+3
|
* Add and use mixers that process one input and output channelChris Robinson2023-01-051-2/+2
|
* Simplify handling effect output for spatial effectsChris Robinson2023-01-041-18/+28
| | | | | | | | | | | | Effects are given a 3D ambisonic buffer of the same order as the device, for processing surround sound. Effects that pass input channels to matching output channels as it processes them don't need to mix each input channel to all output channels. At most, an input channel may mix to a different output channel, if the target buffer uses a different channel layout, and need a gain adjustment, if it uses a different scaling. With a 2D output buffer, a number of channels can be skipped altogether.
* Use proper array sizes for more gainsChris Robinson2022-08-151-2/+2
|
* Get rid of MathDefsChris Robinson2022-01-271-2/+2
|
* Move the effects base and effectslot to coreChris Robinson2021-12-171-1/+1
|
* Update include headersChris Robinson2021-04-271-2/+2
| | | | Don't add alc/ to the include paths.
* Update includesChris Robinson2021-04-271-1/+1
|
* Move some functions to coreChris Robinson2021-04-251-6/+16
| | | | And clean up more includes
* Create a base the ALCdevice and ALCcontext structsChris Robinson2021-04-241-5/+5
| | | | | A base that contains the API-agnostic data, with ALCdevice and ALCcontext being for AL-specific data.
* Store buffer info in the queue entryChris Robinson2021-01-241-2/+2
|
* Return an intrusive_ptr from EffectStateFactory::createChris Robinson2020-12-281-1/+2
|
* Combine EffectState::deviceUpdate with setBufferChris Robinson2020-12-261-2/+2
|
* Avoid AL types and enums in the effect processorsChris Robinson2020-12-241-15/+15
|
* Change some macros into constexpr variablesChris Robinson2020-12-041-2/+2
|
* Move the filters to coreChris Robinson2020-12-041-3/+2
|
* Move AL EffectProp handling to separate sourcesChris Robinson2020-11-251-98/+0
|
* Use a separate structure for the active effect slot propertiesChris Robinson2020-11-071-4/+7
|
* Use a helper to set an identity ambisonic panChris Robinson2020-05-031-5/+3
|
* Remove another unnecessary return valueChris Robinson2020-04-161-3/+2
|
* Throw exceptions for errors in the effect getters/settersChris Robinson2020-04-101-60/+62
|
* Avoid ALfloat and ALint in the effectsChris Robinson2020-04-081-18/+18
|
* Use a standard bool instead of ALbooleanChris Robinson2020-03-281-3/+3
|
* Pass a span for the biquad filter inputChris Robinson2019-12-251-1/+1
|
* Use unique setters for biquad filter parametersChris Robinson2019-12-211-3/+2
| | | | One for whether a slope parameter is used, and one for bandwidth.
* EFX: Add explicit cast to a square functionRaulshc2019-11-091-1/+1
| | | | | MSVC 2015 and above returns the expression according to its datatype. In this case, returns 4294967295 instead of -1.
* Avoid direct function template and alias typesChris Robinson2019-10-031-18/+11
| | | | | | | It's somewhat ambiguous what they mean. Sometimes acting as a pointer, other times having weird behavior. Pointer-to-function types are explicitly defined as such, whereas uses of these tend to be as references (never null and not changeable).
* Fix some more implicit conversions noted by GCCChris Robinson2019-09-141-1/+1
|
* Fix implicit conversions in the effectsChris Robinson2019-09-141-10/+10
|
* Use a span for effect state inputChris Robinson2019-08-261-6/+7
|
* Pass samplesToDo as size_t to effectsChris Robinson2019-08-201-13/+11
|
* Pass a span for the Mix function's inputChris Robinson2019-08-201-2/+2
|
* Use a smart pointer for holding the context's deviceChris Robinson2019-08-011-1/+1
|
* Move another function to a ALCcontext methodChris Robinson2019-07-301-5/+4
|
* Properly prefix ALCcontext membersChris Robinson2019-07-301-1/+1
|
* Rename al/* sources to avoid camel-caseChris Robinson2019-07-291-2/+2
|
* Rename Alc to alcChris Robinson2019-07-281-0/+279