summaryrefslogtreecommitdiff
path: root/Source/Core/AudioCommon/Mixer.h
AgeCommit message (Collapse)Author
2026-05-14AudioCommon: Add individual Wiimote audio mixerWeston Heard
Also incremented STATE_VERSION.
2026-03-30AudioCommon/Mixer: Fix integrated GBA sample rate calculation and inverted ↵Jordan Woyak
stereo channels. Give MixerFifo a variable sample rate dividend. Handle byte-swapping and stereo channel construction outside of MixerFifo to better handle the custom layouts of each stream.
2026-01-27feat: Add an option to preserve audio pitch when emulation speed changes, ↵Sam Belliveau
integrating it into core configuration and both Qt and Android UIs.
2025-08-05Merge pull request #13725 from Sam-Belliveau/more-consistent-loopingJMC47
Fade audio after an entire loop
2025-07-23AudioCommon/Mixer: Skip sample processing when NullSoundStream is being used.Jordan Woyak
2025-06-02Fade audio after an entire loopSam Belliveau
2025-05-25AudioCommon: Remove unused includesDr. Dystopia
2025-04-01Improve Performance of Granular Buffering + User Adjustable Buffer SizeSam Belliveau
2025-03-14AudioCommon: Added Granular SynthesisSam Belliveau
2023-08-17Use structs for config callback IDsJosJuice
This way you can't mix up regular config callback IDs and CPU thread config callback IDs. (It would be rather bad if you did!)
2023-03-13Skylander Portal: Play Trap Team AudioJoshua de Reeper
Asserts and length handling
2022-12-23New FrameTime/VBlank Analyzer + GraphSam Belliveau
2022-07-03Do not directly store input sample rate, rather just store a divisor for ↵CasualPokePlayer
that sample rate, with it using a fixed dividend of 54000000 * 2. This should reduce (but not completely eliminate) gradual audio desyncs in dumps. This also allows for accurate sample rates for the GameCube. Completely eliminating gradual audio desyncs will require resampling to an integer sample rate, as nothing seems to support a non-integer sample rate.
2022-06-10have audio dumps apply volume (fixes cases of audio dumps being "too loud" ↵CasualPokePlayer
and in game audio controls having no effect)
2022-01-06Core/AudioCommon: Add config caching to Mixer.Admiral H. Curtiss
2021-10-13Fix all uninitialized variable warnings (C26495)Pokechu22
2021-07-13Mixer: Support GBA samples mixingBonta
2021-07-05treewide: convert GPLv2+ license info to SPDX tagsPierre Bourdon
SPDX standardizes how source code conveys its copyright and licensing information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX tags are adopted in many large projects, including things like the Linux kernel.
2019-10-22Allow user to change DPLII decoding qualityLAGonauta
2019-02-13Swapped FFDShow's DPL2 decoder by FreeSurroundLAGonauta
Added class in AudioCommon for the surround decoder
2018-04-12Reformat all the things!spycrab
2017-11-06Fix DTK audio not working after loading a savestateJosJuice
The main problem was that the volume of the mixer wasn't savestated. The volume is typically 0 at the beginning of a game, so loading a savestate at the beginning of a game would lead to silent DTK audio. I also added savestating to StreamADPCM.cpp.
2017-06-26Rename CMixer to MixerMichael Maltese
2017-06-03AudioStretcher: split StretchAudio into ProcessSamples / GetStretchedSamplesMichael Maltese
2017-06-03AudioCommon: extract AudioStretcher class for time-stretchingMichael Maltese
2017-06-03AudioCommon: move DPL2 decoding into MixerMichael Maltese
2017-04-12Mixer: Use a temporary buffer when stretching audioMerryMage
2017-04-12Mixer: Calculate actual_samples based on availability in all FIFOsMerryMage
2017-04-12Add audio stretching as a configuration optionMerryMage
2017-04-12Mixer: Implement audio stretchingMerryMage
2016-06-24Split Audio Dumps on Sample Rate ChangesChris Burgener
2016-06-24Reformat all the things. Have fun with merge conflicts.Pierre Bourdon
2016-01-15Mixer: Convert defines into concrete variablesLioncash
Gets defines out of global scope.
2016-01-14Mixer: Directly initialize class membersLioncash
2016-01-14Mixer: DevirtualizeLioncash
Nothing in the codebase inherits from this class
2015-11-03Throttler + Mixer: Configureable variancedegasus
2015-09-28Fix building with PCH disabled.Rohit Nirmal
2015-09-26Common: Remove other Common prefixed headers from Common.hLioncash
2015-06-20Mixer: Fix erroneous global prefixes on class variablesLioncash
2015-06-20Mixer: Devirtualize DTK and DSP audio logging functionsLioncash
Their functionality is already complete in the base class; there's no need to allow overriding.
2015-05-28AudioCommon: Remove lock on Pause statedegasus
We had to lock audiocommon with the old asynchron HLE audio emulation, now our Mixer is just a plain FIFO which may underrun. Of course, this will stutter, but underruning the audio backend is likely worse.
2015-05-25Set copyright year to when a file was createdTillmann Karras
2015-05-25Update license headers to GPLv2+Tillmann Karras
2015-05-11Mixer: Convert volatile variables to atomics.Lioncash
2015-02-23Revert "High quality resampler"Markus Wick
2015-02-18High Quality Resampler, using FIR filterkamiyo
For more information: https://docs.google.com/document/d/1tBEgsJh7QiwNwepXI0eobfK3U8LkJButSyeuFt1degM/edit?usp=sharing removed: SSE includes (not used) added: 16bit -> float -> 16bit functions added: linear interpolator and high-quality (windowed-sinc) interpolator functions (including Resampler class) added: dithering changed: renamed variables and reformatted a few things to fit with style guide (braces, #include->const) changed: use s16, u16, s32, u32 etc changed: store samples and do all computations as floats changed: volume from 0 - 255
2014-10-09Proper Audio/Video DumpingFog
2014-09-07Route the wiimote speaker to the sound mixer (the host system's speakers). ↵skidau
Emulated Wiimote speaker sounds will go to the host system's speakers. Real Wiimotes will continue to use their own speaker for Wiimote speaker sounds. All Wiimote speaker sound can be disabled by unchecking the "Enable Speaker Data" option. Each emulated Wiimote can have its speaker routed from left to right via the "Speaker Pan" setting in the emulated wiimote settings dialog. Use any value from -127 for leftmost to 127 for rightmost with 0 being the centre. Added code in the InputConfig to use a spin control for non-boolean values. Defaulted the setting of "Enable Speaker Data" to disabled.
2014-09-07Hooked up the emulated Wiimote speaker.skidau
The Wiimotes are positioned as follows: Wiimote 0 = Center Wiimote 1 = Left Wiimote 2 = Right Wiimote 3 = Center The Wiimote speaker output can be disabled via the "Enable Speaker Data" checkbox in the Wiimote settings.
2014-08-16Common: Get rid of StdConditionVariable, StdMutex, and StdThread.Lioncash
All of the compilers we support have support for these now.