Commit Graph

2985 Commits

Author SHA1 Message Date
Jordan Woyak
385d8e2b15 ChunkFile has allowed me to accidentally "Do" a non-POD for the last time! 2013-04-09 19:02:22 -05:00
Jordan Woyak
018282c2b9 Track the real wiimote rumble state to drop outgoing rumble reports with no effect.
This eliminates constant streams of reports in various games that constantly send audio reports. (Just Dance 2, DKCR, etc.)
(Speaker data reports are converted to rumble reports when speaker data is disabled.)
2013-04-08 18:50:42 -05:00
Jordan Woyak
42e97e462c Look for wiimotes when "Continuous Scanning" is enabled even if a device using the MS stack is not found.
Fixed issue 6215.
2013-04-07 14:21:20 -05:00
John Chadwick
c7abf7e8d2 Allow disabling memory card writes in netplay.
Fixes issue 6217.
2013-04-07 12:18:07 -04:00
skidau
b76c7cf4f3 Bumped up the LLE period to 12600 as it seemed to be a bit more stable. 2013-04-07 21:44:44 +10:00
skidau
52053f5d95 Forced an exception check after an interrupt is generated by the DSP. Changed the timing back to 3ms/5ms periods, fixing the slowdown and garbled AX audio.
Fixed Accurate VBeam emulation when DSP HLE audio is being used.
2013-04-07 16:27:46 +10:00
Jordan Woyak
53368823cb Merge branch 'real-wiimote-minor-fixes' 2013-04-06 16:57:55 -05:00
skidau
8a2109691a Quick fix to get Zelda: Wind Waker booting again. 2013-04-07 07:18:28 +10:00
skidau
ecb4337209 Made the timing consistent between DSP HLE and DSP LLE. Fixes Lost Kingdoms II in DSP HLE mode. 2013-04-06 20:26:43 +11:00
Jordan Woyak
c32e2f33ac Fix IORead return off-by-one error in Windows real wiimote code. 2013-04-05 21:45:35 -05:00
Jordan Woyak
3c8477df03 Real Wiimotes: Invalidate last data report when any non-data input reports comes in. 2013-04-05 21:10:36 -05:00
skidau
518e7a7635 Adjusted the ARAM DMA transfer size again. Fixes the audio in the Sonic Mega Collection games. 2013-04-06 11:52:00 +11:00
Jordan Woyak
ceebed9268 Apply changes to Windows real wiimote code as suggested by bughunter2.
Fixed issue 6071.
2013-04-04 21:46:00 -05:00
Jordan Woyak
f8e52bd83a Eliminate some redundant constants. 2013-04-04 19:46:42 -05:00
Jordan Woyak
99da297951 Fix minor issue with real wiimote data report handling. 2013-04-04 19:34:00 -05:00
skidau
aaf6c3b753 Forced the exception check when the ARAM DMA transfer is between 32 and 320 blocks in size. Fixes Lost Kingdoms II. 2013-04-04 22:38:39 +11:00
Glenn Rice
3fdc46877a Make the GUI show a translated "No audio output" sound backend string. 2013-04-03 09:22:39 -05:00
Jordan Woyak
92e82a4160 Suppress warnings. 2013-04-02 15:02:02 -05:00
Pierre Bourdon
27e08f66b5 Fix build on OS X 2013-04-02 21:15:04 +02:00
Pierre Bourdon
eb06c62a6e Merge branch 'new-ax-hle'
GC and Wii games using the AX UCode should now work almost perfectly with DSP
HLE. If you get any issue, make sure the "DSP on dedicated thread" option is
disabled, and try setting framelimit to "Audio".

As a side effect, DSP HLE should not desync anymore (making it usable in
netplay and TAS) with AX games.

Conflicts:
	Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_AX.h
	Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_AXWii.cpp
2013-04-02 21:00:44 +02:00
Pierre Bourdon
9860137291 Initialize the audiocommon mixer on the first write to DSPCR, even if DSP is not enabled. Fixes issue 6192. 2013-04-02 20:42:07 +02:00
Pierre Bourdon
6e708005df Implement AXWii commands 08/09, aka. "upload AUXA/AUXB and use it as a temp buffer to mix to MAIN L/R/S and AUXC L", aka. "what the fuck were they thinking?!" 2013-04-02 04:12:17 +02:00
Pierre Bourdon
0220fd1940 Implemented command 03: ADD_SUB_TO_LR 2013-04-02 03:23:48 +02:00
Pierre Bourdon
74dee41b87 Add implementation for command 02: SUB_TO_LR 2013-04-02 03:10:29 +02:00
Pierre Bourdon
5c67a0bcf6 Partial fix for the EA Wii games having no sound - implement the second OUTPUT command in AXWii. Sound in videos and musics still don't play. 2013-04-02 02:53:19 +02:00
Lioncash
f36e18593b More log elaborating. Final time I'm doing this.
Logs should actually be somewhat understandable to some people outside of programming and stuff (in a way). It's certainly better than being bombarded by abbreviations when errors/general logging occur, at least.
2013-04-01 18:45:23 -04:00
Lioncash
04913a855e Update function descriptions in GCPad.cpp and Wiimote.cpp
Add inputs. Those that still need a description are tagged with [Description Needed]
2013-04-01 18:07:44 -04:00
Pierre Bourdon
49d809ac0e Merge branch 'osx-libcxx' 2013-04-01 18:17:49 +02: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
Pierre Bourdon
4d27315cd1 Initialize the AX Thread after the sync objects are initialized 2013-03-31 01:55:41 +01:00
Pierre Bourdon
60b43eb8d3 Support the old AXWii version used in games like Wii Sports or Excite Truck 2013-03-31 00:25:00 +01:00
Pierre Bourdon
276c457bed Basic framework to support the old AXWii version used in Wii Sports and Excite Truck 2013-03-30 22:22:57 +01:00
Pierre Bourdon
79c0316243 Disable the polyphase resampler - it causes audio glitches with non integer ratios 2013-03-30 16:59:06 +01:00
Pierre Bourdon
04f9c6793b Fix the argument to the samples reading callback in voice processing - should fix issues with wiimote audio, untested 2013-03-30 14:39:59 +01:00
Pierre Bourdon
a813f9e13c Support loading polyphase resampling coeffs from User and Sys in HLE 2013-03-30 14:38:14 +01:00
Pierre Bourdon
e3b0a2c9bf Add an option to run the AX processing on the CPU thread. Fixes timing issues causing audio glitches on Wii, and should improve the overall stability of AX HLE. 2013-03-30 14:02:30 +01:00
Pierre Bourdon
c271082ec5 Add volume ramping for MAIN output, separate old volume values for each AUX channel and refactor 2013-03-30 00:55:55 +01:00
Pierre Bourdon
4b09f525f6 Fix AUX volume mixing in AXWii: implement volume ramping and MixAdd properly. Home menu sounds now work properly. 2013-03-29 22:22:24 +01:00
Pierre Bourdon
ef501137be Fix audio glitching at the end of a voice because of bad non-looping sound handling in AXWii 2013-03-29 21:02:27 +01:00
Pierre Bourdon
194ada2481 More MSVC 2010 build fixes 2013-03-29 07:55:56 -07:00
Pierre Bourdon
4895e38bd5 This change might work better if I git add the files 2013-03-29 07:31:15 -07:00
Pierre Bourdon
e9b236be05 OSX sucks at c++11 2013-03-29 13:55:55 +01:00
Pierre Bourdon
a997824f68 Add missing <functional> header include 2013-03-29 13:51:52 +01:00
Pierre Bourdon
4dc1ffbb20 Refactor the resampling code to avoid having two polyphase resampling implementations (normal/wm) 2013-03-29 13:49:36 +01:00
Pierre Bourdon
85b498ba97 Update the right cur_addr_frac after wiimote audio resampling 2013-03-29 13:18:30 +01:00
Pierre Bourdon
57d4ba8dcc Merge branch 'master' into new-ax-hle 2013-03-29 00:49:07 +01:00
skidau
b2575c6280 Removed some redundant code introduced in the last commit. 2013-03-29 00:53:30 +11:00
skidau
9b7db5954f Rounded the loop addresses to the nearest 16bit value in the loop comparison.
Fixes issue 6160.
2013-03-29 00:43:41 +11:00
skidau
e38e48923d Readded the tracking of the FIFO Writes.
Fixes issue 6165.
2013-03-28 19:36:37 +11:00
skidau
5cea0d9def Revert "Don't open/close file for every file operation." as it was crashing PokePark in Windows builds.
This reverts commit efcb2abe9b.

Fixes issue 6098.
2013-03-27 13:06:15 +11:00
skidau
6a6c086b50 Windows build fix 2013-03-26 18:48:57 +11:00
Jordan Woyak
b8b5afa323 Go back to assuming every HID device is a wiimote on Windows.
Fixed issue 6117.
Unfixed issue 6031.
2013-03-25 21:14:55 -05:00
skidau
51290fd482 Adjusted the audio loop criteria, using >= on the Wii and == on GC. This fixes the audio static that occurred in Wii games after hours of play.
Fixes issue 5938.
Fixes issue 6067.
2013-03-26 08:31:20 +11:00
skidau
0ccaaee38c Forced the exception check only for ARAM DMA transfers.
Removed the Eternal Darkness boot hack and replaced it with an exception check.
2013-03-26 08:23:20 +11:00
skidau
dfa1845ae1 Reverted rd76ca5783743 as it was made obsolete by r1d550f4496e4. 2013-03-25 01:01:29 +11:00
skidau
4fa61a1e7f Removed the tracking of the FIFO Writes as it was made obsolete by r1d550f4496e4. 2013-03-25 00:57:53 +11:00
skidau
1d550f4496 Forced the external exception check to occur sooner by changing the downcount.
Fixes issue 5825.
2013-03-25 00:47:44 +11:00
Ryan Houdek
d11679a06e Android mega commit of trash. 2013-03-19 21:53:09 -05:00
skidau
a6249b5388 Properly set the DMAState flag while ARAM DMA transfers are underway.
Fixes issue 6118.
2013-03-19 23:03:38 +11:00
Rachel Bryk
7c2c4662a7 Disable Vsync while holding tab to disable the frame limit, and allow toggling vsync while emulation is running in OGL.
D3D9 still doesn't support changing vsync while emulation is running.

Fixes issue 6111.
2013-03-18 20:42:18 -04:00
Ryan Houdek
b512b23407 Reenable mulli and negx, seems to work fine. 2013-03-18 07:50:52 +00:00
Jordan Woyak
8faefa3672 Windows - Don't disconnect real wiimotes on Dolphin close. (back to the old behavior)
Fixed issue 6103.
2013-03-16 18:55:01 -05:00
Jordan Woyak
98fa5006fd Fix some warnings. 2013-03-16 18:53:34 -05:00
Pierre Bourdon
9a404ca6d4 Ship by default a free DSP ROM that can handle most games with LLE
At the end of July 2011, LM published a free DSP ROM that works with games
using the Zelda UCode. His ROM only has the code to handle UCode loading and a
few utility functions, the rest is missing. This includes the four large sound
mixing functions used by the AX UCode and the DROM containing coefficients used
for polyphase resampling in AX.

This is an improved, updated version of this ROM, which changes the following:

- We now have a free DROM that works for polyphase resampling by "emulating"
  linear interpolation. The coefficients contained in the DROM are normally a
  list of { c1, c2, c3, c4 } which are used to interpolate a sample value from
  four previous samples:
    out_sample = prev1 * c1 + prev2 * c2 + prev3 * c3 + prev4 * c4

  The coefficients are chosen depending on the fractional part of the current
  position (basically, our position between the previous and the next sample).
  We can use this fact to generate (c1, c2, c3, c4) for each possible
  fractional part so that:
    out_sample = prev3 * curr_pos + prev4 * (1 - curr_pos)

  Which is the formula for linear interpolation between prev3 and prev4. Linear
  interpolation is not as good as polyphase resampling but it still works very
  well and I couldn't really hear any difference between the two. If someone
  wants to generate real polyphase filter coefficients, they are welcome to
  submit a patch.

- The IROM now contains the 4 mixing functions used by the AX UCode: mix_add,
  mix_add_two, mix_add_ramp, mix_add_ramp_two. They are large, inlined
  functions (probably for performance reasons) in the official DSP IROM, our
  version prefers to use a loop. This *should* be more performant with our DSP
  JIT implementation, but I did not benchmark that.

Because the new DSP ROM is working just as well as the official ROM in 95% of
cases, it is now shipped by default with Dolphin and will be used with DSPLLE
if you don't have an official DSP ROM in User/GC. It will still display a panic
alert at every boot to notice you that you are using a non official DSP ROM
made by us, which is not perfect.

Games using the CARD, IPL or GBA UCodes are still broken. I don't know what
games this actually impacts, but this is a very small proportion compared to
what works.
2013-03-16 23:54:55 +01:00
Jordan Woyak
059e100425 Check for HID wiimote name on Windows instead of assuming everything is a wiimote.
Fixed issue 6031.
2013-03-15 21:27:46 -05:00
Ryan Houdek
8c1091a21f Merge branch 'master' into GLSL-master
Conflicts:
	Source/Core/VideoCommon/Src/PixelShaderGen.cpp
	Source/Plugins/Plugin_VideoDX11/Src/VertexManager.cpp
	Source/Plugins/Plugin_VideoDX9/Src/VertexManager.cpp
2013-03-15 11:19:52 -05:00
Ryan Houdek
c93f7760ce Really clean up all the emitter loadstores on ARM. If a ARM device supports VFPv4, then it supports IDIVA, so handle that in CPUDetect. 2013-03-14 01:50:38 +00:00
skidau
85eab1d262 Used the scheduler to generate the interrupt for IPC. Fixes the ES_LAUNCH games. 2013-03-13 22:23:59 +11:00
degasus
382be2aabd Merge branch 'master' into GLSL-master
Conflicts:
	.gitignore
2013-03-12 11:28:56 +01:00
skidau
83fc5f4747 Merge branch 'FIFO-BP'
# By skidau (30) and Pierre Bourdon (1)
* FIFO-BP: (31 commits)
  Set g_bSignalTokenInterrupt on the main thread.  Fixes the random hang in Harry Potter: Prisoner of Azkaban.
  Used a scheduled event to generate the ARAM DMA interrupt if the DMA is greater than a certain size.  Fixes NFS:HP2 GC.
  Bumped up the disc transfer speed enough to prevent audio stuttering in Gauntlet: Dark Legacy.
  Enabled Synchronise GPU on "SPEED CHALLENGE - Jacques Villeneuve's Racing Vision".  Required to go in-game.
  Added direct GameCube controller commands to the Serial Interface emulation.  Fixes the controls in MaxPlay Classic Games Volume 1 and the Action Replay disc.
  Increased the FIFO buffer size to 2MB from 1MB.  Fixes Killer 7's Angel boss.
  Used an immediate GenerateDSPInterrupt when transferring data from ARAM to MRAM and a scheduled DSP interrupt when transferring data from MRAM to ARAM.
  Fixes the audio cutting in and out in the Resident Evil GC games using DSP HLE. Triggered the ARAM interrupt by the scheduler instead of directly in function.
  Implemented proper timing for the sample counter in the AudioInterface, removing the previous hack. Cleaned up some of the audio streaming code.
  Skipped the EE check if there is a CP interrupt pending.
  Disabled "Speed up disc transfer" from the ZTP GC game ini.
  Removed the disc seek times for GC games and removed the disc speed option on Wii games. Checked for external exceptions only in mtmsr.
  Delayed the interrupts in the EXI Channel.
  Merge aram-dma-fixes (r76a13604ef49b522281af75675f044d59a74e871)
  Added a patch that bypasses the FIFO reset code in Wallace and Gromit: Project Zoo, allowing it to go in-game.
  Made vertex loading take constant time.
  Increased the cycle time of the vertex command.  Fixes "Speed Challenge: Jacques Villeneuve's Racing Vision".
  Moved the setting of the Finish interrupt signal back to the main thread as it was causing Wii games like Resident Evil 4 (Wii) to hang.
  Profile stores, fp stores and ps stores only to the fifo write addresses list.  This should make the JIT a little faster as it will not be checking for external exceptions unnecessarily.
  ...

Conflicts:
	Source/Core/VideoCommon/Src/PixelEngine.cpp
2013-03-12 19:47:59 +11:00
Ryan Houdek
8406d9972d Fix JIT from rebasing on PPSSPP ArmEmitter. 2013-03-12 02:35:29 +00:00
Ryan Houdek
b94b4a9e8f Rebase ArmEmitter on PPSSPP's base. The loadstores are making my heart cry at this point. 2013-03-11 13:57:55 -05:00
Rachel Bryk
9a3633924d Dolphin needs to be restarted before playing back a wiimote movie, so let's suggest that instead of giving an unhelpful error message. 2013-03-09 02:44:24 -05:00
Rachel Bryk
723371e022 Wow, I'm dumb. Fix mismatched set/get. 2013-03-08 20:06:04 -05:00
Ryan Houdek
f6d45ea461 Fix a potential issue when someone has a CPU core that isn't available on that host set in the INI file, it would just fail out. Now it defaults to interpreter. 2013-03-08 10:52:04 -06:00
degasus
12e84f918a Merge branch 'master' into GLSL-master
this fix debug build
2013-03-07 17:05:32 +01:00
Ryan Houdek
427a26fcc2 Clean up PPCSTATE_OFF 2013-03-06 13:46:36 -06:00
degasus
a1c5e90083 Merge branch 'master' into GLSL-master
Conflicts:
	CMakeLists.txt
	Source/Core/DolphinWX/CMakeLists.txt
	Source/Core/DolphinWX/Src/GLInterface.h
	Source/Core/VideoCommon/Src/PixelShaderGen.cpp
	Source/Core/VideoCommon/Src/TextureCacheBase.cpp
	Source/Core/VideoCommon/Src/VertexManagerBase.cpp
	Source/Plugins/Plugin_VideoDX11/Src/VertexManager.cpp
	Source/Plugins/Plugin_VideoDX9/Src/VertexManager.cpp
	Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcxproj
	Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcxproj.filters
	Source/Plugins/Plugin_VideoOGL/Src/GLUtil.h
	Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp
	Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/main.cpp
2013-03-06 15:59:29 +01:00
skidau
0f1ef49da1 Used a scheduled event to generate the ARAM DMA interrupt if the DMA is greater than a certain size. Fixes NFS:HP2 GC. 2013-03-06 17:08:40 +11:00
Ryan Houdek
d6558e1c31 Make the (V)LDR/(V)STR instructions support negative offsets. This fixes a bug where Arm Jit couldn't load the top 33 FPRs. Also makes it so the core can access all GPRs, FPRs, and SPRs in ppcState. This increases VPS 15-20 on SSBM intro movie on ODROIDX 2013-03-06 01:51:59 +00:00
Jordan Woyak
5d47fd1dde Remove HLE_IPC_CreateVirtualFATFilesystem as it no longer takes 3 minutes to LLE like the comment says. 2013-03-04 02:39:05 -06:00
Jordan Woyak
6d50bd127d Remove hack that seems to be no longer needed. 2013-03-04 02:22:11 -06:00
Jordan Woyak
efcb2abe9b Don't open/close file for every file operation. 2013-03-04 02:21:58 -06:00
Jordan Woyak
04a33b177a Make seek mode 2 (offset from end of file) make sense. I doubt any games use this. 2013-03-04 01:42:38 -06:00
Jordan Woyak
0efe6c2124 GET_ATTR should not be returning the real filepath that we built. 2013-03-04 01:42:38 -06:00
Jordan Woyak
0041ec618c Don't null-terminate some random std::string. 2013-03-03 20:16:01 -06:00
Jordan Woyak
ae14578bc5 Eliminate some netplay gamelist ugliness. 2013-03-03 17:56:40 -06:00
Jordan Woyak
b1a2915304 Merge branch 'master' into windows-unicode 2013-03-03 15:05:10 -06:00
Jordan Woyak
cedfa452b4 Windows: Open wiimotes with the FILE_SHARE_WRITE flag like before.
This should fix issues introduced by real-wiimote-scanning.
2013-03-03 14:34:59 -06:00
skidau
61b01474fa Bumped up the disc transfer speed enough to prevent audio stuttering in Gauntlet: Dark Legacy.
Fixes issue 4644.
2013-03-03 23:35:07 +11:00
skidau
6dbd80d73e Reverted the audio streaming tweak from r7a04ec6f9220dd66147c86baaebc2f9e05d65ead as it was causing audio clipping in some Wii games like Fire Emblem: Radiant Dawn. 2013-03-03 15:20:15 +11:00
Jordan Woyak
2b1af36900 Merge branch 'master' into windows-unicode 2013-03-02 15:33:32 -06:00
skidau
643f18d28b Added direct GameCube controller commands to the Serial Interface emulation. Fixes the controls in MaxPlay Classic Games Volume 1 and the Action Replay disc. 2013-03-02 22:35:10 +11:00
Jordan Woyak
2356e5c0e7 Eliminate some baseless restrictions in PointerWrap, mainly vector<string> not working. 2013-03-02 03:32:30 -06:00
skidau
3874b46a93 Used an immediate GenerateDSPInterrupt when transferring data from ARAM to MRAM and a scheduled DSP interrupt when transferring data from MRAM to ARAM.
Changed the maximum timeslice back to 20000 as it was causing slowdown.
2013-03-02 12:37:55 +11:00
skidau
4c6bbec600 Changed the maximum slice length to 1000 from 20000. This makes the emulator check external exceptions more regularly. Fixes the audio cutting in and out in the Resident Evil GC games using DSP HLE.
Triggered the ARAM interrupt by the scheduler instead of directly in function.  Fixes a hang in Mario Super Baseball.

Fixes issue 5825.
Fixes issue 5096.
2013-03-01 20:23:55 +11:00
skidau
73da6f4f3f Merge branch 'master' into FIFO-BP
# By Jordan Woyak (46) and others
# Via Jordan Woyak (2) and others
* master: (70 commits)
  Fixes two memory leaks, one is pretty bad for OSX. Yell at pauldachz if this doesn't work. Or... say thanks.
  Added a BluetoothEnumerateInstalledServices call so that the wiimote remembers the pairing.
  Make ARMJit core default CPU core on ARM architecture
  Fix a StringUtil regression from the arm-noglsl merge
  Small improvement to cmpli/cmpi in ARMJit.
  Merge latest ArmEmitter changes from ppsspp while we're at it.
  Ah. I blame vim on this typo entirely.
  Add disabled code for authenticating wiimotes on Windows.
  Add the missing FPR cache
  Buildfix.
  Yell at the user if they change window size while dumping frames, and some other avi dumping stuff.
  Not sure if this is the right way to handle this, but it makes the save states perfectly stable. That's all that really matters, right?
  Abort loading states from incompatible graphics backends.
  ARM Support without GLSL
  Improve VideoSoftware save states. They are fairly stable, but not perfect. OpcodeDecoder::DoState() needs to be fixed.
  Begin implementing save states to video software. Kind of works, sometimes.
  Make error message for loading save state with wrong dsp engine shorter.
  Abort load state if it uses a different dsp engine, instead of crashing.
  Update the gameini of F-zero. Efb to Ram is no longer the default choice.
  fix last commit by neobrain
  ...

Conflicts:
	Source/Core/VideoCommon/Src/Fifo.cpp
2013-03-01 20:12:56 +11:00
Jordan Woyak
dea1e2827d Open std::fstream in a unicode-safe manner. 2013-02-28 19:33:39 -06:00
skidau
7a04ec6f92 Implemented proper timing for the sample counter in the AudioInterface, removing the previous hack.
Cleaned up some of the audio streaming code.
2013-03-01 11:51:11 +11:00