aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Avoid dividing by a constantChris Robinson2022-05-241-4/+4
|
* [EAX] Add separate effect state for each version (#705)Boris I. Bendovsky2022-05-2431-6651/+4211
| | | | | * [EAX] Add separate effect state for each version * [EAX] Don't use EAX call as data member
* Use the mix format if IsFormatSupported fails for WASAPI captureChris Robinson2022-05-171-1/+6
|
* Update documentation about the 3D7.1 presetChris Robinson2022-05-171-3/+4
|
* Fix some formatting in the 3D7.1 presetChris Robinson2022-05-171-7/+8
|
* Avoid a virtual function call to set the decoder widthChris Robinson2022-05-172-16/+9
|
* Use a member variable to specify the decoder paddingChris Robinson2022-05-172-2/+11
|
* Check the container type given to DEF_NEWDEL and DEF_FAM_NEWDELChris Robinson2022-05-161-3/+7
| | | | | | | There's apparently no way to get the containing class/struct type from a static member function, and operator new/delete are implicitly static member functions so the macros to define them need to be told the type to allocate for. This ensures the type specified matches the containing type.
* Avoid magic numbersChris Robinson2022-05-162-6/+10
|
* Move EAX files to their own sub-directoryChris Robinson2022-05-1646-94/+93
|
* Use virtual functions for the decoderChris Robinson2022-05-145-29/+39
|
* Mark the template base as inlineChris Robinson2022-05-141-1/+1
| | | | | Apple LLVM doesn't like template specializatioms marked inline without the (deleted) base also being inline.
* Resample before frequency analysisChris Robinson2022-05-136-40/+94
| | | | | | | | | | We want to resample before minimum phase reconstruction since that changes the phase relationship of the sampled signal, introducing a slight bit of noise from truncated sampling. It's not clear that the frequency domain resampling method is accurate, so resampling prior to frequency analysis is an alternative to ensure the resulting frequencies are given the proper phase for sampling. This also cleans up some micro allocations in loops.
* Keep some variables local to where they're neededChris Robinson2022-05-131-26/+21
|
* Use pw_buffer::requested in newer PipeWire versionsChris Robinson2022-05-131-16/+26
|
* Remove a couple unnecessary castsChris Robinson2022-05-131-3/+3
|
* Fix pkg-config file when libdir/bindir/includedir specified as absolute ↵ilya-fedin2022-05-131-3/+3
| | | | | | | paths (#696) Currently it makes the pkg-config file unusable as prefix is specified twice. FULL variables do the necessary parsing and automatically prepend the prefix if needed.
* Search the installation data directory (#693)ilya-fedin2022-05-133-0/+22
| | | That allows the logic to work on non-FHS distros like NixOS
* Fix the CoreAudio output element valueChris Robinson2022-05-101-1/+1
|
* Properly set the air absorption gain baseChris Robinson2022-05-101-0/+1
|
* Don't enable RTKit/D-Bus support on WindowsChris Robinson2022-05-092-42/+44
|
* More agressively hide PipeWire and SDL header warningsChris Robinson2022-05-093-6/+21
|
* Avoid an ugly and confusing generate_nChris Robinson2022-05-081-13/+7
|
* Clean up readAudio someChris Robinson2022-05-081-76/+40
|
* Drain audio frames when stopping playback in alffplayChris Robinson2022-05-071-7/+16
|
* Reject older versions of PipeWire than built againstChris Robinson2022-05-071-0/+24
| | | | | | | | | | | | | | | | | | | Newer versions of PipeWire may add things to public structures. For example, pw_buffer::requested added in 0.3.49. Building against 0.3.49 or newer, but then running with 0.3.48 could result in invalid accesses since the returned pw_buffer objects are shorter than the definition says to expect, creating undefined behavior. Even if explicit access to the additional fields is protected by a runtime check, the language allows the compiler to assume a pointer to a pw_buffer object contains a complete pw_buffer, allowing the optimizer to access the field earlier than the check (with the check only controlling if the value gets used). Another example is pw_time, which had a few fields added in 0.3.50 along with a function, pw_stream_get_time_n, that provides the size of the pw_time struct the application is using (so the library knows what version of the struct it has to fill in). If a later version adds a new field, running it with an older version will either fail (due to the library getting a size larger than it knows about) or silently leave the newer fields as garbage.
* Avoid a deprecated PipeWire functionChris Robinson2022-05-061-4/+17
| | | | | Building against 0.3.50 or newer will require that version or newer at runtime. Building against a version before 0.3.50 will work with newer versions.
* Use an array of pointers for the UHJ encoder inputChris Robinson2022-05-063-7/+8
|
* Fix CoreAudio audio unit element values for captureChris Robinson2022-05-021-19/+21
|
* Check for a minimum PipeWire versionChris Robinson2022-04-271-1/+1
| | | | | | The backend is apparently using some stuff that wasn't in earlier headers, but it's not clear what was introduced in which versions. 0.3.23 should work, though it may need to be higher or it could go a bit lower.
* Update alsoftrc.sample about surround3d71Chris Robinson2022-04-271-7/+11
|
* Reset the ringbuffer when stopping OpenSL playbackChris Robinson2022-04-261-0/+2
|
* Handle 3D7.1 as a separate channel configurationChris Robinson2022-04-2622-129/+219
| | | | | | | It's treated as 5.1 + 2 aux channels. This allows AL_DIRECT_CHANNELS_SOFT to behave better, not forwarding rear left/right channel inputs to lower front and upper rear, and allows reporting a more appropriate output mode to the app instead of 7.1.
* Update a tooltip to match current behaviorChris Robinson2022-04-261-3/+1
|
* Add an option to alsoft-config for EAX API supportChris Robinson2022-04-262-1/+29
|
* Workaround a MinGW issue with str(n)casecmp macrosChris Robinson2022-04-261-0/+1
|
* Use bool() instead of bool{} to castChris Robinson2022-04-251-2/+2
| | | | To work around a MinGW GCC 5 issue.
* Fully protect disconnection with the mixer counterChris Robinson2022-04-251-36/+36
|
* Use a type alias to simplify using a typeChris Robinson2022-04-251-7/+8
|
* Clean up some case spaghettiChris Robinson2022-04-251-13/+10
|
* Fallback to pkg-config for dbus (#689)ilya-fedin2022-04-251-2/+11
|
* Release 1.22.0Chris Robinson2022-04-222-3/+3
|
* Remove a couple unused fieldsChris Robinson2022-04-221-3/+0
|
* Define FUNCTION_CAST in a common headerChris Robinson2022-04-227-46/+15
|
* Print the output mode from openal-infoChris Robinson2022-04-171-0/+29
|
* Finalize ALC_SOFT_output_modeChris Robinson2022-04-174-20/+21
|
* Always report ALC_ANY_SOFT for output without contextsChris Robinson2022-04-171-0/+3
| | | | | Not required, but nicer to be consistent if it's not a meaningful value (e.g. the actual device mode).
* Silence reverb with EAX by defaultChris Robinson2022-04-161-0/+6
|
* Use a bool type for boolean parametersChris Robinson2022-04-164-4/+4
|
* Include ALC_OUTPUT_MODE_SOFT with ALC_ALL_ATTRIBUTESChris Robinson2022-04-161-4/+10
|