Commit Graph

595 Commits

Author SHA1 Message Date
Jonathan Li 1d364f1991 spu2-x: Remove outdated website text file 2017-04-30 23:31:08 +01:00
Gregory Hainaut dc00af8829 psx|spu2x|gsdx: shift negative value is undefined in C standard
Instead does the negation after the shift

v2: assert shift <= 15 in clamp_mix
2017-04-30 21:20:23 +02:00
Gregory Hainaut 627212290e spu2x: comment unused variable 2017-04-30 21:20:23 +02:00
Jonathan Li ffcac1bc3b spu2-x:xaudio2: Comment stuff to investigate 2017-04-28 10:12:50 +02:00
Jonathan Li adb92ce349 spu2-x:xaudio2: Use unique_ptr
Also remove the unused constructor parameter from StreamingVoice and
rename the variables slightly.
2017-04-28 10:12:50 +02:00
Jonathan Li 14bd5a4f59 spu2-x:xaudio2: Improve cleanup after an exception
Initialise pointers to nullptr, move the LoadLibrary code into the try
block (where it should have been in the first place), and use Close()
to cleanup if an exception occurs. Also initialise/destroy the critical
section in the base class constructor/destructor.

This should avoid resource leaks if an exception occurs.
2017-04-28 10:12:50 +02:00
Jonathan Li 6c512c1973 spu2-x:xaudio2: Simplify XAudio2Error exception
Instead of creating a separate message function, just reuse what() and
pass the string to the std::runtime_error constructor instead.

Also catch a reference to a std::runtime_error instead, since it'll
allow for simpler cleanup.
2017-04-28 10:12:50 +02:00
Jonathan Li 3cb0e3bb13 spu2-x: Combine XAudio2 2.7/2.8+ code into an inline file
Avoids code duplication, though there's now messy ifdefs...
2017-04-28 10:12:50 +02:00
Jonathan Li 5c1023a332 spu2-x:windows: Replace GUIDFromString with IIDFromString
Does the same thing.
2017-03-12 00:04:09 +00:00
Gregory Hainaut da1bb43618 cmake: Add various missing file in CMakeLists.txt
Add some windows code path. It would reduce the burden to port Cmake to windows.
(sill miss 3rdparty/some plugins/...)
2017-02-16 20:11:57 +01:00
Gregory Hainaut 1e7fd83ac5 gsdx|spu2x: fix %d/%u in printf (cppcheck) 2017-01-22 21:10:40 +01:00
Gregory Hainaut 33a7672196 spu2x: use default contructor of the compiler 2017-01-22 16:06:54 +01:00
Pseudonym 233f66db5e Fixed effects area wrapping calculation, which was always buggy but this
wasn't evident until additional addresses were precalculated.
Not expected to improve compatibility.
2016-11-01 11:12:41 +00:00
Jonathan Li bc7aa1a500 spu2-x:freebsd: Enable SDL backends
portaudio currently isn't providing me with sound, even though it did
before.
2016-10-27 22:03:49 +01:00
Pseudonym 1668392988 SPU2-X: Mass reverb register renaming. Hopefully I didn't screw up the
cross-channel reflection registers.
2016-10-22 19:16:11 +01:00
Pseudonym 9a51820dec SPU2-X: Experimental reverb based on Dr. Hell's
http://drhell.web.fc2.com/ps1/ and/or Martin Korth's
http://problemkaputt.de/psx-spx.htm reverse engineering.
Negate final reverb output (don't know why but it's an
improvement when comparing the waveform).
2016-10-22 19:16:11 +01:00
Gregory Hainaut d4a163e9cc spu2: improve format consistency 2016-10-22 13:22:28 +02:00
Pseudonym 1f44c4be2f SPU2-X: PSX games should be able to read ENDX correctly now, which is
important functionality for many sound engines.
Fixed two other obvious errors in the psx compatibility merge, probably
inconsequential.
2016-10-20 04:17:03 +01:00
Clang Format 604d3bac3c clang format: set SpacesBeforeTrailingComments to 1 2016-10-16 21:42:31 +02:00
Robert Neumann f5e096a66f spu2x: indicate pitch modulation and noise enabled status in the visual debugger 2016-10-16 14:15:12 +02:00
Clang Format 039573b133 clang-format spu2x
Note: it doesn't play well with define around forceinline (might need to fix the inline btw)
And a single macro in RegTable.cpp
2016-10-10 20:41:24 +02:00
Robert 36631f2270 remove a useless define
cosmetics

more cosmetics

some more cosmetics? sure!

whitespaces

whiterspaces
2016-10-09 20:10:53 +02:00
Robert 95fe77a594 bad merge fix 2016-10-09 16:15:19 +02:00
Robert Neumann 19a8ed8b25 psxmode: Spu2x: more native SPU2 reghandlers. first "working" reverb! (everything before was just random data) 2016-10-09 15:52:47 +02:00
Robert Neumann ee05137415 psxmode: Spu2x: add reverb register handling, fix a problem with the address translation, re-enable "VMIXEL" writing (which should just be named Echo/Effect ON or EON really) 2016-10-09 15:52:47 +02:00
Robert Neumann 1ec70f1df3 psxmode: Spu2x now working correctly. Kudos to pseudonym. Took him 30 minutes to fix this! 2016-10-09 15:52:46 +02:00
Robert Neumann 08b6edae80 psxmode: further spu2x work 2016-10-09 15:52:45 +02:00
Robert 3aabc1adbf spu2x work 1 2016-10-09 15:52:05 +02:00
Gregory Hainaut 6e6eae7844 pcsx2:gsdx:spu2x: use parenthesis around macro parameters
For safety reasons.
2016-09-18 16:13:55 +02:00
Gregory Hainaut 64d499af6e pcsx2|spu2x: remove unused macro 2016-09-18 16:13:29 +02:00
Gregory Hainaut f0a54bf6e3 spu2x: replace EMITC macro with a function 2016-09-18 16:13:28 +02:00
Gregory Hainaut 0b86aad059 spu2x sdl: increase the number of samples
Avoid alsa error "buffer underrun"
2016-08-09 11:38:25 +02:00
Jonathan Li f40b2e641b spu2-x:windows: Use INT_PTR for DialogProc return type
Fixes a 64-bit compile error.
2016-07-23 02:19:29 +01:00
Gregory Hainaut 0f62bccb0b Merge pull request #1470 from ssakash/spu2_x_nitpicks
SPU2-X: Align GUI elements on debug dialog
2016-07-22 18:18:20 +02:00
Akash 8e2b19ada7 SPU2-X: Align GUI elements on debug dialog 2016-07-22 19:29:45 +05:30
Jonathan Li e25e8bc580 plugins: Tidy/standardise VS projects
Combine all the different configurations together so the project files
are more generic and maintainable.

Also standardise the layout so all the project files will be similar and
all have the same standard elements (even if empty).

Add 64-bit configurations.

Additional specifics:
spu2-x: FLOAT_SAMPLES preprocessor definition removed since it's unused.
2016-07-19 23:25:12 +01:00
Jonathan Li 7c3cee0624 spu2-x: Rearrange lowpass.cpp header order
It allows VS to use the precompiled header for that file too.
2016-07-19 23:25:12 +01:00
Akash 1e92c24847 SPU2-X: Convert inline assembly to intrinsics (#1464) 2016-07-19 23:11:12 +01:00
Gregory Hainaut e872552fdc spu2x|common: s/jASSUME/pxAssume/ allow to remove code and __debugbreak intrinsic 2016-07-17 10:24:29 +02:00
Jonathan Li eddabf9dbc spu2-x: Remove unused DirectSound 5.1 module
It was copied over from SPU2ghz but never actually used.
2016-06-18 00:01:32 +01:00
Jonathan Li 7c205d7a1e windows: Don't use __declspec(dllexport) for plugin exports
Using __declspec(dllexport) causes duplicate export warnings to be
generated when compiling 64-bit builds. Name mangling also occurs on
functions that are exported this way, so it doesn't actually work with
the plugin system, which uses unmangled names.

The module definition file exports the functions without name mangling
and is sufficient on its own.
2016-06-05 22:57:42 +01:00
Jonathan Li e7745d13f4 spu2-x:windows: Add XAudio2 2.8 backend
On Windows Vista and 7, the XAudio2 2.7 backend will still be used.
Windows 8, 8.1 and 10 users will use XAudio2 2.8/2.9 (depending on OS).
2016-05-29 14:50:12 +01:00
Jonathan Li 5344c3f121 spu2-x: Rename SndOut_XAudio2.cpp to SndOut_XAudio2_7.cpp 2016-05-29 14:50:12 +01:00
Jonathan Li de56e30bba spu2-x:windows:xaudio: Remove ifdefs and rename class/vars
This reverts commit 8a61c7d336.

The plan is to support both XAudio2 2.7 and 2.8+. This file will only be
used for 2.7, so let's remove the ifdefs and rename the class and vars.
2016-05-29 14:50:12 +01:00
Jonathan Li c8162df936 spu2-x: Only XAudio2 2.7 requires the DXSDK
Use the newer Windows SDK for everything else.
2016-05-29 14:50:12 +01:00
Jonathan Li 5ea80b86db spu2-x:windows: Remove VersionHelpers workaround
We've moved to the non-XP toolkit - it can be removed.
2016-05-29 14:50:12 +01:00
Jonathan Li b20433c0be windows: Remove user.props references from all projects
find . -name *.vcxproj -exec sed -i -e '/user.props/d' {} \;

Microsoft recommends against using .user files. From
https://msdn.microsoft.com/en-us/library/669zx6zc.aspx :
"The best practice is to delete the reference to them in Property
Manager to ensure that your projects operate independently of any
per-user, per-computer settings. This is important to ensure correct
behaviour in a SCC (source code control) environment."

If you cannot compile SPU2-X after this commit (since that still relies
on the old DirectX SDK), you'll need to fix your build environment.
2016-05-29 12:21:52 +01:00
Jonathan Li f95c38f632 spu2-x:freebsd: Adjust cmake and ifdefs
For now the SDL backend has been removed, mainly cause it makes the
dialog code too messy.
2016-05-20 22:30:52 +01:00
Gregory Hainaut da1b032793 spu2x-linux: update GUI to support a 15 ms latency 2016-04-24 11:13:28 +02:00
refractionpcsx2 fdae698f07 SPU2-X: Correct project settings for devel profile. Fixes #1288 2016-04-11 01:15:07 +01:00