aboutsummaryrefslogtreecommitdiff
path: root/src/audio_core
AgeCommit message (Collapse)Author
2022-06-14Merge pull request #8383 from Morph1984/shadow-of-the-pastMai
yuzu: Make variable shadowing a compile-time error
2022-06-13common: Change semantics of UNREACHABLE to unconditionally crashLiam
2022-06-13audio_core: Remove -Werror=unused-parameterMorph
Removing this as we don't enforce unused parameter warnings elsewhere in the project, and explicitly specify -Wno-unused-parameter in the main CMakeLists.
2022-06-13CMakeLists: Make variable shadowing a compile-time errorMorph
Now that the entire project is free of variable shadowing, we can enforce this as a compile time error to prevent any further introduction of this logic bug.
2022-05-13command_generator: Use u8 for tap index lutMorph
Using this smaller type saves 1024 bytes in the compiled executable.
2022-04-23general: Convert source file copyright comments over to SPDXMorph
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-04-01audio_core: remove time stretcherAndrea Pappacoda
Also drop the SoundTouch dependency
2022-02-11audio_core: Update current process revisionlat9nq
Update CURRENT_PROCESS_REVISION from REV9 to REVA. Used by Nintendo Entertainment System - Nintendo Switch Online 6.0.0 and Super Nintendo Entertainment System - Nintendo Switch Online 3.0.0.
2022-01-15audio/stream: Adjust volume scale factorgerman77
2021-12-05general: Add missing copyright noticesameerj
2021-10-01common/logging: Move Log::Entry declaration to a separate headerameerj
This reduces the load of requiring to include std::chrono in all files which include log.h
2021-07-12Merge pull request #6571 from Kelebek1/Mixbunnei
audio_core: Replace NaN mix volume samples with silence
2021-07-08Merge pull request #6539 from lat9nq/default-settingAmeer J
general: Move most settings' defaults and labels into their definition
2021-07-08Replace NaN mix volume samples with silence.Kelebek1
Fixes Xenoblade Chronicles 2 blowing out the audio.
2021-07-08Merge pull request #6564 from Kelebek1/AudioMorph
Support more PCM formats
2021-07-08audio_core: Preserve front channel volume after 6 to 2 downmixKelebek1
Many games report 6 channel output while only providing data for 2. We only output 2-channel audio regardless, and in the downmixing, front left/right only provide 36% of their volume. This is done assuming all of the other channels also contain valid data, but in many games they don't. This PR alters the downmixing to preserve front left/right, so volume is not lost. This improves volume in Link's Awakening, New Super Mario Bros U, Disgaea 6, Super Kirby Clash.
2021-07-06Support more PCM formats. Fixes Ys IX audio.Kelebek1
2021-07-06CMakeLists: Treat -Wsign-compare as an error on GCC/ClangMorph
Treats (un)signed comparison mismatches as errors to be consistent with MSVC
2021-07-01Fix XC2/VOEZ crashing, add audio looping and a few misc fixesKelebek1
2021-06-28general: Make most settings a BasicSettinglat9nq
Creates a new BasicSettings class in common/settings, and forces setting a default and label for each setting that uses it in common/settings. Moves defaults and labels from both frontends into common settings. Creates a helper function in each frontend to facillitate reading the settings now with the new default and label properties. Settings::Setting is also now a subclass of Settings::BasicSetting. Also adds documentation for both Setting and BasicSetting.
2021-06-27Decouple audio processing and run at variable rateKelebek1
Currently, processing of audio samples is called from AudioRenderer's Update method, using a fixed 4 buffers to process the given samples. Games call Update at variable rates, depending on framerate and/or sample count, which causes inconsistency in audio processing. From what I've seen, 60 FPS games update every ~0.004s, but 30 FPS/160 sample games update somewhere between 0.02 and 0.04, 5-10x slower. Not enough samples get fed to the backend, leading to a lot of audio skipping. This PR seeks to address this by de-coupling the audio consumption and the audio update. Update remains the same without calling for buffer queuing, and the consume now schedules itself to run based on the sample rate and count.
2021-06-24audio_core: common: Bump audio revision to 9.bunnei
- This is used in fw 12.x.x games.
2021-06-24Add missing includes (#6521)Chloe
* Add missing includes * Add array
2021-06-22Implement audout GetAudioOutPlayedSampleCountKelebek1
Used in Ninja Gaiden games.
2021-06-07Various suggestions by v1993 and lioncashClément Gallet
2021-06-06Add SDL2 audio backendClément Gallet
2021-06-02general: Replace RESULT_SUCCESS with ResultSuccessMorph
Transition to PascalCase for result names.
2021-04-14common: Move settings to common from core.bunnei
- Removes a dependency on core and input_common from common.
2021-02-12revert to std::sin and std::cosChloe Marcec
2021-02-12address issuesChloe Marcec
2021-02-12audren: Implement I3dl2ReverbChloe Marcec
Most notable fix is the voices in Fire Emblem Three Houses
2021-02-08Merge pull request #5868 from german77/HandheldFixbunnei
Prevent over scheduling audio events and add motion update unschedule event
2021-02-02Prevent over scheduling audio events and terminate properly the motion ↵german
update event
2021-02-01audren: Disable reverb for the time beingChloe Marcec
As this is causing issues in a few games, it's best to have it disabled until it's completely implemented
2021-01-24audout: FlushAudioOutBuffersChloe Marcec
Fixes Devil May Cry
2021-01-15core: Silence Wclass-memaccess warningsReinUsesLisp
This requires making several types trivial and properly initialize them whenever they are called.
2021-01-15common/common_funcs: Rename INSERT_UNION_PADDING_{BYTES,WORDS} to _NOINITReinUsesLisp
INSERT_PADDING_BYTES_NOINIT is more descriptive of the underlying behavior.
2020-12-31Merge pull request #5264 from 16-Bit-Dog/patch-1bunnei
Make the coding conventions more consistant
2020-12-30Make the coding conventions more consistant16-Bit-Dog
lut_index had 0 added when nothing was supposed to be added despite this, index was not added to 0 when nothing was supposed to be added...
2020-12-28hle: service: Acquire and release a lock on requests.bunnei
- This makes it such that we can safely access service members from CoreTiming thread.
2020-12-28audio_core: stream: Ensure buffer is valid before release.bunnei
2020-12-05Update cubeb and request a persistent stream sessionVitor Kiguchi
2020-12-02Merge pull request #5000 from lioncash/audio-errorbunnei
audio_core: Make shadowing and unused parameters errors
2020-12-03audio_core: Make shadowing and unused parameters errorsLioncash
Moves the audio code closer to enabling warnings as errors in general.
2020-11-28audio_core: Remove temp_mix_bufferChloe Marcec
It's unused and doesn't need to be initialized
2020-11-17Addressed changesChloe Marcec
2020-11-17audren: Make use of nodiscard, rework downmixing, release all buffersChloe Marcec
Preliminary work for upmixing & general cleanup. Fixes basic issues in games such as Shovel Knight and slightly improves the LEGO games. Upmixing stitll needs to be implemented. Audio levels in a few games will be fixed as we now use the downmix coefficients when possible instead of supplying our own
2020-10-20core: Fix clang build pt.2Lioncash
Resolves the clang build issue in a more unintrusive way.
2020-10-20Revert "core: Fix clang build"bunnei
2020-10-17core: Fix clang buildLioncash
Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795