Lioncash
c70487163f
Mixer: Convert defines into concrete variables
...
Gets defines out of global scope.
2016-01-15 23:41:53 -05:00
Lioncash
fc6a2f490f
Mixer: Directly initialize class members
2016-01-14 01:32:31 -05:00
Lioncash
531a3ed09a
Mixer: Devirtualize
...
Nothing in the codebase inherits from this class
2016-01-14 01:32:24 -05:00
degasus
3ff4ec275a
Throttler: Rename "framelimiter" to "emulation speed".
...
We don't throttle by frames, we throttle by coretiming speed.
So looking up VI for calculating the speed was just very wrong.
The new ini option is a float, 1.0f for fullspeed.
In the GUI, percentual values are used.
2016-01-05 23:39:05 +01:00
Ryan Houdek
1db01a8c56
[OpenSLES] Fix a delay in audio processing.
...
A failure on my part. I was updating the two buffers in the wrong order, so we were always a buffer behind in sending audio out to OpenSLES.
2016-01-03 11:33:38 -06:00
skidau
cfa925fbbe
Updated SoundTouch library to 1.9.2
2015-12-28 23:08:55 +11:00
Markus Wick
164e045123
Merge pull request #3317 from lioncash/null
...
NullSound: Minor changes
2015-12-15 17:38:37 +01:00
Ryan Houdek
cb5be45f72
Merge pull request #3200 from degasus/master
...
Throttler + Mixer: Configureable variance
2015-12-11 07:04:56 -05:00
Lioncash
0917db7fc0
NullSound: Use std::array for the buffer
2015-12-05 18:13:55 -05:00
Lioncash
0d4baa0744
NullSound: Replace header define with private constant
2015-12-05 18:13:49 -05:00
Lioncash
e0eef7bef4
WaveFile: Get rid of an explicit delete
2015-12-02 20:05:18 -05:00
degasus
888c377b57
Throttler + Mixer: Configureable variance
2015-11-03 08:22:36 +01:00
shuffle2
9878004871
Merge pull request #3105 from phire/dont_block
...
ALSA: Don't block on Clear() call.
2015-10-03 17:55:26 -07:00
Lioncash
5464e698fc
Merge pull request #3102 from rohit-n/build-pch
...
Fix building with PCH disabled.
2015-10-03 13:30:51 -04:00
Scott Mansell
a10a3ecbac
ALSA: Don't block on Clear() call.
...
snd_pcm_writei() is meant to block block until all samples are written,
but apparently in some situations it can block for much longer, prehaps
even a infinite time, in the case of virtual machine FifoCI runs in.
Because it grabed a mutex before blocking, it could also block the
Clear() call for an infinite length of time, blocking dolphin's emu
thread.
snd_pcm_writei() also takes 10-15 seconds if you run dolphin under GDB
and can randomly take 5 or so seconds during normal usage.
By moving all the pause code to the ALSA thread, Clear() no-longer
blocks and everyone keeps their sanity.
2015-10-03 16:31:55 +13:00
Rohit Nirmal
6001366aac
Alsa: Silence -Wsign-compare warning.
2015-10-02 21:10:06 -05:00
booto
6c28ea58ab
AlsaSound: fix buffer type, clean up macros
2015-09-30 19:14:03 +08:00
Rohit Nirmal
3b75f45cf6
Fix building with PCH disabled.
2015-09-28 11:51:08 -05:00
Lioncash
cc036ca86c
Common: Remove other Common prefixed headers from Common.h
2015-09-26 18:51:58 -04:00
Lioncash
1d42db2439
Common: Move NonCopyable to its own header
2015-09-26 18:50:35 -04:00
Ryan Houdek
f121d7a8cd
Merge pull request #3026 from lioncash/constexpr
...
MathUtil: Make Clamp and IsPow2 constexpr functions.
2015-09-12 02:28:38 -04:00
Lioncash
b9e360df7b
MathUtil: Convert Clamp into a constexpr function
2015-09-12 01:18:28 -04:00
LAGonauta
b98b55c7be
Added X-Fi check and convert surround FLOAT to SHORT when it is detected
...
Fixed braces, first try fixing mac compilation and removed useless NULL
comparison.
2015-09-11 13:22:04 -03:00
Shawn Hoffman
aa7208e270
[windows] Update projects to vs2015.
2015-09-03 04:23:01 -07:00
Markus Wick
e60018abd4
Merge pull request #2854 from Tilka/valgrind
...
Fix some small stuff found with Valgrind
2015-08-15 20:52:12 +02:00
Markus Wick
3469694b46
Merge pull request #2676 from Stevoisiak/SpellingCorrections
...
Minor spelling corrections
2015-08-15 18:36:56 +02:00
Tillmann Karras
0b73a9ed25
PulseAudio: fix small memleak
2015-08-15 12:51:11 +02:00
Moncef Mechri
333f998123
Don't busy wait in the audio thread (ALSA)
...
When the emulation is paused and the ALSA backend is used, make the audio
thread wait on a condition variable instead of busy-waiting. This commit
fixes bug #7729
Since the ALSA API is not thread-safe, calls to snd_pcm_drop() and snd_pcm_prepare()
in AlsaSound::Clear() are protected by the same mutex as the condition variable in AlsaSound::SoundLoop()
to make sure that we do not call these functions while a call to
snd_pcm_writei() is ongoing.
2015-08-11 03:54:54 +02:00
Moncef Mechri
a0c5247743
Initialize ALSA before starting the audio thread
...
This fixes a race condition:
Before this commit, there was a race condition when starting a game:
Core::EmuThread(), after having started (but not necessarily completed)
the initialization of the audio thread, calls Core::SetState() which calls
CCPU::EnableStepping(), which in turns calls AudioCommon::ClearAudioBuffer().
This means that SoundStream::Clear() can be called before
AlsaSound::AlsaInit() has completed.
2015-08-11 03:54:54 +02:00
Markus Wick
e297e3e666
Merge pull request #2825 from lioncash/log
...
AudioCommon: Log to AUDIO, not DSPHLE
2015-08-10 10:25:51 +02:00
Moncef Mechri
8b767a1189
Use dummy audio backend if the selected backend fails to start
...
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
2015-08-10 03:46:45 +02:00
Lioncash
4c6930d36c
AudioCommon: Remove unused code from XAudio streams
2015-08-09 21:37:34 -04:00
Lioncash
3f78d74fc1
AudioCommon: Log to AUDIO, not DSPHLE
...
This code is not related to DSPHLE.
2015-08-09 21:36:03 -04:00
Lioncash
7ee0e75633
Remove unnecessary virtual keywords
2015-07-30 10:33:08 -04:00
Stevoisiak
7248f9b524
Minor spelling corrections
2015-06-29 14:51:21 -04:00
Jules Blok
a71e81a143
Merge pull request #2659 from Armada651/openal-conv
...
OpenALStream: Fix sample conversion.
2015-06-27 00:13:02 +02:00
Jules Blok
86dd81cf6b
OpenALStream: Fix sample conversion.
...
Looks like it wasn't symmetric anymore.
2015-06-25 12:42:41 +02:00
Lioncash
9dd607b923
Mixer: Fix erroneous global prefixes on class variables
2015-06-20 21:48:50 -04:00
Lioncash
d81dffd4f0
Mixer: Devirtualize DTK and DSP audio logging functions
...
Their functionality is already complete in the base class; there's no need to allow overriding.
2015-06-20 21:46:20 -04:00
degasus
c375111076
Options: merge SCoreStartupParameter into SConfig
2015-06-12 19:07:45 +02:00
JosJuice
030d467d62
Use PanicAlert instead of PanicAlertT when appropriate
...
It means less work for the translators... But I'm not too sure
about this, because most of these have already been translated.
2015-06-04 13:25:17 +02:00
degasus
9a96e3c416
AudioCommon: Remove lock on Pause state
...
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-28 19:58:18 +02:00
Tillmann Karras
30ebb2459e
Set copyright year to when a file was created
2015-05-25 13:22:31 +02:00
Tillmann Karras
cefcb0ace9
Update license headers to GPLv2+
2015-05-25 13:22:31 +02:00
Tillmann Karras
268f52e054
Add missing license headers
2015-05-25 13:11:47 +02:00
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