Commit Graph

28 Commits

Author SHA1 Message Date
Gregory Hainaut 0a4f9e43d9 cmake: clean sdl management
* sdl is mandatory for spu2x
* cmake will include either /usr/include/SDL or /usr/include/SDL2 so no
  need to add extra ifdef
2014-12-07 21:06:21 +01:00
Ryan Houdek 3d37a6ce27 Removes the usage of __LINUX__ define
This is defined and set it a ton of different places.
It's checked in a whole lot more
Instead just use __linux__ like a real project should
2014-08-03 13:20:36 -05:00
gigaherz 654343f875 Advanced (per-channel) Volume Adjustment AKA Room Correction (Windows-only, need someone to fix the linux counterpart) 2014-05-11 17:26:00 +02:00
gregory.hainaut 00ea70d4d1 spu2x (linux): allow to use sdl as audio backend instead of portaudio (recommended for pulseaudio user). Close i1413
Thanks to Matt Scheirer for his patch



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5731 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-09-14 15:23:35 +00:00
gigaherz e0bbc1b814 SPU2-X: Reworked the circular buffer functions for audio output, with a thread-safe version.
This hopefully avoids the issues appearing after long periods of continuous playing.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4871 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-14 22:06:18 +00:00
gigaherz a4a40441c9 SPU2-X: Added config setting for ProLogic decoding level.
Refactored the ProLogicII code into a separate file and changed it to floating point math for easier debugging. 
Added a basic ProLogic decoder that doesn't try to do surround separation into L/R.

The setting does not have a GUI option yet, since the PLII decoder is experimental and doesn't give too good results.
To change it, set DplDecodingLevel to one of: 0=none, 1=ProLogic, 2=ProLogicII. The default is 0.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4859 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-10 20:08:29 +00:00
gigaherz c0f9d1b619 SPU2-X: Added audio expansion support to the portaudio backend. This change also corrects the volume in normal stereo mode.
Removed an useless method from the module interfaces.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4858 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-10 13:17:41 +00:00
avihal@gmail.com 7cb4dbb8d9 SPU2X: New (simpler) time stretcher algorithm.
Should prevent erratic tempo variations near 100% speeds (compared to the previous implementation), and generally allow much lower latencies while keeping the audio stable (on all audio systems).
E.g. my tests show that at 70ms latency it can properly handle sharp speed variance of 50%-100%. If your game generally doesn't get slower than 70% speed, 50ms latency would probably be fine.

Note that on extreme scenarios (e.g. extreme sharp drops in speed) it doesn't try to keep the audio continues at all costs. If your game exhibits such behavior (audible clicks, etc), increasing the latency a bit at the config would help.

Comments on actual performance/quality on different systems would be greatly appreciated.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4820 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-24 10:58:42 +00:00
sudonim1 7edaa221b8 SPU2-X: moving some code out of a header.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4411 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-03-10 22:56:29 +00:00
gregory.hainaut@gmail.com fb2a02af42 spu2x:
* fix linux compilation debug build 
* Add a linux option to select the API output of portaudio (ALSA, JACK and OSS)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4224 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-01-16 15:02:21 +00:00
arcum42 e928cc14f6 spu2-x: Work a bit on the way multiple sound modules are handled in Linux.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3906 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-10-09 07:55:01 +00:00
Jake.Stine b62dbc545a SPU2-X: More volume! Expect to have to turn your speakers down a bit. (made possible by proper clamping)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3419 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-07 19:20:53 +00:00
sudonim1 4457fe40fc Removed all trailing whitespace in *.c *.cpp *.h because it irritates me.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2897 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-25 00:31:27 +00:00
ramapcsx2 ab2897a417 SPU2-X:
New "Peops SPU2-like" async mixing mode.
Can only be toggled in source for now, as it will lower compatibility.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2835 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-11 22:08:32 +00:00
ramapcsx2 db63162c0d SPU2-X:
- Various small changes and a fix by gigaherz for dsp plugins when timestretching is disabled.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2788 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-28 20:48:52 +00:00
ramapcsx2 86dcb0a1a9 SPU2-X:
Work on support for Wasapi's exclusive mode. Not enabled yet.
Also lower (/8) sound out packet size. Helps the timestretcher 
responsiveness and quality.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2755 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-19 20:28:10 +00:00
Jake.Stine 1461281f5f SPU2-X: Improved fix for wave recoding crashes; using thread-safe mutex locks. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2662 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-03 19:06:22 +00:00
gigaherz ce396272d1 SPU2-X: Experimental PortAudio module. No config dialogs. Will use the system default output device & whatever the default "api" is in portaudio. Requires user-compiled portaudio lib, might commit later.
Widnows users probably don't have any interest in this unless you want to play the audio through portaudio's ASIO driver. Arcum was interested so I commited.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2439 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-16 17:59:00 +00:00
Jake.Stine 158b01b58d SPU2-X:
* Potential Bugfix: Core1's DMA IRQ trigger was being ignored in some instances; might fix some hangs.
 * Major code cleanups, using C++ structure member methods and functions.
 * Improved gui / plugin api / core emulation code separation -- hoping to switch to wxWidgets eventually.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1930 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-29 19:18:50 +00:00
Jake.Stine de0442321f Linux: Fixed compiler errors from my prev commit, along with a few verbose warnings and a compile error in SPU2-X. (note, moved Linux's define of SVN_REV macro to PrecompiledHeader.h for now, until a proper solution is implemented)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1819 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-13 20:56:22 +00:00
ramapcsx2 00e1ac1cfb SPU2-X:
Fixe the dsp (winamp plugin) crashes. Thanks to Gigaherz for this one, too :p

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1739 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-04 22:39:21 +00:00
ramapcsx2 f06998808a SPU2-X:
5.1 support is back!
Currently for XAudio2 only, and it's not doing much (Simple copy of the stereo source to the other speakers).
Gigaherz is already working on a nice, semi - prologic II upmixer though ;)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1738 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-04 22:15:02 +00:00
ramapcsx2 ad6dce5e9c SPU2-X:
Worked on savestate support a bit. It now remembers an update timing variable more (could fix a few crashes).
This increases the savestate version though, so make sure you have a memory card save ready before upgrading!

Also implemented a way of delaying audio output after loading states. This masks the ugly noise that some games produce directly after loading, keeping your valuable speakers intact :p

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@963 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-12 21:19:29 +00:00
arcum42 0fb4e4ea07 Fix a segfault issue in ConvertTo16 on ZeroGS, and make a few changes in spu2-x for later use.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@631 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-28 08:00:56 +00:00
Jake.Stine 1feb143b2b SPU2-X: Trying a new (experimental) DMA option which may fix problems in DMC1, but might break more than it fixes? (we'll find out!)
Also - Added some options to DSound driver.  Enabling Hardware mode on dsound might improve dsound compat on some soundcard drivers, for those who can't use XA2 or have problems with XA2 stability.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@619 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-27 01:46:01 +00:00
arcum42 1745eb2013 SPU2-X: These aren't the buildfiles you're looking for. Move along now.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@556 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-20 21:48:59 +00:00
Jake.Stine 0ca2f4d2be SPU-X: Major code cleanups across the board, and optimizations to the reverb effects generator (possibly buggy yet)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@525 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-18 13:36:20 +00:00
Jake.Stine 042e904a65 SPU2-X: Introducing the new SPU2-X! After some talk with Gigaherz, It was decided to branch and rename Playground's mod of SPU2ghz to SPU2-X. This commit isn't just a copy. It includes a series of significant revisions. The most notable features are:
* Working Reverb.  Yes, you heard right.  Fully and completely implemented reverb effects!
* Automatic 5.1 speaker expansion.
* Some more bugfixes to volumes.
* All new configuration panels.
* Improved/Bugfixed XAudio2 drivers.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@497 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-15 05:15:39 +00:00