mirror of
https://github.com/libretro/pcsx2.git
synced 2024-11-25 02:09:52 +00:00
gsdx-ogl: sync from trunk 5179:5091
git-svn-id: http://pcsx2.googlecode.com/svn/branches/gsdx-ogl@5180 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
commit
300ea42977
344
3rdparty/portaudio/CMakeLists.txt
vendored
Normal file
344
3rdparty/portaudio/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,344 @@
|
|||||||
|
# $Id: $
|
||||||
|
#
|
||||||
|
# For a "How-To" please refer to the Portaudio documentation at:
|
||||||
|
# http://www.portaudio.com/trac/wiki/TutorialDir/Compile/CMake
|
||||||
|
#
|
||||||
|
PROJECT( portaudio )
|
||||||
|
|
||||||
|
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
|
||||||
|
|
||||||
|
OPTION(PA_CONFIG_LIB_OUTPUT_PATH "Make sure that output paths are kept neat" OFF)
|
||||||
|
IF(CMAKE_CL_64)
|
||||||
|
SET(TARGET_POSTFIX x64)
|
||||||
|
IF(PA_CONFIG_LIB_OUTPUT_PATH)
|
||||||
|
SET(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/bin/x64)
|
||||||
|
ENDIF(PA_CONFIG_LIB_OUTPUT_PATH)
|
||||||
|
ELSE(CMAKE_CL_64)
|
||||||
|
SET(TARGET_POSTFIX x86)
|
||||||
|
IF(PA_CONFIG_LIB_OUTPUT_PATH)
|
||||||
|
SET(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/bin/Win32)
|
||||||
|
ENDIF(PA_CONFIG_LIB_OUTPUT_PATH)
|
||||||
|
ENDIF(CMAKE_CL_64)
|
||||||
|
|
||||||
|
IF(WIN32 AND MSVC)
|
||||||
|
OPTION(PA_DLL_LINK_WITH_STATIC_RUNTIME "Link with static runtime libraries (minimizes runtime dependencies)" ON)
|
||||||
|
IF(PA_DLL_LINK_WITH_STATIC_RUNTIME)
|
||||||
|
FOREACH(flag_var
|
||||||
|
CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
|
||||||
|
CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO
|
||||||
|
CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
|
||||||
|
CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
|
||||||
|
IF(${flag_var} MATCHES "/MD")
|
||||||
|
STRING(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
|
||||||
|
ENDIF(${flag_var} MATCHES "/MD")
|
||||||
|
ENDFOREACH(flag_var)
|
||||||
|
ENDIF(PA_DLL_LINK_WITH_STATIC_RUNTIME)
|
||||||
|
|
||||||
|
ENDIF(WIN32 AND MSVC)
|
||||||
|
|
||||||
|
IF(WIN32)
|
||||||
|
OPTION(PA_UNICODE_BUILD "Enable Portaudio Unicode build" ON)
|
||||||
|
|
||||||
|
SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake_support)
|
||||||
|
# Try to find DirectX SDK
|
||||||
|
FIND_PACKAGE(DXSDK)
|
||||||
|
# Try to find ASIO SDK (assumes that portaudio and asiosdk folders are side-by-side, see
|
||||||
|
# http://www.portaudio.com/trac/wiki/TutorialDir/Compile/WindowsASIOMSVC)
|
||||||
|
FIND_PACKAGE(ASIOSDK)
|
||||||
|
|
||||||
|
IF(ASIOSDK_FOUND)
|
||||||
|
OPTION(PA_USE_ASIO "Enable support for ASIO" ON)
|
||||||
|
ELSE(ASIOSDK_FOUND)
|
||||||
|
OPTION(PA_USE_ASIO "Enable support for ASIO" OFF)
|
||||||
|
ENDIF(ASIOSDK_FOUND)
|
||||||
|
IF(DXSDK_FOUND)
|
||||||
|
OPTION(PA_USE_DS "Enable support for DirectSound" ON)
|
||||||
|
ELSE(DXSDK_FOUND)
|
||||||
|
OPTION(PA_USE_DS "Enable support for DirectSound" OFF)
|
||||||
|
ENDIF(DXSDK_FOUND)
|
||||||
|
OPTION(PA_USE_WMME "Enable support for MME" ON)
|
||||||
|
OPTION(PA_USE_WASAPI "Enable support for WASAPI" ON)
|
||||||
|
OPTION(PA_USE_WDMKS "Enable support for WDMKS" ON)
|
||||||
|
OPTION(PA_USE_WDMKS_DEVICE_INFO "Use WDM/KS API for device info" ON)
|
||||||
|
MARK_AS_ADVANCED(PA_USE_WDMKS_DEVICE_INFO)
|
||||||
|
IF(PA_USE_DS)
|
||||||
|
OPTION(PA_USE_DIRECTSOUNDFULLDUPLEXCREATE "Use DirectSound full duplex create" ON)
|
||||||
|
MARK_AS_ADVANCED(PA_USE_DIRECTSOUNDFULLDUPLEXCREATE)
|
||||||
|
ENDIF(PA_USE_DS)
|
||||||
|
ENDIF(WIN32)
|
||||||
|
|
||||||
|
# Set variables for DEF file expansion
|
||||||
|
IF(NOT PA_USE_ASIO)
|
||||||
|
SET(DEF_EXCLUDE_ASIO_SYMBOLS ";")
|
||||||
|
ENDIF(NOT PA_USE_ASIO)
|
||||||
|
|
||||||
|
IF(NOT PA_USE_WASAPI)
|
||||||
|
SET(DEF_EXCLUDE_WASAPI_SYMBOLS ";")
|
||||||
|
ENDIF(NOT PA_USE_WASAPI)
|
||||||
|
|
||||||
|
IF(PA_USE_WDMKS_DEVICE_INFO)
|
||||||
|
ADD_DEFINITIONS(-DPAWIN_USE_WDMKS_DEVICE_INFO)
|
||||||
|
ENDIF(PA_USE_WDMKS_DEVICE_INFO)
|
||||||
|
|
||||||
|
IF(PA_USE_DIRECTSOUNDFULLDUPLEXCREATE)
|
||||||
|
ADD_DEFINITIONS(-DPAWIN_USE_DIRECTSOUNDFULLDUPLEXCREATE)
|
||||||
|
ENDIF(PA_USE_DIRECTSOUNDFULLDUPLEXCREATE)
|
||||||
|
|
||||||
|
#######################################
|
||||||
|
IF(WIN32)
|
||||||
|
INCLUDE_DIRECTORIES(src/os/win)
|
||||||
|
ENDIF(WIN32)
|
||||||
|
|
||||||
|
IF(PA_USE_ASIO)
|
||||||
|
INCLUDE_DIRECTORIES(${ASIOSDK_ROOT_DIR}/common)
|
||||||
|
INCLUDE_DIRECTORIES(${ASIOSDK_ROOT_DIR}/host)
|
||||||
|
INCLUDE_DIRECTORIES(${ASIOSDK_ROOT_DIR}/host/pc)
|
||||||
|
|
||||||
|
SET(PA_ASIO_INCLUDES
|
||||||
|
include/pa_asio.h
|
||||||
|
)
|
||||||
|
|
||||||
|
SET(PA_ASIO_SOURCES
|
||||||
|
src/hostapi/asio/pa_asio.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
SET(PA_ASIOSDK_SOURCES
|
||||||
|
${ASIOSDK_ROOT_DIR}/common/asio.cpp
|
||||||
|
${ASIOSDK_ROOT_DIR}/host/pc/asiolist.cpp
|
||||||
|
${ASIOSDK_ROOT_DIR}/host/asiodrivers.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
SOURCE_GROUP("hostapi\\ASIO" FILES
|
||||||
|
${PA_ASIO_SOURCES}
|
||||||
|
)
|
||||||
|
|
||||||
|
SOURCE_GROUP("hostapi\\ASIO\\ASIOSDK" FILES
|
||||||
|
${PA_ASIOSDK_SOURCES}
|
||||||
|
)
|
||||||
|
ENDIF(PA_USE_ASIO)
|
||||||
|
|
||||||
|
IF(PA_USE_DS)
|
||||||
|
INCLUDE_DIRECTORIES(${DXSDK_INCLUDE_DIR})
|
||||||
|
INCLUDE_DIRECTORIES(src/os/win)
|
||||||
|
|
||||||
|
SET(PA_DS_INCLUDES
|
||||||
|
include/pa_win_ds.h
|
||||||
|
src/hostapi/dsound/pa_win_ds_dynlink.h
|
||||||
|
)
|
||||||
|
|
||||||
|
SET(PA_DS_SOURCES
|
||||||
|
src/hostapi/dsound/pa_win_ds.c
|
||||||
|
src/hostapi/dsound/pa_win_ds_dynlink.c
|
||||||
|
)
|
||||||
|
|
||||||
|
SOURCE_GROUP("hostapi\\dsound" FILES
|
||||||
|
${PA_DS_INCLUDES}
|
||||||
|
${PA_DS_SOURCES}
|
||||||
|
)
|
||||||
|
ENDIF(PA_USE_DS)
|
||||||
|
|
||||||
|
IF(PA_USE_WMME)
|
||||||
|
|
||||||
|
SET(PA_WMME_INCLUDES
|
||||||
|
include/pa_win_wmme.h
|
||||||
|
)
|
||||||
|
|
||||||
|
SET(PA_WMME_SOURCES
|
||||||
|
src/hostapi/wmme/pa_win_wmme.c
|
||||||
|
)
|
||||||
|
|
||||||
|
SOURCE_GROUP("hostapi\\wmme" FILES
|
||||||
|
${PA_WMME_SOURCES}
|
||||||
|
)
|
||||||
|
ENDIF(PA_USE_WMME)
|
||||||
|
|
||||||
|
IF(PA_USE_WASAPI)
|
||||||
|
|
||||||
|
SET(PA_WASAPI_INCLUDES
|
||||||
|
include/pa_win_wasapi.h
|
||||||
|
)
|
||||||
|
|
||||||
|
SET(PA_WASAPI_SOURCES
|
||||||
|
src/hostapi/wasapi/pa_win_wasapi.c
|
||||||
|
)
|
||||||
|
|
||||||
|
SOURCE_GROUP("hostapi\\wasapi" FILES
|
||||||
|
${PA_WASAPI_SOURCES}
|
||||||
|
)
|
||||||
|
ENDIF(PA_USE_WASAPI)
|
||||||
|
|
||||||
|
IF(PA_USE_WDMKS)
|
||||||
|
|
||||||
|
SET(PA_WDMKS_INCLUDES
|
||||||
|
include/pa_win_wdmks.h
|
||||||
|
)
|
||||||
|
|
||||||
|
SET(PA_WDMKS_SOURCES
|
||||||
|
src/hostapi/wdmks/pa_win_wdmks.c
|
||||||
|
)
|
||||||
|
|
||||||
|
SOURCE_GROUP("hostapi\\wdmks" FILES
|
||||||
|
${PA_WDMKS_SOURCES}
|
||||||
|
)
|
||||||
|
ENDIF(PA_USE_WDMKS)
|
||||||
|
|
||||||
|
SET(PA_SKELETON_SOURCES
|
||||||
|
src/hostapi/skeleton/pa_hostapi_skeleton.c
|
||||||
|
)
|
||||||
|
|
||||||
|
SOURCE_GROUP("hostapi\\skeleton"
|
||||||
|
${PA_SKELETON_SOURCES})
|
||||||
|
|
||||||
|
#######################################
|
||||||
|
IF(WIN32)
|
||||||
|
SET(PA_INCLUDES
|
||||||
|
include/portaudio.h
|
||||||
|
${PA_ASIO_INCLUDES}
|
||||||
|
${PA_DS_INCLUDES}
|
||||||
|
${PA_WMME_INCLUDES}
|
||||||
|
${PA_WASAPI_INCLUDES}
|
||||||
|
${PA_WDMKS_INCLUDES}
|
||||||
|
)
|
||||||
|
ENDIF(WIN32)
|
||||||
|
|
||||||
|
SOURCE_GROUP("include" FILES
|
||||||
|
${PA_INCLUDES}
|
||||||
|
)
|
||||||
|
|
||||||
|
SET(PA_COMMON_INCLUDES
|
||||||
|
src/common/pa_allocation.h
|
||||||
|
src/common/pa_converters.h
|
||||||
|
src/common/pa_cpuload.h
|
||||||
|
src/common/pa_debugprint.h
|
||||||
|
src/common/pa_dither.h
|
||||||
|
src/common/pa_endianness.h
|
||||||
|
src/common/pa_hostapi.h
|
||||||
|
src/common/pa_memorybarrier.h
|
||||||
|
src/common/pa_process.h
|
||||||
|
src/common/pa_ringbuffer.h
|
||||||
|
src/common/pa_stream.h
|
||||||
|
src/common/pa_trace.h
|
||||||
|
src/common/pa_types.h
|
||||||
|
src/common/pa_util.h
|
||||||
|
)
|
||||||
|
|
||||||
|
SET(PA_COMMON_SOURCES
|
||||||
|
src/common/pa_allocation.c
|
||||||
|
src/common/pa_converters.c
|
||||||
|
src/common/pa_cpuload.c
|
||||||
|
src/common/pa_debugprint.c
|
||||||
|
src/common/pa_dither.c
|
||||||
|
src/common/pa_front.c
|
||||||
|
src/common/pa_process.c
|
||||||
|
src/common/pa_ringbuffer.c
|
||||||
|
src/common/pa_stream.c
|
||||||
|
src/common/pa_trace.c
|
||||||
|
)
|
||||||
|
|
||||||
|
SOURCE_GROUP("common" FILES
|
||||||
|
${PA_COMMON_INCLUDES}
|
||||||
|
${PA_COMMON_SOURCES}
|
||||||
|
)
|
||||||
|
|
||||||
|
SOURCE_GROUP("cmake_generated" FILES
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/portaudio_cmake.def
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/options_cmake.h
|
||||||
|
)
|
||||||
|
|
||||||
|
IF(WIN32)
|
||||||
|
SET(PA_PLATFORM_SOURCES
|
||||||
|
src/os/win/pa_win_hostapis.c
|
||||||
|
src/os/win/pa_win_util.c
|
||||||
|
src/os/win/pa_win_waveformat.c
|
||||||
|
src/os/win/pa_win_wdmks_utils.c
|
||||||
|
src/os/win/pa_win_coinitialize.c
|
||||||
|
src/os/win/pa_x86_plain_converters.c
|
||||||
|
)
|
||||||
|
|
||||||
|
SOURCE_GROUP("os\\win" FILES
|
||||||
|
${PA_PLATFORM_SOURCES}
|
||||||
|
)
|
||||||
|
ENDIF(WIN32)
|
||||||
|
|
||||||
|
INCLUDE_DIRECTORIES( include )
|
||||||
|
INCLUDE_DIRECTORIES( src/common )
|
||||||
|
|
||||||
|
IF(WIN32 AND MSVC)
|
||||||
|
ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS)
|
||||||
|
ENDIF(WIN32 AND MSVC)
|
||||||
|
|
||||||
|
ADD_DEFINITIONS(-DPORTAUDIO_CMAKE_GENERATED)
|
||||||
|
INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_BINARY_DIR} )
|
||||||
|
|
||||||
|
SET(SOURCES_LESS_ASIO_SDK
|
||||||
|
${PA_COMMON_SOURCES}
|
||||||
|
${PA_ASIO_SOURCES}
|
||||||
|
${PA_DS_SOURCES}
|
||||||
|
${PA_WMME_SOURCES}
|
||||||
|
${PA_WASAPI_SOURCES}
|
||||||
|
${PA_WDMKS_SOURCES}
|
||||||
|
${PA_SKELETON_SOURCES}
|
||||||
|
${PA_PLATFORM_SOURCES}
|
||||||
|
)
|
||||||
|
|
||||||
|
IF(PA_UNICODE_BUILD)
|
||||||
|
SET_SOURCE_FILES_PROPERTIES(
|
||||||
|
${SOURCES_LESS_ASIO_SDK}
|
||||||
|
PROPERTIES
|
||||||
|
COMPILE_DEFINITIONS "UNICODE;_UNICODE"
|
||||||
|
)
|
||||||
|
ENDIF(PA_UNICODE_BUILD)
|
||||||
|
|
||||||
|
ADD_LIBRARY(portaudio SHARED
|
||||||
|
${PA_INCLUDES}
|
||||||
|
${PA_COMMON_INCLUDES}
|
||||||
|
${SOURCES_LESS_ASIO_SDK}
|
||||||
|
${PA_ASIOSDK_SOURCES}
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/portaudio_cmake.def
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/options_cmake.h
|
||||||
|
)
|
||||||
|
|
||||||
|
ADD_LIBRARY(portaudio_static STATIC
|
||||||
|
${PA_INCLUDES}
|
||||||
|
${PA_COMMON_INCLUDES}
|
||||||
|
${SOURCES_LESS_ASIO_SDK}
|
||||||
|
${PA_ASIOSDK_SOURCES}
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/options_cmake.h
|
||||||
|
)
|
||||||
|
|
||||||
|
# Configure the exports file according to settings
|
||||||
|
SET(GENERATED_MESSAGE "CMake generated file, do NOT edit! Use CMake-GUI to change configuration instead.")
|
||||||
|
CONFIGURE_FILE( cmake_support/template_portaudio.def ${CMAKE_CURRENT_BINARY_DIR}/portaudio_cmake.def @ONLY )
|
||||||
|
# Configure header for options (PA_USE_xxx)
|
||||||
|
CONFIGURE_FILE( cmake_support/options_cmake.h.in ${CMAKE_CURRENT_BINARY_DIR}/options_cmake.h @ONLY )
|
||||||
|
|
||||||
|
IF(WIN32)
|
||||||
|
# If we use DirectSound, we need this for the library to be found (if not in VS project settings)
|
||||||
|
IF(PA_USE_DS AND DXSDK_FOUND)
|
||||||
|
TARGET_LINK_LIBRARIES(portaudio ${DXSDK_DSOUND_LIBRARY})
|
||||||
|
ENDIF(PA_USE_DS AND DXSDK_FOUND)
|
||||||
|
|
||||||
|
# If we use WDM/KS we need setupapi.lib
|
||||||
|
IF(PA_USE_WDMKS)
|
||||||
|
TARGET_LINK_LIBRARIES(portaudio setupapi)
|
||||||
|
ENDIF(PA_USE_WDMKS)
|
||||||
|
|
||||||
|
SET_TARGET_PROPERTIES(portaudio PROPERTIES OUTPUT_NAME portaudio_${TARGET_POSTFIX})
|
||||||
|
SET_TARGET_PROPERTIES(portaudio_static PROPERTIES OUTPUT_NAME portaudio_static_${TARGET_POSTFIX})
|
||||||
|
ENDIF(WIN32)
|
||||||
|
|
||||||
|
OPTION(PA_BUILD_TESTS "Include test projects" OFF)
|
||||||
|
OPTION(PA_BUILD_EXAMPLES "Include example projects" OFF)
|
||||||
|
|
||||||
|
# Prepared for inclusion of test files
|
||||||
|
IF(PA_BUILD_TESTS)
|
||||||
|
SUBDIRS(test)
|
||||||
|
ENDIF(PA_BUILD_TESTS)
|
||||||
|
|
||||||
|
# Prepared for inclusion of test files
|
||||||
|
IF(PA_BUILD_EXAMPLES)
|
||||||
|
SUBDIRS(examples)
|
||||||
|
ENDIF(PA_BUILD_EXAMPLES)
|
||||||
|
|
||||||
|
#################################
|
||||||
|
|
@ -942,6 +942,10 @@
|
|||||||
RelativePath="..\..\include\pa_win_waveformat.h"
|
RelativePath="..\..\include\pa_win_waveformat.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\include\pa_win_wdmks.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\include\pa_win_wmme.h"
|
RelativePath="..\..\include\pa_win_wmme.h"
|
||||||
>
|
>
|
||||||
|
@ -639,6 +639,7 @@
|
|||||||
<ClInclude Include="..\..\include\pa_win_ds.h" />
|
<ClInclude Include="..\..\include\pa_win_ds.h" />
|
||||||
<ClInclude Include="..\..\include\pa_win_wasapi.h" />
|
<ClInclude Include="..\..\include\pa_win_wasapi.h" />
|
||||||
<ClInclude Include="..\..\include\pa_win_waveformat.h" />
|
<ClInclude Include="..\..\include\pa_win_waveformat.h" />
|
||||||
|
<ClInclude Include="..\..\include\pa_win_wdmks.h" />
|
||||||
<ClInclude Include="..\..\include\pa_win_wmme.h" />
|
<ClInclude Include="..\..\include\pa_win_wmme.h" />
|
||||||
<ClInclude Include="..\..\include\portaudio.h" />
|
<ClInclude Include="..\..\include\portaudio.h" />
|
||||||
<ClInclude Include="..\..\src\os\win\pa_win_coinitialize.h" />
|
<ClInclude Include="..\..\src\os\win\pa_win_coinitialize.h" />
|
||||||
|
@ -175,5 +175,8 @@
|
|||||||
<ClInclude Include="..\..\src\os\win\pa_win_coinitialize.h">
|
<ClInclude Include="..\..\src\os\win\pa_win_coinitialize.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\include\pa_win_wdmks.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
41
3rdparty/portaudio/cmake_support/FindASIOSDK.cmake
vendored
Normal file
41
3rdparty/portaudio/cmake_support/FindASIOSDK.cmake
vendored
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
# $Id: $
|
||||||
|
#
|
||||||
|
# - Try to find the ASIO SDK
|
||||||
|
# Once done this will define
|
||||||
|
#
|
||||||
|
# ASIOSDK_FOUND - system has ASIO SDK
|
||||||
|
# ASIOSDK_ROOT_DIR - path to the ASIO SDK base directory
|
||||||
|
# ASIOSDK_INCLUDE_DIR - the ASIO SDK include directory
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
else(WIN32)
|
||||||
|
message(FATAL_ERROR "FindASIOSDK.cmake: Unsupported platform ${CMAKE_SYSTEM_NAME}" )
|
||||||
|
endif(WIN32)
|
||||||
|
|
||||||
|
file(GLOB results "${CMAKE_CURRENT_SOURCE_DIR}/../as*")
|
||||||
|
foreach(f ${results})
|
||||||
|
if(IS_DIRECTORY ${f})
|
||||||
|
set(ASIOSDK_PATH_HINT ${ASIOSDK_PATH_HINT} ${f})
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
find_path(ASIOSDK_ROOT_DIR
|
||||||
|
common/asio.h
|
||||||
|
HINTS
|
||||||
|
${ASIOSDK_PATH_HINT}
|
||||||
|
)
|
||||||
|
|
||||||
|
find_path(ASIOSDK_INCLUDE_DIR
|
||||||
|
asio.h
|
||||||
|
PATHS
|
||||||
|
${ASIOSDK_ROOT_DIR}/common
|
||||||
|
)
|
||||||
|
|
||||||
|
# handle the QUIETLY and REQUIRED arguments and set ASIOSDK_FOUND to TRUE if
|
||||||
|
# all listed variables are TRUE
|
||||||
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(ASIOSDK DEFAULT_MSG ASIOSDK_ROOT_DIR ASIOSDK_INCLUDE_DIR)
|
||||||
|
|
||||||
|
MARK_AS_ADVANCED(
|
||||||
|
ASIOSDK_ROOT_DIR ASIOSDK_INCLUDE_DIR
|
||||||
|
)
|
59
3rdparty/portaudio/cmake_support/FindDXSDK.cmake
vendored
Normal file
59
3rdparty/portaudio/cmake_support/FindDXSDK.cmake
vendored
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
# $Id: $
|
||||||
|
#
|
||||||
|
# - Try to find the DirectX SDK
|
||||||
|
# Once done this will define
|
||||||
|
#
|
||||||
|
# DXSDK_FOUND - system has DirectX SDK
|
||||||
|
# DXSDK_ROOT_DIR - path to the DirectX SDK base directory
|
||||||
|
# DXSDK_INCLUDE_DIR - the DirectX SDK include directory
|
||||||
|
# DXSDK_LIBRARY_DIR - DirectX SDK libraries path
|
||||||
|
#
|
||||||
|
# DXSDK_DSOUND_LIBRARY - Path to dsound.lib
|
||||||
|
#
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
else(WIN32)
|
||||||
|
message(FATAL_ERROR "FindDXSDK.cmake: Unsupported platform ${CMAKE_SYSTEM_NAME}" )
|
||||||
|
endif(WIN32)
|
||||||
|
|
||||||
|
find_path(DXSDK_ROOT_DIR
|
||||||
|
include/dxsdkver.h
|
||||||
|
HINTS
|
||||||
|
$ENV{DXSDK_DIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
find_path(DXSDK_INCLUDE_DIR
|
||||||
|
dxsdkver.h
|
||||||
|
PATHS
|
||||||
|
${DXSDK_ROOT_DIR}/include
|
||||||
|
)
|
||||||
|
|
||||||
|
IF(CMAKE_CL_64)
|
||||||
|
find_path(DXSDK_LIBRARY_DIR
|
||||||
|
dsound.lib
|
||||||
|
PATHS
|
||||||
|
${DXSDK_ROOT_DIR}/lib/x64
|
||||||
|
)
|
||||||
|
ELSE(CMAKE_CL_64)
|
||||||
|
find_path(DXSDK_LIBRARY_DIR
|
||||||
|
dsound.lib
|
||||||
|
PATHS
|
||||||
|
${DXSDK_ROOT_DIR}/lib/x86
|
||||||
|
)
|
||||||
|
ENDIF(CMAKE_CL_64)
|
||||||
|
|
||||||
|
find_library(DXSDK_DSOUND_LIBRARY
|
||||||
|
dsound.lib
|
||||||
|
PATHS
|
||||||
|
${DXSDK_LIBRARY_DIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
# handle the QUIETLY and REQUIRED arguments and set DXSDK_FOUND to TRUE if
|
||||||
|
# all listed variables are TRUE
|
||||||
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(DXSDK DEFAULT_MSG DXSDK_ROOT_DIR DXSDK_INCLUDE_DIR)
|
||||||
|
|
||||||
|
MARK_AS_ADVANCED(
|
||||||
|
DXSDK_ROOT_DIR DXSDK_INCLUDE_DIR
|
||||||
|
DXSDK_LIBRARY_DIR DXSDK_DSOUND_LIBRARY
|
||||||
|
)
|
31
3rdparty/portaudio/cmake_support/options_cmake.h.in
vendored
Normal file
31
3rdparty/portaudio/cmake_support/options_cmake.h.in
vendored
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
/* $Id: $
|
||||||
|
|
||||||
|
!!! @GENERATED_MESSAGE@ !!!
|
||||||
|
|
||||||
|
Header file configured by CMake to convert CMake options/vars to macros. It is done this way because if set via
|
||||||
|
preprocessor options, MSVC f.i. has no way of knowing when an option (or var) changes as there is no dependency chain.
|
||||||
|
|
||||||
|
The generated "options_cmake.h" should be included like so:
|
||||||
|
|
||||||
|
#ifdef PORTAUDIO_CMAKE_GENERATED
|
||||||
|
#include "options_cmake.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
so that non-CMake build environments are left intact.
|
||||||
|
|
||||||
|
Source template: cmake_support/options_cmake.h.in
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
#if defined(PA_USE_ASIO) || defined(PA_USE_DS) || defined(PA_USE_WMME) || defined(PA_USE_WASAPI) || defined(PA_USE_WDMKS)
|
||||||
|
#error "This header needs to be included before pa_hostapi.h!!"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#cmakedefine01 PA_USE_ASIO
|
||||||
|
#cmakedefine01 PA_USE_DS
|
||||||
|
#cmakedefine01 PA_USE_WMME
|
||||||
|
#cmakedefine01 PA_USE_WASAPI
|
||||||
|
#cmakedefine01 PA_USE_WDMKS
|
||||||
|
#else
|
||||||
|
#error "Platform currently not supported by CMake script"
|
||||||
|
#endif
|
53
3rdparty/portaudio/cmake_support/template_portaudio.def
vendored
Normal file
53
3rdparty/portaudio/cmake_support/template_portaudio.def
vendored
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
; $Id: $
|
||||||
|
;
|
||||||
|
; !!! @GENERATED_MESSAGE@ !!!
|
||||||
|
EXPORTS
|
||||||
|
|
||||||
|
;
|
||||||
|
Pa_GetVersion @1
|
||||||
|
Pa_GetVersionText @2
|
||||||
|
Pa_GetErrorText @3
|
||||||
|
Pa_Initialize @4
|
||||||
|
Pa_Terminate @5
|
||||||
|
Pa_GetHostApiCount @6
|
||||||
|
Pa_GetDefaultHostApi @7
|
||||||
|
Pa_GetHostApiInfo @8
|
||||||
|
Pa_HostApiTypeIdToHostApiIndex @9
|
||||||
|
Pa_HostApiDeviceIndexToDeviceIndex @10
|
||||||
|
Pa_GetLastHostErrorInfo @11
|
||||||
|
Pa_GetDeviceCount @12
|
||||||
|
Pa_GetDefaultInputDevice @13
|
||||||
|
Pa_GetDefaultOutputDevice @14
|
||||||
|
Pa_GetDeviceInfo @15
|
||||||
|
Pa_IsFormatSupported @16
|
||||||
|
Pa_OpenStream @17
|
||||||
|
Pa_OpenDefaultStream @18
|
||||||
|
Pa_CloseStream @19
|
||||||
|
Pa_SetStreamFinishedCallback @20
|
||||||
|
Pa_StartStream @21
|
||||||
|
Pa_StopStream @22
|
||||||
|
Pa_AbortStream @23
|
||||||
|
Pa_IsStreamStopped @24
|
||||||
|
Pa_IsStreamActive @25
|
||||||
|
Pa_GetStreamInfo @26
|
||||||
|
Pa_GetStreamTime @27
|
||||||
|
Pa_GetStreamCpuLoad @28
|
||||||
|
Pa_ReadStream @29
|
||||||
|
Pa_WriteStream @30
|
||||||
|
Pa_GetStreamReadAvailable @31
|
||||||
|
Pa_GetStreamWriteAvailable @32
|
||||||
|
Pa_GetSampleSize @33
|
||||||
|
Pa_Sleep @34
|
||||||
|
@DEF_EXCLUDE_ASIO_SYMBOLS@PaAsio_GetAvailableBufferSizes @50
|
||||||
|
@DEF_EXCLUDE_ASIO_SYMBOLS@PaAsio_ShowControlPanel @51
|
||||||
|
PaUtil_InitializeX86PlainConverters @52
|
||||||
|
@DEF_EXCLUDE_ASIO_SYMBOLS@PaAsio_GetInputChannelName @53
|
||||||
|
@DEF_EXCLUDE_ASIO_SYMBOLS@PaAsio_GetOutputChannelName @54
|
||||||
|
PaUtil_SetDebugPrintFunction @55
|
||||||
|
@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_GetDeviceDefaultFormat @56
|
||||||
|
@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_GetDeviceRole @57
|
||||||
|
@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_ThreadPriorityBoost @58
|
||||||
|
@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_ThreadPriorityRevert @59
|
||||||
|
@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_GetFramesPerHostBuffer @60
|
||||||
|
@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_GetJackDescription @61
|
||||||
|
@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_GetJackCount @62
|
118
3rdparty/portaudio/doc/src/mainpage.dox
vendored
118
3rdparty/portaudio/doc/src/mainpage.dox
vendored
@ -1,60 +1,60 @@
|
|||||||
/* doxygen index page */
|
/* doxygen index page */
|
||||||
/** @mainpage
|
/** @mainpage
|
||||||
|
|
||||||
@section overview Overview
|
@section overview Overview
|
||||||
|
|
||||||
PortAudio is a cross-platform, open-source C language library for real-time audio input and output. The library provides functions that allow your software to acquire and output real-time audio streams from your computer's hardware audio interfaces. It is designed to simplify writing cross-platform audio applications, and also to simplify the development of audio software in general by hiding the complexities of dealing directly with each native audio API. PortAudio is used to implement sound recording, editing and mixing applications, software synthesizers, effects processors, music players, internet telephony applications, software defined radios and more. Supported platforms include MS Windows, Mac OS X and Linux. Third-party language bindings make it possible to call PortAudio from other programming languages including C++, C#, Python, PureBasic, FreePascal and Lazarus.
|
PortAudio is a cross-platform, open-source C language library for real-time audio input and output. The library provides functions that allow your software to acquire and output real-time audio streams from your computer's hardware audio interfaces. It is designed to simplify writing cross-platform audio applications, and also to simplify the development of audio software in general by hiding the complexities of dealing directly with each native audio API. PortAudio is used to implement sound recording, editing and mixing applications, software synthesizers, effects processors, music players, internet telephony applications, software defined radios and more. Supported platforms include MS Windows, Mac OS X and Linux. Third-party language bindings make it possible to call PortAudio from other programming languages including C++, C#, Python, PureBasic, FreePascal and Lazarus.
|
||||||
|
|
||||||
|
|
||||||
@section start_here Start here
|
@section start_here Start here
|
||||||
|
|
||||||
- @ref api_overview<br>
|
- @ref api_overview<br>
|
||||||
A top-down view of the PortAudio API, its capabilities, functions and data structures
|
A top-down view of the PortAudio API, its capabilities, functions and data structures
|
||||||
|
|
||||||
- <a href="http://www.portaudio.com/trac/wiki/TutorialDir/TutorialStart">PortAudio Tutorials</a><br>
|
- @ref tutorial_start<br>
|
||||||
Get started writing code with PortAudio tutorials
|
Get started writing code with PortAudio tutorials
|
||||||
|
|
||||||
- @ref examples_src "Examples"<br>
|
- @ref examples_src "Examples"<br>
|
||||||
Simple example programs demonstrating PortAudio usage
|
Simple example programs demonstrating PortAudio usage
|
||||||
|
|
||||||
- @ref License<br>
|
- @ref License<br>
|
||||||
PortAudio is licenced under the MIT Expat open source licence. We make a non-binding request for you to contribute your changes back to the project.
|
PortAudio is licenced under the MIT Expat open source licence. We make a non-binding request for you to contribute your changes back to the project.
|
||||||
|
|
||||||
|
|
||||||
@section reference API Reference
|
@section reference API Reference
|
||||||
|
|
||||||
- portaudio.h Portable API<br>
|
- portaudio.h Portable API<br>
|
||||||
Detailed documentation for each portable API function and data type
|
Detailed documentation for each portable API function and data type
|
||||||
|
|
||||||
- @ref public_header "Host API Specific Extensions"<br>
|
- @ref public_header "Host API Specific Extensions"<br>
|
||||||
Documentation for non-portable platform-specific host API extensions
|
Documentation for non-portable platform-specific host API extensions
|
||||||
|
|
||||||
|
|
||||||
@section resources Resources
|
@section resources Resources
|
||||||
|
|
||||||
- <a href="http://www.portaudio.com">The PortAudio website</a>
|
- <a href="http://www.portaudio.com">The PortAudio website</a>
|
||||||
|
|
||||||
- <a href="http://music.columbia.edu/mailman/listinfo/portaudio/">Our mailing list for users and developers</a><br>
|
- <a href="http://music.columbia.edu/mailman/listinfo/portaudio/">Our mailing list for users and developers</a><br>
|
||||||
|
|
||||||
- <a href="http://www.portaudio.com/trac">The PortAudio wiki</a>
|
- <a href="http://www.assembla.com/spaces/portaudio/wiki">The PortAudio wiki</a>
|
||||||
|
|
||||||
|
|
||||||
@section developer_resources Developer Resources
|
@section developer_resources Developer Resources
|
||||||
|
|
||||||
@if INTERNAL
|
@if INTERNAL
|
||||||
- @ref srcguide
|
- @ref srcguide
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
- <a href="http://www.portaudio.com/trac">Our Trac wiki and issue tracking system</a>
|
- <a href="http://www.assembla.com/spaces/portaudio/wiki">Our wiki and issue tracking system</a>
|
||||||
|
|
||||||
- <a href="http://www.portaudio.com/docs/proposals/014-StyleGuide.html">Coding guidelines</a>
|
- <a href="http://www.portaudio.com/docs/proposals/014-StyleGuide.html">Coding guidelines</a>
|
||||||
|
|
||||||
If you're interested in helping out with PortAudio development we're more than happy for you to be involved. Just drop by the PortAudio mailing list and ask how you can help. Or <a href="http://www.portaudio.com/trac/report/3">check out the starter tickets in Trac</a>.
|
If you're interested in helping out with PortAudio development we're more than happy for you to be involved. Just drop by the PortAudio mailing list and ask how you can help. Or <a href="http://www.assembla.com/spaces/portaudio/tickets">check out the starter tickets</a>.
|
||||||
|
|
||||||
|
|
||||||
@section older_api_versions Older API Versions
|
@section older_api_versions Older API Versions
|
||||||
|
|
||||||
This documentation covers the current API version: PortAudio V19, API version 2.0. API 2.0 differs in a number of ways from previous versions (most often encountered in PortAudio V18), please consult the enhancement proposals for details of what was added/changed for V19:
|
This documentation covers the current API version: PortAudio V19, API version 2.0. API 2.0 differs in a number of ways from previous versions (most often encountered in PortAudio V18), please consult the enhancement proposals for details of what was added/changed for V19:
|
||||||
http://www.portaudio.com/docs/proposals/index.html
|
http://www.portaudio.com/docs/proposals/index.html
|
||||||
|
|
||||||
*/
|
*/
|
68
3rdparty/portaudio/doc/src/tutorial/blocking_read_write.dox
vendored
Normal file
68
3rdparty/portaudio/doc/src/tutorial/blocking_read_write.dox
vendored
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
/** @page blocking_read_write Blocking Read/Write Functions
|
||||||
|
@ingroup tutorial
|
||||||
|
|
||||||
|
PortAudio V19 adds a huge advance over previous versions with a feature called Blocking I/O. Although it may have lower performance that the callback method described earlier in this tutorial, blocking I/O is easier to understand and is, in some cases, more compatible with third party systems than the callback method. Most people starting audio programming also find Blocking I/O easier to learn.
|
||||||
|
|
||||||
|
Blocking I/O works in much the same way as the callback method except that instead of providing a function to provide (or consume) audio data, you must feed data to (or consume data from) PortAudio at regular intervals, usually inside a loop. The example below, excepted from patest_read_write_wire.c, shows how to open the default device, and pass data from its input to its output for a set period of time. Note that we use the default high latency values to help avoid underruns since we are usually reading and writing audio data from a relatively low priority thread, and there is usually extra buffering required to make blocking I/O work.
|
||||||
|
|
||||||
|
Note that not all API's implement Blocking I/O at this point, so for maximum portability or performance, you'll still want to use callbacks.
|
||||||
|
|
||||||
|
@code
|
||||||
|
/* -- initialize PortAudio -- */
|
||||||
|
err = Pa_Initialize();
|
||||||
|
if( err != paNoError ) goto error;
|
||||||
|
|
||||||
|
/* -- setup input and output -- */
|
||||||
|
inputParameters.device = Pa_GetDefaultInputDevice(); /* default input device */
|
||||||
|
inputParameters.channelCount = NUM_CHANNELS;
|
||||||
|
inputParameters.sampleFormat = PA_SAMPLE_TYPE;
|
||||||
|
inputParameters.suggestedLatency = Pa_GetDeviceInfo( inputParameters.device )->defaultHighInputLatency ;
|
||||||
|
inputParameters.hostApiSpecificStreamInfo = NULL;
|
||||||
|
|
||||||
|
outputParameters.device = Pa_GetDefaultOutputDevice(); /* default output device */
|
||||||
|
outputParameters.channelCount = NUM_CHANNELS;
|
||||||
|
outputParameters.sampleFormat = PA_SAMPLE_TYPE;
|
||||||
|
outputParameters.suggestedLatency = Pa_GetDeviceInfo( outputParameters.device )->defaultHighOutputLatency;
|
||||||
|
outputParameters.hostApiSpecificStreamInfo = NULL;
|
||||||
|
|
||||||
|
/* -- setup stream -- */
|
||||||
|
err = Pa_OpenStream(
|
||||||
|
&stream,
|
||||||
|
&inputParameters,
|
||||||
|
&outputParameters,
|
||||||
|
SAMPLE_RATE,
|
||||||
|
FRAMES_PER_BUFFER,
|
||||||
|
paClipOff, /* we won't output out of range samples so don't bother clipping them */
|
||||||
|
NULL, /* no callback, use blocking API */
|
||||||
|
NULL ); /* no callback, so no callback userData */
|
||||||
|
if( err != paNoError ) goto error;
|
||||||
|
|
||||||
|
/* -- start stream -- */
|
||||||
|
err = Pa_StartStream( stream );
|
||||||
|
if( err != paNoError ) goto error;
|
||||||
|
printf("Wire on. Will run one minute.\n"); fflush(stdout);
|
||||||
|
|
||||||
|
/* -- Here's the loop where we pass data from input to output -- */
|
||||||
|
for( i=0; i<(60*SAMPLE_RATE)/FRAMES_PER_BUFFER; ++i )
|
||||||
|
{
|
||||||
|
err = Pa_WriteStream( stream, sampleBlock, FRAMES_PER_BUFFER );
|
||||||
|
if( err ) goto xrun;
|
||||||
|
err = Pa_ReadStream( stream, sampleBlock, FRAMES_PER_BUFFER );
|
||||||
|
if( err ) goto xrun;
|
||||||
|
}
|
||||||
|
/* -- Now we stop the stream -- */
|
||||||
|
err = Pa_StopStream( stream );
|
||||||
|
if( err != paNoError ) goto error;
|
||||||
|
|
||||||
|
/* -- don't forget to cleanup! -- */
|
||||||
|
err = Pa_CloseStream( stream );
|
||||||
|
if( err != paNoError ) goto error;
|
||||||
|
|
||||||
|
Pa_Terminate();
|
||||||
|
return 0;
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
|
||||||
|
Previous: \ref querying_devices | Next: \ref exploring
|
||||||
|
|
||||||
|
*/
|
29
3rdparty/portaudio/doc/src/tutorial/compile_cmake.dox
vendored
Normal file
29
3rdparty/portaudio/doc/src/tutorial/compile_cmake.dox
vendored
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
/** @page compile_cmake Creating MSVC Build Files via CMake
|
||||||
|
@ingroup tutorial
|
||||||
|
|
||||||
|
This is a simple "How-to" for creating build files for Microsoft Visual C++ via CMake and the CMakeLists.txt file
|
||||||
|
|
||||||
|
1. Install CMake if you haven't got it already ([http://www.cmake.org], minimum version required is 2.8).
|
||||||
|
|
||||||
|
2. If you want ASIO support you need to D/L the ASIO2 SDK from Steinberg, and place it according to \ref compile_windows_asio_msvc
|
||||||
|
|
||||||
|
3. Run the CMake GUI application and browse to <b>source files</b> directory and <b>build</b> directory:
|
||||||
|
a. The <b>source files</b> directory (<i>"Where is the source code"</i>) is where the portaudio CMakeLists.txt file is located.
|
||||||
|
b. The <b>build</b> directory (<i>"Where to build the binaries"</i>) is pretty much anywhere you like. A common practice though is to have the build directory located <b>outside</b> the
|
||||||
|
source files tree (a so called "out-of-source build")
|
||||||
|
|
||||||
|
4. Click <i>Configure</i>. This will prompt you to select which build files to generate. <b>Note</b> Only Microsoft Visual C++ build files currently supported!
|
||||||
|
|
||||||
|
5. In the CMake option list, enable the PORTAUDIO_xxx options you need, then click <i>Configure</i> again (Note that after this there are no options marked with red color)
|
||||||
|
|
||||||
|
6. Click <i>Generate</i> and you'll now (hopefully) have your VS build files in your previously defined <b>build</b> directory.
|
||||||
|
|
||||||
|
Both ASIO and DirectX SDK are automatically searched for by the CMake script, so if you have DirectX SDK installed and have placed the ASIO2 SDK according to point 2 above, you should be able to build portaudio with !DirectSound and ASIO support.
|
||||||
|
|
||||||
|
Should you later on decide to change a portaudio option, just jump in at step 5 above (MSVC will then prompt you to reload projects/solutions/workspace)
|
||||||
|
|
||||||
|
--- Robert Bielik
|
||||||
|
|
||||||
|
Back to the Tutorial: \ref tutorial_start
|
||||||
|
|
||||||
|
*/
|
77
3rdparty/portaudio/doc/src/tutorial/compile_linux.dox
vendored
Normal file
77
3rdparty/portaudio/doc/src/tutorial/compile_linux.dox
vendored
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
/** @page compile_linux Building Portaudio for Linux
|
||||||
|
@ingroup tutorial
|
||||||
|
|
||||||
|
<i>Note: this page has not been reviewed, and may contain errors.</i>
|
||||||
|
|
||||||
|
@section comp_linux1 Installing ALSA Development Kit
|
||||||
|
|
||||||
|
The OSS sound API is very old and not well supported. It is recommended that you use the ALSA sound API.
|
||||||
|
The PortAudio configure script will look for the ALSA SDK. You can install the ALSA SDK on Ubuntu using:
|
||||||
|
|
||||||
|
@code
|
||||||
|
sudo apt-get install libasound-dev
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
You might need to use yum, or some other package manager, instead of apt-get on your machine.
|
||||||
|
If you do not install ALSA then you might get a message when testing that says you have no audio devices.
|
||||||
|
|
||||||
|
You can find out more about ALSA here: http://www.alsa-project.org/
|
||||||
|
|
||||||
|
@section comp_linux2 Configuring and Compiling PortAudio
|
||||||
|
|
||||||
|
You can build PortAudio in Linux Environments using the standard configure/make tools:
|
||||||
|
|
||||||
|
@code
|
||||||
|
./configure && make
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
That will build PortAudio using Jack, ALSA and OSS in whatever combination they are found on your system. For example, if you have Jack and OSS but not ALSA, it will build using Jack and OSS but not ALSA. This step also builds a number of tests, which can be found in the bin directory of PortAudio. It's a good idea to run some of these tests to make sure PortAudio is working correctly.
|
||||||
|
|
||||||
|
@section comp_linux3 Using PortAudio in your Projects
|
||||||
|
|
||||||
|
To use PortAudio in your apps, you can simply install the .so files:
|
||||||
|
|
||||||
|
@code
|
||||||
|
make install
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
Projects built this way will expect PortAudio to be installed on target systems in order to run. If you want to build a more self-contained binary, you may use the libportaudio.a file:
|
||||||
|
|
||||||
|
@code
|
||||||
|
cp lib/.libs/libportaudio.a /YOUR/PROJECT/DIR
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
You may also need to copy portaudio.h, located in the include/ directory of PortAudio into your project. Note that you will usually need to link with the approriate libraries that you used, such as ALSA and JACK, as well as with librt and libpthread. For example:
|
||||||
|
|
||||||
|
@code
|
||||||
|
gcc -lrt -lasound -ljack -lpthread -o YOUR_BINARY main.c libportaudio.a
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
@section comp_linux4 Linux Extensions
|
||||||
|
|
||||||
|
Note that the ALSA PortAudio back-end adds a few extensions to the standard API that you may take advantage of. To use these functions be sure to include the pa_linux_alsa.h file found in the include file in the PortAudio folder. This file contains further documentation on the following functions:
|
||||||
|
|
||||||
|
PaAlsaStreamInfo/PaAlsa_InitializeStreamInfo::
|
||||||
|
Objects of the !PaAlsaStreamInfo type may be used for the !hostApiSpecificStreamInfo attribute of a !PaStreamParameters object, in order to specify the name of an ALSA device to open directly. Specify the device via !PaAlsaStreamInfo.deviceString, after initializing the object with PaAlsa_InitializeStreamInfo.
|
||||||
|
|
||||||
|
PaAlsa_EnableRealtimeScheduling::
|
||||||
|
PA ALSA supports real-time scheduling of the audio callback thread (using the FIFO pthread scheduling policy), via the extension PaAlsa_EnableRealtimeScheduling. Call this on the stream before starting it with the <i>enableScheduling</i> parameter set to true or false, to enable or disable this behaviour respectively.
|
||||||
|
|
||||||
|
PaAlsa_GetStreamInputCard::
|
||||||
|
Use this function to get the ALSA-lib card index of the stream's input device.
|
||||||
|
|
||||||
|
PaAlsa_GetStreamOutputCard::
|
||||||
|
Use this function to get the ALSA-lib card index of the stream's output device.
|
||||||
|
|
||||||
|
Of particular importance is PaAlsa_EnableRealtimeScheduling, which allows ALSA to run at a high priority to prevent ordinary processes on the system from preempting audio playback. Without this, low latency audio playback will be irregular and will contain frequent drop-outs.
|
||||||
|
|
||||||
|
@section comp_linux5 Linux Debugging
|
||||||
|
|
||||||
|
Eliot Blennerhassett writes:
|
||||||
|
|
||||||
|
On linux build, use e.g. "libtool gdb bin/patest_sine8" to debug that program.
|
||||||
|
This is because on linux bin/patest_sine8 is a libtool shell script that wraps
|
||||||
|
bin/.libs/patest_sine8 and allows it to find the appropriate libraries within
|
||||||
|
the build tree.
|
||||||
|
|
||||||
|
*/
|
121
3rdparty/portaudio/doc/src/tutorial/compile_mac_coreaudio.dox
vendored
Normal file
121
3rdparty/portaudio/doc/src/tutorial/compile_mac_coreaudio.dox
vendored
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
/** @page compile_mac_coreaudio Building Portaudio for Mac OS X
|
||||||
|
@ingroup tutorial
|
||||||
|
|
||||||
|
@section comp_mac_ca_1 Requirements
|
||||||
|
|
||||||
|
* OS X 10.4 or later. PortAudio v19 currently only compiles and runs on OS X version 10.4 or later. Because of its heavy reliance on memory barriers, it's not clear how easy it would be to back-port PortAudio to OS X version 10.3. Leopard support requires the 2007 snapshot or later.
|
||||||
|
|
||||||
|
* Apple's Xcode and its related tools installed in the default location. There is no Xcode project for PortAudio.
|
||||||
|
|
||||||
|
* Mac 10.4 SDK. Look for "/Developer/SDKs/MacOSX10.4u.sdk" folder on your system. It may be installed with XCode. If not then you can download it from Apple Developer Connection. http://connect.apple.com/
|
||||||
|
|
||||||
|
@section comp_mac_ca_2 Building
|
||||||
|
|
||||||
|
To build PortAudio, simply use the Unix-style "./configure && make":
|
||||||
|
|
||||||
|
@code
|
||||||
|
./configure && make
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
You do <b>not</b> need to do "make install", and we don't recommend it; however, you may be using software that instructs you to do so, in which case you should follow those instructions. (Note from Phil: I had to do "sudo make install" after the command above, otherwise XCode complained that it could not find "/usr/local/lib/libportaudio.dylib" when I compiled an example.)
|
||||||
|
|
||||||
|
The result of these steps will be a file named "libportaudio.dylib" in the directory "usr/local/lib/".
|
||||||
|
|
||||||
|
By default, this will create universal binaries and therefore requires the Universal SDK from Apple, included with XCode 2.1 and higher.
|
||||||
|
|
||||||
|
@section comp_mac_ca_3 Other Build Options
|
||||||
|
|
||||||
|
There are a variety of other options for building PortAudio. The default described above is recommended as it is the most supported and tested; however, your needs may differ and require other options, which are described below.
|
||||||
|
|
||||||
|
@subsection comp_mac_ca_3.1 Building Non-Universal Libraries
|
||||||
|
|
||||||
|
By default, PortAudio is built as a universal binary. This includes 64-bit versions if you are compiling on 10.5, Leopard. If you want a "thin", or single architecture library, you have two options:
|
||||||
|
|
||||||
|
* build a non-universal library using configure options.
|
||||||
|
* use lipo(1) on whatever part of the library you plan to use.
|
||||||
|
|
||||||
|
Note that the first option may require an extremely recent version of PortAudio (February 5th '08 at least).
|
||||||
|
|
||||||
|
@subsection comp_mac_ca_3.2 Building with <i>--disable-mac-universal</i>
|
||||||
|
|
||||||
|
To build a non-universal library for the host architecture, simply use the <i>--disable-mac-universal</i> option with configure.
|
||||||
|
|
||||||
|
@code
|
||||||
|
./configure --disable-mac-universal && make
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
The <i>--disable-mac-universal</i> option may also be used in conjunction with environment variables to give you more control over the universal binary build process. For example, to build a universal binary for the i386 and ppc architectures using the 10.4u sdk (which is the default on 10.4, but not 10.5), you might specify this configure command line:
|
||||||
|
|
||||||
|
@code
|
||||||
|
CFLAGS="-O2 -g -Wall -arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.3" \
|
||||||
|
LDFLAGS="-arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.3" \
|
||||||
|
./configure --disable-mac-universal --disable-dependency-tracking
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
For more info, see Apple's documentation on the matter:
|
||||||
|
|
||||||
|
* http://developer.apple.com/technotes/tn2005/tn2137.html
|
||||||
|
* http://developer.apple.com/documentation/Porting/Conceptual/PortingUnix/intro/chapter_1_section_1.html
|
||||||
|
|
||||||
|
@subsection comp_mac_ca_3.3 Using lipo
|
||||||
|
|
||||||
|
The second option is to build normally, and use lipo (1) to extract the architectures you want. For example, if you want a "thin", i386 library only:
|
||||||
|
|
||||||
|
@code
|
||||||
|
lipo lib/.libs/libportaudio.a -thin i386 -output libportaudio.a
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
or if you want to extract a single architecture fat file:
|
||||||
|
|
||||||
|
@code
|
||||||
|
lipo lib/.libs/libportaudio.a -extract i386 -output libportaudio.a
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
@subsection comp_mac_ca_3.4 Building With Debug Options
|
||||||
|
|
||||||
|
By default, PortAudio on the mac is built without any debugging options. This is because asserts are generally inappropriate for a production environment and debugging information has been suspected, though not proven, to cause trouble with some interfaces. If you would like to compile with debugging, you must run configure with the appropriate flags. For example:
|
||||||
|
|
||||||
|
@code
|
||||||
|
./configure --enable-mac-debug && make
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
This will enable -g and disable -DNDEBUG which will effectively enable asserts.
|
||||||
|
|
||||||
|
@section comp_mac_ca_4 Using the Library in XCode Projects
|
||||||
|
|
||||||
|
If you are planning to follow the rest of the tutorial, several project types will work. You can create a "Standard Tool" under "Command Line Utility". If you are not following the rest of the tutorial, any type of project should work with PortAudio, but these instructions may not work perfectly.
|
||||||
|
|
||||||
|
Once you've compiled PortAudio, the easiest and recommended way to use PortAudio in your XCode project is to add "<portaudio>/include/portaudio.h" and "<portaudio>/lib/.libs/libportaudio.a" to your project. Because "<portaudio>/lib/.libs/" is a hidden directory, you won't be able to navigate to it using the finder or the standard Mac OS file dialogs by clicking on files and folders. You can use command-shift-G in the finder to specify the exact path, or, from the shell, if you are in the portaudio directory, you can enter this command:
|
||||||
|
|
||||||
|
@code
|
||||||
|
open lib/.libs
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
Then drag the "libportaudio.a" file into your XCode project and place it in the "External Frameworks and Libraries" group, if the project type has it. If not you can simply add it to the top level folder of the project.
|
||||||
|
|
||||||
|
You will need to add the following frameworks to your XCode project:
|
||||||
|
|
||||||
|
- CoreAudio.framework
|
||||||
|
- AudioToolbox.framework
|
||||||
|
- AudioUnit.framework
|
||||||
|
- CoreServices.framework
|
||||||
|
|
||||||
|
@section comp_mac_ca_5 Using the Library in Other Projects
|
||||||
|
|
||||||
|
For gcc/Make style projects, include "include/portaudio.h" and link "libportaudio.a", and use the frameworks listed in the previous section. How you do so depends on your build.
|
||||||
|
|
||||||
|
@section comp_mac_ca_6 Using Mac-only Extensions to PortAudio
|
||||||
|
|
||||||
|
For additional, Mac-only extensions to the PortAudio interface, you may also want to grab "include/pa_mac_core.h". This file contains some special, mac-only features relating to sample-rate conversion, channel mapping, performance and device hogging. See "src/hostapi/coreaudio/notes.txt" for more details on these features.
|
||||||
|
|
||||||
|
@section comp_mac_ca_7 What Happened to Makefile.darwin?
|
||||||
|
|
||||||
|
Note, there used to be a special makefile just for darwin. This is no longer supported because you can build universal binaries from the standard configure routine. If you find this file in your directory structure it means you have an outdated version of PortAudio.
|
||||||
|
|
||||||
|
@code
|
||||||
|
make -f Makefile.darwin
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
Back to the Tutorial: \ref tutorial_start
|
||||||
|
|
||||||
|
*/
|
97
3rdparty/portaudio/doc/src/tutorial/compile_windows.dox
vendored
Normal file
97
3rdparty/portaudio/doc/src/tutorial/compile_windows.dox
vendored
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
/** @page compile_windows Building Portaudio for Windows using Microsoft Visual Studio
|
||||||
|
@ingroup tutorial
|
||||||
|
|
||||||
|
Below is a list of steps to build PortAudio into a dll and lib file. The resulting dll file may contain all five current win32 PortAudio APIs: MME, DirectSound, WASAPI, WDM/KS and ASIO, depending on the preprocessor definitions set in step 9 below.
|
||||||
|
|
||||||
|
PortAudio can be compiled using Visual C++ Express Edition which is available free from Microsoft. If you do not already have a C++ development environment, simply download and install. These instructions have been observed to succeed using Visual Studio 2010 as well.
|
||||||
|
|
||||||
|
1) PortAudio for Windows requires the files <i>dsound.h</i> and <i>dsconf.h</i>. Download and install the DirectX SDK from http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=3021d52b-514e-41d3-ad02-438a3ba730ba to obtain these files. If you installed the DirectX SDK then the !DirectSound libraries and header files should be found automatically by Visual !Studio/Visual C++. If you get an error saying dsound.h or dsconf.h is missing, you can declare these paths by hand. Alternatively, you can copy dsound.h and dsconf.h to portaudio\\include. There should also be a file named ''dsound.lib'' in C:\\Program Files\\Microsoft SDKs\\Windows\\v6.0A\\Lib.
|
||||||
|
|
||||||
|
2) For ASIO support, download the ASIO SDK from Steinberg at http://www.steinberg.net/en/company/developer.html. The SDK is free but you will need to set up a developer account with Steinberg. Copy the entire ASIOSDK2 folder into src\\hostapi\\asio\\. Rename it from ASIOSDK2 to ASIOSDK. To build without ASIO (or other host API) see the "Building without ASIO support" section below.
|
||||||
|
|
||||||
|
3) If you have Visual Studio 6.0, 7.0(VC.NET/2001) or 7.1(VC.2003), open portaudio.dsp and convert if needed.
|
||||||
|
|
||||||
|
4) If you have Visual Studio 2005, Visual C++ 2008 Express Edition or Visual Studio 2010, double click the portaudio.sln file located in build\\msvc\\. Doing so will open Visual Studio or Visual C++. Click "Finish" if a wizard appears. The sln file contains four configurations: Win32 and Win64 in both Release and Debug variants.
|
||||||
|
|
||||||
|
@section comp_win1 For Visual Studio 2005, Visual C++ 2008 Express Edition or Visual Studio 2010
|
||||||
|
|
||||||
|
5) Open Project -> portaudio Properties and select "Configuration Properties" in the tree view.
|
||||||
|
|
||||||
|
6) Select "all configurations" in the "Configurations" combo box above. Select "All Platforms" in the "Platforms" combo box.
|
||||||
|
|
||||||
|
7) Now set a few options:
|
||||||
|
|
||||||
|
C/C++ -> Optimization -> Omit frame pointers = Yes
|
||||||
|
|
||||||
|
C/C++ -> Code Generation -> Runtime library = /MT
|
||||||
|
|
||||||
|
Optional: C/C++ -> Code Generation -> Floating point model = fast
|
||||||
|
|
||||||
|
NOTE: For most users it is not necessary to explicitly set the structure member alignment; the default should work fine. However some languages require, for example, 4-byte alignment. If you are having problems with portaudio.h structure members not being properly read or written to, it may be necessary to explicitly set this value by going to C/C++ -> Code Generation -> Struct member alignment and setting it to an appropriate value (four is a common value). If your compiler is configurable, you should ensure that it is set to use the same structure member alignment value as used for the PortAudio build.
|
||||||
|
|
||||||
|
Click "Ok" when you have finished setting these parameters.
|
||||||
|
|
||||||
|
@section comp_win2 Preprocessor Definitions
|
||||||
|
|
||||||
|
Since the preprocessor definitions are different for each configuration and platform, you'll need to edit these individually for each configuration/platform combination that you want to modify using the "Configurations" and "Platforms" combo boxes.
|
||||||
|
|
||||||
|
8) To suppress PortAudio runtime debug console output, go to Project -> Properties -> Configuration Properties -> C/C++ -> Preprocessor. In the field 'Preprocessor Definitions', find PA_ENABLE_DEBUG_OUTPUT and remove it. The console will not output debug messages.
|
||||||
|
|
||||||
|
9) Also in the preprocessor definitions you need to explicitly define the audio APIs you wish to use. For Windows the available API definitions are:
|
||||||
|
|
||||||
|
PA_USE_ASIO[[BR]]
|
||||||
|
PA_USE_DS (DirectSound)[[BR]]
|
||||||
|
PA_USE_WMME (MME)[[BR]]
|
||||||
|
PA_USE_WASAPI[[BR]]
|
||||||
|
PA_USE_WDMKS[[BR]]
|
||||||
|
PA_USE_SKELETON
|
||||||
|
|
||||||
|
For each of these, the value of 0 indicates that support for this API should not be included. The value 1 indicates that support for this API should be included.
|
||||||
|
|
||||||
|
@section comp_win3 Building
|
||||||
|
|
||||||
|
As when setting Preprocessor definitions, building is a per-configuration per-platform process. Follow these instructions for each configuration/platform combination that you're interested in.
|
||||||
|
|
||||||
|
10) From the Build menu click Build -> Build solution. For 32-bit compilations, the dll file created by this process (portaudio_x86.dll) can be found in the directory build\\msvc\\Win32\\Release. For 64-bit compilations, the dll file is called portaudio_x64.dll, and is found in the directory build\\msvc\\x64\\Release.
|
||||||
|
|
||||||
|
11) Now, any project which requires portaudio can be linked with portaudio_x86.lib (or _x64) and include the relevant headers (portaudio.h, and/or pa_asio.h , pa_x86_plain_converters.h) You may want to add/remove some DLL entry points. Right now those 6 entries are not from portaudio.h:
|
||||||
|
|
||||||
|
(from portaudio.def)
|
||||||
|
@code
|
||||||
|
...
|
||||||
|
PaAsio_GetAvailableLatencyValues @50
|
||||||
|
PaAsio_ShowControlPanel @51
|
||||||
|
PaUtil_InitializeX86PlainConverters @52
|
||||||
|
PaAsio_GetInputChannelName @53
|
||||||
|
PaAsio_GetOutputChannelName @54
|
||||||
|
PaUtil_SetLogPrintFunction @55
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
@section comp_win4 Building without ASIO support
|
||||||
|
|
||||||
|
To build PortAudio without ASIO support you need to:
|
||||||
|
|
||||||
|
1) Make sure your project doesn't try to build any ASIO SDK files. If you're using one of the shipped projects, remove the ASIO related files from the project.
|
||||||
|
|
||||||
|
2) Make sure your project doesn't try to build the PortAudio ASIO implementation files:
|
||||||
|
|
||||||
|
src\\hostapi\\pa_asio.cpp src\\hostapi\\iasiothiscallresolver.cpp
|
||||||
|
|
||||||
|
If you're using one of the shipped projects, remove them from the project.
|
||||||
|
|
||||||
|
3) Define the preprocessor symbols in the project properties as described in step 9 above. In VS2005 this can be accomplished by selecting
|
||||||
|
Project Properties -> Configuration Properties -> C/C++ -> Preprocessor -> Preprocessor Definitions. Omitting PA_USE_ASIO or setting it to 0 stops src\\os\\win\\pa_win_hostapis.c from trying to initialize the PortAudio ASIO implementation.
|
||||||
|
|
||||||
|
4) Remove PaAsio_* entry points from portaudio.def
|
||||||
|
|
||||||
|
|
||||||
|
-----
|
||||||
|
David Viens, davidv@plogue.com
|
||||||
|
|
||||||
|
Updated by Chris on 5/26/2011
|
||||||
|
|
||||||
|
Improvements by John Clements on 12/15/2011
|
||||||
|
|
||||||
|
Back to the Tutorial: \ref tutorial_start
|
||||||
|
|
||||||
|
*/
|
95
3rdparty/portaudio/doc/src/tutorial/compile_windows_asio_msvc.dox
vendored
Normal file
95
3rdparty/portaudio/doc/src/tutorial/compile_windows_asio_msvc.dox
vendored
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
/** @page compile_windows_asio_msvc Building Portaudio for Windows with ASIO support using MSVC
|
||||||
|
@ingroup tutorial
|
||||||
|
|
||||||
|
@section comp_win_asiomsvc1 Portaudio Windows ASIO with MSVC
|
||||||
|
|
||||||
|
This tutorial describes how to build PortAudio with ASIO support using MSVC *from scratch*, without an existing Visual Studio project. For instructions for building PortAudio (including ASIO support) using the bundled Visual Studio project file see the compiling instructions for \ref compile_windows.
|
||||||
|
|
||||||
|
ASIO is a low latency audio API from Steinberg. To compile an ASIO
|
||||||
|
application, you must first download the ASIO SDK from Steinberg. You also
|
||||||
|
need to obtain ASIO drivers for your audio device. Download the ASIO SDK from Steinberg at http://www.steinberg.net/en/company/developer.html. The SDK is free but you will need to set up a developer account with Steinberg.
|
||||||
|
|
||||||
|
This tutorial assumes that you have 3 directories set up at the same level (side by side), one containing PortAudio, one containing the ASIO SDK and one containing your Visual Studio project:
|
||||||
|
|
||||||
|
@code
|
||||||
|
/ASIOSDK2
|
||||||
|
/portaudio
|
||||||
|
/DirContainingYourVisualStudioProject
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
First, make sure that the Steinberg SDK and the portaudio files are "side by side" in the same directory.
|
||||||
|
|
||||||
|
Open Microsoft Visual C++ and create a new blank Console exe Project/Workspace in that same directory.
|
||||||
|
|
||||||
|
For example, the paths for all three groups might read like this:
|
||||||
|
|
||||||
|
@code
|
||||||
|
C:\Program Files\Microsoft Visual Studio\VC98\My Projects\ASIOSDK2
|
||||||
|
C:\Program Files\Microsoft Visual Studio\VC98\My Projects\portaudio
|
||||||
|
C:\Program Files\Microsoft Visual Studio\VC98\My Projects\Sawtooth
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
|
||||||
|
Next, add the following Steinberg ASIO SDK files to the project Source Files:
|
||||||
|
|
||||||
|
@code
|
||||||
|
asio.cpp (ASIOSDK2\common)
|
||||||
|
asiodrivers.cpp (ASIOSDK2\host)
|
||||||
|
asiolist.cpp (ASIOSDK2\host\pc)
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
|
||||||
|
Then, add the following PortAudio files to the project Source Files:
|
||||||
|
|
||||||
|
@code
|
||||||
|
pa_asio.cpp (portaudio\src\hostapi\asio)
|
||||||
|
pa_allocation.c (portaudio\src\common)
|
||||||
|
pa_converters.c (portaudio\src\common)
|
||||||
|
pa_cpuload.c (portaudio\src\common)
|
||||||
|
pa_dither.c (portaudio\src\common)
|
||||||
|
pa_front.c (portaudio\src\common)
|
||||||
|
pa_process.c (portaudio\src\common)
|
||||||
|
pa_ringbuffer.c (portaudio\src\common)
|
||||||
|
pa_stream.c (portaudio\src\common)
|
||||||
|
pa_trace.c (portaudio\src\common)
|
||||||
|
pa_win_hostapis.c (portaudio\src\os\win)
|
||||||
|
pa_win_util.c (portaudio\src\os\win)
|
||||||
|
pa_win_waveformat.c (portaudio\src\os\win)
|
||||||
|
pa_x86_plain_converters.c (portaudio\src\os\win)
|
||||||
|
patest_saw.c (portaudio\test) (Or another file containing main()
|
||||||
|
for the console exe to be built.)
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
|
||||||
|
Although not strictly necessary, you may also want to add the following files to the project Header Files:
|
||||||
|
|
||||||
|
@code
|
||||||
|
portaudio.h (portaudio\include)
|
||||||
|
pa_asio.h (portaudio\include)
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
These header files define the interfaces to the PortAudio API.
|
||||||
|
|
||||||
|
|
||||||
|
Next, go to Project Settings > All Configurations > C/C++ > Preprocessor > Preprocessor definitions and add
|
||||||
|
PA_USE_ASIO=1 to any entries that might be there.
|
||||||
|
|
||||||
|
eg: WIN32;_CONSOLE;_MBCS changes to WIN32;_CONSOLE,_MBCS;PA_USE_ASIO=1
|
||||||
|
|
||||||
|
Then, on the same Project Settings tab, go down to Additional include directories: and enter the following relative include paths.
|
||||||
|
|
||||||
|
@code
|
||||||
|
..\portaudio\include,..\portaudio\src\common,..\asiosdk2\common,..\asiosdk2\host,..\asiosdk2\host\pc
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
You'll need to make sure the relative paths are correct for the particular directory layout you're using. The above should work fine if you use the side-by-side layout we recommended earlier.
|
||||||
|
|
||||||
|
You should now be able to build any of the test executables in the portaudio\test directory.
|
||||||
|
We suggest that you start with patest_saw.c because it's one of the simplest test files.
|
||||||
|
|
||||||
|
--- Chris Share, Tom McCandless, Ross Bencina
|
||||||
|
|
||||||
|
[wiki:UsingThePortAudioSvnRepository SVN instructions]
|
||||||
|
Back to the Tutorial: \ref tutorial_start
|
||||||
|
|
||||||
|
*/
|
53
3rdparty/portaudio/doc/src/tutorial/compile_windows_mingw.dox
vendored
Normal file
53
3rdparty/portaudio/doc/src/tutorial/compile_windows_mingw.dox
vendored
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
/** @page compile_windows_mingw Building Portaudio for Windows with MinGW
|
||||||
|
@ingroup tutorial
|
||||||
|
|
||||||
|
@section comp_mingw1 Portaudio for Windows With MinGW
|
||||||
|
|
||||||
|
<i>The following document is still being reviewed</i>
|
||||||
|
|
||||||
|
= MinGW/MSYS =
|
||||||
|
|
||||||
|
From the [http://www.mingw.org MinGW projectpage]:
|
||||||
|
|
||||||
|
MinGW: A collection of freely available and freely distributable
|
||||||
|
Windows specific header files and import libraries, augmenting
|
||||||
|
the GNU Compiler Collection, (GCC), and its associated
|
||||||
|
tools, (GNU binutils). MinGW provides a complete Open Source
|
||||||
|
programming tool set which is suitable for the development of
|
||||||
|
native Windows programs that do not depend on any 3rd-party C
|
||||||
|
runtime DLLs.
|
||||||
|
|
||||||
|
MSYS: A Minimal SYStem providing a POSIX compatible Bourne shell
|
||||||
|
environment, with a small collection of UNIX command line
|
||||||
|
tools. Primarily developed as a means to execute the configure
|
||||||
|
scripts and Makefiles used to build Open Source software, but
|
||||||
|
also useful as a general purpose command line interface to
|
||||||
|
replace Windows cmd.exe.
|
||||||
|
|
||||||
|
MinGW provides a compiler/linker toolchain while MSYS is required
|
||||||
|
to actually run the PortAudio configure script.
|
||||||
|
|
||||||
|
Once MinGW and MSYS are installed (see the [http://www.mingw.org/MinGWiki MinGW-Wiki]) open an MSYS shell and run the famous:
|
||||||
|
|
||||||
|
@code
|
||||||
|
./configure
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
The above should create a working version though you might want to
|
||||||
|
provide '--prefix=<path-to-install-dir>' to configure.
|
||||||
|
|
||||||
|
'./configure --help' gives details as to what can be tinkered with.
|
||||||
|
|
||||||
|
--- Mikael Magnusson
|
||||||
|
|
||||||
|
To update your copy or check out a fresh copy of the source
|
||||||
|
|
||||||
|
[wiki:UsingThePortAudioSvnRepository SVN instructions]
|
||||||
|
|
||||||
|
--- Bob !McGwier
|
||||||
|
|
||||||
|
Back to the Tutorial: \ref tutorial_start
|
||||||
|
|
||||||
|
*/
|
15
3rdparty/portaudio/doc/src/tutorial/exploring.dox
vendored
Normal file
15
3rdparty/portaudio/doc/src/tutorial/exploring.dox
vendored
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
/** @page exploring Exploring PortAudio
|
||||||
|
@ingroup tutorial
|
||||||
|
|
||||||
|
Now that you have a good idea of how PortAudio works, you can try out the example programs. You'll find them in the examples/ directory in the PortAudio distribution.
|
||||||
|
|
||||||
|
For an example of playing a sine wave, see examples/paex_sine.c.
|
||||||
|
|
||||||
|
For an example of recording and playing back a sound, see examples/paex_record.c.
|
||||||
|
|
||||||
|
I also encourage you to examine the source for the PortAudio libraries. If you have suggestions on ways to improve them, please let us know. If you want to implement PortAudio on a new platform, please let us know as well so we can coordinate people's efforts.
|
||||||
|
|
||||||
|
|
||||||
|
Previous: \ref blocking_read_write | Next: This is the end of the tutorial.
|
||||||
|
|
||||||
|
*/
|
29
3rdparty/portaudio/doc/src/tutorial/initializing_portaudio.dox
vendored
Normal file
29
3rdparty/portaudio/doc/src/tutorial/initializing_portaudio.dox
vendored
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
/** @page initializing_portaudio Initializing PortAudio
|
||||||
|
@ingroup tutorial
|
||||||
|
|
||||||
|
@section tut_init1 Initializing PortAudio
|
||||||
|
|
||||||
|
Before making any other calls to PortAudio, you 'must' call Pa_Initialize(). This will trigger a scan of available devices which can be queried later. Like most PA functions, it will return a result of type paError. If the result is not paNoError, then an error has occurred.
|
||||||
|
@code
|
||||||
|
err = Pa_Initialize();
|
||||||
|
if( err != paNoError ) goto error;
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
You can get a text message that explains the error message by passing it to Pa_GetErrorText( err ). For Example:
|
||||||
|
|
||||||
|
@code
|
||||||
|
printf( "PortAudio error: %s\n", Pa_GetErrorText( err ) );
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
It is also important, when you are done with PortAudio, to Terminate it:
|
||||||
|
|
||||||
|
@code
|
||||||
|
err = Pa_Terminate();
|
||||||
|
if( err != paNoError )
|
||||||
|
printf( "PortAudio error: %s\n", Pa_GetErrorText( err ) );
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
|
||||||
|
Previous: \ref writing_a_callback | Next: \ref open_default_stream
|
||||||
|
|
||||||
|
*/
|
48
3rdparty/portaudio/doc/src/tutorial/open_default_stream.dox
vendored
Normal file
48
3rdparty/portaudio/doc/src/tutorial/open_default_stream.dox
vendored
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
/** @page open_default_stream Opening a Stream Using Defaults
|
||||||
|
@ingroup tutorial
|
||||||
|
|
||||||
|
The next step is to open a stream, which is similar to opening a file. You can specify whether you want audio input and/or output, how many channels, the data format, sample rate, etc. Opening a ''default'' stream means opening the default input and output devices, which saves you the trouble of getting a list of devices and choosing one from the list. (We'll see how to do that later.)
|
||||||
|
@code
|
||||||
|
#define SAMPLE_RATE (44100)
|
||||||
|
static paTestData data;
|
||||||
|
|
||||||
|
.....
|
||||||
|
|
||||||
|
PaStream *stream;
|
||||||
|
PaError err;
|
||||||
|
|
||||||
|
/* Open an audio I/O stream. */
|
||||||
|
err = Pa_OpenDefaultStream( &stream,
|
||||||
|
0, /* no input channels */
|
||||||
|
2, /* stereo output */
|
||||||
|
paFloat32, /* 32 bit floating point output */
|
||||||
|
SAMPLE_RATE,
|
||||||
|
256, /* frames per buffer, i.e. the number
|
||||||
|
of sample frames that PortAudio will
|
||||||
|
request from the callback. Many apps
|
||||||
|
may want to use
|
||||||
|
paFramesPerBufferUnspecified, which
|
||||||
|
tells PortAudio to pick the best,
|
||||||
|
possibly changing, buffer size.*/
|
||||||
|
patestCallback, /* this is your callback function */
|
||||||
|
&data ); /*This is a pointer that will be passed to
|
||||||
|
your callback*/
|
||||||
|
if( err != paNoError ) goto error;
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
The data structure and callback are described in \ref writing_a_callback.
|
||||||
|
|
||||||
|
The above example opens the stream for writing, which is sufficient for playback. It is also possible to open a stream for reading, to do recording, or both reading and writing, for simultaneous recording and playback or even real-time audio processing. If you plan to do playback and recording at the same time, open only one stream with valid input and output parameters.
|
||||||
|
|
||||||
|
There are some caveats to note about simultaneous read/write:
|
||||||
|
|
||||||
|
- Some platforms can only open a read/write stream using the same device.
|
||||||
|
- Although multiple streams can be opened, it is difficult to synchronize them.
|
||||||
|
- Some platforms don't support opening multiple streams on the same device.
|
||||||
|
- Using multiple streams may not be as well tested as other features.
|
||||||
|
- The PortAudio library calls must be made from the same thread or synchronized by the user.
|
||||||
|
|
||||||
|
|
||||||
|
Previous: \ref initializing_portaudio | Next: \ref start_stop_abort
|
||||||
|
|
||||||
|
*/
|
111
3rdparty/portaudio/doc/src/tutorial/querying_devices.dox
vendored
Normal file
111
3rdparty/portaudio/doc/src/tutorial/querying_devices.dox
vendored
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
/** @page querying_devices Enumerating and Querying PortAudio Devices
|
||||||
|
@ingroup tutorial
|
||||||
|
|
||||||
|
@section tut_query1 Querying Devices
|
||||||
|
|
||||||
|
It is often fine to use the default device as we did previously in this tutorial, but there are times when you'll want to explicitly choose the device from a list of available devices on the system. To see a working example of this, check out pa_devs.c in the tests/ directory of the PortAudio source code. To do so, you'll need to first initialize PortAudio and Query for the number of Devices:
|
||||||
|
|
||||||
|
@code
|
||||||
|
int numDevices;
|
||||||
|
|
||||||
|
numDevices = Pa_GetDeviceCount();
|
||||||
|
if( numDevices < 0 )
|
||||||
|
{
|
||||||
|
printf( "ERROR: Pa_CountDevices returned 0x%x\n", numDevices );
|
||||||
|
err = numDevices;
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
|
||||||
|
If you want to get information about each device, simply loop through as follows:
|
||||||
|
|
||||||
|
@code
|
||||||
|
const PaDeviceInfo *deviceInfo;
|
||||||
|
|
||||||
|
for( i=0; i<numDevices; i++ )
|
||||||
|
{
|
||||||
|
deviceInfo = Pa_GetDeviceInfo( i );
|
||||||
|
...
|
||||||
|
}
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
The Pa_DeviceInfo structure contains a wealth of information such as the name of the devices, the default latency associated with the devices and more. The structure ihas the following fields:
|
||||||
|
|
||||||
|
@code
|
||||||
|
int structVersion
|
||||||
|
const char * name
|
||||||
|
PaHostApiIndex hostApi
|
||||||
|
int maxInputChannels
|
||||||
|
int maxOutputChannels
|
||||||
|
PaTime defaultLowInputLatency
|
||||||
|
PaTime defaultLowOutputLatency
|
||||||
|
PaTime defaultHighInputLatency
|
||||||
|
PaTime defaultHighOutputLatency
|
||||||
|
double defaultSampleRate
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
You may notice that you can't determine, from this information alone, whether or not a particular sample rate is supported. This is because some devices support ranges of sample rates, others support, a list of sample rates, and still others support some sample rates and number of channels combinations but not others. To get around this, PortAudio offers a function for testing a particular device with a given format:
|
||||||
|
|
||||||
|
@code
|
||||||
|
const PaStreamParameters *inputParameters;
|
||||||
|
const PaStreamParameters *outputParameters;
|
||||||
|
double desiredSampleRate;
|
||||||
|
...
|
||||||
|
PaError err;
|
||||||
|
|
||||||
|
err = Pa_IsFormatSupported( inputParameters, outputParameters, desiredSampleRate );
|
||||||
|
if( err == paFormatIsSupported )
|
||||||
|
{
|
||||||
|
printf( "Hooray!\n");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("Too Bad.\n");
|
||||||
|
}
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
Filling in the inputParameters and outputParameters fields is shown in a moment.
|
||||||
|
|
||||||
|
Once you've found a configuration you like, or one you'd like to go ahead and try, you can open the stream by filling in the PaStreamParameters structures, and calling Pa_OpenStream:
|
||||||
|
|
||||||
|
@code
|
||||||
|
double srate = ... ;
|
||||||
|
PaStream *stream;
|
||||||
|
unsigned long framesPerBuffer = ... ; //could be paFramesPerBufferUnspecified, in which case PortAudio will do its best to manage it for you, but, on some platforms, the framesPerBuffer will change in each call to the callback
|
||||||
|
PaStreamParameters outputParameters;
|
||||||
|
PaStreamParameters inputParameters;
|
||||||
|
|
||||||
|
bzero( &inputParameters, sizeof( inputParameters ) ); //not necessary if you are filling in all the fields
|
||||||
|
inputParameters.channelCount = inChan;
|
||||||
|
inputParameters.device = inDevNum;
|
||||||
|
inputParameters.hostApiSpecificStreamInfo = NULL;
|
||||||
|
inputParameters.sampleFormat = paFloat32;
|
||||||
|
inputParameters.suggestedLatency = Pa_GetDeviceInfo(inDevNum)->defaultLowInputLatency ;
|
||||||
|
inputParameters.hostApiSpecificStreamInfo = NULL; //See you specific host's API docs for info on using this field
|
||||||
|
|
||||||
|
|
||||||
|
bzero( &outputParameters, sizeof( outputParameters ) ); //not necessary if you are filling in all the fields
|
||||||
|
outputParameters.channelCount = outChan;
|
||||||
|
outputParameters.device = outDevNum;
|
||||||
|
outputParameters.hostApiSpecificStreamInfo = NULL;
|
||||||
|
outputParameters.sampleFormat = paFloat32;
|
||||||
|
outputParameters.suggestedLatency = Pa_GetDeviceInfo(outDevNum)->defaultLowOutputLatency ;
|
||||||
|
outputParameters.hostApiSpecificStreamInfo = NULL; //See you specific host's API docs for info on using this field
|
||||||
|
|
||||||
|
err = Pa_OpenStream(
|
||||||
|
&stream,
|
||||||
|
&inputParameters,
|
||||||
|
&outputParameters,
|
||||||
|
srate,
|
||||||
|
framesPerBuffer,
|
||||||
|
paNoFlag, //flags that can be used to define dither, clip settings and more
|
||||||
|
portAudioCallback, //your callback function
|
||||||
|
(void *)this ); //data to be passed to callback. In C++, it is frequently (void *)this
|
||||||
|
//don't forget to check errors!
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
|
||||||
|
Previous: \ref utility_functions | Next: \ref blocking_read_write
|
||||||
|
|
||||||
|
*/
|
35
3rdparty/portaudio/doc/src/tutorial/start_stop_abort.dox
vendored
Normal file
35
3rdparty/portaudio/doc/src/tutorial/start_stop_abort.dox
vendored
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
/** @page start_stop_abort Starting, Stopping and Aborting a Stream
|
||||||
|
@ingroup tutorial
|
||||||
|
|
||||||
|
@section tut_startstop1 Starting, Stopping and Aborting a Stream
|
||||||
|
|
||||||
|
PortAudio will not start playing back audio until you start the stream. After calling Pa_StartStream(), PortAudio will start calling your callback function to perform the audio processing.
|
||||||
|
|
||||||
|
@code
|
||||||
|
err = Pa_StartStream( stream );
|
||||||
|
if( err != paNoError ) goto error;
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
You can communicate with your callback routine through the data structure you passed in on the open call, or through global variables, or using other interprocess communication techniques, but please be aware that your callback function may be called at interrupt time when your foreground process is least expecting it. So avoid sharing complex data structures that are easily corrupted like double linked lists, and avoid using locks such as mutexs as this may cause your callback function to block and therefore drop audio. Such techniques may even cause deadlock on some platforms.
|
||||||
|
|
||||||
|
PortAudio will continue to call your callback and process audio until you stop the stream. This can be done in one of several ways, but, before we do so, we'll want to see that some of our audio gets processed by sleeping for a few seconds. This is easy to do with Pa_Sleep(), which is used by many of the examples in the patests/ directory for exactly this purpose. Note that, for a variety of reasons, you can not rely on this function for accurate scheduling, so your stream may not run for exactly the same amount of time as you expect, but it's good enough for our example.
|
||||||
|
|
||||||
|
@code
|
||||||
|
/* Sleep for several seconds. */
|
||||||
|
Pa_Sleep(NUM_SECONDS*1000);
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
Now we need to stop playback. There are several ways to do this, the simplest of which is to call Pa_StopStream():
|
||||||
|
|
||||||
|
@code
|
||||||
|
err = Pa_StopStream( stream );
|
||||||
|
if( err != paNoError ) goto error;
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
Pa_StopStream() is designed to make sure that the buffers you've processed in your callback are all played, which may cause some delay. Alternatively, you could call Pa_AbortStream(). On some platforms, aborting the stream is much faster and may cause some data processed by your callback not to be played.
|
||||||
|
|
||||||
|
Another way to stop the stream is to return either paComplete, or paAbort from your callback. paComplete ensures that the last buffer is played whereas paAbort stops the stream as soon as possible. If you stop the stream using this technique, you will need to call Pa_StopStream() before starting the stream again.
|
||||||
|
|
||||||
|
Previous: \ref open_default_stream | Next: \ref terminating_portaudio
|
||||||
|
|
||||||
|
*/
|
20
3rdparty/portaudio/doc/src/tutorial/terminating_portaudio.dox
vendored
Normal file
20
3rdparty/portaudio/doc/src/tutorial/terminating_portaudio.dox
vendored
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
/** @page terminating_portaudio Closing a Stream and Terminating PortAudio
|
||||||
|
@ingroup tutorial
|
||||||
|
|
||||||
|
When you are done with a stream, you should close it to free up resources:
|
||||||
|
|
||||||
|
@code
|
||||||
|
err = Pa_CloseStream( stream );
|
||||||
|
if( err != paNoError ) goto error;
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
We've already mentioned this in \ref initializing_portaudio, but in case you forgot, be sure to terminate PortAudio when you are done:
|
||||||
|
|
||||||
|
@code
|
||||||
|
err = Pa_Terminate( );
|
||||||
|
if( err != paNoError ) goto error;
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
Previous: \ref start_stop_abort | Next: \ref utility_functions
|
||||||
|
|
||||||
|
*/
|
56
3rdparty/portaudio/doc/src/tutorial/tutorial_start.dox
vendored
Normal file
56
3rdparty/portaudio/doc/src/tutorial/tutorial_start.dox
vendored
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
/** @page tutorial_start PortAudio Tutorials
|
||||||
|
@ingroup tutorial
|
||||||
|
|
||||||
|
These tutorials takes you through a hands-on example of using PortAudio to make sound. If you'd prefer to start with a top-down overview of the PortAudio API, check out the @ref api_overview.
|
||||||
|
|
||||||
|
@section tut_start1 Downloading
|
||||||
|
|
||||||
|
First thing you need to do is download the PortAudio source code either <a href="http://www.portaudio.com/download.html">as a tarball from the website</a>, or <a href="http://www.portaudio.com/usingsvn.html">from the Subversion Repository</a>.
|
||||||
|
|
||||||
|
@section tut_start2 Compiling
|
||||||
|
|
||||||
|
Once you've downloaded PortAudio you'll need to compile it, which of course, depends on your environment:
|
||||||
|
|
||||||
|
- Windows
|
||||||
|
- \ref compile_windows
|
||||||
|
- \ref compile_windows_mingw
|
||||||
|
- \ref compile_windows_asio_msvc
|
||||||
|
- \ref compile_cmake
|
||||||
|
- Mac OS X
|
||||||
|
- \ref compile_mac_coreaudio
|
||||||
|
- POSIX
|
||||||
|
- \ref compile_linux
|
||||||
|
|
||||||
|
Many platforms with GCC/make can use the simple ./configure && make combination and simply use the resulting libraries in their code.
|
||||||
|
|
||||||
|
@section tut_start3 Programming with PortAudio
|
||||||
|
|
||||||
|
Below are the steps to writing a PortAudio application:
|
||||||
|
|
||||||
|
- Write a callback function that will be called by PortAudio when audio processing is needed.
|
||||||
|
- Initialize the PA library and open a stream for audio I/O.
|
||||||
|
- Start the stream. Your callback function will be now be called repeatedly by PA in the background.
|
||||||
|
- In your callback you can read audio data from the inputBuffer and/or write data to the outputBuffer.
|
||||||
|
- Stop the stream by returning 1 from your callback, or by calling a stop function.
|
||||||
|
- Close the stream and terminate the library.
|
||||||
|
|
||||||
|
In addition to this "Callback" architecture, V19 also supports a "Blocking I/O" model which uses read and write calls which may be more familiar to non-audio programmers. Note that at this time, not all APIs support this functionality.
|
||||||
|
|
||||||
|
In this tutorial, we'll show how to use the callback architecture to play a sawtooth wave. Much of the tutorial is taken from the file paex_saw.c, which is part of the PortAudio distribution. When you're done with this tutorial, you'll be armed with the basic knowledge you need to write an audio program. If you need more sample code, look in the "examples" and "test" directory of the PortAudio distribution. Another great source of info is the portaudio.h Doxygen page, which documents the entire V19 API. Also see the page for <a href="http://www.assembla.com/spaces/portaudio/wiki/Tips">tips on programming PortAudio</a> on the PortAudio wiki.
|
||||||
|
|
||||||
|
If you are upgrading from V18, you may want to look at the <a href="http://www.portaudio.com/docs/proposals/index.html">Proposed Enhancements to PortAudio</a>, which describes the differences between V18 and V19.
|
||||||
|
|
||||||
|
- \ref writing_a_callback
|
||||||
|
- \ref initializing_portaudio
|
||||||
|
- \ref open_default_stream
|
||||||
|
- \ref start_stop_abort
|
||||||
|
- \ref terminating_portaudio
|
||||||
|
- \ref utility_functions
|
||||||
|
- \ref querying_devices
|
||||||
|
- \ref blocking_read_write
|
||||||
|
|
||||||
|
Once you have a basic understanding of how to use PortAudio, you might be interested in \ref exploring.
|
||||||
|
|
||||||
|
Next: \ref writing_a_callback
|
||||||
|
|
||||||
|
*/
|
69
3rdparty/portaudio/doc/src/tutorial/utility_functions.dox
vendored
Normal file
69
3rdparty/portaudio/doc/src/tutorial/utility_functions.dox
vendored
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
/** @page utility_functions Utility Functions
|
||||||
|
@ingroup tutorial
|
||||||
|
|
||||||
|
In addition to the functions described elsewhere in this tutorial, PortAudio provides a number of Utility functions that are useful in a variety of circumstances.
|
||||||
|
You'll want to read the portaudio.h reference, which documents the entire V19 API for details, but we'll try to cover the basics here.
|
||||||
|
|
||||||
|
@section tut_util2 Version Information
|
||||||
|
|
||||||
|
PortAudio offers two functions to determine the PortAudio Version. This is most useful when you are using PortAudio as a dynamic library, but it may also be useful at other times.
|
||||||
|
|
||||||
|
@code
|
||||||
|
int Pa_GetVersion (void)
|
||||||
|
const char * Pa_GetVersionText (void)
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
@section tut_util3 Error Text
|
||||||
|
|
||||||
|
PortAudio allows you to get error text from an error number.
|
||||||
|
|
||||||
|
@code
|
||||||
|
const char * Pa_GetErrorText (PaError errorCode)
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
@section tut_util4 Stream State
|
||||||
|
|
||||||
|
PortAudio Streams exist in 3 states: Active, Stopped, and Callback Stopped. If a stream is in callback stopped state, you'll need to stop it before you can start it again. If you need to query the state of a PortAudio stream, there are two functions for doing so:
|
||||||
|
|
||||||
|
@code
|
||||||
|
PaError Pa_IsStreamStopped (PaStream *stream)
|
||||||
|
PaError Pa_IsStreamActive (PaStream *stream)
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
@section tut_util5 Stream Info
|
||||||
|
|
||||||
|
If you need to retrieve info about a given stream, such as latency, and sample rate info, there's a function for that too:
|
||||||
|
|
||||||
|
@code
|
||||||
|
const PaStreamInfo * Pa_GetStreamInfo (PaStream *stream)
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
@section tut_util6 Stream Time
|
||||||
|
|
||||||
|
If you need to synchronise other activities such as display updates or MIDI output with the PortAudio callback you need to know the current time according to the same timebase used by the stream callback timestamps.
|
||||||
|
|
||||||
|
@code
|
||||||
|
PaTime Pa_GetStreamTime (PaStream *stream)
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
@section tut_util6CPU Usage
|
||||||
|
|
||||||
|
To determine how much CPU is being used by the callback, use these:
|
||||||
|
|
||||||
|
@code
|
||||||
|
double Pa_GetStreamCpuLoad (PaStream *stream)
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
@section tut_util7 Other utilities
|
||||||
|
|
||||||
|
These functions allow you to determine the size of a sample from its format and sleep for a given amount of time. The sleep function should not be used for precise timing or synchronization because it makes few guarantees about the exact length of time it waits. It is most useful for testing.
|
||||||
|
|
||||||
|
@code
|
||||||
|
PaError Pa_GetSampleSize (PaSampleFormat format)
|
||||||
|
void Pa_Sleep (long msec)
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
|
||||||
|
Previous: \ref terminating_portaudio | Next: \ref querying_devices
|
||||||
|
|
||||||
|
*/
|
66
3rdparty/portaudio/doc/src/tutorial/writing_a_callback.dox
vendored
Normal file
66
3rdparty/portaudio/doc/src/tutorial/writing_a_callback.dox
vendored
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
/** @page writing_a_callback Writing a Callback Function
|
||||||
|
@ingroup tutorial
|
||||||
|
|
||||||
|
To write a program using PortAudio, you must include the "portaudio.h" include file. You may wish to read "portaudio.h" because it contains a complete description of the PortAudio functions and constants. Alternatively, you could browse the [http://www.portaudio.com/docs/v19-doxydocs/portaudio_8h.html "portaudio.h" Doxygen page]
|
||||||
|
@code
|
||||||
|
#include "portaudio.h"
|
||||||
|
@endcode
|
||||||
|
The next task is to write your own "callback" function. The "callback" is a function that is called by the PortAudio engine whenever it has captured audio data, or when it needs more audio data for output.
|
||||||
|
|
||||||
|
Before we begin, it's important to realize that the callback is a delicate place. This is because some systems perform the callback in a special thread, or interrupt handler, and it is rarely treated the same as the rest of your code. In addition, if you want your audio to reach the speakers on time, you'll need to make sure whatever code you run in the callback runs quickly. What is safe or not safe will vary from platform to platform, but as a rule of thumb, don't do anything like allocating or freeing memory, reading or writing files, printf(), or anything else that might take an unbounded amount of time or rely on the OS or require a context switch. <i>Ed: is this still true?: Also do not call any PortAudio functions in the callback except for Pa_StreamTime() and Pa_GetCPULoad().</i>
|
||||||
|
|
||||||
|
Your callback function must return an int and accept the exact parameters specified in this typedef:
|
||||||
|
|
||||||
|
@code
|
||||||
|
typedef int PaStreamCallback( const void *input,
|
||||||
|
void *output,
|
||||||
|
unsigned long frameCount,
|
||||||
|
const PaStreamCallbackTimeInfo* timeInfo,
|
||||||
|
PaStreamCallbackFlags statusFlags,
|
||||||
|
void *userData ) ;
|
||||||
|
@endcode
|
||||||
|
Here is an example callback function from the test file "patests/patest_saw.c". It calculates a simple left and right sawtooth signal and writes it to the output buffer. Notice that in this example, the signals are of float data type. The signals must be between -1.0 and +1.0. You can also use 16 bit integers or other formats which are specified during setup, but floats are easiest to work with. You can pass a pointer to your data structure through PortAudio which will appear as userData.
|
||||||
|
|
||||||
|
@code
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
float left_phase;
|
||||||
|
float right_phase;
|
||||||
|
}
|
||||||
|
paTestData;
|
||||||
|
|
||||||
|
/* This routine will be called by the PortAudio engine when audio is needed.
|
||||||
|
** It may called at interrupt level on some machines so don't do anything
|
||||||
|
** that could mess up the system like calling malloc() or free().
|
||||||
|
*/
|
||||||
|
static int patestCallback( const void *inputBuffer, void *outputBuffer,
|
||||||
|
unsigned long framesPerBuffer,
|
||||||
|
const PaStreamCallbackTimeInfo* timeInfo,
|
||||||
|
PaStreamCallbackFlags statusFlags,
|
||||||
|
void *userData )
|
||||||
|
{
|
||||||
|
/* Cast data passed through stream to our structure. */
|
||||||
|
paTestData *data = (paTestData*)userData;
|
||||||
|
float *out = (float*)outputBuffer;
|
||||||
|
unsigned int i;
|
||||||
|
(void) inputBuffer; /* Prevent unused variable warning. */
|
||||||
|
|
||||||
|
for( i=0; i<framesPerBuffer; i++ )
|
||||||
|
{
|
||||||
|
*out++ = data->left_phase; /* left */
|
||||||
|
*out++ = data->right_phase; /* right */
|
||||||
|
/* Generate simple sawtooth phaser that ranges between -1.0 and 1.0. */
|
||||||
|
data->left_phase += 0.01f;
|
||||||
|
/* When signal reaches top, drop back down. */
|
||||||
|
if( data->left_phase >= 1.0f ) data->left_phase -= 2.0f;
|
||||||
|
/* higher pitch so we can distinguish left and right. */
|
||||||
|
data->right_phase += 0.03f;
|
||||||
|
if( data->right_phase >= 1.0f ) data->right_phase -= 2.0f;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
Previous: \ref tutorial_start | Next: \ref initializing_portaudio
|
||||||
|
|
||||||
|
*/
|
13
3rdparty/portaudio/include/pa_mac_core.h
vendored
13
3rdparty/portaudio/include/pa_mac_core.h
vendored
@ -124,6 +124,19 @@ AudioDeviceID PaMacCore_GetStreamOutputDevice( PaStream* s );
|
|||||||
*/
|
*/
|
||||||
const char *PaMacCore_GetChannelName( int device, int channelIndex, bool input );
|
const char *PaMacCore_GetChannelName( int device, int channelIndex, bool input );
|
||||||
|
|
||||||
|
|
||||||
|
/** Retrieve the range of legal native buffer sizes for the specificed device, in sample frames.
|
||||||
|
|
||||||
|
@param device The global index of the PortAudio device about which the query is being made.
|
||||||
|
@param minBufferSizeFrames A pointer to the location which will receive the minimum buffer size value.
|
||||||
|
@param maxBufferSizeFrames A pointer to the location which will receive the maximum buffer size value.
|
||||||
|
|
||||||
|
@see kAudioDevicePropertyBufferFrameSizeRange in the CoreAudio SDK.
|
||||||
|
*/
|
||||||
|
PaError PaMacCore_GetBufferSizeRange( PaDeviceIndex device,
|
||||||
|
long *minBufferSizeFrames, long *maxBufferSizeFrames );
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Flags
|
* Flags
|
||||||
*/
|
*/
|
||||||
|
106
3rdparty/portaudio/include/pa_win_wdmks.h
vendored
Normal file
106
3rdparty/portaudio/include/pa_win_wdmks.h
vendored
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
#ifndef PA_WIN_WDMKS_H
|
||||||
|
#define PA_WIN_WDMKS_H
|
||||||
|
/*
|
||||||
|
* $Id: pa_win_wdmks.h 1812 2012-02-14 09:32:57Z robiwan $
|
||||||
|
* PortAudio Portable Real-Time Audio Library
|
||||||
|
* WDM/KS specific extensions
|
||||||
|
*
|
||||||
|
* Copyright (c) 1999-2007 Ross Bencina and Phil Burk
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
* a copy of this software and associated documentation files
|
||||||
|
* (the "Software"), to deal in the Software without restriction,
|
||||||
|
* including without limitation the rights to use, copy, modify, merge,
|
||||||
|
* publish, distribute, sublicense, and/or sell copies of the Software,
|
||||||
|
* and to permit persons to whom the Software is furnished to do so,
|
||||||
|
* subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be
|
||||||
|
* included in all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
|
||||||
|
* ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
|
||||||
|
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||||
|
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The text above constitutes the entire PortAudio license; however,
|
||||||
|
* the PortAudio community also makes the following non-binding requests:
|
||||||
|
*
|
||||||
|
* Any person wishing to distribute modifications to the Software is
|
||||||
|
* requested to send the modifications to the original developer so that
|
||||||
|
* they can be incorporated into the canonical version. It is also
|
||||||
|
* requested that these non-binding requests be included along with the
|
||||||
|
* license above.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @file
|
||||||
|
@ingroup public_header
|
||||||
|
@brief WDM Kernel Streaming-specific PortAudio API extension header file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "portaudio.h"
|
||||||
|
|
||||||
|
#include <windows.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C"
|
||||||
|
{
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
typedef struct PaWinWDMKSInfo{
|
||||||
|
unsigned long size; /**< sizeof(PaWinWDMKSInfo) */
|
||||||
|
PaHostApiTypeId hostApiType; /**< paWDMKS */
|
||||||
|
unsigned long version; /**< 1 */
|
||||||
|
|
||||||
|
/* The number of packets to use for WaveCyclic devices, range is [2, 8]. Set to zero for default value of 2. */
|
||||||
|
unsigned noOfPackets;
|
||||||
|
} PaWinWDMKSInfo;
|
||||||
|
|
||||||
|
typedef enum PaWDMKSType
|
||||||
|
{
|
||||||
|
Type_kNotUsed,
|
||||||
|
Type_kWaveCyclic,
|
||||||
|
Type_kWaveRT,
|
||||||
|
Type_kCnt,
|
||||||
|
} PaWDMKSType;
|
||||||
|
|
||||||
|
typedef enum PaWDMKSSubType
|
||||||
|
{
|
||||||
|
SubType_kUnknown,
|
||||||
|
SubType_kNotification,
|
||||||
|
SubType_kPolled,
|
||||||
|
SubType_kCnt,
|
||||||
|
} PaWDMKSSubType;
|
||||||
|
|
||||||
|
typedef struct PaWinWDMKSDeviceInfo {
|
||||||
|
wchar_t filterPath[MAX_PATH]; /**< KS filter path in Unicode! */
|
||||||
|
wchar_t topologyPath[MAX_PATH]; /**< Topology filter path in Unicode! */
|
||||||
|
PaWDMKSType streamingType;
|
||||||
|
GUID deviceProductGuid; /**< The product GUID of the device (if supported) */
|
||||||
|
} PaWinWDMKSDeviceInfo;
|
||||||
|
|
||||||
|
typedef struct PaWDMKSDirectionSpecificStreamInfo
|
||||||
|
{
|
||||||
|
PaDeviceIndex device;
|
||||||
|
unsigned channels; /**< No of channels the device is opened with */
|
||||||
|
unsigned framesPerHostBuffer; /**< No of frames of the device buffer */
|
||||||
|
int endpointPinId; /**< Endpoint pin ID (on topology filter if topologyName is not empty) */
|
||||||
|
int muxNodeId; /**< Only valid for input */
|
||||||
|
PaWDMKSSubType streamingSubType; /**< Not known until device is opened for streaming */
|
||||||
|
} PaWDMKSDirectionSpecificStreamInfo;
|
||||||
|
|
||||||
|
typedef struct PaWDMKSSpecificStreamInfo {
|
||||||
|
PaWDMKSDirectionSpecificStreamInfo input;
|
||||||
|
PaWDMKSDirectionSpecificStreamInfo output;
|
||||||
|
} PaWDMKSSpecificStreamInfo;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
|
#endif /* PA_WIN_DS_H */
|
440
3rdparty/portaudio/src/SConscript
vendored
440
3rdparty/portaudio/src/SConscript
vendored
@ -1,220 +1,220 @@
|
|||||||
import os.path, copy, sys
|
import os.path, copy, sys
|
||||||
|
|
||||||
def checkSymbol(conf, header, library=None, symbol=None, autoAdd=True, critical=False, pkgName=None):
|
def checkSymbol(conf, header, library=None, symbol=None, autoAdd=True, critical=False, pkgName=None):
|
||||||
""" Check for symbol in library, optionally look only for header.
|
""" Check for symbol in library, optionally look only for header.
|
||||||
@param conf: Configure instance.
|
@param conf: Configure instance.
|
||||||
@param header: The header file where the symbol is declared.
|
@param header: The header file where the symbol is declared.
|
||||||
@param library: The library in which the symbol exists, if None it is taken to be the standard C library.
|
@param library: The library in which the symbol exists, if None it is taken to be the standard C library.
|
||||||
@param symbol: The symbol to look for, if None only the header will be looked up.
|
@param symbol: The symbol to look for, if None only the header will be looked up.
|
||||||
@param autoAdd: Automatically link with this library if check is positive.
|
@param autoAdd: Automatically link with this library if check is positive.
|
||||||
@param critical: Raise on error?
|
@param critical: Raise on error?
|
||||||
@param pkgName: Optional name of pkg-config entry for library, to determine build parameters.
|
@param pkgName: Optional name of pkg-config entry for library, to determine build parameters.
|
||||||
@return: True/False
|
@return: True/False
|
||||||
"""
|
"""
|
||||||
origEnv = conf.env.Copy() # Copy unmodified environment so we can restore it upon error
|
origEnv = conf.env.Copy() # Copy unmodified environment so we can restore it upon error
|
||||||
env = conf.env
|
env = conf.env
|
||||||
if library is None:
|
if library is None:
|
||||||
library = "c" # Standard library
|
library = "c" # Standard library
|
||||||
autoAdd = False
|
autoAdd = False
|
||||||
|
|
||||||
if pkgName is not None:
|
if pkgName is not None:
|
||||||
origLibs = copy.copy(env.get("LIBS", None))
|
origLibs = copy.copy(env.get("LIBS", None))
|
||||||
|
|
||||||
try: env.ParseConfig("pkg-config --silence-errors %s --cflags --libs" % pkgName)
|
try: env.ParseConfig("pkg-config --silence-errors %s --cflags --libs" % pkgName)
|
||||||
except: pass
|
except: pass
|
||||||
else:
|
else:
|
||||||
# I see no other way of checking that the parsing succeeded, if it did add no more linking parameters
|
# I see no other way of checking that the parsing succeeded, if it did add no more linking parameters
|
||||||
if env.get("LIBS", None) != origLibs:
|
if env.get("LIBS", None) != origLibs:
|
||||||
autoAdd = False
|
autoAdd = False
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if not conf.CheckCHeader(header, include_quotes="<>"):
|
if not conf.CheckCHeader(header, include_quotes="<>"):
|
||||||
raise ConfigurationError("missing header %s" % header)
|
raise ConfigurationError("missing header %s" % header)
|
||||||
if symbol is not None and not conf.CheckLib(library, symbol, language="C", autoadd=autoAdd):
|
if symbol is not None and not conf.CheckLib(library, symbol, language="C", autoadd=autoAdd):
|
||||||
raise ConfigurationError("missing symbol %s in library %s" % (symbol, library))
|
raise ConfigurationError("missing symbol %s in library %s" % (symbol, library))
|
||||||
except ConfigurationError:
|
except ConfigurationError:
|
||||||
conf.env = origEnv
|
conf.env = origEnv
|
||||||
if not critical:
|
if not critical:
|
||||||
return False
|
return False
|
||||||
raise
|
raise
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
import SCons.Errors
|
import SCons.Errors
|
||||||
|
|
||||||
# Import common variables
|
# Import common variables
|
||||||
|
|
||||||
# Could use '#' to refer to top-level SConstruct directory, but looks like env.SConsignFile doesn't interpret this at least :(
|
# Could use '#' to refer to top-level SConstruct directory, but looks like env.SConsignFile doesn't interpret this at least :(
|
||||||
sconsDir = os.path.abspath(os.path.join("build", "scons"))
|
sconsDir = os.path.abspath(os.path.join("build", "scons"))
|
||||||
|
|
||||||
try:
|
try:
|
||||||
Import("Platform", "Posix", "ConfigurationError", "ApiVer")
|
Import("Platform", "Posix", "ConfigurationError", "ApiVer")
|
||||||
except SCons.Errors.UserError:
|
except SCons.Errors.UserError:
|
||||||
# The common objects must be exported first
|
# The common objects must be exported first
|
||||||
SConscript(os.path.join(sconsDir, "SConscript_common"))
|
SConscript(os.path.join(sconsDir, "SConscript_common"))
|
||||||
Import("Platform", "Posix", "ConfigurationError", "ApiVer")
|
Import("Platform", "Posix", "ConfigurationError", "ApiVer")
|
||||||
|
|
||||||
Import("env")
|
Import("env")
|
||||||
|
|
||||||
# This will be manipulated
|
# This will be manipulated
|
||||||
env = env.Copy()
|
env = env.Copy()
|
||||||
|
|
||||||
# We operate with a set of needed libraries and optional libraries, the latter stemming from host API implementations.
|
# We operate with a set of needed libraries and optional libraries, the latter stemming from host API implementations.
|
||||||
# For libraries of both types we record a set of values that is used to look for the library in question, during
|
# For libraries of both types we record a set of values that is used to look for the library in question, during
|
||||||
# configuration. If the corresponding library for a host API implementation isn't found, the implementation is left out.
|
# configuration. If the corresponding library for a host API implementation isn't found, the implementation is left out.
|
||||||
neededLibs = []
|
neededLibs = []
|
||||||
optionalImpls = {}
|
optionalImpls = {}
|
||||||
if Platform in Posix:
|
if Platform in Posix:
|
||||||
env.Append(CPPPATH=os.path.join("os", "unix"))
|
env.Append(CPPPATH=os.path.join("os", "unix"))
|
||||||
neededLibs += [("pthread", "pthread.h", "pthread_create"), ("m", "math.h", "sin")]
|
neededLibs += [("pthread", "pthread.h", "pthread_create"), ("m", "math.h", "sin")]
|
||||||
if env["useALSA"]:
|
if env["useALSA"]:
|
||||||
optionalImpls["ALSA"] = ("asound", "alsa/asoundlib.h", "snd_pcm_open")
|
optionalImpls["ALSA"] = ("asound", "alsa/asoundlib.h", "snd_pcm_open")
|
||||||
if env["useJACK"]:
|
if env["useJACK"]:
|
||||||
optionalImpls["JACK"] = ("jack", "jack/jack.h", "jack_client_new")
|
optionalImpls["JACK"] = ("jack", "jack/jack.h", "jack_client_new")
|
||||||
if env["useOSS"]:
|
if env["useOSS"]:
|
||||||
# TODO: It looks like the prefix for soundcard.h depends on the platform
|
# TODO: It looks like the prefix for soundcard.h depends on the platform
|
||||||
optionalImpls["OSS"] = ("oss", "sys/soundcard.h", None)
|
optionalImpls["OSS"] = ("oss", "sys/soundcard.h", None)
|
||||||
if Platform == 'netbsd':
|
if Platform == 'netbsd':
|
||||||
optionalImpls["OSS"] = ("ossaudio", "sys/soundcard.h", "_oss_ioctl")
|
optionalImpls["OSS"] = ("ossaudio", "sys/soundcard.h", "_oss_ioctl")
|
||||||
if env["useASIHPI"]:
|
if env["useASIHPI"]:
|
||||||
optionalImpls["ASIHPI"] = ("hpi", "asihpi/hpi.h", "HPI_SubSysCreate")
|
optionalImpls["ASIHPI"] = ("hpi", "asihpi/hpi.h", "HPI_SubSysCreate")
|
||||||
if env["useCOREAUDIO"]:
|
if env["useCOREAUDIO"]:
|
||||||
optionalImpls["COREAUDIO"] = ("CoreAudio", "CoreAudio/CoreAudio.h", None)
|
optionalImpls["COREAUDIO"] = ("CoreAudio", "CoreAudio/CoreAudio.h", None)
|
||||||
else:
|
else:
|
||||||
raise ConfigurationError("unknown platform %s" % Platform)
|
raise ConfigurationError("unknown platform %s" % Platform)
|
||||||
|
|
||||||
if Platform == "darwin":
|
if Platform == "darwin":
|
||||||
env.Append(LINKFLAGS="-framework CoreFoundation -framework CoreServices -framework CoreAudio -framework AudioToolBox -framework AudioUnit")
|
env.Append(LINKFLAGS="-framework CoreFoundation -framework CoreServices -framework CoreAudio -framework AudioToolBox -framework AudioUnit")
|
||||||
elif Platform == "cygwin":
|
elif Platform == "cygwin":
|
||||||
env.Append(LIBS=["winmm"])
|
env.Append(LIBS=["winmm"])
|
||||||
elif Platform == "irix":
|
elif Platform == "irix":
|
||||||
neededLibs += [("audio", "dmedia/audio.h", "alOpenPort"), ("dmedia", "dmedia/dmedia.h", "dmGetUST")]
|
neededLibs += [("audio", "dmedia/audio.h", "alOpenPort"), ("dmedia", "dmedia/dmedia.h", "dmGetUST")]
|
||||||
env.Append(CPPDEFINES=["PA_USE_SGI"])
|
env.Append(CPPDEFINES=["PA_USE_SGI"])
|
||||||
|
|
||||||
def CheckCTypeSize(context, tp):
|
def CheckCTypeSize(context, tp):
|
||||||
""" Check size of C type.
|
""" Check size of C type.
|
||||||
@param context: A configuration context.
|
@param context: A configuration context.
|
||||||
@param tp: The type to check.
|
@param tp: The type to check.
|
||||||
@return: Size of type, in bytes.
|
@return: Size of type, in bytes.
|
||||||
"""
|
"""
|
||||||
context.Message("Checking the size of C type %s..." % tp)
|
context.Message("Checking the size of C type %s..." % tp)
|
||||||
ret = context.TryRun("""
|
ret = context.TryRun("""
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
printf("%%d", sizeof(%s));
|
printf("%%d", sizeof(%s));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
""" % tp, ".c")
|
""" % tp, ".c")
|
||||||
if not ret[0]:
|
if not ret[0]:
|
||||||
context.Result(" Couldn't obtain size of type %s!" % tp)
|
context.Result(" Couldn't obtain size of type %s!" % tp)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
assert ret[1]
|
assert ret[1]
|
||||||
sz = int(ret[1])
|
sz = int(ret[1])
|
||||||
context.Result("%d" % sz)
|
context.Result("%d" % sz)
|
||||||
return sz
|
return sz
|
||||||
|
|
||||||
"""
|
"""
|
||||||
if sys.byteorder == "little":
|
if sys.byteorder == "little":
|
||||||
env.Append(CPPDEFINES=["PA_LITTLE_ENDIAN"])
|
env.Append(CPPDEFINES=["PA_LITTLE_ENDIAN"])
|
||||||
elif sys.byteorder == "big":
|
elif sys.byteorder == "big":
|
||||||
env.Append(CPPDEFINES=["PA_BIG_ENDIAN"])
|
env.Append(CPPDEFINES=["PA_BIG_ENDIAN"])
|
||||||
else:
|
else:
|
||||||
raise ConfigurationError("unknown byte order: %s" % sys.byteorder)
|
raise ConfigurationError("unknown byte order: %s" % sys.byteorder)
|
||||||
"""
|
"""
|
||||||
if env["enableDebugOutput"]:
|
if env["enableDebugOutput"]:
|
||||||
env.Append(CPPDEFINES=["PA_ENABLE_DEBUG_OUTPUT"])
|
env.Append(CPPDEFINES=["PA_ENABLE_DEBUG_OUTPUT"])
|
||||||
|
|
||||||
# Start configuration
|
# Start configuration
|
||||||
|
|
||||||
# Use an absolute path for conf_dir, otherwise it gets created both relative to current directory and build directory
|
# Use an absolute path for conf_dir, otherwise it gets created both relative to current directory and build directory
|
||||||
conf = env.Configure(log_file=os.path.join(sconsDir, "sconf.log"), custom_tests={"CheckCTypeSize": CheckCTypeSize},
|
conf = env.Configure(log_file=os.path.join(sconsDir, "sconf.log"), custom_tests={"CheckCTypeSize": CheckCTypeSize},
|
||||||
conf_dir=os.path.join(sconsDir, ".sconf_temp"))
|
conf_dir=os.path.join(sconsDir, ".sconf_temp"))
|
||||||
conf.env.Append(CPPDEFINES=["SIZEOF_SHORT=%d" % conf.CheckCTypeSize("short")])
|
conf.env.Append(CPPDEFINES=["SIZEOF_SHORT=%d" % conf.CheckCTypeSize("short")])
|
||||||
conf.env.Append(CPPDEFINES=["SIZEOF_INT=%d" % conf.CheckCTypeSize("int")])
|
conf.env.Append(CPPDEFINES=["SIZEOF_INT=%d" % conf.CheckCTypeSize("int")])
|
||||||
conf.env.Append(CPPDEFINES=["SIZEOF_LONG=%d" % conf.CheckCTypeSize("long")])
|
conf.env.Append(CPPDEFINES=["SIZEOF_LONG=%d" % conf.CheckCTypeSize("long")])
|
||||||
if checkSymbol(conf, "time.h", "rt", "clock_gettime"):
|
if checkSymbol(conf, "time.h", "rt", "clock_gettime"):
|
||||||
conf.env.Append(CPPDEFINES=["HAVE_CLOCK_GETTIME"])
|
conf.env.Append(CPPDEFINES=["HAVE_CLOCK_GETTIME"])
|
||||||
if checkSymbol(conf, "time.h", symbol="nanosleep"):
|
if checkSymbol(conf, "time.h", symbol="nanosleep"):
|
||||||
conf.env.Append(CPPDEFINES=["HAVE_NANOSLEEP"])
|
conf.env.Append(CPPDEFINES=["HAVE_NANOSLEEP"])
|
||||||
if conf.CheckCHeader("sys/soundcard.h"):
|
if conf.CheckCHeader("sys/soundcard.h"):
|
||||||
conf.env.Append(CPPDEFINES=["HAVE_SYS_SOUNDCARD_H"])
|
conf.env.Append(CPPDEFINES=["HAVE_SYS_SOUNDCARD_H"])
|
||||||
if conf.CheckCHeader("linux/soundcard.h"):
|
if conf.CheckCHeader("linux/soundcard.h"):
|
||||||
conf.env.Append(CPPDEFINES=["HAVE_LINUX_SOUNDCARD_H"])
|
conf.env.Append(CPPDEFINES=["HAVE_LINUX_SOUNDCARD_H"])
|
||||||
if conf.CheckCHeader("machine/soundcard.h"):
|
if conf.CheckCHeader("machine/soundcard.h"):
|
||||||
conf.env.Append(CPPDEFINES=["HAVE_MACHINE_SOUNDCARD_H"])
|
conf.env.Append(CPPDEFINES=["HAVE_MACHINE_SOUNDCARD_H"])
|
||||||
|
|
||||||
# Look for needed libraries and link with them
|
# Look for needed libraries and link with them
|
||||||
for lib, hdr, sym in neededLibs:
|
for lib, hdr, sym in neededLibs:
|
||||||
checkSymbol(conf, hdr, lib, sym, critical=True)
|
checkSymbol(conf, hdr, lib, sym, critical=True)
|
||||||
# Look for host API libraries, if a library isn't found disable corresponding host API implementation.
|
# Look for host API libraries, if a library isn't found disable corresponding host API implementation.
|
||||||
for name, val in optionalImpls.items():
|
for name, val in optionalImpls.items():
|
||||||
lib, hdr, sym = val
|
lib, hdr, sym = val
|
||||||
if checkSymbol(conf, hdr, lib, sym, critical=False, pkgName=name.lower()):
|
if checkSymbol(conf, hdr, lib, sym, critical=False, pkgName=name.lower()):
|
||||||
conf.env.Append(CPPDEFINES=["PA_USE_%s=1" % name.upper()])
|
conf.env.Append(CPPDEFINES=["PA_USE_%s=1" % name.upper()])
|
||||||
else:
|
else:
|
||||||
del optionalImpls[name]
|
del optionalImpls[name]
|
||||||
|
|
||||||
# Configuration finished
|
# Configuration finished
|
||||||
env = conf.Finish()
|
env = conf.Finish()
|
||||||
|
|
||||||
# PA infrastructure
|
# PA infrastructure
|
||||||
CommonSources = [os.path.join("common", f) for f in "pa_allocation.c pa_converters.c pa_cpuload.c pa_dither.c pa_front.c \
|
CommonSources = [os.path.join("common", f) for f in "pa_allocation.c pa_converters.c pa_cpuload.c pa_dither.c pa_front.c \
|
||||||
pa_process.c pa_stream.c pa_trace.c pa_debugprint.c pa_ringbuffer.c".split()]
|
pa_process.c pa_stream.c pa_trace.c pa_debugprint.c pa_ringbuffer.c".split()]
|
||||||
CommonSources.append(os.path.join("hostapi", "skeleton", "pa_hostapi_skeleton.c"))
|
CommonSources.append(os.path.join("hostapi", "skeleton", "pa_hostapi_skeleton.c"))
|
||||||
|
|
||||||
# Host APIs implementations
|
# Host APIs implementations
|
||||||
ImplSources = []
|
ImplSources = []
|
||||||
if Platform in Posix:
|
if Platform in Posix:
|
||||||
ImplSources += [os.path.join("os", "unix", f) for f in "pa_unix_hostapis.c pa_unix_util.c".split()]
|
ImplSources += [os.path.join("os", "unix", f) for f in "pa_unix_hostapis.c pa_unix_util.c".split()]
|
||||||
|
|
||||||
if "ALSA" in optionalImpls:
|
if "ALSA" in optionalImpls:
|
||||||
ImplSources.append(os.path.join("hostapi", "alsa", "pa_linux_alsa.c"))
|
ImplSources.append(os.path.join("hostapi", "alsa", "pa_linux_alsa.c"))
|
||||||
if "JACK" in optionalImpls:
|
if "JACK" in optionalImpls:
|
||||||
ImplSources.append(os.path.join("hostapi", "jack", "pa_jack.c"))
|
ImplSources.append(os.path.join("hostapi", "jack", "pa_jack.c"))
|
||||||
if "OSS" in optionalImpls:
|
if "OSS" in optionalImpls:
|
||||||
ImplSources.append(os.path.join("hostapi", "oss", "pa_unix_oss.c"))
|
ImplSources.append(os.path.join("hostapi", "oss", "pa_unix_oss.c"))
|
||||||
if "ASIHPI" in optionalImpls:
|
if "ASIHPI" in optionalImpls:
|
||||||
ImplSources.append(os.path.join("hostapi", "asihpi", "pa_linux_asihpi.c"))
|
ImplSources.append(os.path.join("hostapi", "asihpi", "pa_linux_asihpi.c"))
|
||||||
if "COREAUDIO" in optionalImpls:
|
if "COREAUDIO" in optionalImpls:
|
||||||
ImplSources.append([os.path.join("hostapi", "coreaudio", f) for f in """
|
ImplSources.append([os.path.join("hostapi", "coreaudio", f) for f in """
|
||||||
pa_mac_core.c pa_mac_core_blocking.c pa_mac_core_utilities.c
|
pa_mac_core.c pa_mac_core_blocking.c pa_mac_core_utilities.c
|
||||||
""".split()])
|
""".split()])
|
||||||
|
|
||||||
|
|
||||||
sources = CommonSources + ImplSources
|
sources = CommonSources + ImplSources
|
||||||
|
|
||||||
sharedLibEnv = env.Copy()
|
sharedLibEnv = env.Copy()
|
||||||
if Platform in Posix:
|
if Platform in Posix:
|
||||||
# Add soname to library, this is so a reference is made to the versioned library in programs linking against libportaudio.so
|
# Add soname to library, this is so a reference is made to the versioned library in programs linking against libportaudio.so
|
||||||
if Platform != 'darwin':
|
if Platform != 'darwin':
|
||||||
sharedLibEnv.AppendUnique(SHLINKFLAGS="-Wl,-soname=libportaudio.so.%d" % int(ApiVer.split(".")[0]))
|
sharedLibEnv.AppendUnique(SHLINKFLAGS="-Wl,-soname=libportaudio.so.%d" % int(ApiVer.split(".")[0]))
|
||||||
sharedLib = sharedLibEnv.SharedLibrary(target="portaudio", source=sources)
|
sharedLib = sharedLibEnv.SharedLibrary(target="portaudio", source=sources)
|
||||||
|
|
||||||
staticLib = env.StaticLibrary(target="portaudio", source=sources)
|
staticLib = env.StaticLibrary(target="portaudio", source=sources)
|
||||||
|
|
||||||
if Platform in Posix:
|
if Platform in Posix:
|
||||||
prefix = env["prefix"]
|
prefix = env["prefix"]
|
||||||
includeDir = os.path.join(prefix, "include")
|
includeDir = os.path.join(prefix, "include")
|
||||||
libDir = os.path.join(prefix, "lib")
|
libDir = os.path.join(prefix, "lib")
|
||||||
|
|
||||||
testNames = ["patest_sine", "paqa_devs", "paqa_errs", "patest1", "patest_buffer", "patest_callbackstop", "patest_clip", \
|
testNames = ["patest_sine", "paqa_devs", "paqa_errs", "patest1", "patest_buffer", "patest_callbackstop", "patest_clip", \
|
||||||
"patest_dither", "patest_hang", "patest_in_overflow", "patest_latency", "patest_leftright", "patest_longsine", \
|
"patest_dither", "patest_hang", "patest_in_overflow", "patest_latency", "patest_leftright", "patest_longsine", \
|
||||||
"patest_many", "patest_maxsines", "patest_multi_sine", "patest_out_underflow", "patest_pink", "patest_prime", \
|
"patest_many", "patest_maxsines", "patest_multi_sine", "patest_out_underflow", "patest_pink", "patest_prime", \
|
||||||
"patest_read_record", "patest_record", "patest_ringmix", "patest_saw", "patest_sine8", "patest_sine", \
|
"patest_read_record", "patest_record", "patest_ringmix", "patest_saw", "patest_sine8", "patest_sine", \
|
||||||
"patest_sine_time", "patest_start_stop", "patest_stop", "patest_sync", "patest_toomanysines", \
|
"patest_sine_time", "patest_start_stop", "patest_stop", "patest_sync", "patest_toomanysines", \
|
||||||
"patest_underflow", "patest_wire", "patest_write_sine", "pa_devs", "pa_fuzz", "pa_minlat", \
|
"patest_underflow", "patest_wire", "patest_write_sine", "pa_devs", "pa_fuzz", "pa_minlat", \
|
||||||
"patest_sine_channelmaps",]
|
"patest_sine_channelmaps",]
|
||||||
|
|
||||||
# The test directory ("bin") should be in the top-level PA directory
|
# The test directory ("bin") should be in the top-level PA directory
|
||||||
tests = [env.Program(target=os.path.join("#", "bin", name), source=[os.path.join("#", "test", name + ".c"),
|
tests = [env.Program(target=os.path.join("#", "bin", name), source=[os.path.join("#", "test", name + ".c"),
|
||||||
staticLib]) for name in testNames]
|
staticLib]) for name in testNames]
|
||||||
|
|
||||||
# Detect host APIs
|
# Detect host APIs
|
||||||
hostApis = []
|
hostApis = []
|
||||||
for cppdef in env["CPPDEFINES"]:
|
for cppdef in env["CPPDEFINES"]:
|
||||||
if cppdef.startswith("PA_USE_"):
|
if cppdef.startswith("PA_USE_"):
|
||||||
hostApis.append(cppdef[7:-2])
|
hostApis.append(cppdef[7:-2])
|
||||||
|
|
||||||
Return("sources", "sharedLib", "staticLib", "tests", "env", "hostApis")
|
Return("sources", "sharedLib", "staticLib", "tests", "env", "hostApis")
|
||||||
|
137
3rdparty/portaudio/src/common/pa_trace.c
vendored
137
3rdparty/portaudio/src/common/pa_trace.c
vendored
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: pa_trace.c 1339 2008-02-15 07:50:33Z rossb $
|
* $Id: pa_trace.c 1812 2012-02-14 09:32:57Z robiwan $
|
||||||
* Portable Audio I/O Library Trace Facility
|
* Portable Audio I/O Library Trace Facility
|
||||||
* Store trace information in real-time for later printing.
|
* Store trace information in real-time for later printing.
|
||||||
*
|
*
|
||||||
@ -46,12 +46,16 @@
|
|||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <stdarg.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <assert.h>
|
||||||
#include "pa_trace.h"
|
#include "pa_trace.h"
|
||||||
|
#include "pa_util.h"
|
||||||
|
#include "pa_debugprint.h"
|
||||||
|
|
||||||
#if PA_TRACE_REALTIME_EVENTS
|
#if PA_TRACE_REALTIME_EVENTS
|
||||||
|
|
||||||
static char *traceTextArray[PA_MAX_TRACE_RECORDS];
|
static char const *traceTextArray[PA_MAX_TRACE_RECORDS];
|
||||||
static int traceIntArray[PA_MAX_TRACE_RECORDS];
|
static int traceIntArray[PA_MAX_TRACE_RECORDS];
|
||||||
static int traceIndex = 0;
|
static int traceIndex = 0;
|
||||||
static int traceBlock = 0;
|
static int traceBlock = 0;
|
||||||
@ -94,4 +98,133 @@ void PaUtil_AddTraceMessage( const char *msg, int data )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/************************************************************************/
|
||||||
|
/* High performance log alternative */
|
||||||
|
/************************************************************************/
|
||||||
|
|
||||||
|
typedef unsigned long long PaUint64;
|
||||||
|
|
||||||
|
typedef struct __PaHighPerformanceLog
|
||||||
|
{
|
||||||
|
unsigned magik;
|
||||||
|
int writePtr;
|
||||||
|
int readPtr;
|
||||||
|
int size;
|
||||||
|
double refTime;
|
||||||
|
char* data;
|
||||||
|
} PaHighPerformanceLog;
|
||||||
|
|
||||||
|
static const unsigned kMagik = 0xcafebabe;
|
||||||
|
|
||||||
|
#define USEC_PER_SEC (1000000ULL)
|
||||||
|
|
||||||
|
int PaUtil_InitializeHighSpeedLog( LogHandle* phLog, unsigned maxSizeInBytes )
|
||||||
|
{
|
||||||
|
PaHighPerformanceLog* pLog = (PaHighPerformanceLog*)PaUtil_AllocateMemory(sizeof(PaHighPerformanceLog));
|
||||||
|
if (pLog == 0)
|
||||||
|
{
|
||||||
|
return paInsufficientMemory;
|
||||||
|
}
|
||||||
|
assert(phLog != 0);
|
||||||
|
*phLog = pLog;
|
||||||
|
|
||||||
|
pLog->data = (char*)PaUtil_AllocateMemory(maxSizeInBytes);
|
||||||
|
if (pLog->data == 0)
|
||||||
|
{
|
||||||
|
PaUtil_FreeMemory(pLog);
|
||||||
|
return paInsufficientMemory;
|
||||||
|
}
|
||||||
|
pLog->magik = kMagik;
|
||||||
|
pLog->size = maxSizeInBytes;
|
||||||
|
pLog->refTime = PaUtil_GetTime();
|
||||||
|
return paNoError;
|
||||||
|
}
|
||||||
|
|
||||||
|
void PaUtil_ResetHighSpeedLogTimeRef( LogHandle hLog )
|
||||||
|
{
|
||||||
|
PaHighPerformanceLog* pLog = (PaHighPerformanceLog*)hLog;
|
||||||
|
assert(pLog->magik == kMagik);
|
||||||
|
pLog->refTime = PaUtil_GetTime();
|
||||||
|
}
|
||||||
|
|
||||||
|
typedef struct __PaLogEntryHeader
|
||||||
|
{
|
||||||
|
int size;
|
||||||
|
double timeStamp;
|
||||||
|
} PaLogEntryHeader;
|
||||||
|
|
||||||
|
#ifdef __APPLE__
|
||||||
|
#define _vsnprintf vsnprintf
|
||||||
|
#define min(a,b) ((a)<(b)?(a):(b))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
int PaUtil_AddHighSpeedLogMessage( LogHandle hLog, const char* fmt, ... )
|
||||||
|
{
|
||||||
|
va_list l;
|
||||||
|
int n = 0;
|
||||||
|
PaHighPerformanceLog* pLog = (PaHighPerformanceLog*)hLog;
|
||||||
|
if (pLog != 0)
|
||||||
|
{
|
||||||
|
PaLogEntryHeader* pHeader;
|
||||||
|
char* p;
|
||||||
|
int maxN;
|
||||||
|
assert(pLog->magik == kMagik);
|
||||||
|
pHeader = (PaLogEntryHeader*)( pLog->data + pLog->writePtr );
|
||||||
|
p = (char*)( pHeader + 1 );
|
||||||
|
maxN = pLog->size - pLog->writePtr - 2 * sizeof(PaLogEntryHeader);
|
||||||
|
|
||||||
|
pHeader->timeStamp = PaUtil_GetTime() - pLog->refTime;
|
||||||
|
if (maxN > 0)
|
||||||
|
{
|
||||||
|
if (maxN > 32)
|
||||||
|
{
|
||||||
|
va_start(l, fmt);
|
||||||
|
n = _vsnprintf(p, min(1024, maxN), fmt, l);
|
||||||
|
va_end(l);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
n = sprintf(p, "End of log...");
|
||||||
|
}
|
||||||
|
n = ((n + sizeof(unsigned)) & ~(sizeof(unsigned)-1)) + sizeof(PaLogEntryHeader);
|
||||||
|
pHeader->size = n;
|
||||||
|
#if 0
|
||||||
|
PaUtil_DebugPrint("%05u.%03u: %s\n", pHeader->timeStamp/1000, pHeader->timeStamp%1000, p);
|
||||||
|
#endif
|
||||||
|
pLog->writePtr += n;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
|
||||||
|
void PaUtil_DumpHighSpeedLog( LogHandle hLog, const char* fileName )
|
||||||
|
{
|
||||||
|
FILE* f = (fileName != NULL) ? fopen(fileName, "w") : stdout;
|
||||||
|
unsigned localWritePtr;
|
||||||
|
PaHighPerformanceLog* pLog = (PaHighPerformanceLog*)hLog;
|
||||||
|
assert(pLog->magik == kMagik);
|
||||||
|
localWritePtr = pLog->writePtr;
|
||||||
|
while (pLog->readPtr != localWritePtr)
|
||||||
|
{
|
||||||
|
const PaLogEntryHeader* pHeader = (const PaLogEntryHeader*)( pLog->data + pLog->readPtr );
|
||||||
|
const char* p = (const char*)( pHeader + 1 );
|
||||||
|
const PaUint64 ts = (const PaUint64)( pHeader->timeStamp * USEC_PER_SEC );
|
||||||
|
assert(pHeader->size < (1024+sizeof(unsigned)+sizeof(PaLogEntryHeader)));
|
||||||
|
fprintf(f, "%05u.%03u: %s\n", (unsigned)(ts/1000), (unsigned)(ts%1000), p);
|
||||||
|
pLog->readPtr += pHeader->size;
|
||||||
|
}
|
||||||
|
if (f != stdout)
|
||||||
|
{
|
||||||
|
fclose(f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void PaUtil_DiscardHighSpeedLog( LogHandle hLog )
|
||||||
|
{
|
||||||
|
PaHighPerformanceLog* pLog = (PaHighPerformanceLog*)hLog;
|
||||||
|
assert(pLog->magik == kMagik);
|
||||||
|
PaUtil_FreeMemory(pLog->data);
|
||||||
|
PaUtil_FreeMemory(pLog);
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* TRACE_REALTIME_EVENTS */
|
#endif /* TRACE_REALTIME_EVENTS */
|
||||||
|
20
3rdparty/portaudio/src/common/pa_trace.h
vendored
20
3rdparty/portaudio/src/common/pa_trace.h
vendored
@ -1,7 +1,7 @@
|
|||||||
#ifndef PA_TRACE_H
|
#ifndef PA_TRACE_H
|
||||||
#define PA_TRACE_H
|
#define PA_TRACE_H
|
||||||
/*
|
/*
|
||||||
* $Id: pa_trace.h 1339 2008-02-15 07:50:33Z rossb $
|
* $Id: pa_trace.h 1812 2012-02-14 09:32:57Z robiwan $
|
||||||
* Portable Audio I/O Library Trace Facility
|
* Portable Audio I/O Library Trace Facility
|
||||||
* Store trace information in real-time for later printing.
|
* Store trace information in real-time for later printing.
|
||||||
*
|
*
|
||||||
@ -84,13 +84,29 @@ extern "C"
|
|||||||
void PaUtil_ResetTraceMessages();
|
void PaUtil_ResetTraceMessages();
|
||||||
void PaUtil_AddTraceMessage( const char *msg, int data );
|
void PaUtil_AddTraceMessage( const char *msg, int data );
|
||||||
void PaUtil_DumpTraceMessages();
|
void PaUtil_DumpTraceMessages();
|
||||||
|
|
||||||
|
/* Alternative interface */
|
||||||
|
|
||||||
|
typedef void* LogHandle;
|
||||||
|
|
||||||
|
int PaUtil_InitializeHighSpeedLog(LogHandle* phLog, unsigned maxSizeInBytes);
|
||||||
|
void PaUtil_ResetHighSpeedLogTimeRef(LogHandle hLog);
|
||||||
|
int PaUtil_AddHighSpeedLogMessage(LogHandle hLog, const char* fmt, ...);
|
||||||
|
void PaUtil_DumpHighSpeedLog(LogHandle hLog, const char* fileName);
|
||||||
|
void PaUtil_DiscardHighSpeedLog(LogHandle hLog);
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#define PaUtil_ResetTraceMessages() /* noop */
|
#define PaUtil_ResetTraceMessages() /* noop */
|
||||||
#define PaUtil_AddTraceMessage(msg,data) /* noop */
|
#define PaUtil_AddTraceMessage(msg,data) /* noop */
|
||||||
#define PaUtil_DumpTraceMessages() /* noop */
|
#define PaUtil_DumpTraceMessages() /* noop */
|
||||||
|
|
||||||
|
#define PaUtil_InitializeHighSpeedLog(phLog, maxSizeInBytes) (0)
|
||||||
|
#define PaUtil_ResetHighSpeedLogTimeRef(hLog)
|
||||||
|
#define PaUtil_AddHighSpeedLogMessage(...) (0)
|
||||||
|
#define PaUtil_DumpHighSpeedLog(hLog, fileName)
|
||||||
|
#define PaUtil_DiscardHighSpeedLog(hLog)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
1180
3rdparty/portaudio/src/hostapi/alsa/pa_linux_alsa.c
vendored
1180
3rdparty/portaudio/src/hostapi/alsa/pa_linux_alsa.c
vendored
File diff suppressed because it is too large
Load Diff
46
3rdparty/portaudio/src/hostapi/asio/pa_asio.cpp
vendored
46
3rdparty/portaudio/src/hostapi/asio/pa_asio.cpp
vendored
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: pa_asio.cpp 1778 2011-11-10 13:59:53Z rossb $
|
* $Id: pa_asio.cpp 1825 2012-04-02 07:58:04Z rbencina $
|
||||||
* Portable Audio I/O Library for ASIO Drivers
|
* Portable Audio I/O Library for ASIO Drivers
|
||||||
*
|
*
|
||||||
* Author: Stephane Letz
|
* Author: Stephane Letz
|
||||||
@ -1031,8 +1031,6 @@ PaError PaAsio_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex
|
|||||||
PaAsioHostApiRepresentation *asioHostApi;
|
PaAsioHostApiRepresentation *asioHostApi;
|
||||||
PaAsioDeviceInfo *deviceInfoArray;
|
PaAsioDeviceInfo *deviceInfoArray;
|
||||||
char **names;
|
char **names;
|
||||||
PaAsioDriverInfo paAsioDriverInfo;
|
|
||||||
|
|
||||||
asioHostApi = (PaAsioHostApiRepresentation*)PaUtil_AllocateMemory( sizeof(PaAsioHostApiRepresentation) );
|
asioHostApi = (PaAsioHostApiRepresentation*)PaUtil_AllocateMemory( sizeof(PaAsioHostApiRepresentation) );
|
||||||
if( !asioHostApi )
|
if( !asioHostApi )
|
||||||
{
|
{
|
||||||
@ -1040,6 +1038,8 @@ PaError PaAsio_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex
|
|||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
memset( asioHostApi, 0, sizeof(PaAsioHostApiRepresentation) ); /* ensure all fields are zeroed. especially asioHostApi->allocations */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
We initialize COM ourselves here and uninitialize it in Terminate().
|
We initialize COM ourselves here and uninitialize it in Terminate().
|
||||||
This should be the only COM initialization needed in this module.
|
This should be the only COM initialization needed in this module.
|
||||||
@ -1142,6 +1142,13 @@ PaError PaAsio_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex
|
|||||||
|
|
||||||
for( i=0; i < driverCount; ++i )
|
for( i=0; i < driverCount; ++i )
|
||||||
{
|
{
|
||||||
|
/* Due to the headless design of the ASIO API, drivers are free to write over data given to them (like M-Audio
|
||||||
|
drivers f.i.). This is an attempt to overcome that. */
|
||||||
|
union _tag_local {
|
||||||
|
PaAsioDriverInfo info;
|
||||||
|
char _padding[4096];
|
||||||
|
} paAsioDriver;
|
||||||
|
|
||||||
|
|
||||||
PA_DEBUG(("ASIO names[%d]:%s\n",i,names[i]));
|
PA_DEBUG(("ASIO names[%d]:%s\n",i,names[i]));
|
||||||
|
|
||||||
@ -1176,7 +1183,7 @@ PaError PaAsio_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex
|
|||||||
|
|
||||||
|
|
||||||
/* Attempt to load the asio driver... */
|
/* Attempt to load the asio driver... */
|
||||||
if( LoadAsioDriver( asioHostApi, names[i], &paAsioDriverInfo, asioHostApi->systemSpecific ) == paNoError )
|
if( LoadAsioDriver( asioHostApi, names[i], &paAsioDriver.info, asioHostApi->systemSpecific ) == paNoError )
|
||||||
{
|
{
|
||||||
PaAsioDeviceInfo *asioDeviceInfo = &deviceInfoArray[ (*hostApi)->info.deviceCount ];
|
PaAsioDeviceInfo *asioDeviceInfo = &deviceInfoArray[ (*hostApi)->info.deviceCount ];
|
||||||
PaDeviceInfo *deviceInfo = &asioDeviceInfo->commonDeviceInfo;
|
PaDeviceInfo *deviceInfo = &asioDeviceInfo->commonDeviceInfo;
|
||||||
@ -1186,15 +1193,15 @@ PaError PaAsio_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex
|
|||||||
|
|
||||||
deviceInfo->name = names[i];
|
deviceInfo->name = names[i];
|
||||||
PA_DEBUG(("PaAsio_Initialize: drv:%d name = %s\n", i,deviceInfo->name));
|
PA_DEBUG(("PaAsio_Initialize: drv:%d name = %s\n", i,deviceInfo->name));
|
||||||
PA_DEBUG(("PaAsio_Initialize: drv:%d inputChannels = %d\n", i, paAsioDriverInfo.inputChannelCount));
|
PA_DEBUG(("PaAsio_Initialize: drv:%d inputChannels = %d\n", i, paAsioDriver.info.inputChannelCount));
|
||||||
PA_DEBUG(("PaAsio_Initialize: drv:%d outputChannels = %d\n", i, paAsioDriverInfo.outputChannelCount));
|
PA_DEBUG(("PaAsio_Initialize: drv:%d outputChannels = %d\n", i, paAsioDriver.info.outputChannelCount));
|
||||||
PA_DEBUG(("PaAsio_Initialize: drv:%d bufferMinSize = %d\n", i, paAsioDriverInfo.bufferMinSize));
|
PA_DEBUG(("PaAsio_Initialize: drv:%d bufferMinSize = %d\n", i, paAsioDriver.info.bufferMinSize));
|
||||||
PA_DEBUG(("PaAsio_Initialize: drv:%d bufferMaxSize = %d\n", i, paAsioDriverInfo.bufferMaxSize));
|
PA_DEBUG(("PaAsio_Initialize: drv:%d bufferMaxSize = %d\n", i, paAsioDriver.info.bufferMaxSize));
|
||||||
PA_DEBUG(("PaAsio_Initialize: drv:%d bufferPreferredSize = %d\n", i, paAsioDriverInfo.bufferPreferredSize));
|
PA_DEBUG(("PaAsio_Initialize: drv:%d bufferPreferredSize = %d\n", i, paAsioDriver.info.bufferPreferredSize));
|
||||||
PA_DEBUG(("PaAsio_Initialize: drv:%d bufferGranularity = %d\n", i, paAsioDriverInfo.bufferGranularity));
|
PA_DEBUG(("PaAsio_Initialize: drv:%d bufferGranularity = %d\n", i, paAsioDriver.info.bufferGranularity));
|
||||||
|
|
||||||
deviceInfo->maxInputChannels = paAsioDriverInfo.inputChannelCount;
|
deviceInfo->maxInputChannels = paAsioDriver.info.inputChannelCount;
|
||||||
deviceInfo->maxOutputChannels = paAsioDriverInfo.outputChannelCount;
|
deviceInfo->maxOutputChannels = paAsioDriver.info.outputChannelCount;
|
||||||
|
|
||||||
deviceInfo->defaultSampleRate = 0.;
|
deviceInfo->defaultSampleRate = 0.;
|
||||||
bool foundDefaultSampleRate = false;
|
bool foundDefaultSampleRate = false;
|
||||||
@ -1222,13 +1229,13 @@ PaError PaAsio_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
double defaultLowLatency =
|
double defaultLowLatency =
|
||||||
paAsioDriverInfo.bufferPreferredSize / deviceInfo->defaultSampleRate;
|
paAsioDriver.info.bufferPreferredSize / deviceInfo->defaultSampleRate;
|
||||||
|
|
||||||
deviceInfo->defaultLowInputLatency = defaultLowLatency;
|
deviceInfo->defaultLowInputLatency = defaultLowLatency;
|
||||||
deviceInfo->defaultLowOutputLatency = defaultLowLatency;
|
deviceInfo->defaultLowOutputLatency = defaultLowLatency;
|
||||||
|
|
||||||
double defaultHighLatency =
|
double defaultHighLatency =
|
||||||
paAsioDriverInfo.bufferMaxSize / deviceInfo->defaultSampleRate;
|
paAsioDriver.info.bufferMaxSize / deviceInfo->defaultSampleRate;
|
||||||
|
|
||||||
if( defaultHighLatency < defaultLowLatency )
|
if( defaultHighLatency < defaultLowLatency )
|
||||||
defaultHighLatency = defaultLowLatency; /* just in case the driver returns something strange */
|
defaultHighLatency = defaultLowLatency; /* just in case the driver returns something strange */
|
||||||
@ -1249,10 +1256,10 @@ PaError PaAsio_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex
|
|||||||
PA_DEBUG(("PaAsio_Initialize: drv:%d defaultHighInputLatency = %f\n", i, deviceInfo->defaultHighInputLatency));
|
PA_DEBUG(("PaAsio_Initialize: drv:%d defaultHighInputLatency = %f\n", i, deviceInfo->defaultHighInputLatency));
|
||||||
PA_DEBUG(("PaAsio_Initialize: drv:%d defaultHighOutputLatency = %f\n", i, deviceInfo->defaultHighOutputLatency));
|
PA_DEBUG(("PaAsio_Initialize: drv:%d defaultHighOutputLatency = %f\n", i, deviceInfo->defaultHighOutputLatency));
|
||||||
|
|
||||||
asioDeviceInfo->minBufferSize = paAsioDriverInfo.bufferMinSize;
|
asioDeviceInfo->minBufferSize = paAsioDriver.info.bufferMinSize;
|
||||||
asioDeviceInfo->maxBufferSize = paAsioDriverInfo.bufferMaxSize;
|
asioDeviceInfo->maxBufferSize = paAsioDriver.info.bufferMaxSize;
|
||||||
asioDeviceInfo->preferredBufferSize = paAsioDriverInfo.bufferPreferredSize;
|
asioDeviceInfo->preferredBufferSize = paAsioDriver.info.bufferPreferredSize;
|
||||||
asioDeviceInfo->bufferGranularity = paAsioDriverInfo.bufferGranularity;
|
asioDeviceInfo->bufferGranularity = paAsioDriver.info.bufferGranularity;
|
||||||
|
|
||||||
|
|
||||||
asioDeviceInfo->asioChannelInfos = (ASIOChannelInfo*)PaUtil_GroupAllocateMemory(
|
asioDeviceInfo->asioChannelInfos = (ASIOChannelInfo*)PaUtil_GroupAllocateMemory(
|
||||||
@ -3046,7 +3053,7 @@ previousIndex = index;
|
|||||||
paTimeInfo.outputBufferDacTime = paTimeInfo.currentTime + theAsioStream->streamRepresentation.streamInfo.outputLatency;
|
paTimeInfo.outputBufferDacTime = paTimeInfo.currentTime + theAsioStream->streamRepresentation.streamInfo.outputLatency;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Disabled! Stopping and re-starting the stream causes an input overflow / output undeflow. S.Fischer */
|
/* Disabled! Stopping and re-starting the stream causes an input overflow / output underflow. S.Fischer */
|
||||||
#if 0
|
#if 0
|
||||||
// detect underflows by checking inter-callback time > 2 buffer period
|
// detect underflows by checking inter-callback time > 2 buffer period
|
||||||
static double previousTime = -1;
|
static double previousTime = -1;
|
||||||
@ -3498,6 +3505,7 @@ static PaError IsStreamActive( PaStream *s )
|
|||||||
static PaTime GetStreamTime( PaStream *s )
|
static PaTime GetStreamTime( PaStream *s )
|
||||||
{
|
{
|
||||||
(void) s; /* unused parameter */
|
(void) s; /* unused parameter */
|
||||||
|
|
||||||
return (double)timeGetTime() * .001;
|
return (double)timeGetTime() * .001;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -204,8 +204,40 @@ const char *PaMacCore_GetChannelName( int device, int channelIndex, bool input )
|
|||||||
return channelName;
|
return channelName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
PaError PaMacCore_GetBufferSizeRange( PaDeviceIndex device,
|
||||||
|
long *minBufferSizeFrames, long *maxBufferSizeFrames )
|
||||||
|
{
|
||||||
|
PaError result;
|
||||||
|
PaUtilHostApiRepresentation *hostApi;
|
||||||
|
|
||||||
|
result = PaUtil_GetHostApiRepresentation( &hostApi, paCoreAudio );
|
||||||
|
|
||||||
|
if( result == paNoError )
|
||||||
|
{
|
||||||
|
PaDeviceIndex hostApiDeviceIndex;
|
||||||
|
result = PaUtil_DeviceIndexToHostApiDeviceIndex( &hostApiDeviceIndex, device, hostApi );
|
||||||
|
if( result == paNoError )
|
||||||
|
{
|
||||||
|
PaMacAUHAL *macCoreHostApi = (PaMacAUHAL*)hostApi;
|
||||||
|
AudioDeviceID macCoreDeviceId = macCoreHostApi->devIds[hostApiDeviceIndex];
|
||||||
|
AudioValueRange audioRange;
|
||||||
|
UInt32 propSize = sizeof( audioRange );
|
||||||
|
|
||||||
|
// return the size range for the output scope unless we only have inputs
|
||||||
|
Boolean isInput = 0;
|
||||||
|
if( macCoreHostApi->inheritedHostApiRep.deviceInfos[hostApiDeviceIndex]->maxOutputChannels == 0 )
|
||||||
|
isInput = 1;
|
||||||
|
|
||||||
|
result = WARNING(AudioDeviceGetProperty( macCoreDeviceId, 0, isInput, kAudioDevicePropertyBufferFrameSizeRange, &propSize, &audioRange ) );
|
||||||
|
|
||||||
|
*minBufferSizeFrames = audioRange.mMinimum;
|
||||||
|
*maxBufferSizeFrames = audioRange.mMaximum;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
AudioDeviceID PaMacCore_GetStreamInputDevice( PaStream* s )
|
AudioDeviceID PaMacCore_GetStreamInputDevice( PaStream* s )
|
||||||
@ -1596,12 +1628,19 @@ static UInt32 CalculateOptimalBufferSize( PaMacAUHAL *auhalHostApi,
|
|||||||
resultBufferSizeFrames = MAX( resultBufferSizeFrames, (UInt32) variableLatencyFrames );
|
resultBufferSizeFrames = MAX( resultBufferSizeFrames, (UInt32) variableLatencyFrames );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// can't have zero frames. code to round up to next user buffer requires non-zero
|
||||||
|
resultBufferSizeFrames = MAX( resultBufferSizeFrames, 1 );
|
||||||
|
|
||||||
if( requestedFramesPerBuffer != paFramesPerBufferUnspecified )
|
if( requestedFramesPerBuffer != paFramesPerBufferUnspecified )
|
||||||
{
|
{
|
||||||
// make host buffer the next highest integer multiple of user frames per buffer
|
// make host buffer the next highest integer multiple of user frames per buffer
|
||||||
UInt32 n = (resultBufferSizeFrames + requestedFramesPerBuffer - 1) / requestedFramesPerBuffer;
|
UInt32 n = (resultBufferSizeFrames + requestedFramesPerBuffer - 1) / requestedFramesPerBuffer;
|
||||||
resultBufferSizeFrames = n * requestedFramesPerBuffer;
|
resultBufferSizeFrames = n * requestedFramesPerBuffer;
|
||||||
|
|
||||||
|
|
||||||
|
// FIXME: really we should be searching for a multiple of requestedFramesPerBuffer
|
||||||
|
// that is >= suggested latency and also fits within device buffer min/max
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
VDBUG( ("Block Size unspecified. Based on Latency, the user wants a Block Size near: %ld.\n",
|
VDBUG( ("Block Size unspecified. Based on Latency, the user wants a Block Size near: %ld.\n",
|
||||||
resultBufferSizeFrames ) );
|
resultBufferSizeFrames ) );
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: pa_win_ds.c 1794 2011-11-24 18:11:33Z rossb $
|
* $Id: pa_win_ds.c 1824 2012-04-02 07:45:18Z rbencina $
|
||||||
* Portable Audio I/O Library DirectSound implementation
|
* Portable Audio I/O Library DirectSound implementation
|
||||||
*
|
*
|
||||||
* Authors: Phil Burk, Robert Marsanyi & Ross Bencina
|
* Authors: Phil Burk, Robert Marsanyi & Ross Bencina
|
||||||
@ -480,7 +480,7 @@ static PaError ExpandDSDeviceNameAndGUIDVector( DSDeviceNameAndGUIDVector *guidV
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
newItems[i].lpGUID = &newItems[i].guid;
|
newItems[i].lpGUID = &newItems[i].guid;
|
||||||
memcpy( &newItems[i].guid, guidVector->items[i].lpGUID, sizeof(GUID) );;
|
memcpy( &newItems[i].guid, guidVector->items[i].lpGUID, sizeof(GUID) );
|
||||||
}
|
}
|
||||||
newItems[i].pnpInterface = guidVector->items[i].pnpInterface;
|
newItems[i].pnpInterface = guidVector->items[i].pnpInterface;
|
||||||
}
|
}
|
||||||
@ -1167,6 +1167,8 @@ PaError PaWinDs_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiInde
|
|||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
memset( winDsHostApi, 0, sizeof(PaWinDsHostApiRepresentation) ); /* ensure all fields are zeroed. especially winDsHostApi->allocations */
|
||||||
|
|
||||||
result = PaWinUtil_CoInitialize( paDirectSound, &winDsHostApi->comInitializationResult );
|
result = PaWinUtil_CoInitialize( paDirectSound, &winDsHostApi->comInitializationResult );
|
||||||
if( result != paNoError )
|
if( result != paNoError )
|
||||||
{
|
{
|
||||||
@ -1306,7 +1308,7 @@ error:
|
|||||||
TerminateDSDeviceNameAndGUIDVector( &deviceNamesAndGUIDs.inputNamesAndGUIDs );
|
TerminateDSDeviceNameAndGUIDVector( &deviceNamesAndGUIDs.inputNamesAndGUIDs );
|
||||||
TerminateDSDeviceNameAndGUIDVector( &deviceNamesAndGUIDs.outputNamesAndGUIDs );
|
TerminateDSDeviceNameAndGUIDVector( &deviceNamesAndGUIDs.outputNamesAndGUIDs );
|
||||||
|
|
||||||
Terminate( winDsHostApi );
|
Terminate( (struct PaUtilHostApiRepresentation *)winDsHostApi );
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@ -1703,9 +1705,9 @@ static void CalculateBufferSettings( unsigned long *hostBufferSizeFrames,
|
|||||||
unsigned long suggestedOutputLatencyFrames,
|
unsigned long suggestedOutputLatencyFrames,
|
||||||
double sampleRate, unsigned long userFramesPerBuffer )
|
double sampleRate, unsigned long userFramesPerBuffer )
|
||||||
{
|
{
|
||||||
unsigned long minimumPollingPeriodFrames = sampleRate * PA_DS_MINIMUM_POLLING_PERIOD_SECONDS;
|
unsigned long minimumPollingPeriodFrames = (unsigned long)(sampleRate * PA_DS_MINIMUM_POLLING_PERIOD_SECONDS);
|
||||||
unsigned long maximumPollingPeriodFrames = sampleRate * PA_DS_MAXIMUM_POLLING_PERIOD_SECONDS;
|
unsigned long maximumPollingPeriodFrames = (unsigned long)(sampleRate * PA_DS_MAXIMUM_POLLING_PERIOD_SECONDS);
|
||||||
unsigned long pollingJitterFrames = sampleRate * PA_DS_POLLING_JITTER_SECONDS;
|
unsigned long pollingJitterFrames = (unsigned long)(sampleRate * PA_DS_POLLING_JITTER_SECONDS);
|
||||||
|
|
||||||
if( userFramesPerBuffer == paFramesPerBufferUnspecified )
|
if( userFramesPerBuffer == paFramesPerBufferUnspecified )
|
||||||
{
|
{
|
||||||
@ -1771,9 +1773,9 @@ static void CalculatePollingPeriodFrames( unsigned long hostBufferSizeFrames,
|
|||||||
unsigned long *pollingPeriodFrames,
|
unsigned long *pollingPeriodFrames,
|
||||||
double sampleRate, unsigned long userFramesPerBuffer )
|
double sampleRate, unsigned long userFramesPerBuffer )
|
||||||
{
|
{
|
||||||
unsigned long minimumPollingPeriodFrames = sampleRate * PA_DS_MINIMUM_POLLING_PERIOD_SECONDS;
|
unsigned long minimumPollingPeriodFrames = (unsigned long)(sampleRate * PA_DS_MINIMUM_POLLING_PERIOD_SECONDS);
|
||||||
unsigned long maximumPollingPeriodFrames = sampleRate * PA_DS_MAXIMUM_POLLING_PERIOD_SECONDS;
|
unsigned long maximumPollingPeriodFrames = (unsigned long)(sampleRate * PA_DS_MAXIMUM_POLLING_PERIOD_SECONDS);
|
||||||
unsigned long pollingJitterFrames = sampleRate * PA_DS_POLLING_JITTER_SECONDS;
|
unsigned long pollingJitterFrames = (unsigned long)(sampleRate * PA_DS_POLLING_JITTER_SECONDS);
|
||||||
|
|
||||||
*pollingPeriodFrames = max( max(1, userFramesPerBuffer / 4), hostBufferSizeFrames / 16 );
|
*pollingPeriodFrames = max( max(1, userFramesPerBuffer / 4), hostBufferSizeFrames / 16 );
|
||||||
|
|
||||||
@ -2471,6 +2473,8 @@ static int TimeSlice( PaWinDsStream *stream )
|
|||||||
framesToXfer = numOutFramesReady = bytesEmpty / stream->outputFrameSizeBytes;
|
framesToXfer = numOutFramesReady = bytesEmpty / stream->outputFrameSizeBytes;
|
||||||
|
|
||||||
/* Check for underflow */
|
/* Check for underflow */
|
||||||
|
/* FIXME QueryOutputSpace should not adjust underflow count as a side effect.
|
||||||
|
A query function should be a const operator on the stream and return a flag on underflow. */
|
||||||
if( stream->outputUnderflowCount != previousUnderflowCount )
|
if( stream->outputUnderflowCount != previousUnderflowCount )
|
||||||
stream->callbackFlags |= paOutputUnderflow;
|
stream->callbackFlags |= paOutputUnderflow;
|
||||||
|
|
||||||
@ -2536,7 +2540,7 @@ static int TimeSlice( PaWinDsStream *stream )
|
|||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
We don't currently add outputLatency here because it appears to produce worse
|
We don't currently add outputLatency here because it appears to produce worse
|
||||||
results than non adding it. Need to do more testing to verify this.
|
results than not adding it. Need to do more testing to verify this.
|
||||||
*/
|
*/
|
||||||
/* timeInfo.outputBufferDacTime = timeInfo.currentTime + outputLatency; */
|
/* timeInfo.outputBufferDacTime = timeInfo.currentTime + outputLatency; */
|
||||||
timeInfo.outputBufferDacTime = timeInfo.currentTime;
|
timeInfo.outputBufferDacTime = timeInfo.currentTime;
|
||||||
@ -2729,7 +2733,7 @@ PA_THREAD_FUNC ProcessingThreadProc( void *pArg )
|
|||||||
LARGE_INTEGER dueTime;
|
LARGE_INTEGER dueTime;
|
||||||
int timerPeriodMs;
|
int timerPeriodMs;
|
||||||
|
|
||||||
timerPeriodMs = stream->pollingPeriodSeconds * MSECS_PER_SECOND;
|
timerPeriodMs = (int)(stream->pollingPeriodSeconds * MSECS_PER_SECOND);
|
||||||
if( timerPeriodMs < 1 )
|
if( timerPeriodMs < 1 )
|
||||||
timerPeriodMs = 1;
|
timerPeriodMs = 1;
|
||||||
|
|
||||||
@ -2953,7 +2957,7 @@ static PaError StartStream( PaStream *s )
|
|||||||
if( stream->streamRepresentation.streamCallback )
|
if( stream->streamRepresentation.streamCallback )
|
||||||
{
|
{
|
||||||
TIMECAPS timecaps;
|
TIMECAPS timecaps;
|
||||||
int timerPeriodMs = stream->pollingPeriodSeconds * MSECS_PER_SECOND;
|
int timerPeriodMs = (int)(stream->pollingPeriodSeconds * MSECS_PER_SECOND);
|
||||||
if( timerPeriodMs < 1 )
|
if( timerPeriodMs < 1 )
|
||||||
timerPeriodMs = 1;
|
timerPeriodMs = 1;
|
||||||
|
|
||||||
@ -2967,7 +2971,7 @@ static PaError StartStream( PaStream *s )
|
|||||||
if( timeGetDevCaps( &timecaps, sizeof(TIMECAPS) == MMSYSERR_NOERROR && timecaps.wPeriodMin > 0 ) )
|
if( timeGetDevCaps( &timecaps, sizeof(TIMECAPS) == MMSYSERR_NOERROR && timecaps.wPeriodMin > 0 ) )
|
||||||
{
|
{
|
||||||
/* aim for resolution 4 times higher than polling rate */
|
/* aim for resolution 4 times higher than polling rate */
|
||||||
stream->systemTimerResolutionPeriodMs = (stream->pollingPeriodSeconds * MSECS_PER_SECOND) / 4;
|
stream->systemTimerResolutionPeriodMs = (UINT)((stream->pollingPeriodSeconds * MSECS_PER_SECOND) * .25);
|
||||||
if( stream->systemTimerResolutionPeriodMs < timecaps.wPeriodMin )
|
if( stream->systemTimerResolutionPeriodMs < timecaps.wPeriodMin )
|
||||||
stream->systemTimerResolutionPeriodMs = timecaps.wPeriodMin;
|
stream->systemTimerResolutionPeriodMs = timecaps.wPeriodMin;
|
||||||
if( stream->systemTimerResolutionPeriodMs > timecaps.wPeriodMax )
|
if( stream->systemTimerResolutionPeriodMs > timecaps.wPeriodMax )
|
||||||
|
@ -1065,6 +1065,8 @@ PaError PaWasapi_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiInd
|
|||||||
result = paInsufficientMemory;
|
result = paInsufficientMemory;
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
memset( paWasapi, 0, sizeof(PaWasapiHostApiRepresentation) ); /* ensure all fields are zeroed. especially paWasapi->allocations */
|
||||||
|
|
||||||
result = PaWinUtil_CoInitialize( paWASAPI, &paWasapi->comInitializationResult );
|
result = PaWinUtil_CoInitialize( paWASAPI, &paWasapi->comInitializationResult );
|
||||||
if( result != paNoError )
|
if( result != paNoError )
|
||||||
@ -1248,7 +1250,7 @@ PaError PaWasapi_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiInd
|
|||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
if (value.pwszVal)
|
if (value.pwszVal)
|
||||||
wcstombs(deviceName, value.pwszVal, MAX_STR_LEN-1);
|
WideCharToMultiByte(CP_UTF8, 0, value.pwszVal, (int)wcslen(value.pwszVal), deviceName, MAX_STR_LEN-1, 0, 0);
|
||||||
else
|
else
|
||||||
_snprintf(deviceName, MAX_STR_LEN-1, "baddev%d", i);
|
_snprintf(deviceName, MAX_STR_LEN-1, "baddev%d", i);
|
||||||
deviceInfo->name = deviceName;
|
deviceInfo->name = deviceName;
|
||||||
@ -2211,11 +2213,15 @@ static HRESULT CreateAudioClient(PaWasapiStream *pStream, PaWasapiSubStream *pSu
|
|||||||
if (framesPerLatency == 0)
|
if (framesPerLatency == 0)
|
||||||
framesPerLatency = MakeFramesFromHns(pInfo->DefaultDevicePeriod, pSub->wavex.Format.nSamplesPerSec);
|
framesPerLatency = MakeFramesFromHns(pInfo->DefaultDevicePeriod, pSub->wavex.Format.nSamplesPerSec);
|
||||||
|
|
||||||
//! Exclusive Input stream renders data in 6 packets, we must set then the size of
|
// Exclusive Input stream renders data in 6 packets, we must set then the size of
|
||||||
//! single packet, total buffer size, e.g. required latency will be PacketSize * 6
|
// single packet, total buffer size, e.g. required latency will be PacketSize * 6
|
||||||
if (!output && (pSub->shareMode == AUDCLNT_SHAREMODE_EXCLUSIVE))
|
if (!output && (pSub->shareMode == AUDCLNT_SHAREMODE_EXCLUSIVE))
|
||||||
{
|
{
|
||||||
framesPerLatency /= WASAPI_PACKETS_PER_INPUT_BUFFER;
|
// Do it only for Polling mode
|
||||||
|
if ((pSub->streamFlags & AUDCLNT_STREAMFLAGS_EVENTCALLBACK) == 0)
|
||||||
|
{
|
||||||
|
framesPerLatency /= WASAPI_PACKETS_PER_INPUT_BUFFER;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Calculate aligned period
|
// Calculate aligned period
|
||||||
@ -3460,7 +3466,7 @@ static PaError ReadStream( PaStream* s, void *_buffer, unsigned long frames )
|
|||||||
|
|
||||||
// Limit desired to amount of requested frames
|
// Limit desired to amount of requested frames
|
||||||
desired = available;
|
desired = available;
|
||||||
if (desired > frames)
|
if ((UINT32)desired > frames)
|
||||||
desired = frames;
|
desired = frames;
|
||||||
|
|
||||||
// Get pointers to read regions
|
// Get pointers to read regions
|
||||||
@ -4795,13 +4801,15 @@ PA_THREAD_FUNC ProcThreadPoll(void *param)
|
|||||||
// output
|
// output
|
||||||
if (stream->bufferMode == paUtilFixedHostBufferSize)
|
if (stream->bufferMode == paUtilFixedHostBufferSize)
|
||||||
{
|
{
|
||||||
if (frames >= stream->out.framesPerBuffer)
|
while (frames >= stream->out.framesPerBuffer)
|
||||||
{
|
{
|
||||||
if ((hr = ProcessOutputBuffer(stream, processor, stream->out.framesPerBuffer)) != S_OK)
|
if ((hr = ProcessOutputBuffer(stream, processor, stream->out.framesPerBuffer)) != S_OK)
|
||||||
{
|
{
|
||||||
LogHostError(hr);
|
LogHostError(hr);
|
||||||
goto thread_error;
|
goto thread_error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
frames -= stream->out.framesPerBuffer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
6498
3rdparty/portaudio/src/hostapi/wdmks/pa_win_wdmks.c
vendored
6498
3rdparty/portaudio/src/hostapi/wdmks/pa_win_wdmks.c
vendored
File diff suppressed because it is too large
Load Diff
11
3rdparty/portaudio/src/hostapi/wdmks/readme.txt
vendored
11
3rdparty/portaudio/src/hostapi/wdmks/readme.txt
vendored
@ -3,12 +3,15 @@ Notes about WDM-KS host API
|
|||||||
|
|
||||||
Status history
|
Status history
|
||||||
--------------
|
--------------
|
||||||
|
16th January 2011:
|
||||||
|
Added support for WaveRT device API (Vista and later) for even lesser
|
||||||
|
latency support.
|
||||||
|
|
||||||
10th November 2005:
|
10th November 2005:
|
||||||
Made following changes:
|
Made following changes:
|
||||||
* OpenStream: Try all PaSampleFormats internally if the the chosen
|
* OpenStream: Try all PaSampleFormats internally if the the chosen
|
||||||
format is not supported natively. This fixed several problems
|
format is not supported natively. This fixed several problems
|
||||||
with soundcards that soundcards that did not take kindly to
|
with soundcards that did not take kindly to using 24-bit 3-byte formats.
|
||||||
using 24-bit 3-byte formats.
|
|
||||||
* OpenStream: Make the minimum framesPerHostIBuffer (and framesPerHostOBuffer)
|
* OpenStream: Make the minimum framesPerHostIBuffer (and framesPerHostOBuffer)
|
||||||
the default frameSize for the playback/recording pin.
|
the default frameSize for the playback/recording pin.
|
||||||
* ProcessingThread: Added a switch to only call PaUtil_EndBufferProcessing
|
* ProcessingThread: Added a switch to only call PaUtil_EndBufferProcessing
|
||||||
@ -71,7 +74,7 @@ In PortAudio terms, this means having a stream Open on a WDMKS device.
|
|||||||
Usage
|
Usage
|
||||||
-----
|
-----
|
||||||
To add the WDMKS backend to your program which is already using
|
To add the WDMKS backend to your program which is already using
|
||||||
PortAudio, you must undefine PA_NO_WDMKS from your build file,
|
PortAudio, you must define PA_USE_WDMKS=1 in your build file,
|
||||||
and include the pa_win_wdmks\pa_win_wdmks.c into your build.
|
and include the pa_win_wdmks\pa_win_wdmks.c into your build.
|
||||||
The file should compile in both C and C++.
|
The file should compile in both C and C++.
|
||||||
You will need a DirectX SDK installed on your system for the
|
You will need a DirectX SDK installed on your system for the
|
||||||
@ -79,4 +82,4 @@ ks.h and ksmedia.h header files.
|
|||||||
You will need to link to the system "setupapi" library.
|
You will need to link to the system "setupapi" library.
|
||||||
Note that if you use MinGW, you will get more warnings from
|
Note that if you use MinGW, you will get more warnings from
|
||||||
the DX header files when using GCC(C), and still a few warnings
|
the DX header files when using GCC(C), and still a few warnings
|
||||||
with G++(CPP).
|
with G++(CPP).
|
||||||
|
@ -79,9 +79,6 @@ if(common_libs)
|
|||||||
add_subdirectory(common/src/x86emitter)
|
add_subdirectory(common/src/x86emitter)
|
||||||
endif(common_libs)
|
endif(common_libs)
|
||||||
|
|
||||||
# make tools
|
|
||||||
add_subdirectory(tools)
|
|
||||||
|
|
||||||
# make pcsx2
|
# make pcsx2
|
||||||
if(EXISTS "${PROJECT_SOURCE_DIR}/pcsx2" AND pcsx2_core)
|
if(EXISTS "${PROJECT_SOURCE_DIR}/pcsx2" AND pcsx2_core)
|
||||||
add_subdirectory(pcsx2)
|
add_subdirectory(pcsx2)
|
||||||
@ -100,5 +97,5 @@ if(PACKAGE_MODE)
|
|||||||
INSTALL(FILES "${PROJECT_SOURCE_DIR}/linux_various/pcsx2.xpm" DESTINATION "${CMAKE_INSTALL_PREFIX}/share/pixmaps")
|
INSTALL(FILES "${PROJECT_SOURCE_DIR}/linux_various/pcsx2.xpm" DESTINATION "${CMAKE_INSTALL_PREFIX}/share/pixmaps")
|
||||||
INSTALL(FILES "${PROJECT_SOURCE_DIR}/bin/docs/PCSX2_FAQ_0.9.8.pdf" DESTINATION "${CMAKE_INSTALL_PREFIX}/share/doc/pcsx2")
|
INSTALL(FILES "${PROJECT_SOURCE_DIR}/bin/docs/PCSX2_FAQ_0.9.8.pdf" DESTINATION "${CMAKE_INSTALL_PREFIX}/share/doc/pcsx2")
|
||||||
INSTALL(FILES "${PROJECT_SOURCE_DIR}/bin/docs/PCSX2_Readme_0.9.8.pdf" DESTINATION "${CMAKE_INSTALL_PREFIX}/share/doc/pcsx2")
|
INSTALL(FILES "${PROJECT_SOURCE_DIR}/bin/docs/PCSX2_Readme_0.9.8.pdf" DESTINATION "${CMAKE_INSTALL_PREFIX}/share/doc/pcsx2")
|
||||||
INSTALL(FILES "${PROJECT_SOURCE_DIR}/bin/docs/pcsx2.man" DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man1/")
|
INSTALL(FILES "${PROJECT_SOURCE_DIR}/bin/docs/pcsx2.1" DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man1/")
|
||||||
endif(PACKAGE_MODE)
|
endif(PACKAGE_MODE)
|
||||||
|
339
COPYING.GPLv2
Normal file
339
COPYING.GPLv2
Normal file
@ -0,0 +1,339 @@
|
|||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 2, June 1991
|
||||||
|
|
||||||
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
|
||||||
|
The licenses for most software are designed to take away your
|
||||||
|
freedom to share and change it. By contrast, the GNU General Public
|
||||||
|
License is intended to guarantee your freedom to share and change free
|
||||||
|
software--to make sure the software is free for all its users. This
|
||||||
|
General Public License applies to most of the Free Software
|
||||||
|
Foundation's software and to any other program whose authors commit to
|
||||||
|
using it. (Some other Free Software Foundation software is covered by
|
||||||
|
the GNU Lesser General Public License instead.) You can apply it to
|
||||||
|
your programs, too.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not
|
||||||
|
price. Our General Public Licenses are designed to make sure that you
|
||||||
|
have the freedom to distribute copies of free software (and charge for
|
||||||
|
this service if you wish), that you receive source code or can get it
|
||||||
|
if you want it, that you can change the software or use pieces of it
|
||||||
|
in new free programs; and that you know you can do these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to make restrictions that forbid
|
||||||
|
anyone to deny you these rights or to ask you to surrender the rights.
|
||||||
|
These restrictions translate to certain responsibilities for you if you
|
||||||
|
distribute copies of the software, or if you modify it.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether
|
||||||
|
gratis or for a fee, you must give the recipients all the rights that
|
||||||
|
you have. You must make sure that they, too, receive or can get the
|
||||||
|
source code. And you must show them these terms so they know their
|
||||||
|
rights.
|
||||||
|
|
||||||
|
We protect your rights with two steps: (1) copyright the software, and
|
||||||
|
(2) offer you this license which gives you legal permission to copy,
|
||||||
|
distribute and/or modify the software.
|
||||||
|
|
||||||
|
Also, for each author's protection and ours, we want to make certain
|
||||||
|
that everyone understands that there is no warranty for this free
|
||||||
|
software. If the software is modified by someone else and passed on, we
|
||||||
|
want its recipients to know that what they have is not the original, so
|
||||||
|
that any problems introduced by others will not reflect on the original
|
||||||
|
authors' reputations.
|
||||||
|
|
||||||
|
Finally, any free program is threatened constantly by software
|
||||||
|
patents. We wish to avoid the danger that redistributors of a free
|
||||||
|
program will individually obtain patent licenses, in effect making the
|
||||||
|
program proprietary. To prevent this, we have made it clear that any
|
||||||
|
patent must be licensed for everyone's free use or not licensed at all.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and
|
||||||
|
modification follow.
|
||||||
|
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
|
0. This License applies to any program or other work which contains
|
||||||
|
a notice placed by the copyright holder saying it may be distributed
|
||||||
|
under the terms of this General Public License. The "Program", below,
|
||||||
|
refers to any such program or work, and a "work based on the Program"
|
||||||
|
means either the Program or any derivative work under copyright law:
|
||||||
|
that is to say, a work containing the Program or a portion of it,
|
||||||
|
either verbatim or with modifications and/or translated into another
|
||||||
|
language. (Hereinafter, translation is included without limitation in
|
||||||
|
the term "modification".) Each licensee is addressed as "you".
|
||||||
|
|
||||||
|
Activities other than copying, distribution and modification are not
|
||||||
|
covered by this License; they are outside its scope. The act of
|
||||||
|
running the Program is not restricted, and the output from the Program
|
||||||
|
is covered only if its contents constitute a work based on the
|
||||||
|
Program (independent of having been made by running the Program).
|
||||||
|
Whether that is true depends on what the Program does.
|
||||||
|
|
||||||
|
1. You may copy and distribute verbatim copies of the Program's
|
||||||
|
source code as you receive it, in any medium, provided that you
|
||||||
|
conspicuously and appropriately publish on each copy an appropriate
|
||||||
|
copyright notice and disclaimer of warranty; keep intact all the
|
||||||
|
notices that refer to this License and to the absence of any warranty;
|
||||||
|
and give any other recipients of the Program a copy of this License
|
||||||
|
along with the Program.
|
||||||
|
|
||||||
|
You may charge a fee for the physical act of transferring a copy, and
|
||||||
|
you may at your option offer warranty protection in exchange for a fee.
|
||||||
|
|
||||||
|
2. You may modify your copy or copies of the Program or any portion
|
||||||
|
of it, thus forming a work based on the Program, and copy and
|
||||||
|
distribute such modifications or work under the terms of Section 1
|
||||||
|
above, provided that you also meet all of these conditions:
|
||||||
|
|
||||||
|
a) You must cause the modified files to carry prominent notices
|
||||||
|
stating that you changed the files and the date of any change.
|
||||||
|
|
||||||
|
b) You must cause any work that you distribute or publish, that in
|
||||||
|
whole or in part contains or is derived from the Program or any
|
||||||
|
part thereof, to be licensed as a whole at no charge to all third
|
||||||
|
parties under the terms of this License.
|
||||||
|
|
||||||
|
c) If the modified program normally reads commands interactively
|
||||||
|
when run, you must cause it, when started running for such
|
||||||
|
interactive use in the most ordinary way, to print or display an
|
||||||
|
announcement including an appropriate copyright notice and a
|
||||||
|
notice that there is no warranty (or else, saying that you provide
|
||||||
|
a warranty) and that users may redistribute the program under
|
||||||
|
these conditions, and telling the user how to view a copy of this
|
||||||
|
License. (Exception: if the Program itself is interactive but
|
||||||
|
does not normally print such an announcement, your work based on
|
||||||
|
the Program is not required to print an announcement.)
|
||||||
|
|
||||||
|
These requirements apply to the modified work as a whole. If
|
||||||
|
identifiable sections of that work are not derived from the Program,
|
||||||
|
and can be reasonably considered independent and separate works in
|
||||||
|
themselves, then this License, and its terms, do not apply to those
|
||||||
|
sections when you distribute them as separate works. But when you
|
||||||
|
distribute the same sections as part of a whole which is a work based
|
||||||
|
on the Program, the distribution of the whole must be on the terms of
|
||||||
|
this License, whose permissions for other licensees extend to the
|
||||||
|
entire whole, and thus to each and every part regardless of who wrote it.
|
||||||
|
|
||||||
|
Thus, it is not the intent of this section to claim rights or contest
|
||||||
|
your rights to work written entirely by you; rather, the intent is to
|
||||||
|
exercise the right to control the distribution of derivative or
|
||||||
|
collective works based on the Program.
|
||||||
|
|
||||||
|
In addition, mere aggregation of another work not based on the Program
|
||||||
|
with the Program (or with a work based on the Program) on a volume of
|
||||||
|
a storage or distribution medium does not bring the other work under
|
||||||
|
the scope of this License.
|
||||||
|
|
||||||
|
3. You may copy and distribute the Program (or a work based on it,
|
||||||
|
under Section 2) in object code or executable form under the terms of
|
||||||
|
Sections 1 and 2 above provided that you also do one of the following:
|
||||||
|
|
||||||
|
a) Accompany it with the complete corresponding machine-readable
|
||||||
|
source code, which must be distributed under the terms of Sections
|
||||||
|
1 and 2 above on a medium customarily used for software interchange; or,
|
||||||
|
|
||||||
|
b) Accompany it with a written offer, valid for at least three
|
||||||
|
years, to give any third party, for a charge no more than your
|
||||||
|
cost of physically performing source distribution, a complete
|
||||||
|
machine-readable copy of the corresponding source code, to be
|
||||||
|
distributed under the terms of Sections 1 and 2 above on a medium
|
||||||
|
customarily used for software interchange; or,
|
||||||
|
|
||||||
|
c) Accompany it with the information you received as to the offer
|
||||||
|
to distribute corresponding source code. (This alternative is
|
||||||
|
allowed only for noncommercial distribution and only if you
|
||||||
|
received the program in object code or executable form with such
|
||||||
|
an offer, in accord with Subsection b above.)
|
||||||
|
|
||||||
|
The source code for a work means the preferred form of the work for
|
||||||
|
making modifications to it. For an executable work, complete source
|
||||||
|
code means all the source code for all modules it contains, plus any
|
||||||
|
associated interface definition files, plus the scripts used to
|
||||||
|
control compilation and installation of the executable. However, as a
|
||||||
|
special exception, the source code distributed need not include
|
||||||
|
anything that is normally distributed (in either source or binary
|
||||||
|
form) with the major components (compiler, kernel, and so on) of the
|
||||||
|
operating system on which the executable runs, unless that component
|
||||||
|
itself accompanies the executable.
|
||||||
|
|
||||||
|
If distribution of executable or object code is made by offering
|
||||||
|
access to copy from a designated place, then offering equivalent
|
||||||
|
access to copy the source code from the same place counts as
|
||||||
|
distribution of the source code, even though third parties are not
|
||||||
|
compelled to copy the source along with the object code.
|
||||||
|
|
||||||
|
4. You may not copy, modify, sublicense, or distribute the Program
|
||||||
|
except as expressly provided under this License. Any attempt
|
||||||
|
otherwise to copy, modify, sublicense or distribute the Program is
|
||||||
|
void, and will automatically terminate your rights under this License.
|
||||||
|
However, parties who have received copies, or rights, from you under
|
||||||
|
this License will not have their licenses terminated so long as such
|
||||||
|
parties remain in full compliance.
|
||||||
|
|
||||||
|
5. You are not required to accept this License, since you have not
|
||||||
|
signed it. However, nothing else grants you permission to modify or
|
||||||
|
distribute the Program or its derivative works. These actions are
|
||||||
|
prohibited by law if you do not accept this License. Therefore, by
|
||||||
|
modifying or distributing the Program (or any work based on the
|
||||||
|
Program), you indicate your acceptance of this License to do so, and
|
||||||
|
all its terms and conditions for copying, distributing or modifying
|
||||||
|
the Program or works based on it.
|
||||||
|
|
||||||
|
6. Each time you redistribute the Program (or any work based on the
|
||||||
|
Program), the recipient automatically receives a license from the
|
||||||
|
original licensor to copy, distribute or modify the Program subject to
|
||||||
|
these terms and conditions. You may not impose any further
|
||||||
|
restrictions on the recipients' exercise of the rights granted herein.
|
||||||
|
You are not responsible for enforcing compliance by third parties to
|
||||||
|
this License.
|
||||||
|
|
||||||
|
7. If, as a consequence of a court judgment or allegation of patent
|
||||||
|
infringement or for any other reason (not limited to patent issues),
|
||||||
|
conditions are imposed on you (whether by court order, agreement or
|
||||||
|
otherwise) that contradict the conditions of this License, they do not
|
||||||
|
excuse you from the conditions of this License. If you cannot
|
||||||
|
distribute so as to satisfy simultaneously your obligations under this
|
||||||
|
License and any other pertinent obligations, then as a consequence you
|
||||||
|
may not distribute the Program at all. For example, if a patent
|
||||||
|
license would not permit royalty-free redistribution of the Program by
|
||||||
|
all those who receive copies directly or indirectly through you, then
|
||||||
|
the only way you could satisfy both it and this License would be to
|
||||||
|
refrain entirely from distribution of the Program.
|
||||||
|
|
||||||
|
If any portion of this section is held invalid or unenforceable under
|
||||||
|
any particular circumstance, the balance of the section is intended to
|
||||||
|
apply and the section as a whole is intended to apply in other
|
||||||
|
circumstances.
|
||||||
|
|
||||||
|
It is not the purpose of this section to induce you to infringe any
|
||||||
|
patents or other property right claims or to contest validity of any
|
||||||
|
such claims; this section has the sole purpose of protecting the
|
||||||
|
integrity of the free software distribution system, which is
|
||||||
|
implemented by public license practices. Many people have made
|
||||||
|
generous contributions to the wide range of software distributed
|
||||||
|
through that system in reliance on consistent application of that
|
||||||
|
system; it is up to the author/donor to decide if he or she is willing
|
||||||
|
to distribute software through any other system and a licensee cannot
|
||||||
|
impose that choice.
|
||||||
|
|
||||||
|
This section is intended to make thoroughly clear what is believed to
|
||||||
|
be a consequence of the rest of this License.
|
||||||
|
|
||||||
|
8. If the distribution and/or use of the Program is restricted in
|
||||||
|
certain countries either by patents or by copyrighted interfaces, the
|
||||||
|
original copyright holder who places the Program under this License
|
||||||
|
may add an explicit geographical distribution limitation excluding
|
||||||
|
those countries, so that distribution is permitted only in or among
|
||||||
|
countries not thus excluded. In such case, this License incorporates
|
||||||
|
the limitation as if written in the body of this License.
|
||||||
|
|
||||||
|
9. The Free Software Foundation may publish revised and/or new versions
|
||||||
|
of the General Public License from time to time. Such new versions will
|
||||||
|
be similar in spirit to the present version, but may differ in detail to
|
||||||
|
address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the Program
|
||||||
|
specifies a version number of this License which applies to it and "any
|
||||||
|
later version", you have the option of following the terms and conditions
|
||||||
|
either of that version or of any later version published by the Free
|
||||||
|
Software Foundation. If the Program does not specify a version number of
|
||||||
|
this License, you may choose any version ever published by the Free Software
|
||||||
|
Foundation.
|
||||||
|
|
||||||
|
10. If you wish to incorporate parts of the Program into other free
|
||||||
|
programs whose distribution conditions are different, write to the author
|
||||||
|
to ask for permission. For software which is copyrighted by the Free
|
||||||
|
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||||
|
make exceptions for this. Our decision will be guided by the two goals
|
||||||
|
of preserving the free status of all derivatives of our free software and
|
||||||
|
of promoting the sharing and reuse of software generally.
|
||||||
|
|
||||||
|
NO WARRANTY
|
||||||
|
|
||||||
|
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||||
|
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||||
|
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||||
|
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||||
|
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||||
|
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||||
|
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||||
|
REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||||
|
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||||
|
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||||
|
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||||
|
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||||
|
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||||
|
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
|
If you develop a new program, and you want it to be of the greatest
|
||||||
|
possible use to the public, the best way to achieve this is to make it
|
||||||
|
free software which everyone can redistribute and change under these terms.
|
||||||
|
|
||||||
|
To do so, attach the following notices to the program. It is safest
|
||||||
|
to attach them to the start of each source file to most effectively
|
||||||
|
convey the exclusion of warranty; and each file should have at least
|
||||||
|
the "copyright" line and a pointer to where the full notice is found.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program 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 General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
If the program is interactive, make it output a short notice like this
|
||||||
|
when it starts in an interactive mode:
|
||||||
|
|
||||||
|
Gnomovision version 69, Copyright (C) year name of author
|
||||||
|
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
|
This is free software, and you are welcome to redistribute it
|
||||||
|
under certain conditions; type `show c' for details.
|
||||||
|
|
||||||
|
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||||
|
parts of the General Public License. Of course, the commands you use may
|
||||||
|
be called something other than `show w' and `show c'; they could even be
|
||||||
|
mouse-clicks or menu items--whatever suits your program.
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or your
|
||||||
|
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||||
|
necessary. Here is a sample; alter the names:
|
||||||
|
|
||||||
|
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||||
|
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||||
|
|
||||||
|
<signature of Ty Coon>, 1 April 1989
|
||||||
|
Ty Coon, President of Vice
|
||||||
|
|
||||||
|
This General Public License does not permit incorporating your program into
|
||||||
|
proprietary programs. If your program is a subroutine library, you may
|
||||||
|
consider it more useful to permit linking proprietary applications with the
|
||||||
|
library. If this is what you want to do, use the GNU Lesser General
|
||||||
|
Public License instead of this License.
|
674
COPYING.GPLv3
Normal file
674
COPYING.GPLv3
Normal file
@ -0,0 +1,674 @@
|
|||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 3, 29 June 2007
|
||||||
|
|
||||||
|
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
|
||||||
|
The GNU General Public License is a free, copyleft license for
|
||||||
|
software and other kinds of works.
|
||||||
|
|
||||||
|
The licenses for most software and other practical works are designed
|
||||||
|
to take away your freedom to share and change the works. By contrast,
|
||||||
|
the GNU General Public License is intended to guarantee your freedom to
|
||||||
|
share and change all versions of a program--to make sure it remains free
|
||||||
|
software for all its users. We, the Free Software Foundation, use the
|
||||||
|
GNU General Public License for most of our software; it applies also to
|
||||||
|
any other work released this way by its authors. You can apply it to
|
||||||
|
your programs, too.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not
|
||||||
|
price. Our General Public Licenses are designed to make sure that you
|
||||||
|
have the freedom to distribute copies of free software (and charge for
|
||||||
|
them if you wish), that you receive source code or can get it if you
|
||||||
|
want it, that you can change the software or use pieces of it in new
|
||||||
|
free programs, and that you know you can do these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to prevent others from denying you
|
||||||
|
these rights or asking you to surrender the rights. Therefore, you have
|
||||||
|
certain responsibilities if you distribute copies of the software, or if
|
||||||
|
you modify it: responsibilities to respect the freedom of others.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether
|
||||||
|
gratis or for a fee, you must pass on to the recipients the same
|
||||||
|
freedoms that you received. You must make sure that they, too, receive
|
||||||
|
or can get the source code. And you must show them these terms so they
|
||||||
|
know their rights.
|
||||||
|
|
||||||
|
Developers that use the GNU GPL protect your rights with two steps:
|
||||||
|
(1) assert copyright on the software, and (2) offer you this License
|
||||||
|
giving you legal permission to copy, distribute and/or modify it.
|
||||||
|
|
||||||
|
For the developers' and authors' protection, the GPL clearly explains
|
||||||
|
that there is no warranty for this free software. For both users' and
|
||||||
|
authors' sake, the GPL requires that modified versions be marked as
|
||||||
|
changed, so that their problems will not be attributed erroneously to
|
||||||
|
authors of previous versions.
|
||||||
|
|
||||||
|
Some devices are designed to deny users access to install or run
|
||||||
|
modified versions of the software inside them, although the manufacturer
|
||||||
|
can do so. This is fundamentally incompatible with the aim of
|
||||||
|
protecting users' freedom to change the software. The systematic
|
||||||
|
pattern of such abuse occurs in the area of products for individuals to
|
||||||
|
use, which is precisely where it is most unacceptable. Therefore, we
|
||||||
|
have designed this version of the GPL to prohibit the practice for those
|
||||||
|
products. If such problems arise substantially in other domains, we
|
||||||
|
stand ready to extend this provision to those domains in future versions
|
||||||
|
of the GPL, as needed to protect the freedom of users.
|
||||||
|
|
||||||
|
Finally, every program is threatened constantly by software patents.
|
||||||
|
States should not allow patents to restrict development and use of
|
||||||
|
software on general-purpose computers, but in those that do, we wish to
|
||||||
|
avoid the special danger that patents applied to a free program could
|
||||||
|
make it effectively proprietary. To prevent this, the GPL assures that
|
||||||
|
patents cannot be used to render the program non-free.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and
|
||||||
|
modification follow.
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
0. Definitions.
|
||||||
|
|
||||||
|
"This License" refers to version 3 of the GNU General Public License.
|
||||||
|
|
||||||
|
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||||
|
works, such as semiconductor masks.
|
||||||
|
|
||||||
|
"The Program" refers to any copyrightable work licensed under this
|
||||||
|
License. Each licensee is addressed as "you". "Licensees" and
|
||||||
|
"recipients" may be individuals or organizations.
|
||||||
|
|
||||||
|
To "modify" a work means to copy from or adapt all or part of the work
|
||||||
|
in a fashion requiring copyright permission, other than the making of an
|
||||||
|
exact copy. The resulting work is called a "modified version" of the
|
||||||
|
earlier work or a work "based on" the earlier work.
|
||||||
|
|
||||||
|
A "covered work" means either the unmodified Program or a work based
|
||||||
|
on the Program.
|
||||||
|
|
||||||
|
To "propagate" a work means to do anything with it that, without
|
||||||
|
permission, would make you directly or secondarily liable for
|
||||||
|
infringement under applicable copyright law, except executing it on a
|
||||||
|
computer or modifying a private copy. Propagation includes copying,
|
||||||
|
distribution (with or without modification), making available to the
|
||||||
|
public, and in some countries other activities as well.
|
||||||
|
|
||||||
|
To "convey" a work means any kind of propagation that enables other
|
||||||
|
parties to make or receive copies. Mere interaction with a user through
|
||||||
|
a computer network, with no transfer of a copy, is not conveying.
|
||||||
|
|
||||||
|
An interactive user interface displays "Appropriate Legal Notices"
|
||||||
|
to the extent that it includes a convenient and prominently visible
|
||||||
|
feature that (1) displays an appropriate copyright notice, and (2)
|
||||||
|
tells the user that there is no warranty for the work (except to the
|
||||||
|
extent that warranties are provided), that licensees may convey the
|
||||||
|
work under this License, and how to view a copy of this License. If
|
||||||
|
the interface presents a list of user commands or options, such as a
|
||||||
|
menu, a prominent item in the list meets this criterion.
|
||||||
|
|
||||||
|
1. Source Code.
|
||||||
|
|
||||||
|
The "source code" for a work means the preferred form of the work
|
||||||
|
for making modifications to it. "Object code" means any non-source
|
||||||
|
form of a work.
|
||||||
|
|
||||||
|
A "Standard Interface" means an interface that either is an official
|
||||||
|
standard defined by a recognized standards body, or, in the case of
|
||||||
|
interfaces specified for a particular programming language, one that
|
||||||
|
is widely used among developers working in that language.
|
||||||
|
|
||||||
|
The "System Libraries" of an executable work include anything, other
|
||||||
|
than the work as a whole, that (a) is included in the normal form of
|
||||||
|
packaging a Major Component, but which is not part of that Major
|
||||||
|
Component, and (b) serves only to enable use of the work with that
|
||||||
|
Major Component, or to implement a Standard Interface for which an
|
||||||
|
implementation is available to the public in source code form. A
|
||||||
|
"Major Component", in this context, means a major essential component
|
||||||
|
(kernel, window system, and so on) of the specific operating system
|
||||||
|
(if any) on which the executable work runs, or a compiler used to
|
||||||
|
produce the work, or an object code interpreter used to run it.
|
||||||
|
|
||||||
|
The "Corresponding Source" for a work in object code form means all
|
||||||
|
the source code needed to generate, install, and (for an executable
|
||||||
|
work) run the object code and to modify the work, including scripts to
|
||||||
|
control those activities. However, it does not include the work's
|
||||||
|
System Libraries, or general-purpose tools or generally available free
|
||||||
|
programs which are used unmodified in performing those activities but
|
||||||
|
which are not part of the work. For example, Corresponding Source
|
||||||
|
includes interface definition files associated with source files for
|
||||||
|
the work, and the source code for shared libraries and dynamically
|
||||||
|
linked subprograms that the work is specifically designed to require,
|
||||||
|
such as by intimate data communication or control flow between those
|
||||||
|
subprograms and other parts of the work.
|
||||||
|
|
||||||
|
The Corresponding Source need not include anything that users
|
||||||
|
can regenerate automatically from other parts of the Corresponding
|
||||||
|
Source.
|
||||||
|
|
||||||
|
The Corresponding Source for a work in source code form is that
|
||||||
|
same work.
|
||||||
|
|
||||||
|
2. Basic Permissions.
|
||||||
|
|
||||||
|
All rights granted under this License are granted for the term of
|
||||||
|
copyright on the Program, and are irrevocable provided the stated
|
||||||
|
conditions are met. This License explicitly affirms your unlimited
|
||||||
|
permission to run the unmodified Program. The output from running a
|
||||||
|
covered work is covered by this License only if the output, given its
|
||||||
|
content, constitutes a covered work. This License acknowledges your
|
||||||
|
rights of fair use or other equivalent, as provided by copyright law.
|
||||||
|
|
||||||
|
You may make, run and propagate covered works that you do not
|
||||||
|
convey, without conditions so long as your license otherwise remains
|
||||||
|
in force. You may convey covered works to others for the sole purpose
|
||||||
|
of having them make modifications exclusively for you, or provide you
|
||||||
|
with facilities for running those works, provided that you comply with
|
||||||
|
the terms of this License in conveying all material for which you do
|
||||||
|
not control copyright. Those thus making or running the covered works
|
||||||
|
for you must do so exclusively on your behalf, under your direction
|
||||||
|
and control, on terms that prohibit them from making any copies of
|
||||||
|
your copyrighted material outside their relationship with you.
|
||||||
|
|
||||||
|
Conveying under any other circumstances is permitted solely under
|
||||||
|
the conditions stated below. Sublicensing is not allowed; section 10
|
||||||
|
makes it unnecessary.
|
||||||
|
|
||||||
|
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||||
|
|
||||||
|
No covered work shall be deemed part of an effective technological
|
||||||
|
measure under any applicable law fulfilling obligations under article
|
||||||
|
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
||||||
|
similar laws prohibiting or restricting circumvention of such
|
||||||
|
measures.
|
||||||
|
|
||||||
|
When you convey a covered work, you waive any legal power to forbid
|
||||||
|
circumvention of technological measures to the extent such circumvention
|
||||||
|
is effected by exercising rights under this License with respect to
|
||||||
|
the covered work, and you disclaim any intention to limit operation or
|
||||||
|
modification of the work as a means of enforcing, against the work's
|
||||||
|
users, your or third parties' legal rights to forbid circumvention of
|
||||||
|
technological measures.
|
||||||
|
|
||||||
|
4. Conveying Verbatim Copies.
|
||||||
|
|
||||||
|
You may convey verbatim copies of the Program's source code as you
|
||||||
|
receive it, in any medium, provided that you conspicuously and
|
||||||
|
appropriately publish on each copy an appropriate copyright notice;
|
||||||
|
keep intact all notices stating that this License and any
|
||||||
|
non-permissive terms added in accord with section 7 apply to the code;
|
||||||
|
keep intact all notices of the absence of any warranty; and give all
|
||||||
|
recipients a copy of this License along with the Program.
|
||||||
|
|
||||||
|
You may charge any price or no price for each copy that you convey,
|
||||||
|
and you may offer support or warranty protection for a fee.
|
||||||
|
|
||||||
|
5. Conveying Modified Source Versions.
|
||||||
|
|
||||||
|
You may convey a work based on the Program, or the modifications to
|
||||||
|
produce it from the Program, in the form of source code under the
|
||||||
|
terms of section 4, provided that you also meet all of these conditions:
|
||||||
|
|
||||||
|
a) The work must carry prominent notices stating that you modified
|
||||||
|
it, and giving a relevant date.
|
||||||
|
|
||||||
|
b) The work must carry prominent notices stating that it is
|
||||||
|
released under this License and any conditions added under section
|
||||||
|
7. This requirement modifies the requirement in section 4 to
|
||||||
|
"keep intact all notices".
|
||||||
|
|
||||||
|
c) You must license the entire work, as a whole, under this
|
||||||
|
License to anyone who comes into possession of a copy. This
|
||||||
|
License will therefore apply, along with any applicable section 7
|
||||||
|
additional terms, to the whole of the work, and all its parts,
|
||||||
|
regardless of how they are packaged. This License gives no
|
||||||
|
permission to license the work in any other way, but it does not
|
||||||
|
invalidate such permission if you have separately received it.
|
||||||
|
|
||||||
|
d) If the work has interactive user interfaces, each must display
|
||||||
|
Appropriate Legal Notices; however, if the Program has interactive
|
||||||
|
interfaces that do not display Appropriate Legal Notices, your
|
||||||
|
work need not make them do so.
|
||||||
|
|
||||||
|
A compilation of a covered work with other separate and independent
|
||||||
|
works, which are not by their nature extensions of the covered work,
|
||||||
|
and which are not combined with it such as to form a larger program,
|
||||||
|
in or on a volume of a storage or distribution medium, is called an
|
||||||
|
"aggregate" if the compilation and its resulting copyright are not
|
||||||
|
used to limit the access or legal rights of the compilation's users
|
||||||
|
beyond what the individual works permit. Inclusion of a covered work
|
||||||
|
in an aggregate does not cause this License to apply to the other
|
||||||
|
parts of the aggregate.
|
||||||
|
|
||||||
|
6. Conveying Non-Source Forms.
|
||||||
|
|
||||||
|
You may convey a covered work in object code form under the terms
|
||||||
|
of sections 4 and 5, provided that you also convey the
|
||||||
|
machine-readable Corresponding Source under the terms of this License,
|
||||||
|
in one of these ways:
|
||||||
|
|
||||||
|
a) Convey the object code in, or embodied in, a physical product
|
||||||
|
(including a physical distribution medium), accompanied by the
|
||||||
|
Corresponding Source fixed on a durable physical medium
|
||||||
|
customarily used for software interchange.
|
||||||
|
|
||||||
|
b) Convey the object code in, or embodied in, a physical product
|
||||||
|
(including a physical distribution medium), accompanied by a
|
||||||
|
written offer, valid for at least three years and valid for as
|
||||||
|
long as you offer spare parts or customer support for that product
|
||||||
|
model, to give anyone who possesses the object code either (1) a
|
||||||
|
copy of the Corresponding Source for all the software in the
|
||||||
|
product that is covered by this License, on a durable physical
|
||||||
|
medium customarily used for software interchange, for a price no
|
||||||
|
more than your reasonable cost of physically performing this
|
||||||
|
conveying of source, or (2) access to copy the
|
||||||
|
Corresponding Source from a network server at no charge.
|
||||||
|
|
||||||
|
c) Convey individual copies of the object code with a copy of the
|
||||||
|
written offer to provide the Corresponding Source. This
|
||||||
|
alternative is allowed only occasionally and noncommercially, and
|
||||||
|
only if you received the object code with such an offer, in accord
|
||||||
|
with subsection 6b.
|
||||||
|
|
||||||
|
d) Convey the object code by offering access from a designated
|
||||||
|
place (gratis or for a charge), and offer equivalent access to the
|
||||||
|
Corresponding Source in the same way through the same place at no
|
||||||
|
further charge. You need not require recipients to copy the
|
||||||
|
Corresponding Source along with the object code. If the place to
|
||||||
|
copy the object code is a network server, the Corresponding Source
|
||||||
|
may be on a different server (operated by you or a third party)
|
||||||
|
that supports equivalent copying facilities, provided you maintain
|
||||||
|
clear directions next to the object code saying where to find the
|
||||||
|
Corresponding Source. Regardless of what server hosts the
|
||||||
|
Corresponding Source, you remain obligated to ensure that it is
|
||||||
|
available for as long as needed to satisfy these requirements.
|
||||||
|
|
||||||
|
e) Convey the object code using peer-to-peer transmission, provided
|
||||||
|
you inform other peers where the object code and Corresponding
|
||||||
|
Source of the work are being offered to the general public at no
|
||||||
|
charge under subsection 6d.
|
||||||
|
|
||||||
|
A separable portion of the object code, whose source code is excluded
|
||||||
|
from the Corresponding Source as a System Library, need not be
|
||||||
|
included in conveying the object code work.
|
||||||
|
|
||||||
|
A "User Product" is either (1) a "consumer product", which means any
|
||||||
|
tangible personal property which is normally used for personal, family,
|
||||||
|
or household purposes, or (2) anything designed or sold for incorporation
|
||||||
|
into a dwelling. In determining whether a product is a consumer product,
|
||||||
|
doubtful cases shall be resolved in favor of coverage. For a particular
|
||||||
|
product received by a particular user, "normally used" refers to a
|
||||||
|
typical or common use of that class of product, regardless of the status
|
||||||
|
of the particular user or of the way in which the particular user
|
||||||
|
actually uses, or expects or is expected to use, the product. A product
|
||||||
|
is a consumer product regardless of whether the product has substantial
|
||||||
|
commercial, industrial or non-consumer uses, unless such uses represent
|
||||||
|
the only significant mode of use of the product.
|
||||||
|
|
||||||
|
"Installation Information" for a User Product means any methods,
|
||||||
|
procedures, authorization keys, or other information required to install
|
||||||
|
and execute modified versions of a covered work in that User Product from
|
||||||
|
a modified version of its Corresponding Source. The information must
|
||||||
|
suffice to ensure that the continued functioning of the modified object
|
||||||
|
code is in no case prevented or interfered with solely because
|
||||||
|
modification has been made.
|
||||||
|
|
||||||
|
If you convey an object code work under this section in, or with, or
|
||||||
|
specifically for use in, a User Product, and the conveying occurs as
|
||||||
|
part of a transaction in which the right of possession and use of the
|
||||||
|
User Product is transferred to the recipient in perpetuity or for a
|
||||||
|
fixed term (regardless of how the transaction is characterized), the
|
||||||
|
Corresponding Source conveyed under this section must be accompanied
|
||||||
|
by the Installation Information. But this requirement does not apply
|
||||||
|
if neither you nor any third party retains the ability to install
|
||||||
|
modified object code on the User Product (for example, the work has
|
||||||
|
been installed in ROM).
|
||||||
|
|
||||||
|
The requirement to provide Installation Information does not include a
|
||||||
|
requirement to continue to provide support service, warranty, or updates
|
||||||
|
for a work that has been modified or installed by the recipient, or for
|
||||||
|
the User Product in which it has been modified or installed. Access to a
|
||||||
|
network may be denied when the modification itself materially and
|
||||||
|
adversely affects the operation of the network or violates the rules and
|
||||||
|
protocols for communication across the network.
|
||||||
|
|
||||||
|
Corresponding Source conveyed, and Installation Information provided,
|
||||||
|
in accord with this section must be in a format that is publicly
|
||||||
|
documented (and with an implementation available to the public in
|
||||||
|
source code form), and must require no special password or key for
|
||||||
|
unpacking, reading or copying.
|
||||||
|
|
||||||
|
7. Additional Terms.
|
||||||
|
|
||||||
|
"Additional permissions" are terms that supplement the terms of this
|
||||||
|
License by making exceptions from one or more of its conditions.
|
||||||
|
Additional permissions that are applicable to the entire Program shall
|
||||||
|
be treated as though they were included in this License, to the extent
|
||||||
|
that they are valid under applicable law. If additional permissions
|
||||||
|
apply only to part of the Program, that part may be used separately
|
||||||
|
under those permissions, but the entire Program remains governed by
|
||||||
|
this License without regard to the additional permissions.
|
||||||
|
|
||||||
|
When you convey a copy of a covered work, you may at your option
|
||||||
|
remove any additional permissions from that copy, or from any part of
|
||||||
|
it. (Additional permissions may be written to require their own
|
||||||
|
removal in certain cases when you modify the work.) You may place
|
||||||
|
additional permissions on material, added by you to a covered work,
|
||||||
|
for which you have or can give appropriate copyright permission.
|
||||||
|
|
||||||
|
Notwithstanding any other provision of this License, for material you
|
||||||
|
add to a covered work, you may (if authorized by the copyright holders of
|
||||||
|
that material) supplement the terms of this License with terms:
|
||||||
|
|
||||||
|
a) Disclaiming warranty or limiting liability differently from the
|
||||||
|
terms of sections 15 and 16 of this License; or
|
||||||
|
|
||||||
|
b) Requiring preservation of specified reasonable legal notices or
|
||||||
|
author attributions in that material or in the Appropriate Legal
|
||||||
|
Notices displayed by works containing it; or
|
||||||
|
|
||||||
|
c) Prohibiting misrepresentation of the origin of that material, or
|
||||||
|
requiring that modified versions of such material be marked in
|
||||||
|
reasonable ways as different from the original version; or
|
||||||
|
|
||||||
|
d) Limiting the use for publicity purposes of names of licensors or
|
||||||
|
authors of the material; or
|
||||||
|
|
||||||
|
e) Declining to grant rights under trademark law for use of some
|
||||||
|
trade names, trademarks, or service marks; or
|
||||||
|
|
||||||
|
f) Requiring indemnification of licensors and authors of that
|
||||||
|
material by anyone who conveys the material (or modified versions of
|
||||||
|
it) with contractual assumptions of liability to the recipient, for
|
||||||
|
any liability that these contractual assumptions directly impose on
|
||||||
|
those licensors and authors.
|
||||||
|
|
||||||
|
All other non-permissive additional terms are considered "further
|
||||||
|
restrictions" within the meaning of section 10. If the Program as you
|
||||||
|
received it, or any part of it, contains a notice stating that it is
|
||||||
|
governed by this License along with a term that is a further
|
||||||
|
restriction, you may remove that term. If a license document contains
|
||||||
|
a further restriction but permits relicensing or conveying under this
|
||||||
|
License, you may add to a covered work material governed by the terms
|
||||||
|
of that license document, provided that the further restriction does
|
||||||
|
not survive such relicensing or conveying.
|
||||||
|
|
||||||
|
If you add terms to a covered work in accord with this section, you
|
||||||
|
must place, in the relevant source files, a statement of the
|
||||||
|
additional terms that apply to those files, or a notice indicating
|
||||||
|
where to find the applicable terms.
|
||||||
|
|
||||||
|
Additional terms, permissive or non-permissive, may be stated in the
|
||||||
|
form of a separately written license, or stated as exceptions;
|
||||||
|
the above requirements apply either way.
|
||||||
|
|
||||||
|
8. Termination.
|
||||||
|
|
||||||
|
You may not propagate or modify a covered work except as expressly
|
||||||
|
provided under this License. Any attempt otherwise to propagate or
|
||||||
|
modify it is void, and will automatically terminate your rights under
|
||||||
|
this License (including any patent licenses granted under the third
|
||||||
|
paragraph of section 11).
|
||||||
|
|
||||||
|
However, if you cease all violation of this License, then your
|
||||||
|
license from a particular copyright holder is reinstated (a)
|
||||||
|
provisionally, unless and until the copyright holder explicitly and
|
||||||
|
finally terminates your license, and (b) permanently, if the copyright
|
||||||
|
holder fails to notify you of the violation by some reasonable means
|
||||||
|
prior to 60 days after the cessation.
|
||||||
|
|
||||||
|
Moreover, your license from a particular copyright holder is
|
||||||
|
reinstated permanently if the copyright holder notifies you of the
|
||||||
|
violation by some reasonable means, this is the first time you have
|
||||||
|
received notice of violation of this License (for any work) from that
|
||||||
|
copyright holder, and you cure the violation prior to 30 days after
|
||||||
|
your receipt of the notice.
|
||||||
|
|
||||||
|
Termination of your rights under this section does not terminate the
|
||||||
|
licenses of parties who have received copies or rights from you under
|
||||||
|
this License. If your rights have been terminated and not permanently
|
||||||
|
reinstated, you do not qualify to receive new licenses for the same
|
||||||
|
material under section 10.
|
||||||
|
|
||||||
|
9. Acceptance Not Required for Having Copies.
|
||||||
|
|
||||||
|
You are not required to accept this License in order to receive or
|
||||||
|
run a copy of the Program. Ancillary propagation of a covered work
|
||||||
|
occurring solely as a consequence of using peer-to-peer transmission
|
||||||
|
to receive a copy likewise does not require acceptance. However,
|
||||||
|
nothing other than this License grants you permission to propagate or
|
||||||
|
modify any covered work. These actions infringe copyright if you do
|
||||||
|
not accept this License. Therefore, by modifying or propagating a
|
||||||
|
covered work, you indicate your acceptance of this License to do so.
|
||||||
|
|
||||||
|
10. Automatic Licensing of Downstream Recipients.
|
||||||
|
|
||||||
|
Each time you convey a covered work, the recipient automatically
|
||||||
|
receives a license from the original licensors, to run, modify and
|
||||||
|
propagate that work, subject to this License. You are not responsible
|
||||||
|
for enforcing compliance by third parties with this License.
|
||||||
|
|
||||||
|
An "entity transaction" is a transaction transferring control of an
|
||||||
|
organization, or substantially all assets of one, or subdividing an
|
||||||
|
organization, or merging organizations. If propagation of a covered
|
||||||
|
work results from an entity transaction, each party to that
|
||||||
|
transaction who receives a copy of the work also receives whatever
|
||||||
|
licenses to the work the party's predecessor in interest had or could
|
||||||
|
give under the previous paragraph, plus a right to possession of the
|
||||||
|
Corresponding Source of the work from the predecessor in interest, if
|
||||||
|
the predecessor has it or can get it with reasonable efforts.
|
||||||
|
|
||||||
|
You may not impose any further restrictions on the exercise of the
|
||||||
|
rights granted or affirmed under this License. For example, you may
|
||||||
|
not impose a license fee, royalty, or other charge for exercise of
|
||||||
|
rights granted under this License, and you may not initiate litigation
|
||||||
|
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||||
|
any patent claim is infringed by making, using, selling, offering for
|
||||||
|
sale, or importing the Program or any portion of it.
|
||||||
|
|
||||||
|
11. Patents.
|
||||||
|
|
||||||
|
A "contributor" is a copyright holder who authorizes use under this
|
||||||
|
License of the Program or a work on which the Program is based. The
|
||||||
|
work thus licensed is called the contributor's "contributor version".
|
||||||
|
|
||||||
|
A contributor's "essential patent claims" are all patent claims
|
||||||
|
owned or controlled by the contributor, whether already acquired or
|
||||||
|
hereafter acquired, that would be infringed by some manner, permitted
|
||||||
|
by this License, of making, using, or selling its contributor version,
|
||||||
|
but do not include claims that would be infringed only as a
|
||||||
|
consequence of further modification of the contributor version. For
|
||||||
|
purposes of this definition, "control" includes the right to grant
|
||||||
|
patent sublicenses in a manner consistent with the requirements of
|
||||||
|
this License.
|
||||||
|
|
||||||
|
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||||
|
patent license under the contributor's essential patent claims, to
|
||||||
|
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||||
|
propagate the contents of its contributor version.
|
||||||
|
|
||||||
|
In the following three paragraphs, a "patent license" is any express
|
||||||
|
agreement or commitment, however denominated, not to enforce a patent
|
||||||
|
(such as an express permission to practice a patent or covenant not to
|
||||||
|
sue for patent infringement). To "grant" such a patent license to a
|
||||||
|
party means to make such an agreement or commitment not to enforce a
|
||||||
|
patent against the party.
|
||||||
|
|
||||||
|
If you convey a covered work, knowingly relying on a patent license,
|
||||||
|
and the Corresponding Source of the work is not available for anyone
|
||||||
|
to copy, free of charge and under the terms of this License, through a
|
||||||
|
publicly available network server or other readily accessible means,
|
||||||
|
then you must either (1) cause the Corresponding Source to be so
|
||||||
|
available, or (2) arrange to deprive yourself of the benefit of the
|
||||||
|
patent license for this particular work, or (3) arrange, in a manner
|
||||||
|
consistent with the requirements of this License, to extend the patent
|
||||||
|
license to downstream recipients. "Knowingly relying" means you have
|
||||||
|
actual knowledge that, but for the patent license, your conveying the
|
||||||
|
covered work in a country, or your recipient's use of the covered work
|
||||||
|
in a country, would infringe one or more identifiable patents in that
|
||||||
|
country that you have reason to believe are valid.
|
||||||
|
|
||||||
|
If, pursuant to or in connection with a single transaction or
|
||||||
|
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||||
|
covered work, and grant a patent license to some of the parties
|
||||||
|
receiving the covered work authorizing them to use, propagate, modify
|
||||||
|
or convey a specific copy of the covered work, then the patent license
|
||||||
|
you grant is automatically extended to all recipients of the covered
|
||||||
|
work and works based on it.
|
||||||
|
|
||||||
|
A patent license is "discriminatory" if it does not include within
|
||||||
|
the scope of its coverage, prohibits the exercise of, or is
|
||||||
|
conditioned on the non-exercise of one or more of the rights that are
|
||||||
|
specifically granted under this License. You may not convey a covered
|
||||||
|
work if you are a party to an arrangement with a third party that is
|
||||||
|
in the business of distributing software, under which you make payment
|
||||||
|
to the third party based on the extent of your activity of conveying
|
||||||
|
the work, and under which the third party grants, to any of the
|
||||||
|
parties who would receive the covered work from you, a discriminatory
|
||||||
|
patent license (a) in connection with copies of the covered work
|
||||||
|
conveyed by you (or copies made from those copies), or (b) primarily
|
||||||
|
for and in connection with specific products or compilations that
|
||||||
|
contain the covered work, unless you entered into that arrangement,
|
||||||
|
or that patent license was granted, prior to 28 March 2007.
|
||||||
|
|
||||||
|
Nothing in this License shall be construed as excluding or limiting
|
||||||
|
any implied license or other defenses to infringement that may
|
||||||
|
otherwise be available to you under applicable patent law.
|
||||||
|
|
||||||
|
12. No Surrender of Others' Freedom.
|
||||||
|
|
||||||
|
If conditions are imposed on you (whether by court order, agreement or
|
||||||
|
otherwise) that contradict the conditions of this License, they do not
|
||||||
|
excuse you from the conditions of this License. If you cannot convey a
|
||||||
|
covered work so as to satisfy simultaneously your obligations under this
|
||||||
|
License and any other pertinent obligations, then as a consequence you may
|
||||||
|
not convey it at all. For example, if you agree to terms that obligate you
|
||||||
|
to collect a royalty for further conveying from those to whom you convey
|
||||||
|
the Program, the only way you could satisfy both those terms and this
|
||||||
|
License would be to refrain entirely from conveying the Program.
|
||||||
|
|
||||||
|
13. Use with the GNU Affero General Public License.
|
||||||
|
|
||||||
|
Notwithstanding any other provision of this License, you have
|
||||||
|
permission to link or combine any covered work with a work licensed
|
||||||
|
under version 3 of the GNU Affero General Public License into a single
|
||||||
|
combined work, and to convey the resulting work. The terms of this
|
||||||
|
License will continue to apply to the part which is the covered work,
|
||||||
|
but the special requirements of the GNU Affero General Public License,
|
||||||
|
section 13, concerning interaction through a network will apply to the
|
||||||
|
combination as such.
|
||||||
|
|
||||||
|
14. Revised Versions of this License.
|
||||||
|
|
||||||
|
The Free Software Foundation may publish revised and/or new versions of
|
||||||
|
the GNU General Public License from time to time. Such new versions will
|
||||||
|
be similar in spirit to the present version, but may differ in detail to
|
||||||
|
address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the
|
||||||
|
Program specifies that a certain numbered version of the GNU General
|
||||||
|
Public License "or any later version" applies to it, you have the
|
||||||
|
option of following the terms and conditions either of that numbered
|
||||||
|
version or of any later version published by the Free Software
|
||||||
|
Foundation. If the Program does not specify a version number of the
|
||||||
|
GNU General Public License, you may choose any version ever published
|
||||||
|
by the Free Software Foundation.
|
||||||
|
|
||||||
|
If the Program specifies that a proxy can decide which future
|
||||||
|
versions of the GNU General Public License can be used, that proxy's
|
||||||
|
public statement of acceptance of a version permanently authorizes you
|
||||||
|
to choose that version for the Program.
|
||||||
|
|
||||||
|
Later license versions may give you additional or different
|
||||||
|
permissions. However, no additional obligations are imposed on any
|
||||||
|
author or copyright holder as a result of your choosing to follow a
|
||||||
|
later version.
|
||||||
|
|
||||||
|
15. Disclaimer of Warranty.
|
||||||
|
|
||||||
|
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||||
|
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||||
|
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
||||||
|
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
||||||
|
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
||||||
|
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
16. Limitation of Liability.
|
||||||
|
|
||||||
|
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||||
|
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
||||||
|
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||||
|
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
||||||
|
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
||||||
|
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
||||||
|
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
||||||
|
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
||||||
|
SUCH DAMAGES.
|
||||||
|
|
||||||
|
17. Interpretation of Sections 15 and 16.
|
||||||
|
|
||||||
|
If the disclaimer of warranty and limitation of liability provided
|
||||||
|
above cannot be given local legal effect according to their terms,
|
||||||
|
reviewing courts shall apply local law that most closely approximates
|
||||||
|
an absolute waiver of all civil liability in connection with the
|
||||||
|
Program, unless a warranty or assumption of liability accompanies a
|
||||||
|
copy of the Program in return for a fee.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
|
If you develop a new program, and you want it to be of the greatest
|
||||||
|
possible use to the public, the best way to achieve this is to make it
|
||||||
|
free software which everyone can redistribute and change under these terms.
|
||||||
|
|
||||||
|
To do so, attach the following notices to the program. It is safest
|
||||||
|
to attach them to the start of each source file to most effectively
|
||||||
|
state the exclusion of warranty; and each file should have at least
|
||||||
|
the "copyright" line and a pointer to where the full notice is found.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program 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 General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
If the program does terminal interaction, make it output a short
|
||||||
|
notice like this when it starts in an interactive mode:
|
||||||
|
|
||||||
|
<program> Copyright (C) <year> <name of author>
|
||||||
|
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
|
This is free software, and you are welcome to redistribute it
|
||||||
|
under certain conditions; type `show c' for details.
|
||||||
|
|
||||||
|
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||||
|
parts of the General Public License. Of course, your program's commands
|
||||||
|
might be different; for a GUI interface, you would use an "about box".
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or school,
|
||||||
|
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||||
|
For more information on this, and how to apply and follow the GNU GPL, see
|
||||||
|
<http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
The GNU General Public License does not permit incorporating your program
|
||||||
|
into proprietary programs. If your program is a subroutine library, you
|
||||||
|
may consider it more useful to permit linking proprietary applications with
|
||||||
|
the library. If this is what you want to do, use the GNU Lesser General
|
||||||
|
Public License instead of this License. But first, please read
|
||||||
|
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
502
COPYING.LGPLv2.1
Normal file
502
COPYING.LGPLv2.1
Normal file
@ -0,0 +1,502 @@
|
|||||||
|
GNU LESSER GENERAL PUBLIC LICENSE
|
||||||
|
Version 2.1, February 1999
|
||||||
|
|
||||||
|
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
[This is the first released version of the Lesser GPL. It also counts
|
||||||
|
as the successor of the GNU Library Public License, version 2, hence
|
||||||
|
the version number 2.1.]
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
|
||||||
|
The licenses for most software are designed to take away your
|
||||||
|
freedom to share and change it. By contrast, the GNU General Public
|
||||||
|
Licenses are intended to guarantee your freedom to share and change
|
||||||
|
free software--to make sure the software is free for all its users.
|
||||||
|
|
||||||
|
This license, the Lesser General Public License, applies to some
|
||||||
|
specially designated software packages--typically libraries--of the
|
||||||
|
Free Software Foundation and other authors who decide to use it. You
|
||||||
|
can use it too, but we suggest you first think carefully about whether
|
||||||
|
this license or the ordinary General Public License is the better
|
||||||
|
strategy to use in any particular case, based on the explanations below.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom of use,
|
||||||
|
not price. Our General Public Licenses are designed to make sure that
|
||||||
|
you have the freedom to distribute copies of free software (and charge
|
||||||
|
for this service if you wish); that you receive source code or can get
|
||||||
|
it if you want it; that you can change the software and use pieces of
|
||||||
|
it in new free programs; and that you are informed that you can do
|
||||||
|
these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to make restrictions that forbid
|
||||||
|
distributors to deny you these rights or to ask you to surrender these
|
||||||
|
rights. These restrictions translate to certain responsibilities for
|
||||||
|
you if you distribute copies of the library or if you modify it.
|
||||||
|
|
||||||
|
For example, if you distribute copies of the library, whether gratis
|
||||||
|
or for a fee, you must give the recipients all the rights that we gave
|
||||||
|
you. You must make sure that they, too, receive or can get the source
|
||||||
|
code. If you link other code with the library, you must provide
|
||||||
|
complete object files to the recipients, so that they can relink them
|
||||||
|
with the library after making changes to the library and recompiling
|
||||||
|
it. And you must show them these terms so they know their rights.
|
||||||
|
|
||||||
|
We protect your rights with a two-step method: (1) we copyright the
|
||||||
|
library, and (2) we offer you this license, which gives you legal
|
||||||
|
permission to copy, distribute and/or modify the library.
|
||||||
|
|
||||||
|
To protect each distributor, we want to make it very clear that
|
||||||
|
there is no warranty for the free library. Also, if the library is
|
||||||
|
modified by someone else and passed on, the recipients should know
|
||||||
|
that what they have is not the original version, so that the original
|
||||||
|
author's reputation will not be affected by problems that might be
|
||||||
|
introduced by others.
|
||||||
|
|
||||||
|
Finally, software patents pose a constant threat to the existence of
|
||||||
|
any free program. We wish to make sure that a company cannot
|
||||||
|
effectively restrict the users of a free program by obtaining a
|
||||||
|
restrictive license from a patent holder. Therefore, we insist that
|
||||||
|
any patent license obtained for a version of the library must be
|
||||||
|
consistent with the full freedom of use specified in this license.
|
||||||
|
|
||||||
|
Most GNU software, including some libraries, is covered by the
|
||||||
|
ordinary GNU General Public License. This license, the GNU Lesser
|
||||||
|
General Public License, applies to certain designated libraries, and
|
||||||
|
is quite different from the ordinary General Public License. We use
|
||||||
|
this license for certain libraries in order to permit linking those
|
||||||
|
libraries into non-free programs.
|
||||||
|
|
||||||
|
When a program is linked with a library, whether statically or using
|
||||||
|
a shared library, the combination of the two is legally speaking a
|
||||||
|
combined work, a derivative of the original library. The ordinary
|
||||||
|
General Public License therefore permits such linking only if the
|
||||||
|
entire combination fits its criteria of freedom. The Lesser General
|
||||||
|
Public License permits more lax criteria for linking other code with
|
||||||
|
the library.
|
||||||
|
|
||||||
|
We call this license the "Lesser" General Public License because it
|
||||||
|
does Less to protect the user's freedom than the ordinary General
|
||||||
|
Public License. It also provides other free software developers Less
|
||||||
|
of an advantage over competing non-free programs. These disadvantages
|
||||||
|
are the reason we use the ordinary General Public License for many
|
||||||
|
libraries. However, the Lesser license provides advantages in certain
|
||||||
|
special circumstances.
|
||||||
|
|
||||||
|
For example, on rare occasions, there may be a special need to
|
||||||
|
encourage the widest possible use of a certain library, so that it becomes
|
||||||
|
a de-facto standard. To achieve this, non-free programs must be
|
||||||
|
allowed to use the library. A more frequent case is that a free
|
||||||
|
library does the same job as widely used non-free libraries. In this
|
||||||
|
case, there is little to gain by limiting the free library to free
|
||||||
|
software only, so we use the Lesser General Public License.
|
||||||
|
|
||||||
|
In other cases, permission to use a particular library in non-free
|
||||||
|
programs enables a greater number of people to use a large body of
|
||||||
|
free software. For example, permission to use the GNU C Library in
|
||||||
|
non-free programs enables many more people to use the whole GNU
|
||||||
|
operating system, as well as its variant, the GNU/Linux operating
|
||||||
|
system.
|
||||||
|
|
||||||
|
Although the Lesser General Public License is Less protective of the
|
||||||
|
users' freedom, it does ensure that the user of a program that is
|
||||||
|
linked with the Library has the freedom and the wherewithal to run
|
||||||
|
that program using a modified version of the Library.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and
|
||||||
|
modification follow. Pay close attention to the difference between a
|
||||||
|
"work based on the library" and a "work that uses the library". The
|
||||||
|
former contains code derived from the library, whereas the latter must
|
||||||
|
be combined with the library in order to run.
|
||||||
|
|
||||||
|
GNU LESSER GENERAL PUBLIC LICENSE
|
||||||
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
|
0. This License Agreement applies to any software library or other
|
||||||
|
program which contains a notice placed by the copyright holder or
|
||||||
|
other authorized party saying it may be distributed under the terms of
|
||||||
|
this Lesser General Public License (also called "this License").
|
||||||
|
Each licensee is addressed as "you".
|
||||||
|
|
||||||
|
A "library" means a collection of software functions and/or data
|
||||||
|
prepared so as to be conveniently linked with application programs
|
||||||
|
(which use some of those functions and data) to form executables.
|
||||||
|
|
||||||
|
The "Library", below, refers to any such software library or work
|
||||||
|
which has been distributed under these terms. A "work based on the
|
||||||
|
Library" means either the Library or any derivative work under
|
||||||
|
copyright law: that is to say, a work containing the Library or a
|
||||||
|
portion of it, either verbatim or with modifications and/or translated
|
||||||
|
straightforwardly into another language. (Hereinafter, translation is
|
||||||
|
included without limitation in the term "modification".)
|
||||||
|
|
||||||
|
"Source code" for a work means the preferred form of the work for
|
||||||
|
making modifications to it. For a library, complete source code means
|
||||||
|
all the source code for all modules it contains, plus any associated
|
||||||
|
interface definition files, plus the scripts used to control compilation
|
||||||
|
and installation of the library.
|
||||||
|
|
||||||
|
Activities other than copying, distribution and modification are not
|
||||||
|
covered by this License; they are outside its scope. The act of
|
||||||
|
running a program using the Library is not restricted, and output from
|
||||||
|
such a program is covered only if its contents constitute a work based
|
||||||
|
on the Library (independent of the use of the Library in a tool for
|
||||||
|
writing it). Whether that is true depends on what the Library does
|
||||||
|
and what the program that uses the Library does.
|
||||||
|
|
||||||
|
1. You may copy and distribute verbatim copies of the Library's
|
||||||
|
complete source code as you receive it, in any medium, provided that
|
||||||
|
you conspicuously and appropriately publish on each copy an
|
||||||
|
appropriate copyright notice and disclaimer of warranty; keep intact
|
||||||
|
all the notices that refer to this License and to the absence of any
|
||||||
|
warranty; and distribute a copy of this License along with the
|
||||||
|
Library.
|
||||||
|
|
||||||
|
You may charge a fee for the physical act of transferring a copy,
|
||||||
|
and you may at your option offer warranty protection in exchange for a
|
||||||
|
fee.
|
||||||
|
|
||||||
|
2. You may modify your copy or copies of the Library or any portion
|
||||||
|
of it, thus forming a work based on the Library, and copy and
|
||||||
|
distribute such modifications or work under the terms of Section 1
|
||||||
|
above, provided that you also meet all of these conditions:
|
||||||
|
|
||||||
|
a) The modified work must itself be a software library.
|
||||||
|
|
||||||
|
b) You must cause the files modified to carry prominent notices
|
||||||
|
stating that you changed the files and the date of any change.
|
||||||
|
|
||||||
|
c) You must cause the whole of the work to be licensed at no
|
||||||
|
charge to all third parties under the terms of this License.
|
||||||
|
|
||||||
|
d) If a facility in the modified Library refers to a function or a
|
||||||
|
table of data to be supplied by an application program that uses
|
||||||
|
the facility, other than as an argument passed when the facility
|
||||||
|
is invoked, then you must make a good faith effort to ensure that,
|
||||||
|
in the event an application does not supply such function or
|
||||||
|
table, the facility still operates, and performs whatever part of
|
||||||
|
its purpose remains meaningful.
|
||||||
|
|
||||||
|
(For example, a function in a library to compute square roots has
|
||||||
|
a purpose that is entirely well-defined independent of the
|
||||||
|
application. Therefore, Subsection 2d requires that any
|
||||||
|
application-supplied function or table used by this function must
|
||||||
|
be optional: if the application does not supply it, the square
|
||||||
|
root function must still compute square roots.)
|
||||||
|
|
||||||
|
These requirements apply to the modified work as a whole. If
|
||||||
|
identifiable sections of that work are not derived from the Library,
|
||||||
|
and can be reasonably considered independent and separate works in
|
||||||
|
themselves, then this License, and its terms, do not apply to those
|
||||||
|
sections when you distribute them as separate works. But when you
|
||||||
|
distribute the same sections as part of a whole which is a work based
|
||||||
|
on the Library, the distribution of the whole must be on the terms of
|
||||||
|
this License, whose permissions for other licensees extend to the
|
||||||
|
entire whole, and thus to each and every part regardless of who wrote
|
||||||
|
it.
|
||||||
|
|
||||||
|
Thus, it is not the intent of this section to claim rights or contest
|
||||||
|
your rights to work written entirely by you; rather, the intent is to
|
||||||
|
exercise the right to control the distribution of derivative or
|
||||||
|
collective works based on the Library.
|
||||||
|
|
||||||
|
In addition, mere aggregation of another work not based on the Library
|
||||||
|
with the Library (or with a work based on the Library) on a volume of
|
||||||
|
a storage or distribution medium does not bring the other work under
|
||||||
|
the scope of this License.
|
||||||
|
|
||||||
|
3. You may opt to apply the terms of the ordinary GNU General Public
|
||||||
|
License instead of this License to a given copy of the Library. To do
|
||||||
|
this, you must alter all the notices that refer to this License, so
|
||||||
|
that they refer to the ordinary GNU General Public License, version 2,
|
||||||
|
instead of to this License. (If a newer version than version 2 of the
|
||||||
|
ordinary GNU General Public License has appeared, then you can specify
|
||||||
|
that version instead if you wish.) Do not make any other change in
|
||||||
|
these notices.
|
||||||
|
|
||||||
|
Once this change is made in a given copy, it is irreversible for
|
||||||
|
that copy, so the ordinary GNU General Public License applies to all
|
||||||
|
subsequent copies and derivative works made from that copy.
|
||||||
|
|
||||||
|
This option is useful when you wish to copy part of the code of
|
||||||
|
the Library into a program that is not a library.
|
||||||
|
|
||||||
|
4. You may copy and distribute the Library (or a portion or
|
||||||
|
derivative of it, under Section 2) in object code or executable form
|
||||||
|
under the terms of Sections 1 and 2 above provided that you accompany
|
||||||
|
it with the complete corresponding machine-readable source code, which
|
||||||
|
must be distributed under the terms of Sections 1 and 2 above on a
|
||||||
|
medium customarily used for software interchange.
|
||||||
|
|
||||||
|
If distribution of object code is made by offering access to copy
|
||||||
|
from a designated place, then offering equivalent access to copy the
|
||||||
|
source code from the same place satisfies the requirement to
|
||||||
|
distribute the source code, even though third parties are not
|
||||||
|
compelled to copy the source along with the object code.
|
||||||
|
|
||||||
|
5. A program that contains no derivative of any portion of the
|
||||||
|
Library, but is designed to work with the Library by being compiled or
|
||||||
|
linked with it, is called a "work that uses the Library". Such a
|
||||||
|
work, in isolation, is not a derivative work of the Library, and
|
||||||
|
therefore falls outside the scope of this License.
|
||||||
|
|
||||||
|
However, linking a "work that uses the Library" with the Library
|
||||||
|
creates an executable that is a derivative of the Library (because it
|
||||||
|
contains portions of the Library), rather than a "work that uses the
|
||||||
|
library". The executable is therefore covered by this License.
|
||||||
|
Section 6 states terms for distribution of such executables.
|
||||||
|
|
||||||
|
When a "work that uses the Library" uses material from a header file
|
||||||
|
that is part of the Library, the object code for the work may be a
|
||||||
|
derivative work of the Library even though the source code is not.
|
||||||
|
Whether this is true is especially significant if the work can be
|
||||||
|
linked without the Library, or if the work is itself a library. The
|
||||||
|
threshold for this to be true is not precisely defined by law.
|
||||||
|
|
||||||
|
If such an object file uses only numerical parameters, data
|
||||||
|
structure layouts and accessors, and small macros and small inline
|
||||||
|
functions (ten lines or less in length), then the use of the object
|
||||||
|
file is unrestricted, regardless of whether it is legally a derivative
|
||||||
|
work. (Executables containing this object code plus portions of the
|
||||||
|
Library will still fall under Section 6.)
|
||||||
|
|
||||||
|
Otherwise, if the work is a derivative of the Library, you may
|
||||||
|
distribute the object code for the work under the terms of Section 6.
|
||||||
|
Any executables containing that work also fall under Section 6,
|
||||||
|
whether or not they are linked directly with the Library itself.
|
||||||
|
|
||||||
|
6. As an exception to the Sections above, you may also combine or
|
||||||
|
link a "work that uses the Library" with the Library to produce a
|
||||||
|
work containing portions of the Library, and distribute that work
|
||||||
|
under terms of your choice, provided that the terms permit
|
||||||
|
modification of the work for the customer's own use and reverse
|
||||||
|
engineering for debugging such modifications.
|
||||||
|
|
||||||
|
You must give prominent notice with each copy of the work that the
|
||||||
|
Library is used in it and that the Library and its use are covered by
|
||||||
|
this License. You must supply a copy of this License. If the work
|
||||||
|
during execution displays copyright notices, you must include the
|
||||||
|
copyright notice for the Library among them, as well as a reference
|
||||||
|
directing the user to the copy of this License. Also, you must do one
|
||||||
|
of these things:
|
||||||
|
|
||||||
|
a) Accompany the work with the complete corresponding
|
||||||
|
machine-readable source code for the Library including whatever
|
||||||
|
changes were used in the work (which must be distributed under
|
||||||
|
Sections 1 and 2 above); and, if the work is an executable linked
|
||||||
|
with the Library, with the complete machine-readable "work that
|
||||||
|
uses the Library", as object code and/or source code, so that the
|
||||||
|
user can modify the Library and then relink to produce a modified
|
||||||
|
executable containing the modified Library. (It is understood
|
||||||
|
that the user who changes the contents of definitions files in the
|
||||||
|
Library will not necessarily be able to recompile the application
|
||||||
|
to use the modified definitions.)
|
||||||
|
|
||||||
|
b) Use a suitable shared library mechanism for linking with the
|
||||||
|
Library. A suitable mechanism is one that (1) uses at run time a
|
||||||
|
copy of the library already present on the user's computer system,
|
||||||
|
rather than copying library functions into the executable, and (2)
|
||||||
|
will operate properly with a modified version of the library, if
|
||||||
|
the user installs one, as long as the modified version is
|
||||||
|
interface-compatible with the version that the work was made with.
|
||||||
|
|
||||||
|
c) Accompany the work with a written offer, valid for at
|
||||||
|
least three years, to give the same user the materials
|
||||||
|
specified in Subsection 6a, above, for a charge no more
|
||||||
|
than the cost of performing this distribution.
|
||||||
|
|
||||||
|
d) If distribution of the work is made by offering access to copy
|
||||||
|
from a designated place, offer equivalent access to copy the above
|
||||||
|
specified materials from the same place.
|
||||||
|
|
||||||
|
e) Verify that the user has already received a copy of these
|
||||||
|
materials or that you have already sent this user a copy.
|
||||||
|
|
||||||
|
For an executable, the required form of the "work that uses the
|
||||||
|
Library" must include any data and utility programs needed for
|
||||||
|
reproducing the executable from it. However, as a special exception,
|
||||||
|
the materials to be distributed need not include anything that is
|
||||||
|
normally distributed (in either source or binary form) with the major
|
||||||
|
components (compiler, kernel, and so on) of the operating system on
|
||||||
|
which the executable runs, unless that component itself accompanies
|
||||||
|
the executable.
|
||||||
|
|
||||||
|
It may happen that this requirement contradicts the license
|
||||||
|
restrictions of other proprietary libraries that do not normally
|
||||||
|
accompany the operating system. Such a contradiction means you cannot
|
||||||
|
use both them and the Library together in an executable that you
|
||||||
|
distribute.
|
||||||
|
|
||||||
|
7. You may place library facilities that are a work based on the
|
||||||
|
Library side-by-side in a single library together with other library
|
||||||
|
facilities not covered by this License, and distribute such a combined
|
||||||
|
library, provided that the separate distribution of the work based on
|
||||||
|
the Library and of the other library facilities is otherwise
|
||||||
|
permitted, and provided that you do these two things:
|
||||||
|
|
||||||
|
a) Accompany the combined library with a copy of the same work
|
||||||
|
based on the Library, uncombined with any other library
|
||||||
|
facilities. This must be distributed under the terms of the
|
||||||
|
Sections above.
|
||||||
|
|
||||||
|
b) Give prominent notice with the combined library of the fact
|
||||||
|
that part of it is a work based on the Library, and explaining
|
||||||
|
where to find the accompanying uncombined form of the same work.
|
||||||
|
|
||||||
|
8. You may not copy, modify, sublicense, link with, or distribute
|
||||||
|
the Library except as expressly provided under this License. Any
|
||||||
|
attempt otherwise to copy, modify, sublicense, link with, or
|
||||||
|
distribute the Library is void, and will automatically terminate your
|
||||||
|
rights under this License. However, parties who have received copies,
|
||||||
|
or rights, from you under this License will not have their licenses
|
||||||
|
terminated so long as such parties remain in full compliance.
|
||||||
|
|
||||||
|
9. You are not required to accept this License, since you have not
|
||||||
|
signed it. However, nothing else grants you permission to modify or
|
||||||
|
distribute the Library or its derivative works. These actions are
|
||||||
|
prohibited by law if you do not accept this License. Therefore, by
|
||||||
|
modifying or distributing the Library (or any work based on the
|
||||||
|
Library), you indicate your acceptance of this License to do so, and
|
||||||
|
all its terms and conditions for copying, distributing or modifying
|
||||||
|
the Library or works based on it.
|
||||||
|
|
||||||
|
10. Each time you redistribute the Library (or any work based on the
|
||||||
|
Library), the recipient automatically receives a license from the
|
||||||
|
original licensor to copy, distribute, link with or modify the Library
|
||||||
|
subject to these terms and conditions. You may not impose any further
|
||||||
|
restrictions on the recipients' exercise of the rights granted herein.
|
||||||
|
You are not responsible for enforcing compliance by third parties with
|
||||||
|
this License.
|
||||||
|
|
||||||
|
11. If, as a consequence of a court judgment or allegation of patent
|
||||||
|
infringement or for any other reason (not limited to patent issues),
|
||||||
|
conditions are imposed on you (whether by court order, agreement or
|
||||||
|
otherwise) that contradict the conditions of this License, they do not
|
||||||
|
excuse you from the conditions of this License. If you cannot
|
||||||
|
distribute so as to satisfy simultaneously your obligations under this
|
||||||
|
License and any other pertinent obligations, then as a consequence you
|
||||||
|
may not distribute the Library at all. For example, if a patent
|
||||||
|
license would not permit royalty-free redistribution of the Library by
|
||||||
|
all those who receive copies directly or indirectly through you, then
|
||||||
|
the only way you could satisfy both it and this License would be to
|
||||||
|
refrain entirely from distribution of the Library.
|
||||||
|
|
||||||
|
If any portion of this section is held invalid or unenforceable under any
|
||||||
|
particular circumstance, the balance of the section is intended to apply,
|
||||||
|
and the section as a whole is intended to apply in other circumstances.
|
||||||
|
|
||||||
|
It is not the purpose of this section to induce you to infringe any
|
||||||
|
patents or other property right claims or to contest validity of any
|
||||||
|
such claims; this section has the sole purpose of protecting the
|
||||||
|
integrity of the free software distribution system which is
|
||||||
|
implemented by public license practices. Many people have made
|
||||||
|
generous contributions to the wide range of software distributed
|
||||||
|
through that system in reliance on consistent application of that
|
||||||
|
system; it is up to the author/donor to decide if he or she is willing
|
||||||
|
to distribute software through any other system and a licensee cannot
|
||||||
|
impose that choice.
|
||||||
|
|
||||||
|
This section is intended to make thoroughly clear what is believed to
|
||||||
|
be a consequence of the rest of this License.
|
||||||
|
|
||||||
|
12. If the distribution and/or use of the Library is restricted in
|
||||||
|
certain countries either by patents or by copyrighted interfaces, the
|
||||||
|
original copyright holder who places the Library under this License may add
|
||||||
|
an explicit geographical distribution limitation excluding those countries,
|
||||||
|
so that distribution is permitted only in or among countries not thus
|
||||||
|
excluded. In such case, this License incorporates the limitation as if
|
||||||
|
written in the body of this License.
|
||||||
|
|
||||||
|
13. The Free Software Foundation may publish revised and/or new
|
||||||
|
versions of the Lesser General Public License from time to time.
|
||||||
|
Such new versions will be similar in spirit to the present version,
|
||||||
|
but may differ in detail to address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the Library
|
||||||
|
specifies a version number of this License which applies to it and
|
||||||
|
"any later version", you have the option of following the terms and
|
||||||
|
conditions either of that version or of any later version published by
|
||||||
|
the Free Software Foundation. If the Library does not specify a
|
||||||
|
license version number, you may choose any version ever published by
|
||||||
|
the Free Software Foundation.
|
||||||
|
|
||||||
|
14. If you wish to incorporate parts of the Library into other free
|
||||||
|
programs whose distribution conditions are incompatible with these,
|
||||||
|
write to the author to ask for permission. For software which is
|
||||||
|
copyrighted by the Free Software Foundation, write to the Free
|
||||||
|
Software Foundation; we sometimes make exceptions for this. Our
|
||||||
|
decision will be guided by the two goals of preserving the free status
|
||||||
|
of all derivatives of our free software and of promoting the sharing
|
||||||
|
and reuse of software generally.
|
||||||
|
|
||||||
|
NO WARRANTY
|
||||||
|
|
||||||
|
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||||
|
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||||
|
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
||||||
|
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
|
||||||
|
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
|
||||||
|
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
|
||||||
|
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
||||||
|
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
|
||||||
|
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
|
||||||
|
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
||||||
|
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
||||||
|
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
|
||||||
|
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
||||||
|
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
||||||
|
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||||
|
DAMAGES.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
How to Apply These Terms to Your New Libraries
|
||||||
|
|
||||||
|
If you develop a new library, and you want it to be of the greatest
|
||||||
|
possible use to the public, we recommend making it free software that
|
||||||
|
everyone can redistribute and change. You can do so by permitting
|
||||||
|
redistribution under these terms (or, alternatively, under the terms of the
|
||||||
|
ordinary General Public License).
|
||||||
|
|
||||||
|
To apply these terms, attach the following notices to the library. It is
|
||||||
|
safest to attach them to the start of each source file to most effectively
|
||||||
|
convey the exclusion of warranty; and each file should have at least the
|
||||||
|
"copyright" line and a pointer to where the full notice is found.
|
||||||
|
|
||||||
|
<one line to give the library's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
|
This library 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 Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This library 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 this library; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or your
|
||||||
|
school, if any, to sign a "copyright disclaimer" for the library, if
|
||||||
|
necessary. Here is a sample; alter the names:
|
||||||
|
|
||||||
|
Yoyodyne, Inc., hereby disclaims all copyright interest in the
|
||||||
|
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
|
||||||
|
|
||||||
|
<signature of Ty Coon>, 1 April 1990
|
||||||
|
Ty Coon, President of Vice
|
||||||
|
|
||||||
|
That's all there is to it!
|
165
COPYING.LGPLv3
Normal file
165
COPYING.LGPLv3
Normal file
@ -0,0 +1,165 @@
|
|||||||
|
GNU LESSER GENERAL PUBLIC LICENSE
|
||||||
|
Version 3, 29 June 2007
|
||||||
|
|
||||||
|
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
|
||||||
|
This version of the GNU Lesser General Public License incorporates
|
||||||
|
the terms and conditions of version 3 of the GNU General Public
|
||||||
|
License, supplemented by the additional permissions listed below.
|
||||||
|
|
||||||
|
0. Additional Definitions.
|
||||||
|
|
||||||
|
As used herein, "this License" refers to version 3 of the GNU Lesser
|
||||||
|
General Public License, and the "GNU GPL" refers to version 3 of the GNU
|
||||||
|
General Public License.
|
||||||
|
|
||||||
|
"The Library" refers to a covered work governed by this License,
|
||||||
|
other than an Application or a Combined Work as defined below.
|
||||||
|
|
||||||
|
An "Application" is any work that makes use of an interface provided
|
||||||
|
by the Library, but which is not otherwise based on the Library.
|
||||||
|
Defining a subclass of a class defined by the Library is deemed a mode
|
||||||
|
of using an interface provided by the Library.
|
||||||
|
|
||||||
|
A "Combined Work" is a work produced by combining or linking an
|
||||||
|
Application with the Library. The particular version of the Library
|
||||||
|
with which the Combined Work was made is also called the "Linked
|
||||||
|
Version".
|
||||||
|
|
||||||
|
The "Minimal Corresponding Source" for a Combined Work means the
|
||||||
|
Corresponding Source for the Combined Work, excluding any source code
|
||||||
|
for portions of the Combined Work that, considered in isolation, are
|
||||||
|
based on the Application, and not on the Linked Version.
|
||||||
|
|
||||||
|
The "Corresponding Application Code" for a Combined Work means the
|
||||||
|
object code and/or source code for the Application, including any data
|
||||||
|
and utility programs needed for reproducing the Combined Work from the
|
||||||
|
Application, but excluding the System Libraries of the Combined Work.
|
||||||
|
|
||||||
|
1. Exception to Section 3 of the GNU GPL.
|
||||||
|
|
||||||
|
You may convey a covered work under sections 3 and 4 of this License
|
||||||
|
without being bound by section 3 of the GNU GPL.
|
||||||
|
|
||||||
|
2. Conveying Modified Versions.
|
||||||
|
|
||||||
|
If you modify a copy of the Library, and, in your modifications, a
|
||||||
|
facility refers to a function or data to be supplied by an Application
|
||||||
|
that uses the facility (other than as an argument passed when the
|
||||||
|
facility is invoked), then you may convey a copy of the modified
|
||||||
|
version:
|
||||||
|
|
||||||
|
a) under this License, provided that you make a good faith effort to
|
||||||
|
ensure that, in the event an Application does not supply the
|
||||||
|
function or data, the facility still operates, and performs
|
||||||
|
whatever part of its purpose remains meaningful, or
|
||||||
|
|
||||||
|
b) under the GNU GPL, with none of the additional permissions of
|
||||||
|
this License applicable to that copy.
|
||||||
|
|
||||||
|
3. Object Code Incorporating Material from Library Header Files.
|
||||||
|
|
||||||
|
The object code form of an Application may incorporate material from
|
||||||
|
a header file that is part of the Library. You may convey such object
|
||||||
|
code under terms of your choice, provided that, if the incorporated
|
||||||
|
material is not limited to numerical parameters, data structure
|
||||||
|
layouts and accessors, or small macros, inline functions and templates
|
||||||
|
(ten or fewer lines in length), you do both of the following:
|
||||||
|
|
||||||
|
a) Give prominent notice with each copy of the object code that the
|
||||||
|
Library is used in it and that the Library and its use are
|
||||||
|
covered by this License.
|
||||||
|
|
||||||
|
b) Accompany the object code with a copy of the GNU GPL and this license
|
||||||
|
document.
|
||||||
|
|
||||||
|
4. Combined Works.
|
||||||
|
|
||||||
|
You may convey a Combined Work under terms of your choice that,
|
||||||
|
taken together, effectively do not restrict modification of the
|
||||||
|
portions of the Library contained in the Combined Work and reverse
|
||||||
|
engineering for debugging such modifications, if you also do each of
|
||||||
|
the following:
|
||||||
|
|
||||||
|
a) Give prominent notice with each copy of the Combined Work that
|
||||||
|
the Library is used in it and that the Library and its use are
|
||||||
|
covered by this License.
|
||||||
|
|
||||||
|
b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
||||||
|
document.
|
||||||
|
|
||||||
|
c) For a Combined Work that displays copyright notices during
|
||||||
|
execution, include the copyright notice for the Library among
|
||||||
|
these notices, as well as a reference directing the user to the
|
||||||
|
copies of the GNU GPL and this license document.
|
||||||
|
|
||||||
|
d) Do one of the following:
|
||||||
|
|
||||||
|
0) Convey the Minimal Corresponding Source under the terms of this
|
||||||
|
License, and the Corresponding Application Code in a form
|
||||||
|
suitable for, and under terms that permit, the user to
|
||||||
|
recombine or relink the Application with a modified version of
|
||||||
|
the Linked Version to produce a modified Combined Work, in the
|
||||||
|
manner specified by section 6 of the GNU GPL for conveying
|
||||||
|
Corresponding Source.
|
||||||
|
|
||||||
|
1) Use a suitable shared library mechanism for linking with the
|
||||||
|
Library. A suitable mechanism is one that (a) uses at run time
|
||||||
|
a copy of the Library already present on the user's computer
|
||||||
|
system, and (b) will operate properly with a modified version
|
||||||
|
of the Library that is interface-compatible with the Linked
|
||||||
|
Version.
|
||||||
|
|
||||||
|
e) Provide Installation Information, but only if you would otherwise
|
||||||
|
be required to provide such information under section 6 of the
|
||||||
|
GNU GPL, and only to the extent that such information is
|
||||||
|
necessary to install and execute a modified version of the
|
||||||
|
Combined Work produced by recombining or relinking the
|
||||||
|
Application with a modified version of the Linked Version. (If
|
||||||
|
you use option 4d0, the Installation Information must accompany
|
||||||
|
the Minimal Corresponding Source and Corresponding Application
|
||||||
|
Code. If you use option 4d1, you must provide the Installation
|
||||||
|
Information in the manner specified by section 6 of the GNU GPL
|
||||||
|
for conveying Corresponding Source.)
|
||||||
|
|
||||||
|
5. Combined Libraries.
|
||||||
|
|
||||||
|
You may place library facilities that are a work based on the
|
||||||
|
Library side by side in a single library together with other library
|
||||||
|
facilities that are not Applications and are not covered by this
|
||||||
|
License, and convey such a combined library under terms of your
|
||||||
|
choice, if you do both of the following:
|
||||||
|
|
||||||
|
a) Accompany the combined library with a copy of the same work based
|
||||||
|
on the Library, uncombined with any other library facilities,
|
||||||
|
conveyed under the terms of this License.
|
||||||
|
|
||||||
|
b) Give prominent notice with the combined library that part of it
|
||||||
|
is a work based on the Library, and explaining where to find the
|
||||||
|
accompanying uncombined form of the same work.
|
||||||
|
|
||||||
|
6. Revised Versions of the GNU Lesser General Public License.
|
||||||
|
|
||||||
|
The Free Software Foundation may publish revised and/or new versions
|
||||||
|
of the GNU Lesser General Public License from time to time. Such new
|
||||||
|
versions will be similar in spirit to the present version, but may
|
||||||
|
differ in detail to address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the
|
||||||
|
Library as you received it specifies that a certain numbered version
|
||||||
|
of the GNU Lesser General Public License "or any later version"
|
||||||
|
applies to it, you have the option of following the terms and
|
||||||
|
conditions either of that published version or of any later version
|
||||||
|
published by the Free Software Foundation. If the Library as you
|
||||||
|
received it does not specify a version number of the GNU Lesser
|
||||||
|
General Public License, you may choose any version of the GNU Lesser
|
||||||
|
General Public License ever published by the Free Software Foundation.
|
||||||
|
|
||||||
|
If the Library as you received it specifies that a proxy can decide
|
||||||
|
whether future versions of the GNU Lesser General Public License shall
|
||||||
|
apply, that proxy's public statement of acceptance of any version is
|
||||||
|
permanent authorization for you to choose that version for the
|
||||||
|
Library.
|
@ -83,6 +83,10 @@
|
|||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
-- Game List
|
-- Game List
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = PBPX-95201
|
||||||
|
Name = Underwater Unit
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
Serial = PBPX-95503
|
Serial = PBPX-95503
|
||||||
Name = Gran Turismo 3 - A-Spec [PS2 Bundle]
|
Name = Gran Turismo 3 - A-Spec [PS2 Bundle]
|
||||||
Region = NTSC-U
|
Region = NTSC-U
|
||||||
@ -11854,6 +11858,20 @@ Serial = SCAJ-30011
|
|||||||
Name = God of War II
|
Name = God of War II
|
||||||
Region = NTSC-E
|
Region = NTSC-E
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SCKA-10006
|
||||||
|
Name = Come on Baby
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SCKA-20004
|
||||||
|
Name = Sly Cooper and the Thievius Raccoonus
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SCKA-20008
|
||||||
|
Name = Tales of Destiny 2
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
Serial = SCKA-20009
|
Serial = SCKA-20009
|
||||||
Name = R-Type Final
|
Name = R-Type Final
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
@ -11864,16 +11882,53 @@ Serial = SCKA-20010
|
|||||||
Name = Jak II
|
Name = Jak II
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SCKA-20011
|
||||||
|
Name = Ratchet and Clank 2
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
Serial = SCKA-20012
|
Serial = SCKA-20012
|
||||||
Name = Ark the Lad - jeongryeongui Hwanghon
|
Name = Ark the Lad - jeongryeongui Hwanghon
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SCKA-20014
|
||||||
|
Name = Dark Claud 2
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SCKA-20015
|
||||||
|
Name = Time Crisis 3
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SCKA-20016
|
||||||
|
Name = Soul Calibur 2
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
vuClampMode = 2 //SPS(Spikey Polygon Syndrome) solution
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SCKA-20018
|
||||||
|
Name = The Getaway
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SCKA-20019
|
||||||
|
Name = Siren
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
Serial = SCKA-20020
|
Serial = SCKA-20020
|
||||||
Name = SOCOM II - U.S. Navy SEALs
|
Name = SOCOM II - U.S. Navy SEALs
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
Compat = 5
|
Compat = 5
|
||||||
VIF1StallHack = 1 //HUD
|
VIF1StallHack = 1 //HUD
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SCKA-20022
|
||||||
|
Name = Gran Turismo 4 Prologue
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SCKA-20023
|
||||||
|
Name = Fatal Frame 2
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
Serial = SCKA-20025
|
Serial = SCKA-20025
|
||||||
Name = Katamari Damacy
|
Name = Katamari Damacy
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
@ -11883,6 +11938,11 @@ Serial = SCKA-20026
|
|||||||
Name = Gungrave O.D.
|
Name = Gungrave O.D.
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SCKA-20027
|
||||||
|
Name = Ghost in the Shell - Stand Alone Complex
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
Serial = SCKA-20028
|
Serial = SCKA-20028
|
||||||
Name = Ico [PlayStation2 Big Hit Series]
|
Name = Ico [PlayStation2 Big Hit Series]
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
@ -11915,6 +11975,10 @@ Serial = SCKA-20038
|
|||||||
Name = Time Crisis - Crisis Zone
|
Name = Time Crisis - Crisis Zone
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SCKA-20039
|
||||||
|
Name = Tekken Nina Williams In Death By Degree
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
Serial = SCKA-20040
|
Serial = SCKA-20040
|
||||||
Name = Jak 3
|
Name = Jak 3
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
@ -11923,6 +11987,15 @@ Serial = SCKA-20043
|
|||||||
Name = Magna Carta
|
Name = Magna Carta
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SCKA-20044
|
||||||
|
Name = Sly Cooper 2 Band of Thieves
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SCKA-20047
|
||||||
|
Name = Armored Core Nine Breaker
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
Serial = SCKA-20048
|
Serial = SCKA-20048
|
||||||
Name = Killzone
|
Name = Killzone
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
@ -11935,12 +12008,18 @@ eeClampMode = 1
|
|||||||
Serial = SCKA-20050
|
Serial = SCKA-20050
|
||||||
Name = Tales of Legendia
|
Name = Tales of Legendia
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
Serial = SCKA-20051
|
Serial = SCKA-20051
|
||||||
Name = Minna Daisuki Katamari Damacy
|
Name = Minna Daisuki Katamari Damacy
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
SkipMPEGHack = 1
|
SkipMPEGHack = 1
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SCKA-20052
|
||||||
|
Name = Genji
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
Serial = SCKA-20053
|
Serial = SCKA-20053
|
||||||
Name = SOCOM II - U.S. Navy SEALs [PlayStation 2 Big Hit Series]
|
Name = SOCOM II - U.S. Navy SEALs [PlayStation 2 Big Hit Series]
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
@ -11966,6 +12045,7 @@ Region = NTSC-K
|
|||||||
Serial = SCKA-20059
|
Serial = SCKA-20059
|
||||||
Name = Soul Calibur III
|
Name = Soul Calibur III
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
Serial = SCKA-20060
|
Serial = SCKA-20060
|
||||||
Name = Ratchet - Deadlocked
|
Name = Ratchet - Deadlocked
|
||||||
@ -11974,15 +12054,25 @@ Region = NTSC-K
|
|||||||
Serial = SCKA-20061
|
Serial = SCKA-20061
|
||||||
Name = Wanda to Kyozou (Shadow of the Colossus)
|
Name = Wanda to Kyozou (Shadow of the Colossus)
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
Serial = SCKA-20062
|
Serial = SCKA-20062
|
||||||
Name = Ape Escape 3
|
Name = Ape Escape 3
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SCKA-20063
|
||||||
|
Name = Sly Cooper 3 Honor Among Thieves
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
Serial = SCKA-20064
|
Serial = SCKA-20064
|
||||||
Name = SOCOM 3 - U.S. Navy SEALs
|
Name = SOCOM 3 - U.S. Navy SEALs
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SCKA-20069
|
||||||
|
Name = Siren 2
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
Serial = SCKA-20070
|
Serial = SCKA-20070
|
||||||
Name = Ace Combat Zero - The Belkan War
|
Name = Ace Combat Zero - The Belkan War
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
@ -12022,10 +12112,19 @@ Serial = SCKA-20087
|
|||||||
Name = Shin Onimusha - Dawn of Dreams [Disc2of2]
|
Name = Shin Onimusha - Dawn of Dreams [Disc2of2]
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SCKA-20090
|
||||||
|
Name = God Hand
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
Serial = SCKA-20092
|
Serial = SCKA-20092
|
||||||
Name = K-1 World Grand Prix 2006
|
Name = K-1 World Grand Prix 2006
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SCKA-20096
|
||||||
|
Name = Barnyard
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
Serial = SCKA-20099
|
Serial = SCKA-20099
|
||||||
Name = Persona 3
|
Name = Persona 3
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
@ -12053,10 +12152,34 @@ Serial = SCKA-20117
|
|||||||
Name = Super Robot Taisen OG - Original Generations Gaiden
|
Name = Super Robot Taisen OG - Original Generations Gaiden
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SCKA-20120
|
||||||
|
Name = Ratchet and Clank
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SCKA-20132
|
||||||
|
Name = Shin Megami Tensei - Persona 4
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
VuClipFlagHack = 1
|
||||||
|
---------------------------------------------
|
||||||
Serial = SCKA-24008
|
Serial = SCKA-24008
|
||||||
Name = SOCOM - U.S. Navy SEALs
|
Name = SOCOM - U.S. Navy SEALs
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SCKA-30001
|
||||||
|
Name = Gran Turismo 4
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SCKA-30002
|
||||||
|
Name = God of War
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SCKA-30006
|
||||||
|
Name = God of War 2
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
Serial = SCPS-11001
|
Serial = SCPS-11001
|
||||||
Name = I.Q. Remix
|
Name = I.Q. Remix
|
||||||
Region = NTSC-J
|
Region = NTSC-J
|
||||||
@ -13229,10 +13352,51 @@ Serial = SCPS-55903
|
|||||||
Name = Gran Turismo - Concept 2002 Tokyo-Geneva
|
Name = Gran Turismo - Concept 2002 Tokyo-Geneva
|
||||||
Region = NTSC-J
|
Region = NTSC-J
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SCPS-56001
|
||||||
|
Name = Ico
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
eeClampMode = 2 // Otherwise freezes in various spots, check full intro
|
||||||
|
vuClampMode = 1 // Otherwise camera gets stuck off the player in various spots.
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SCPS-56002
|
||||||
|
Name = Tekken Tag Tournament
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SCPS-56005
|
||||||
|
Name = Gran Turismo Concept 2002 Tokyo-Seoul
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SCPS-56006
|
||||||
|
Name = Tekken 4
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
[patches = 35B4028B]
|
||||||
|
comment=patches by Shadow Lady
|
||||||
|
//IPU BUSY! fix...
|
||||||
|
patch=0,EE,00290b24,word,24200001
|
||||||
|
patch=0,EE,00290d24,word,00000000
|
||||||
|
[/patches]
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SCPS-56008
|
||||||
|
Name = Fatal Frame
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
Serial = SCPS-56011
|
Serial = SCPS-56011
|
||||||
Name = U - Underwater Unit
|
Name = U - Underwater Unit
|
||||||
Region = NTSC-J
|
Region = NTSC-J
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SCPS-56012
|
||||||
|
Name = Raw Danger
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SCPS-56014
|
||||||
|
Name = Gungrave
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
Serial = SCPS-56015
|
Serial = SCPS-56015
|
||||||
Name = Ninja Assault
|
Name = Ninja Assault
|
||||||
Region = NTSC-J
|
Region = NTSC-J
|
||||||
@ -13491,6 +13655,10 @@ Serial = SLAJ-35003
|
|||||||
Name = Sakura Taisen - Atsuki Chishioni Ni
|
Name = Sakura Taisen - Atsuki Chishioni Ni
|
||||||
Region = NTSC-Unk
|
Region = NTSC-Unk
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-15003
|
||||||
|
Name = Shikigami no Shiro II
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-15004
|
Serial = SLKA-15004
|
||||||
Name = Gunbird - Premium Package
|
Name = Gunbird - Premium Package
|
||||||
Region = NTSC-J
|
Region = NTSC-J
|
||||||
@ -13500,10 +13668,37 @@ Name = Strikers 1945 III
|
|||||||
Region = NTSC-J
|
Region = NTSC-J
|
||||||
Compat = 5
|
Compat = 5
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-15007
|
||||||
|
Name = GrowLanser2
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
OPHFLagHack = 1
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-15008
|
Serial = SLKA-15008
|
||||||
Name = Choro Q HG2
|
Name = Choro Q HG2
|
||||||
Region = NTSC-E-F-G
|
Region = NTSC-E-F-G
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-15021
|
||||||
|
Name = GrowLanser3
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
OPHFLagHack = 1
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLKA-15032
|
||||||
|
Name = Gradius V
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25012
|
||||||
|
Name = Davil May Cry 2 Dante
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25013
|
||||||
|
Name = Davil May Cry 2 Lucia
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-25015
|
Serial = SLKA-25015
|
||||||
Name = Evolution Skateboarding
|
Name = Evolution Skateboarding
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
@ -13511,11 +13706,21 @@ Region = NTSC-K
|
|||||||
Serial = SLKA-25021
|
Serial = SLKA-25021
|
||||||
Name = Shinobi
|
Name = Shinobi
|
||||||
Region = NTSC-M3
|
Region = NTSC-M3
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25024
|
||||||
|
Name = Lilo & Stitch Experiment
|
||||||
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
Serial = SLKA-25026
|
Serial = SLKA-25026
|
||||||
Name = Chaos Legion
|
Name = Chaos Legion
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25033
|
||||||
|
Name = Gregory Horror Show
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 1
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-25035
|
Serial = SLKA-25035
|
||||||
Name = Mobile Suit Gundam - Lost War Chronicles
|
Name = Mobile Suit Gundam - Lost War Chronicles
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
@ -13524,14 +13729,37 @@ Serial = SLKA-25038
|
|||||||
Name = Gun Survivor 4 - Biohazard - Heroes Never Die
|
Name = Gun Survivor 4 - Biohazard - Heroes Never Die
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25041
|
||||||
|
Name = Armored Core 3 Silent Line
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25042
|
||||||
|
Name = Tamamayu Monogatari 2 Horobi no Mushi
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-25043
|
Serial = SLKA-25043
|
||||||
Name = Virtua Fighter 4 - Evolution
|
Name = Virtua Fighter 4 - Evolution
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25046
|
||||||
|
Name = Dragonball Z
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25048
|
||||||
|
Name = Makai Senki Disgaea
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
Serial = SLKA-25049
|
Serial = SLKA-25049
|
||||||
Name = Metal Slug 3
|
Name = Metal Slug 3
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25051
|
||||||
|
Name = Clock Tower 3
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-25052
|
Serial = SLKA-25052
|
||||||
Name = Air Ranger 2 - Rescue Helicopter
|
Name = Air Ranger 2 - Rescue Helicopter
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
@ -13540,18 +13768,51 @@ Serial = SLKA-25060
|
|||||||
Name = I.Q. Remix+ - Intelligent Qube
|
Name = I.Q. Remix+ - Intelligent Qube
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25062
|
||||||
|
Name = Dragonball Z 2
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-25063
|
Serial = SLKA-25063
|
||||||
Name = Kaido Battle
|
Name = Kaido Battle
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25064
|
||||||
|
Name = Tenchu 3 Wrath of Heaven
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25066
|
||||||
|
Name = Zone of The Enders 2nd Runner SE
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25067
|
||||||
|
Name = Unlimited Saga
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-25070
|
Serial = SLKA-25070
|
||||||
Name = Guity Gear XX Reload - The Midnight Carnival
|
Name = Guity Gear XX Reload - The Midnight Carnival
|
||||||
Region = NTSC-J-K
|
Region = NTSC-J-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25071
|
||||||
|
Name = Tantei Jinguji Saburo 8 Inocent Black
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-25077
|
Serial = SLKA-25077
|
||||||
Name = Culdicept II - Expansion
|
Name = Culdicept II - Expansion
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25081
|
||||||
|
Name = SD Gundam G Generation Neo
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25082
|
||||||
|
Name = Castlevania Lament of Innocence
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-25087
|
Serial = SLKA-25087
|
||||||
Name = FIFA Soccer 2004
|
Name = FIFA Soccer 2004
|
||||||
Region = NTSC-J
|
Region = NTSC-J
|
||||||
@ -13561,6 +13822,19 @@ Serial = SLKA-25091
|
|||||||
Name = Hanjuku Hero vs. 3D
|
Name = Hanjuku Hero vs. 3D
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25092
|
||||||
|
Name = Onimusha Buraiden
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25093
|
||||||
|
Name = Onimusha 3 Demon Siege
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25100
|
||||||
|
Name = Dragon Quest V Dragon Quarter
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-25103
|
Serial = SLKA-25103
|
||||||
Name = Neon Genesis Evangelion 2
|
Name = Neon Genesis Evangelion 2
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
@ -13569,6 +13843,10 @@ Serial = SLKA-25112
|
|||||||
Name = King of Fighters 2001, The
|
Name = King of Fighters 2001, The
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25115
|
||||||
|
Name = Rockman X7
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-25125
|
Serial = SLKA-25125
|
||||||
Name = SNK vs. Capcom - Chaos
|
Name = SNK vs. Capcom - Chaos
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
@ -13581,6 +13859,10 @@ Serial = SLKA-25131
|
|||||||
Name = Project Altered Beast
|
Name = Project Altered Beast
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25132
|
||||||
|
Name = Mobile Suit Gundam Encounters in Space
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-25133
|
Serial = SLKA-25133
|
||||||
Name = AirForce Delta Strike
|
Name = AirForce Delta Strike
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
@ -13590,6 +13872,11 @@ Serial = SLKA-25134
|
|||||||
Name = NBA Street v3
|
Name = NBA Street v3
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25135
|
||||||
|
Name = Kunoichi
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-25139
|
Serial = SLKA-25139
|
||||||
Name = Fu-un Shinsengumi
|
Name = Fu-un Shinsengumi
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
@ -13597,6 +13884,12 @@ Region = NTSC-K
|
|||||||
Serial = SLKA-25144
|
Serial = SLKA-25144
|
||||||
Name = Final Fantasy X-2
|
Name = Final Fantasy X-2
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25149
|
||||||
|
Name = Silent Hill 4 The Room
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
Serial = SLKA-25150
|
Serial = SLKA-25150
|
||||||
Name = Bujingai
|
Name = Bujingai
|
||||||
@ -13610,6 +13903,10 @@ Serial = SLKA-25153
|
|||||||
Name = Winning Eleven 10 - Liveware Edition
|
Name = Winning Eleven 10 - Liveware Edition
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25159
|
||||||
|
Name = Astro Boy
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-25160
|
Serial = SLKA-25160
|
||||||
Name = Shin Megami Tensei III - Nocturne Maniax
|
Name = Shin Megami Tensei III - Nocturne Maniax
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
@ -13629,10 +13926,27 @@ Serial = SLKA-25167
|
|||||||
Name = King of Fighters XI, The
|
Name = King of Fighters XI, The
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25170
|
||||||
|
Name = SD Gundam G Generation Seed
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25171
|
||||||
|
Name = Guon
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-25175
|
Serial = SLKA-25175
|
||||||
Name = Transformers
|
Name = Transformers
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25181
|
||||||
|
Name = Energy Airforce Aim Strike
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25182
|
||||||
|
Name = Hajime no Ippo2 Victorious Road
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-25183
|
Serial = SLKA-25183
|
||||||
Name = Street Fighter - Anniversary Collection
|
Name = Street Fighter - Anniversary Collection
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
@ -13641,14 +13955,28 @@ Serial = SLKA-25186
|
|||||||
Name = King of Fighters, The - Maximum Impact [Limited Edition]
|
Name = King of Fighters, The - Maximum Impact [Limited Edition]
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25198
|
||||||
|
Name = Tenchu Kurenai
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-25199
|
Serial = SLKA-25199
|
||||||
Name = Kengo 3
|
Name = Kengo 3
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
Serial = SLKA-25200
|
Serial = SLKA-25200
|
||||||
Name = SSX 3 [PlayStation 2 - Big Hit Series]
|
Name = SSX 3 [PlayStation 2 - Big Hit Series]
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25201
|
||||||
|
Name = Armored Core Nexus Evolution DISC1
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25202
|
||||||
|
Name = Armored Core Nexus Revolution DISC2
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-25204
|
Serial = SLKA-25204
|
||||||
Name = Showdown - Legends of Wrestling
|
Name = Showdown - Legends of Wrestling
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
@ -13660,6 +13988,7 @@ Region = NTSC-K
|
|||||||
Serial = SLKA-25207
|
Serial = SLKA-25207
|
||||||
Name = Sakura Taisen V - Episode 0 - Samurai Girl of Wild
|
Name = Sakura Taisen V - Episode 0 - Samurai Girl of Wild
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
Serial = SLKA-25208
|
Serial = SLKA-25208
|
||||||
Name = From TV Animation - One Piece - Round the Land!
|
Name = From TV Animation - One Piece - Round the Land!
|
||||||
@ -13668,6 +13997,7 @@ Region = NTSC-K
|
|||||||
Serial = SLKA-25213
|
Serial = SLKA-25213
|
||||||
Name = Berserk
|
Name = Berserk
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
Serial = SLKA-25214
|
Serial = SLKA-25214
|
||||||
Name = Final Fantasy X - International [PlayStation 2 - Big Hit Series]
|
Name = Final Fantasy X - International [PlayStation 2 - Big Hit Series]
|
||||||
@ -13690,10 +14020,38 @@ Serial = SLKA-25218
|
|||||||
Name = Hitman - Contracts
|
Name = Hitman - Contracts
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25219
|
||||||
|
Name = Monster Hunter G
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25221
|
||||||
|
Name = Busin Zero
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25222
|
||||||
|
Name = Rockman X8
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-25224
|
Serial = SLKA-25224
|
||||||
Name = Detective Saburou Jinguji 9 - Kind of Blue
|
Name = Detective Saburou Jinguji 9 - Kind of Blue
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25225
|
||||||
|
Name = Dororo
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25227
|
||||||
|
Name = Neo Contra
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25232
|
||||||
|
Name = Naruto Naruthimetto Hero International
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-25233
|
Serial = SLKA-25233
|
||||||
Name = Sonic - Mega Collection Plus
|
Name = Sonic - Mega Collection Plus
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
@ -13706,6 +14064,10 @@ Serial = SLKA-25244
|
|||||||
Name = WWE SmackDown! vs. Raw
|
Name = WWE SmackDown! vs. Raw
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25246
|
||||||
|
Name = Bard's Tale
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-25249
|
Serial = SLKA-25249
|
||||||
Name = Ys - The Ark of Napishtim [with Guide Book]
|
Name = Ys - The Ark of Napishtim [with Guide Book]
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
@ -13718,6 +14080,12 @@ Serial = SLKA-25252
|
|||||||
Name = Forgotten Realms - Demon Stone
|
Name = Forgotten Realms - Demon Stone
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25254
|
||||||
|
Name = Digimon Rumble Arena 2
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
FpuCompareHack = 1
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-25255
|
Serial = SLKA-25255
|
||||||
Name = Mobile Suit Gundam - Seed - Never Ending Tomorrow
|
Name = Mobile Suit Gundam - Seed - Never Ending Tomorrow
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
@ -13726,6 +14094,11 @@ Serial = SLKA-25257
|
|||||||
Name = Fu-un Bakumatsu Den
|
Name = Fu-un Bakumatsu Den
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25258
|
||||||
|
Name = The Story of the Hero Yoshitsune
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-25259
|
Serial = SLKA-25259
|
||||||
Name = Swords of Destiny
|
Name = Swords of Destiny
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
@ -13775,6 +14148,7 @@ Region = NTSC-K
|
|||||||
Serial = SLKA-25284
|
Serial = SLKA-25284
|
||||||
Name = Sakura Taisen 3
|
Name = Sakura Taisen 3
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
|
Compat = 1
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
Serial = SLKA-25287
|
Serial = SLKA-25287
|
||||||
Name = Metal Slug 4&5
|
Name = Metal Slug 4&5
|
||||||
@ -13811,12 +14185,30 @@ Region = NTSC-K
|
|||||||
Serial = SLKA-25300
|
Serial = SLKA-25300
|
||||||
Name = Digital Devil Saga [Special Package]
|
Name = Digital Devil Saga [Special Package]
|
||||||
Region = NTSC-J-K
|
Region = NTSC-J-K
|
||||||
|
Compat = 5
|
||||||
EETimingHack = 1
|
EETimingHack = 1
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25301
|
||||||
|
Name = Digital Devil Saga - Avatar Tuner 2
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
EETimingHack = 1
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25307
|
||||||
|
Name = Dragonball Z Sparking
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-25311
|
Serial = SLKA-25311
|
||||||
Name = Marvel Nemesis - Rise of the Imperfects
|
Name = Marvel Nemesis - Rise of the Imperfects
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25313
|
||||||
|
Name = Naruto - Uzumaki Chronicles
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
OPHFLagHack = 1
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-25317
|
Serial = SLKA-25317
|
||||||
Name = Shin Sangoku Musou 3 [PlayStation 2 - Big Hit Series]
|
Name = Shin Sangoku Musou 3 [PlayStation 2 - Big Hit Series]
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
@ -13839,6 +14231,12 @@ Serial = SLKA-25323
|
|||||||
Name = SSX On Tour
|
Name = SSX On Tour
|
||||||
Region = NTSC-J-K
|
Region = NTSC-J-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25328
|
||||||
|
Name = Castlevania - Curse of Dakness
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
vuClampMode = 0 //SPS with microVU
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-25329
|
Serial = SLKA-25329
|
||||||
Name = Shin Sangoku Musou 4 - Moushouden
|
Name = Shin Sangoku Musou 4 - Moushouden
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
@ -13859,6 +14257,10 @@ Serial = SLKA-25342
|
|||||||
Name = Ryu ga Gotoku
|
Name = Ryu ga Gotoku
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25351
|
||||||
|
Name = One Piece Pirates Carnival
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-25352
|
Serial = SLKA-25352
|
||||||
Name = Full Metal Alchemist - Dream Carnival
|
Name = Full Metal Alchemist - Dream Carnival
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
@ -13866,19 +14268,35 @@ Region = NTSC-K
|
|||||||
Serial = SLKA-25353
|
Serial = SLKA-25353
|
||||||
Name = Metal Gear Solid 3 - Subsistance [Limited Edition] [Disc1of2]
|
Name = Metal Gear Solid 3 - Subsistance [Limited Edition] [Disc1of2]
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
Serial = SLKA-25354
|
Serial = SLKA-25354
|
||||||
Name = Metal Gear Solid 3 - Subsistance [Limited Edition] [Disc2of2]
|
Name = Metal Gear Solid 3 - Subsistance [Limited Edition] [Disc2of2]
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
Serial = SLKA-25359
|
Serial = SLKA-25359
|
||||||
Name = Winning Eleven 9 - Liveware Edition
|
Name = Winning Eleven 9 - Liveware Edition
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25361
|
||||||
|
Name = Keroro Gunsou MeroMero Battle Royale Z
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-25364
|
Serial = SLKA-25364
|
||||||
Name = Mobile Suit Gundam - Climax U.C.
|
Name = Mobile Suit Gundam - Climax U.C.
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25365
|
||||||
|
Name = WWE Smack Down Vs RAW 2008
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25366
|
||||||
|
Name = Naruto - Uzumaki Chronicles 2
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
OPHFLagHack = 1
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-25375
|
Serial = SLKA-25375
|
||||||
Name = Transformers - The Game
|
Name = Transformers - The Game
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
@ -13887,13 +14305,20 @@ Serial = SLKA-25381
|
|||||||
Name = Winning Eleven 10
|
Name = Winning Eleven 10
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25384
|
||||||
|
Name = Blazing Souls
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-25388
|
Serial = SLKA-25388
|
||||||
Name = One Piece - Grand Adventure
|
Name = One Piece - Grand Adventure
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
Serial = SLKA-25389
|
Serial = SLKA-25389
|
||||||
Name = Shinobido Imashime
|
Name = Shinobido Imashime
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
eeClampMode = 3 //Otherwise freezes in some spot
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
Serial = SLKA-25390
|
Serial = SLKA-25390
|
||||||
Name = Shin Sangoku Musou 4 - Empires
|
Name = Shin Sangoku Musou 4 - Empires
|
||||||
@ -13903,6 +14328,11 @@ Serial = SLKA-25396
|
|||||||
Name = FIFA '07
|
Name = FIFA '07
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25397
|
||||||
|
Name = Dragon Ball Z Sparking NEO
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-25406
|
Serial = SLKA-25406
|
||||||
Name = King of Fighters, The - Maximum Impact - Regulation A
|
Name = King of Fighters, The - Maximum Impact - Regulation A
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
@ -13910,6 +14340,7 @@ Region = NTSC-K
|
|||||||
Serial = SLKA-25407
|
Serial = SLKA-25407
|
||||||
Name = DragonBall Z - Sparkling! Meteor
|
Name = DragonBall Z - Sparkling! Meteor
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
Serial = SLKA-25413
|
Serial = SLKA-25413
|
||||||
Name = SD Gundam G - Generation Spirits
|
Name = SD Gundam G - Generation Spirits
|
||||||
@ -13924,9 +14355,37 @@ Serial = SLKA-25424
|
|||||||
Name = SNK Arcade Classics Vol.1
|
Name = SNK Arcade Classics Vol.1
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25443
|
||||||
|
Name = Musou Orochi Maou Sairin
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25477
|
||||||
|
Name = World Soccer Winning Eleven 2011
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLKA-25480
|
||||||
|
Name = World Soccer Winning Eleven 2012
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLKA-35001
|
||||||
|
Name = Metal Gear Solid 2 Substance
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLKA-35003
|
Serial = SLKA-35003
|
||||||
Name = Sakura Taisen - Atsuki Chishioni
|
Name = Sakura Taisen - Atsuki Chishioni
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLKA-35004
|
||||||
|
Name = Sakura Wars 5 So Long My Love
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLKA-35005
|
||||||
|
Name = Shin Sangoku Musou 5 Special
|
||||||
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
Serial = SLPM-55005
|
Serial = SLPM-55005
|
||||||
Name = Mana Khemia 2: Ochita Gakuen to Renkinjutsushi Tachi
|
Name = Mana Khemia 2: Ochita Gakuen to Renkinjutsushi Tachi
|
||||||
@ -16510,6 +16969,19 @@ Name = Fantasy Zone Complete Collection
|
|||||||
Region = NTSC-J
|
Region = NTSC-J
|
||||||
Compat = 5
|
Compat = 5
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLPM-64504
|
||||||
|
Name = Maximo
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLPM-64522
|
||||||
|
Name = La Pucelle
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLPM-64523
|
||||||
|
Name = Marvel Vs Capcom 2
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLPM-64525
|
Serial = SLPM-64525
|
||||||
Name = Guilty Gear X Plus "By Your Side"
|
Name = Guilty Gear X Plus "By Your Side"
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
@ -23603,23 +24075,72 @@ Serial = SLPM-67015
|
|||||||
Name = School Days LxH
|
Name = School Days LxH
|
||||||
Region = NTSC-J
|
Region = NTSC-J
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLPM-67502
|
||||||
|
Name = Devil May Cry
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLPM-67507
|
||||||
|
Name = Onimusha Warlords
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLPM-67508
|
||||||
|
Name = Gitaroo Man
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
eeRoundMode = 1
|
||||||
|
vuRoundMode = 3
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLPM-67513
|
Serial = SLPM-67513
|
||||||
Name = Final Fantasy X International
|
Name = Final Fantasy X International
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
IPUWaitHack = 1
|
IPUWaitHack = 1
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLPM-67514
|
||||||
|
Name = Kessen
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLPM-67518
|
||||||
|
Name = Onimusha 2 Samurai's Destiny
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLPM-67524
|
||||||
|
Name = Armored Core 3
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLPM-67528
|
Serial = SLPM-67528
|
||||||
Name = Hajime no Ippo - Victorious Boxers [Championship Edition]
|
Name = Hajime no Ippo - Victorious Boxers [Championship Edition]
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLPM-67529
|
||||||
|
Name = Gun Survivor 3 Dino Crisis
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLPM-67531
|
||||||
|
Name = Kessen 2
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLPM-67535
|
Serial = SLPM-67535
|
||||||
Name = Memories Of
|
Name = Memories Of
|
||||||
Region = NTSC-J-K
|
Region = NTSC-J-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLPM-67536
|
||||||
|
Name = Senkaiden Hoshin Engi
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
|
Serial = SLPM-67540
|
||||||
|
Name = Auto Modellista
|
||||||
|
Region = NTSC-K
|
||||||
|
Compat = 5
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLPM-67546
|
Serial = SLPM-67546
|
||||||
Name = Lord of the Rings - The Two Towers
|
Name = Lord of the Rings - The Two Towers
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
---------------------------------------------
|
---------------------------------------------
|
||||||
|
Serial = SLPM-64549
|
||||||
|
Name = Shikigami no Shiro
|
||||||
|
Region = NTSC-K
|
||||||
|
---------------------------------------------
|
||||||
Serial = SLPM-67552
|
Serial = SLPM-67552
|
||||||
Name = Tomak - Save the Earth Again [Complete Edition]
|
Name = Tomak - Save the Earth Again [Complete Edition]
|
||||||
Region = NTSC-K
|
Region = NTSC-K
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
bin/Langs/fr_FR/pcsx2_Iconized.mo
Normal file
BIN
bin/Langs/fr_FR/pcsx2_Iconized.mo
Normal file
Binary file not shown.
BIN
bin/Langs/fr_FR/pcsx2_Main.mo
Normal file
BIN
bin/Langs/fr_FR/pcsx2_Main.mo
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
bin/Langs/id_ID/pcsx2_Iconized.mo
Normal file
BIN
bin/Langs/id_ID/pcsx2_Iconized.mo
Normal file
Binary file not shown.
BIN
bin/Langs/id_ID/pcsx2_Main.mo
Normal file
BIN
bin/Langs/id_ID/pcsx2_Main.mo
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -125,4 +125,21 @@ http://forums.pcsx2.net
|
|||||||
.SH "COPYRIGHT NOTICE"
|
.SH "COPYRIGHT NOTICE"
|
||||||
Copyright \(co 2002-2010 PCSX2 Dev Team
|
Copyright \(co 2002-2010 PCSX2 Dev Team
|
||||||
|
|
||||||
Permission is granted to copy and distribute this manual under the terms of the GNU Free Documentation License.
|
This is free documentation; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public License as
|
||||||
|
published by the Free Software Foundation; either version 3 of
|
||||||
|
the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU General Public License's references to "object code"
|
||||||
|
and "executables" are to be interpreted as the output of any
|
||||||
|
document formatting or typesetting system, including
|
||||||
|
intermediate and printed output.
|
||||||
|
|
||||||
|
This manual 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 General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public
|
||||||
|
License along with this manual; if not, see
|
||||||
|
<http://www.gnu.org/licenses/>.
|
@ -1,5 +1,19 @@
|
|||||||
#!/bin/sh -e
|
#!/bin/sh -e
|
||||||
|
|
||||||
|
# PCSX2 - PS2 Emulator for PCs
|
||||||
|
# Copyright (C) 2002-2011 PCSX2 Dev Team
|
||||||
|
#
|
||||||
|
# PCSX2 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.
|
||||||
|
#
|
||||||
|
# PCSX2 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 General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License along with PCSX2.
|
||||||
|
# If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
# This script is a small wrapper to the PCSX2 exectuable. The purpose is to
|
# This script is a small wrapper to the PCSX2 exectuable. The purpose is to
|
||||||
# launch PCSX2 from the same repository every times.
|
# launch PCSX2 from the same repository every times.
|
||||||
# Rationale: There is no guarantee on the directory when PCSX2 is launched from a shortcut.
|
# Rationale: There is no guarantee on the directory when PCSX2 is launched from a shortcut.
|
||||||
|
19
build.sh
19
build.sh
@ -1,5 +1,19 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
# PCSX2 - PS2 Emulator for PCs
|
||||||
|
# Copyright (C) 2002-2011 PCSX2 Dev Team
|
||||||
|
#
|
||||||
|
# PCSX2 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.
|
||||||
|
#
|
||||||
|
# PCSX2 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 General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License along with PCSX2.
|
||||||
|
# If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
flags=""
|
flags=""
|
||||||
args="$@"
|
args="$@"
|
||||||
clean_build=false
|
clean_build=false
|
||||||
@ -54,7 +68,8 @@ if [ $clean_build = true ]; then
|
|||||||
echo "Doing a clean build."
|
echo "Doing a clean build."
|
||||||
make clean 2>&1 | tee -a ../install_log.txt
|
make clean 2>&1 | tee -a ../install_log.txt
|
||||||
fi
|
fi
|
||||||
make 2>&1 | tee -a ../install_log.txt
|
CORE=`grep -w -c processor /proc/cpuinfo`
|
||||||
|
make -j $CORE 2>&1 | tee -a ../install_log.txt
|
||||||
make install 2>&1 | tee -a ../install_log.txt
|
make install 2>&1 | tee -a ../install_log.txt
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
# Use soundtouch internal lib: -DFORCE_INTERNAL_SOUNDTOUCH=TRUE
|
# Use soundtouch internal lib: -DFORCE_INTERNAL_SOUNDTOUCH=TRUE
|
||||||
# Use zlib internal lib: -DFORCE_INTERNAL_ZLIB=TRUE
|
# Use zlib internal lib: -DFORCE_INTERNAL_ZLIB=TRUE
|
||||||
# Use sdl1.3 internal lib: -DFORCE_INTERNAL_SDL=TRUE # Not supported yet
|
# Use sdl1.3 internal lib: -DFORCE_INTERNAL_SDL=TRUE # Not supported yet
|
||||||
|
# Use GLSL API(else NVIDIA_CG): -DGLSL_API=TRUE
|
||||||
|
|
||||||
### GCC optimization options
|
### GCC optimization options
|
||||||
# control C flags : -DUSER_CMAKE_C_FLAGS="cflags"
|
# control C flags : -DUSER_CMAKE_C_FLAGS="cflags"
|
||||||
@ -183,3 +184,10 @@ if(PACKAGE_MODE)
|
|||||||
# Compile all source codes with these 2 defines
|
# Compile all source codes with these 2 defines
|
||||||
add_definitions(-DPLUGIN_DIR_COMPILATION=${PLUGIN_DIR} -DGAMEINDEX_DIR_COMPILATION=${GAMEINDEX_DIR})
|
add_definitions(-DPLUGIN_DIR_COMPILATION=${PLUGIN_DIR} -DGAMEINDEX_DIR_COMPILATION=${GAMEINDEX_DIR})
|
||||||
endif(PACKAGE_MODE)
|
endif(PACKAGE_MODE)
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
# Select nvidia cg shader api by default
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
if(NOT DEFINED GLSL_API)
|
||||||
|
set(GLSL_API FALSE)
|
||||||
|
endif(NOT DEFINED GLSL_API)
|
||||||
|
18
cmake/FindSparseHash_NEW.cmake
Normal file
18
cmake/FindSparseHash_NEW.cmake
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# Try to find SparseHash
|
||||||
|
# Once done, this will define
|
||||||
|
#
|
||||||
|
# SPARSEHASE_NEW_FOUND - system has SparseHash
|
||||||
|
# SPARSEHASE_NEW_INCLUDE_DIR - the SparseHash include directories
|
||||||
|
|
||||||
|
if(SPARSEHASE_NEW_INCLUDE_DIR)
|
||||||
|
set(SPARSEHASE_NEW_FIND_QUIETLY TRUE)
|
||||||
|
endif(SPARSEHASE_NEW_INCLUDE_DIR)
|
||||||
|
|
||||||
|
find_path(SPARSEHASE_NEW_INCLUDE_DIR sparsehash/internal/densehashtable.h)
|
||||||
|
|
||||||
|
# handle the QUIETLY and REQUIRED arguments and set SPARSEHASE_NEW_FOUND to TRUE if
|
||||||
|
# all listed variables are TRUE
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(SparseHash_new DEFAULT_MSG SPARSEHASE_NEW_INCLUDE_DIR)
|
||||||
|
|
||||||
|
mark_as_advanced(SPARSEHASE_NEW_INCLUDE_DIR)
|
@ -53,7 +53,10 @@ if(NOT FORCE_INTERNAL_ZLIB)
|
|||||||
endif(NOT FORCE_INTERNAL_ZLIB)
|
endif(NOT FORCE_INTERNAL_ZLIB)
|
||||||
|
|
||||||
## Use pcsx2 package to find module
|
## Use pcsx2 package to find module
|
||||||
include(FindCg)
|
## Include cg because of zzogl-cg
|
||||||
|
#if(NOT GLSL_API)
|
||||||
|
include(FindCg)
|
||||||
|
#endif(NOT GLSL_API)
|
||||||
include(FindGlew)
|
include(FindGlew)
|
||||||
include(FindLibc)
|
include(FindLibc)
|
||||||
include(FindPortAudio)
|
include(FindPortAudio)
|
||||||
@ -61,6 +64,7 @@ if(NOT FORCE_INTERNAL_SOUNDTOUCH)
|
|||||||
include(FindSoundTouch)
|
include(FindSoundTouch)
|
||||||
endif(NOT FORCE_INTERNAL_SOUNDTOUCH)
|
endif(NOT FORCE_INTERNAL_SOUNDTOUCH)
|
||||||
include(FindSparseHash)
|
include(FindSparseHash)
|
||||||
|
include(FindSparseHash_NEW)
|
||||||
|
|
||||||
# Note for include_directory: The order is important to avoid a mess between include file from your system and the one of pcsx2
|
# Note for include_directory: The order is important to avoid a mess between include file from your system and the one of pcsx2
|
||||||
# If you include first 3rdparty, all 3rdpary include will have a higer priority...
|
# If you include first 3rdparty, all 3rdpary include will have a higer priority...
|
||||||
@ -166,6 +170,11 @@ endif(SOUNDTOUCH_FOUND AND NOT projectSoundTouch)
|
|||||||
if(SPARSEHASH_FOUND)
|
if(SPARSEHASH_FOUND)
|
||||||
include_directories(${SPARSEHASH_INCLUDE_DIR})
|
include_directories(${SPARSEHASH_INCLUDE_DIR})
|
||||||
endif(SPARSEHASH_FOUND)
|
endif(SPARSEHASH_FOUND)
|
||||||
|
if(SPARSEHASH_NEW_FOUND)
|
||||||
|
include_directories(${SPARSEHASH_NEW_INCLUDE_DIR})
|
||||||
|
# allow to build parts that depend on sparsehash
|
||||||
|
set(SPARSEHASH_FOUND TRUE)
|
||||||
|
endif(SPARSEHASH_NEW_FOUND)
|
||||||
|
|
||||||
# Wx
|
# Wx
|
||||||
if(wxWidgets_FOUND)
|
if(wxWidgets_FOUND)
|
||||||
|
@ -6,11 +6,15 @@ set(msg_dep_pcsx2 "check these libraries -> wxWidgets (>=2.8.10), gtk2 (>=
|
|||||||
set(msg_dep_cdvdiso "check these libraries -> bzip2 (>=1.0.5), gtk2 (>=2.16)")
|
set(msg_dep_cdvdiso "check these libraries -> bzip2 (>=1.0.5), gtk2 (>=2.16)")
|
||||||
set(msg_dep_zerogs "check these libraries -> glew (>=1.5), opengl, X11, nvidia-cg-toolkit (>=2.1)")
|
set(msg_dep_zerogs "check these libraries -> glew (>=1.5), opengl, X11, nvidia-cg-toolkit (>=2.1)")
|
||||||
set(msg_dep_gsdx "check these libraries -> opengl, X11, pcsx2 SDL")
|
set(msg_dep_gsdx "check these libraries -> opengl, X11, pcsx2 SDL")
|
||||||
set(msg_dep_zzogl "check these libraries -> glew (>=1.5), jpeg (>=6.2), opengl, X11, nvidia-cg-toolkit (>=2.1), pcsx2 common libs")
|
|
||||||
set(msg_dep_onepad "check these libraries -> sdl (>=1.2)")
|
set(msg_dep_onepad "check these libraries -> sdl (>=1.2)")
|
||||||
set(msg_dep_zeropad "check these libraries -> sdl (>=1.2)")
|
set(msg_dep_zeropad "check these libraries -> sdl (>=1.2)")
|
||||||
set(msg_dep_spu2x "check these libraries -> soundtouch (>=1.5), alsa, portaudio (>=1.9), pcsx2 common libs")
|
set(msg_dep_spu2x "check these libraries -> soundtouch (>=1.5), alsa, portaudio (>=1.9), pcsx2 common libs")
|
||||||
set(msg_dep_zerospu2 "check these libraries -> soundtouch (>=1.5), alsa")
|
set(msg_dep_zerospu2 "check these libraries -> soundtouch (>=1.5), alsa")
|
||||||
|
if(GLSP_API)
|
||||||
|
set(msg_dep_zzogl "check these libraries -> glew (>=1.5), jpeg (>=6.2), opengl, X11, pcsx2 common libs")
|
||||||
|
else(GLSP_API)
|
||||||
|
set(msg_dep_zzogl "check these libraries -> glew (>=1.5), jpeg (>=6.2), opengl, X11, nvidia-cg-toolkit (>=2.1), pcsx2 common libs")
|
||||||
|
endif(GLSP_API)
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
# Pcsx2 core & common libs
|
# Pcsx2 core & common libs
|
||||||
@ -153,17 +157,17 @@ endif(GLEW_FOUND AND OPENGL_FOUND AND X11_FOUND AND CG_FOUND)
|
|||||||
# requires: -GLEW
|
# requires: -GLEW
|
||||||
# -OpenGL
|
# -OpenGL
|
||||||
# -X11
|
# -X11
|
||||||
# -CG
|
# -CG (only with cg build
|
||||||
# -JPEG
|
# -JPEG
|
||||||
# -common_libs
|
# -common_libs
|
||||||
#---------------------------------------
|
#---------------------------------------
|
||||||
if(GLEW_FOUND AND OPENGL_FOUND AND X11_FOUND AND CG_FOUND AND JPEG_FOUND AND common_libs)
|
if((GLEW_FOUND AND OPENGL_FOUND AND X11_FOUND AND JPEG_FOUND AND common_libs) AND (CG_FOUND OR GLSL_API))
|
||||||
set(zzogl TRUE)
|
set(zzogl TRUE)
|
||||||
else(GLEW_FOUND AND OPENGL_FOUND AND X11_FOUND AND CG_FOUND AND JPEG_FOUND AND common_libs)
|
else((GLEW_FOUND AND OPENGL_FOUND AND X11_FOUND AND JPEG_FOUND AND common_libs) AND (CG_FOUND OR GLSL_API))
|
||||||
set(zzogl FALSE)
|
set(zzogl FALSE)
|
||||||
message(STATUS "Skip build of zzogl: miss some dependencies")
|
message(STATUS "Skip build of zzogl: miss some dependencies")
|
||||||
message(STATUS "${msg_dep_zzogl}")
|
message(STATUS "${msg_dep_zzogl}")
|
||||||
endif(GLEW_FOUND AND OPENGL_FOUND AND X11_FOUND AND CG_FOUND AND JPEG_FOUND AND common_libs)
|
endif((GLEW_FOUND AND OPENGL_FOUND AND X11_FOUND AND JPEG_FOUND AND common_libs) AND (CG_FOUND OR GLSL_API))
|
||||||
#---------------------------------------
|
#---------------------------------------
|
||||||
|
|
||||||
#---------------------------------------
|
#---------------------------------------
|
||||||
@ -188,20 +192,6 @@ else(SDL_FOUND)
|
|||||||
endif(SDL_FOUND)
|
endif(SDL_FOUND)
|
||||||
#---------------------------------------
|
#---------------------------------------
|
||||||
|
|
||||||
#---------------------------------------
|
|
||||||
# zeropad
|
|
||||||
#---------------------------------------
|
|
||||||
# requires: -SDL
|
|
||||||
#---------------------------------------
|
|
||||||
if(SDL_FOUND)
|
|
||||||
set(zeropad TRUE)
|
|
||||||
else(SDL_FOUND)
|
|
||||||
set(zeropad FALSE)
|
|
||||||
message(STATUS "Skip build of zeropad: miss some dependencies")
|
|
||||||
message(STATUS "${msg_dep_zeropad}")
|
|
||||||
endif(SDL_FOUND)
|
|
||||||
#---------------------------------------
|
|
||||||
|
|
||||||
#---------------------------------------
|
#---------------------------------------
|
||||||
# SPU2null
|
# SPU2null
|
||||||
#---------------------------------------
|
#---------------------------------------
|
||||||
@ -235,7 +225,10 @@ endif(ALSA_FOUND AND PORTAUDIO_FOUND AND SOUNDTOUCH_FOUND AND common_libs)
|
|||||||
# -PortAudio
|
# -PortAudio
|
||||||
#---------------------------------------
|
#---------------------------------------
|
||||||
if(SOUNDTOUCH_FOUND AND ALSA_FOUND)
|
if(SOUNDTOUCH_FOUND AND ALSA_FOUND)
|
||||||
set(zerospu2 TRUE)
|
set(zerospu2 TRUE)
|
||||||
|
# Comment the next line, if you want to compile zerospu2
|
||||||
|
set(zerospu2 FALSE)
|
||||||
|
message(STATUS "Don't build zerospu2. It is super-seeded by spu2x")
|
||||||
else(SOUNDTOUCH_FOUND AND ALSA_FOUND)
|
else(SOUNDTOUCH_FOUND AND ALSA_FOUND)
|
||||||
set(zerospu2 FALSE)
|
set(zerospu2 FALSE)
|
||||||
message(STATUS "Skip build of zerospu2: miss some dependencies")
|
message(STATUS "Skip build of zerospu2: miss some dependencies")
|
||||||
|
@ -15,10 +15,18 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
// They move include file in version 2.0.2 of google sparsehash...
|
||||||
|
#ifdef SPARSEHASH_NEW_INCLUDE_DIR
|
||||||
|
#include <sparsehash/type_traits.h>
|
||||||
|
#include <sparsehash/dense_hash_set>
|
||||||
|
#include <sparsehash/dense_hash_map>
|
||||||
|
#include <sparsehash/internal/densehashtable.h>
|
||||||
|
#else
|
||||||
#include <google/type_traits.h>
|
#include <google/type_traits.h>
|
||||||
#include <google/dense_hash_set>
|
#include <google/dense_hash_set>
|
||||||
#include <google/dense_hash_map>
|
#include <google/dense_hash_map>
|
||||||
#include <google/sparsehash/densehashtable.h>
|
#include <google/sparsehash/densehashtable.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <wx/string.h>
|
#include <wx/string.h>
|
||||||
|
|
||||||
@ -594,8 +602,8 @@ public:
|
|||||||
HashMap( const Key& emptyKey, const Key& deletedKey, int initialCapacity=33 ) :
|
HashMap( const Key& emptyKey, const Key& deletedKey, int initialCapacity=33 ) :
|
||||||
google::dense_hash_map<Key, T, HashFunctor>( initialCapacity )
|
google::dense_hash_map<Key, T, HashFunctor>( initialCapacity )
|
||||||
{
|
{
|
||||||
set_empty_key( emptyKey );
|
this->set_empty_key( emptyKey );
|
||||||
set_deleted_key( deletedKey );
|
this->set_deleted_key( deletedKey );
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -608,7 +616,7 @@ public:
|
|||||||
/// </remarks>
|
/// </remarks>
|
||||||
bool TryGetValue( const Key& key, T& outval ) const
|
bool TryGetValue( const Key& key, T& outval ) const
|
||||||
{
|
{
|
||||||
const_iterator iter( find(key) );
|
const_iterator iter( this->find(key) );
|
||||||
if( iter != end() )
|
if( iter != end() )
|
||||||
{
|
{
|
||||||
outval = iter->second;
|
outval = iter->second;
|
||||||
|
@ -57,8 +57,10 @@
|
|||||||
// insisting on "mov eax, immaddr; call eax". Likewise, GCC fails to optimize it also, unless
|
// insisting on "mov eax, immaddr; call eax". Likewise, GCC fails to optimize it also, unless
|
||||||
// the typecast is explicitly inlined. These macros account for these problems.
|
// the typecast is explicitly inlined. These macros account for these problems.
|
||||||
//
|
//
|
||||||
|
// But it turns out that MSVC is quite capable of optimising important code out of existance
|
||||||
|
// if we use these macros in our PGO builds, so it's better just to live with the inefficient call.
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_HAS_FIXED_INLINE_ASM_PGO
|
||||||
|
|
||||||
# define CallAddress( ptr ) \
|
# define CallAddress( ptr ) \
|
||||||
__asm{ call offset ptr }
|
__asm{ call offset ptr }
|
||||||
|
@ -20,6 +20,10 @@ set(CommonFlags
|
|||||||
-pipe
|
-pipe
|
||||||
-Wunused-variable)
|
-Wunused-variable)
|
||||||
|
|
||||||
|
if (SPARSEHASH_NEW_FOUND)
|
||||||
|
set(CommonFlags "${CommonFlags} -DSPARSEHASH_NEW_INCLUDE_DIR ")
|
||||||
|
endif (SPARSEHASH_NEW_FOUND)
|
||||||
|
|
||||||
# set warning flags
|
# set warning flags
|
||||||
set(DebugFlags
|
set(DebugFlags
|
||||||
-g
|
-g
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
#include <sys/mman.h>
|
#include <sys/mman.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
extern void SignalExit(int sig);
|
extern void SignalExit(int sig);
|
||||||
|
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
#include <unistd.h>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
#include <wx/utils.h>
|
#include <wx/utils.h>
|
||||||
|
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
#include "../PrecompiledHeader.h"
|
#include "../PrecompiledHeader.h"
|
||||||
#include "PersistentThread.h"
|
#include "PersistentThread.h"
|
||||||
#include <sys/prctl.h>
|
#include <sys/prctl.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
// We wont need this until we actually have this more then just stubbed out, so I'm commenting this out
|
// We wont need this until we actually have this more then just stubbed out, so I'm commenting this out
|
||||||
// to remove an unneeded dependency.
|
// to remove an unneeded dependency.
|
||||||
|
@ -19,8 +19,7 @@
|
|||||||
|
|
||||||
#include <winnt.h>
|
#include <winnt.h>
|
||||||
|
|
||||||
|
static int DoSysPageFaultExceptionFilter( EXCEPTION_POINTERS* eps )
|
||||||
int SysPageFaultExceptionFilter( EXCEPTION_POINTERS* eps )
|
|
||||||
{
|
{
|
||||||
if( eps->ExceptionRecord->ExceptionCode != EXCEPTION_ACCESS_VIOLATION )
|
if( eps->ExceptionRecord->ExceptionCode != EXCEPTION_ACCESS_VIOLATION )
|
||||||
return EXCEPTION_CONTINUE_SEARCH;
|
return EXCEPTION_CONTINUE_SEARCH;
|
||||||
@ -33,6 +32,21 @@ int SysPageFaultExceptionFilter( EXCEPTION_POINTERS* eps )
|
|||||||
return Source_PageFault->WasHandled() ? EXCEPTION_CONTINUE_EXECUTION : EXCEPTION_CONTINUE_SEARCH;
|
return Source_PageFault->WasHandled() ? EXCEPTION_CONTINUE_EXECUTION : EXCEPTION_CONTINUE_SEARCH;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int SysPageFaultExceptionFilter( EXCEPTION_POINTERS* eps )
|
||||||
|
{
|
||||||
|
// Prevent recursive exception filtering by catching the exception from the filter here.
|
||||||
|
// In the event that the filter causes an access violation (happened during shutdown
|
||||||
|
// because Source_PageFault was deallocated), this will allow the debugger to catch the
|
||||||
|
// exception.
|
||||||
|
// TODO: find a reliable way to debug the filter itself, I've come up with a few ways that
|
||||||
|
// work but I don't fully understand why some do and some don't.
|
||||||
|
__try {
|
||||||
|
return DoSysPageFaultExceptionFilter(eps);
|
||||||
|
} __except (GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION ? EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH) {
|
||||||
|
return EXCEPTION_CONTINUE_SEARCH;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void _platform_InstallSignalHandler()
|
void _platform_InstallSignalHandler()
|
||||||
{
|
{
|
||||||
// NOP on Win32 systems -- we use __try{} __except{} instead.
|
// NOP on Win32 systems -- we use __try{} __except{} instead.
|
||||||
|
@ -6,18 +6,12 @@ Maintainer: Gregory Hainaut <gregory.hainaut@gmail.com>
|
|||||||
Build-Depends: cmake (>= 2.8),
|
Build-Depends: cmake (>= 2.8),
|
||||||
debhelper (>= 7.0.50),
|
debhelper (>= 7.0.50),
|
||||||
dpkg-dev (>= 1.15.7),
|
dpkg-dev (>= 1.15.7),
|
||||||
gcc-multilib [amd64],
|
|
||||||
g++-multilib [amd64],
|
|
||||||
ia32-libs-dev [amd64],
|
|
||||||
lib32asound2-dev [amd64],
|
|
||||||
lib32bz2-dev [amd64],
|
|
||||||
lib32z1-dev (>= 1:1.2.3.3) [amd64],
|
|
||||||
libasound2-dev,
|
libasound2-dev,
|
||||||
libbz2-dev,
|
libbz2-dev,
|
||||||
libgl1-mesa-dev,
|
libgl1-mesa-dev,
|
||||||
# Future GSdx version will need glew1.6. Only Oneiric have it...
|
# Future GSdx version will need glew1.6. Only Oneiric have it...
|
||||||
# libglew1.6-dev,
|
# libglew1.6-dev,
|
||||||
libglew1.5-dev,
|
libglew-dev (>= 1.6)| libglew1.5-dev,
|
||||||
libglu1-mesa-dev,
|
libglu1-mesa-dev,
|
||||||
libgtk2.0-dev (>= 2.16),
|
libgtk2.0-dev (>= 2.16),
|
||||||
libjpeg-dev,
|
libjpeg-dev,
|
||||||
@ -28,7 +22,8 @@ Build-Depends: cmake (>= 2.8),
|
|||||||
libwxgtk2.8-dev,
|
libwxgtk2.8-dev,
|
||||||
libx11-dev,
|
libx11-dev,
|
||||||
locales | locales-all,
|
locales | locales-all,
|
||||||
nvidia-cg-toolkit (>= 3),
|
# package was split in precise to allow multiarch support
|
||||||
|
libcg, nvidia-cg-toolkit (>= 3),
|
||||||
portaudio19-dev,
|
portaudio19-dev,
|
||||||
zlib1g-dev (>= 1:1.2.3.3)
|
zlib1g-dev (>= 1:1.2.3.3)
|
||||||
Standards-Version: 3.9.2
|
Standards-Version: 3.9.2
|
||||||
@ -54,7 +49,7 @@ Package: pcsx2-plugins-unstable
|
|||||||
Architecture: i386
|
Architecture: i386
|
||||||
# manually add nvidia-cg-toolkit for zzogl (cg pacakge does not provide symbol or shlibs files)
|
# manually add nvidia-cg-toolkit for zzogl (cg pacakge does not provide symbol or shlibs files)
|
||||||
Depends: ${shlibs:Depends}, ${misc:Depends},
|
Depends: ${shlibs:Depends}, ${misc:Depends},
|
||||||
nvidia-cg-toolkit-pcsx2 | nvidia-cg-toolkit (>= 2.1)
|
libcg | nvidia-cg-toolkit (>= 2.1)
|
||||||
Recommends: pcsx2-unstable (>= ${binary:Version}),
|
Recommends: pcsx2-unstable (>= ${binary:Version}),
|
||||||
Conflicts: pcsx2-plugins,
|
Conflicts: pcsx2-plugins,
|
||||||
pcsx2-data-unstable
|
pcsx2-data-unstable
|
||||||
|
@ -1,5 +1,19 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
# PCSX2 - PS2 Emulator for PCs
|
||||||
|
# Copyright (C) 2002-2011 PCSX2 Dev Team
|
||||||
|
#
|
||||||
|
# PCSX2 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.
|
||||||
|
#
|
||||||
|
# PCSX2 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 General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License along with PCSX2.
|
||||||
|
# If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
# Script default parameter
|
# Script default parameter
|
||||||
MAX_DEPTH=1
|
MAX_DEPTH=1
|
||||||
DIR=$PWD
|
DIR=$PWD
|
||||||
|
97
linux_various/hex2h.pl
Executable file
97
linux_various/hex2h.pl
Executable file
@ -0,0 +1,97 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
|
||||||
|
# PCSX2 - PS2 Emulator for PCs
|
||||||
|
# Copyright (C) 2002-2011 PCSX2 Dev Team
|
||||||
|
#
|
||||||
|
# PCSX2 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.
|
||||||
|
#
|
||||||
|
# PCSX2 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 General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License along with PCSX2.
|
||||||
|
# If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# This basic script convert an jpeg/png image to a .h include file
|
||||||
|
# compatible with PCSX2 gui
|
||||||
|
|
||||||
|
use File::Basename;
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
sub ascii_to_hex ($)
|
||||||
|
{
|
||||||
|
(my $str = shift) =~ s/(.|\n)/sprintf("%02lx", ord $1)/eg;
|
||||||
|
return $str;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub get_wx_ext ($)
|
||||||
|
{
|
||||||
|
my $ext = shift;
|
||||||
|
|
||||||
|
my $result = "BAD_FORMAT";
|
||||||
|
if ($ext =~ /png/i) {
|
||||||
|
$result = "wxBITMAP_TYPE_PNG";
|
||||||
|
} elsif ($ext =~ /jpe?g/i) {
|
||||||
|
$result = "wxBITMAP_TYPE_JPEG";
|
||||||
|
} else {
|
||||||
|
print "ERROR: bad format $ext\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
my $input=$ARGV[0];
|
||||||
|
my $output=$ARGV[1] . ".h" ;
|
||||||
|
|
||||||
|
my($filename, $directories, $suffix) = fileparse($input);
|
||||||
|
my ($name, $ext) = split(/\./,$filename);
|
||||||
|
|
||||||
|
my $wx_img_class = "res_$name";
|
||||||
|
my $wx_img_extension = get_wx_ext($ext);
|
||||||
|
my $filesize = -s $input;
|
||||||
|
|
||||||
|
### Collect binary data
|
||||||
|
my $lenght = 1;
|
||||||
|
my $binary = "\t\t";
|
||||||
|
my $data;
|
||||||
|
my $byte;
|
||||||
|
|
||||||
|
open(IN,"$input");
|
||||||
|
binmode IN;
|
||||||
|
while (($byte = read IN, $data, 1) != 0) {
|
||||||
|
my $hex = ascii_to_hex($data);
|
||||||
|
$binary .= "0x$hex";
|
||||||
|
if ($lenght % 17 == 0 && $lenght > 1) {
|
||||||
|
# End of line
|
||||||
|
$binary .= ",\n\t\t";
|
||||||
|
} elsif ($filesize == $lenght) {
|
||||||
|
# End of file
|
||||||
|
$binary .= "\n";
|
||||||
|
} else {
|
||||||
|
$binary .= ",";
|
||||||
|
}
|
||||||
|
$lenght++;
|
||||||
|
}
|
||||||
|
close(IN);
|
||||||
|
|
||||||
|
open(OUT,">$output");
|
||||||
|
### Print the header
|
||||||
|
print OUT "#pragma once\n\n";
|
||||||
|
print OUT "#include \"Pcsx2Types.h\"\n";
|
||||||
|
print OUT "#include <wx/gdicmn.h>\n\n";
|
||||||
|
print OUT "class $wx_img_class\n{\n";
|
||||||
|
print OUT "public:\n";
|
||||||
|
print OUT "\tstatic const uint Length = $filesize;\n";
|
||||||
|
print OUT "\tstatic const u8 Data[Length];\n";
|
||||||
|
print OUT "\tstatic wxBitmapType GetFormat() { return $wx_img_extension; }\n};\n\n";
|
||||||
|
print OUT "const u8 ${wx_img_class}::Data[Length] =\n{\n";
|
||||||
|
|
||||||
|
### Print the array
|
||||||
|
print OUT $binary;
|
||||||
|
print OUT "};\n";
|
||||||
|
|
||||||
|
close(OUT);
|
||||||
|
|
@ -6,7 +6,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PCSX2 0.9.9\n"
|
"Project-Id-Version: PCSX2 0.9.9\n"
|
||||||
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
|
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
|
||||||
"POT-Creation-Date: 2011-09-28 20:27+0200\n"
|
"POT-Creation-Date: 2012-04-07 11:42+0200\n"
|
||||||
"PO-Revision-Date: 2011-10-03 09:15+0100\n"
|
"PO-Revision-Date: 2011-10-03 09:15+0100\n"
|
||||||
"Last-Translator: Zbyněk Schwarz <zbynek.schwarz@gmail.com>\n"
|
"Last-Translator: Zbyněk Schwarz <zbynek.schwarz@gmail.com>\n"
|
||||||
"Language-Team: Zbyněk Schwarz\n"
|
"Language-Team: Zbyněk Schwarz\n"
|
||||||
@ -23,35 +23,58 @@ msgstr ""
|
|||||||
|
|
||||||
#: common/src/Utilities/Exceptions.cpp:254
|
#: common/src/Utilities/Exceptions.cpp:254
|
||||||
msgid "!Notice:VirtualMemoryMap"
|
msgid "!Notice:VirtualMemoryMap"
|
||||||
msgstr "Není dostatek virtuální paměti, nebo potřebná mapování virtuální paměti již byly vyhrazeny jinými procesy, službami, nebo DLL."
|
msgstr ""
|
||||||
|
"Není dostatek virtuální paměti, nebo potřebná mapování virtuální paměti již "
|
||||||
|
"byly vyhrazeny jinými procesy, službami, nebo DLL."
|
||||||
|
|
||||||
#: pcsx2/CDVD/CDVD.cpp:385
|
#: pcsx2/CDVD/CDVD.cpp:389
|
||||||
msgid "!Notice:PsxDisc"
|
msgid "!Notice:PsxDisc"
|
||||||
msgstr "Herní disky Playstation nejsou PCSX2 podporovány. Pokud chcete emulovat hry PSX, pak si budete muset stáhnout PSX emulátor, jako ePSXe nebo PCSX."
|
msgstr ""
|
||||||
|
"Herní disky Playstation nejsou PCSX2 podporovány. Pokud chcete emulovat hry "
|
||||||
|
"PSX, pak si budete muset stáhnout PSX emulátor, jako ePSXe nebo PCSX."
|
||||||
|
|
||||||
#: pcsx2/System.cpp:114
|
#: pcsx2/System.cpp:114
|
||||||
msgid "!Notice:Recompiler:VirtualMemoryAlloc"
|
msgid "!Notice:Recompiler:VirtualMemoryAlloc"
|
||||||
msgstr "Tento rekompilátor nemohl vyhradit přilehlou paměť potřebnou pro vnitřní vyrovnávací paměti. Tato chyba může být způsobena nízkými zdroji virtuální paměti, jako např. vypnutý nebo malý stránkovací soubor, nebo jiným programem náročným na paměť. Můžete také zkusit snížit výchozí velikost vyrovnávací paměti pro všechny rekompilátory PCSX2, naleznete v Nastavení Hostitele."
|
msgstr ""
|
||||||
|
"Tento rekompilátor nemohl vyhradit přilehlou paměť potřebnou pro vnitřní "
|
||||||
|
"vyrovnávací paměti. Tato chyba může být způsobena nízkými zdroji virtuální "
|
||||||
|
"paměti, jako např. vypnutý nebo malý stránkovací soubor, nebo jiným "
|
||||||
|
"programem náročným na paměť. Můžete také zkusit snížit výchozí velikost "
|
||||||
|
"vyrovnávací paměti pro všechny rekompilátory PCSX2, naleznete v Nastavení "
|
||||||
|
"Hostitele."
|
||||||
|
|
||||||
#: pcsx2/System.cpp:348
|
#: pcsx2/System.cpp:348
|
||||||
msgid "!Notice:EmuCore::MemoryForVM"
|
msgid "!Notice:EmuCore::MemoryForVM"
|
||||||
msgstr "PCSX2 nemůže přidělit paměť potřebnou pro virtuální stroj PS2. Zavřete některé úlohy na pozadí náročné na paměť a zkuste to znovu."
|
msgstr ""
|
||||||
|
"PCSX2 nemůže přidělit paměť potřebnou pro virtuální stroj PS2. Zavřete "
|
||||||
|
"některé úlohy na pozadí náročné na paměť a zkuste to znovu."
|
||||||
|
|
||||||
#: pcsx2/gui/AppInit.cpp:43
|
#: pcsx2/gui/AppInit.cpp:43
|
||||||
msgid "!Notice:Startup:NoSSE2"
|
msgid "!Notice:Startup:NoSSE2"
|
||||||
msgstr "Varování: Váš počítač nepodporuje SSE2, která je vyžadována většinou rekompilátorů PCSX2 a zásuvných modulů. Vaše volby budou omezené a emulace bude *velmi* pomalá."
|
msgstr ""
|
||||||
|
"Varování: Váš počítač nepodporuje SSE2, která je vyžadována většinou "
|
||||||
|
"rekompilátorů PCSX2 a zásuvných modulů. Vaše volby budou omezené a emulace "
|
||||||
|
"bude *velmi* pomalá."
|
||||||
|
|
||||||
#: pcsx2/gui/AppInit.cpp:162
|
#: pcsx2/gui/AppInit.cpp:162
|
||||||
msgid "!Notice:RecompilerInit:Header"
|
msgid "!Notice:RecompilerInit:Header"
|
||||||
msgstr "Varování: Některé z nastavených rekompilátorů PS2 nelze spustit a byly zakázány:"
|
msgstr ""
|
||||||
|
"Varování: Některé z nastavených rekompilátorů PS2 nelze spustit a byly "
|
||||||
|
"zakázány:"
|
||||||
|
|
||||||
#: pcsx2/gui/AppInit.cpp:211
|
#: pcsx2/gui/AppInit.cpp:211
|
||||||
msgid "!Notice:RecompilerInit:Footer"
|
msgid "!Notice:RecompilerInit:Footer"
|
||||||
msgstr "Poznámka: Rekompilátory nejsou potřeba ke spuštění PCSX2, nicméně normálně výrazně zlepšují rychlost emulace. Možná budete muset ruřne rekompilátory znovu zapnout, pokud vyřešíte chyby."
|
msgstr ""
|
||||||
|
"Poznámka: Rekompilátory nejsou potřeba ke spuštění PCSX2, nicméně normálně "
|
||||||
|
"výrazně zlepšují rychlost emulace. Možná budete muset ruřne rekompilátory "
|
||||||
|
"znovu zapnout, pokud vyřešíte chyby."
|
||||||
|
|
||||||
#: pcsx2/gui/AppMain.cpp:546
|
#: pcsx2/gui/AppMain.cpp:546
|
||||||
msgid "!Notice:BiosDumpRequired"
|
msgid "!Notice:BiosDumpRequired"
|
||||||
msgstr "PCSX2 vyžaduje ke spuštění BIOS PS2. Z právních důvodů *musíte* BIOS získat ze skutečného PS2, které vlastníte (půjčení se nepočítá). Podívejte se prosím na Nejčastější Otázky a Průvodce pro další instrukce."
|
msgstr ""
|
||||||
|
"PCSX2 vyžaduje ke spuštění BIOS PS2. Z právních důvodů *musíte* BIOS získat "
|
||||||
|
"ze skutečného PS2, které vlastníte (půjčení se nepočítá). Podívejte se "
|
||||||
|
"prosím na Nejčastější Otázky a Průvodce pro další instrukce."
|
||||||
|
|
||||||
#: pcsx2/gui/AppMain.cpp:629
|
#: pcsx2/gui/AppMain.cpp:629
|
||||||
msgid "!Notice Error:Thread Deadlock Actions"
|
msgid "!Notice Error:Thread Deadlock Actions"
|
||||||
@ -61,23 +84,40 @@ msgstr ""
|
|||||||
|
|
||||||
#: pcsx2/gui/AppUserMode.cpp:57
|
#: pcsx2/gui/AppUserMode.cpp:57
|
||||||
msgid "!Notice:PortableModeRights"
|
msgid "!Notice:PortableModeRights"
|
||||||
msgstr "Ujistěte se prosím, že tyto adresáře jsou vytvořeny a že Váš uživatelský účet má udělená oprávnění k zápisu do těchto adresářů -- nebo znovu spusťte PCSX2 jako správce (administrátorské oprávnění), což by mělo udělit PCSX2 schopnost samo si potřebné adresáře vytvořit. Pokud nemáte na tomto počítači správcovská oprávnění, pak budete muset přepnout do režimu Uživatelských Dokumentů (klikněte na tlačítko níže)."
|
msgstr ""
|
||||||
|
"Ujistěte se prosím, že tyto adresáře jsou vytvořeny a že Váš uživatelský "
|
||||||
|
"účet má udělená oprávnění k zápisu do těchto adresářů -- nebo znovu spusťte "
|
||||||
|
"PCSX2 jako správce (administrátorské oprávnění), což by mělo udělit PCSX2 "
|
||||||
|
"schopnost samo si potřebné adresáře vytvořit. Pokud nemáte na tomto počítači "
|
||||||
|
"správcovská oprávnění, pak budete muset přepnout do režimu Uživatelských "
|
||||||
|
"Dokumentů (klikněte na tlačítko níže)."
|
||||||
|
|
||||||
#: pcsx2/gui/Dialogs/CreateMemoryCardDialog.cpp:181
|
#: pcsx2/gui/Dialogs/CreateMemoryCardDialog.cpp:181
|
||||||
msgid "!ContextTip:ChangingNTFS"
|
msgid "!ContextTip:ChangingNTFS"
|
||||||
msgstr "Komprese NTFS může být kdykoliv ručně změněna použitím vlastností souboru z Průzkumníku Windows."
|
msgstr ""
|
||||||
|
"Komprese NTFS může být kdykoliv ručně změněna použitím vlastností souboru z "
|
||||||
|
"Průzkumníku Windows."
|
||||||
|
|
||||||
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:49
|
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:49
|
||||||
msgid "!ContextTip:Folders:Settings"
|
msgid "!ContextTip:Folders:Settings"
|
||||||
msgstr "Do tohoto adresáře PCSX2 ukládá Vaše nastavení, zahrnující i nastavení vytvořená většinou zásuvných modulů (některé starší moduly nemusí tuto hodnotu respektovat)."
|
msgstr ""
|
||||||
|
"Do tohoto adresáře PCSX2 ukládá Vaše nastavení, zahrnující i nastavení "
|
||||||
|
"vytvořená většinou zásuvných modulů (některé starší moduly nemusí tuto "
|
||||||
|
"hodnotu respektovat)."
|
||||||
|
|
||||||
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:54
|
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:54
|
||||||
msgid "!Panel:Folders:Settings"
|
msgid "!Panel:Folders:Settings"
|
||||||
msgstr "Můžete také zde dobrovolně zadat umístění Vašeho nastavení PCSX2. Pokud umístění obsahuje existující nastavení PCSX2, bude Vám dána možnost je importovat nebo přepsat."
|
msgstr ""
|
||||||
|
"Můžete také zde dobrovolně zadat umístění Vašeho nastavení PCSX2. Pokud "
|
||||||
|
"umístění obsahuje existující nastavení PCSX2, bude Vám dána možnost je "
|
||||||
|
"importovat nebo přepsat."
|
||||||
|
|
||||||
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:94
|
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:94
|
||||||
msgid "!Wizard:Welcome"
|
msgid "!Wizard:Welcome"
|
||||||
msgstr "Tento průvodce Vám pomůže skrz nastavení zásuvných modulů, paměťových karet a BIOSu. Je doporučeno, pokud je toto poprvé co instalujete %s, si prohlédnout 'Přečti mě' a průvodce nastavením."
|
msgstr ""
|
||||||
|
"Tento průvodce Vám pomůže skrz nastavení zásuvných modulů, paměťových karet "
|
||||||
|
"a BIOSu. Je doporučeno, pokud je toto poprvé co instalujete %s, si "
|
||||||
|
"prohlédnout 'Přečti mě' a průvodce nastavením."
|
||||||
|
|
||||||
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:140
|
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:140
|
||||||
msgid "!Wizard:Bios:Tutorial"
|
msgid "!Wizard:Bios:Tutorial"
|
||||||
@ -89,34 +129,50 @@ msgstr ""
|
|||||||
#: pcsx2/gui/Dialogs/ImportSettingsDialog.cpp:31
|
#: pcsx2/gui/Dialogs/ImportSettingsDialog.cpp:31
|
||||||
msgid "!Notice:ImportExistingSettings"
|
msgid "!Notice:ImportExistingSettings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Existující nastavení %s byly nalezeny v určeném adresáři nastavení. Chtěli byste tyto nastavení importovat nebo je přepsat výchozími hodnotami %s?\n"
|
"Existující nastavení %s byly nalezeny v určeném adresáři nastavení. Chtěli "
|
||||||
|
"byste tyto nastavení importovat nebo je přepsat výchozími hodnotami %s?\n"
|
||||||
"\n"
|
"\n"
|
||||||
"(nebo stiskněte Zrušit pro vybrání jiného adresáře nastavení)"
|
"(nebo stiskněte Zrušit pro vybrání jiného adresáře nastavení)"
|
||||||
|
|
||||||
#: pcsx2/gui/Dialogs/McdConfigDialog.cpp:30
|
#: pcsx2/gui/Dialogs/McdConfigDialog.cpp:30
|
||||||
msgid "!Panel:Mcd:NtfsCompress"
|
msgid "!Panel:Mcd:NtfsCompress"
|
||||||
msgstr "Komprimace NTFS je zabudovaná, rychlá a naprosto spolehlivá a většinou komprimuje paměťové karty velmi dobře (tato volba je vysoce doporučená)."
|
msgstr ""
|
||||||
|
"Komprimace NTFS je zabudovaná, rychlá a naprosto spolehlivá a většinou "
|
||||||
|
"komprimuje paměťové karty velmi dobře (tato volba je vysoce doporučená)."
|
||||||
|
|
||||||
#: pcsx2/gui/Dialogs/McdConfigDialog.cpp:41
|
#: pcsx2/gui/Dialogs/McdConfigDialog.cpp:41
|
||||||
msgid "!Panel:Mcd:EnableEjection"
|
msgid "!Panel:Mcd:EnableEjection"
|
||||||
msgstr "Zabraňuje poškození paměťové karty tím, že donutí hry reindexovat obsah karty po načtení uloženého stavu. Nemusí být kompatibilní se všemi hrami (Guitar Hero)."
|
msgstr ""
|
||||||
|
"Zabraňuje poškození paměťové karty tím, že donutí hry reindexovat obsah "
|
||||||
|
"karty po načtení uloženého stavu. Nemusí být kompatibilní se všemi hrami "
|
||||||
|
"(Guitar Hero)."
|
||||||
|
|
||||||
#: pcsx2/gui/Dialogs/StuckThreadDialog.cpp:33
|
#: pcsx2/gui/Dialogs/StuckThreadDialog.cpp:33
|
||||||
msgid "!Panel:StuckThread:Heading"
|
msgid "!Panel:StuckThread:Heading"
|
||||||
msgstr "Vlákno '%s' neodpovídá. Mohlo uváznout, nebo prostě běží *velmi* pomalu."
|
msgstr ""
|
||||||
|
"Vlákno '%s' neodpovídá. Mohlo uváznout, nebo prostě běží *velmi* pomalu."
|
||||||
|
|
||||||
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:38
|
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:38
|
||||||
msgid "!Panel:HasHacksOverrides"
|
msgid "!Panel:HasHacksOverrides"
|
||||||
msgstr "Varování! Spouštíte PCSX2 s volbami příkazového řádku, které potlačují Vaše uložená nastavení. Tyto volby příkazového řádku se nebudou odrážet v dialogovém okně Nastavení a budou zrušeny, pokud zde použijete jakékoli změny."
|
msgstr ""
|
||||||
|
"Varování! Spouštíte PCSX2 s volbami příkazového řádku, které potlačují Vaše "
|
||||||
|
"uložená nastavení. Tyto volby příkazového řádku se nebudou odrážet v "
|
||||||
|
"dialogovém okně Nastavení a budou zrušeny, pokud zde použijete jakékoli "
|
||||||
|
"změny."
|
||||||
|
|
||||||
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:58
|
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:58
|
||||||
msgid "!Panel:HasPluginsOverrides"
|
msgid "!Panel:HasPluginsOverrides"
|
||||||
msgstr "Varování! Spouštíte PCSX2 s volbami příkazového řádku, které potlačují Vaše uložená nastavení zásuvných modulů a/nebo adresářů. Tyto volby příkazového řádku se nebudou odrážet v dialogovém okně Nastavení a budou zrušeny, když zde použijete jakékoli změny nastavení."
|
msgstr ""
|
||||||
|
"Varování! Spouštíte PCSX2 s volbami příkazového řádku, které potlačují Vaše "
|
||||||
|
"uložená nastavení zásuvných modulů a/nebo adresářů. Tyto volby příkazového "
|
||||||
|
"řádku se nebudou odrážet v dialogovém okně Nastavení a budou zrušeny, když "
|
||||||
|
"zde použijete jakékoli změny nastavení."
|
||||||
|
|
||||||
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:135
|
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:135
|
||||||
msgid "!Notice:Tooltip:Presets:Slider"
|
msgid "!Notice:Tooltip:Presets:Slider"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Předvolby použijí hacky rychlosti, některá nastavení rekompilátoru a některé opravy her známé tím, že zvyšují rychlost.\n"
|
"Předvolby použijí hacky rychlosti, některá nastavení rekompilátoru a některé "
|
||||||
|
"opravy her známé tím, že zvyšují rychlost.\n"
|
||||||
"Známé důležité opravy budou použity automaticky.\n"
|
"Známé důležité opravy budou použity automaticky.\n"
|
||||||
"\n"
|
"\n"
|
||||||
"Informace o předvolbách:\n"
|
"Informace o předvolbách:\n"
|
||||||
@ -128,21 +184,28 @@ msgstr ""
|
|||||||
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:149
|
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:149
|
||||||
msgid "!Notice:Tooltip:Presets:Checkbox"
|
msgid "!Notice:Tooltip:Presets:Checkbox"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Předvolby použijí hacky rychlosti, některá nastavení rekompilátoru a některé opravy her známé tím, že zvyšují rychlost.\n"
|
"Předvolby použijí hacky rychlosti, některá nastavení rekompilátoru a některé "
|
||||||
|
"opravy her známé tím, že zvyšují rychlost.\n"
|
||||||
"Známé důležité opravy budou použity automaticky.\n"
|
"Známé důležité opravy budou použity automaticky.\n"
|
||||||
"\n"
|
"\n"
|
||||||
" --> Odškrtněte pro ruční změnu nastavení (se současnými předvolbami jako základ)"
|
" --> Odškrtněte pro ruční změnu nastavení (se současnými předvolbami jako "
|
||||||
|
"základ)"
|
||||||
|
|
||||||
#: pcsx2/gui/IsoDropTarget.cpp:28
|
#: pcsx2/gui/IsoDropTarget.cpp:28
|
||||||
msgid "!Notice:ConfirmSysReset"
|
msgid "!Notice:ConfirmSysReset"
|
||||||
msgstr "Tato činnost resetuje existující stav virtuálního stroje PS2; veškerý současný postup bude ztracen. Jste si jisti?"
|
msgstr ""
|
||||||
|
"Tato činnost resetuje existující stav virtuálního stroje PS2; veškerý "
|
||||||
|
"současný postup bude ztracen. Jste si jisti?"
|
||||||
|
|
||||||
#: pcsx2/gui/MainMenuClicks.cpp:106
|
#: pcsx2/gui/MainMenuClicks.cpp:106
|
||||||
msgid "!Notice:DeleteSettings"
|
msgid "!Notice:DeleteSettings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Tento příkaz vyčistí nastavení %s a umožňuje Vám znovu spustit Průvodce Prvním Spuštěním. Po této operaci budete muset ručně restartovat %s.\n"
|
"Tento příkaz vyčistí nastavení %s a umožňuje Vám znovu spustit Průvodce "
|
||||||
|
"Prvním Spuštěním. Po této operaci budete muset ručně restartovat %s.\n"
|
||||||
"\n"
|
"\n"
|
||||||
"VAROVÁNÍ!! Kliknutím na OK smažete *VŠECHNA* nastavení pro %s a přinutíte tuto aplikaci uzavřít, čímž ztratíte jakýkoli postup emulace. Jste si naprosto jisti?\n"
|
"VAROVÁNÍ!! Kliknutím na OK smažete *VŠECHNA* nastavení pro %s a přinutíte "
|
||||||
|
"tuto aplikaci uzavřít, čímž ztratíte jakýkoli postup emulace. Jste si "
|
||||||
|
"naprosto jisti?\n"
|
||||||
"\n"
|
"\n"
|
||||||
"(poznámka: nastavení zásuvných modulů nejsou ovlivněna)"
|
"(poznámka: nastavení zásuvných modulů nejsou ovlivněna)"
|
||||||
|
|
||||||
@ -154,7 +217,9 @@ msgstr ""
|
|||||||
|
|
||||||
#: pcsx2/gui/Panels/BiosSelectorPanel.cpp:138
|
#: pcsx2/gui/Panels/BiosSelectorPanel.cpp:138
|
||||||
msgid "!Notice:BIOS:InvalidSelection"
|
msgid "!Notice:BIOS:InvalidSelection"
|
||||||
msgstr "Prosím zvolte platný BIOS. Pokud nejste schopni provést platnou volbu, pak stiskněte Zrušit pro zavření Konfiguračního panelu."
|
msgstr ""
|
||||||
|
"Prosím zvolte platný BIOS. Pokud nejste schopni provést platnou volbu, pak "
|
||||||
|
"stiskněte Zrušit pro zavření Konfiguračního panelu."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/CpuPanel.cpp:111
|
#: pcsx2/gui/Panels/CpuPanel.cpp:111
|
||||||
msgid "!Panel:EE/IOP:Heading"
|
msgid "!Panel:EE/IOP:Heading"
|
||||||
@ -170,37 +235,59 @@ msgstr "Zadaná cesta/adresář neexistuje. Chtěli byste je vytvořit?"
|
|||||||
|
|
||||||
#: pcsx2/gui/Panels/DirPickerPanel.cpp:158
|
#: pcsx2/gui/Panels/DirPickerPanel.cpp:158
|
||||||
msgid "!ContextTip:DirPicker:UseDefault"
|
msgid "!ContextTip:DirPicker:UseDefault"
|
||||||
msgstr "Je-li zaškrtnuto, tento adresář bude automaticky odrážet výchozí asociaci se současným nastavením uživatelského režimu PCSX2."
|
msgstr ""
|
||||||
|
"Je-li zaškrtnuto, tento adresář bude automaticky odrážet výchozí asociaci se "
|
||||||
|
"současným nastavením uživatelského režimu PCSX2."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/GSWindowPanel.cpp:55
|
#: pcsx2/gui/Panels/GSWindowPanel.cpp:55
|
||||||
msgid "!ContextTip:Window:Zoom"
|
msgid "!ContextTip:Window:Zoom"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Přiblížení = 100: Celý obraz bude umístěn do okna bez jakéhokoliv oříznutí.\n"
|
"Přiblížení = 100: Celý obraz bude umístěn do okna bez jakéhokoliv oříznutí.\n"
|
||||||
"Nad/Pod 100: Přiblížení/Oddálení\n"
|
"Nad/Pod 100: Přiblížení/Oddálení\n"
|
||||||
"0: Automaticky přibližovat, dokud černé čáry nezmizí (poměr stran je zachován, část obrazu bude mimo obrazovku).\n"
|
"0: Automaticky přibližovat, dokud černé čáry nezmizí (poměr stran je "
|
||||||
"POZNÁMKA: Některé hry vykreslují vlastní černé čáry, které pomocí '0' nebudou odstraněny.\n"
|
"zachován, část obrazu bude mimo obrazovku).\n"
|
||||||
|
"POZNÁMKA: Některé hry vykreslují vlastní černé čáry, které pomocí '0' "
|
||||||
|
"nebudou odstraněny.\n"
|
||||||
"\n"
|
"\n"
|
||||||
"Klávesnice: CTRL + PLUS: Přiblížení, CTRL + MÍNUS: Oddálení, CTRL + HVĚZDIČKA: Přepínání 100/0."
|
"Klávesnice: CTRL + PLUS: Přiblížení, CTRL + MÍNUS: Oddálení, CTRL + "
|
||||||
|
"HVĚZDIČKA: Přepínání 100/0."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/GSWindowPanel.cpp:63
|
#: pcsx2/gui/Panels/GSWindowPanel.cpp:63
|
||||||
msgid "!ContextTip:Window:Vsync"
|
msgid "!ContextTip:Window:Vsync"
|
||||||
msgstr "Vsynch odstraňuje trhání obrazovky, ale má velký vliv na výkon. Většinou se toto týká režimu celé obrazovky a nemusí fungovat se všemi zásuvnými moduly GS."
|
msgstr ""
|
||||||
|
"Vsynch odstraňuje trhání obrazovky, ale má velký vliv na výkon. Většinou se "
|
||||||
|
"toto týká režimu celé obrazovky a nemusí fungovat se všemi zásuvnými moduly "
|
||||||
|
"GS."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/GSWindowPanel.cpp:68
|
#: pcsx2/gui/Panels/GSWindowPanel.cpp:68
|
||||||
msgid "!ContextTip:Window:ManagedVsync"
|
msgid "!ContextTip:Window:ManagedVsync"
|
||||||
msgstr "Povolí Vsynch když snímkovací frekvence je přesně na plné rychlosti. Pokud spadne pod tuto hodnotu, Vsynch je zakázána k zabránění dalších penalizací výkonu. Poznámka: Toto nyní správně funguje pouze s GSdx jako zásuvný modul GS a nastaveným na použití hardwarového vykreslování DX10/11. Jakýkoli jiný modul nebo režim vykreslování toto bude ignorovat, nebo vytvoří černý snímek, který blikne, kdykoliv je režim přepnut. Také vyžaduje povolenou Vsynch."
|
msgstr ""
|
||||||
|
"Povolí Vsynch když snímkovací frekvence je přesně na plné rychlosti. Pokud "
|
||||||
|
"spadne pod tuto hodnotu, Vsynch je zakázána k zabránění dalších penalizací "
|
||||||
|
"výkonu. Poznámka: Toto nyní správně funguje pouze s GSdx jako zásuvný modul "
|
||||||
|
"GS a nastaveným na použití hardwarového vykreslování DX10/11. Jakýkoli jiný "
|
||||||
|
"modul nebo režim vykreslování toto bude ignorovat, nebo vytvoří černý "
|
||||||
|
"snímek, který blikne, kdykoliv je režim přepnut. Také vyžaduje povolenou "
|
||||||
|
"Vsynch."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/GSWindowPanel.cpp:76
|
#: pcsx2/gui/Panels/GSWindowPanel.cpp:76
|
||||||
msgid "!ContextTip:Window:HideMouse"
|
msgid "!ContextTip:Window:HideMouse"
|
||||||
msgstr "Zašrktněte toto pro vynucení zneviditelnění kurzoru myši uvnitř okna GS; užitečné, jestli myš používáte jako hlavní kontrolní zařízení pro hraní. Standardně je myš schována po 2 vteřinách nečinnosti."
|
msgstr ""
|
||||||
|
"Zašrktněte toto pro vynucení zneviditelnění kurzoru myši uvnitř okna GS; "
|
||||||
|
"užitečné, jestli myš používáte jako hlavní kontrolní zařízení pro hraní. "
|
||||||
|
"Standardně je myš schována po 2 vteřinách nečinnosti."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/GSWindowPanel.cpp:82
|
#: pcsx2/gui/Panels/GSWindowPanel.cpp:82
|
||||||
msgid "!ContextTip:Window:Fullscreen"
|
msgid "!ContextTip:Window:Fullscreen"
|
||||||
msgstr "Povolí automatické přepnutí režimu na celou obrazovku, při spuštění nebo obnově emulace. Stále můžete přepnout na celou obrazovku pomocí alt-enter."
|
msgstr ""
|
||||||
|
"Povolí automatické přepnutí režimu na celou obrazovku, při spuštění nebo "
|
||||||
|
"obnově emulace. Stále můžete přepnout na celou obrazovku pomocí alt-enter."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/GSWindowPanel.cpp:93
|
#: pcsx2/gui/Panels/GSWindowPanel.cpp:93
|
||||||
msgid "!ContextTip:Window:HideGS"
|
msgid "!ContextTip:Window:HideGS"
|
||||||
msgstr "Úplně zavře často velké a rozměrné okno GS při stisku ESC nebo pozastavení emulátoru."
|
msgstr ""
|
||||||
|
"Úplně zavře často velké a rozměrné okno GS při stisku ESC nebo pozastavení "
|
||||||
|
"emulátoru."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/GameFixesPanel.cpp:67
|
#: pcsx2/gui/Panels/GameFixesPanel.cpp:67
|
||||||
msgid "!ContextTip:Gamefixes:EE Timing Hack"
|
msgid "!ContextTip:Gamefixes:EE Timing Hack"
|
||||||
@ -235,16 +322,21 @@ msgstr ""
|
|||||||
msgid "!Panel:Gamefixes:Compat Warning"
|
msgid "!Panel:Gamefixes:Compat Warning"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Opravy her můžou obejít špatnou emulaci v některých hrách.\n"
|
"Opravy her můžou obejít špatnou emulaci v některých hrách.\n"
|
||||||
"Můžou ale také způsobit problémy s kompatibilitou a výkonem, takže nejsou doporučeny.\n"
|
"Můžou ale také způsobit problémy s kompatibilitou a výkonem, takže nejsou "
|
||||||
|
"doporučeny.\n"
|
||||||
"Opravy her jsou použity automaticky, takže zde nic nemusíte nastavovat."
|
"Opravy her jsou použity automaticky, takže zde nic nemusíte nastavovat."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:720
|
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:720
|
||||||
msgid "!Notice:Mcd:Delete"
|
msgid "!Notice:Mcd:Delete"
|
||||||
msgstr "Chystáte se smazat formátovanou paměťovou kartu '%s'. Všechna data na kartě budou ztracena! Jste si naprosto a zcela jisti?"
|
msgstr ""
|
||||||
|
"Chystáte se smazat formátovanou paměťovou kartu '%s'. Všechna data na kartě "
|
||||||
|
"budou ztracena! Jste si naprosto a zcela jisti?"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:758
|
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:758
|
||||||
msgid "!Notice:Mcd:CantDuplicate"
|
msgid "!Notice:Mcd:CantDuplicate"
|
||||||
msgstr "Selhání: Kopírování je povoleno pouze na prázdnou pozici PS2 nebo do systému souborů."
|
msgstr ""
|
||||||
|
"Selhání: Kopírování je povoleno pouze na prázdnou pozici PS2 nebo do systému "
|
||||||
|
"souborů."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:801
|
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:801
|
||||||
msgid "!Notice:Mcd:Copy Failed"
|
msgid "!Notice:Mcd:Copy Failed"
|
||||||
@ -252,23 +344,38 @@ msgstr "Selhání: Cílová paměťová karta '%s' se používá."
|
|||||||
|
|
||||||
#: pcsx2/gui/Panels/MiscPanelStuff.cpp:35
|
#: pcsx2/gui/Panels/MiscPanelStuff.cpp:35
|
||||||
msgid "!Panel:Usermode:Explained"
|
msgid "!Panel:Usermode:Explained"
|
||||||
msgstr "Prosím vyberte níže Vaši upřednostňované výchozí umístění pro dokumenty uživatelské úrovně PCSX2 (zahrnující paměťové karty, snímky obrazovky, nastavení a uložené stavy). Tyto umístění adresářů mohou být kdykoli potlačena použitím panelu Hlavního Nastavení."
|
msgstr ""
|
||||||
|
"Prosím vyberte níže Vaši upřednostňované výchozí umístění pro dokumenty "
|
||||||
|
"uživatelské úrovně PCSX2 (zahrnující paměťové karty, snímky obrazovky, "
|
||||||
|
"nastavení a uložené stavy). Tyto umístění adresářů mohou být kdykoli "
|
||||||
|
"potlačena použitím panelu Hlavního Nastavení."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/MiscPanelStuff.cpp:41
|
#: pcsx2/gui/Panels/MiscPanelStuff.cpp:41
|
||||||
msgid "!Panel:Usermode:Warning"
|
msgid "!Panel:Usermode:Warning"
|
||||||
msgstr "Prosím vyberte níže Vaši upřednostňované výchozí umístění pro dokumenty uživatelské úrovně PCSX2 (zahrnující paměťové karty, snímky obrazovky, nastavení a uložené stavy). Tato volba ovlivňuje pouze Standardní Cesty, které jsou nastaveny, aby používali výchozí hodnoty instalace."
|
msgstr ""
|
||||||
|
"Prosím vyberte níže Vaši upřednostňované výchozí umístění pro dokumenty "
|
||||||
|
"uživatelské úrovně PCSX2 (zahrnující paměťové karty, snímky obrazovky, "
|
||||||
|
"nastavení a uložené stavy). Tato volba ovlivňuje pouze Standardní Cesty, "
|
||||||
|
"které jsou nastaveny, aby používali výchozí hodnoty instalace."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/PathsPanel.cpp:40
|
#: pcsx2/gui/Panels/PathsPanel.cpp:40
|
||||||
msgid "!ContextTip:Folders:Savestates"
|
msgid "!ContextTip:Folders:Savestates"
|
||||||
msgstr "Do tohoto adresáře PCSX2 ukládá uložené stavy, které jsou zaznamenány buď použitím menu/panelů nástrojů, nebo stisknutím F1/F3 (uložit/nahrát)."
|
msgstr ""
|
||||||
|
"Do tohoto adresáře PCSX2 ukládá uložené stavy, které jsou zaznamenány buď "
|
||||||
|
"použitím menu/panelů nástrojů, nebo stisknutím F1/F3 (uložit/nahrát)."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/PathsPanel.cpp:50
|
#: pcsx2/gui/Panels/PathsPanel.cpp:50
|
||||||
msgid "!ContextTip:Folders:Snapshots"
|
msgid "!ContextTip:Folders:Snapshots"
|
||||||
msgstr "Toto je adresář, kde PCSX2 ukládá snímky obrazovky. Vlastní formát a styl snímku se může měnit v závislosti na používaném zásuvném modulu GS."
|
msgstr ""
|
||||||
|
"Toto je adresář, kde PCSX2 ukládá snímky obrazovky. Vlastní formát a styl "
|
||||||
|
"snímku se může měnit v závislosti na používaném zásuvném modulu GS."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/PathsPanel.cpp:60
|
#: pcsx2/gui/Panels/PathsPanel.cpp:60
|
||||||
msgid "!ContextTip:Folders:Logs"
|
msgid "!ContextTip:Folders:Logs"
|
||||||
msgstr "Toto je adresář, kde PCSX2 ukládá své soubory se záznamem a diagnostické výpisy. Většina zásuvných modulů bude také používat tento adresář, ale některé starší ho můžou ignorovat."
|
msgstr ""
|
||||||
|
"Toto je adresář, kde PCSX2 ukládá své soubory se záznamem a diagnostické "
|
||||||
|
"výpisy. Většina zásuvných modulů bude také používat tento adresář, ale "
|
||||||
|
"některé starší ho můžou ignorovat."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/PluginSelectorPanel.cpp:242
|
#: pcsx2/gui/Panels/PluginSelectorPanel.cpp:242
|
||||||
msgid "!Notice:PluginSelector:ConfirmShutdown"
|
msgid "!Notice:PluginSelector:ConfirmShutdown"
|
||||||
@ -276,19 +383,28 @@ msgstr "Varování! Změna zásuvných modulů vyžaduje"
|
|||||||
|
|
||||||
#: pcsx2/gui/Panels/PluginSelectorPanel.cpp:457
|
#: pcsx2/gui/Panels/PluginSelectorPanel.cpp:457
|
||||||
msgid "!Notice:PluginSelector:ApplyFailed"
|
msgid "!Notice:PluginSelector:ApplyFailed"
|
||||||
msgstr "Všechny zásuvné moduly musí mít platný výběr pro %s ke spuštění. Pokud nemůžete provést výběr kvůli chybějícímu modulu nebo nedokončené instalaci %s, pak stiskněte Zrušit pro uzavření panelu Nastavení."
|
msgstr ""
|
||||||
|
"Všechny zásuvné moduly musí mít platný výběr pro %s ke spuštění. Pokud "
|
||||||
|
"nemůžete provést výběr kvůli chybějícímu modulu nebo nedokončené instalaci "
|
||||||
|
"%s, pak stiskněte Zrušit pro uzavření panelu Nastavení."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:27
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:27
|
||||||
msgid "!Panel:Speedhacks:EECycleX1"
|
msgid "!Panel:Speedhacks:EECycleX1"
|
||||||
msgstr "Výchozí množství cyklů. Toto se blíže shoduje se skutečnou rychlostí opravdového EmotionEngine PS2."
|
msgstr ""
|
||||||
|
"Výchozí množství cyklů. Toto se blíže shoduje se skutečnou rychlostí "
|
||||||
|
"opravdového EmotionEngine PS2."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:32
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:32
|
||||||
msgid "!Panel:Speedhacks:EECycleX2"
|
msgid "!Panel:Speedhacks:EECycleX2"
|
||||||
msgstr "Sníží množství cyklů EE asi o 33%. Mírné zrychlení ve většině her s vysokou kompatibilitou."
|
msgstr ""
|
||||||
|
"Sníží množství cyklů EE asi o 33%. Mírné zrychlení ve většině her s vysokou "
|
||||||
|
"kompatibilitou."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:37
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:37
|
||||||
msgid "!Panel:Speedhacks:EECycleX3"
|
msgid "!Panel:Speedhacks:EECycleX3"
|
||||||
msgstr "Sníží množství cyklů EE asi o 50%. Průměrné zrychlení, ale *způsobí* zadrhování zvuku ve spoustě FMV."
|
msgstr ""
|
||||||
|
"Sníží množství cyklů EE asi o 50%. Průměrné zrychlení, ale *způsobí* "
|
||||||
|
"zadrhování zvuku ve spoustě FMV."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:54
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:54
|
||||||
msgid "!Panel:Speedhacks:VUCycleStealOff"
|
msgid "!Panel:Speedhacks:VUCycleStealOff"
|
||||||
@ -296,78 +412,129 @@ msgstr "Zakáže krádež cyklů VJ. Nejkompatibilnější nastavení"
|
|||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:59
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:59
|
||||||
msgid "!Panel:Speedhacks:VUCycleSteal1"
|
msgid "!Panel:Speedhacks:VUCycleSteal1"
|
||||||
msgstr "Mírná krádež cyklů VJ. Nižší kompatibilita, ale jisté zrychlení ve většině her."
|
msgstr ""
|
||||||
|
"Mírná krádež cyklů VJ. Nižší kompatibilita, ale jisté zrychlení ve většině "
|
||||||
|
"her."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:64
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:64
|
||||||
msgid "!Panel:Speedhacks:VUCycleSteal2"
|
msgid "!Panel:Speedhacks:VUCycleSteal2"
|
||||||
msgstr "Průměrná krádež cyklů VJ. Ještě nižší kompatibilita, ale výrazné zrychlení v některých hrách."
|
msgstr ""
|
||||||
|
"Průměrná krádež cyklů VJ. Ještě nižší kompatibilita, ale výrazné zrychlení v "
|
||||||
|
"některých hrách."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:70
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:70
|
||||||
msgid "!Panel:Speedhacks:VUCycleSteal3"
|
msgid "!Panel:Speedhacks:VUCycleSteal3"
|
||||||
msgstr "Maximální krádež cyklů VJ. Užitečnost je omezená protože toto způsobuje blikání grafiky nebo zpomalení ve většině her. "
|
msgstr ""
|
||||||
|
"Maximální krádež cyklů VJ. Užitečnost je omezená protože toto způsobuje "
|
||||||
|
"blikání grafiky nebo zpomalení ve většině her. "
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:97
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:97
|
||||||
msgid "!Panel:Speedhacks:Overview"
|
msgid "!Panel:Speedhacks:Overview"
|
||||||
msgstr "Hacky Rychlosti většinou zlepšují rychlost emulace, ale můžou způsobovat chyby, špatný zvuk a špatné údaje o SZS. Když máte problémy s emulací, tento panel zakažte nejdříve."
|
msgstr ""
|
||||||
|
"Hacky Rychlosti většinou zlepšují rychlost emulace, ale můžou způsobovat "
|
||||||
|
"chyby, špatný zvuk a špatné údaje o SZS. Když máte problémy s emulací, tento "
|
||||||
|
"panel zakažte nejdříve."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:129
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:129
|
||||||
msgid "!ContextTip:Speedhacks:EECycleRate Slider"
|
msgid "!ContextTip:Speedhacks:EECycleRate Slider"
|
||||||
msgstr "Nastavením vyšších hodnot na tomto šoupátku účinně sníží rychlost hodin jádra R5900 procesoru EmotionEngine a typicky přináší velké zrychlení hrám, které nemohou využívat plný potenciál skutečného hardwaru PS2. "
|
msgstr ""
|
||||||
|
"Nastavením vyšších hodnot na tomto šoupátku účinně sníží rychlost hodin "
|
||||||
|
"jádra R5900 procesoru EmotionEngine a typicky přináší velké zrychlení hrám, "
|
||||||
|
"které nemohou využívat plný potenciál skutečného hardwaru PS2. "
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:150
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:150
|
||||||
msgid "!ContextTip:Speedhacks:VUCycleStealing Slider"
|
msgid "!ContextTip:Speedhacks:VUCycleStealing Slider"
|
||||||
msgstr "Toto šoupátko kontroluje množství cyklů, které VJ ukradne od EmotionEngine. Vyšší hodnoty zvyšují počet ukradených cyklů od EE pro každý mikroprogram, který VJ spustí."
|
msgstr ""
|
||||||
|
"Toto šoupátko kontroluje množství cyklů, které VJ ukradne od EmotionEngine. "
|
||||||
|
"Vyšší hodnoty zvyšují počet ukradených cyklů od EE pro každý mikroprogram, "
|
||||||
|
"který VJ spustí."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:172
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:169
|
||||||
msgid "!ContextTip:Speedhacks:vuFlagHack"
|
msgid "!ContextTip:Speedhacks:vuFlagHack"
|
||||||
msgstr "Aktualizuje Příznaky Stavu pouze v blocích, které je budou číst, místo neustále. Toto je většinou bezpečné a Super VJ dělá standardně něco podobného."
|
msgstr ""
|
||||||
|
"Aktualizuje Příznaky Stavu pouze v blocích, které je budou číst, místo "
|
||||||
|
"neustále. Toto je většinou bezpečné a Super VJ dělá standardně něco "
|
||||||
|
"podobného."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:177
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:174
|
||||||
msgid "!ContextTip:Speedhacks:vuBlockHack"
|
|
||||||
msgstr "Předpokládá, že daleko v budoucnosti bloky nebudou potřebovat staré příznaky dat instancí. Toto by mělo být celkem bezpečné. Není známo, jestli toto nějakou hru poškozuje..."
|
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:182
|
|
||||||
msgid "!ContextTip:Speedhacks:vuThread"
|
msgid "!ContextTip:Speedhacks:vuThread"
|
||||||
msgstr "Spouští VJ1 na svém vlastním vlákně (pouze mikroVJ1). Na počítačích s 3 a více jádry většinou zrychlení. Toto je pro většinu her bezpečné, ale některé jsou nekompatibilní a mohou se zaseknout. V případě her omezených GS může dojít ke zpomalení (zvláště na počítačích s dvoujádrovým procesorem)."
|
msgstr ""
|
||||||
|
"Spouští VJ1 na svém vlastním vlákně (pouze mikroVJ1). Na počítačích s 3 a "
|
||||||
|
"více jádry většinou zrychlení. Toto je pro většinu her bezpečné, ale některé "
|
||||||
|
"jsou nekompatibilní a mohou se zaseknout. V případě her omezených GS může "
|
||||||
|
"dojít ke zpomalení (zvláště na počítačích s dvoujádrovým procesorem)."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:203
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:195
|
||||||
msgid "!ContextTip:Speedhacks:INTC"
|
msgid "!ContextTip:Speedhacks:INTC"
|
||||||
msgstr "Tento hack funguje nejlépe v hrách, které používají stavy KPŘE registru pro čekání na vsynch, což hlavně zahrnuje ne-3D rpg hry. Ty, co tuto metodu v synch nepoužívají z tohoto hacku nedostanou žádné nebo malé zrychlení."
|
msgstr ""
|
||||||
|
"Tento hack funguje nejlépe v hrách, které používají stavy KPŘE registru pro "
|
||||||
|
"čekání na vsynch, což hlavně zahrnuje ne-3D rpg hry. Ty, co tuto metodu v "
|
||||||
|
"synch nepoužívají z tohoto hacku nedostanou žádné nebo malé zrychlení."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:208
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:200
|
||||||
msgid "!ContextTip:Speedhacks:BIFC0"
|
msgid "!ContextTip:Speedhacks:BIFC0"
|
||||||
msgstr "Má za cíl hlavně čekací smyčku EE na adrese 0x81FC0 v kernelu, tento hack se pokusí zjistit smyčky, jejichž těla mají zaručeně za následek stejný stav stroje pro každé opakování doku naplánovaná událost nespustí emulaci další jednotky. Po prvním opakováním takovýchto smyček, pokročíme do doby další události nebo konce pracovního intervalu procesoru, co nastane dříve."
|
msgstr ""
|
||||||
|
"Má za cíl hlavně čekací smyčku EE na adrese 0x81FC0 v kernelu, tento hack se "
|
||||||
|
"pokusí zjistit smyčky, jejichž těla mají zaručeně za následek stejný stav "
|
||||||
|
"stroje pro každé opakování doku naplánovaná událost nespustí emulaci další "
|
||||||
|
"jednotky. Po prvním opakováním takovýchto smyček, pokročíme do doby další "
|
||||||
|
"události nebo konce pracovního intervalu procesoru, co nastane dříve."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:215
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:207
|
||||||
msgid "!ContextTip:Speedhacks:fastCDVD"
|
msgid "!ContextTip:Speedhacks:fastCDVD"
|
||||||
msgstr "Zkontrolujte seznam kompatibility HDLoadera pro hry, známé, že s tímto mají problémy. (často označené jako vyžadující 'mode 1' nebo 'slow DVD'"
|
msgstr ""
|
||||||
|
"Zkontrolujte seznam kompatibility HDLoadera pro hry, známé, že s tímto mají "
|
||||||
|
"problémy. (často označené jako vyžadující 'mode 1' nebo 'slow DVD'"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:37
|
#: pcsx2/gui/Panels/VideoPanel.cpp:37
|
||||||
msgid "!ContextTip:Framelimiter:Disable"
|
msgid "!ContextTip:Framelimiter:Disable"
|
||||||
msgstr "Nezapomeňte, že když je omezení snímků vypnuté, nebudou ani také dostupné režimy Turbo a ZpomalenýPohyb."
|
msgstr ""
|
||||||
|
"Nezapomeňte, že když je omezení snímků vypnuté, nebudou ani také dostupné "
|
||||||
|
"režimy Turbo a ZpomalenýPohyb."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:223
|
#: pcsx2/gui/Panels/VideoPanel.cpp:227
|
||||||
msgid "!Panel:Frameskip:Heading"
|
msgid "!Panel:Frameskip:Heading"
|
||||||
msgstr "Upozornění: Kvůli hardwarovému designu PS2 je přesné přeskakování snímků nemožné. Zapnutím tohoto způsobí vážné grafické chyby v některých hrách."
|
msgstr ""
|
||||||
|
"Upozornění: Kvůli hardwarovému designu PS2 je přesné přeskakování snímků "
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:302
|
"nemožné. Zapnutím tohoto způsobí vážné grafické chyby v některých hrách."
|
||||||
msgid "!ContextTip:GS:SyncMTGS"
|
|
||||||
msgstr "Zapněte toto, pokud si myslíte, že synch vlákna VVGS způsobuje pády a grafické problémy."
|
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:306
|
#: pcsx2/gui/Panels/VideoPanel.cpp:306
|
||||||
|
msgid "!ContextTip:GS:SyncMTGS"
|
||||||
|
msgstr ""
|
||||||
|
"Zapněte toto, pokud si myslíte, že synch vlákna VVGS způsobuje pády a "
|
||||||
|
"grafické problémy."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/VideoPanel.cpp:310
|
||||||
msgid "!ContextTip:GS:DisableOutput"
|
msgid "!ContextTip:GS:DisableOutput"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Odstraní jakýkoli šum výkonnostního testu způsobený vláknem VVGS nebo časem zpracování grafického procesoru. Tato volba se nejlépe používá spolu s uloženými stavy: uložte stav v ideální scéně, zapněte tuto volbu, a znovu načtěte uložený stav.\n"
|
"Odstraní jakýkoli šum výkonnostního testu způsobený vláknem VVGS nebo časem "
|
||||||
|
"zpracování grafického procesoru. Tato volba se nejlépe používá spolu s "
|
||||||
|
"uloženými stavy: uložte stav v ideální scéně, zapněte tuto volbu, a znovu "
|
||||||
|
"načtěte uložený stav.\n"
|
||||||
"\n"
|
"\n"
|
||||||
"Varování: Tato volba může být zapnuta za běhu ale typicky nemůže být takto vypnuta (obraz bude většinou poškozený)"
|
"Varování: Tato volba může být zapnuta za běhu ale typicky nemůže být takto "
|
||||||
|
"vypnuta (obraz bude většinou poškozený)"
|
||||||
|
|
||||||
#: pcsx2/vtlb.cpp:710
|
#: pcsx2/vtlb.cpp:710
|
||||||
msgid "!Notice:HostVmReserve"
|
msgid "!Notice:HostVmReserve"
|
||||||
msgstr "Váš systém má příliš nízké virtuální zdroje, aby mohl být PCSX2 spuštěn. To může být způsobeno malým nebo vypnutým stránkovacím souborem, nebo jinými programy, které jsou náročné na zdroje."
|
msgstr ""
|
||||||
|
"Váš systém má příliš nízké virtuální zdroje, aby mohl být PCSX2 spuštěn. To "
|
||||||
|
"může být způsobeno malým nebo vypnutým stránkovacím souborem, nebo jinými "
|
||||||
|
"programy, které jsou náročné na zdroje."
|
||||||
|
|
||||||
#: pcsx2/x86/sVU_zerorec.cpp:363
|
#: pcsx2/x86/sVU_zerorec.cpp:363
|
||||||
msgid "!Notice:superVU:VirtualMemoryAlloc"
|
msgid "!Notice:superVU:VirtualMemoryAlloc"
|
||||||
msgstr "Došla Paměť (tak trochu): Rekompilátor SuperVJ nemohl vyhradit určitý vyžadovaný rozsah paměti a nebude dostupný k použití. To není kritická chyba, protože rek sVU je zastaralý a stejně byste místo něj měli používat mVU :)."
|
msgstr ""
|
||||||
|
"Došla Paměť (tak trochu): Rekompilátor SuperVJ nemohl vyhradit určitý "
|
||||||
|
"vyžadovaný rozsah paměti a nebude dostupný k použití. To není kritická "
|
||||||
|
"chyba, protože rek sVU je zastaralý a stejně byste místo něj měli používat "
|
||||||
|
"mVU :)."
|
||||||
|
|
||||||
|
#~ msgid "!ContextTip:Speedhacks:vuBlockHack"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Předpokládá, že daleko v budoucnosti bloky nebudou potřebovat staré "
|
||||||
|
#~ "příznaky dat instancí. Toto by mělo být celkem bezpečné. Není známo, "
|
||||||
|
#~ "jestli toto nějakou hru poškozuje..."
|
||||||
|
|
||||||
#~ msgid "No reason given."
|
#~ msgid "No reason given."
|
||||||
#~ msgstr "Bez udání důvodu."
|
#~ msgstr "Bez udání důvodu."
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -4,7 +4,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
|
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
|
||||||
"POT-Creation-Date: 2011-09-28 20:27+0200\n"
|
"POT-Creation-Date: 2012-04-07 11:42+0200\n"
|
||||||
"PO-Revision-Date: 2011-04-09 01:11+0100\n"
|
"PO-Revision-Date: 2011-04-09 01:11+0100\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: PCSX2\n"
|
"Language-Team: PCSX2\n"
|
||||||
@ -24,7 +24,7 @@ msgstr ""
|
|||||||
"Es steht nicht genügend virtueller Speicher zur Verfügung bzw. der Speicher "
|
"Es steht nicht genügend virtueller Speicher zur Verfügung bzw. der Speicher "
|
||||||
"wird von anderen Programmen / DLLs belegt."
|
"wird von anderen Programmen / DLLs belegt."
|
||||||
|
|
||||||
#: pcsx2/CDVD/CDVD.cpp:385
|
#: pcsx2/CDVD/CDVD.cpp:389
|
||||||
msgid "!Notice:PsxDisc"
|
msgid "!Notice:PsxDisc"
|
||||||
msgstr "PlayStation 1 (PSX) Spiele werden von PCSX2 noch nicht unterstützt!"
|
msgstr "PlayStation 1 (PSX) Spiele werden von PCSX2 noch nicht unterstützt!"
|
||||||
|
|
||||||
@ -361,28 +361,24 @@ msgstr ""
|
|||||||
"\"Stiehlt\" der PS2 CPU einige Zyklen bei jeder VU Programmausführung. "
|
"\"Stiehlt\" der PS2 CPU einige Zyklen bei jeder VU Programmausführung. "
|
||||||
"Geschwindigkeitsgewinn bei reduzierter Kompatibilität."
|
"Geschwindigkeitsgewinn bei reduzierter Kompatibilität."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:172
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:169
|
||||||
msgid "!ContextTip:Speedhacks:vuFlagHack"
|
msgid "!ContextTip:Speedhacks:vuFlagHack"
|
||||||
msgstr "Lässt einige VU Statusflags aus. Sicher."
|
msgstr "Lässt einige VU Statusflags aus. Sicher."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:177
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:174
|
||||||
msgid "!ContextTip:Speedhacks:vuBlockHack"
|
|
||||||
msgstr "Kann die Geschwindigkeit leicht erhöhen. In FFX kontraproduktiv!"
|
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:182
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "!ContextTip:Speedhacks:vuThread"
|
msgid "!ContextTip:Speedhacks:vuThread"
|
||||||
msgstr "Funktioniert nicht mit Gran Turismo 4 oder Tekken 5."
|
msgstr "Funktioniert nicht mit Gran Turismo 4 oder Tekken 5."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:203
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:195
|
||||||
msgid "!ContextTip:Speedhacks:INTC"
|
msgid "!ContextTip:Speedhacks:INTC"
|
||||||
msgstr "Kann gefahrlos aktiviert werden."
|
msgstr "Kann gefahrlos aktiviert werden."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:208
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:200
|
||||||
msgid "!ContextTip:Speedhacks:BIFC0"
|
msgid "!ContextTip:Speedhacks:BIFC0"
|
||||||
msgstr "Kann gefahrlos aktiviert werden."
|
msgstr "Kann gefahrlos aktiviert werden."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:215
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:207
|
||||||
msgid "!ContextTip:Speedhacks:fastCDVD"
|
msgid "!ContextTip:Speedhacks:fastCDVD"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Einige Spiele erwarten ein standardkonformes (langsam lesendes) DVD "
|
"Einige Spiele erwarten ein standardkonformes (langsam lesendes) DVD "
|
||||||
@ -394,17 +390,17 @@ msgstr ""
|
|||||||
"Deaktiviert den Framelimiter. Das Spiel läuft so schnell wie es dein Rechner "
|
"Deaktiviert den Framelimiter. Das Spiel läuft so schnell wie es dein Rechner "
|
||||||
"ermöglicht."
|
"ermöglicht."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:223
|
#: pcsx2/gui/Panels/VideoPanel.cpp:227
|
||||||
msgid "!Panel:Frameskip:Heading"
|
msgid "!Panel:Frameskip:Heading"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Aufgrund des spezifischen Designs der PS2 ist ein akkurates Frameskipping "
|
"Aufgrund des spezifischen Designs der PS2 ist ein akkurates Frameskipping "
|
||||||
"nicht möglich. Versuche die Werte anzupassen oder benutze Speedhacks."
|
"nicht möglich. Versuche die Werte anzupassen oder benutze Speedhacks."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:302
|
#: pcsx2/gui/Panels/VideoPanel.cpp:306
|
||||||
msgid "!ContextTip:GS:SyncMTGS"
|
msgid "!ContextTip:GS:SyncMTGS"
|
||||||
msgstr "Nur für das Debugging aktivieren. Sehr langsam."
|
msgstr "Nur für das Debugging aktivieren. Sehr langsam."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:306
|
#: pcsx2/gui/Panels/VideoPanel.cpp:310
|
||||||
msgid "!ContextTip:GS:DisableOutput"
|
msgid "!ContextTip:GS:DisableOutput"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Entfernt störende Faktoren von der Grafikkarte oder Treiberproblemen. Nur "
|
"Entfernt störende Faktoren von der Grafikkarte oder Treiberproblemen. Nur "
|
||||||
@ -422,6 +418,9 @@ msgstr ""
|
|||||||
"Der SuperVU Recompiler konnte nicht genügend virtuellen Speicher allokieren. "
|
"Der SuperVU Recompiler konnte nicht genügend virtuellen Speicher allokieren. "
|
||||||
"Versuche es mit microVU!"
|
"Versuche es mit microVU!"
|
||||||
|
|
||||||
|
#~ msgid "!ContextTip:Speedhacks:vuBlockHack"
|
||||||
|
#~ msgstr "Kann die Geschwindigkeit leicht erhöhen. In FFX kontraproduktiv!"
|
||||||
|
|
||||||
#~ msgid "No reason given."
|
#~ msgid "No reason given."
|
||||||
#~ msgstr "Kein Grund angegeben."
|
#~ msgstr "Kein Grund angegeben."
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
|
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
|
||||||
"POT-Creation-Date: 2011-09-28 20:27+0200\n"
|
"POT-Creation-Date: 2012-02-28 12:20+0100\n"
|
||||||
"PO-Revision-Date: 2011-04-09 01:44+0100\n"
|
"PO-Revision-Date: 2011-04-09 01:44+0100\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: PCSX2\n"
|
"Language-Team: PCSX2\n"
|
||||||
@ -185,7 +185,7 @@ msgstr "Internes Memory Card Plugin konnte nicht Initialisiert werden."
|
|||||||
msgid "Unloaded Plugin"
|
msgid "Unloaded Plugin"
|
||||||
msgstr "Plugin entladen"
|
msgstr "Plugin entladen"
|
||||||
|
|
||||||
#: pcsx2/SaveState.cpp:339
|
#: pcsx2/SaveState.cpp:342
|
||||||
msgid "Cannot load savestate. It is of an unknown or unsupported version."
|
msgid "Cannot load savestate. It is of an unknown or unsupported version."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Kann Savestate nicht laden. Er ist von einer unbekannten, nicht "
|
"Kann Savestate nicht laden. Er ist von einer unbekannten, nicht "
|
||||||
@ -340,31 +340,31 @@ msgstr ""
|
|||||||
"Der Savestate wurde nicht korrekt gespeichert. Die temporäre Datei konnte "
|
"Der Savestate wurde nicht korrekt gespeichert. Die temporäre Datei konnte "
|
||||||
"zwar erstellt, aber nicht an den finalen Platz kopiert werden."
|
"zwar erstellt, aber nicht an den finalen Platz kopiert werden."
|
||||||
|
|
||||||
#: pcsx2/gui/AppConfig.cpp:837
|
#: pcsx2/gui/AppConfig.cpp:842
|
||||||
msgid "Safest"
|
msgid "Safest"
|
||||||
msgstr "Sicher"
|
msgstr "Sicher"
|
||||||
|
|
||||||
#: pcsx2/gui/AppConfig.cpp:838
|
#: pcsx2/gui/AppConfig.cpp:843
|
||||||
msgid "Safe (faster)"
|
msgid "Safe (faster)"
|
||||||
msgstr "Sicher (schneller)"
|
msgstr "Sicher (schneller)"
|
||||||
|
|
||||||
#: pcsx2/gui/AppConfig.cpp:839
|
#: pcsx2/gui/AppConfig.cpp:844
|
||||||
msgid "Balanced"
|
msgid "Balanced"
|
||||||
msgstr "Ausbalanciert"
|
msgstr "Ausbalanciert"
|
||||||
|
|
||||||
#: pcsx2/gui/AppConfig.cpp:840
|
#: pcsx2/gui/AppConfig.cpp:845
|
||||||
msgid "Aggressive"
|
msgid "Aggressive"
|
||||||
msgstr "Aggressiv"
|
msgstr "Aggressiv"
|
||||||
|
|
||||||
#: pcsx2/gui/AppConfig.cpp:841
|
#: pcsx2/gui/AppConfig.cpp:846
|
||||||
msgid "Aggressive plus"
|
msgid "Aggressive plus"
|
||||||
msgstr "Aggressiv Plus"
|
msgstr "Aggressiv Plus"
|
||||||
|
|
||||||
#: pcsx2/gui/AppConfig.cpp:842
|
#: pcsx2/gui/AppConfig.cpp:847
|
||||||
msgid "Mostly Harmful"
|
msgid "Mostly Harmful"
|
||||||
msgstr "Maximum"
|
msgstr "Maximum"
|
||||||
|
|
||||||
#: pcsx2/gui/AppConfig.cpp:999 pcsx2/gui/AppConfig.cpp:1005
|
#: pcsx2/gui/AppConfig.cpp:1007 pcsx2/gui/AppConfig.cpp:1013
|
||||||
msgid "Failed to overwrite existing settings file; permission was denied."
|
msgid "Failed to overwrite existing settings file; permission was denied."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Konnte existierende Konfigurationsdatei nicht überschreiben. Zugriff "
|
"Konnte existierende Konfigurationsdatei nicht überschreiben. Zugriff "
|
||||||
@ -2374,35 +2374,25 @@ msgid ""
|
|||||||
msgstr "Guter FPS Anstieg, gute Kompatibilität [empfohlen]"
|
msgstr "Guter FPS Anstieg, gute Kompatibilität [empfohlen]"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:166
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:166
|
||||||
msgid "mVU Block Hack"
|
|
||||||
msgstr "mVU Block Hack"
|
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:167
|
|
||||||
#, fuzzy
|
|
||||||
msgid ""
|
|
||||||
"Good Speedup and High Compatibility; may cause bad graphics, SPS, etc..."
|
|
||||||
msgstr "Guter FPS Anstieg, gute Kompatibilität [empfohlen]"
|
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:169
|
|
||||||
msgid "MTVU (Multi-Threaded microVU1)"
|
msgid "MTVU (Multi-Threaded microVU1)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:170
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:167
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
"Good Speedup and High Compatibility; may cause hanging... [Recommended if 3+ "
|
"Good Speedup and High Compatibility; may cause hanging... [Recommended if 3+ "
|
||||||
"cores]"
|
"cores]"
|
||||||
msgstr "Guter FPS Anstieg, gute Kompatibilität [empfohlen]"
|
msgstr "Guter FPS Anstieg, gute Kompatibilität [empfohlen]"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:191
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:183
|
||||||
msgid "Other Hacks"
|
msgid "Other Hacks"
|
||||||
msgstr "Andere Hacks"
|
msgstr "Andere Hacks"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:193
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:185
|
||||||
msgid "Enable INTC Spin Detection"
|
msgid "Enable INTC Spin Detection"
|
||||||
msgstr "Aktiviere INTC Warteschleifenerkennung"
|
msgstr "Aktiviere INTC Warteschleifenerkennung"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:194
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:186
|
||||||
msgid ""
|
msgid ""
|
||||||
"Huge speedup for some games, with almost no compatibility side effects. "
|
"Huge speedup for some games, with almost no compatibility side effects. "
|
||||||
"[Recommended]"
|
"[Recommended]"
|
||||||
@ -2410,20 +2400,20 @@ msgstr ""
|
|||||||
"Gute Geschwindigkeitsverbesserung, fast keine "
|
"Gute Geschwindigkeitsverbesserung, fast keine "
|
||||||
"Kompatibilitätseinschränkungen. [empfohlen]"
|
"Kompatibilitätseinschränkungen. [empfohlen]"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:196
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:188
|
||||||
msgid "Enable Wait Loop Detection"
|
msgid "Enable Wait Loop Detection"
|
||||||
msgstr "Aktiviere erkennen von Warteschleifen"
|
msgstr "Aktiviere erkennen von Warteschleifen"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:197
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:189
|
||||||
msgid ""
|
msgid ""
|
||||||
"Moderate speedup for some games, with no known side effects. [Recommended]"
|
"Moderate speedup for some games, with no known side effects. [Recommended]"
|
||||||
msgstr "Leichte Geschwindigkeitsverbesserung in einigen Spielen [empfohlen]"
|
msgstr "Leichte Geschwindigkeitsverbesserung in einigen Spielen [empfohlen]"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:199
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:191
|
||||||
msgid "Enable fast CDVD"
|
msgid "Enable fast CDVD"
|
||||||
msgstr "Aktiviere schnelles CDVD"
|
msgstr "Aktiviere schnelles CDVD"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:200
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:192
|
||||||
msgid "Fast disc access, less loading times. [Not Recommended]"
|
msgid "Fast disc access, less loading times. [Not Recommended]"
|
||||||
msgstr "Schnellerer Diskzugriff, kürzere Ladezeiten [nicht empfohlen]"
|
msgstr "Schnellerer Diskzugriff, kürzere Ladezeiten [nicht empfohlen]"
|
||||||
|
|
||||||
@ -2481,53 +2471,53 @@ msgstr "FPS"
|
|||||||
msgid "PAL Framerate:"
|
msgid "PAL Framerate:"
|
||||||
msgstr "PAL Bildwiederholrate"
|
msgstr "PAL Bildwiederholrate"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:162
|
#: pcsx2/gui/Panels/VideoPanel.cpp:166
|
||||||
msgid ""
|
msgid ""
|
||||||
"Error while parsing either NTSC or PAL framerate settings. Settings must be "
|
"Error while parsing either NTSC or PAL framerate settings. Settings must be "
|
||||||
"valid floating point numerics."
|
"valid floating point numerics."
|
||||||
msgstr "Fehler beim Einlesen der NTSC oder PAL Framerateeinstellungen."
|
msgstr "Fehler beim Einlesen der NTSC oder PAL Framerateeinstellungen."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:180
|
#: pcsx2/gui/Panels/VideoPanel.cpp:184
|
||||||
msgid "Disabled [default]"
|
msgid "Disabled [default]"
|
||||||
msgstr "Deaktiviert [standard]"
|
msgstr "Deaktiviert [standard]"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:184
|
#: pcsx2/gui/Panels/VideoPanel.cpp:188
|
||||||
msgid "Skip when on Turbo only (TAB to enable)"
|
msgid "Skip when on Turbo only (TAB to enable)"
|
||||||
msgstr "Skipping nur im Turbomodus"
|
msgstr "Skipping nur im Turbomodus"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:188
|
#: pcsx2/gui/Panels/VideoPanel.cpp:192
|
||||||
msgid "Constant skipping"
|
msgid "Constant skipping"
|
||||||
msgstr "Konstantes Skipping"
|
msgstr "Konstantes Skipping"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:190
|
#: pcsx2/gui/Panels/VideoPanel.cpp:194
|
||||||
msgid ""
|
msgid ""
|
||||||
"Normal and Turbo limit rates skip frames. Slow motion mode will still "
|
"Normal and Turbo limit rates skip frames. Slow motion mode will still "
|
||||||
"disable frameskipping."
|
"disable frameskipping."
|
||||||
msgstr "Normal und Turbo werden Bilder auslassen, Slow motion nicht."
|
msgstr "Normal und Turbo werden Bilder auslassen, Slow motion nicht."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:213
|
#: pcsx2/gui/Panels/VideoPanel.cpp:217
|
||||||
msgid "Frames to Draw"
|
msgid "Frames to Draw"
|
||||||
msgstr "Bilder darstellen"
|
msgstr "Bilder darstellen"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:218
|
#: pcsx2/gui/Panels/VideoPanel.cpp:222
|
||||||
msgid "Frames to Skip"
|
msgid "Frames to Skip"
|
||||||
msgstr "Bilder auslassen"
|
msgstr "Bilder auslassen"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:294
|
#: pcsx2/gui/Panels/VideoPanel.cpp:298
|
||||||
msgid "Use Synchronized MTGS"
|
msgid "Use Synchronized MTGS"
|
||||||
msgstr "Benutze synchrones MTGS"
|
msgstr "Benutze synchrones MTGS"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:295
|
#: pcsx2/gui/Panels/VideoPanel.cpp:299
|
||||||
msgid ""
|
msgid ""
|
||||||
"For troubleshooting potential bugs in the MTGS only, as it is potentially "
|
"For troubleshooting potential bugs in the MTGS only, as it is potentially "
|
||||||
"very slow."
|
"very slow."
|
||||||
msgstr "Um eventualle Fehler im MTGS Thread zu debuggen. Sehr langsam!"
|
msgstr "Um eventualle Fehler im MTGS Thread zu debuggen. Sehr langsam!"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:298
|
#: pcsx2/gui/Panels/VideoPanel.cpp:302
|
||||||
msgid "Disable all GS output"
|
msgid "Disable all GS output"
|
||||||
msgstr "Deaktiviere GS Ausgabe"
|
msgstr "Deaktiviere GS Ausgabe"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:299
|
#: pcsx2/gui/Panels/VideoPanel.cpp:303
|
||||||
msgid ""
|
msgid ""
|
||||||
"Completely disables all GS plugin activity; ideal for benchmarking EEcore "
|
"Completely disables all GS plugin activity; ideal for benchmarking EEcore "
|
||||||
"components."
|
"components."
|
||||||
@ -2535,11 +2525,11 @@ msgstr ""
|
|||||||
"Deaktiviert alle GS Plugin Aktivitäten. Ideal um den Emulatorkern zu "
|
"Deaktiviert alle GS Plugin Aktivitäten. Ideal um den Emulatorkern zu "
|
||||||
"Benchmarken."
|
"Benchmarken."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:316
|
#: pcsx2/gui/Panels/VideoPanel.cpp:320
|
||||||
msgid "Frame Skipping"
|
msgid "Frame Skipping"
|
||||||
msgstr "Bilder auslassen (skipping)"
|
msgstr "Bilder auslassen (skipping)"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:319
|
#: pcsx2/gui/Panels/VideoPanel.cpp:323
|
||||||
msgid "Framelimiter"
|
msgid "Framelimiter"
|
||||||
msgstr "FPS Limitierung"
|
msgstr "FPS Limitierung"
|
||||||
|
|
||||||
@ -2626,6 +2616,14 @@ msgstr ""
|
|||||||
"%s Erweiterungen nicht gefunden. MicroVU benötigt einen Prozessor mit MMX, "
|
"%s Erweiterungen nicht gefunden. MicroVU benötigt einen Prozessor mit MMX, "
|
||||||
"SSE und SSE2 Erweiterungen."
|
"SSE und SSE2 Erweiterungen."
|
||||||
|
|
||||||
|
#~ msgid "mVU Block Hack"
|
||||||
|
#~ msgstr "mVU Block Hack"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Good Speedup and High Compatibility; may cause bad graphics, SPS, etc..."
|
||||||
|
#~ msgstr "Guter FPS Anstieg, gute Kompatibilität [empfohlen]"
|
||||||
|
|
||||||
#~ msgid "!ContextTip:ChangingNTFS"
|
#~ msgid "!ContextTip:ChangingNTFS"
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
#~ "Die NTFS Komprimierung kann jederzeit via Windows Explorer geändert "
|
#~ "Die NTFS Komprimierung kann jederzeit via Windows Explorer geändert "
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PCSX2 0.9.7\n"
|
"Project-Id-Version: PCSX2 0.9.7\n"
|
||||||
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
|
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
|
||||||
"POT-Creation-Date: 2011-10-05 20:13+0200\n"
|
"POT-Creation-Date: 2012-04-07 11:42+0200\n"
|
||||||
"PO-Revision-Date: 2011-09-28 21:51+0100\n"
|
"PO-Revision-Date: 2011-09-28 21:51+0100\n"
|
||||||
"Last-Translator: Víctor González <pajaroloco_2@hotmail.com>\n"
|
"Last-Translator: Víctor González <pajaroloco_2@hotmail.com>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
@ -31,7 +31,7 @@ msgstr ""
|
|||||||
"memoria virtual necesarias ya las han reservado otros procesos, servicios o "
|
"memoria virtual necesarias ya las han reservado otros procesos, servicios o "
|
||||||
"DLLs."
|
"DLLs."
|
||||||
|
|
||||||
#: pcsx2/CDVD/CDVD.cpp:385
|
#: pcsx2/CDVD/CDVD.cpp:389
|
||||||
msgid "!Notice:PsxDisc"
|
msgid "!Notice:PsxDisc"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"PCSX2 no admite discos de juego de PlayStation 1. Si quieres emular juegos "
|
"PCSX2 no admite discos de juego de PlayStation 1. Si quieres emular juegos "
|
||||||
@ -496,7 +496,7 @@ msgstr ""
|
|||||||
"EmotionEngine. Un valor alto aumenta el número de ciclos robados del EE a "
|
"EmotionEngine. Un valor alto aumenta el número de ciclos robados del EE a "
|
||||||
"cada microprograma del VU que utiliza el juego."
|
"cada microprograma del VU que utiliza el juego."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:172
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:169
|
||||||
msgid "!ContextTip:Speedhacks:vuFlagHack"
|
msgid "!ContextTip:Speedhacks:vuFlagHack"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Actualiza las etiquetas de estado sólo en los bloques que podrán leerse, en "
|
"Actualiza las etiquetas de estado sólo en los bloques que podrán leerse, en "
|
||||||
@ -504,15 +504,7 @@ msgstr ""
|
|||||||
"Generalmente es la opción más segura, y Super VU ya hace algo parecido de "
|
"Generalmente es la opción más segura, y Super VU ya hace algo parecido de "
|
||||||
"forma predeterminada."
|
"forma predeterminada."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:177
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:174
|
||||||
msgid "!ContextTip:Speedhacks:vuBlockHack"
|
|
||||||
msgstr ""
|
|
||||||
"Asume que en lo profundo de los bloques futuros no necesitarán estos datos "
|
|
||||||
"de instancia antiguos.\n"
|
|
||||||
"Debería ser una opción muy segura. No se sabe si dañará la emulación de "
|
|
||||||
"algún juego..."
|
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:182
|
|
||||||
msgid "!ContextTip:Speedhacks:vuThread"
|
msgid "!ContextTip:Speedhacks:vuThread"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Ejecuta VU1 en un hilo dedicado (sólo microVU1). Suele aumentar la velocidad "
|
"Ejecuta VU1 en un hilo dedicado (sólo microVU1). Suele aumentar la velocidad "
|
||||||
@ -522,7 +514,7 @@ msgstr ""
|
|||||||
"En el caso de los juegos limitados por GS, podría ralentizarlos (sobre todo "
|
"En el caso de los juegos limitados por GS, podría ralentizarlos (sobre todo "
|
||||||
"en CPUs de doble núcleo)."
|
"en CPUs de doble núcleo)."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:203
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:195
|
||||||
msgid "!ContextTip:Speedhacks:INTC"
|
msgid "!ContextTip:Speedhacks:INTC"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Este arreglo funciona mejor en juegos que utilizan el registro de estado "
|
"Este arreglo funciona mejor en juegos que utilizan el registro de estado "
|
||||||
@ -530,7 +522,7 @@ msgstr ""
|
|||||||
"RPGs que no son 3D. Los juegos que no utilizan este método de sincronía "
|
"RPGs que no son 3D. Los juegos que no utilizan este método de sincronía "
|
||||||
"vertical no recibirán aumentos de velocidad con este arreglo."
|
"vertical no recibirán aumentos de velocidad con este arreglo."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:208
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:200
|
||||||
msgid "!ContextTip:Speedhacks:BIFC0"
|
msgid "!ContextTip:Speedhacks:BIFC0"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Al apuntar directamente al bucle de espera del EE en la dirección 0x81FC0 "
|
"Al apuntar directamente al bucle de espera del EE en la dirección 0x81FC0 "
|
||||||
@ -540,7 +532,7 @@ msgstr ""
|
|||||||
"bucles, aumentamos el tiempo del siguiente evento o el final del espacio de "
|
"bucles, aumentamos el tiempo del siguiente evento o el final del espacio de "
|
||||||
"tiempo del procesador, en función de lo que llegue primero."
|
"tiempo del procesador, en función de lo que llegue primero."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:215
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:207
|
||||||
msgid "!ContextTip:Speedhacks:fastCDVD"
|
msgid "!ContextTip:Speedhacks:fastCDVD"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Comprueba las listas de compatibilidad del HDLoader para saber qué juegos "
|
"Comprueba las listas de compatibilidad del HDLoader para saber qué juegos "
|
||||||
@ -553,20 +545,20 @@ msgstr ""
|
|||||||
"Observa que al desactivar la limitación de fotogramas, los modos Turbo y "
|
"Observa que al desactivar la limitación de fotogramas, los modos Turbo y "
|
||||||
"Velocidad lenta no estarán disponibles."
|
"Velocidad lenta no estarán disponibles."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:223
|
#: pcsx2/gui/Panels/VideoPanel.cpp:227
|
||||||
msgid "!Panel:Frameskip:Heading"
|
msgid "!Panel:Frameskip:Heading"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Aviso: Debido al diseño del hardware de PS2, es imposible hacer un salto de "
|
"Aviso: Debido al diseño del hardware de PS2, es imposible hacer un salto de "
|
||||||
"fotogramas preciso.\n"
|
"fotogramas preciso.\n"
|
||||||
"Activarlo causará serios fallos visuales en varios juegos."
|
"Activarlo causará serios fallos visuales en varios juegos."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:302
|
#: pcsx2/gui/Panels/VideoPanel.cpp:306
|
||||||
msgid "!ContextTip:GS:SyncMTGS"
|
msgid "!ContextTip:GS:SyncMTGS"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Activa esta opción si crees que la sincronía de hilos MTGS provoca caídas o "
|
"Activa esta opción si crees que la sincronía de hilos MTGS provoca caídas o "
|
||||||
"fallos gráficos."
|
"fallos gráficos."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:306
|
#: pcsx2/gui/Panels/VideoPanel.cpp:310
|
||||||
msgid "!ContextTip:GS:DisableOutput"
|
msgid "!ContextTip:GS:DisableOutput"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Elimina cualquier ruido de benchmark provocado por el hilo MTGS o la "
|
"Elimina cualquier ruido de benchmark provocado por el hilo MTGS o la "
|
||||||
@ -591,3 +583,10 @@ msgstr ""
|
|||||||
"los rangos de memoria concretos que son necesarios, y no podrá ser "
|
"los rangos de memoria concretos que son necesarios, y no podrá ser "
|
||||||
"utilizado. Este no es un error crítico, ya que el recompilador SuperVU es "
|
"utilizado. Este no es un error crítico, ya que el recompilador SuperVU es "
|
||||||
"obsoleto, y deberías utilizar en su lugar microVU."
|
"obsoleto, y deberías utilizar en su lugar microVU."
|
||||||
|
|
||||||
|
#~ msgid "!ContextTip:Speedhacks:vuBlockHack"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Asume que en lo profundo de los bloques futuros no necesitarán estos "
|
||||||
|
#~ "datos de instancia antiguos.\n"
|
||||||
|
#~ "Debería ser una opción muy segura. No se sabe si dañará la emulación de "
|
||||||
|
#~ "algún juego..."
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PCSX2 0.9.7\n"
|
"Project-Id-Version: PCSX2 0.9.7\n"
|
||||||
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
|
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
|
||||||
"POT-Creation-Date: 2011-10-05 20:13+0200\n"
|
"POT-Creation-Date: 2012-02-28 12:20+0100\n"
|
||||||
"PO-Revision-Date: 2011-09-28 21:53+0100\n"
|
"PO-Revision-Date: 2011-09-28 21:53+0100\n"
|
||||||
"Last-Translator: Víctor González <pajaroloco_2@hotmail.com>\n"
|
"Last-Translator: Víctor González <pajaroloco_2@hotmail.com>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
@ -204,7 +204,7 @@ msgstr "El plugin interno de Memory Cards no se ha iniciado."
|
|||||||
msgid "Unloaded Plugin"
|
msgid "Unloaded Plugin"
|
||||||
msgstr "Plugin no cargado"
|
msgstr "Plugin no cargado"
|
||||||
|
|
||||||
#: pcsx2/SaveState.cpp:339
|
#: pcsx2/SaveState.cpp:342
|
||||||
msgid "Cannot load savestate. It is of an unknown or unsupported version."
|
msgid "Cannot load savestate. It is of an unknown or unsupported version."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"No se ha podido cargar el guardado rápido. Es una versión desconocida o no "
|
"No se ha podido cargar el guardado rápido. Es una versión desconocida o no "
|
||||||
@ -386,31 +386,31 @@ msgstr ""
|
|||||||
"El guardado rápido no se guardó correctamente. El archivo temporal ha sido "
|
"El guardado rápido no se guardó correctamente. El archivo temporal ha sido "
|
||||||
"creado con éxito, pero no se pudo trasladar a su destino final."
|
"creado con éxito, pero no se pudo trasladar a su destino final."
|
||||||
|
|
||||||
#: pcsx2/gui/AppConfig.cpp:837
|
#: pcsx2/gui/AppConfig.cpp:842
|
||||||
msgid "Safest"
|
msgid "Safest"
|
||||||
msgstr "Lo más seguro"
|
msgstr "Lo más seguro"
|
||||||
|
|
||||||
#: pcsx2/gui/AppConfig.cpp:838
|
#: pcsx2/gui/AppConfig.cpp:843
|
||||||
msgid "Safe (faster)"
|
msgid "Safe (faster)"
|
||||||
msgstr "Seguro (más rápido)"
|
msgstr "Seguro (más rápido)"
|
||||||
|
|
||||||
#: pcsx2/gui/AppConfig.cpp:839
|
#: pcsx2/gui/AppConfig.cpp:844
|
||||||
msgid "Balanced"
|
msgid "Balanced"
|
||||||
msgstr "Equilibrado"
|
msgstr "Equilibrado"
|
||||||
|
|
||||||
#: pcsx2/gui/AppConfig.cpp:840
|
#: pcsx2/gui/AppConfig.cpp:845
|
||||||
msgid "Aggressive"
|
msgid "Aggressive"
|
||||||
msgstr "Agresivo"
|
msgstr "Agresivo"
|
||||||
|
|
||||||
#: pcsx2/gui/AppConfig.cpp:841
|
#: pcsx2/gui/AppConfig.cpp:846
|
||||||
msgid "Aggressive plus"
|
msgid "Aggressive plus"
|
||||||
msgstr "Muy agresivo"
|
msgstr "Muy agresivo"
|
||||||
|
|
||||||
#: pcsx2/gui/AppConfig.cpp:842
|
#: pcsx2/gui/AppConfig.cpp:847
|
||||||
msgid "Mostly Harmful"
|
msgid "Mostly Harmful"
|
||||||
msgstr "Muy peligroso"
|
msgstr "Muy peligroso"
|
||||||
|
|
||||||
#: pcsx2/gui/AppConfig.cpp:999 pcsx2/gui/AppConfig.cpp:1005
|
#: pcsx2/gui/AppConfig.cpp:1007 pcsx2/gui/AppConfig.cpp:1013
|
||||||
msgid "Failed to overwrite existing settings file; permission was denied."
|
msgid "Failed to overwrite existing settings file; permission was denied."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Error al sobrescribir el archivo de configuración ya existente, se ha "
|
"Error al sobrescribir el archivo de configuración ya existente, se ha "
|
||||||
@ -2468,21 +2468,10 @@ msgstr ""
|
|||||||
"(Recomendado)"
|
"(Recomendado)"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:166
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:166
|
||||||
msgid "mVU Block Hack"
|
|
||||||
msgstr "Arreglo de bloqueo mVU"
|
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:167
|
|
||||||
msgid ""
|
|
||||||
"Good Speedup and High Compatibility; may cause bad graphics, SPS, etc..."
|
|
||||||
msgstr ""
|
|
||||||
"Buena subida y alta compatibilidad; puede crear gráficos dañados, SPS, "
|
|
||||||
"etcétera..."
|
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:169
|
|
||||||
msgid "MTVU (Multi-Threaded microVU1)"
|
msgid "MTVU (Multi-Threaded microVU1)"
|
||||||
msgstr "MTVU (microVU1 multihilos)"
|
msgstr "MTVU (microVU1 multihilos)"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:170
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:167
|
||||||
msgid ""
|
msgid ""
|
||||||
"Good Speedup and High Compatibility; may cause hanging... [Recommended if 3+ "
|
"Good Speedup and High Compatibility; may cause hanging... [Recommended if 3+ "
|
||||||
"cores]"
|
"cores]"
|
||||||
@ -2490,15 +2479,15 @@ msgstr ""
|
|||||||
"Buena subida y alta compatibilidad; puede provocar cuelgues... (Recomendado "
|
"Buena subida y alta compatibilidad; puede provocar cuelgues... (Recomendado "
|
||||||
"si tienes 3 o más núcleos de CPU)"
|
"si tienes 3 o más núcleos de CPU)"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:191
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:183
|
||||||
msgid "Other Hacks"
|
msgid "Other Hacks"
|
||||||
msgstr "Otros arreglos"
|
msgstr "Otros arreglos"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:193
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:185
|
||||||
msgid "Enable INTC Spin Detection"
|
msgid "Enable INTC Spin Detection"
|
||||||
msgstr "Activar detección de giro INTC"
|
msgstr "Activar detección de giro INTC"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:194
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:186
|
||||||
msgid ""
|
msgid ""
|
||||||
"Huge speedup for some games, with almost no compatibility side effects. "
|
"Huge speedup for some games, with almost no compatibility side effects. "
|
||||||
"[Recommended]"
|
"[Recommended]"
|
||||||
@ -2506,22 +2495,22 @@ msgstr ""
|
|||||||
"Subida enorme de velocidad en algunos juegos, sin prácticamente ningún "
|
"Subida enorme de velocidad en algunos juegos, sin prácticamente ningún "
|
||||||
"efecto secundario de compatibilidad (Recomendado)"
|
"efecto secundario de compatibilidad (Recomendado)"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:196
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:188
|
||||||
msgid "Enable Wait Loop Detection"
|
msgid "Enable Wait Loop Detection"
|
||||||
msgstr "Activar detección de parada de bucles"
|
msgstr "Activar detección de parada de bucles"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:197
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:189
|
||||||
msgid ""
|
msgid ""
|
||||||
"Moderate speedup for some games, with no known side effects. [Recommended]"
|
"Moderate speedup for some games, with no known side effects. [Recommended]"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Subida moderada en algunos juegos, sin efectos secundarios conocidos. "
|
"Subida moderada en algunos juegos, sin efectos secundarios conocidos. "
|
||||||
"(Recomendado)"
|
"(Recomendado)"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:199
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:191
|
||||||
msgid "Enable fast CDVD"
|
msgid "Enable fast CDVD"
|
||||||
msgstr "Activar CDVD rápido"
|
msgstr "Activar CDVD rápido"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:200
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:192
|
||||||
msgid "Fast disc access, less loading times. [Not Recommended]"
|
msgid "Fast disc access, less loading times. [Not Recommended]"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Accede al disco más rápidamente, reduciendo los tiempos de carga. (No "
|
"Accede al disco más rápidamente, reduciendo los tiempos de carga. (No "
|
||||||
@ -2582,7 +2571,7 @@ msgstr "FPS (Fotogramas por segundo)"
|
|||||||
msgid "PAL Framerate:"
|
msgid "PAL Framerate:"
|
||||||
msgstr "Velocidad de fotogramas PAL:"
|
msgstr "Velocidad de fotogramas PAL:"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:162
|
#: pcsx2/gui/Panels/VideoPanel.cpp:166
|
||||||
msgid ""
|
msgid ""
|
||||||
"Error while parsing either NTSC or PAL framerate settings. Settings must be "
|
"Error while parsing either NTSC or PAL framerate settings. Settings must be "
|
||||||
"valid floating point numerics."
|
"valid floating point numerics."
|
||||||
@ -2590,19 +2579,19 @@ msgstr ""
|
|||||||
"Error al analizar la configuración de la velocidad de fotogramas PAL o "
|
"Error al analizar la configuración de la velocidad de fotogramas PAL o "
|
||||||
"NTSC. La configuración debe ser un valor numeral entero."
|
"NTSC. La configuración debe ser un valor numeral entero."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:180
|
#: pcsx2/gui/Panels/VideoPanel.cpp:184
|
||||||
msgid "Disabled [default]"
|
msgid "Disabled [default]"
|
||||||
msgstr "Desactivado [por defecto]"
|
msgstr "Desactivado [por defecto]"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:184
|
#: pcsx2/gui/Panels/VideoPanel.cpp:188
|
||||||
msgid "Skip when on Turbo only (TAB to enable)"
|
msgid "Skip when on Turbo only (TAB to enable)"
|
||||||
msgstr "Saltar sólo con el turbo activado (Activar pulsando TAB)"
|
msgstr "Saltar sólo con el turbo activado (Activar pulsando TAB)"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:188
|
#: pcsx2/gui/Panels/VideoPanel.cpp:192
|
||||||
msgid "Constant skipping"
|
msgid "Constant skipping"
|
||||||
msgstr "Salto constante"
|
msgstr "Salto constante"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:190
|
#: pcsx2/gui/Panels/VideoPanel.cpp:194
|
||||||
msgid ""
|
msgid ""
|
||||||
"Normal and Turbo limit rates skip frames. Slow motion mode will still "
|
"Normal and Turbo limit rates skip frames. Slow motion mode will still "
|
||||||
"disable frameskipping."
|
"disable frameskipping."
|
||||||
@ -2610,19 +2599,19 @@ msgstr ""
|
|||||||
"Normal y Turbo limitan la velocidad de salto de fotogramas. El modo de "
|
"Normal y Turbo limitan la velocidad de salto de fotogramas. El modo de "
|
||||||
"velocidad lenta desactivará el salto de fotogramas."
|
"velocidad lenta desactivará el salto de fotogramas."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:213
|
#: pcsx2/gui/Panels/VideoPanel.cpp:217
|
||||||
msgid "Frames to Draw"
|
msgid "Frames to Draw"
|
||||||
msgstr "Fotogramas a mostrar"
|
msgstr "Fotogramas a mostrar"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:218
|
#: pcsx2/gui/Panels/VideoPanel.cpp:222
|
||||||
msgid "Frames to Skip"
|
msgid "Frames to Skip"
|
||||||
msgstr "Fotogramas a saltar"
|
msgstr "Fotogramas a saltar"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:294
|
#: pcsx2/gui/Panels/VideoPanel.cpp:298
|
||||||
msgid "Use Synchronized MTGS"
|
msgid "Use Synchronized MTGS"
|
||||||
msgstr "Utilizar GS multinúcleo sincronizado"
|
msgstr "Utilizar GS multinúcleo sincronizado"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:295
|
#: pcsx2/gui/Panels/VideoPanel.cpp:299
|
||||||
msgid ""
|
msgid ""
|
||||||
"For troubleshooting potential bugs in the MTGS only, as it is potentially "
|
"For troubleshooting potential bugs in the MTGS only, as it is potentially "
|
||||||
"very slow."
|
"very slow."
|
||||||
@ -2630,11 +2619,11 @@ msgstr ""
|
|||||||
"Usar sólo para evitar posibles fallos en el MTGS; ya que probablemente "
|
"Usar sólo para evitar posibles fallos en el MTGS; ya que probablemente "
|
||||||
"funcione muy lento."
|
"funcione muy lento."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:298
|
#: pcsx2/gui/Panels/VideoPanel.cpp:302
|
||||||
msgid "Disable all GS output"
|
msgid "Disable all GS output"
|
||||||
msgstr "Desactivar toda la salida de GS"
|
msgstr "Desactivar toda la salida de GS"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:299
|
#: pcsx2/gui/Panels/VideoPanel.cpp:303
|
||||||
msgid ""
|
msgid ""
|
||||||
"Completely disables all GS plugin activity; ideal for benchmarking EEcore "
|
"Completely disables all GS plugin activity; ideal for benchmarking EEcore "
|
||||||
"components."
|
"components."
|
||||||
@ -2642,11 +2631,11 @@ msgstr ""
|
|||||||
"Desactiva por completo toda actividad del plugin GS; ideal para probar "
|
"Desactiva por completo toda actividad del plugin GS; ideal para probar "
|
||||||
"componentes de EEcore."
|
"componentes de EEcore."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:316
|
#: pcsx2/gui/Panels/VideoPanel.cpp:320
|
||||||
msgid "Frame Skipping"
|
msgid "Frame Skipping"
|
||||||
msgstr "Saltar fotogramas"
|
msgstr "Saltar fotogramas"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:319
|
#: pcsx2/gui/Panels/VideoPanel.cpp:323
|
||||||
msgid "Framelimiter"
|
msgid "Framelimiter"
|
||||||
msgstr "Limitador de fotogramas"
|
msgstr "Limitador de fotogramas"
|
||||||
|
|
||||||
@ -2734,3 +2723,12 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Extensiones %s no encontradas. La microVU necesita de una CPU anfitriona "
|
"Extensiones %s no encontradas. La microVU necesita de una CPU anfitriona "
|
||||||
"con extensiones MMX, SSE y SSE2."
|
"con extensiones MMX, SSE y SSE2."
|
||||||
|
|
||||||
|
#~ msgid "mVU Block Hack"
|
||||||
|
#~ msgstr "Arreglo de bloqueo mVU"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Good Speedup and High Compatibility; may cause bad graphics, SPS, etc..."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Buena subida y alta compatibilidad; puede crear gráficos dañados, SPS, "
|
||||||
|
#~ "etcétera..."
|
||||||
|
593
locales/fr_FR/pcsx2_Iconized.po
Normal file
593
locales/fr_FR/pcsx2_Iconized.po
Normal file
@ -0,0 +1,593 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR PCSX2 Dev Team
|
||||||
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PCSX2 0.9.9\n"
|
||||||
|
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
|
||||||
|
"POT-Creation-Date: 2012-04-07 11:42+0200\n"
|
||||||
|
"PO-Revision-Date: 2012-03-08 11:33-0000\n"
|
||||||
|
"Last-Translator: goldeng <odakawoi@yahoo.fr>\n"
|
||||||
|
"Language-Team: goldeng <odakawoi@yahoo.fr>\n"
|
||||||
|
"Language: \n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Poedit-KeywordsList: pxE;pxEt\n"
|
||||||
|
"X-Poedit-SourceCharset: utf-8\n"
|
||||||
|
"X-Poedit-Basepath: trunk\\\n"
|
||||||
|
"X-Poedit-Language: French\n"
|
||||||
|
"X-Poedit-Country: France\n"
|
||||||
|
"X-Poedit-SearchPath-0: pcsx2\n"
|
||||||
|
"X-Poedit-SearchPath-1: common\n"
|
||||||
|
|
||||||
|
#: common/src/Utilities/Exceptions.cpp:254
|
||||||
|
msgid "!Notice:VirtualMemoryMap"
|
||||||
|
msgstr ""
|
||||||
|
"La mémoire virtuelle disponible est insuffisante, ou l'espace-mémoire a déjà "
|
||||||
|
"été réservé par d'autres processus, services ou DLL."
|
||||||
|
|
||||||
|
#: pcsx2/CDVD/CDVD.cpp:389
|
||||||
|
msgid "!Notice:PsxDisc"
|
||||||
|
msgstr ""
|
||||||
|
"L'émulation des jeux Playstation1 n'est pas supportée par PCSX2. Si vous "
|
||||||
|
"voulez émuler des jeux PSX, veuillez télécharger un émulateur PS1 dédié (par "
|
||||||
|
"exemple, ePSXe ou PCSX) !"
|
||||||
|
|
||||||
|
#: pcsx2/System.cpp:114
|
||||||
|
msgid "!Notice:Recompiler:VirtualMemoryAlloc"
|
||||||
|
msgstr ""
|
||||||
|
"Le recompiler n'a pas été en mesure d'allouer la mémoire virtuelle "
|
||||||
|
"nécessaire. Cette erreur peut être causée par une insuffisance en "
|
||||||
|
"ressources, notamment du fait qu'un autre programme utilise trop d'espace. "
|
||||||
|
"Vous pouvez également essayer de réduire la taille du cache par défaut "
|
||||||
|
"allouée au recompiler PCSX2."
|
||||||
|
|
||||||
|
#: pcsx2/System.cpp:348
|
||||||
|
msgid "!Notice:EmuCore::MemoryForVM"
|
||||||
|
msgstr ""
|
||||||
|
"PCSX2 est incapable d'affecter les ressources en mémoire requises pour "
|
||||||
|
"l'émulation d'une machine virtuelle PS2. Mettez fin aux processus en cours "
|
||||||
|
"qui nécessitent beaucoup de mémoire (CTRL + ALT + Suppr) puis réessayez."
|
||||||
|
|
||||||
|
#: pcsx2/gui/AppInit.cpp:43
|
||||||
|
msgid "!Notice:Startup:NoSSE2"
|
||||||
|
msgstr ""
|
||||||
|
"Attention ! Votre ordinateur ne prend pas en charge les instructions de type "
|
||||||
|
"SSE2, nécessaires pour la prise en charge d'un grand nombre de plugins et du "
|
||||||
|
"recompiler PCSX2 : vos options seront limitées et l'émulation (très) lente."
|
||||||
|
|
||||||
|
#: pcsx2/gui/AppInit.cpp:162
|
||||||
|
msgid "!Notice:RecompilerInit:Header"
|
||||||
|
msgstr ""
|
||||||
|
"Attention ! Certaines fonctions du recompiler PCSX2 n'ont pas pu être "
|
||||||
|
"initialisées et ont, par conséquent, été désactivées :"
|
||||||
|
|
||||||
|
#: pcsx2/gui/AppInit.cpp:211
|
||||||
|
msgid "!Notice:RecompilerInit:Footer"
|
||||||
|
msgstr ""
|
||||||
|
"Attention : le recompiler n'est pas indispensable au fonctionnement de "
|
||||||
|
"l'émulateur, il permet néanmoins d'améliorer sensisblement les performances "
|
||||||
|
"globales. Si vous êtes parvenus à résoudre des problèmes en désactivant le "
|
||||||
|
"recompiler, vous devrez le réactiver manuellement."
|
||||||
|
|
||||||
|
#: pcsx2/gui/AppMain.cpp:546
|
||||||
|
msgid "!Notice:BiosDumpRequired"
|
||||||
|
msgstr ""
|
||||||
|
" \n"
|
||||||
|
"\n"
|
||||||
|
"PCSX2 nécessite un BIOS PS2 valide. D'un point de vue légal, vous DEVEZ "
|
||||||
|
"obtenir votre BIOS \n"
|
||||||
|
"à partir de votre propre PS2 (emprunter une console ne satisfait pas ces "
|
||||||
|
"exigences).\n"
|
||||||
|
"Veuillez consulter la FAQ ou les guides disponibles pour plus de "
|
||||||
|
"renseignements."
|
||||||
|
|
||||||
|
#: pcsx2/gui/AppMain.cpp:629
|
||||||
|
msgid "!Notice Error:Thread Deadlock Actions"
|
||||||
|
msgstr ""
|
||||||
|
"Cliquez sur Ignorer pour attendre jusqu'à ce que le processus réponde.\n"
|
||||||
|
"Cliquez Annuler pour mettre fin au processus.\n"
|
||||||
|
"Cliquez sur Terminer pour fermer immédiatement PCSX2."
|
||||||
|
|
||||||
|
#: pcsx2/gui/AppUserMode.cpp:57
|
||||||
|
msgid "!Notice:PortableModeRights"
|
||||||
|
msgstr ""
|
||||||
|
"Merci de vous assurer que les dossiers spécifiés sont présents et que votre "
|
||||||
|
"compte d'utilisateur possède les permissions d'écriture - ou redémarrer "
|
||||||
|
"PCSX2 en tant qu'administrateur du système, ce qui devrait garantir au "
|
||||||
|
"programme la capacité à créer ses propres dossiers. Si vous ne disposez pas "
|
||||||
|
"d'un accès au compte administrateur, vous aurez besoin de faire appel au "
|
||||||
|
"mode User Documents (cliquez sur le bouton ci-dessous)."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Dialogs/CreateMemoryCardDialog.cpp:181
|
||||||
|
msgid "!ContextTip:ChangingNTFS"
|
||||||
|
msgstr ""
|
||||||
|
"La compression NTFS peut être modifiée manuellement depuis l'explorateur "
|
||||||
|
"Windows (clic droit sur le fichier, puis \"Propriétés\")."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:49
|
||||||
|
msgid "!ContextTip:Folders:Settings"
|
||||||
|
msgstr ""
|
||||||
|
"Ce dossier contient les paramètres relatifs à PCSX2, y compris ceux créés "
|
||||||
|
"par les plugins externes (sauf s'ils sont dépassés techniquement)."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:54
|
||||||
|
msgid "!Panel:Folders:Settings"
|
||||||
|
msgstr ""
|
||||||
|
"Vous pouvez spécifier un chemin d'accès pour les paramètres PCSX2. Si un "
|
||||||
|
"fichier de paramétrage existe déjà dans le dossier choisi, vous aurez la "
|
||||||
|
"possibilité de les importer ou de les écraser."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:94
|
||||||
|
msgid "!Wizard:Welcome"
|
||||||
|
msgstr ""
|
||||||
|
"Cette aide à la configuration vous permettra de paramétrer les plugins, les "
|
||||||
|
"cartes mémoire et le BIOS. Il est recommandé à tout utilisateur de "
|
||||||
|
"l'utiliser, mais également de prendre connaissance du Lisez-moi et des "
|
||||||
|
"guides de configuration traduits dans votre langue (FR : goldeng)."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:140
|
||||||
|
msgid "!Wizard:Bios:Tutorial"
|
||||||
|
msgstr ""
|
||||||
|
"PCSX2 nécessite l'utilisation d'une copie LÉGALE d'un BIOS PS2 pour que "
|
||||||
|
"l'émulation des jeux fonctionne.\n"
|
||||||
|
"Vous ne pouvez pas avoir recours à une copie obtenue auprès d'un ami ou "
|
||||||
|
"grâce à internet.\n"
|
||||||
|
"Vous devez faire un dump du BIOS de VOTRE console Playstation 2."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Dialogs/ImportSettingsDialog.cpp:31
|
||||||
|
msgid "!Notice:ImportExistingSettings"
|
||||||
|
msgstr ""
|
||||||
|
"Un historique de paramètres PCSX2 a été trouvé dans le dossier de "
|
||||||
|
"configuration. Voulez-vous que le logiciel importe ces données ou les "
|
||||||
|
"remplace avec les valeurs par défaut ?\n"
|
||||||
|
"\n"
|
||||||
|
"(ou appuyez sur le bouton Annuler pour modifier le dossier d'installation)"
|
||||||
|
|
||||||
|
#: pcsx2/gui/Dialogs/McdConfigDialog.cpp:30
|
||||||
|
msgid "!Panel:Mcd:NtfsCompress"
|
||||||
|
msgstr ""
|
||||||
|
"La compression NTFS est sûre et rapide : c'est le format le plus adapté pour "
|
||||||
|
"les cartes mémoires !"
|
||||||
|
|
||||||
|
#: pcsx2/gui/Dialogs/McdConfigDialog.cpp:41
|
||||||
|
msgid "!Panel:Mcd:EnableEjection"
|
||||||
|
msgstr ""
|
||||||
|
"Permet d'éviter d'endommager la carte mémoire (fichiers corrompus) en "
|
||||||
|
"obligeant les jeux à ré-indexer le contenu présent sur la carte.\n"
|
||||||
|
"Cette option peut être incompatible avec certains jeux (Guitar Hero, par "
|
||||||
|
"exemple) !"
|
||||||
|
|
||||||
|
#: pcsx2/gui/Dialogs/StuckThreadDialog.cpp:33
|
||||||
|
msgid "!Panel:StuckThread:Heading"
|
||||||
|
msgstr ""
|
||||||
|
"Le processus '%s' ne répond pas. Il est peut-être bloqué ou s'exécute d'une "
|
||||||
|
"manière anormalement lente."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:38
|
||||||
|
msgid "!Panel:HasHacksOverrides"
|
||||||
|
msgstr ""
|
||||||
|
"Attention ! Les lignes de commande se substituent aux paramètres établis.\n"
|
||||||
|
"Ces commandes ne sont pas disponibles dans la fenêtre de configuration des "
|
||||||
|
"paramètres habituels, \n"
|
||||||
|
"et seront désactivées si vous cliquez sur le bouton Appliquer."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:58
|
||||||
|
msgid "!Panel:HasPluginsOverrides"
|
||||||
|
msgstr ""
|
||||||
|
"Attention ! Les lignes de commande se substituent aux paramètres plugins "
|
||||||
|
"établis.\n"
|
||||||
|
"Ces commandes ne sont pas disponibles dans la fenêtre de configuration des "
|
||||||
|
"paramètres habituels, \n"
|
||||||
|
"et seront désactivées si vous cliquez sur le bouton Appliquer."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:135
|
||||||
|
msgid "!Notice:Tooltip:Presets:Slider"
|
||||||
|
msgstr ""
|
||||||
|
"Les préréglages appliquent des speedhacks, des options spécifiques du "
|
||||||
|
"recompiler et des patchs spécifiques à certains jeux afin d'en améliorer les "
|
||||||
|
"performances.\n"
|
||||||
|
"Toute correction disponible à un problème connu sera automatiquement "
|
||||||
|
"appliquée.\n"
|
||||||
|
"\n"
|
||||||
|
"Informations :\n"
|
||||||
|
"1 - Le mode d'émulation le plus stable, mais aussi le plus lent.\n"
|
||||||
|
"3 --> Une tentative d'équilibre entre compatibilité et performances.\n"
|
||||||
|
"4 - Utilisation de certains speedhacks.\n"
|
||||||
|
"5 - Utilisation d'un si grand nombre de speedhacks que les performances s'en "
|
||||||
|
"ressentiront sûrement."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Dialogs/SysConfigDialog.cpp:149
|
||||||
|
msgid "!Notice:Tooltip:Presets:Checkbox"
|
||||||
|
msgstr ""
|
||||||
|
"Les préréglages appliquent des speedhacks, des options spécifiques du "
|
||||||
|
"recompiler et des patchs particuliers à certains jeux afin d'en améliorer "
|
||||||
|
"les performances. Toute correction disponible à un problème connu sera "
|
||||||
|
"automatiquement appliquée.\n"
|
||||||
|
"--> Décochez la case si vous désirez modifier les paramètres manuellement "
|
||||||
|
"(en utilisant les préréglages actuels comme base)"
|
||||||
|
|
||||||
|
#: pcsx2/gui/IsoDropTarget.cpp:28
|
||||||
|
msgid "!Notice:ConfirmSysReset"
|
||||||
|
msgstr ""
|
||||||
|
"Une telle opération entraînera la réinitialisation complète de la machine "
|
||||||
|
"virtuelle PS2 : toutes les données en cours seront perdues.\n"
|
||||||
|
"Êtes-vous sûr de vouloir réaliser cette opération ?"
|
||||||
|
|
||||||
|
#: pcsx2/gui/MainMenuClicks.cpp:106
|
||||||
|
msgid "!Notice:DeleteSettings"
|
||||||
|
msgstr ""
|
||||||
|
"Cette opération vise à supprimer les paramètres de %s et à relancer "
|
||||||
|
"l'assistant de première configuration. \n"
|
||||||
|
"%s doit être relancé manuellement après que l'opération ait été réalisée "
|
||||||
|
"avec succès. \n"
|
||||||
|
"\n"
|
||||||
|
" ATTENTION ! Cliquez sur OK pour supprimer TOUS les paramètres de %s et "
|
||||||
|
"forcer la fermeture de l'application, provoquant la perte de toutes les "
|
||||||
|
"données en cours d'exécution.\n"
|
||||||
|
"Êtes-vous sûr de vouloir procéder à cette manipulation ?\n"
|
||||||
|
"PS. Les paramètres des plugins individuels ne seront pas affectés."
|
||||||
|
|
||||||
|
#: pcsx2/gui/MemoryCardFile.cpp:78
|
||||||
|
msgid "!Notice:Mcd:HasBeenDisabled"
|
||||||
|
msgstr ""
|
||||||
|
"La carte mémoire présente dans le lecteur %d a été automatiquement "
|
||||||
|
"désactivée. Vous pouvez corriger ce problème\n"
|
||||||
|
"et relancer la carte mémoire à l'aide du menu principal (Configuration -> "
|
||||||
|
"Cartes mémoire)."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/BiosSelectorPanel.cpp:138
|
||||||
|
msgid "!Notice:BIOS:InvalidSelection"
|
||||||
|
msgstr ""
|
||||||
|
"Veuillez choisir un BIOS valide. Si vous ne possédez pas un tel fichier, "
|
||||||
|
"cliquez sur Annuler pour fermer le panneau de configuration."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/CpuPanel.cpp:111
|
||||||
|
msgid "!Panel:EE/IOP:Heading"
|
||||||
|
msgstr ""
|
||||||
|
"Rappel : La plupart des jeux fonctionneront correctement à l'aide du "
|
||||||
|
"paramétrage par défaut."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/CpuPanel.cpp:178
|
||||||
|
msgid "!Panel:VUs:Heading"
|
||||||
|
msgstr ""
|
||||||
|
"Rappel : La plupart des jeux fonctionneront correctement à l'aide du "
|
||||||
|
"paramétrage par défaut."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/DirPickerPanel.cpp:69
|
||||||
|
msgid "!Notice:DirPicker:CreatePath"
|
||||||
|
msgstr ""
|
||||||
|
"Le chemin d'accès ou le dossier spécifiés n'existent pas. Voulez-vous le "
|
||||||
|
"créer ?"
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/DirPickerPanel.cpp:158
|
||||||
|
msgid "!ContextTip:DirPicker:UseDefault"
|
||||||
|
msgstr ""
|
||||||
|
"Erreur ! Impossible de copier la carte mémoire dans le lecteur %u. Ce "
|
||||||
|
"dernier est en cours d'utilisation."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/GSWindowPanel.cpp:55
|
||||||
|
msgid "!ContextTip:Window:Zoom"
|
||||||
|
msgstr ""
|
||||||
|
"Zoom = 100 : les éléments graphiques occupent tout l'écran.\n"
|
||||||
|
"+/- 100 : augmente ou réduit le zoom.\n"
|
||||||
|
"0 : zoom automatique qui supprime les bordures noires.\n"
|
||||||
|
"\n"
|
||||||
|
"Attention : certains jeux utilisent volontairement les bordures noires, "
|
||||||
|
"celles-ci ne seront pas supprimées avec la valeur 0 !\n"
|
||||||
|
"\n"
|
||||||
|
"Raccourcis clavier : CTRL + Plus (augmente le zoom) ; CTRL + Moins (diminue "
|
||||||
|
"le zoom) ; CTRL + * (intevertit les valeurs 100 et 0)"
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/GSWindowPanel.cpp:63
|
||||||
|
msgid "!ContextTip:Window:Vsync"
|
||||||
|
msgstr ""
|
||||||
|
"La synchronisation verticale permet d'éliminer les secousses (tremblements) "
|
||||||
|
"de l'écran, mais occasionne également des pertes en termes de performances. "
|
||||||
|
"Il vaut mieux ne l'utiliser qu'en mode plein-écran.\n"
|
||||||
|
"\n"
|
||||||
|
"Attention : Certains plugins vidéo ne fonctionnent pas avec cette option !"
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/GSWindowPanel.cpp:68
|
||||||
|
msgid "!ContextTip:Window:ManagedVsync"
|
||||||
|
msgstr ""
|
||||||
|
"Active la Vsync (synchronisation verticale) lorsque la framerate atteint sa "
|
||||||
|
"vitesse maximum. Si cette dernière venait à diminuer, la Vsync se "
|
||||||
|
"désactivera automatiquement.\n"
|
||||||
|
"\n"
|
||||||
|
"Attention : En l'état actuel, cette option ne fonctionne qu'avec le plugin "
|
||||||
|
"GSdx dans sa configuration DX10/11 (hardware) ! Tout autre plugin ou mode de "
|
||||||
|
"rendu occasionnera l'affichage d'un fond noir à la place des éléments "
|
||||||
|
"graphiques du jeu.\n"
|
||||||
|
"De plus, cette option nécessite que la Vsync soit activée sur votre PC."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/GSWindowPanel.cpp:76
|
||||||
|
msgid "!ContextTip:Window:HideMouse"
|
||||||
|
msgstr ""
|
||||||
|
"Cochez cette case pour obliger le curseur de la souris à ne pas apparaître "
|
||||||
|
"dans la fenêtre de jeu.\n"
|
||||||
|
"Cette option est utile si vous utilisez la souris comme contrôleur principal "
|
||||||
|
"pour les jeux.\n"
|
||||||
|
"Par défaut, le curseur s'efface automatiquement après deux secondes "
|
||||||
|
"d'inactivité."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/GSWindowPanel.cpp:82
|
||||||
|
msgid "!ContextTip:Window:Fullscreen"
|
||||||
|
msgstr ""
|
||||||
|
"Lorsque cette option est activée, le jeu se lance automatiquement en mode "
|
||||||
|
"plein-écran (au démarrage ou après une pause).\n"
|
||||||
|
"Vous pouvez néanmoins modifier le mode d'affichage en jeu grâce à la "
|
||||||
|
"combinaison de touches ALT + Entrée."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/GSWindowPanel.cpp:93
|
||||||
|
msgid "!ContextTip:Window:HideGS"
|
||||||
|
msgstr ""
|
||||||
|
"Ferme complètement la fenêtre de jeu lorsque la touche ESC ou la fonction "
|
||||||
|
"Pause est utilisée."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/GameFixesPanel.cpp:67
|
||||||
|
msgid "!ContextTip:Gamefixes:EE Timing Hack"
|
||||||
|
msgstr ""
|
||||||
|
"Les jeux suivants nécessitent l'utilisation du hack :\n"
|
||||||
|
"* Shin Mega Tensei : Digital Devil Saga (cinématiques, crashs)\n"
|
||||||
|
"* SSX (bugs graphiques, crashs)\n"
|
||||||
|
"* Resident Evil : Dead Aim (textures)"
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/GameFixesPanel.cpp:80
|
||||||
|
msgid "!ContextTip:Gamefixes:OPH Flag hack"
|
||||||
|
msgstr ""
|
||||||
|
"Les jeux suivants nécessitent l'utilisation du hack :\n"
|
||||||
|
"* Bleach : Blade Battlers\n"
|
||||||
|
"* Growlanser II : The Sense of Justice\n"
|
||||||
|
"* Growlanser III : The Dual Darkness\n"
|
||||||
|
"* Wizardry"
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/GameFixesPanel.cpp:89
|
||||||
|
msgid "!ContextTip:Gamefixes:DMA Busy hack"
|
||||||
|
msgstr ""
|
||||||
|
"Les jeu suivant nécessite l'utilisation du hack :\n"
|
||||||
|
"* Mana Khemia : Alchemists of Al-Revis (sortir du campus)"
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/GameFixesPanel.cpp:96
|
||||||
|
msgid "!ContextTip:Gamefixes:VIF1 FIFO hack"
|
||||||
|
msgstr ""
|
||||||
|
"Les jeux suivants nécessitent l'utilisation du hack:\n"
|
||||||
|
"* Test Drive Unlimited\n"
|
||||||
|
"* Transformers"
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/GameFixesPanel.cpp:119
|
||||||
|
msgid "!Panel:Gamefixes:Compat Warning"
|
||||||
|
msgstr ""
|
||||||
|
"Les patchs peuvent corriger des problèmes liés à l'émulation de titres "
|
||||||
|
"spécifiques.\n"
|
||||||
|
"Néanmoins, ils peuvent aussi avoir un impact sur la compatibilité ou les "
|
||||||
|
"performances globales.\n"
|
||||||
|
"\n"
|
||||||
|
"Il est conseillé de préférer l'option \"Patchs automatiques\" disponible "
|
||||||
|
"dans le menu \"Système\" de l'émulateur plutôt que d'utiliser celle-ci.\n"
|
||||||
|
"(\"Patchs automatiques\" : utilise uniquement le patch associé au jeu émulé)"
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:720
|
||||||
|
msgid "!Notice:Mcd:Delete"
|
||||||
|
msgstr ""
|
||||||
|
"Vous êtes sur le point de supprimer la carte mémoire du lecteur %u. Toutes "
|
||||||
|
"les données présentes sur la carte seront perdues !\n"
|
||||||
|
"Êtes-vous sûr de réaliser cette manipulation ?"
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:758
|
||||||
|
msgid "!Notice:Mcd:CantDuplicate"
|
||||||
|
msgstr ""
|
||||||
|
"Erreur : Le port-PS2 concerné est occupé par un autre service, empêchant la "
|
||||||
|
"copie."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:801
|
||||||
|
msgid "!Notice:Mcd:Copy Failed"
|
||||||
|
msgstr ""
|
||||||
|
"Erreur : Impossible de copier la carte mémoire du lecteur %u. Les données "
|
||||||
|
"concernées sont en cours d'utilisation."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/MiscPanelStuff.cpp:35
|
||||||
|
msgid "!Panel:Usermode:Explained"
|
||||||
|
msgstr ""
|
||||||
|
"Veuillez sélectionner le répertoire par défaut des fichiers utilisateur "
|
||||||
|
"PCSX2 (cartes mémoire, screenshots, paramètres d'affichage, etc...). Ce "
|
||||||
|
"réglage pourra être modifié plus tard via le panneau de configuration."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/MiscPanelStuff.cpp:41
|
||||||
|
msgid "!Panel:Usermode:Warning"
|
||||||
|
msgstr ""
|
||||||
|
"Vous pouvez modifier le répertoire par défaut du fichier utilisateu PCSX2 "
|
||||||
|
"(cartes mémoire, paramètres d'affichage, etc...). Cette option prévaut sur "
|
||||||
|
"tous les autres chemins d'accès spécifiés auparavant."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/PathsPanel.cpp:40
|
||||||
|
msgid "!ContextTip:Folders:Savestates"
|
||||||
|
msgstr ""
|
||||||
|
"Ce dossier contient les sauvegardes PCSX2. Vous pouvez enregistrer votre "
|
||||||
|
"partie en utilisant le menu ou en pressant les touches F1/F3 (sauver/"
|
||||||
|
"charger)."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/PathsPanel.cpp:50
|
||||||
|
msgid "!ContextTip:Folders:Snapshots"
|
||||||
|
msgstr ""
|
||||||
|
"Ce dossier contient les screenshots que vous avez pris lors de l'émulation "
|
||||||
|
"d'un jeu via PCSX2. Le format de l'image et sa qualité dépendent grandement "
|
||||||
|
"du plugin vidéo GS utilisé."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/PathsPanel.cpp:60
|
||||||
|
msgid "!ContextTip:Folders:Logs"
|
||||||
|
msgstr ""
|
||||||
|
"Ce dossier contient les rapports de diagnostique. La plupart des plugins "
|
||||||
|
"utilisent également le dossier ci-dessous pour enregistrer leurs rapports "
|
||||||
|
"d'erreurs."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/PluginSelectorPanel.cpp:242
|
||||||
|
msgid "!Notice:PluginSelector:ConfirmShutdown"
|
||||||
|
msgstr ""
|
||||||
|
"Attention ! Il est conseillé de réinitialiser complètement l'émulateur PS2 "
|
||||||
|
"après avoir remplacé un plugin. PCSX2 va maintenant tenter de réaliser une "
|
||||||
|
"sauvegarde puis de restaurer la session, mais vous pourriez perdre les "
|
||||||
|
"données en cours si le programme échoue (incompatibilité des plugins).\n"
|
||||||
|
"\n"
|
||||||
|
"Êtes-vous sûr de vouloir appliquer ces paramètres ?"
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/PluginSelectorPanel.cpp:457
|
||||||
|
msgid "!Notice:PluginSelector:ApplyFailed"
|
||||||
|
msgstr ""
|
||||||
|
"Votre ordinateur ne dispose pas des ressources nécessaires pour lancer "
|
||||||
|
"l'émulateur. Essayez de libérer de l'espace-mémoire."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:27
|
||||||
|
msgid "!Panel:Speedhacks:EECycleX1"
|
||||||
|
msgstr ""
|
||||||
|
"1 - Cyclerate par défaut : la vitesse d'émulation est équivalente à celle "
|
||||||
|
"d'une véritable console Playstation 2."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:32
|
||||||
|
msgid "!Panel:Speedhacks:EECycleX2"
|
||||||
|
msgstr ""
|
||||||
|
"2 - Diminue l'EE Cyclerate d'envion 33% : amélioration sensible des "
|
||||||
|
"performances et compatibilité élevée."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:37
|
||||||
|
msgid "!Panel:Speedhacks:EECycleX3"
|
||||||
|
msgstr ""
|
||||||
|
"3 - Diminue l'EE Cyclerate d'environ 50% : amélioration modérée des "
|
||||||
|
"performances, mais le son de certaines cinématiques sera insupportable."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:54
|
||||||
|
msgid "!Panel:Speedhacks:VUCycleStealOff"
|
||||||
|
msgstr ""
|
||||||
|
"0 - Désactive le VU Cycle Stealing : compatibilité maximale, évidemment !"
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:59
|
||||||
|
msgid "!Panel:Speedhacks:VUCycleSteal1"
|
||||||
|
msgstr ""
|
||||||
|
"1 - VU Cycle Stealing léger : faible compatibilité mais une amélioration "
|
||||||
|
"sensible des performances pour certains jeux."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:64
|
||||||
|
msgid "!Panel:Speedhacks:VUCycleSteal2"
|
||||||
|
msgstr ""
|
||||||
|
"2 - VU Cycle Stealing modéré : très faible compatibilité, mais une "
|
||||||
|
"amélioration significative des performances pour certains jeux."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:70
|
||||||
|
msgid "!Panel:Speedhacks:VUCycleSteal3"
|
||||||
|
msgstr ""
|
||||||
|
"3 - VU Cycle Stealing maximal : relativement inutile puisqu'il engendre des "
|
||||||
|
"ralentissements et des bugs graphiques dans la plupart des jeux."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:97
|
||||||
|
msgid "!Panel:Speedhacks:Overview"
|
||||||
|
msgstr ""
|
||||||
|
"Les speedhacks améliorent généralement les performances mais peuvent "
|
||||||
|
"également générer des bugs, empêcher l'émulation du son et fausser la mesure "
|
||||||
|
"des FPS. Si vous rencontrez des soucis lors de l'émulation d'un jeu, cette "
|
||||||
|
"option est la première à désactiver."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:129
|
||||||
|
msgid "!ContextTip:Speedhacks:EECycleRate Slider"
|
||||||
|
msgstr ""
|
||||||
|
"Les valeurs définissent la vitesse de l'horlogue du CPU core R5900 de "
|
||||||
|
"l'EmotionEngine, et entraînent une amélioration des performances conséquente "
|
||||||
|
"pour les jeux incapables d'utiliser tout le potentiel des composants de la "
|
||||||
|
"Playstation 2."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:150
|
||||||
|
msgid "!ContextTip:Speedhacks:VUCycleStealing Slider"
|
||||||
|
msgstr ""
|
||||||
|
"Les valeurs définissent le nombre de cycles que le Vector Unit \"emprunte\" "
|
||||||
|
"au système EmotionEngine. Une valeur élevée augmente le nombre emprunté à "
|
||||||
|
"l'EE pour chaque microprogramme VU que le jeu utilise."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:169
|
||||||
|
msgid "!ContextTip:Speedhacks:vuFlagHack"
|
||||||
|
msgstr ""
|
||||||
|
"Met à jour les Status Flags uniquement pour les blocs qui les liront, plutôt "
|
||||||
|
"qu'ils ne soient lus en permanence. Cette option n'occasionne aucun problème "
|
||||||
|
"en général, et le Super VU fait la même chose par défaut."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:174
|
||||||
|
msgid "!ContextTip:Speedhacks:vuThread"
|
||||||
|
msgstr ""
|
||||||
|
"Transfère le VU 1 dans un processus individuel (microVU1 seulement). En "
|
||||||
|
"général, cela permet une amélioration des performances sur les processeurs 3 "
|
||||||
|
"coeurs ou plus.\n"
|
||||||
|
"La plupart des jeux supportent bien l'opération, mais certains d'entre eux "
|
||||||
|
"pourraient tout de même planter.\n"
|
||||||
|
"De plus, les processeurs dual-core souffriront de ralentissements "
|
||||||
|
"conséquents."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:195
|
||||||
|
msgid "!ContextTip:Speedhacks:INTC"
|
||||||
|
msgstr ""
|
||||||
|
"Ce hack fonctionne mieux avec les jeux utilisant le registre INTC Status "
|
||||||
|
"dans l'attente d'une synchronisation verticale, notamment dans les RPG en "
|
||||||
|
"2D. Les jeux qui n'utilisent pas cette méthode connaîtront une légère "
|
||||||
|
"amélioration des performances."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:200
|
||||||
|
msgid "!ContextTip:Speedhacks:BIFC0"
|
||||||
|
msgstr "Vise surtout l'EE idle loop à l'adresse 0x81FC0 du kernel."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:207
|
||||||
|
msgid "!ContextTip:Speedhacks:fastCDVD"
|
||||||
|
msgstr ""
|
||||||
|
"Vérifie les listes de compatibilité du HDLoader pour les jeux qui "
|
||||||
|
"rencontrent habituellement des problèmes avec lui (le plus souvent, "
|
||||||
|
"repérables par l'indication \"mode 1\" ou \"slow DVD\")."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/VideoPanel.cpp:37
|
||||||
|
msgid "!ContextTip:Framelimiter:Disable"
|
||||||
|
msgstr ""
|
||||||
|
"Si le Famelimiting est désactivé, les modes Turbo et Slow Motion ne seront "
|
||||||
|
"plus disponibles."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/VideoPanel.cpp:227
|
||||||
|
msgid "!Panel:Frameskip:Heading"
|
||||||
|
msgstr ""
|
||||||
|
"Attention : L'hardware de la PS2 rend impossible un saut de frames cohérent. "
|
||||||
|
"L'activation de cette option pourrait entraîner des bugs graphiques "
|
||||||
|
"conséquents dans certains jeux."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/VideoPanel.cpp:306
|
||||||
|
msgid "!ContextTip:GS:SyncMTGS"
|
||||||
|
msgstr ""
|
||||||
|
"Activez cette option si vous pensez que le processus SyncMTGS cause des bugs "
|
||||||
|
"graphiques ou crashs récurents."
|
||||||
|
|
||||||
|
#: pcsx2/gui/Panels/VideoPanel.cpp:310
|
||||||
|
msgid "!ContextTip:GS:DisableOutput"
|
||||||
|
msgstr ""
|
||||||
|
"Supprime les problèmes de benchmark liés au processus MTGS ou à une "
|
||||||
|
"surexploitation du GPU. Cette option est plus efficace losqu'elle est "
|
||||||
|
"utilisée avec une sauvegarde : réalisez votre sauvegarde au moment propice, "
|
||||||
|
"activez cette option puis chargez à nouveau la partie.\n"
|
||||||
|
"\n"
|
||||||
|
"Attention : Cette option peut être activée alors que le jeu a été mis en "
|
||||||
|
"pause, mais entraînera des bugs graphiques si elle est ensuite désactivée au "
|
||||||
|
"cours de la même partie."
|
||||||
|
|
||||||
|
#: pcsx2/vtlb.cpp:710
|
||||||
|
msgid "!Notice:HostVmReserve"
|
||||||
|
msgstr ""
|
||||||
|
"Votre système manque de ressources pour exécuter l'émulateur PCSX2. Cela "
|
||||||
|
"peut être dû à un autre programme qui occupe trop d'espace-mémoire."
|
||||||
|
|
||||||
|
#: pcsx2/x86/sVU_zerorec.cpp:363
|
||||||
|
msgid "!Notice:superVU:VirtualMemoryAlloc"
|
||||||
|
msgstr ""
|
||||||
|
"Out of Memory (ou presque) : le SuperVU recompiler n'est pas parvu à allouer "
|
||||||
|
"suffisamment de mémoire virtuelle, ce qui rend impossible son utilisation. "
|
||||||
|
"Ceci n'est pas une erreur critique, puisque le SVU recompiler est obsolète "
|
||||||
|
"et que vous devriez utiliser Microvu ! :p"
|
||||||
|
|
||||||
|
#~ msgid "!ContextTip:Speedhacks:vuBlockHack"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Prévoit à l'avance que les futurs blocs n'auront pas besoin des anciennes "
|
||||||
|
#~ "données. L'option présente peu de risques et jusque là, aucun jeu n'a "
|
||||||
|
#~ "connu de bugs par sa faute."
|
2708
locales/fr_FR/pcsx2_Main.po
Normal file
2708
locales/fr_FR/pcsx2_Main.po
Normal file
File diff suppressed because it is too large
Load Diff
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PCSX2 0.9.8\n"
|
"Project-Id-Version: PCSX2 0.9.8\n"
|
||||||
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
|
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
|
||||||
"POT-Creation-Date: 2011-09-28 20:27+0200\n"
|
"POT-Creation-Date: 2012-04-07 11:42+0200\n"
|
||||||
"PO-Revision-Date: 2011-04-17 17:56+0100\n"
|
"PO-Revision-Date: 2011-04-17 17:56+0100\n"
|
||||||
"Last-Translator: Delirious <delirious@freemail.hu>\n"
|
"Last-Translator: Delirious <delirious@freemail.hu>\n"
|
||||||
"Language-Team: Delirious <delirious@freemail.hu>\n"
|
"Language-Team: Delirious <delirious@freemail.hu>\n"
|
||||||
@ -24,7 +24,7 @@ msgstr ""
|
|||||||
"Nincs elegendő szabad virtuális memória, vagy a szükséges virtuális memória "
|
"Nincs elegendő szabad virtuális memória, vagy a szükséges virtuális memória "
|
||||||
"kiosztás más folyamatok, szolgáltatások vagy DLL-ek számára van fenntartva."
|
"kiosztás más folyamatok, szolgáltatások vagy DLL-ek számára van fenntartva."
|
||||||
|
|
||||||
#: pcsx2/CDVD/CDVD.cpp:385
|
#: pcsx2/CDVD/CDVD.cpp:389
|
||||||
msgid "!Notice:PsxDisc"
|
msgid "!Notice:PsxDisc"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"A PlayStation játék lemezeket nem támogatja a PCSX2. Ha PSX játékokat akarsz "
|
"A PlayStation játék lemezeket nem támogatja a PCSX2. Ha PSX játékokat akarsz "
|
||||||
@ -471,26 +471,19 @@ msgstr ""
|
|||||||
"elvesz az EmotionEngine elől. Magasabb érték növeli az EE elől elvett és a "
|
"elvesz az EmotionEngine elől. Magasabb érték növeli az EE elől elvett és a "
|
||||||
"játék által futtatott összes mikroprogram számára átadott ciklusok számát."
|
"játék által futtatott összes mikroprogram számára átadott ciklusok számát."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:172
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:169
|
||||||
msgid "!ContextTip:Speedhacks:vuFlagHack"
|
msgid "!ContextTip:Speedhacks:vuFlagHack"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Az állapot jelzőket csak azokon a blokkokon frissíti amelyek olvassák "
|
"Az állapot jelzőket csak azokon a blokkokon frissíti amelyek olvassák "
|
||||||
"azokat. Legtöbbször ez biztonságos és a Super VU is valami hasonlót végez "
|
"azokat. Legtöbbször ez biztonságos és a Super VU is valami hasonlót végez "
|
||||||
"alapértelmezettként."
|
"alapértelmezettként."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:177
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:174
|
||||||
msgid "!ContextTip:Speedhacks:vuBlockHack"
|
|
||||||
msgstr ""
|
|
||||||
"Elfogadva, hogy a távoli jövőbeni blokkoknak nem lesz szükségük a régi "
|
|
||||||
"jelzőre utaló adatokra. Ez meglehetősen biztonságos lehet. Nem ismeretes, "
|
|
||||||
"hogy valamelyik játék kifagyását okozná..."
|
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:182
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "!ContextTip:Speedhacks:vuThread"
|
msgid "!ContextTip:Speedhacks:vuThread"
|
||||||
msgstr "Nem működik a Gran Turismo 4 vagy Tekken 5 esetén."
|
msgstr "Nem működik a Gran Turismo 4 vagy Tekken 5 esetén."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:203
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:195
|
||||||
msgid "!ContextTip:Speedhacks:INTC"
|
msgid "!ContextTip:Speedhacks:INTC"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Ez a hack működik legjobban azoknál a játékoknál, amelyek használják az INTC "
|
"Ez a hack működik legjobban azoknál a játékoknál, amelyek használják az INTC "
|
||||||
@ -499,7 +492,7 @@ msgstr ""
|
|||||||
"eljárást használják a függőleges szinkronhoz csak csekély, vagy semmilyen "
|
"eljárást használják a függőleges szinkronhoz csak csekély, vagy semmilyen "
|
||||||
"gyorsulás nem észlelhető a hack használatával."
|
"gyorsulás nem észlelhető a hack használatával."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:208
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:200
|
||||||
msgid "!ContextTip:Speedhacks:BIFC0"
|
msgid "!ContextTip:Speedhacks:BIFC0"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Elsődlegesen megcélozva az EE üresjárati hurkot a 0x81FC0 címzésen a "
|
"Elsődlegesen megcélozva az EE üresjárati hurkot a 0x81FC0 címzésen a "
|
||||||
@ -510,7 +503,7 @@ msgstr ""
|
|||||||
"előrehozhatjuk a következő eseményt vagy a processzor időszeletének végét, "
|
"előrehozhatjuk a következő eseményt vagy a processzor időszeletének végét, "
|
||||||
"bármelyik is következik előbb."
|
"bármelyik is következik előbb."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:215
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:207
|
||||||
msgid "!ContextTip:Speedhacks:fastCDVD"
|
msgid "!ContextTip:Speedhacks:fastCDVD"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Ellenőrizd a HDLoader kompatibilitási listát a problémás játékok végett. "
|
"Ellenőrizd a HDLoader kompatibilitási listát a problémás játékok végett. "
|
||||||
@ -522,20 +515,20 @@ msgstr ""
|
|||||||
"Nem árt tudni, ha a képkocka korlátozás ki van kapcsolva, a turbó és "
|
"Nem árt tudni, ha a képkocka korlátozás ki van kapcsolva, a turbó és "
|
||||||
"lassított mód sem érhető el."
|
"lassított mód sem érhető el."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:223
|
#: pcsx2/gui/Panels/VideoPanel.cpp:227
|
||||||
msgid "!Panel:Frameskip:Heading"
|
msgid "!Panel:Frameskip:Heading"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Megjegyzés: A PS2 hardver összetételének köszönhetően a pontos képkocka "
|
"Megjegyzés: A PS2 hardver összetételének köszönhetően a pontos képkocka "
|
||||||
"kihagyás nem lehetséges. Használata számos grafikai hibát okoz néhány "
|
"kihagyás nem lehetséges. Használata számos grafikai hibát okoz néhány "
|
||||||
"játékban."
|
"játékban."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:302
|
#: pcsx2/gui/Panels/VideoPanel.cpp:306
|
||||||
msgid "!ContextTip:GS:SyncMTGS"
|
msgid "!ContextTip:GS:SyncMTGS"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Kapcsold ezt be, ha úgy gondolod az MTGS folyamatág szinkron okozza a "
|
"Kapcsold ezt be, ha úgy gondolod az MTGS folyamatág szinkron okozza a "
|
||||||
"fagyást vagy grafikai hibákat."
|
"fagyást vagy grafikai hibákat."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:306
|
#: pcsx2/gui/Panels/VideoPanel.cpp:310
|
||||||
msgid "!ContextTip:GS:DisableOutput"
|
msgid "!ContextTip:GS:DisableOutput"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Eltávolít bármely teszt zajt, amit az MTGS folyamatág vagy az általános GPU "
|
"Eltávolít bármely teszt zajt, amit az MTGS folyamatág vagy az általános GPU "
|
||||||
@ -561,6 +554,12 @@ msgstr ""
|
|||||||
"azt. Ez nem kritikus hiba, amióta az sVU rec elavult és bármikor használható "
|
"azt. Ez nem kritikus hiba, amióta az sVU rec elavult és bármikor használható "
|
||||||
"helyette a microVU. :)"
|
"helyette a microVU. :)"
|
||||||
|
|
||||||
|
#~ msgid "!ContextTip:Speedhacks:vuBlockHack"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Elfogadva, hogy a távoli jövőbeni blokkoknak nem lesz szükségük a régi "
|
||||||
|
#~ "jelzőre utaló adatokra. Ez meglehetősen biztonságos lehet. Nem ismeretes, "
|
||||||
|
#~ "hogy valamelyik játék kifagyását okozná..."
|
||||||
|
|
||||||
#~ msgid "No reason given."
|
#~ msgid "No reason given."
|
||||||
#~ msgstr "Nincs meghatározott ok."
|
#~ msgstr "Nincs meghatározott ok."
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PCSX2 0.9.8\n"
|
"Project-Id-Version: PCSX2 0.9.8\n"
|
||||||
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
|
"Report-Msgid-Bugs-To: http://code.google.com/p/pcsx2/\n"
|
||||||
"POT-Creation-Date: 2011-09-28 20:27+0200\n"
|
"POT-Creation-Date: 2012-02-28 12:20+0100\n"
|
||||||
"PO-Revision-Date: 2011-04-17 16:35+0100\n"
|
"PO-Revision-Date: 2011-04-17 16:35+0100\n"
|
||||||
"Last-Translator: Delirious <delirious@freemail.hu>\n"
|
"Last-Translator: Delirious <delirious@freemail.hu>\n"
|
||||||
"Language-Team: Delirious <delirious@freemail.hu>\n"
|
"Language-Team: Delirious <delirious@freemail.hu>\n"
|
||||||
@ -195,7 +195,7 @@ msgstr "Belső memória kártya plugin iniciálása sikertelen."
|
|||||||
msgid "Unloaded Plugin"
|
msgid "Unloaded Plugin"
|
||||||
msgstr "Betöltetlen plugin"
|
msgstr "Betöltetlen plugin"
|
||||||
|
|
||||||
#: pcsx2/SaveState.cpp:339
|
#: pcsx2/SaveState.cpp:342
|
||||||
msgid "Cannot load savestate. It is of an unknown or unsupported version."
|
msgid "Cannot load savestate. It is of an unknown or unsupported version."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"A mentett állás nem tölthető be. Ez egy ismeretlen vagy nem támogatott "
|
"A mentett állás nem tölthető be. Ez egy ismeretlen vagy nem támogatott "
|
||||||
@ -350,31 +350,31 @@ msgstr ""
|
|||||||
"A mentett állás nem megfelelően van elmentve. Az ideiglenes fájl sikeresen "
|
"A mentett állás nem megfelelően van elmentve. Az ideiglenes fájl sikeresen "
|
||||||
"létre lett hozva, de nem került át a végső helyére."
|
"létre lett hozva, de nem került át a végső helyére."
|
||||||
|
|
||||||
#: pcsx2/gui/AppConfig.cpp:837
|
#: pcsx2/gui/AppConfig.cpp:842
|
||||||
msgid "Safest"
|
msgid "Safest"
|
||||||
msgstr "Legbiztonságosabb"
|
msgstr "Legbiztonságosabb"
|
||||||
|
|
||||||
#: pcsx2/gui/AppConfig.cpp:838
|
#: pcsx2/gui/AppConfig.cpp:843
|
||||||
msgid "Safe (faster)"
|
msgid "Safe (faster)"
|
||||||
msgstr "Biztonságos (gyorsabb)"
|
msgstr "Biztonságos (gyorsabb)"
|
||||||
|
|
||||||
#: pcsx2/gui/AppConfig.cpp:839
|
#: pcsx2/gui/AppConfig.cpp:844
|
||||||
msgid "Balanced"
|
msgid "Balanced"
|
||||||
msgstr "Kiegyensúlyozott"
|
msgstr "Kiegyensúlyozott"
|
||||||
|
|
||||||
#: pcsx2/gui/AppConfig.cpp:840
|
#: pcsx2/gui/AppConfig.cpp:845
|
||||||
msgid "Aggressive"
|
msgid "Aggressive"
|
||||||
msgstr "Agresszív"
|
msgstr "Agresszív"
|
||||||
|
|
||||||
#: pcsx2/gui/AppConfig.cpp:841
|
#: pcsx2/gui/AppConfig.cpp:846
|
||||||
msgid "Aggressive plus"
|
msgid "Aggressive plus"
|
||||||
msgstr "Agresszív plusz"
|
msgstr "Agresszív plusz"
|
||||||
|
|
||||||
#: pcsx2/gui/AppConfig.cpp:842
|
#: pcsx2/gui/AppConfig.cpp:847
|
||||||
msgid "Mostly Harmful"
|
msgid "Mostly Harmful"
|
||||||
msgstr "Legártalmasabb"
|
msgstr "Legártalmasabb"
|
||||||
|
|
||||||
#: pcsx2/gui/AppConfig.cpp:999 pcsx2/gui/AppConfig.cpp:1005
|
#: pcsx2/gui/AppConfig.cpp:1007 pcsx2/gui/AppConfig.cpp:1013
|
||||||
msgid "Failed to overwrite existing settings file; permission was denied."
|
msgid "Failed to overwrite existing settings file; permission was denied."
|
||||||
msgstr "A meglévő beállítás fájl felülírása sikertelen; hozzáférés megtagadva."
|
msgstr "A meglévő beállítás fájl felülírása sikertelen; hozzáférés megtagadva."
|
||||||
|
|
||||||
@ -2426,22 +2426,10 @@ msgstr ""
|
|||||||
"stb... [Ajánlott]"
|
"stb... [Ajánlott]"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:166
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:166
|
||||||
msgid "mVU Block Hack"
|
|
||||||
msgstr "mVU blokk hack"
|
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:167
|
|
||||||
#, fuzzy
|
|
||||||
msgid ""
|
|
||||||
"Good Speedup and High Compatibility; may cause bad graphics, SPS, etc..."
|
|
||||||
msgstr ""
|
|
||||||
"Látványos gyorsulás és magas kompatibilitás; grafikai hibákat okozhat, SPS, "
|
|
||||||
"stb..."
|
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:169
|
|
||||||
msgid "MTVU (Multi-Threaded microVU1)"
|
msgid "MTVU (Multi-Threaded microVU1)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:170
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:167
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
"Good Speedup and High Compatibility; may cause hanging... [Recommended if 3+ "
|
"Good Speedup and High Compatibility; may cause hanging... [Recommended if 3+ "
|
||||||
@ -2450,15 +2438,15 @@ msgstr ""
|
|||||||
"Látványos gyorsulás és magas kompatibilitás; grafikai hibákat okozhat, SPS, "
|
"Látványos gyorsulás és magas kompatibilitás; grafikai hibákat okozhat, SPS, "
|
||||||
"stb... [Ajánlott]"
|
"stb... [Ajánlott]"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:191
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:183
|
||||||
msgid "Other Hacks"
|
msgid "Other Hacks"
|
||||||
msgstr "Egyéb hackek"
|
msgstr "Egyéb hackek"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:193
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:185
|
||||||
msgid "Enable INTC Spin Detection"
|
msgid "Enable INTC Spin Detection"
|
||||||
msgstr "INTC pörgés észlelés használata"
|
msgstr "INTC pörgés észlelés használata"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:194
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:186
|
||||||
msgid ""
|
msgid ""
|
||||||
"Huge speedup for some games, with almost no compatibility side effects. "
|
"Huge speedup for some games, with almost no compatibility side effects. "
|
||||||
"[Recommended]"
|
"[Recommended]"
|
||||||
@ -2466,22 +2454,22 @@ msgstr ""
|
|||||||
"Nagymértékű gyorsulás néhány játék esetében, többnyire nincs kompatibilitási "
|
"Nagymértékű gyorsulás néhány játék esetében, többnyire nincs kompatibilitási "
|
||||||
"mellékhatás. [Ajánlott]"
|
"mellékhatás. [Ajánlott]"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:196
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:188
|
||||||
msgid "Enable Wait Loop Detection"
|
msgid "Enable Wait Loop Detection"
|
||||||
msgstr "Hurok észlelésre várakozás használata"
|
msgstr "Hurok észlelésre várakozás használata"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:197
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:189
|
||||||
msgid ""
|
msgid ""
|
||||||
"Moderate speedup for some games, with no known side effects. [Recommended]"
|
"Moderate speedup for some games, with no known side effects. [Recommended]"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Enyhe sebesség növekedés néhány játéknál, nincs ismert mellékhatás. "
|
"Enyhe sebesség növekedés néhány játéknál, nincs ismert mellékhatás. "
|
||||||
"[Ajánlott]"
|
"[Ajánlott]"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:199
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:191
|
||||||
msgid "Enable fast CDVD"
|
msgid "Enable fast CDVD"
|
||||||
msgstr "Gyors CDVD használata"
|
msgstr "Gyors CDVD használata"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:200
|
#: pcsx2/gui/Panels/SpeedhacksPanel.cpp:192
|
||||||
msgid "Fast disc access, less loading times. [Not Recommended]"
|
msgid "Fast disc access, less loading times. [Not Recommended]"
|
||||||
msgstr "Gyors lemez hozzáférés, kevesebb betöltési idő. [Nem ajánlott]"
|
msgstr "Gyors lemez hozzáférés, kevesebb betöltési idő. [Nem ajánlott]"
|
||||||
|
|
||||||
@ -2540,7 +2528,7 @@ msgstr "FPS"
|
|||||||
msgid "PAL Framerate:"
|
msgid "PAL Framerate:"
|
||||||
msgstr "PAL képfrissítés:"
|
msgstr "PAL képfrissítés:"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:162
|
#: pcsx2/gui/Panels/VideoPanel.cpp:166
|
||||||
msgid ""
|
msgid ""
|
||||||
"Error while parsing either NTSC or PAL framerate settings. Settings must be "
|
"Error while parsing either NTSC or PAL framerate settings. Settings must be "
|
||||||
"valid floating point numerics."
|
"valid floating point numerics."
|
||||||
@ -2548,19 +2536,19 @@ msgstr ""
|
|||||||
"Hiba vagy az NTSC vagy PAL képfrissítési beállítások elemzésekor. A "
|
"Hiba vagy az NTSC vagy PAL képfrissítési beállítások elemzésekor. A "
|
||||||
"beállításoknak érvényes lebegőpontos számoknak kell lenniük."
|
"beállításoknak érvényes lebegőpontos számoknak kell lenniük."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:180
|
#: pcsx2/gui/Panels/VideoPanel.cpp:184
|
||||||
msgid "Disabled [default]"
|
msgid "Disabled [default]"
|
||||||
msgstr "Kikapcsolva [alap]"
|
msgstr "Kikapcsolva [alap]"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:184
|
#: pcsx2/gui/Panels/VideoPanel.cpp:188
|
||||||
msgid "Skip when on Turbo only (TAB to enable)"
|
msgid "Skip when on Turbo only (TAB to enable)"
|
||||||
msgstr "Csak bekapcsolt Turbó esetén (TAB a használathoz)"
|
msgstr "Csak bekapcsolt Turbó esetén (TAB a használathoz)"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:188
|
#: pcsx2/gui/Panels/VideoPanel.cpp:192
|
||||||
msgid "Constant skipping"
|
msgid "Constant skipping"
|
||||||
msgstr "Változatlan kihagyás"
|
msgstr "Változatlan kihagyás"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:190
|
#: pcsx2/gui/Panels/VideoPanel.cpp:194
|
||||||
msgid ""
|
msgid ""
|
||||||
"Normal and Turbo limit rates skip frames. Slow motion mode will still "
|
"Normal and Turbo limit rates skip frames. Slow motion mode will still "
|
||||||
"disable frameskipping."
|
"disable frameskipping."
|
||||||
@ -2568,19 +2556,19 @@ msgstr ""
|
|||||||
"Normál és turbó korlátozza a kihagyandó képkockák számát. A lassított mód "
|
"Normál és turbó korlátozza a kihagyandó képkockák számát. A lassított mód "
|
||||||
"is kikapcsolja a képkocka kihagyást."
|
"is kikapcsolja a képkocka kihagyást."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:213
|
#: pcsx2/gui/Panels/VideoPanel.cpp:217
|
||||||
msgid "Frames to Draw"
|
msgid "Frames to Draw"
|
||||||
msgstr "Megjelenítendő képkockák"
|
msgstr "Megjelenítendő képkockák"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:218
|
#: pcsx2/gui/Panels/VideoPanel.cpp:222
|
||||||
msgid "Frames to Skip"
|
msgid "Frames to Skip"
|
||||||
msgstr "Kihagyandó képkockák"
|
msgstr "Kihagyandó képkockák"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:294
|
#: pcsx2/gui/Panels/VideoPanel.cpp:298
|
||||||
msgid "Use Synchronized MTGS"
|
msgid "Use Synchronized MTGS"
|
||||||
msgstr "Szinkronizált MTGS használata"
|
msgstr "Szinkronizált MTGS használata"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:295
|
#: pcsx2/gui/Panels/VideoPanel.cpp:299
|
||||||
msgid ""
|
msgid ""
|
||||||
"For troubleshooting potential bugs in the MTGS only, as it is potentially "
|
"For troubleshooting potential bugs in the MTGS only, as it is potentially "
|
||||||
"very slow."
|
"very slow."
|
||||||
@ -2588,11 +2576,11 @@ msgstr ""
|
|||||||
"Lehetséges hibák keresése csupán az MTGS-ben, mivel potenciálisan nagyon "
|
"Lehetséges hibák keresése csupán az MTGS-ben, mivel potenciálisan nagyon "
|
||||||
"lassú."
|
"lassú."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:298
|
#: pcsx2/gui/Panels/VideoPanel.cpp:302
|
||||||
msgid "Disable all GS output"
|
msgid "Disable all GS output"
|
||||||
msgstr "Minden GS kimenet kikapcsolása"
|
msgstr "Minden GS kimenet kikapcsolása"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:299
|
#: pcsx2/gui/Panels/VideoPanel.cpp:303
|
||||||
msgid ""
|
msgid ""
|
||||||
"Completely disables all GS plugin activity; ideal for benchmarking EEcore "
|
"Completely disables all GS plugin activity; ideal for benchmarking EEcore "
|
||||||
"components."
|
"components."
|
||||||
@ -2600,11 +2588,11 @@ msgstr ""
|
|||||||
"Teljesen leállít minden GS plugin tevékenységet; ideális az EEcore "
|
"Teljesen leállít minden GS plugin tevékenységet; ideális az EEcore "
|
||||||
"összetevők tesztelése esetén."
|
"összetevők tesztelése esetén."
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:316
|
#: pcsx2/gui/Panels/VideoPanel.cpp:320
|
||||||
msgid "Frame Skipping"
|
msgid "Frame Skipping"
|
||||||
msgstr "Képkocka kihagyás"
|
msgstr "Képkocka kihagyás"
|
||||||
|
|
||||||
#: pcsx2/gui/Panels/VideoPanel.cpp:319
|
#: pcsx2/gui/Panels/VideoPanel.cpp:323
|
||||||
msgid "Framelimiter"
|
msgid "Framelimiter"
|
||||||
msgstr "Képkocka korlátozó"
|
msgstr "Képkocka korlátozó"
|
||||||
|
|
||||||
@ -2690,6 +2678,16 @@ msgstr ""
|
|||||||
"%s kiterjesztés nem található. A microVU működéséhez szükséges egy MMX, SSE "
|
"%s kiterjesztés nem található. A microVU működéséhez szükséges egy MMX, SSE "
|
||||||
"és SSE2 utasításkészletet támogató processzor."
|
"és SSE2 utasításkészletet támogató processzor."
|
||||||
|
|
||||||
|
#~ msgid "mVU Block Hack"
|
||||||
|
#~ msgstr "mVU blokk hack"
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Good Speedup and High Compatibility; may cause bad graphics, SPS, etc..."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Látványos gyorsulás és magas kompatibilitás; grafikai hibákat okozhat, "
|
||||||
|
#~ "SPS, stb..."
|
||||||
|
|
||||||
#~ msgid "ISO mounting failed: PCSX2 is unable to identify the ISO image type."
|
#~ msgid "ISO mounting failed: PCSX2 is unable to identify the ISO image type."
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
#~ "ISO csatolása sikertelen: PCSX2 képtelen azonosítani az ISO képfájl "
|
#~ "ISO csatolása sikertelen: PCSX2 képtelen azonosítani az ISO képfájl "
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user