Pokechu22
abb59a781a
Mixer: Use smaller array for PushWiimoteSpeakerSamples
2022-09-08 12:10:02 -07:00
Admiral H. Curtiss
c310e504cb
AudioCommon: Move sound stream variables to Core::System.
2022-08-31 21:44:21 +02:00
Zopolis4
e2aefe13a6
Restrict OpenSLES to Android via CMake
2022-08-08 09:18:36 +10:00
Shawn Hoffman
f92541fbd9
StripSpaces: only strip spaces
...
StripWhitespace maintains old behavior
2022-07-25 18:40:12 -07:00
Shawn Hoffman
0a15d2fcec
cubeb: fix logged source file paths
2022-07-18 09:52:54 -07:00
CasualPokePlayer
4234b25682
Do not directly store input sample rate, rather just store a divisor for 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-07-03 15:07:06 -07:00
CasualPokePlayer
ad892176d0
have audio dumps apply volume (fixes cases of audio dumps being "too loud" and in game audio controls having no effect)
2022-06-10 21:27:10 -07:00
Admiral H. Curtiss
580c721c82
cmake: Don't use PCH with Qt6.
2022-05-22 01:19:44 +02:00
Admiral H. Curtiss
36cfcb530f
IOFile: Make origin parameter to Seek() an enum class.
2022-01-29 06:49:21 +01:00
Pokechu22
ca9bf3174f
Use HRWrap in remaining locations
...
Note that D3DCommon can't use DX11HRWrap or DX12HRWrap since it's shared between them.
2022-01-09 12:44:55 -08:00
Admiral H. Curtiss
eb5bb2993e
Core/AudioCommon: Add config caching to Mixer.
2022-01-06 16:43:43 +01:00
Admiral H. Curtiss
2aa44b10ba
Config: Port TimingVariance setting to new config system.
2022-01-06 16:13:56 +01:00
Admiral H. Curtiss
fb47035f97
Config: Port emulation speed setting to new config system.
2022-01-06 16:13:54 +01:00
Pokechu22
2025763420
Treewide: Adjust order of includes
2021-12-10 14:49:57 -08:00
Mai M
6c72e6814d
Merge pull request #10169 from leoetlino/fmt-localtime
...
Use fmt::localtime instead of thread-unsafe std::localtime
2021-11-07 00:08:14 -04:00
Pokechu22
04d8cdfe88
Convert LOG_TYPE and LOG_LEVELS to enum class
2021-10-24 11:48:36 -07:00
Léo Lam
8195d0bda1
Merge pull request #10144 from malleoz/dsp-onion
...
Port Main.DSP to MainSettings
2021-10-16 11:32:38 +02:00
sowens99
8ea6bef98f
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.
2021-10-15 23:24:46 -04:00
Léo Lam
fd7df2ccae
Use fmt::localtime instead of thread-unsafe std::localtime
...
fmt::localtime is also less awkward to use compared to std::localtime.
2021-10-15 22:49:13 +02:00
Léo Lam
6bf10e0276
Merge pull request #10149 from malleoz/audiodump-add-timecode
...
Add Game ID, timecode to dspdump and dtkdump filenames
2021-10-15 19:42:30 +02:00
Pokechu22
78bfd25964
Fix all uninitialized variable warnings (C26495)
2021-10-13 12:32:16 -07:00
sowens99
1d5d896eaa
Add timecode to dspdump and dtkdump
...
Match the same formatting present in framedump filenames.
2021-10-03 18:20:01 -04:00
Tillmann Karras
eda2035874
AudioCommon: rename isValid() to IsValid()
2021-08-08 03:05:03 +01:00
Tillmann Karras
b6d8c111bc
AudioCommon: make SoundLoop() non-virtual and private
2021-08-08 00:15:05 +01:00
Tillmann Karras
d14b9a73b2
AudioCommon: get rid of Update(), it never does anything
2021-08-08 00:14:49 +01:00
Tillmann Karras
c2d396526b
AudioCommon: fix "Error stopping stream" when emulation is paused
2021-08-08 00:14:24 +01:00
Bonta
d0f0b4c0e0
SI: Implement GBAEmu device
2021-07-13 16:42:57 +02:00
Bonta
502def7f71
Mixer: Support GBA samples mixing
2021-07-13 16:40:07 +02:00
Pierre Bourdon
e149ad4f0a
treewide: convert GPLv2+ license info to SPDX tags
...
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.
2021-07-05 04:35:56 +02:00
Pokechu22
004dfd1586
Replace uses of cassert with Common/Assert.h
2021-04-02 10:18:18 -07:00
Bonta-kun
66e39de1ab
AudioCommon: Initialize before HW
2021-03-24 14:11:49 +01:00
JosJuice
18d95dfcca
Merge pull request #8316 from CookiePLMonster/wasapi-code-improvements
...
WASAPI code improvements
2021-03-11 21:18:16 +01:00
Shawn Hoffman
500a694ca8
msbuild: bundle all dolphin "core" code into single library
2021-01-27 14:29:49 -08:00
Shawn Hoffman
84128d9532
rename Common/File to Common/IOFile
2021-01-27 14:29:48 -08:00
Silent
cb854d7832
AudioCommon/WASAPI: Construct std::thread with invoke semantics instead of a lambda
2021-01-12 19:25:40 +01:00
Silent
11c5150c16
AudioCommon/WASAPI: Factorize device enumeration logic into a function to greatly reduce code duplication
2021-01-12 19:25:38 +01:00
Silent
c373890505
AudioCommon/WASAPI: Do volume adjustment only when really needed
...
This skips a potentially costly loop if volume is 100% or 0%,
as for former there is no need for volume adjustment,
while latter can be solved by specifying a AUDCLNT_BUFFERFLAGS_SILENT flag
2021-01-12 19:24:49 +01:00
Silent
991b3ba8c2
AudioCommon/WASAPI: Remove thread unsafe nullptr checks giving a false sense of safety
2021-01-12 19:24:49 +01:00
Silent
5dbbf36563
AudioCommon/WASAPI: Use std::string_view where applicable
2021-01-12 19:24:46 +01:00
Silent
7d59ad262f
AudioCommon/WASAPI: Use leaner memory model on m_running, no need for a full barrier
2021-01-12 19:21:54 +01:00
Silent
ee60be4501
AudioCommon/WASAPI: Simplify thread synchronization model by not detaching WASAPI handler thread
2021-01-12 19:21:54 +01:00
Silent
c5a372ab2a
AudioCommon/WASAPI: Use WRL/WIL whenever possible
...
This fixes numerous resource leaks, as not every return path cleaned every created resource
Now they are all managed automatically and "commited" to WASAPIStream class fields only
after it's certain they initialized properly
2021-01-12 19:21:22 +01:00
Silent
374629ef30
AudioCommon: Make HandleWinAPI handle all success return values properly, not just S_OK
2021-01-12 19:18:48 +01:00
Lioncash
56d233c47c
AudioCommon: Convert alerts over to fmt-based variants
...
Continues the migration over to fmt
Converts two panic alerts into error logs, since they aren't really
things a user can do anything about.
2020-11-27 10:10:11 -05:00
Léo Lam
23c9179fb6
Merge pull request #9071 from orbea/cmake
...
cmake: Silence warnings.
2020-10-26 18:48:42 +01:00
Lioncash
22a79289d3
AudioCommon: Migrate logging over to fmt
...
printf specifiers, begone!
2020-10-21 13:32:28 -04:00
Lioncash
425f2aa013
Common/Log: Add basic fmt-capable functions to the interface.
...
Provides a basic extension to the interface to begin migration off of
the printf-based logging system.
Everything will go through macros with the same style naming as the old
logging system, except the macros will have the _FMT suffix, while the
migration is in process.
This allows for peacemeal migration over time instead of pulling
everything out and replacing it all in a single pull request, which
makes for much easier reviewing.
2020-10-21 10:49:35 -04:00
JosJuice
cb14b65aad
CMake: Fix build errors exposed by making common dependent on fmt
2020-10-19 14:36:09 +02:00
Jordan Woyak
3e6599b890
AudioStretcher: Keep default parameters.
2020-10-11 12:43:45 -05:00
orbea
2bfbc4d79f
cmake: Silence warnings.
2020-09-08 21:18:40 -07:00
LC
8e505ad8d5
Merge pull request #9055 from JosJuice/gc-sample-rate
...
AudioInterface: Use 32029/48043 Hz in more places
2020-09-07 22:35:00 -04:00
JosJuice
bd44106fec
AudioCommon: Get initial sample rates from AudioInterface
2020-09-06 15:37:20 +02:00
Shawn Hoffman
2f47f486af
msbuild: re-enable standalone vcxproj processing
2020-08-22 16:17:50 -07:00
Shawn Hoffman
94bf48b67c
msbuild: refactor stuff out of project files (for dolphin)
2020-08-22 16:17:50 -07:00
Shawn Hoffman
36ace8eb52
prettify some constructs in vcxproj files
2020-08-22 16:17:50 -07:00
degasus
9fd1385733
Externals: Fix OpenAL include directory.
2020-04-29 13:07:51 +02:00
degasus
239cde8aea
Externals: Alter the soundtouch include directory.
...
We must not provide the /Externals directory as global include directory.
Here, this yield a crash because of external minizip header and system library mismatch.
Soundtouch itself recormends to include it with <SoundTouch.h> and -I/usr/include/soundtouch, so this should fit better.
2020-04-29 11:30:26 +02:00
David Korth
c2dd2e8a2e
Use std::istringstream or std::ostringstream instead of std::stringstream where possible.
...
This removes std::iostream from the inheritance chain, which reduces
overhead slightly.
2019-12-29 23:45:02 -05:00
Stenzek
6fcb1c6c46
Add an ARM64 target to Visual Studio projects
2019-12-28 19:20:41 +10:00
Stenzek
dd23a1ee79
Update VS projects/solutions to VS2019
2019-11-30 13:42:52 +10:00
Lioncash
c792961000
Common: Unify logging namespace with Common
...
Previously the logging was a in a little bit of a disarray. Some things
were in namespaces, and other things were not.
Given this code will feature a bit of restructuring during the
transition over to fmt, this is a good time to unify it under a single
namespace and also remove functions and types from the global namespace.
Now, all functions and types are under the Common::Log namespace. The
only outliers being, of course, the preprocessor macros.
2019-11-28 05:13:21 -05:00
JosJuice
cf8208ace9
Android: Add audio volume setting
2019-11-26 21:10:27 +01:00
LAGonauta
08787ebc4a
Centralize logic to detect when the DPL2 decoder should be used.
2019-11-11 08:03:36 -03:00
LAGonauta
2ff646b796
DSP must be set to LLE to select the decoder
2019-10-22 22:55:59 -03:00
LAGonauta
3c9eb37381
Allow user to change DPLII decoding quality
2019-10-22 22:55:15 -03:00
Stenzek
7c286064b8
AudioCommon: Don't forget to call Init() on fallback
2019-10-10 00:09:16 +10:00
Stenzek
1c5441aa40
AlsaSoundStream: Don't call join() on invalid thread
...
This can happen if initialization failed.
2019-10-10 00:07:27 +10:00
Michael M
71c3c5626b
AudioCommon: if backend is unknown, use default backend
2019-09-14 14:16:13 -07:00
Michael M
0f3695a14b
Remove XAudio2
...
Audio on Windows is provided by the cubeb (shared mode) and WASAPI
(exclusive mode) backends, both of which exhibit lower latency.
2019-09-14 14:08:13 -07:00
QuellaZhang
e67eb4693e
Fix implicit false-to-nullptr conversions
2019-08-15 17:49:57 +02:00
JosJuice
a2a1e04fc9
StringUtil: Use std::string_view more
2019-07-23 14:49:12 +02:00
Léo Lam
eed4fcc218
Merge pull request #8135 from lioncash/cmake
...
CMakeLists: Specify header files in target sources
2019-05-31 14:03:12 +02:00
Lioncash
78e96230b2
AudioCommon: Move static locals into the AudioCommon namespace
...
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.
2019-05-31 07:07:16 -04:00
Lioncash
15397e2a89
AudioCommon: Use emplace_back instead of push_back in GetSoundBackends()
...
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.
2019-05-31 07:03:54 -04:00
Lioncash
1a56e9d9e0
AudioCommon: Use std::string_view with feature querying functions
...
Provides the same behavior, but allows passed in strings to be
non-allocating in calling code.
2019-05-31 07:01:47 -04:00
Lioncash
b6d9b85293
AudioCommon/CMakeLists: Specify headers in target sources
2019-05-31 06:52:44 -04:00
spycrab
ec734065db
Merge pull request #8087 from spycrab/cmake_win2019
...
Support CMake on Windows
2019-05-14 21:07:26 +02:00
spycrab
b5160ec685
Common/CMake: Fix Windows build
2019-05-12 00:05:08 +02:00
Miksel12
ee8226cc1b
Set Cubeb as default on Windows
...
Cubeb and Xaudio2 are identical in features while Cubeb has lower
latency and is still actively being worked on.
2019-05-11 14:22:03 +02:00
Techjar
ff972e3673
Reformat repo to clang-format 7.0 rules
2019-05-06 18:48:04 +00:00
Léo Lam
ab9ece9bca
Replace MathUtil::Clamp with std::clamp
2019-05-04 23:12:17 +02:00
Léo Lam
99a4ca8de7
Merge pull request #7839 from ShFil119/impr/redundant
...
Remove redundant initialization
2019-05-04 22:50:51 +02:00
Filip Gawin
c110ffcdaa
Remove redundant initialization
2019-04-30 01:22:24 +02:00
Jordan Woyak
d34a9afe04
Minor changes to usages of std::condition_variable.
2019-04-06 17:39:25 -05:00
LAGonauta
99a35568ca
Allow XAudio2 to be selected as a surround backend.
2019-03-18 09:21:40 -03:00
LAGonauta
f37ff190e4
Added DPL2 decoder to XAudio2 and XAudio2_7 backends.
2019-03-18 09:06:41 -03:00
LAGonauta
c209d07c96
Removed FFDShow DPL2 decoder
2019-02-13 22:52:41 -02:00
LAGonauta
f4cf1e4f49
Removed zeroing-out the LFE as it is not needed anymore.
...
Also removed minimum number of frames needed when decoding DPL2, and use
std::numeric_limits to clamp the samples when needed.
Clamping is still needed, but those samples are much rarer now and depend
on the game.
2019-02-13 22:52:40 -02:00
LAGonauta
fdfd9d6953
Cleaned up PulseAudio as we now use FreeSurround
2019-02-13 22:52:40 -02:00
LAGonauta
df631f0d75
Swapped FFDShow's DPL2 decoder by FreeSurround
...
Added class in AudioCommon for the surround decoder
2019-02-13 22:52:40 -02:00
Tillmann Karras
97cc9894e4
Update to Visual Studio's default Windows SDK
2018-10-20 00:53:08 +01:00
spycrab
a196dfe50d
AudioCommon: Implement WASAPI
2018-05-26 13:08:10 +02:00
spycrab
40bb9974f2
Reformat all the things!
2018-04-12 21:28:39 +02:00
Lioncash
b96bbc8f8d
AudioCommon/CMakelists: Migrate off add_dolphin_library
...
Continues the changes that were introduced in 3a4c3bbe01
2018-03-22 22:07:11 -04:00
Lioncash
50a476c371
Assert: Uppercase assertion macros
...
Macros should be all upper-cased. This is also kind of a wart that's
been sticking out for quite a while now (we avoid prefixing
underscores).
2018-03-14 22:03:12 -04:00
Ryan Meredith
b7276483da
Change FATAL_ERROR to STATUS message for OpenAL not found in externals
2018-03-09 12:29:23 -05:00
Michael M
a988a8a458
AudioCommon: make SetSoundStreamRunning idempotent
2017-11-19 12:09:54 -08:00
Michael M
0baddbf9a8
SoundStream: change Start/Stop to Init/SetRunning/destruct
2017-11-19 12:09:54 -08:00
Michael M
ad4a89d64b
CubebStream: implement SetRunning
2017-11-19 12:09:54 -08:00
JosJuice
b00ef39c1c
Fix DTK audio not working after loading a savestate
...
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-11-06 09:15:14 +01:00