Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Get rid of MathDefs | Chris Robinson | 2022-01-27 | 1 | -9/+12 |
| | |||||
* | Use a bitset instead of a plain uint for flags | Chris Robinson | 2021-12-23 | 1 | -5/+5 |
| | |||||
* | Don't do direct channels with UHJ output | Chris Robinson | 2021-12-21 | 1 | -1/+3 |
| | | | | | | | | | | Directly mixing a non-UHJ stereo signal into a UHJ stereo signal results in a non-UHJ stereo signal. Such a mix can't be properly decoded anymore. An option can probably be added for users that intend to listen to UHJ output undecoded and let a stereo sound come through as-is on their speakers, but it probably shouldn't be the default for cases where the output may be decoded back. | ||||
* | Move the effects base and effectslot to core | Chris Robinson | 2021-12-17 | 1 | -2/+2 |
| | |||||
* | Add source properties for Super Stereo | Chris Robinson | 2021-12-15 | 1 | -0/+3 |
| | | | | | When playing a stereo format, enabling Super Stereo causes the source to behave as a B-Format source, with a variable width control. | ||||
* | Make an inline function to check for 2D ambisonic formats | Chris Robinson | 2021-12-12 | 1 | -7/+3 |
| | |||||
* | Add an internal Super Stereo format | Chris Robinson | 2021-12-11 | 1 | -7/+7 |
| | | | | | | | It's not available as an AL buffer format (yet) since I'm not sure how to expose it. Internally it seems fine as a separate channel configuration, but because OpenAL combines the channel configuration and sample type, a flag may work better there. | ||||
* | Don't clamp the distance with distance attenuation disabled | Chris Robinson | 2021-11-30 | 1 | -1/+0 |
| | |||||
* | Avoid passing spans unnecessarily | Chris Robinson | 2021-11-25 | 1 | -2/+2 |
| | |||||
* | Fix cone angle calculation (#605) | Devin Braune | 2021-10-14 | 1 | -1/+1 |
| | |||||
* | Avoid manually prefixing EventType_ enums | Chris Robinson | 2021-10-10 | 1 | -5/+5 |
| | | | | And use a better fitting type that matches how it's used | ||||
* | Make a construct_at method amd use it | Chris Robinson | 2021-10-08 | 1 | -3/+5 |
| | |||||
* | Ensure unused output channels are cleared when rendering | Chris Robinson | 2021-07-24 | 1 | -1/+12 |
| | |||||
* | Add a UHJ-specific coefficient scaling array | Chris Robinson | 2021-07-13 | 1 | -2/+7 |
| | |||||
* | Don't attenuate spatialized multichannel sources | Chris Robinson | 2021-06-24 | 1 | -34/+9 |
| | | | | | | | | It's inconsistent behavior with spatialized B-Format sources, and causes a very apparent gain disparity between such a source on the listener compared to just barely off-origin. It's also not something an app can easy correct for if it doesn't want that behavior, since the source gain clamps to 1 by default. In contrast, an app can attenuate sources as they want with little issue. | ||||
* | Add an option to mix directly in the JACK callback | Chris Robinson | 2021-06-08 | 1 | -38/+64 |
| | |||||
* | Handle the listener position separate from the rotation matrix | Chris Robinson | 2021-05-25 | 1 | -12/+9 |
| | | | | | | It's too unstable with larger vectors. Even when the source and listener positions are the same, floating point precision can cause noticeable rounding errors. | ||||
* | Move BufferStorage and Voice to core | Chris Robinson | 2021-04-27 | 1 | -2/+2 |
| | |||||
* | Move ContextBase and VoiceChange to core | Chris Robinson | 2021-04-27 | 1 | -2/+2 |
| | |||||
* | Partially implement an extension to hold sources on disconnect | Chris Robinson | 2021-04-26 | 1 | -0/+6 |
| | | | | | | | | Rather than stopping voices/sources when the device becomes disconnected, the context can be set to leave them alone. As a consequence, their state will remain as playing and they'll keep their last known sample offset indefinately. For applications mindful of this behavior, it will allow resetting or reopening the device to reconnect and automatically resume where it left off. | ||||
* | Move GetChannelIdxByName and clean up some more includes | Chris Robinson | 2021-04-26 | 1 | -11/+11 |
| | |||||
* | Move bformatdec to core | Chris Robinson | 2021-04-25 | 1 | -2/+2 |
| | |||||
* | Move async_event.h to core | Chris Robinson | 2021-04-25 | 1 | -2/+19 |
| | |||||
* | Move some functions to core | Chris Robinson | 2021-04-25 | 1 | -0/+1 |
| | | | | And clean up more includes | ||||
* | Create a base the ALCdevice and ALCcontext structs | Chris Robinson | 2021-04-24 | 1 | -23/+23 |
| | | | | | A base that contains the API-agnostic data, with ALCdevice and ALCcontext being for AL-specific data. | ||||
* | Move hrtf.cpp/h to core | Chris Robinson | 2021-04-22 | 1 | -1/+1 |
| | |||||
* | Rename Uhj2Encoder to UhjEncoder | Chris Robinson | 2021-04-01 | 1 | -1/+1 |
| | |||||
* | Add support for 4-channel UHJ | Chris Robinson | 2021-03-31 | 1 | -2/+5 |
| | | | | Also add the SOFT moniker to the new macros | ||||
* | Handle 3-channel UHJ audio buffers | Chris Robinson | 2021-03-31 | 1 | -3/+5 |
| | |||||
* | Decode UHJ buffers to B-Format for mixing | Chris Robinson | 2021-03-31 | 1 | -10/+7 |
| | | | | | This should also have an adjustment for the shelf filter. Although it's not clear what the appropriate adjustments should be. | ||||
* | Start an interface for providing UHJ audio | Chris Robinson | 2021-03-31 | 1 | -0/+7 |
| | | | | Currently only 2-channel UHJ, which gets treated as stereo. | ||||
* | Avoid making BSincPointsMax public | Chris Robinson | 2021-03-01 | 1 | -1/+0 |
| | |||||
* | Avoiding cutting all bsinc resampler output at scale 0 | Chris Robinson | 2021-02-24 | 1 | -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. | ||||
* | Use spans instead of references to arrays | Chris Robinson | 2021-02-06 | 1 | -3/+3 |
| | |||||
* | Add a panning "deadzone" for spatialized sources | Chris Robinson | 2021-01-28 | 1 | -1/+1 |
| | | | | It is now the greater of 'epsilon' (1 / 2**23) or ref_distance/1024. | ||||
* | Avoid global constexpr arrays | Chris Robinson | 2021-01-21 | 1 | -12/+12 |
| | |||||
* | Move cpu_caps and fpu_ctrl to core | Chris Robinson | 2020-12-31 | 1 | -2/+2 |
| | |||||
* | Use a unique_ptr to hold DistanceComp data | Chris Robinson | 2020-12-27 | 1 | -2/+3 |
| | |||||
* | Use a uint for a bitfield | Chris Robinson | 2020-12-27 | 1 | -2/+2 |
| | |||||
* | Avoid AL enums for the EffectSlot type | Chris Robinson | 2020-12-26 | 1 | -3/+3 |
| | |||||
* | Rename From2D to FromACN2D | Chris Robinson | 2020-12-25 | 1 | -1/+1 |
| | |||||
* | Move AsyncEvent to a separate header | Chris Robinson | 2020-12-16 | 1 | -1/+1 |
| | |||||
* | Send stop events when stopping paused voices | Chris Robinson | 2020-12-16 | 1 | -5/+8 |
| | |||||
* | Use a separate enum for the VoiceChange state | Chris Robinson | 2020-12-16 | 1 | -6/+6 |
| | |||||
* | Move VoiceChange to a separate header | Chris Robinson | 2020-12-16 | 1 | -0/+1 |
| | |||||
* | Avoid a generic event struct | Chris Robinson | 2020-12-15 | 1 | -6/+3 |
| | |||||
* | Avoid some AL types | Chris Robinson | 2020-12-15 | 1 | -51/+51 |
| | |||||
* | Use a separate structure for the context/listener params | Chris Robinson | 2020-12-15 | 1 | -50/+42 |
| | |||||
* | Move the mixer functions to core | Chris Robinson | 2020-12-12 | 1 | -1/+1 |
| | |||||
* | Avoid passing DirectHrtfState to MixDirectHrtf | Chris Robinson | 2020-12-12 | 1 | -3/+3 |
| |