| Age | Commit message (Collapse) | Author |
|
Use fmt::localtime instead of thread-unsafe std::localtime
|
|
Port Main.DSP to MainSettings
|
|
While trying to work on adding audiodump support for CLI, I was alerted that it was important to first try moving the DSP configs to the new config before continuing, as that makes it substantially easier to write clean code to add such a feature.
This commit aims to allow for Dolphin to only rely on the new config for DSP-related settings.
|
|
fmt::localtime is also less awkward to use compared to std::localtime.
|
|
Match the same formatting present in framedump filenames.
|
|
|
|
|
|
|
|
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.
|
|
|
|
printf specifiers, begone!
|
|
|
|
|
|
|
|
|
|
Audio on Windows is provided by the cubeb (shared mode) and WASAPI
(exclusive mode) backends, both of which exhibit lower latency.
|
|
Given these are locals, they can be moved out of the global namespace.
While we're at it, turn the constants below it into constexpr variables.
|
|
Constructs the strings directly within the container instead of
performing a construction, then a copy.
The reasoning is that the BACKEND_* strings are const char arrays, so
the push_back code is equivalent to:
push_back(std::string(BACKEND_WHATEVER)) instead of forwarding the
arguments to a constructed instance directly in the container.
|
|
Provides the same behavior, but allows passed in strings to be
non-allocating in calling code.
|
|
Cubeb and Xaudio2 are identical in features while Cubeb has lower
latency and is still actively being worked on.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Cubeb handles everything the CoreAudio backend can, plus supports DPL2.
|
|
|
|
|
|
Fixes an error with the CoreAudio backend, which apparently doesn't
allow you to set the volume before starting the stream:
```
59:31:087 AudioCommon/CoreAudioSoundStream.cpp:97 E[Audio]: error setting volume
```
This shouldn't cause any problems with other backends, since the mixer
starts with silence anyways.
|
|
A single person uses it[0], and it sometimes messes up the Linux
buildbots ("ninja: error: 'ao', needed by 'Binaries/dolphin-emu', missing
and no known rule to make it").
[0]: https://analytics.dolphin-emu.org/stats/popular-audio-backends.txt
|
|
People who already have encountered the problem will need to
manually change the audio backend (or delete the config INI).
|
|
This way, we don't have to leak the HAVE_ALSA define there.
|
|
The NullAudio backend is guaranteed to be compiled in, so no reason
to check it.
In addition to that, if it wasn't valid, it wouldn't work as a fallback
in InitSoundStream as there are uses to g_sound_stream later.
|
|
Now AudioCommon code won't need to be recompiled if the TAS movie header
is ever modified.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AudioCommon: Log to AUDIO, not DSPHLE
|
|
If the selected audio backend fails to Start() (which could happen for
example if there is no audio device), we currently still use the backend
anyway. This can lead to crashes on some platforms (such as Windows) and
is outright wrong anyway.
This commit fallbacks to the Null audio backend if the selected backend
couldn't be started.
This fixes bug #6001
|
|
This code is not related to DSPHLE.
|
|
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.
|
|
|
|
|
|
Instead of creating the mixer externally and then passing it in, it can just be made within the class.
|
|
|
|
|