aboutsummaryrefslogtreecommitdiffstats
path: root/alc
Commit message (Collapse)AuthorAgeFilesLines
* Avoid making BSincPointsMax publicChris Robinson2021-03-011-1/+0
|
* Avoid trying to get the app path when it fails on Windows tooChris Robinson2021-02-271-9/+10
|
* Avoid calling readlink on platforms that don't support itChris Robinson2021-02-271-11/+11
| | | | Also don't keep trying to find the path+name if it fails the first time.
* Avoiding cutting all bsinc resampler output at scale 0Chris Robinson2021-02-241-2/+2
| | | | | | | | | | | | This is mostly for the SampleConverter, used by some capture backends. When recording at really low rates, like 5512hz, with a device capturing at a higher rate like 44100hz or 48000hz, it hits the filter's downscaling limit and produces pure silence. In such cases, it's better to just accept some aliasing noise so that the app will still get some recognizable audio. The alternative would be to scale the desired rate by 2x, 3x, etc until it's above the bsinc limit, then take every 2nd, 3rd, etc sample of the result as if by an extra simpler resampler pass.
* Clean up some formattingChris Robinson2021-02-161-81/+71
|
* Add enumeration to the JACK backendChris Robinson2021-02-131-35/+84
| | | | | | | | Port names seem to be structured as <device_name:channel_name> or <app_name:channel_name>. I'm not sure if this is always the case, but it seems some other apps expect something like this. Also fix the port selection to exclude MIDI ports and allow non-physical ports.
* Use spans instead of references to arraysChris Robinson2021-02-063-15/+16
|
* Stop the Oboe recording stream when recording is stoppedChris Robinson2021-02-021-2/+2
| | | | Hopefully Oboe will retain any unread samples and let them be read.
* Implement Oboe captureChris Robinson2021-01-311-4/+135
|
* Set the oboe stream buffer sizeChris Robinson2021-01-311-0/+2
|
* Avoid copying buffers for aligning overlapped windowsChris Robinson2021-01-302-33/+42
|
* Allow the sample type to get changed on SolarisChris Robinson2021-01-291-6/+10
|
* Fix compilation on Solaris backendCacodemon3452021-01-291-0/+1
|
* Add a panning "deadzone" for spatialized sourcesChris Robinson2021-01-281-1/+1
| | | | It is now the greater of 'epsilon' (1 / 2**23) or ref_distance/1024.
* Export EFX functions from the routerChris Robinson2021-01-271-0/+11
|
* Ignore SI-style configuration strings for device namesChris Robinson2021-01-271-0/+5
|
* Rework fading of stopped soundsChris Robinson2021-01-271-22/+13
| | | | | | | Voices that stop and have no more accessible samples now fade out over 64 samples max. The extra loaded samples are also prevented from moving away from 0 amplitude. Paused voices that still have samples will still fade out over the whole mix.
* Use an AL-specific buffer queue item struct for sourcesChris Robinson2021-01-253-41/+29
|
* Store the callback in the buffer list itemChris Robinson2021-01-243-60/+61
|
* Store buffer info in the queue entryChris Robinson2021-01-2418-73/+81
|
* Set the correct default buffer bits/formatChris Robinson2021-01-221-2/+2
|
* Remove an unnecessary semicolonChris Robinson2021-01-221-1/+1
|
* Use if constexpr when possibleChris Robinson2021-01-223-4/+6
|
* Make PopCount and CountTrailingZeros more standard-likeChris Robinson2021-01-224-10/+14
|
* Use a standard bitset for bitfield flagsChris Robinson2021-01-228-53/+56
|
* Make the endian test more C++-likeChris Robinson2021-01-213-15/+19
|
* Fix handling paused devices with the wave writer backendChris Robinson2021-01-211-10/+14
|
* Simplify a divisionChris Robinson2021-01-211-1/+1
| | | | | The division opcode typically also generates the remainder, making the result of x%y free with x/y.
* Avoid declaring some variables multiple timesChris Robinson2021-01-211-6/+7
|
* Avoid global constexpr arraysChris Robinson2021-01-216-56/+54
|
* Avoid extra copies/work when reading HRTF dataChris Robinson2021-01-201-8/+12
|
* Avoid calling readAdvance in a loopChris Robinson2021-01-171-3/+5
|
* Don't assume the ring buffer's read vector is the next writable spaceChris Robinson2021-01-151-30/+36
| | | | | This is untrue since the ring buffer leaves one element unwritten, so there's one extra element to be written once a readable element is read.
* Use a span instead of passing a vector by referenceChris Robinson2021-01-111-5/+5
|
* Make sure proper names are used for querying PulseAudio infoChris Robinson2021-01-101-5/+5
|
* Pass nullptr to pulse for default deviceIlya Fedin2021-01-101-42/+13
|
* Quickly fade out samples of a stopping voiceChris Robinson2021-01-081-0/+20
| | | | | Rather than linearly fading out the mix over the mixing update, logarithmically fade out the post-resampled samples by approx -60dB per millisecond.
* Avoid duplicating an inline template functionChris Robinson2021-01-061-21/+4
|
* Properly trace the new HRTF delay for the B-Format decoderChris Robinson2021-01-061-2/+2
|
* Use a template to read integers with endian awarenessChris Robinson2021-01-061-70/+83
|
* Return non-const from the resampler functionChris Robinson2021-01-021-14/+4
|
* Move cpu_caps and fpu_ctrl to coreChris Robinson2020-12-318-253/+6
|
* Remove an unnecessary includeChris Robinson2020-12-311-2/+0
|
* Add NEON-enhanced FIR loops for convolution and UHJChris Robinson2020-12-311-0/+15
|
* Assume run-time NEON support if detected by cmakeChris Robinson2020-12-311-45/+2
|
* Combine multiple functions into oneChris Robinson2020-12-281-8/+2
|
* Return an intrusive_ptr from EffectStateFactory::createChris Robinson2020-12-2815-19/+34
|
* Remove extraneous semicolorChris Robinson2020-12-281-1/+1
|
* Avoid including voice.h in alcontext.hChris Robinson2020-12-275-1/+8
|
* Reduce a few linesChris Robinson2020-12-271-4/+1
|