Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Allocate context property updates in clusters | Chris Robinson | 2024-01-03 | 1 | -8/+8 |
| | |||||
* | Allocate effect slot property updates in clusters | Chris Robinson | 2024-01-03 | 1 | -13/+12 |
| | |||||
* | Use an allocator to allocate uninitilized sublists | Chris Robinson | 2024-01-01 | 5 | -76/+79 |
| | |||||
* | Use standard operator new[] and delete[] for aligned allocations | Chris Robinson | 2024-01-01 | 5 | -5/+5 |
| | |||||
* | Replace some macros | Chris Robinson | 2023-12-29 | 3 | -24/+24 |
| | |||||
* | Move struct definitions to more appropriate headers | Chris Robinson | 2023-12-29 | 5 | -0/+87 |
| | |||||
* | Handle pointer ownership a bit better | Chris Robinson | 2023-12-29 | 5 | -38/+37 |
| | |||||
* | Try to start being a bit more pointer-owner conscious | Chris Robinson | 2023-12-26 | 4 | -18/+16 |
| | |||||
* | Clean up some gotos and non-optimal casts | Chris Robinson | 2023-12-26 | 5 | -79/+83 |
| | |||||
* | Avoid another assignment in an if statement | Chris Robinson | 2023-12-25 | 1 | -1/+2 |
| | |||||
* | Rework effect property handling | Chris Robinson | 2023-12-24 | 17 | -1171/+996 |
| | | | | To nake EffectProps a variant instead of a union, and avoid manual vtables. | ||||
* | Use separate structs for the dedicated dialog/lfe effects | Chris Robinson | 2023-12-23 | 4 | -22/+83 |
| | |||||
* | Use a separate struct and union member for flanger properties | Chris Robinson | 2023-12-23 | 1 | -50/+38 |
| | |||||
* | Avoid assignments in if conditions | Chris Robinson | 2023-12-23 | 1 | -2/+2 |
| | |||||
* | Pass the effect props directly to the eax committer functions | Chris Robinson | 2023-12-23 | 13 | -418/+236 |
| | | | | Rather than the variant that was already checked for what it's holding. | ||||
* | Avoid some template hackery for EAX effect type functions | Chris Robinson | 2023-12-22 | 12 | -215/+169 |
| | |||||
* | 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 |
| |