Commit Graph

120 Commits

Author SHA1 Message Date
Soren Jorvang 404c625622 Simplify the SCons build:
On OS X, build all code as Objective-C(++).

Centralize framework handling.

Cleanup.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5645 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-10 14:18:21 +00:00
skidau 79b20494be Fixes a crash in the DirectSound back-end.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5635 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-08 13:28:12 +00:00
Glenn Rice 9c3c7c5443 Implement pulseaudio output. It is rather crude but seems to work.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5626 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-06 04:02:16 +00:00
hrydgard a3c96ac42c Warp back to 5578. Sorry for the lost changes, please re-apply. Reason: 5579 is a complete disaster.
Not only does it change tons of files to switch to a new and non-working (it doesn't parse my ini files, at least) ini parser, it also reshuffles a lot of code and removes a plugin. The latter part is fine, but doing these two major switches in one revision, one of which is broken, is completely unacceptable. I said to merge tiny changes, not massive reworkings.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5589 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-03 18:05:08 +00:00
Shawn Hoffman e4085f0f04 Merge GCPadNew into Dolphin. This takes place in three segments: Core, InputCommon, and InputUICommon. From now on it can be referred to just as "GCPad".
Switch to Billiard's IniFile implementation throughout Dolphin (it's faster!!).

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5579 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-03 04:55:39 +00:00
Soren Jorvang 30e437f9e3 Fix some cases of variables being used uninitialized. Also some unused
variables, writeable strings and dangerously shadowed variables.

index(), gamma(), exp() and y0() are POSIX functions and using those
names can cause namespace confusion.

A number of C files were missing the final newline required by ANSI C
and some versions of GCC are pedantic enough to complain about this.

These changes simply the scons build, allowing us to get rid of
filterWarnings which is simply more trouble than it's worth.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5574 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-02 20:35:12 +00:00
Soren Jorvang 664cea45c7 Meta:
Using Unix tools to operate on a tree containing filename with spaces in them
is really annoying, so rename the handful of instances where there were spaces.

Host.cpp has never been used.

Games tend to lookup the following directories that we don't yet have anything
to put in, so prepopulate them in Data/User/Wii:

title/00010001
title/00010002
title/00010003
title/00010004
title/00010005
title/00010006
title/00010007
meta
shared2/title
 
Set eol-style native on a number of text files which didn't already have it.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5572 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-02 18:00:22 +00:00
Soren Jorvang e2ef72504e Fix typo.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5571 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-02 17:19:23 +00:00
Shawn Hoffman 9c1b4dee44 fix AudioCommon including linux headers on windows
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5568 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-01 22:23:16 +00:00
Soren Jorvang 43dfff651a Hopefully fix building on Linux.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5566 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-01 21:10:49 +00:00
Soren Jorvang 9d7b569ccb Now that Core Audio works, reduce the number of build permutations a bit
by not linking in other Unix audio modules.
 
Use kAudioUnitSubType_DefaultOutput instead of kAudioUnitSubType_HALOutput
so that a runtime switch to another audio device is automatically handled.
 
Use ERROR_LOG for audio errors.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5562 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-01 20:45:30 +00:00
Soren Jorvang fdd532356a Have the AudioUnit callback drive the internal mixer directly instead
of going through an intermediate thread and buffer. This seems to be
how Core Audio is meant to be used, although I still haven't read the
manual.

Indeed, sound on OS X works perfectly now.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5555 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-31 05:05:53 +00:00
Soren Jorvang 7f50bb5579 Get the audio unit output buffer size and use that as the rendering
quantum, as the callback wants us to provide exactly the amount of
samples needed.

This is incomplete because core audio may ask for less than the full
buffer size (for me, typically 1484 or 1488 bytes of a 2048 byte
buffer). As a quick hack until I read the rather impenetrable core
audio documentation, assume that each callback request will want
about the same number of samples as the preceeding one.

This makes sound bearable.

Also various cleanup.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5543 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-30 04:21:01 +00:00
pierre ab89decac5 Linux: Better ALSA support
This removes some bad behaviour, like the audio thread busy waiting inside ALSA code,
missing begins of voice samples(due to DSP_HLE code not getting called often enough).
Turns out my understanding of ALSA API was lacking.

Tested with pulse plugin and directly on my intel-hda/realtek hardware.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5461 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-21 22:48:57 +00:00
pierre 39b17ca640 Linux: Fix horrible latency when the alsa pulseaudio plugin is involved, see issue #2651
The fix is asking alsa for a prefered "hardware" buffer size, so alsa does not fall
back to pulseaudios offering of ~1 minute. Additionally, alsa busy waits when pulseaudio
is used, sw:avail_min is set and hw:buffer_size is small.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5439 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-07 23:14:40 +00:00
nakeee 47239ce0f4 XK patch for adding jit config to audiocommon/c16 function to x64emitter
and Skidu's fix for 64bit


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5230 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-24 11:22:33 +00:00
skidau 76ad8db445 Added a null check when stopping the DSPHLE plugin with the DSound back-end. Fixes the DSPHLE crash on stop.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5172 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-08 08:03:42 +00:00
Sonicadvance1 89c276c962 Fix a Memory leak in CoreAudio backend, around 2MB. Stops OpenCL from trying to decode CMPR textures, as it fails horribly. Fixes a memory leak in EXI devices, where the destructor wouldn't be called, causing a 32MB leak with memory cards(if you have two), and maybe a bit more from the other EXI devices
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5042 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-12 16:40:13 +00:00
sl1nk3.s 449b21fd65 Fix an issue with OpenAL not properly using the correct Volume on boot
Proper fix for issue 1886 as well as a fix to OGL fullscreen code that might fix issue 2095

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5028 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-07 19:36:29 +00:00
ayuanx 0978551269 EXPERIMENTAL: an attempt to fix Issue 1725
Please test, especially on multi-Wiimote.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5024 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-07 06:07:56 +00:00
Sonicadvance1 675e1f668e Correct stopping of Core in OSX via Command+Q, and fix a thread from not dying when stopping with CoreAudio
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5013 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-05 10:48:31 +00:00
nakeee 8bb96156a2 Some small clean up + fixes to make valgrind happy
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4991 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-02 08:10:23 +00:00
Glenn Rice 5da315337e Fix minor issue with inclusion of OpenAL headers
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4988 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-31 23:46:50 +00:00
Marko Pusljar 2eeb3d5e9d Nullsound killed - Fixes Issue 1082
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4907 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-20 14:35:48 +00:00
nakeee b5b4d92846 Change the order so selected iso will be first and only then the default iso.
Some other minor cleanup


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4880 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-18 18:21:27 +00:00
Sonicadvance1 936664314f Allow OSX to quit Dolphin cleanly in NoWX build with command+Q. Not sure how to let them do it via close button in the Window
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4866 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-17 08:47:35 +00:00
ayuanx 571a47ef9a This could alleviate the suffering of dual core synchronization a bit.
But I doubt you would notice it in most cases.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4830 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-14 10:52:14 +00:00
tmator 4172928b14 coreaudio backend make sound now
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4814 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-12 22:35:28 +00:00
ayuanx 4240cf9053 Wiimote: More work, don't ask, no answer
nJoy: Maybe this could reactivate multi-pad?

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4729 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-25 22:10:56 +00:00
ayuanx 06218e9ebb Sound System Rework: Phase 2 (cont'ed)
. Fixed super fast refresh rate issue

. Recovered <TAB> shortcut key for ThrottleSkipping

. Removed redundant "soundstream->Update()" in DSPLLE
  (Thanks to LordMark)


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4728 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-25 11:59:04 +00:00
ayuanx 9eea60ca69 Sound System Rework: Phase 2
. Performance boost
  (Completely non-blocking between Sound thread and CPU thread, in the meantime keeping them thread safe)

. Both 32KHz & 48KHz sound can be handled properly now
  (But up-sampling is still not implemented, and I don't think any game requires it.)

. Strategy adjustment
  When your PC is *NOT* capable to run the game at 100%:
  >> DSound    Could yield more fluent sound than OpenAL sometimes, but you will lose the sync between video & audio (since audio is played before video to guarantee fluency)
  >> OpenAL    Ensures video & audio are always sync'ed, but sound could be intermittent(to let slow video catch up)

. Changed default frame limit to: Auto
  (Somehow this can dramatically decrease the chance of wiimote desync in game NSMB)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4724 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-23 15:34:14 +00:00
ayuanx 24d8839793 Sound System Rework: Phase 1
. Fixed Sample Rate for DSP
  (Now if your CPU is capable to run game at 100%, you will get pure sound without buzz or static noise)

. Fixed Sample Rate for AI
  (Now if your CPU is capable to run game at 100%, you will get sync'ed video and audio)

. Fixed Backend list for DSPLLE

. Improved Aduio DMA a bit
  (There might be a completely redesign in following phases)

WARNING: The whole rework will take time to complete.
This commit is compilable, but could be unstable.
So you can try it and test it but don't take it as a release rev!

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4717 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-22 07:26:30 +00:00
ayuanx c3b196541d Added volume control for OpenAL, also improved its performance a bit, but don't expect too much.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4712 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-20 13:54:14 +00:00
ayuanx 51163196d3 Now OpenAL works, at least.
But Dolphin's sound stream system really needs a rethink.
Because this is the root cause of constant blocking.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4711 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-20 02:23:26 +00:00
ayuanx 7b6a0f9b72 Thread safe.
PS: The OpenAL is a mess.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4710 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-18 19:52:04 +00:00
ayuanx afef9fb5f0 Code cleanup, removed extern declaration in sound streams
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4688 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-13 11:51:29 +00:00
Shawn Hoffman 4fe3e46725 Add the mixer change from issue 1479 (use sleep(1) instead of cpu yield)
Fix aram handling in wii mode - was doing strange things with aram AND mem2 space - only mem2 exists on wii. Let me know if this breaks anything...
Fix Wii BS2 HLE - don't zero out bytes 6 and 7
Thanks to skidau for finding the ssbb error cause :)
Fixes issue 303
Fixes issue 1479

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4687 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-13 07:42:15 +00:00
ayuanx fad1fa4e3d Improved XTra.KrazzY's Mute-On-Pause a bit, so it won't cost any CPU time when it is not used.
Revert old Zelda-TP hack, though it really shouldn't be there...



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4684 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-12 22:30:53 +00:00
XTra.KrazzY 6bea0a2f53 Fixed annoying sound when pausing/shutting down (please test for ALL backends) (couldn't do this for CoreAudio and PulseAudio too)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4676 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-10 21:00:52 +00:00
nakeee 3e49599a33 AlsaSound: Applied the fix from issue 1689 makes DSP better
thanks darumo


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4615 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-27 11:52:29 +00:00
XTra.KrazzY a0129e51a3 LUAInterface should have all its functionality now (excluding input/controller management). Now we need a GUI to see how it works. Added new DSP function: ClearAudioBuffer, which clears the audio buffer for pausing. Currently it doesn't work with DSound.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4507 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-07 20:01:39 +00:00
tmator f432250893 CoreAudio for osx : replace all deprecated functions, now it not block dolphin, but it not work, i'm not a sound specialist
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4457 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-23 17:10:27 +00:00
nakeee 5834fa6710 Pulse audio empty struct implementation. Working on it though
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4428 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-15 17:28:23 +00:00
nakeee 8e44891b3a Audio: alsa is now default on linux, scons switch openal off by default (openal=yes to enabled)
minor clean up in audio config code


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4426 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-15 06:50:04 +00:00
Shawn Hoffman feea7ebed5 Turns out that if one fails to use pkg-config to configure alsa, some other ancient library gets linked in or something. - TD-Linux
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4424 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-15 02:04:27 +00:00
nakeee ffe12ec752 OpenCL: added opencl=true option to scons and fixed the case on the way.
Add ifdef for osx ocl include.



git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4348 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-30 06:49:08 +00:00
Sonicadvance1 804b9e99f8 Add CoreAudio Backend, still needs a bit of work. Will cleanup AudioCommon.cpp, and finish off CoreAudioStream.cpp if I ever get running games working in Snow Leopard. Interpreter seems to run in to a spinlock, dunno why yet, and Jit just crashes out. Core problems is probably something I won't be able to fix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4316 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-24 21:35:06 +00:00
Shawn Hoffman 8c5285eddf fix some path issues on OSX, also libao for osx only supports 44.1kHz...awesome...who calls writing the CoreAudio backend so we can kill libao? :D
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4311 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-21 20:28:17 +00:00
nakeee 1619433ae7 DSP: added automatic alsa test.
Should fix issue 1403


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4274 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-15 10:47:19 +00:00
hrydgard 77eb45cb24 hopefully unbreak win32 build. yeah, this was sloppy of me :p
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4242 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-09 22:56:23 +00:00