Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Make and use a processHfScale function with a separate output | Chris Robinson | 2022-03-31 | 3 | -6/+44 |
| | |||||
* | Avoid some explicit extern "C"s on function definitions | Chris Robinson | 2022-03-31 | 3 | -4/+16 |
| | |||||
* | Simplify al::byte | Chris Robinson | 2022-03-30 | 2 | -63/+11 |
| | | | | | It's just an alias for unsigned char now, and no longer strongly-typed like std::byte. | ||||
* | Remove a dead store | Chris Robinson | 2022-03-30 | 1 | -1/+0 |
| | |||||
* | Replace a few asserts with actual checks or ASSUME() | Chris Robinson | 2022-03-30 | 3 | -8/+9 |
| | |||||
* | Avoid some redundant variable assignments | Chris Robinson | 2022-03-30 | 1 | -12/+6 |
| | |||||
* | Remove the reversed all-pass trick in MixDirectHrtfBase | Chris Robinson | 2022-03-30 | 6 | -50/+11 |
| | | | | Given the minimum phase HRTF, it's not going to stay linear phase anyway. | ||||
* | Add missing include | Chris Robinson | 2022-03-30 | 1 | -0/+1 |
| | |||||
* | Move assume_aligned to opthelpers.h and define force_inline | Chris Robinson | 2022-03-30 | 2 | -40/+38 |
| | |||||
* | Avoid a shadow declaration warning | Chris Robinson | 2022-03-30 | 1 | -7/+7 |
| | |||||
* | Slightly improve code flow for ASSUME | Chris Robinson | 2022-03-29 | 1 | -1/+1 |
| | |||||
* | Make and use a Default enum for StereoEncoding | Chris Robinson | 2022-03-29 | 3 | -13/+15 |
| | |||||
* | Rename ALC_STEREO_PLAIN_SOFT and don't duplicate ALC_HRTF_SOFT | Chris Robinson | 2022-03-29 | 4 | -7/+7 |
| | |||||
* | constexpr functions are not allowed to have static variables, and if they ↵ | Glyn Leine | 2022-03-29 | 1 | -4/+4 |
| | | | | are constexpr anyways then them being static has no benifit (#677) | ||||
* | Avoid a variable to subscript an array in offsetof | Chris Robinson | 2022-03-26 | 1 | -2/+8 |
| | |||||
* | Inline a couple dispatch calls | Chris Robinson | 2022-03-26 | 4 | -24/+5 |
| | |||||
* | Simplify some move assignments | Chris Robinson | 2022-03-25 | 2 | -8/+6 |
| | |||||
* | Protect intrusive_ptr and ComPtr from moving to itself | Chris Robinson | 2022-03-25 | 2 | -20/+20 |
| | |||||
* | Try to improve assume_aligned for other compilers | Chris Robinson | 2022-03-25 | 1 | -2/+35 |
| | |||||
* | Don't expose EAX reverb preset duplicates | Chris Robinson | 2022-03-24 | 2 | -113/+62 |
| | | | | | The presets are already in their respective arrays, which makes the individual globals redundant. | ||||
* | Simplify a couple offsetof statements | Chris Robinson | 2022-03-24 | 1 | -10/+4 |
| | |||||
* | Revert "Set the proper reverb effect defaults for EAX" | Chris Robinson | 2022-03-24 | 1 | -25/+0 |
| | | | | This reverts commit 964a11ef629fa3a89e827516a47949c858ce864c. | ||||
* | Be more careful about checking compiler flags | Chris Robinson | 2022-03-23 | 1 | -15/+15 |
| | | | | | Certain combinations of MSVC and CMake seem to allow all compiler flag checks to pass, which was causing certain GCC attributes to be used on MSVC. | ||||
* | Handle more modes with the ALC_OUTPUT_MODE_SOFT attribute | Chris Robinson | 2022-03-23 | 4 | -184/+254 |
| | |||||
* | Set the proper reverb effect defaults for EAX | Chris Robinson | 2022-03-23 | 1 | -0/+25 |
| | |||||
* | Better ensure attributes are properly traced | Chris Robinson | 2022-03-17 | 1 | -28/+15 |
| | |||||
* | Fix tracing the ALC_OUTPUT_MODE_SOFT attribute | Chris Robinson | 2022-03-17 | 1 | -1/+1 |
| | |||||
* | Ensure the EAX functions are suitably aligned on 32-bit | Chris Robinson | 2022-03-16 | 2 | -4/+4 |
| | |||||
* | Make sure FX slots that aren't made active are disabled | Chris Robinson | 2022-03-13 | 1 | -9/+6 |
| | |||||
* | Add options to reverse local X and Y coordinates | Chris Robinson | 2022-03-10 | 5 | -11/+36 |
| | | | | | To go along with reverse-z on the other axii. This is only for games that have position/orientation errors causing top-bottom (or left-right) inversion. | ||||
* | Update comments about where to put config files | Chris Robinson | 2022-03-10 | 1 | -6/+10 |
| | |||||
* | Fix for some missing macros | Chris Robinson | 2022-03-10 | 1 | -0/+5 |
| | |||||
* | Add a config option for reverse-z | Chris Robinson | 2022-03-10 | 4 | -25/+41 |
| | | | | | | The same as the __ALSOFT_REVERSE_Z env var, but in the config file. Should only be used for per-game config files (either along side the executable, or setting the ALSOFT_CONF env var when launching the app). | ||||
* | Use proper macros instead of magic numbers | Chris Robinson | 2022-03-09 | 1 | -3/+3 |
| | |||||
* | Avoid a divide-by-zero in UhjDecoder::decodeStereo | Chris Robinson | 2022-03-07 | 1 | -4/+4 |
| | |||||
* | Fix X-RAM tracking | Chris Robinson | 2022-03-06 | 4 | -185/+117 |
| | |||||
* | Avoid a stateful unique_ptr deleter | Chris Robinson | 2022-03-05 | 2 | -28/+10 |
| | |||||
* | Fix EAXSOURCE_ROLLOFFFACTOR | Chris Robinson | 2022-03-05 | 2 | -2/+11 |
| | | | | It should be added to AL_ROLLOFF_FACTOR. | ||||
* | Set the MacroFXFactor default | Chris Robinson | 2022-03-05 | 1 | -0/+1 |
| | |||||
* | Simplify committing EAX properties | Chris Robinson | 2022-03-05 | 18 | -1072/+328 |
| | | | | | | Based on DirectSound's EAX behavior, committing any EAX property commits *all* deferred property changes, not just the object being changed. So applying EAX changes can be handled in one place. | ||||
* | Handle deferring for EAX 1 reverb | Chris Robinson | 2022-03-04 | 1 | -351/+212 |
| | | | | | I don't know if EAX 1 actually handles deferring updates, but it will simplify future changes. | ||||
* | Ensure deferred EAX effect properties are committed | Chris Robinson | 2022-03-04 | 17 | -57/+86 |
| | |||||
* | Fix the UHJ decoder parameters in uhjdecoder | Chris Robinson | 2022-03-02 | 1 | -5/+5 |
| | |||||
* | Fix applying the EAX context AirAbsorptionHF property | Chris Robinson | 2022-03-02 | 1 | -1/+1 |
| | |||||
* | Fix applying air absorption | Chris Robinson | 2022-03-02 | 1 | -20/+20 |
| | |||||
* | Move some temp variables closer to where they're used | Chris Robinson | 2022-03-02 | 1 | -69/+67 |
| | |||||
* | Rework source send distance attenuation handling | Chris Robinson | 2022-03-02 | 1 | -61/+77 |
| | | | | | | | | Specifically, AL_[EAX]REVERB_ROOM_ROLLOFF_FACTOR always applies to an inverse distance rolloff model, where the source's AL_ROOM_ROLLOFF_FACTOR applies to the selected distance model. Consequently, the normal distance and cone attenuation only needs to be calculated once for all sends, with the effect's room rolloff calculated and applied separately. | ||||
* | Rework the initial reverb decay | Chris Robinson | 2022-03-01 | 1 | -41/+32 |
| | | | | | | | | | | | | | | | | | | The idea here is that the initial reverb decay can't become less than the dry path distance attenuation, as the dry attenuation represents the audio that has not yet had a chance to start reflecting in the environment. As well, the reference distance indicates where there is no distance attenuation, with any initial attenuation set by the environment itself. So what we do is use the dry path attenuation as the baseline for what's mixed to the reverb, with the decay rate indicating how much of the remaining room (non-direct) energy attenuates with distance. This may be over-complicating it. Other sources hint at a more typical XdB per doubling of distance, with X varying depending on environment properties (room size, absorbancy, etc). This could be handled by applying a normal inverse distance attenuation model, with a rolloff factor generated from the reverb properties (density, decay rate, etc). Will need more testing and research. | ||||
* | Remove AL_SOFTX_filter_gain_ex | Chris Robinson | 2022-02-28 | 2 | -6/+3 |
| | | | | | | It was only added to try to help DSOAL, and it's not clear if it's even necessary. But with native EAX API support, it certainly isn't necessary anymore. | ||||
* | Forward the DriverIface constructor's name | Chris Robinson | 2022-02-26 | 1 | -4/+6 |
| |