Commit Graph

275 Commits

Author SHA1 Message Date
degasus
a1822a3aca fix AudioCommon::Mixer Buffer indices
This fix the 1h32 audio bug which outputs static sound after 1h32.

The mixer is used for 32->48kHz resampling and as output buffer for the async audio backends.
So this buffer was indiced by a writing and a reading pointer and the count of samples in it.
As this is redundant and the sample count isn't accurate calculateable because of the interpolation,
both indices gets out of sync. So after some time (~92min), this buffer overflows and return only garbage.

thx @ moosehunter + delroth for debugging on this issue. You did the most work :-)
2013-07-11 21:22:38 +02:00
Ryan Houdek
7d6b36bf73 Fix most ARM warnings 2013-07-05 19:56:15 -05:00
Ryan Houdek
eb579e4264 Merge in JP's change to fix audio stuttering with OpenAL. 2013-06-23 02:46:45 -05:00
Jordan Cristiano
8cf515359c fixed uninitialzed audio_size variable in WaveFileWriter 2013-06-22 23:24:05 -04:00
Jordan Cristiano
fafdc4fcef DSBCAPS_GLOBALFOCUS allows sound to still play when the application is in the background. Other backends do this, so why not let dsound do it too. 2013-06-22 23:23:53 -04:00
Jordan Cristiano
911d73d85a added new license header to missed audio source files 2013-06-22 23:20:48 -04:00
John Peterson
5bd44d7e3f Build fix 2013-06-13 18:38:05 +02:00
John Peterson
adb83cfabe Clarifying the OpenAL loop
because it isn't as clear as it can be
2013-06-13 18:04:02 +02:00
lioncash
d244bca1f5 Fix a bunch of random typos in comments and logging.
Also update the comment headers for two functions in GCMemcard.cpp.
2013-04-19 09:21:45 -04:00
Lioncash
bab9963b00 New license header introduced for DiscIO, AudioCommon, InputCommon, VideoCommon, and Common projects. 2013-04-17 23:09:55 -04:00
lioncash
ef85b9af45 Update the license file text (change SVN to Git) in all projects except Core since I was told a merge was happening soon. So for the sake of the merge going smoothly, I'll fix that when I remove the tab/space mismatches from the Core project.
Also, some tab/space mismatches removed from VideoOGL, and some places I missed in VideoDX[number] projects.

Now, the Core is literally the only project with tab/space mismatches (on a large scale).
2013-04-15 16:28:55 -04:00
Lioncash
58159a1693 Some more logging typos and clarifications. Missed these in my last commit.
This commit mainly elaborates on some messages a little more. Also fixes some typos that slipped through the last commit.

A large change in text can be seen in EXI_DeviceMemoryCard.cpp. I added more info as to why a write to a memory card may fail. (This actually was a reason I was unable to write to a memcard recently).

Elaborations can be seen in WGL.cpp

I did change some comments in some files that I was correcting logging messages in, however this is only if I spot a typo or if an abbreviation is lower-cased. Even in that case, the amount of changes done to comments is very minimal.
2013-04-01 00:10:54 -04:00
Lioncash
f432d6038e Fix some typos and correct some capitalizations in the log messages.
Makes the logging look more orderly and less spammy when spitting out things.
2013-03-31 19:13:30 -04:00
lioncash
edd9d0e0ef Clean up more space/tab mismatches in AudioCommon, Common, and VideoCommon.
Not planning to touch Core since it's the most actively changed part of the project.
2013-03-19 21:51:12 -04:00
Ryan Houdek
717b976875 ARM Support without GLSL 2013-02-26 13:49:00 -06:00
skidau
718a1b5ded Fixed a buffer overflow in the OpenAL buffer. 2013-02-19 23:18:13 +11:00
Glenn Rice
0ffdd2607f Fix the majority of the compiler warnings unearthed by the addition of
the new warning flags.
2013-01-29 23:24:51 -06:00
Lioncash
fe7e691d77 Revert "mem_fun -> mem_fn."
This reverts commit b7d32b0a3d.

OSX C++ std library in charge of holding back progress (as usual).
2013-01-23 23:38:49 -05:00
Lioncash
b7d32b0a3d mem_fun -> mem_fn.
mem_fun is deprecated in C++11. Also it does everything mem_fun can do, but more conveniently.
2013-01-23 23:29:50 -05:00
Lioncash
c4bd6329c0 Fully fix that clear bug in aldlist.cpp. Seems I missed part. Corrected it. 2013-01-18 23:42:37 -05:00
Rachel Bryk
196c2867ad Move DSP settings to dolphin.ini 2013-01-16 20:17:44 -05:00
lioncash
1cf7cbb936 Fix a clear bug in aldlist.cpp.
Properly clears itself now.
2013-01-15 12:47:13 -05:00
skidau
7402a89e6e OSX build fix 2013-01-16 00:14:31 +11:00
skidau
a9388ce2e2 Added backwards compatibility with old OpenAL drivers. 2013-01-16 00:10:49 +11:00
skidau
799b032b98 Readd the OpenAL option.
The OpenAL backend requires OpenAL Soft to be installed: http://kcat.strangesoft.net/openal.html

You may need to rename soft_oal.dll to OpenAL32.dll in the Dolphin folder.

Windows users may also need to update their OpenAL drivers by downloading them from

http://connect.creativelabs.com/openal/Downloads/oalinst.zip
2013-01-15 23:14:11 +11:00
skidau
0a4272c96b Merge branch 'OpenAL'
* OpenAL:
  Changed SoundTouch to use float samples, allowing SSE to be used. Made the DPL2 decoder disabled by default. Re-added the audio hack used by the Accurate VBeam emulation option.
  Added a latency setting to the audio settings. Removed the Sample Rate setting.  It is now hardcoded to 48000hz (accurate audio timing).
  Skipped timestretching if the emulator is running below 10% speed to prevent buffer overflows.
  Removed the synchronisation between the CPU thread and the audio thread. Added code to detect and resume from buffer underruns. Disabled the ability to change the DPL2 option after the game has started. Fixed a memory leak that occurred in the DPL2 decoder. Fixed the OSX build.
  Build fix
  Added a Dolby Pro Logic II (DPL2) decoder in the OpenAL backend.  DPL2 audio is decoded to 5.1.  Code adapted from ffdshow. Added an option in the DSP settings to disable the DPL2 decoder in case Dolphin incorrectly detects a 5.1 audio system. Updated the OpenAL files to OpenAL Soft 1.15.1 in the Windows build.
  Removed the system timing hack which was activated when the Accurate VBeam option was enabled.
  Fixed the include directories in Audio Common for the Windows 32bit build.
  Fixed the include directories in Audio Common for the Windows build.
  Messed up the static include line
  Fix include paths and compiling in Linux. Externals soundtouch is 1.7.1, while Ubuntu 12.10 is 1.6.x. Externals soundtouch is compiled with integer samples, while ubuntu is compiled with float samples. Float samples is probably the more common route. If you're going to use soundtouch, you should probably use SAMPLETYPE instead of explicitly choosing short. This probably breaks the windows build since its includes aren't setup.
  OSX: typedef signed char BOOL
  OSX build fix
  Build fix
  Added audio time stretching by using the SoundTouch library.
  Implemented correct audio timing.
  OpenAL for Windows initial commit
2013-01-15 22:40:12 +11:00
skidau
6d4a566bc4 Changed SoundTouch to use float samples, allowing SSE to be used.
Made the DPL2 decoder disabled by default.
Re-added the audio hack used by the Accurate VBeam emulation option.
2013-01-15 22:29:26 +11:00
Jordan Woyak
020ab743a9 re-enable PulseAudio backend 2013-01-13 22:22:06 -06:00
Jordan Woyak
13469f2db4 Merge branch 'pulseaudio-simple' 2013-01-13 21:36:26 -06:00
skidau
1c462a1eca Added a latency setting to the audio settings.
Removed the Sample Rate setting.  It is now hardcoded to 48000hz (accurate audio timing).

Fixes issue 5672.
2013-01-13 00:05:30 +11:00
Lioncash
dcc216a027 'count' parameter for AddStereoSamples and AddStereoSamplesBE in WaveFile should be unsigned. Doesn't make sense to have them signed. 2013-01-11 22:22:55 -05:00
skidau
73140c7da7 Skipped timestretching if the emulator is running below 10% speed to prevent buffer overflows. 2013-01-11 23:06:20 +11:00
skidau
3632ce6df5 Removed the synchronisation between the CPU thread and the audio thread.
Added code to detect and resume from buffer underruns.
Disabled the ability to change the DPL2 option after the game has started.
Fixed a memory leak that occurred in the DPL2 decoder.
Fixed the OSX build.
2013-01-11 19:42:03 +11:00
skidau
ed5a68a504 Build fix 2013-01-11 14:20:22 +11:00
skidau
80f4475e76 Added a Dolby Pro Logic II (DPL2) decoder in the OpenAL backend. DPL2 audio is decoded to 5.1. Code adapted from ffdshow.
Added an option in the DSP settings to disable the DPL2 decoder in case Dolphin incorrectly detects a 5.1 audio system.
Updated the OpenAL files to OpenAL Soft 1.15.1 in the Windows build.

Fixes issue 3023.
2013-01-11 14:03:09 +11:00
Jordan Woyak
202c005e61 Remove commented code. No longer supporting setting volume with PulseAudio. 2013-01-10 13:01:22 -06:00
Pierre Bourdon
2c1c538fda Disable the OpenAL and Pulseaudio audio backends
They are currently broken and cause sound issues which are not present in other
backends:

* OpenAL plays music 2x too fast in Zelda UCode games with HLE
* Pulse backend uses a lot of CPU power and slows down emulation significantly

Both backends are currently being re-implemented in separate branches of
Dolphin, so this should be a temporary removal.
2013-01-10 18:43:15 +01:00
Jordan Woyak
5c371549d3 fix cmake hacks 2013-01-09 18:39:28 -06:00
Jordan Woyak
488a679ca7 use pulseaudio "simple" api 2013-01-09 17:45:16 -06:00
skidau
ad28986d51 Fixed the include directories in Audio Common for the Windows 32bit build. 2013-01-10 07:55:13 +11:00
skidau
d34c847edd Fixed the include directories in Audio Common for the Windows build. 2013-01-10 07:43:59 +11:00
Ryan Houdek
01f4d9f386 Fix include paths and compiling in Linux. Externals soundtouch is 1.7.1, while Ubuntu 12.10 is 1.6.x. Externals soundtouch is compiled with integer samples, while ubuntu is compiled with float samples. Float samples is probably the more common route. If you're going to use soundtouch, you should probably use SAMPLETYPE instead of explicitly choosing short. This probably breaks the windows build since its includes aren't setup. 2013-01-09 10:26:12 -06:00
skidau
8494a439c7 OSX build fix 2013-01-10 00:06:35 +11:00
skidau
91fe5cc821 Build fix
Added SoundTouch as a dependency of AudioCommon.
Removed the "soundtouch_config.h" include on Linux and OSX.
2013-01-09 23:45:13 +11:00
skidau
63b38be97c Added audio time stretching by using the SoundTouch library. 2013-01-09 22:57:32 +11:00
skidau
c8c78e0aa9 Implemented correct audio timing.
Fixes issue 5493.
2013-01-07 15:37:08 +11:00
skidau
6df1dacca8 OpenAL for Windows initial commit 2013-01-07 12:16:04 +11:00
Ryan Houdek
88b890824b (CoreAudio) Retain volume value until initialization. Makes volume slider work when game isn't running. Fixes issue 5383. 2012-12-14 12:15:01 -06:00
Glenn Rice
e85438cba0 Clean up gcc/g++ compiler warnings that have accumulated. 2012-12-10 00:40:28 -06:00
rog
9070e7ff8c misc movie cleanup and fixes 2012-10-20 22:26:40 -04:00