/* SPU2-X, A plugin for Emulating the Sound Processing Unit of the Playstation 2 * Developed and maintained by the Pcsx2 Development Team. * * Original portions from SPU2ghz are (c) 2008 by David Quintana [gigaherz] * * SPU2-X is free software: you can redistribute it and/or modify it under the terms * of the GNU Lesser General Public License as published by the Free Software Found- * ation, either version 3 of the License, or (at your option) any later version. * * SPU2-X is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with SPU2-X. If not, see . */ #ifndef _SPU2X_GLOBAL_H_ #define _SPU2X_GLOBAL_H_ struct StereoOut16; struct StereoOut32; struct StereoOutFloat; struct V_Core; namespace soundtouch { class SoundTouch; } #include #include #include #include #include #include #include #include #include #include using std::string; using std::wstring; #include "Pcsx2Types.h" namespace VersionInfo { static const u8 Release = 1; static const u8 Revision = 3; // increase that with each version } ////////////////////////////////////////////////////////////////////////// // Override Win32 min/max macros with the STL's type safe and macro // free varieties (much safer!) #undef min #undef max template< typename T > static __forceinline void Clampify( T& src, T min, T max ) { src = std::min( std::max( src, min ), max ); } template< typename T > static __forceinline T GetClamped( T src, T min, T max ) { return std::min( std::max( src, min ), max ); } extern void SysMessage(const char *fmt, ...); ////////////////////////////////////////////////////////////// // Dev / Debug conditionals -- // Consts for using if() statements instead of uglier #ifdef macros. // Abbreviated macros for dev/debug only consoles and msgboxes. #ifdef PCSX2_DEVBUILD # define DevCon Console # define DevMsg MsgBox #else # define DevCon 0&&Console # define DevMsg #endif #ifdef PCSX2_DEBUG # define DbgCon Console #else # define DbgCon 0&&Console #endif #ifdef PCSX2_DEVBUILD # define SPU2_LOG #endif #include "Utilities/Exceptions.h" #include "Utilities/SafeArray.h" #include "ConvertUTF.h" #include "defs.h" #include "regs.h" #include "Config.h" #include "Debug.h" #include "SndOut.h" #endif