Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Avoid a function-like macro for calling to EAX effects | Chris Robinson | 2023-12-22 | 1 | -20/+35 |
| | |||||
* | Replace a series of if statements with a switch | Chris Robinson | 2023-12-22 | 1 | -24/+16 |
| | |||||
* | Use std::visit instead of manually checking the set type | Chris Robinson | 2023-12-22 | 1 | -25/+15 |
| | |||||
* | Use string_views for querying config parameters | Chris Robinson | 2023-12-21 | 1 | -1/+1 |
| | |||||
* | [EAX] Fix error handling (#953) | Boris I. Bendovsky | 2023-12-21 | 1 | -0/+1 |
| | | | | | | - Set error on EAX call failure if context is available. - Reset error on successful retreiving the last error code. Reference: EAX 4.0 - Programmer's Guide (pg.37) | ||||
* | Ensure struct members are initialized | Chris Robinson | 2023-12-20 | 1 | -11/+11 |
| | |||||
* | Remove DEF_NEWDEL | Chris Robinson | 2023-12-16 | 1 | -3/+0 |
| | | | | | C++17 provides alignment-aware allocators for us, so we don't need to use our own to make sure classes/structs are properly aligned. | ||||
* | Remove unnecessary macro parameter lists | Chris Robinson | 2023-12-15 | 5 | -6/+6 |
| | |||||
* | Remove void from empty parameter lists | Chris Robinson | 2023-12-12 | 3 | -45/+43 |
| | | | | Also convert some functions to trailing return types and remove (void) casts. | ||||
* | Much more clang-tidy cleanup | Chris Robinson | 2023-12-10 | 7 | -54/+56 |
| | |||||
* | More clang-tidy cleanup | Chris Robinson | 2023-12-10 | 2 | -1/+3 |
| | | | | And suppress some warnings | ||||
* | Clean up some more clang-tidy warnings | Chris Robinson | 2023-12-08 | 3 | -18/+17 |
| | |||||
* | Try to work around a compiler issue with HexPrinter | Chris Robinson | 2023-12-08 | 1 | -6/+7 |
| | |||||
* | Fix some clang-tidy warnings | Chris Robinson | 2023-12-08 | 10 | -72/+72 |
| | |||||
* | Check for a valid alignment with callback buffers | Chris Robinson | 2023-12-04 | 1 | -0/+4 |
| | |||||
* | Use RAII to handle writing under the mixer seqlock | Chris Robinson | 2023-12-04 | 1 | -3/+3 |
| | |||||
* | Remove some unnecessary atomic wrappers | Chris Robinson | 2023-12-03 | 5 | -15/+18 |
| | |||||
* | Replace a global function with a member function | Chris Robinson | 2023-12-03 | 1 | -2/+2 |
| | |||||
* | fix printf format for MinGW (#942) | Rosen Penev | 2023-12-03 | 2 | -4/+4 |
| | | | | | | With gcc, mingw uses gnu_printf. With clang, printf is used as it does not support gnu_printf. Use the internal header to match this properly. Signed-off-by: Rosen Penev <[email protected]> | ||||
* | Start a 32-bit sample format extension | Chris Robinson | 2023-11-18 | 1 | -77/+92 |
| | | | | | This ultimately is to properly distinguish and clarify formats being 32-bit integer and 32-bit float. | ||||
* | Support 32-bit int sample storage | Chris Robinson | 2023-11-15 | 1 | -0/+1 |
| | |||||
* | Make a couple global values/variables inline | Chris Robinson | 2023-11-11 | 2 | -8/+6 |
| | |||||
* | Don't inline a destructor | Chris Robinson | 2023-10-22 | 2 | -0/+6 |
| | |||||
* | Add missing include | Chris Robinson | 2023-10-12 | 1 | -0/+2 |
| | |||||
* | Rename the convolution reverb effect to just convolution | Chris Robinson | 2023-10-12 | 3 | -5/+5 |
| | | | | | While the common use case, convolution can do more than just reverb, and it nicely shortens the name. | ||||
* | Add an orientation property for convolution reverb | Chris Robinson | 2023-10-12 | 1 | -4/+26 |
| | | | | Only affects ambisonic (B-Format and UHJ) formats | ||||
* | Add convolution effect properties to rotate ambisonic responses | Chris Robinson | 2023-10-12 | 1 | -0/+2 |
| | |||||
* | Remove an unnecessary deque with a custom allocator | Chris Robinson | 2023-10-11 | 2 | -5/+4 |
| | |||||
* | Don't inline a couple more template functions | Chris Robinson | 2023-09-26 | 1 | -2/+2 |
| | | | | | I still wish I didn't have to force noinline just to avoid template functions being more aggressively inlined. | ||||
* | Avoid casting an integer literal | Chris Robinson | 2023-09-22 | 7 | -18/+23 |
| | |||||
* | Fix source span size | Chris Robinson | 2023-09-17 | 1 | -5/+5 |
| | |||||
* | Rename noinline to NOINLINE | Chris Robinson | 2023-09-17 | 1 | -2/+2 |
| | | | | To avoid clashes with compilers that use it as a keyword already | ||||
* | Don't inline some big functions | Chris Robinson | 2023-09-16 | 1 | -40/+32 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is very dumb. Template functions are implicitly marked inline according to C++, and contrary to popular belief, "inline" *does* influence the compiler's decision to inline a function. A function the compiler may not have decided to inline normally may be inlined anyway, or issue a warning if it still decides not to inline, if explicitly or implicitly marked as such (or does inline it as requested, but then decides to not inline different functions it normally would because of a cumulative code size increase or something). Furthermore, once a function becomes inline due to being a template function, there's no way to undo it. Marking an inline function "noinline" pushes the problem the other way, causing the compiler to not inline a function it may have decided was beneficial to inline. There's no way to declare a template function to be inlined based solely on compiler heuristics, it will always be influenced by the implicit "inline" or explicit "noinline". That's what's happening here. A number of functions had been combined into a smaller number of large-ish template functions to reduce code duplication and ease maintanence, causing them to be implicitly inline as a side-effect. GCC then manages to inline these larger functions as implicitly requested, but in doing so prevents other smaller functions (which are explicitly marked inline) from being inlined due to excessive code increase and issue a warning. The "noinline" is a heavy-handed method of un-pessimizing the optimization pass, on the assumption the compiler apparently doesn't actually want to inline the template functions, but does so because they're technically marked inline. There's no good option here until it gets acknowledged that inline does mean something beyond allowing multiple definitions, and that template (and other types of) function definitions sometimes (if not most often) want to allow multiple definitions but don't want an artificial/detrimental boost in inline prioritization. /rant | ||||
* | Use duration_cast to convert nanoseconds to seconds | Chris Robinson | 2023-09-16 | 1 | -9/+14 |
| | |||||
* | Replace another C string with string_view | Chris Robinson | 2023-08-26 | 1 | -5/+4 |
| | |||||
* | Simplify building a string message | Chris Robinson | 2023-08-26 | 1 | -11/+3 |
| | |||||
* | Use string_view in a couple more places | Chris Robinson | 2023-08-25 | 4 | -38/+20 |
| | |||||
* | Allow querying AL_EFFECTSLOT_EFFECT | Chris Robinson | 2023-08-25 | 2 | -5/+13 |
| | | | | | | | This doesn't make much sense since the effect associated with the ID may be modified and not represent the effect being played, or was even deleted and isn't a valid effect ID, but Generic Software allows querying it so it should be queryable for compatibility if nothing else. | ||||
* | Remove an unnecessary source file | Chris Robinson | 2023-08-18 | 2 | -34/+11 |
| | |||||
* | Use an array of bytes instead of ints for small values | Chris Robinson | 2023-08-15 | 1 | -4/+4 |
| | |||||
* | Don't null check the context in the direct EAX functions | Chris Robinson | 2023-08-13 | 1 | -16/+2 |
| | |||||
* | Add missing includes | Chris Robinson | 2023-08-11 | 2 | -0/+3 |
| | |||||
* | Add AL_EXT_debug functions to set/get object names | Chris Robinson | 2023-08-11 | 13 | -6/+188 |
| | |||||
* | More properly print string_views | Chris Robinson | 2023-08-06 | 1 | -19/+7 |
| | |||||
* | Fix if-comparison (#890) | Johan Mattsson | 2023-07-30 | 1 | -1/+1 |
| | |||||
* | Declare functions closer to where they're needed | Chris Robinson | 2023-07-26 | 7 | -131/+125 |
| | | | | | This provides better code locality when calling implicit context functions that call their direct context variants. | ||||
* | Don't hold the property lock when setting the event callback | Chris Robinson | 2023-07-20 | 1 | -5/+3 |
| | |||||
* | Add missing include | Chris Robinson | 2023-07-10 | 1 | -0/+1 |
| | |||||
* | Use a separate function to convert AL_EVENT_TYPE_ enums | Chris Robinson | 2023-07-07 | 1 | -17/+18 |
| | |||||
* | Fix some typos (#872) | Dirk Stolle | 2023-07-04 | 3 | -5/+5 |
| |