Lioncash
6b30c9710c
SoundStream: Devirtualize StartLogAudio and StopLogAudio
...
These don't rely on anything that might need to be implemented in other SoundStream classes.
2015-05-24 06:10:11 -04:00
Lioncash
07d4dbe657
AudioCommon: Add missing override specifiers
...
Also removes unnecessary virtual keywords.
2015-05-24 06:10:03 -04:00
Lioncash
4695233c98
SoundStream: Devirtualize GetMixer
...
Since it's handled by the base class, there's no need to allow overriding.
2015-05-24 05:49:51 -04:00
Lioncash
35ee8a1362
SoundStream: Internally construct the mixer
...
Instead of creating the mixer externally and then passing it in, it can just be made within the class.
2015-05-24 05:49:41 -04:00
Lioncash
f907e5cace
AlsaSoundStream: Use an enum class for signifying ALSA thread state
2015-05-11 01:56:01 -04:00
Lioncash
353205132c
AlsaSoundStream: Convert volatile variables to atomics
2015-05-11 01:55:59 -04:00
Lioncash
7b376abd3b
Mixer: Convert volatile variables to atomics.
2015-05-11 01:55:50 -04:00
Lioncash
4920dbed13
AudioCommon: Migrate threadData to OpenALStream and AOSoundStream
...
This is only ever used in these two sound streams. Seems silly to have it as a class member. Converted it to an atomic as well.
2015-05-10 01:02:25 -04:00
Stevoisiak
78971b0840
(Visual Studio) Categorize SoundStream.h with other SoundStream files
2015-04-03 14:37:03 -04:00
Stevoisiak
93b16a4a2d
Formatting/Whitespace Cleanup
...
Various fixes to formatting and whitespace
2015-02-25 10:48:21 -05:00
Markus Wick
e0b0ef3868
Revert "High quality resampler"
2015-02-23 18:43:13 +01:00
kamiyo
e864521182
High Quality Resampler, using FIR filter
...
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
2015-02-18 21:13:45 -05:00
Scott Mansell
43dfec07c9
Cleanup DotProduct function to make it more readable.
2015-02-16 13:53:58 +13:00
Scott Mansell
7add7b685f
Remove unneeded spaces from code.
...
Line now matches the style of the rest of the function.
2015-02-16 12:59:45 +13:00
magumagu
0f96a0104e
Merge pull request #1752 from Buddybenj/clean-up
...
Clean Up
2015-02-10 11:39:14 -08:00
Benjamin Przybocki
4f324ad742
Clean Up
2015-01-24 17:10:21 -06:00
skidau
6e99accf06
Merge pull request #1917 from adamdmoss/no-lfe
...
Remove explicit subwoofer/LFE channel from Pulseaudio and OpenAL
2015-01-23 12:30:48 +11:00
Adam D. Moss
05d2bf6060
Audio: Drop the LFE/subwoofer channel from the decoded surround
...
DPL2Decode still doesn't decode 5.1 properly, leaving bass in all channels, but its 5.0 is pretty good, so leave it at that.
2015-01-19 10:24:44 +00:00
Stevoisiak
cb86db7b68
Minor consistency changes
...
Mostly small changes, like capitalization and spelling
2015-01-12 15:18:18 -05:00
skidau
f7f70f9039
Merge pull request #1847 from adamdmoss/openal-floatfix
...
OpenAL: Fix volume of sample conversion
2015-01-10 12:16:05 +11:00
skidau
530f894d87
Merge pull request #1845 from adamdmoss/lfe1
...
Audio: Fix subwoofer output in software 5.1 decoding
2015-01-09 11:59:29 +11:00
skidau
ac33423db5
Merge pull request #1835 from adamdmoss/master
...
Pulseaudio: Support 5-channel surround, optional in UI
2015-01-09 11:59:02 +11:00
Adam Moss
95c912310d
PulseAudio: Support 5.1 surround, optional in UI
2015-01-08 11:10:34 +00:00
Adam Moss
b1c9f56acd
Audio: Fix warning in DPL2 subwoofer change
2015-01-08 10:48:30 +00:00
skidau
25c6f6e6a1
Merge pull request #1782 from FL-dolphinemu/master
...
Issue 7968: Added keybinds for increasing, decreasing, and muting audio.
2015-01-08 14:09:18 +11:00
Adam Moss
2c892c7b68
OpenAL: Fix volume of sample conversion
2015-01-07 12:34:02 +00:00
Adam Moss
7580069dea
Audio: Fuller subwoofer processing for software 5.1 decode
...
Code was only using front-left and front-right to calculate bass, but
HRTF code - which this was once based on - uses all five channels and
this sounds fuller.
2015-01-07 11:58:02 +00:00
Adam Moss
f324f3f68f
Audio: Fix subwoofer output in software 5.1 decoding
...
The FIR filter was only using the first sample of each input packet.
2015-01-07 10:24:25 +00:00
Tillmann Karras
6bcdb10eee
CMake: simplify some expressions
2015-01-03 13:17:57 +01:00
FL.dolphinemu
78f8bf7423
Issue 7968: Added keybinds for increasing, decreasing, and muting audio.
2014-12-28 22:03:21 +01:00
comex
b36b55cfcb
Upgrade AudioUnit API usage.
...
weird that such a simple change doesn't seem to have any obvious
documentation on Apple's website or elsewhere...
2014-11-25 00:42:21 -05:00
comex
aae234c5d7
Fix name conflict between SoundTouch BOOL and ObjC BOOL.
2014-11-25 00:27:13 -05:00
Stevoisiak
b25e1a2eb4
Various formatting and consistency fixes
2014-11-13 22:42:18 -05:00
Ryan Houdek
5204acd5ee
Fixes OpenSLES's sample rate.
...
I was statically setting the sample rate to 44.1Khz when we default to run at 48Khz.
This was causing audio to sound much too low.
2014-10-23 11:29:49 -05:00
Ryan Houdek
73512ad38f
Fix a race condition in our OpenSL ES audio backend.
...
After calling enqueue the callback would fire before we had assigned g_mixer a value.
This would cause a fun crash to happen.
2014-10-18 08:32:14 -05:00
skidau
0d1f8527c7
Merge pull request #1297 from RisingFog/audio-dump-during-emulation
...
Start/Stop Audio Dump During Emulation
2014-10-18 13:16:41 +11:00
Fog
108087bb68
Flipped Wave File Channels
...
This change was done because with the previous method of dumping audio, the mixer would handle switching the RL being emitted by the DSP to LR, and thus would provide the proper channel orientation. Because we're now dumping directly from PushSamples() and PushStreamingSamples(), it was writing the right channel to the left channel of the wave file and vice versa.
2014-10-15 23:16:48 -04:00
Fog
f2ed533841
Start/Stop Audio Dump During Emulation
2014-10-15 20:50:38 -04:00
Fog
fc4125cdd1
Proper Audio/Video Dumping
2014-10-09 00:06:04 -04:00
Lioncash
7f7fb5e70c
AudioCommon: Prefix soundStream global with g_
2014-09-30 03:06:16 -04:00
Rohit Nirmal
46057db37d
Fix build failing when disabling precompiled headers.
2014-09-19 18:17:51 -04:00
Ryan Houdek
71cb09f1ca
Merge pull request #1027 from rohit-n/change-include
...
Include CommonTypes.h instead of Common.h.
2014-09-10 00:35:16 -05:00
Rachel Bryk
f93aa7087c
Kill Core::g_CoreStartupParameter.
2014-09-09 00:24:49 -04:00
Rohit Nirmal
fbc64984ca
Include CommonTypes.h instead of Common.h.
2014-09-08 15:39:58 -04:00
Lioncash
789a500ddc
AudioCommon: Remove unnecessary usages of mem_fn
2014-09-08 13:41:02 -04:00
skidau
8abe9622fd
Route the wiimote speaker to the sound mixer (the host system's speakers). 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-07 14:16:20 +10:00
skidau
3caab10df8
Hooked up the emulated Wiimote speaker.
...
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-09-07 14:16:20 +10:00
Lioncash
daddc3317e
AudioCommon: Use std::string for the filename parameter of StartLogAudio
2014-09-06 23:26:08 -04:00
Lioncash
27cecf46a8
AudioCommon: Make WaveFileWriter inherit NonCopyable
2014-09-06 11:27:36 -04:00
Lioncash
019ef844d4
AudioCommon: Remove unused parameter from OpenSLESStream constructor
2014-09-06 01:42:56 -04:00
Lioncash
e10b0d1008
Merge pull request #930 from skidau/openal-seq-ms
...
Removed the auto setting of SEQUENCE_MS because the synchronised audio c...
2014-09-02 09:56:46 -04:00
Shawn Hoffman
266992684d
msvc: remove some remnants of SDL and DSound from projects and general cleanup.
2014-09-01 21:27:44 -07:00
skid
c2d7801ceb
Removed the auto setting of SEQUENCE_MS because the synchronised audio code has made it unnecessary.
2014-09-01 20:28:29 +10:00
Lioncash
377a1c8f20
AudioCommon: Get rid of now unused handle param for InitSoundStream()
2014-08-30 23:36:00 -04:00
Lioncash
2f7df4a803
AudioCommon: Declare iterator variable in loop body in DPL2Decoder
2014-08-30 21:10:18 -04:00
Lioncash
f94e764df5
AudioCommon: Clean up brace placements
2014-08-30 18:06:42 -04:00
Shawn Hoffman
af2405eefd
Remove dsound audio backend.
...
There isn't any reason to use dsound over xaudio.
2014-08-23 11:19:19 -07:00
Shawn Hoffman
1332805bb6
Add headers required by XAudio2_7 to externals.
...
This makes all builds' audio compatible with downlevel Windows and removes
the need for developers to install the June 2010 DirectX SDK.
2014-08-23 11:03:07 -07:00
Lioncash
4759510f70
Get rid of instances of "using namespace std;" in the project
2014-08-17 02:05:33 -04:00
Lioncash
d18d3e1f3e
Common: Get rid of StdConditionVariable, StdMutex, and StdThread.
...
All of the compilers we support have support for these now.
2014-08-16 23:33:19 -04:00
Shawn Hoffman
f1b82a34b2
Windows: Use a shared precompiled header for dolphin code under Source/
2014-08-14 23:51:13 -07:00
Pierre Bourdon
87e7c1ee46
Merge pull request #724 from lioncash/mem_fn
...
AudioCommon: Get rid of some unnecessary mem_fn calls
2014-08-03 21:25:24 -07:00
Lioncash
47847bc8dd
AudioCommon: Remove an unnecessary parameter from the OpenAL constructor
...
This wouldn't even be saved to anything.
2014-08-02 23:48:26 -04:00
Lioncash
17e79a966a
AudioCommon: Get rid of some unnecessary mem_fn calls
2014-08-02 23:42:34 -04:00
Tony Wasserka
9c7d4b6408
Merge pull request #667 from RachelBryk/remove-audio-limit
...
Remove audio frame limit.
2014-07-28 14:38:35 +02:00
Lioncash
4fa71dd59e
Remove fakepoll.h.
...
It was only used for Windows XP and lower.
This also bumps the _WIN32_WINNT define in the stdafx precompiled headers to set the minimum version as Windows Vista.
2014-07-26 22:53:40 -04:00
Rachel Bryk
acaac51077
Remove audio frame limit.
...
It serves no purpose and causes bugs and confusion for users.
2014-07-25 12:17:10 -04:00
booto
7d920bbb3a
AudioCommon/Mixer: Allow input sample rate changes
2014-07-24 22:42:29 +08:00
Scott Mansell
48afab2685
Correct left/right volume for padded samples.
2014-07-17 18:41:18 +12:00
Scott Mansell
a0101c5d29
Audio Mixer: move Static variable to a member variable.
...
The two instances of this class were sharing a frac variable causing
audio glitches when both were running (which is now all the time).
Fixes issue 7463 (Since DTK merge, audio has staic in it).
2014-07-17 18:26:21 +12:00
Lioncash
2c73472671
Correct the function casing for DPL2Decoder
...
Brings it more in-line with the rest of the codebase.
2014-07-14 03:34:40 -04:00
Tillmann Karras
0ccee6c87b
Fix warnings unearthed by #579
2014-07-13 02:16:51 +02:00
degasus
6d3f249dcc
mark all local variables as static
2014-07-11 16:10:20 +02:00
degasus
22e1aa5bb4
mark all local functions as static
2014-07-11 16:07:23 +02:00
Pierre Bourdon
b0b70381f7
Revert "Don't add segfault handler in interpreter mode"
2014-07-07 05:30:06 +02:00
Tillmann Karras
20a16beabd
enum CPUState: rename CPU_* to STATE_*
2014-07-05 11:01:49 +02:00
Tillmann Karras
d3fa8a6167
Reorder class initializer lists
2014-07-04 03:53:22 +02:00
Lioncash
11d304ae29
Merge pull request #259 from magumagu/dtk-rewrite
...
DTK rewrite
2014-06-26 20:01:07 -04:00
magumagu
ca0203a1cc
AudioCommon: restore support for DTK volume setting.
2014-06-26 16:56:57 -07:00
Lioncash
8b13afbb8e
Remove the 32-bit config platform from the VS solution and projects
2014-06-24 22:07:26 -04:00
magumagu
affb7c17fc
Audio mixer: fix a couple compiler warnings.
2014-06-15 14:51:33 -07:00
magumagu
40e2ce4f27
Audio mixer: remove check for ratio > 1.0.
...
The code actually handles this case correctly; the algorithm is linear
interpolation between the two closest samples, and the way it is written
should work correctly with any ratio.
2014-06-15 14:51:20 -07:00
magumagu
d43ecd0bd1
Rewrite handling of DTK (streaming) audio.
...
The primary motivation here is to make sure we submit samples from the
CPU thread. This makes sure the timing of related interrupts accurate,
and generally keeps the different kinds of audio synchronized. This will also
allow improvements to audio dumping functionality.
The new code is also more concise because it gets rid of some duplicated
audio mixing code.
2014-06-14 15:55:20 -07:00
magumagu
87a804fdfc
Revert "DSound: use DSound notifications to produce sound."
...
This reverts commit 4990b8910b
.
The commit is causing substantial performance issues for the DSound
backend which I somehow didn't catch during testing.
2014-05-31 13:35:46 -07:00
Lioncash
49b0eef393
Remove the min/max functions in CommonFuncs.
...
The algorithm header has the same functions.
2014-05-29 21:44:41 -04:00
shuffle2
ca3002977b
Merge pull request #256 from magumagu/dsound-notify
...
DSound: use DSound notifications to produce sound.
2014-05-23 17:02:55 -07:00
degasus
30586f4d29
Add set/get functions for IsFramelimiterTempDisabled
2014-04-30 12:51:13 +02:00
degasus
8483811b39
Add a hotkey for disabling the framelimit.
...
Atm this is hardcoded to '\t'.
2014-04-30 12:50:53 +02:00
Pierre Bourdon
6bdcbad3e4
Common: Move the Event class to a separate file, and add tests for it. Fix includes everywhere to match this.
2014-04-14 10:54:07 +02:00
magumagu
4990b8910b
DSound: use DSound notifications to produce sound.
...
Pretty straightforward; IDirectSoundNotify lets you register for
notifications after a certain amount of sound has played, so use that
instead of depending on Update() notifications from the CPU thread.
Also, while I'm here, reduce the buffer size by a factor of 4; this seems
to reduce the latency, although the difference is sort of subtle.
2014-04-09 13:41:27 -07:00
lioncash
e79895e372
Replace use of the deprecated mem_fun function with mem_fn.
2014-04-01 12:09:22 -04:00
Pierre Bourdon
76fafb1c7b
Merge pull request #220 from magumagu/audio-handling-cleanup-v2
...
Audio handling cleanup v2
2014-03-30 13:24:52 +02:00
magumagu
3afa17f752
Move audio handling out of DSP emulation.
...
This is good for a couple of reasons: one, it gets rid of duplicated code,
and two, DSP emulation shouldn't need to interact with audio in the first
place.
2014-03-29 11:19:32 -07:00
magumagu
78499e5b7c
Delete AudioCommon::UseJIT().
2014-03-29 11:19:31 -07:00
magumagu
102ea55f20
Move mixer construction to AudioCommon.cpp.
2014-03-29 11:19:30 -07:00
magumagu
aac4206664
Move UDSPControl structure into DSP.h .
2014-03-29 11:19:19 -07:00
Pierre Bourdon
664c8d30a0
Remove all trailing whitespaces from our codebase.
2014-03-29 11:05:44 +01:00
magumagu
ae9367a89b
Delete a bunch of old audio HLE cruft.
...
This commit intentionally breaks audio output from HLE Zelda UCode; no other functional change.
2014-03-26 11:17:19 -07:00
lioncash
aecc8ea666
Remove usesMixer function from the sound streams.
...
This isn't used anywhere in the codebase. Not even the base SoundStream has it as part of its interface.
2014-03-18 10:42:07 -04:00
lioncash
5e5ab61d0c
Mark the audio streams as final.
...
These aren't intended to be continually extended.
2014-03-18 10:37:45 -04:00