mirror of
https://github.com/clangen/musikcube.git
synced 2025-03-14 04:18:36 +00:00
Added scaffolding for a libopenmpt decoder.
This commit is contained in:
parent
bb8d874eb0
commit
e3da6e457a
@ -103,6 +103,7 @@ add_subdirectory(src/plugins/httpdatastream)
|
||||
add_subdirectory(src/plugins/stockencoders)
|
||||
add_subdirectory(src/plugins/supereqdsp)
|
||||
add_subdirectory(src/plugins/gmedecoder)
|
||||
add_subdirectory(src/plugins/libopenmptdecoder)
|
||||
|
||||
if (${FFMPEG_ENABLED} MATCHES "false")
|
||||
message(STATUS "[ffmpeg] enabled = false")
|
||||
|
2
src/3rdparty/bin
vendored
2
src/3rdparty/bin
vendored
@ -1 +1 @@
|
||||
Subproject commit e718dafa576f9ca28688bf8110aab80d0dd6a3de
|
||||
Subproject commit 268a9ee0cf592df197bf7983f2450a7eeacd2370
|
7
src/plugins/libopenmptdecoder/CMakeLists.txt
Normal file
7
src/plugins/libopenmptdecoder/CMakeLists.txt
Normal file
@ -0,0 +1,7 @@
|
||||
set (libopenmptdecoder_SOURCES
|
||||
plugin.cpp
|
||||
OpenMptDecoder.cpp
|
||||
)
|
||||
|
||||
add_library(libopenmptdecoder SHARED ${libopenmptdecoder_SOURCES})
|
||||
target_link_libraries(libopenmptdecoder ${musikcube_LINK_LIBS})
|
69
src/plugins/libopenmptdecoder/OpenMptDecoder.cpp
Normal file
69
src/plugins/libopenmptdecoder/OpenMptDecoder.cpp
Normal file
@ -0,0 +1,69 @@
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (c) 2004-2019 musikcube team
|
||||
//
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright notice,
|
||||
// this list of conditions and the following disclaimer.
|
||||
//
|
||||
// * Redistributions in binary form must reproduce the above copyright
|
||||
// notice, this list of conditions and the following disclaimer in the
|
||||
// documentation and/or other materials provided with the distribution.
|
||||
//
|
||||
// * Neither the name of the author nor the names of other contributors may
|
||||
// be used to endorse or promote products derived from this software
|
||||
// without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
// POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "Constants.h"
|
||||
#include "OpenMptDecoder.h"
|
||||
#include <core/sdk/IDebug.h>
|
||||
#include <cassert>
|
||||
|
||||
extern IDebug* debug;
|
||||
|
||||
OpenMptDecoder::OpenMptDecoder() {
|
||||
}
|
||||
|
||||
OpenMptDecoder::~OpenMptDecoder() {
|
||||
}
|
||||
|
||||
bool OpenMptDecoder::Open(musik::core::sdk::IDataStream *stream) {
|
||||
}
|
||||
|
||||
void OpenMptDecoder::Release() {
|
||||
delete this;
|
||||
}
|
||||
|
||||
double OpenMptDecoder::SetPosition(double seconds) {
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
double OpenMptDecoder::GetDuration() {
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
bool OpenMptDecoder::GetBuffer(IBuffer *target) {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool OpenMptDecoder::Exhausted() {
|
||||
return false;
|
||||
}
|
55
src/plugins/libopenmptdecoder/OpenMptDecoder.h
Normal file
55
src/plugins/libopenmptdecoder/OpenMptDecoder.h
Normal file
@ -0,0 +1,55 @@
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (c) 2004-2019 musikcube team
|
||||
//
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright notice,
|
||||
// this list of conditions and the following disclaimer.
|
||||
//
|
||||
// * Redistributions in binary form must reproduce the above copyright
|
||||
// notice, this list of conditions and the following disclaimer in the
|
||||
// documentation and/or other materials provided with the distribution.
|
||||
//
|
||||
// * Neither the name of the author nor the names of other contributors may
|
||||
// be used to endorse or promote products derived from this software
|
||||
// without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
// POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <core/sdk/constants.h>
|
||||
#include <core/sdk/IDecoder.h>
|
||||
|
||||
using namespace musik::core::sdk;
|
||||
|
||||
class OpenMptDecoder: public musik::core::sdk::IDecoder {
|
||||
public:
|
||||
OpenMptDecoder();
|
||||
~OpenMptDecoder();
|
||||
|
||||
virtual void Release() override;
|
||||
virtual double SetPosition(double seconds) override;
|
||||
virtual bool GetBuffer(IBuffer *buffer) override;
|
||||
virtual double GetDuration() override;
|
||||
virtual bool Open(musik::core::sdk::IDataStream *stream) override;
|
||||
virtual bool Exhausted() override;
|
||||
|
||||
private:
|
||||
};
|
1542
src/plugins/libopenmptdecoder/libopenmpt/libopenmpt.h
Normal file
1542
src/plugins/libopenmptdecoder/libopenmpt/libopenmpt.h
Normal file
File diff suppressed because it is too large
Load Diff
1172
src/plugins/libopenmptdecoder/libopenmpt/libopenmpt.hpp
Normal file
1172
src/plugins/libopenmptdecoder/libopenmpt/libopenmpt.hpp
Normal file
File diff suppressed because it is too large
Load Diff
181
src/plugins/libopenmptdecoder/libopenmpt/libopenmpt_config.h
Normal file
181
src/plugins/libopenmptdecoder/libopenmpt/libopenmpt_config.h
Normal file
@ -0,0 +1,181 @@
|
||||
/*
|
||||
* libopenmpt_config.h
|
||||
* -------------------
|
||||
* Purpose: libopenmpt public interface configuration
|
||||
* Notes : (currently none)
|
||||
* Authors: OpenMPT Devs
|
||||
* The OpenMPT source code is released under the BSD license. Read LICENSE for more details.
|
||||
*/
|
||||
|
||||
#ifndef LIBOPENMPT_CONFIG_H
|
||||
#define LIBOPENMPT_CONFIG_H
|
||||
|
||||
/*! \defgroup libopenmpt libopenmpt */
|
||||
|
||||
/*! \addtogroup libopenmpt
|
||||
@{
|
||||
*/
|
||||
|
||||
/* provoke warnings if already defined */
|
||||
#define LIBOPENMPT_API
|
||||
#undef LIBOPENMPT_API
|
||||
#define LIBOPENMPT_CXX_API
|
||||
#undef LIBOPENMPT_CXX_API
|
||||
|
||||
/*! \brief Defined if libopenmpt/libopenmpt_stream_callbacks_buffer.h exists. */
|
||||
#define LIBOPENMPT_STREAM_CALLBACKS_BUFFER
|
||||
|
||||
/*! \brief Defined if libopenmpt/libopenmpt_stream_callbacks_fd.h exists.
|
||||
* \since 0.3
|
||||
* \remarks
|
||||
* Use the following to check for availability:
|
||||
* \code
|
||||
* #include <libopenmpt/libopenmpt.h>
|
||||
* #if defined(LIBOPENMPT_STREAM_CALLBACKS_FD) || ((OPENMPT_API_VERSION_MAJOR == 0) && ((OPENMPT_API_VERSION_MINOR == 2) || (OPENMPT_API_VERSION_MINOR == 1)))
|
||||
* #include <libopenmpt/libopenmpt_stream_callbacks_fd.h>
|
||||
* #endif
|
||||
* \endcode
|
||||
*/
|
||||
#define LIBOPENMPT_STREAM_CALLBACKS_FD
|
||||
|
||||
/*! \brief Defined if libopenmpt/libopenmpt_stream_callbacks_file.h exists.
|
||||
* \since 0.3
|
||||
* \remarks
|
||||
* Use the following to check for availability:
|
||||
* \code
|
||||
* #include <libopenmpt/libopenmpt.h>
|
||||
* #if defined(LIBOPENMPT_STREAM_CALLBACKS_FILE) || ((OPENMPT_API_VERSION_MAJOR == 0) && ((OPENMPT_API_VERSION_MINOR == 2) || (OPENMPT_API_VERSION_MINOR == 1)))
|
||||
* #include <libopenmpt/libopenmpt_stream_callbacks_file.h>
|
||||
* #endif
|
||||
* \endcode
|
||||
*/
|
||||
#define LIBOPENMPT_STREAM_CALLBACKS_FILE
|
||||
|
||||
#if defined(__DOXYGEN__)
|
||||
|
||||
#define LIBOPENMPT_API_HELPER_EXPORT
|
||||
#define LIBOPENMPT_API_HELPER_IMPORT
|
||||
#define LIBOPENMPT_API_HELPER_PUBLIC
|
||||
#define LIBOPENMPT_API_HELPER_LOCAL
|
||||
|
||||
#elif defined(_MSC_VER)
|
||||
|
||||
#define LIBOPENMPT_API_HELPER_EXPORT __declspec(dllexport)
|
||||
#define LIBOPENMPT_API_HELPER_IMPORT __declspec(dllimport)
|
||||
#define LIBOPENMPT_API_HELPER_PUBLIC
|
||||
#define LIBOPENMPT_API_HELPER_LOCAL
|
||||
|
||||
#elif defined(__EMSCRIPTEN__)
|
||||
|
||||
#define LIBOPENMPT_API_HELPER_EXPORT __attribute__((visibility("default"))) __attribute__((used))
|
||||
#define LIBOPENMPT_API_HELPER_IMPORT __attribute__((visibility("default"))) __attribute__((used))
|
||||
#define LIBOPENMPT_API_HELPER_PUBLIC __attribute__((visibility("default"))) __attribute__((used))
|
||||
#define LIBOPENMPT_API_HELPER_LOCAL __attribute__((visibility("hidden")))
|
||||
|
||||
#elif (defined(__GNUC__) || defined(__clang__)) && defined(_WIN32)
|
||||
|
||||
#define LIBOPENMPT_API_HELPER_EXPORT __declspec(dllexport)
|
||||
#define LIBOPENMPT_API_HELPER_IMPORT __declspec(dllimport)
|
||||
#define LIBOPENMPT_API_HELPER_PUBLIC __attribute__((visibility("default")))
|
||||
#define LIBOPENMPT_API_HELPER_LOCAL __attribute__((visibility("hidden")))
|
||||
|
||||
#elif defined(__GNUC__) || defined(__clang__)
|
||||
|
||||
#define LIBOPENMPT_API_HELPER_EXPORT __attribute__((visibility("default")))
|
||||
#define LIBOPENMPT_API_HELPER_IMPORT __attribute__((visibility("default")))
|
||||
#define LIBOPENMPT_API_HELPER_PUBLIC __attribute__((visibility("default")))
|
||||
#define LIBOPENMPT_API_HELPER_LOCAL __attribute__((visibility("hidden")))
|
||||
|
||||
#elif defined(_WIN32)
|
||||
|
||||
#define LIBOPENMPT_API_HELPER_EXPORT __declspec(dllexport)
|
||||
#define LIBOPENMPT_API_HELPER_IMPORT __declspec(dllimport)
|
||||
#define LIBOPENMPT_API_HELPER_PUBLIC
|
||||
#define LIBOPENMPT_API_HELPER_LOCAL
|
||||
|
||||
#else
|
||||
|
||||
#define LIBOPENMPT_API_HELPER_EXPORT
|
||||
#define LIBOPENMPT_API_HELPER_IMPORT
|
||||
#define LIBOPENMPT_API_HELPER_PUBLIC
|
||||
#define LIBOPENMPT_API_HELPER_LOCAL
|
||||
|
||||
#endif
|
||||
|
||||
#if defined(LIBOPENMPT_BUILD_DLL)
|
||||
#define LIBOPENMPT_API LIBOPENMPT_API_HELPER_EXPORT
|
||||
#elif defined(LIBOPENMPT_USE_DLL)
|
||||
#define LIBOPENMPT_API LIBOPENMPT_API_HELPER_IMPORT
|
||||
#else
|
||||
#define LIBOPENMPT_API LIBOPENMPT_API_HELPER_PUBLIC
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
#define LIBOPENMPT_CXX_API LIBOPENMPT_API
|
||||
|
||||
#if defined(LIBOPENMPT_USE_DLL)
|
||||
#if defined(_MSC_VER) && !defined(_DLL)
|
||||
#error "C++ interface is disabled if libopenmpt is built as a DLL and the runtime is statically linked. This is not supported by microsoft and cannot possibly work. Ever."
|
||||
#undef LIBOPENMPT_CXX_API
|
||||
#define LIBOPENMPT_CXX_API LIBOPENMPT_API_HELPER_LOCAL
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(__EMSCRIPTEN__)
|
||||
|
||||
/* Only the C API is supported for emscripten. Disable the C++ API. */
|
||||
#undef LIBOPENMPT_CXX_API
|
||||
#define LIBOPENMPT_CXX_API LIBOPENMPT_API_HELPER_LOCAL
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
/*!
|
||||
@}
|
||||
*/
|
||||
|
||||
|
||||
/* C */
|
||||
|
||||
#if !defined(LIBOPENMPT_NO_DEPRECATE)
|
||||
#if defined(__clang__)
|
||||
#define LIBOPENMPT_DEPRECATED __attribute__((deprecated))
|
||||
#elif defined(__GNUC__)
|
||||
#define LIBOPENMPT_DEPRECATED __attribute__((deprecated))
|
||||
#elif defined(_MSC_VER)
|
||||
#define LIBOPENMPT_DEPRECATED __declspec(deprecated)
|
||||
#else
|
||||
#define LIBOPENMPT_DEPRECATED
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef __cplusplus
|
||||
#if !defined(LIBOPENMPT_NO_DEPRECATE)
|
||||
LIBOPENMPT_DEPRECATED static const int LIBOPENMPT_DEPRECATED_STRING_CONSTANT = 0;
|
||||
#define LIBOPENMPT_DEPRECATED_STRING( str ) ( LIBOPENMPT_DEPRECATED_STRING_CONSTANT ? ( str ) : ( str ) )
|
||||
#else
|
||||
#define LIBOPENMPT_DEPRECATED_STRING( str ) str
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/* C++ */
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
#if defined(LIBOPENMPT_ASSUME_CPLUSPLUS)
|
||||
#endif
|
||||
|
||||
#if !defined(LIBOPENMPT_NO_DEPRECATE)
|
||||
#define LIBOPENMPT_ATTR_DEPRECATED [[deprecated]]
|
||||
#else
|
||||
#define LIBOPENMPT_ATTR_DEPRECATED
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#include "libopenmpt_version.h"
|
||||
|
||||
#endif /* LIBOPENMPT_CONFIG_H */
|
318
src/plugins/libopenmptdecoder/libopenmpt/libopenmpt_ext.h
Normal file
318
src/plugins/libopenmptdecoder/libopenmpt/libopenmpt_ext.h
Normal file
@ -0,0 +1,318 @@
|
||||
/*
|
||||
* libopenmpt_ext.h
|
||||
* ----------------
|
||||
* Purpose: libopenmpt public c interface for libopenmpt extensions
|
||||
* Notes :
|
||||
* Authors: OpenMPT Devs
|
||||
* The OpenMPT source code is released under the BSD license. Read LICENSE for more details.
|
||||
*/
|
||||
|
||||
#ifndef LIBOPENMPT_EXT_H
|
||||
#define LIBOPENMPT_EXT_H
|
||||
|
||||
#include "libopenmpt_config.h"
|
||||
#include "libopenmpt.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*!
|
||||
* \page libopenmpt_ext_c_overview libopenmpt_ext C API
|
||||
*
|
||||
* libopenmpt_ext is included in all builds by default.
|
||||
*
|
||||
* \section libopenmpt-ext-c-detailed Detailed documentation
|
||||
*
|
||||
* \ref libopenmpt_ext_c
|
||||
*
|
||||
*/
|
||||
|
||||
/*! \defgroup libopenmpt_ext_c libopenmpt_ext C */
|
||||
|
||||
/*! \addtogroup libopenmpt_ext_c
|
||||
* @{
|
||||
*/
|
||||
|
||||
/*! \brief Opaque type representing a libopenmpt extension module
|
||||
*/
|
||||
typedef struct openmpt_module_ext openmpt_module_ext;
|
||||
|
||||
/*! \brief Construct an openmpt_module_ext
|
||||
*
|
||||
* \param stream_callbacks Input stream callback operations.
|
||||
* \param stream Input stream to load the module from.
|
||||
* \param logfunc Logging function where warning and errors are written. The logging function may be called throughout the lifetime of openmpt_module_ext. May be NULL.
|
||||
* \param loguser User-defined data associated with this module. This value will be passed to the logging callback function (logfunc)
|
||||
* \param errfunc Error function to define error behaviour. May be NULL.
|
||||
* \param erruser Error function user context. Used to pass any user-defined data associated with this module to the logging function.
|
||||
* \param error Pointer to an integer where an error may get stored. May be NULL.
|
||||
* \param error_message Pointer to a string pointer where an error message may get stored. May be NULL.
|
||||
* \param ctls A map of initial ctl values, see openmpt_module_get_ctls.
|
||||
* \return A pointer to the constructed openmpt_module_ext, or NULL on failure.
|
||||
* \remarks The input data can be discarded after an openmpt_module_ext has been constructed successfully.
|
||||
* \sa openmpt_stream_callbacks
|
||||
* \sa \ref libopenmpt_c_fileio
|
||||
* \since 0.3.0
|
||||
*/
|
||||
LIBOPENMPT_API openmpt_module_ext * openmpt_module_ext_create( openmpt_stream_callbacks stream_callbacks, void * stream, openmpt_log_func logfunc, void * loguser, openmpt_error_func errfunc, void * erruser, int * error, const char * * error_message, const openmpt_module_initial_ctl * ctls );
|
||||
|
||||
/*! \brief Construct an openmpt_module_ext
|
||||
*
|
||||
* \param filedata Data to load the module from.
|
||||
* \param filesize Amount of data available.
|
||||
* \param logfunc Logging function where warning and errors are written. The logging function may be called throughout the lifetime of openmpt_module_ext.
|
||||
* \param loguser User-defined data associated with this module. This value will be passed to the logging callback function (logfunc)
|
||||
* \param errfunc Error function to define error behaviour. May be NULL.
|
||||
* \param erruser Error function user context. Used to pass any user-defined data associated with this module to the logging function.
|
||||
* \param error Pointer to an integer where an error may get stored. May be NULL.
|
||||
* \param error_message Pointer to a string pointer where an error message may get stored. May be NULL.
|
||||
* \param ctls A map of initial ctl values, see openmpt_module_get_ctls.
|
||||
* \return A pointer to the constructed openmpt_module_ext, or NULL on failure.
|
||||
* \remarks The input data can be discarded after an openmpt_module_ext has been constructed successfully.
|
||||
* \sa \ref libopenmpt_c_fileio
|
||||
* \since 0.3.0
|
||||
*/
|
||||
LIBOPENMPT_API openmpt_module_ext * openmpt_module_ext_create_from_memory( const void * filedata, size_t filesize, openmpt_log_func logfunc, void * loguser, openmpt_error_func errfunc, void * erruser, int * error, const char * * error_message, const openmpt_module_initial_ctl * ctls );
|
||||
|
||||
/*! \brief Unload a previously created openmpt_module_ext from memory.
|
||||
*
|
||||
* \param mod_ext The module to unload.
|
||||
*/
|
||||
LIBOPENMPT_API void openmpt_module_ext_destroy( openmpt_module_ext * mod_ext );
|
||||
|
||||
/*! \brief Retrieve the openmpt_module handle from an openmpt_module_ext handle.
|
||||
*
|
||||
* \param mod_ext The extension module handle to convert
|
||||
* \return An equivalent openmpt_module handle to pass to standard libopenmpt functions
|
||||
* \since 0.3.0
|
||||
*/
|
||||
LIBOPENMPT_API openmpt_module * openmpt_module_ext_get_module( openmpt_module_ext * mod_ext );
|
||||
|
||||
/*! Retrieve a libopenmpt extension.
|
||||
*
|
||||
* \param mod_ext The module handle to work on.
|
||||
* \param interface_id The name of the extension interface to retrieve (e.g. LIBOPENMPT_EXT_C_INTERFACE_PATTERN_VIS).
|
||||
* \param interface Appropriate structure of interface function pointers which is to be filled by this function (e.g. a pointer to a openmpt_module_ext_interface_pattern_vis structure).
|
||||
* \param interface_size Size of the interface's structure of function pointers (e.g. sizeof(openmpt_module_ext_interface_pattern_vis)).
|
||||
* \return 1 on success, 0 if the interface was not found.
|
||||
* \since 0.3.0
|
||||
*/
|
||||
LIBOPENMPT_API int openmpt_module_ext_get_interface( openmpt_module_ext * mod_ext, const char * interface_id, void * interface, size_t interface_size );
|
||||
|
||||
|
||||
|
||||
#ifndef LIBOPENMPT_EXT_C_INTERFACE_PATTERN_VIS
|
||||
#define LIBOPENMPT_EXT_C_INTERFACE_PATTERN_VIS "pattern_vis"
|
||||
#endif
|
||||
|
||||
/*! Pattern command type */
|
||||
#define OPENMPT_MODULE_EXT_INTERFACE_PATTERN_VIS_EFFECT_TYPE_UNKNOWN 0
|
||||
#define OPENMPT_MODULE_EXT_INTERFACE_PATTERN_VIS_EFFECT_TYPE_GENERAL 1
|
||||
#define OPENMPT_MODULE_EXT_INTERFACE_PATTERN_VIS_EFFECT_TYPE_GLOBAL 2
|
||||
#define OPENMPT_MODULE_EXT_INTERFACE_PATTERN_VIS_EFFECT_TYPE_VOLUME 3
|
||||
#define OPENMPT_MODULE_EXT_INTERFACE_PATTERN_VIS_EFFECT_TYPE_PANNING 4
|
||||
#define OPENMPT_MODULE_EXT_INTERFACE_PATTERN_VIS_EFFECT_TYPE_PITCH 5
|
||||
|
||||
typedef struct openmpt_module_ext_interface_pattern_vis {
|
||||
/*! Get pattern command type for pattern highlighting
|
||||
*
|
||||
* \param mod_ext The module handle to work on.
|
||||
* \param pattern The pattern whose data should be retrieved.
|
||||
* \param row The row from which the data should be retrieved.
|
||||
* \param channel The channel from which the data should be retrieved.
|
||||
* \return The command type in the effect column at the given pattern position (see OPENMPT_MODULE_EXT_INTERFACE_PATTERN_VIS_EFFECT_TYPE_*)
|
||||
* \sa openmpt_module_ext_interface_pattern_vis::get_pattern_row_channel_volume_effect_type
|
||||
*/
|
||||
int ( * get_pattern_row_channel_volume_effect_type ) ( openmpt_module_ext * mod_ext, int32_t pattern, int32_t row, int32_t channel );
|
||||
|
||||
/*! Get pattern command type for pattern highlighting
|
||||
*
|
||||
* \param mod_ext The module handle to work on.
|
||||
* \param pattern The pattern whose data should be retrieved.
|
||||
* \param row The row from which the data should be retrieved.
|
||||
* \param channel The channel from which the data should be retrieved.
|
||||
* \return The command type in the effect column at the given pattern position (see OPENMPT_MODULE_EXT_INTERFACE_PATTERN_VIS_EFFECT_TYPE_*)
|
||||
* \sa openmpt_module_ext_interface_pattern_vis::get_pattern_row_channel_volume_effect_type
|
||||
*/
|
||||
int ( * get_pattern_row_channel_effect_type ) ( openmpt_module_ext * mod_ext, int32_t pattern, int32_t row, int32_t channel );
|
||||
} openmpt_module_ext_interface_pattern_vis;
|
||||
|
||||
|
||||
|
||||
#ifndef LIBOPENMPT_EXT_C_INTERFACE_INTERACTIVE
|
||||
#define LIBOPENMPT_EXT_C_INTERFACE_INTERACTIVE "interactive"
|
||||
#endif
|
||||
|
||||
typedef struct openmpt_module_ext_interface_interactive {
|
||||
/*! Set the current ticks per row (speed)
|
||||
*
|
||||
* \param mod_ext The module handle to work on.
|
||||
* \param speed The new tick count in range [1, 65535].
|
||||
* \return 1 on success, 0 on failure.
|
||||
* \remarks The tick count may be reset by pattern commands at any time.
|
||||
* \sa openmpt_module_get_current_speed
|
||||
*/
|
||||
int ( * set_current_speed ) ( openmpt_module_ext * mod_ext, int32_t speed );
|
||||
|
||||
/*! Set the current module tempo
|
||||
*
|
||||
* \param mod_ext The module handle to work on.
|
||||
* \param tempo The new tempo in range [32, 512]. The exact meaning of the value depends on the tempo mode used by the module.
|
||||
* \return 1 on success, 0 on failure.
|
||||
* \remarks The tempo may be reset by pattern commands at any time. Use openmpt_module_ext_interface_interactive::set_tempo_factor to apply a tempo factor that is independent of pattern commands.
|
||||
* \sa openmpt_module_get_current_tempo
|
||||
*/
|
||||
int ( * set_current_tempo ) ( openmpt_module_ext * mod_ext, int32_t tempo );
|
||||
|
||||
/*! Set the current module tempo factor without affecting playback pitch
|
||||
*
|
||||
* \param mod_ext The module handle to work on.
|
||||
* \param factor The new tempo factor in range ]0.0, 4.0] - 1.0 means unmodified tempo.
|
||||
* \return 1 on success, 0 on failure.
|
||||
* \remarks Modifying the tempo without applying the same pitch factor using openmpt_module_ext_interface_interactive::set_pitch_factor may cause rhythmic samples (e.g. drum loops) to go out of sync.
|
||||
* \sa openmpt_module_ext_interface_interactive::get_tempo_factor
|
||||
*/
|
||||
int ( * set_tempo_factor ) ( openmpt_module_ext * mod_ext, double factor );
|
||||
|
||||
/*! Gets the current module tempo factor
|
||||
*
|
||||
* \param mod_ext The module handle to work on.
|
||||
* \return The current tempo factor.
|
||||
* \sa openmpt_module_ext_interface_interactive::set_tempo_factor
|
||||
*/
|
||||
double ( * get_tempo_factor ) ( openmpt_module_ext * mod_ext );
|
||||
|
||||
/*! Set the current module pitch factor without affecting playback speed
|
||||
*
|
||||
* \param mod_ext The module handle to work on.
|
||||
* \param factor The new pitch factor in range ]0.0, 4.0] - 1.0 means unmodified pitch.
|
||||
* \return 1 on success, 0 on failure.
|
||||
* \remarks Modifying the pitch without applying the the same tempo factor using openmpt_module_ext_interface_interactive::set_tempo_factor may cause rhythmic samples (e.g. drum loops) to go out of sync.
|
||||
* \remarks To shift the pich by `n` semitones, the parameter can be calculated as follows: `pow( 2.0, n / 12.0 )`
|
||||
* \sa openmpt_module_ext_interface_interactive::get_pitch_factor
|
||||
*/
|
||||
int ( * set_pitch_factor ) ( openmpt_module_ext * mod_ext, double factor );
|
||||
|
||||
/*! Gets the current module pitch factor
|
||||
*
|
||||
* \param mod_ext The module handle to work on.
|
||||
* \return The current pitch factor.
|
||||
* \sa openmpt_module_ext_interface_interactive::set_pitch_factor
|
||||
*/
|
||||
double ( * get_pitch_factor ) ( openmpt_module_ext * mod_ext );
|
||||
|
||||
/*! Set the current global volume
|
||||
*
|
||||
* \param mod_ext The module handle to work on.
|
||||
* \param volume The new global volume in range [0.0, 1.0]
|
||||
* \return 1 on success, 0 on failure.
|
||||
* \remarks The global volume may be reset by pattern commands at any time. Use openmpt_module_set_render_param to apply a global overall volume factor that is independent of pattern commands.
|
||||
* \sa openmpt_module_ext_interface_interactive::get_global_volume
|
||||
*/
|
||||
int ( * set_global_volume ) ( openmpt_module_ext * mod_ext, double volume );
|
||||
|
||||
/*! Get the current global volume
|
||||
*
|
||||
* \param mod_ext The module handle to work on.
|
||||
* \return The current global volume in range [0.0, 1.0]
|
||||
* \sa openmpt_module_ext_interface_interactive::set_global_volume
|
||||
*/
|
||||
double ( * get_global_volume ) ( openmpt_module_ext * mod_ext );
|
||||
|
||||
/*! Set the current channel volume for a channel
|
||||
*
|
||||
* \param mod_ext The module handle to work on.
|
||||
* \param channel The channel whose volume should be set, in range [0, openmpt_module_get_num_channels()[
|
||||
* \param volume The new channel volume in range [0.0, 1.0]
|
||||
* \return 1 on success, 0 on failure (channel out of range).
|
||||
* \remarks The channel volume may be reset by pattern commands at any time.
|
||||
* \sa openmpt_module_ext_interface_interactive::get_channel_volume
|
||||
*/
|
||||
int ( * set_channel_volume ) ( openmpt_module_ext * mod_ext, int32_t channel, double volume );
|
||||
|
||||
/*! Get the current channel volume for a channel
|
||||
*
|
||||
* \param mod_ext The module handle to work on.
|
||||
* \param channel The channel whose volume should be retrieved, in range [0, openmpt_module_get_num_channels()[
|
||||
* \return The current channel volume in range [0.0, 1.0]
|
||||
* \sa openmpt_module_ext_interface_interactive::set_channel_volume
|
||||
*/
|
||||
double ( * get_channel_volume ) ( openmpt_module_ext * mod_ext, int32_t channel );
|
||||
|
||||
/*! Set the current mute status for a channel
|
||||
*
|
||||
* \param mod_ext The module handle to work on.
|
||||
* \param channel The channel whose mute status should be set, in range [0, openmpt_module_get_num_channels()[
|
||||
* \param mute The new mute status. true is muted, false is unmuted.
|
||||
* \return 1 on success, 0 on failure (channel out of range).
|
||||
* \sa openmpt_module_ext_interface_interactive::get_channel_mute_status
|
||||
*/
|
||||
int ( * set_channel_mute_status ) ( openmpt_module_ext * mod_ext, int32_t channel, int mute );
|
||||
|
||||
/*! Get the current mute status for a channel
|
||||
*
|
||||
* \param mod_ext The module handle to work on.
|
||||
* \param channel The channel whose mute status should be retrieved, in range [0, openmpt_module_get_num_channels()[
|
||||
* \return The current channel mute status. 1 is muted, 0 is unmuted, -1 means the instrument was out of range
|
||||
* \sa openmpt_module_ext_interface_interactive::set_channel_mute_status
|
||||
*/
|
||||
int ( * get_channel_mute_status ) ( openmpt_module_ext * mod_ext, int32_t channel );
|
||||
|
||||
/*! Set the current mute status for an instrument
|
||||
*
|
||||
* \param mod_ext The module handle to work on.
|
||||
* \param instrument The instrument whose mute status should be set, in range [0, openmpt_module_get_num_instruments()[ if openmpt_module_get_num_instruments is not 0, otherwise in [0, openmpt_module_get_num_samples()[
|
||||
* \param mute The new mute status. true is muted, false is unmuted.
|
||||
* \return 1 on success, 0 on failure (instrument out of range).
|
||||
* \sa openmpt_module_ext_interface_interactive::get_instrument_mute_status
|
||||
*/
|
||||
int ( * set_instrument_mute_status ) ( openmpt_module_ext * mod_ext, int32_t instrument, int mute );
|
||||
|
||||
/*! Get the current mute status for an instrument
|
||||
*
|
||||
* \param mod_ext The module handle to work on.
|
||||
* \param instrument The instrument whose mute status should be retrieved, in range [0, openmpt_module_get_num_instruments()[ if openmpt_module_get_num_instruments is not 0, otherwise in [0, openmpt_module_get_num_samples()[
|
||||
* \return The current instrument mute status. 1 is muted, 0 is unmuted, -1 means the instrument was out of range
|
||||
* \sa openmpt_module_ext_interface_interactive::set_instrument_mute_status
|
||||
*/
|
||||
int ( * get_instrument_mute_status ) ( openmpt_module_ext * mod_ext, int32_t instrument );
|
||||
|
||||
/*! Play a note using the specified instrument
|
||||
*
|
||||
* \param mod_ext The module handle to work on.
|
||||
* \param instrument The instrument that should be played, in range [0, openmpt_module_get_num_instruments()[ if openmpt_module_get_num_instruments is not 0, otherwise in [0, openmpt_module_get_num_samples()[
|
||||
* \param note The note to play, in rage [0, 119]. 60 is the middle C.
|
||||
* \param volume The volume at which the note should be triggered, in range [0.0, 1.0]
|
||||
* \param panning The panning position at which the note should be triggered, in range [-1.0, 1.0], 0.0 is center.
|
||||
* \return The channel on which the note is played. This can pe be passed to openmpt_module_ext_interface_interactive::stop_note to stop the note. -1 means that no channel could be allocated and the note is not played.
|
||||
* \sa openmpt_module_ext_interface_interactive::stop_note
|
||||
*/
|
||||
int32_t ( * play_note ) ( openmpt_module_ext * mod_ext, int32_t instrument, int32_t note, double volume, double panning );
|
||||
|
||||
/*! Stop the note playing on the specified channel
|
||||
*
|
||||
* \param mod_ext The module handle to work on.
|
||||
* \param channel The channel on which the note should be stopped.
|
||||
* \return 1 on success, 0 on failure (channel out of range).
|
||||
* \sa openmpt_module_ext_interface_interactive::play_note
|
||||
*/
|
||||
int ( * stop_note ) ( openmpt_module_ext * mod_ext, int32_t channel );
|
||||
} openmpt_module_ext_interface_interactive;
|
||||
|
||||
|
||||
|
||||
/* add stuff here */
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/*!
|
||||
* @}
|
||||
*/
|
||||
|
||||
#endif /* LIBOPENMPT_EXT_H */
|
||||
|
310
src/plugins/libopenmptdecoder/libopenmpt/libopenmpt_ext.hpp
Normal file
310
src/plugins/libopenmptdecoder/libopenmpt/libopenmpt_ext.hpp
Normal file
@ -0,0 +1,310 @@
|
||||
/*
|
||||
* libopenmpt_ext.hpp
|
||||
* ------------------
|
||||
* Purpose: libopenmpt public c++ interface for libopenmpt extensions
|
||||
* Notes :
|
||||
* Authors: OpenMPT Devs
|
||||
* The OpenMPT source code is released under the BSD license. Read LICENSE for more details.
|
||||
*/
|
||||
|
||||
#ifndef LIBOPENMPT_EXT_HPP
|
||||
#define LIBOPENMPT_EXT_HPP
|
||||
|
||||
#include "libopenmpt_config.h"
|
||||
#include "libopenmpt.hpp"
|
||||
|
||||
/*!
|
||||
* \page libopenmpt_ext_cpp_overview libopenmpt_ext C++ API
|
||||
*
|
||||
* libopenmpt_ext is now included in all builds by default.
|
||||
*
|
||||
* \section libopenmpt-ext-cpp-detailed Detailed documentation
|
||||
*
|
||||
* \ref libopenmpt_ext_cpp
|
||||
*
|
||||
*/
|
||||
|
||||
/*! \defgroup libopenmpt_ext_cpp libopenmpt_ext C++ */
|
||||
|
||||
/*! \addtogroup libopenmpt_ext_cpp
|
||||
@{
|
||||
*/
|
||||
|
||||
namespace openmpt {
|
||||
|
||||
class module_ext_impl;
|
||||
|
||||
class LIBOPENMPT_CXX_API module_ext : public module {
|
||||
|
||||
private:
|
||||
module_ext_impl * ext_impl;
|
||||
private:
|
||||
// non-copyable
|
||||
module_ext( const module_ext & );
|
||||
void operator = ( const module_ext & );
|
||||
public:
|
||||
module_ext( std::istream & stream, std::ostream & log = std::clog, const std::map< std::string, std::string > & ctls = detail::initial_ctls_map() );
|
||||
module_ext( const std::vector<std::byte> & data, std::ostream & log = std::clog, const std::map< std::string, std::string > & ctls = detail::initial_ctls_map() );
|
||||
module_ext( const std::vector<std::uint8_t> & data, std::ostream & log = std::clog, const std::map< std::string, std::string > & ctls = detail::initial_ctls_map() );
|
||||
module_ext( const std::vector<char> & data, std::ostream & log = std::clog, const std::map< std::string, std::string > & ctls = detail::initial_ctls_map() );
|
||||
module_ext( const std::byte * data, std::size_t size, std::ostream & log = std::clog, const std::map< std::string, std::string > & ctls = detail::initial_ctls_map() );
|
||||
module_ext( const std::uint8_t * data, std::size_t size, std::ostream & log = std::clog, const std::map< std::string, std::string > & ctls = detail::initial_ctls_map() );
|
||||
module_ext( const char * data, std::size_t size, std::ostream & log = std::clog, const std::map< std::string, std::string > & ctls = detail::initial_ctls_map() );
|
||||
module_ext( const void * data, std::size_t size, std::ostream & log = std::clog, const std::map< std::string, std::string > & ctls = detail::initial_ctls_map() );
|
||||
virtual ~module_ext();
|
||||
|
||||
public:
|
||||
|
||||
//! Retrieve a libopenmpt extension.
|
||||
/*! Example: Retrieving the interactive extension to change the tempo of a module:
|
||||
\code{.cpp}
|
||||
openmpt::module_ext *mod = new openmpt::module_ext( stream );
|
||||
#ifdef LIBOPENMPT_EXT_INTERFACE_INTERACTIVE
|
||||
openmpt::ext::interactive *interactive = static_cast<openmpt::ext::interactive *>( self->mod->get_interface( openmpt::ext::interactive_id ) );
|
||||
if ( interactive ) {
|
||||
interactive->set_tempo_factor( 2.0 ); // play module at double speed
|
||||
} else {
|
||||
// interface not available
|
||||
}
|
||||
#else
|
||||
// interfae not available
|
||||
#endif
|
||||
\endcode
|
||||
\param interface_id The name of the extension interface to retrieve.
|
||||
\return The interface object. This may be a nullptr if the extension was not found.
|
||||
*/
|
||||
void * get_interface( const std::string & interface_id );
|
||||
|
||||
}; // class module_ext
|
||||
|
||||
namespace ext {
|
||||
|
||||
#define LIBOPENMPT_DECLARE_EXT_CXX_INTERFACE(name) \
|
||||
static const char name ## _id [] = # name ; \
|
||||
class name; \
|
||||
/**/
|
||||
|
||||
#define LIBOPENMPT_EXT_CXX_INTERFACE(name) \
|
||||
protected: \
|
||||
name () {} \
|
||||
virtual ~ name () {} \
|
||||
public: \
|
||||
/**/
|
||||
|
||||
|
||||
#ifndef LIBOPENMPT_EXT_INTERFACE_PATTERN_VIS
|
||||
#define LIBOPENMPT_EXT_INTERFACE_PATTERN_VIS
|
||||
#endif
|
||||
|
||||
LIBOPENMPT_DECLARE_EXT_CXX_INTERFACE(pattern_vis)
|
||||
|
||||
class pattern_vis {
|
||||
|
||||
LIBOPENMPT_EXT_CXX_INTERFACE(pattern_vis)
|
||||
|
||||
//! Pattern command type
|
||||
enum effect_type {
|
||||
|
||||
effect_unknown = 0,
|
||||
effect_general = 1,
|
||||
effect_global = 2,
|
||||
effect_volume = 3,
|
||||
effect_panning = 4,
|
||||
effect_pitch = 5
|
||||
|
||||
}; // enum effect_type
|
||||
|
||||
//! Get pattern command type for pattern highlighting
|
||||
/*!
|
||||
\param pattern The pattern whose data should be retrieved.
|
||||
\param row The row from which the data should be retrieved.
|
||||
\param channel The channel from which the data should be retrieved.
|
||||
\return The command type in the effect column at the given pattern position (see openmpt::ext::pattern_vis::effect_type)
|
||||
\sa openmpt::ext::pattern_vis::get_pattern_row_channel_effect_type
|
||||
*/
|
||||
virtual effect_type get_pattern_row_channel_volume_effect_type( std::int32_t pattern, std::int32_t row, std::int32_t channel ) const = 0;
|
||||
|
||||
//! Get pattern command type for pattern highlighting
|
||||
/*!
|
||||
\param pattern The pattern whose data should be retrieved.
|
||||
\param row The row from which the data should be retrieved.
|
||||
\param channel The channel from which the data should be retrieved.
|
||||
\return The command type in the volume column at the given pattern position (see openmpt::ext::pattern_vis::effect_type)
|
||||
\sa openmpt::ext::pattern_vis::get_pattern_row_channel_volume_effect_type
|
||||
*/
|
||||
virtual effect_type get_pattern_row_channel_effect_type( std::int32_t pattern, std::int32_t row, std::int32_t channel ) const = 0;
|
||||
|
||||
}; // class pattern_vis
|
||||
|
||||
|
||||
#ifndef LIBOPENMPT_EXT_INTERFACE_INTERACTIVE
|
||||
#define LIBOPENMPT_EXT_INTERFACE_INTERACTIVE
|
||||
#endif
|
||||
|
||||
LIBOPENMPT_DECLARE_EXT_CXX_INTERFACE(interactive)
|
||||
|
||||
class interactive {
|
||||
|
||||
LIBOPENMPT_EXT_CXX_INTERFACE(interactive)
|
||||
|
||||
//! Set the current ticks per row (speed)
|
||||
/*!
|
||||
\param speed The new tick count in range [1, 65535].
|
||||
\throws openmpt::exception Throws an exception derived from openmpt::exception if the speed is outside the specified range.
|
||||
\remarks The tick count may be reset by pattern commands at any time.
|
||||
\sa openmpt::module::get_current_speed
|
||||
*/
|
||||
virtual void set_current_speed( std::int32_t speed ) = 0;
|
||||
|
||||
//! Set the current module tempo
|
||||
/*!
|
||||
\param tempo The new tempo in range [32, 512]. The exact meaning of the value depends on the tempo mode used by the module.
|
||||
\throws openmpt::exception Throws an exception derived from openmpt::exception if the tempo is outside the specified range.
|
||||
\remarks The tempo may be reset by pattern commands at any time. Use openmpt::ext:interactive::set_tempo_factor to apply a tempo factor that is independent of pattern commands.
|
||||
\sa openmpt::module::get_current_tempo
|
||||
*/
|
||||
virtual void set_current_tempo( std::int32_t tempo ) = 0;
|
||||
|
||||
//! Set the current module tempo factor without affecting playback pitch
|
||||
/*!
|
||||
\param factor The new tempo factor in range ]0.0, 4.0] - 1.0 means unmodified tempo.
|
||||
\throws openmpt::exception Throws an exception derived from openmpt::exception if the factor is outside the specified range.
|
||||
\remarks Modifying the tempo without applying the same pitch factor using openmpt::ext::interactive::set_pitch_factor may cause rhythmic samples (e.g. drum loops) to go out of sync.
|
||||
\sa openmpt::ext::interactive::get_tempo_factor
|
||||
*/
|
||||
virtual void set_tempo_factor( double factor ) = 0;
|
||||
|
||||
//! Gets the current module tempo factor
|
||||
/*!
|
||||
\return The current tempo factor.
|
||||
\sa openmpt::ext::interactive::set_tempo_factor
|
||||
*/
|
||||
virtual double get_tempo_factor( ) const = 0;
|
||||
|
||||
//! Set the current module pitch factor without affecting playback speed
|
||||
/*!
|
||||
\param factor The new pitch factor in range ]0.0, 4.0] - 1.0 means unmodified pitch.
|
||||
\throws openmpt::exception Throws an exception derived from openmpt::exception if the factor is outside the specified range.
|
||||
\remarks Modifying the pitch without applying the the same tempo factor using openmpt::ext::interactive::set_tempo_factor may cause rhythmic samples (e.g. drum loops) to go out of sync.
|
||||
\remarks To shift the pich by `n` semitones, the parameter can be calculated as follows: `pow( 2.0, n / 12.0 )`
|
||||
\sa openmpt::ext::interactive::get_pitch_factor
|
||||
*/
|
||||
virtual void set_pitch_factor( double factor ) = 0;
|
||||
|
||||
//! Gets the current module pitch factor
|
||||
/*!
|
||||
\return The current pitch factor.
|
||||
\sa openmpt::ext::interactive::set_pitch_factor
|
||||
*/
|
||||
virtual double get_pitch_factor( ) const = 0;
|
||||
|
||||
//! Set the current global volume
|
||||
/*!
|
||||
\param volume The new global volume in range [0.0, 1.0]
|
||||
\throws openmpt::exception Throws an exception derived from openmpt::exception if the volume is outside the specified range.
|
||||
\remarks The global volume may be reset by pattern commands at any time. Use openmpt::module::set_render_param to apply a global overall volume factor that is independent of pattern commands.
|
||||
\sa openmpt::ext::interactive::get_global_volume
|
||||
*/
|
||||
virtual void set_global_volume( double volume ) = 0;
|
||||
|
||||
//! Get the current global volume
|
||||
/*!
|
||||
\return The current global volume in range [0.0, 1.0]
|
||||
\sa openmpt::ext::interactive::set_global_volume
|
||||
*/
|
||||
virtual double get_global_volume( ) const = 0;
|
||||
|
||||
//! Set the current channel volume for a channel
|
||||
/*!
|
||||
\param channel The channel whose volume should be set, in range [0, openmpt::module::get_num_channels()[
|
||||
\param volume The new channel volume in range [0.0, 1.0]
|
||||
\throws openmpt::exception Throws an exception derived from openmpt::exception if the channel or volume is outside the specified range.
|
||||
\remarks The channel volume may be reset by pattern commands at any time.
|
||||
\sa openmpt::ext::interactive::get_channel_volume
|
||||
*/
|
||||
virtual void set_channel_volume( std::int32_t channel, double volume ) = 0;
|
||||
|
||||
//! Get the current channel volume for a channel
|
||||
/*!
|
||||
\param channel The channel whose volume should be retrieved, in range [0, openmpt::module::get_num_channels()[
|
||||
\return The current channel volume in range [0.0, 1.0]
|
||||
\throws openmpt::exception Throws an exception derived from openmpt::exception if the channel is outside the specified range.
|
||||
\sa openmpt::ext::interactive::set_channel_volume
|
||||
*/
|
||||
virtual double get_channel_volume( std::int32_t channel ) const = 0;
|
||||
|
||||
//! Set the current mute status for a channel
|
||||
/*!
|
||||
\param channel The channel whose mute status should be set, in range [0, openmpt::module::get_num_channels()[
|
||||
\param mute The new mute status. true is muted, false is unmuted.
|
||||
\throws openmpt::exception Throws an exception derived from openmpt::exception if the channel is outside the specified range.
|
||||
\sa openmpt::ext::interactive::get_channel_mute_status
|
||||
*/
|
||||
virtual void set_channel_mute_status( std::int32_t channel, bool mute ) = 0;
|
||||
|
||||
//! Get the current mute status for a channel
|
||||
/*!
|
||||
\param channel The channel whose mute status should be retrieved, in range [0, openmpt::module::get_num_channels()[
|
||||
\return The current channel mute status. true is muted, false is unmuted.
|
||||
\throws openmpt::exception Throws an exception derived from openmpt::exception if the channel is outside the specified range.
|
||||
\sa openmpt::ext::interactive::set_channel_mute_status
|
||||
*/
|
||||
virtual bool get_channel_mute_status( std::int32_t channel ) const = 0;
|
||||
|
||||
//! Set the current mute status for an instrument
|
||||
/*!
|
||||
\param instrument The instrument whose mute status should be set, in range [0, openmpt::module::get_num_instruments()[ if openmpt::module::get_num_instruments is not 0, otherwise in [0, openmpt::module::get_num_samples()[
|
||||
\param mute The new mute status. true is muted, false is unmuted.
|
||||
\throws openmpt::exception Throws an exception derived from openmpt::exception if the instrument is outside the specified range.
|
||||
\sa openmpt::ext::interactive::get_instrument_mute_status
|
||||
*/
|
||||
virtual void set_instrument_mute_status( std::int32_t instrument, bool mute ) = 0;
|
||||
|
||||
//! Get the current mute status for an instrument
|
||||
/*!
|
||||
\param instrument The instrument whose mute status should be retrieved, in range [0, openmpt::module::get_num_instruments()[ if openmpt::module::get_num_instruments is not 0, otherwise in [0, openmpt::module::get_num_samples()[
|
||||
\return The current instrument mute status. true is muted, false is unmuted.
|
||||
\throws openmpt::exception Throws an exception derived from openmpt::exception if the instrument is outside the specified range.
|
||||
\sa openmpt::ext::interactive::set_instrument_mute_status
|
||||
*/
|
||||
virtual bool get_instrument_mute_status( std::int32_t instrument ) const = 0;
|
||||
|
||||
//! Play a note using the specified instrument
|
||||
/*!
|
||||
\param instrument The instrument that should be played, in range [0, openmpt::module::get_num_instruments()[ if openmpt::module::get_num_instruments is not 0, otherwise in [0, openmpt::module::get_num_samples()[
|
||||
\param note The note to play, in rage [0, 119]. 60 is the middle C.
|
||||
\param volume The volume at which the note should be triggered, in range [0.0, 1.0]
|
||||
\param panning The panning position at which the note should be triggered, in range [-1.0, 1.0], 0.0 is center.
|
||||
\return The channel on which the note is played. This can pe be passed to openmpt::ext::interactive::stop_note to stop the note.
|
||||
\throws openmpt::exception Throws an exception derived from openmpt::exception if the instrument or note is outside the specified range.
|
||||
\sa openmpt::ext::interactive::stop_note
|
||||
*/
|
||||
virtual std::int32_t play_note( std::int32_t instrument, std::int32_t note, double volume, double panning ) = 0;
|
||||
|
||||
//! Stop the note playing on the specified channel
|
||||
/*!
|
||||
\param channel The channel on which the note should be stopped.
|
||||
\throws openmpt::exception Throws an exception derived from openmpt::exception if the channel index is invalid.
|
||||
\sa openmpt::ext::interactive::play_note
|
||||
*/
|
||||
virtual void stop_note( std::int32_t channel ) = 0;
|
||||
|
||||
}; // class interactive
|
||||
|
||||
|
||||
/* add stuff here */
|
||||
|
||||
|
||||
|
||||
#undef LIBOPENMPT_DECLARE_EXT_CXX_INTERFACE
|
||||
#undef LIBOPENMPT_EXT_CXX_INTERFACE
|
||||
|
||||
} // namespace ext
|
||||
|
||||
} // namespace openmpt
|
||||
|
||||
/*!
|
||||
@}
|
||||
*/
|
||||
|
||||
#endif // LIBOPENMPT_EXT_HPP
|
@ -0,0 +1,198 @@
|
||||
/*
|
||||
* libopenmpt_stream_callbacks_buffer.h
|
||||
* ------------------------------------
|
||||
* Purpose: libopenmpt public c interface
|
||||
* Notes : (currently none)
|
||||
* Authors: OpenMPT Devs
|
||||
* The OpenMPT source code is released under the BSD license. Read LICENSE for more details.
|
||||
*/
|
||||
|
||||
#ifndef LIBOPENMPT_STREAM_CALLBACKS_BUFFER_H
|
||||
#define LIBOPENMPT_STREAM_CALLBACKS_BUFFER_H
|
||||
|
||||
#include "libopenmpt.h"
|
||||
|
||||
/* The use of this header requires:
|
||||
|
||||
#include <libopenmpt/libopenmpt.h>
|
||||
#if defined( LIBOPENMPT_STREAM_CALLBACKS_BUFFER )
|
||||
#include <libopenmpt/libopenmpt_stream_callbacks_buffer.h>
|
||||
#else
|
||||
#error "libopenmpt too old."
|
||||
#endif
|
||||
|
||||
*/
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
/*! \addtogroup libopenmpt_c
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct openmpt_stream_buffer {
|
||||
const void * file_data; /* or prefix data IFF prefix_size < file_size */
|
||||
int64_t file_size;
|
||||
int64_t file_pos;
|
||||
int64_t prefix_size;
|
||||
int overflow;
|
||||
} openmpt_stream_buffer;
|
||||
|
||||
static size_t openmpt_stream_buffer_read_func( void * stream, void * dst, size_t bytes ) {
|
||||
openmpt_stream_buffer * s = (openmpt_stream_buffer*)stream;
|
||||
int64_t offset = 0;
|
||||
int64_t begpos = 0;
|
||||
int64_t endpos = 0;
|
||||
size_t valid_bytes = 0;
|
||||
if ( !s ) {
|
||||
return 0;
|
||||
}
|
||||
offset = bytes;
|
||||
begpos = s->file_pos;
|
||||
endpos = s->file_pos;
|
||||
valid_bytes = 0;
|
||||
endpos = (uint64_t)endpos + (uint64_t)offset;
|
||||
if ( ( offset > 0 ) && !( (uint64_t)endpos > (uint64_t)begpos ) ) {
|
||||
/* integer wrapped */
|
||||
return 0;
|
||||
}
|
||||
if ( bytes == 0 ) {
|
||||
return 0;
|
||||
}
|
||||
if ( begpos >= s->file_size ) {
|
||||
return 0;
|
||||
}
|
||||
if ( endpos > s->file_size ) {
|
||||
/* clip to eof */
|
||||
bytes = bytes - (size_t)( endpos - s->file_size );
|
||||
endpos = endpos - ( endpos - s->file_size );
|
||||
}
|
||||
memset( dst, 0, bytes );
|
||||
if ( begpos >= s->prefix_size ) {
|
||||
s->overflow = 1;
|
||||
valid_bytes = 0;
|
||||
} else if ( endpos > s->prefix_size ) {
|
||||
s->overflow = 1;
|
||||
valid_bytes = bytes - (size_t)( endpos - s->prefix_size );
|
||||
} else {
|
||||
valid_bytes = bytes;
|
||||
}
|
||||
memcpy( dst, (const char*)s->file_data + s->file_pos, valid_bytes );
|
||||
s->file_pos = s->file_pos + bytes;
|
||||
return bytes;
|
||||
}
|
||||
|
||||
static int openmpt_stream_buffer_seek_func( void * stream, int64_t offset, int whence ) {
|
||||
openmpt_stream_buffer * s = (openmpt_stream_buffer*)stream;
|
||||
int result = -1;
|
||||
if ( !s ) {
|
||||
return -1;
|
||||
}
|
||||
switch ( whence ) {
|
||||
case OPENMPT_STREAM_SEEK_SET:
|
||||
if ( offset < 0 ) {
|
||||
return -1;
|
||||
}
|
||||
if ( offset > s->file_size ) {
|
||||
return -1;
|
||||
}
|
||||
s->file_pos = offset;
|
||||
result = 0;
|
||||
break;
|
||||
case OPENMPT_STREAM_SEEK_CUR:
|
||||
do {
|
||||
int64_t oldpos = s->file_pos;
|
||||
int64_t pos = s->file_pos;
|
||||
pos = (uint64_t)pos + (uint64_t)offset;
|
||||
if ( ( offset > 0 ) && !( (uint64_t)pos > (uint64_t)oldpos ) ) {
|
||||
/* integer wrapped */
|
||||
return -1;
|
||||
}
|
||||
if ( ( offset < 0 ) && !( (uint64_t)pos < (uint64_t)oldpos ) ) {
|
||||
/* integer wrapped */
|
||||
return -1;
|
||||
}
|
||||
s->file_pos = pos;
|
||||
} while(0);
|
||||
result = 0;
|
||||
break;
|
||||
case OPENMPT_STREAM_SEEK_END:
|
||||
if ( offset > 0 ) {
|
||||
return -1;
|
||||
}
|
||||
do {
|
||||
int64_t oldpos = s->file_pos;
|
||||
int64_t pos = s->file_pos;
|
||||
pos = s->file_size;
|
||||
pos = (uint64_t)pos + (uint64_t)offset;
|
||||
if ( ( offset < 0 ) && !( (uint64_t)pos < (uint64_t)oldpos ) ) {
|
||||
/* integer wrapped */
|
||||
return -1;
|
||||
}
|
||||
s->file_pos = pos;
|
||||
} while(0);
|
||||
result = 0;
|
||||
break;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
static int64_t openmpt_stream_buffer_tell_func( void * stream ) {
|
||||
openmpt_stream_buffer * s = (openmpt_stream_buffer*)stream;
|
||||
if ( !s ) {
|
||||
return -1;
|
||||
}
|
||||
return s->file_pos;
|
||||
}
|
||||
|
||||
static void openmpt_stream_buffer_init( openmpt_stream_buffer * buffer, const void * file_data, int64_t file_size ) {
|
||||
memset( buffer, 0, sizeof( openmpt_stream_buffer ) );
|
||||
buffer->file_data = file_data;
|
||||
buffer->file_size = file_size;
|
||||
buffer->file_pos = 0;
|
||||
buffer->prefix_size = file_size;
|
||||
buffer->overflow = 0;
|
||||
}
|
||||
|
||||
#define openmpt_stream_buffer_init_prefix_only( buffer_, prefix_data_, prefix_size_, file_size_ ) do { \
|
||||
openmpt_stream_buffer_init( (buffer_), (prefix_data_), (file_size_) ); \
|
||||
(buffer_)->prefix_size = (prefix_size_); \
|
||||
} while(0)
|
||||
|
||||
#define openmpt_stream_buffer_overflowed( buffer_ ) ( (buffer_)->overflow )
|
||||
|
||||
/*! \brief Provide openmpt_stream_callbacks for in-memoy buffers
|
||||
*
|
||||
* Fills openmpt_stream_callbacks suitable for passing an in-memory buffer as a stream parameter to functions doing file input/output.
|
||||
*
|
||||
* \remarks The stream argument must be passed as `(void*)(openmpt_stream_buffer*)stream_buffer`.
|
||||
* \sa \ref libopenmpt_c_fileio
|
||||
* \sa openmpt_stream_callbacks
|
||||
* \sa openmpt_could_open_probability2
|
||||
* \sa openmpt_probe_file_header_from_stream
|
||||
* \sa openmpt_module_create2
|
||||
*/
|
||||
static openmpt_stream_callbacks openmpt_stream_get_buffer_callbacks(void) {
|
||||
openmpt_stream_callbacks retval;
|
||||
memset( &retval, 0, sizeof( openmpt_stream_callbacks ) );
|
||||
retval.read = openmpt_stream_buffer_read_func;
|
||||
retval.seek = openmpt_stream_buffer_seek_func;
|
||||
retval.tell = openmpt_stream_buffer_tell_func;
|
||||
return retval;
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/*!
|
||||
* @}
|
||||
*/
|
||||
|
||||
#endif /* LIBOPENMPT_STREAM_CALLBACKS_BUFFER_H */
|
||||
|
@ -0,0 +1,101 @@
|
||||
/*
|
||||
* libopenmpt_stream_callbacks_fd.h
|
||||
* --------------------------------
|
||||
* Purpose: libopenmpt public c interface
|
||||
* Notes : (currently none)
|
||||
* Authors: OpenMPT Devs
|
||||
* The OpenMPT source code is released under the BSD license. Read LICENSE for more details.
|
||||
*/
|
||||
|
||||
#ifndef LIBOPENMPT_STREAM_CALLBACKS_FD_H
|
||||
#define LIBOPENMPT_STREAM_CALLBACKS_FD_H
|
||||
|
||||
#include "libopenmpt.h"
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#include <io.h>
|
||||
#endif
|
||||
#include <limits.h>
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#ifndef _MSC_VER
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
/*! \addtogroup libopenmpt_c
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* This stuff has to be in a header file because of possibly different MSVC CRTs which cause problems for fd crossing CRT boundaries. */
|
||||
|
||||
static size_t openmpt_stream_fd_read_func( void * stream, void * dst, size_t bytes ) {
|
||||
int fd = 0;
|
||||
#if defined(_MSC_VER)
|
||||
size_t retval = 0;
|
||||
int to_read = 0;
|
||||
int ret_read = 0;
|
||||
#else
|
||||
ssize_t retval = 0;
|
||||
#endif
|
||||
fd = (int)(uintptr_t)stream;
|
||||
if ( fd < 0 ) {
|
||||
return 0;
|
||||
}
|
||||
#if defined(_MSC_VER)
|
||||
retval = 0;
|
||||
while ( bytes > 0 ) {
|
||||
to_read = 0;
|
||||
if ( bytes < (size_t)INT_MAX ) {
|
||||
to_read = (int)bytes;
|
||||
} else {
|
||||
to_read = INT_MAX;
|
||||
}
|
||||
ret_read = _read( fd, dst, to_read );
|
||||
if ( ret_read <= 0 ) {
|
||||
return retval;
|
||||
}
|
||||
bytes -= ret_read;
|
||||
retval += ret_read;
|
||||
}
|
||||
#else
|
||||
retval = read( fd, dst, bytes );
|
||||
#endif
|
||||
if ( retval <= 0 ) {
|
||||
return 0;
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
|
||||
/*! \brief Provide openmpt_stream_callbacks for standard POSIX file descriptors
|
||||
*
|
||||
* Fills openmpt_stream_callbacks suitable for passing a POSIX filer descriptor as a stream parameter to functions doing file input/output.
|
||||
*
|
||||
* \remarks The stream argument must be passed as `(void*)(uintptr_t)(int)fd`.
|
||||
* \sa \ref libopenmpt_c_fileio
|
||||
* \sa openmpt_stream_callbacks
|
||||
* \sa openmpt_could_open_probability2
|
||||
* \sa openmpt_probe_file_header_from_stream
|
||||
* \sa openmpt_module_create2
|
||||
*/
|
||||
static openmpt_stream_callbacks openmpt_stream_get_fd_callbacks(void) {
|
||||
openmpt_stream_callbacks retval;
|
||||
memset( &retval, 0, sizeof( openmpt_stream_callbacks ) );
|
||||
retval.read = openmpt_stream_fd_read_func;
|
||||
return retval;
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/*!
|
||||
* @}
|
||||
*/
|
||||
|
||||
#endif /* LIBOPENMPT_STREAM_CALLBACKS_FD_H */
|
||||
|
@ -0,0 +1,132 @@
|
||||
/*
|
||||
* libopenmpt_stream_callbacks_file.h
|
||||
* ----------------------------------
|
||||
* Purpose: libopenmpt public c interface
|
||||
* Notes : (currently none)
|
||||
* Authors: OpenMPT Devs
|
||||
* The OpenMPT source code is released under the BSD license. Read LICENSE for more details.
|
||||
*/
|
||||
|
||||
#ifndef LIBOPENMPT_STREAM_CALLBACKS_FILE_H
|
||||
#define LIBOPENMPT_STREAM_CALLBACKS_FILE_H
|
||||
|
||||
#include "libopenmpt.h"
|
||||
|
||||
#include <limits.h>
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#ifdef _MSC_VER
|
||||
#include <wchar.h> /* off_t */
|
||||
#endif
|
||||
|
||||
/*! \addtogroup libopenmpt_c
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* This stuff has to be in a header file because of possibly different MSVC CRTs which cause problems for FILE * crossing CRT boundaries. */
|
||||
|
||||
static size_t openmpt_stream_file_read_func( void * stream, void * dst, size_t bytes ) {
|
||||
FILE * f = 0;
|
||||
size_t retval = 0;
|
||||
f = (FILE*)stream;
|
||||
if ( !f ) {
|
||||
return 0;
|
||||
}
|
||||
retval = fread( dst, 1, bytes, f );
|
||||
if ( retval <= 0 ) {
|
||||
return 0;
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
|
||||
static int openmpt_stream_file_seek_func( void * stream, int64_t offset, int whence ) {
|
||||
FILE * f = 0;
|
||||
int fwhence = 0;
|
||||
f = (FILE*)stream;
|
||||
if ( !f ) {
|
||||
return -1;
|
||||
}
|
||||
switch ( whence ) {
|
||||
#if defined(SEEK_SET)
|
||||
case OPENMPT_STREAM_SEEK_SET:
|
||||
fwhence = SEEK_SET;
|
||||
break;
|
||||
#endif
|
||||
#if defined(SEEK_CUR)
|
||||
case OPENMPT_STREAM_SEEK_CUR:
|
||||
fwhence = SEEK_CUR;
|
||||
break;
|
||||
#endif
|
||||
#if defined(SEEK_END)
|
||||
case OPENMPT_STREAM_SEEK_END:
|
||||
fwhence = SEEK_END;
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
return -1;
|
||||
break;
|
||||
}
|
||||
#if defined(_MSC_VER)
|
||||
return _fseeki64( f, offset, fwhence ) ? -1 : 0;
|
||||
#elif defined(_POSIX_SOURCE) && (_POSIX_SOURCE == 1)
|
||||
return fseeko( f, offset, fwhence ) ? -1 : 0;
|
||||
#else
|
||||
return fseek( f, offset, fwhence ) ? -1 : 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
static int64_t openmpt_stream_file_tell_func( void * stream ) {
|
||||
FILE * f = 0;
|
||||
int64_t retval = 0;
|
||||
f = (FILE*)stream;
|
||||
if ( !f ) {
|
||||
return -1;
|
||||
}
|
||||
#if defined(_MSC_VER)
|
||||
retval = _ftelli64( f );
|
||||
#elif defined(_POSIX_SOURCE) && (_POSIX_SOURCE == 1)
|
||||
retval = ftello( f );
|
||||
#else
|
||||
retval = ftell( f );
|
||||
#endif
|
||||
if ( retval < 0 ) {
|
||||
return -1;
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
|
||||
/*! \brief Provide openmpt_stream_callbacks for standard C FILE objects
|
||||
*
|
||||
* Fills openmpt_stream_callbacks suitable for passing a standard C FILE object as a stream parameter to functions doing file input/output.
|
||||
*
|
||||
* \remarks The stream argument must be passed as `(void*)(FILE*)file`.
|
||||
* \sa \ref libopenmpt_c_fileio
|
||||
* \sa openmpt_stream_callbacks
|
||||
* \sa openmpt_could_open_probability2
|
||||
* \sa openmpt_probe_file_header_from_stream
|
||||
* \sa openmpt_module_create2
|
||||
*/
|
||||
static openmpt_stream_callbacks openmpt_stream_get_file_callbacks(void) {
|
||||
openmpt_stream_callbacks retval;
|
||||
memset( &retval, 0, sizeof( openmpt_stream_callbacks ) );
|
||||
retval.read = openmpt_stream_file_read_func;
|
||||
retval.seek = openmpt_stream_file_seek_func;
|
||||
retval.tell = openmpt_stream_file_tell_func;
|
||||
return retval;
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/*!
|
||||
* @}
|
||||
*/
|
||||
|
||||
#endif /* LIBOPENMPT_STREAM_CALLBACKS_FILE_H */
|
||||
|
@ -0,0 +1,75 @@
|
||||
/*
|
||||
* libopenmpt_version.h
|
||||
* --------------------
|
||||
* Purpose: libopenmpt public interface version
|
||||
* Notes : (currently none)
|
||||
* Authors: OpenMPT Devs
|
||||
* The OpenMPT source code is released under the BSD license. Read LICENSE for more details.
|
||||
*/
|
||||
|
||||
#ifndef LIBOPENMPT_VERSION_H
|
||||
#define LIBOPENMPT_VERSION_H
|
||||
|
||||
/*! \addtogroup libopenmpt
|
||||
@{
|
||||
*/
|
||||
|
||||
/*! \brief libopenmpt major version number */
|
||||
#define OPENMPT_API_VERSION_MAJOR 0
|
||||
/*! \brief libopenmpt minor version number */
|
||||
#define OPENMPT_API_VERSION_MINOR 5
|
||||
/*! \brief libopenmpt patch version number */
|
||||
#define OPENMPT_API_VERSION_PATCH 0
|
||||
/*! \brief libopenmpt pre-release tag */
|
||||
#define OPENMPT_API_VERSION_PREREL ""
|
||||
/*! \brief libopenmpt pre-release flag */
|
||||
#define OPENMPT_API_VERSION_IS_PREREL 0
|
||||
|
||||
/*! \brief libopenmpt version number as a single integer value
|
||||
* \since 0.3
|
||||
* \remarks Use the following shim if you need to support earlier libopenmpt versions:
|
||||
* \code
|
||||
* #include <libopenmpt/libopenmpt_version.h>
|
||||
* #if !defined(OPENMPT_API_VERSION_MAKE)
|
||||
* #define OPENMPT_API_VERSION_MAKE(major, minor, patch) (((major)<<24)|((minor)<<16)|((patch)<<0))
|
||||
* #endif
|
||||
* \endcode
|
||||
*/
|
||||
#define OPENMPT_API_VERSION_MAKE(major, minor, patch) (((major)<<24)|((minor)<<16)|((patch)<<0))
|
||||
|
||||
/*! \brief libopenmpt API version number */
|
||||
#define OPENMPT_API_VERSION OPENMPT_API_VERSION_MAKE(OPENMPT_API_VERSION_MAJOR, OPENMPT_API_VERSION_MINOR, OPENMPT_API_VERSION_PATCH)
|
||||
|
||||
/*! \brief Check whether the libopenmpt API is at least the provided version
|
||||
* \since 0.3
|
||||
* \remarks Use the following shim if you need to support earlier libopenmpt versions:
|
||||
* \code
|
||||
* #include <libopenmpt/libopenmpt_version.h>
|
||||
* #if !defined(OPENMPT_API_VERSION_AT_LEAST)
|
||||
* #define OPENMPT_API_VERSION_AT_LEAST(major, minor, patch) (OPENMPT_API_VERSION >= OPENMPT_API_VERSION_MAKE((major), (minor), (patch)))
|
||||
* #endif
|
||||
* \endcode
|
||||
*/
|
||||
#define OPENMPT_API_VERSION_AT_LEAST(major, minor, patch) (OPENMPT_API_VERSION >= OPENMPT_API_VERSION_MAKE((major), (minor), (patch)))
|
||||
|
||||
/*! \brief Check whether the libopenmpt API is before the provided version
|
||||
* \since 0.3
|
||||
* \remarks Use the following shim if you need to support earlier libopenmpt versions:
|
||||
* \code
|
||||
* #include <libopenmpt/libopenmpt_version.h>
|
||||
* #if !defined(OPENMPT_API_VERSION_BEFORE)
|
||||
* #define OPENMPT_API_VERSION_BEFORE(major, minor, patch) (OPENMPT_API_VERSION < OPENMPT_API_VERSION_MAKE((major), (minor), (patch)))
|
||||
* #endif
|
||||
* \endcode
|
||||
*/
|
||||
#define OPENMPT_API_VERSION_BEFORE(major, minor, patch) (OPENMPT_API_VERSION < OPENMPT_API_VERSION_MAKE((major), (minor), (patch)))
|
||||
|
||||
#define OPENMPT_API_VERSION_HELPER_STRINGIZE(x) #x
|
||||
#define OPENMPT_API_VERSION_STRINGIZE(x) OPENMPT_API_VERSION_HELPER_STRINGIZE(x)
|
||||
#define OPENMPT_API_VERSION_STRING OPENMPT_API_VERSION_STRINGIZE(OPENMPT_API_VERSION_MAJOR) "." OPENMPT_API_VERSION_STRINGIZE(OPENMPT_API_VERSION_MINOR) "." OPENMPT_API_VERSION_STRINGIZE(OPENMPT_API_VERSION_PATCH) OPENMPT_API_VERSION_PREREL
|
||||
|
||||
/*!
|
||||
@}
|
||||
*/
|
||||
|
||||
#endif /* LIBOPENMPT_VERSION_H */
|
832
src/plugins/libopenmptdecoder/libopenmptdecoder.filters
Normal file
832
src/plugins/libopenmptdecoder/libopenmptdecoder.filters
Normal file
@ -0,0 +1,832 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="plugin">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd;cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="plugin\gme">
|
||||
<UniqueIdentifier>{0c34f22a-70bf-4fb8-b96c-f08cd406fd53}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="plugin\gme\higan">
|
||||
<UniqueIdentifier>{280eb342-9894-41b2-911f-0c5f93b0a856}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="plugin\gme\higan\dsp">
|
||||
<UniqueIdentifier>{f792f43e-8052-49cb-a377-d6a59ee84a6d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="plugin\gme\higan\processor">
|
||||
<UniqueIdentifier>{da658fc7-ef8f-40d1-bf27-f43b018a7a98}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="plugin\gme\higan\processor\spc700">
|
||||
<UniqueIdentifier>{d193944b-dfc4-4e31-9b24-93230815c095}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="plugin\gme\higan\smp">
|
||||
<UniqueIdentifier>{dbf2c887-734f-4a7b-b20e-da7a33b8451e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="gme\gme.txt">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</Text>
|
||||
<Text Include="gme\license.txt">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</Text>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="GmeDecoder.h">
|
||||
<Filter>plugin</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Constants.h">
|
||||
<Filter>plugin</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="GmeDataStream.h">
|
||||
<Filter>plugin</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="GmeIndexerSource.h">
|
||||
<Filter>plugin</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\ymz280b.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Ymz280b_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Z80_Cpu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Z80_Cpu_run.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\adlib.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Ay_Apu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Ay_Core.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Ay_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\blargg_common.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\blargg_config.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\blargg_endian.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\blargg_errors.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\blargg_source.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Blip_Buffer.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Blip_Buffer_impl.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Blip_Buffer_impl2.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Bml_Parser.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\c140.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\C140_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Chip_Resampler.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Classic_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\dac_control.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Data_Reader.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\dbopl.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\divfix.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Downsampler.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Dual_Resampler.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Effects_Buffer.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\emuconfig.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Fir_Resampler.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\fm.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\fmopl.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Gb_Apu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Gb_Cpu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Gb_Cpu_run.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Gb_Oscs.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Gbs_Core.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Gbs_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\gme.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\gme_custom_dprintf.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Gme_File.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Gme_Loader.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Gym_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Hes_Apu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Hes_Apu_Adpcm.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Hes_Core.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Hes_Cpu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Hes_Cpu_run.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Hes_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\i_fmpac.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\i_fmunit.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\i_vrc7.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\k051649.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\K051649_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\k053260.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\K053260_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\k054539.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\K054539_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\kmsnddev.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Kss_Core.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Kss_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Kss_Scc_Apu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\M3u_Playlist.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\mamedef.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\mathdefs.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Multi_Buffer.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Music_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Nes_Apu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Nes_Cpu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Nes_Cpu_run.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Nes_Fds_Apu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Nes_Fme7_Apu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Nes_Mmc5_Apu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Nes_Namco_Apu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Nes_Oscs.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Nes_Vrc6_Apu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Nes_Vrc7_Apu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\nestypes.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Nsf_Core.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Nsf_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Nsf_Impl.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Nsfe_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\okim6258.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Okim6258_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\okim6295.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Okim6295_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Opl_Apu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\pwm.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Pwm_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\qmix.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Qsound_Apu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Resampler.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\rf5c68.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Rf5C68_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Rf5C164_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Rom_Data.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\s_deltat.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\s_logtbl.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\s_opl.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\s_opltbl.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Sap_Apu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Sap_Core.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Sap_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\scd_pcm.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\segapcm.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\SegaPcm_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Sgc_Core.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Sgc_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Sgc_Impl.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Sms_Apu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Sms_Fm_Apu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Spc_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Spc_Filter.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Spc_Sfm.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Track_Filter.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Upsampler.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Vgm_Core.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Vgm_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\ym2151.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Ym2151_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Ym2203_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\ym2413.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Ym2413_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Ym2608_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Ym2610b_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Ym2612_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Ym3812_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\ymdeltat.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\Ymf262_Emu.h">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\higan\dsp\dsp.hpp">
|
||||
<Filter>plugin\gme\higan\dsp</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\higan\dsp\SPC_DSP.h">
|
||||
<Filter>plugin\gme\higan\dsp</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\higan\processor\spc700\memory.hpp">
|
||||
<Filter>plugin\gme\higan\processor\spc700</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\higan\processor\spc700\registers.hpp">
|
||||
<Filter>plugin\gme\higan\processor\spc700</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\higan\processor\spc700\spc700.hpp">
|
||||
<Filter>plugin\gme\higan\processor\spc700</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="gme\higan\smp\smp.hpp">
|
||||
<Filter>plugin\gme\higan\smp</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="GmeDataStream.cpp">
|
||||
<Filter>plugin</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GmeDecoder.cpp">
|
||||
<Filter>plugin</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GmeIndexerSource.cpp">
|
||||
<Filter>plugin</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="plugin.cpp">
|
||||
<Filter>plugin</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Ymz280b_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Z80_Cpu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Ay_Apu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Ay_Core.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Ay_Cpu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Ay_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\blargg_common.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\blargg_errors.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Blip_Buffer.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Bml_Parser.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\c140.c">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\C140_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Classic_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\dac_control.c">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Data_Reader.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\dbopl.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Downsampler.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Dual_Resampler.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Effects_Buffer.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Fir_Resampler.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\fm.c">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\fm2612.c">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\fmopl.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Gb_Apu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Gb_Cpu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Gb_Oscs.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Gbs_Core.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Gbs_Cpu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Gbs_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\gme.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\gme_custom_dprintf.c">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Gme_File.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Gme_Loader.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Gym_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Hes_Apu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Hes_Apu_Adpcm.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Hes_Core.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Hes_Cpu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Hes_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\k051649.c">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\K051649_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\k053260.c">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\K053260_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\k054539.c">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\K054539_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Kss_Core.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Kss_Cpu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Kss_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Kss_Scc_Apu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\M3u_Playlist.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Multi_Buffer.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Music_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Nes_Apu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Nes_Cpu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Nes_Fds_Apu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Nes_Fme7_Apu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Nes_Namco_Apu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Nes_Oscs.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Nes_Vrc6_Apu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Nes_Vrc7_Apu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Nsf_Core.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Nsf_Cpu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Nsf_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Nsf_Impl.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Nsfe_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\okim6258.c">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Okim6258_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\okim6295.c">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Okim6295_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Opl_Apu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\pwm.c">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Pwm_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\qmix.c">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Qsound_Apu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Resampler.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\rf5c68.c">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Rf5C68_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Rf5C164_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Rom_Data.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\s_deltat.c">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\s_logtbl.c">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\s_opl.c">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\s_opltbl.c">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Sap_Apu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Sap_Core.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Sap_Cpu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Sap_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\scd_pcm.c">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\segapcm.c">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\SegaPcm_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Sgc_Core.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Sgc_Cpu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Sgc_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Sgc_Impl.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Sms_Apu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Sms_Fm_Apu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Spc_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Spc_Filter.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Spc_Sfm.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Track_Filter.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Upsampler.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Vgm_Core.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Vgm_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\ym2151.c">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Ym2151_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Ym2203_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\ym2413.c">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Ym2413_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Ym2608_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Ym2610b_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Ym2612_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Ym3812_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\ymdeltat.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\Ymf262_Emu.cpp">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\ymz280b.c">
|
||||
<Filter>plugin\gme</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\higan\dsp\SPC_DSP.cpp">
|
||||
<Filter>plugin\gme\higan\dsp</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\higan\dsp\dsp.cpp">
|
||||
<Filter>plugin\gme\higan\dsp</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\higan\processor\spc700\spc700.cpp">
|
||||
<Filter>plugin\gme\higan\processor\spc700</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\higan\smp\smp.cpp">
|
||||
<Filter>plugin\gme\higan\smp</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="gme\higan\smp\timing.cpp">
|
||||
<Filter>plugin\gme\higan\smp</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
849
src/plugins/libopenmptdecoder/libopenmptdecoder.vcxproj
Normal file
849
src/plugins/libopenmptdecoder/libopenmptdecoder.vcxproj
Normal file
@ -0,0 +1,849 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug-Con|Win32">
|
||||
<Configuration>Debug-Con</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug-Con|x64">
|
||||
<Configuration>Debug-Con</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug-DLL|Win32">
|
||||
<Configuration>Debug-DLL</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug-DLL|x64">
|
||||
<Configuration>Debug-DLL</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-Con|Win32">
|
||||
<Configuration>Release-Con</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-Con|x64">
|
||||
<Configuration>Release-Con</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-DLL|Win32">
|
||||
<Configuration>Release-DLL</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-DLL|x64">
|
||||
<Configuration>Release-DLL</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{89fd1021-21b5-44eb-bdbe-70381ade8522}</ProjectGuid>
|
||||
<RootNamespace>gmedecoder</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-DLL|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Con|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-DLL|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Con|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-DLL|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Con|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-DLL|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Con|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-DLL|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Con|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-DLL|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Con|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-DLL|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Con|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-DLL|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Con|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.25123.0</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>$(SolutionDir)/bin32/$(Configuration)/plugins/</OutDir>
|
||||
<IntDir>./obj32/$(Configuration)/</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-DLL|Win32'">
|
||||
<OutDir>$(SolutionDir)/bin32/$(Configuration)/plugins/</OutDir>
|
||||
<IntDir>./obj32/$(Configuration)/</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Con|Win32'">
|
||||
<OutDir>$(SolutionDir)/bin32/$(Configuration)/plugins/</OutDir>
|
||||
<IntDir>./obj32/$(Configuration)/</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
<OutDir>$(SolutionDir)/bin64/$(Configuration)/plugins/</OutDir>
|
||||
<IntDir>./obj64/$(Configuration)/</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-DLL|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
<OutDir>$(SolutionDir)/bin64/$(Configuration)/plugins/</OutDir>
|
||||
<IntDir>./obj64/$(Configuration)/</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Con|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
<OutDir>$(SolutionDir)/bin64/$(Configuration)/plugins/</OutDir>
|
||||
<IntDir>./obj64/$(Configuration)/</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>$(SolutionDir)/bin32/$(Configuration)/plugins/</OutDir>
|
||||
<IntDir>./obj32/$(Configuration)/</IntDir>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-DLL|Win32'">
|
||||
<OutDir>$(SolutionDir)/bin32/$(Configuration)/plugins/</OutDir>
|
||||
<IntDir>./obj32/$(Configuration)/</IntDir>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Con|Win32'">
|
||||
<OutDir>$(SolutionDir)/bin32/$(Configuration)/plugins/</OutDir>
|
||||
<IntDir>./obj32/$(Configuration)/</IntDir>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
<OutDir>$(SolutionDir)/bin64/$(Configuration)/plugins/</OutDir>
|
||||
<IntDir>./obj64/$(Configuration)/</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-DLL|x64'">
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
<OutDir>$(SolutionDir)/bin64/$(Configuration)/plugins/</OutDir>
|
||||
<IntDir>./obj64/$(Configuration)/</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Con|x64'">
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
<OutDir>$(SolutionDir)/bin64/$(Configuration)/plugins/</OutDir>
|
||||
<IntDir>./obj64/$(Configuration)/</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>../..;./gme/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-DLL|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>../..;./gme/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Con|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>../..;./gme/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>../..;./gme/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-DLL|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>../..;./gme/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Con|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>../..;./gme/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>../..;./gme/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat />
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<Optimization>Full</Optimization>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<FullProgramDatabaseFile>false</FullProgramDatabaseFile>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-DLL|Win32'">
|
||||
<ClCompile>
|
||||
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>../..;./gme/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>
|
||||
</DebugInformationFormat>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<Optimization>Full</Optimization>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<FullProgramDatabaseFile>false</FullProgramDatabaseFile>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Con|Win32'">
|
||||
<ClCompile>
|
||||
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>../..;./gme/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>
|
||||
</DebugInformationFormat>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<Optimization>Full</Optimization>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<FullProgramDatabaseFile>false</FullProgramDatabaseFile>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>../..;./gme/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>
|
||||
</DebugInformationFormat>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<Optimization>Full</Optimization>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<FullProgramDatabaseFile>false</FullProgramDatabaseFile>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-DLL|x64'">
|
||||
<ClCompile>
|
||||
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>../..;./gme/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>
|
||||
</DebugInformationFormat>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<Optimization>Full</Optimization>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<FullProgramDatabaseFile>false</FullProgramDatabaseFile>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Con|x64'">
|
||||
<ClCompile>
|
||||
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>../..;./gme/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>
|
||||
</DebugInformationFormat>
|
||||
<AssemblerListingLocation>$(IntDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<Optimization>Full</Optimization>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<FullProgramDatabaseFile>false</FullProgramDatabaseFile>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="gme\gme.txt" />
|
||||
<Text Include="gme\license.txt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="Constants.h" />
|
||||
<ClInclude Include="GmeDataStream.h" />
|
||||
<ClInclude Include="GmeDecoder.h" />
|
||||
<ClInclude Include="GmeIndexerSource.h" />
|
||||
<ClInclude Include="gme\adlib.h" />
|
||||
<ClInclude Include="gme\Ay_Apu.h" />
|
||||
<ClInclude Include="gme\Ay_Core.h" />
|
||||
<ClInclude Include="gme\Ay_Emu.h" />
|
||||
<ClInclude Include="gme\blargg_common.h" />
|
||||
<ClInclude Include="gme\blargg_config.h" />
|
||||
<ClInclude Include="gme\blargg_endian.h" />
|
||||
<ClInclude Include="gme\blargg_errors.h" />
|
||||
<ClInclude Include="gme\blargg_source.h" />
|
||||
<ClInclude Include="gme\Blip_Buffer.h" />
|
||||
<ClInclude Include="gme\Blip_Buffer_impl.h" />
|
||||
<ClInclude Include="gme\Blip_Buffer_impl2.h" />
|
||||
<ClInclude Include="gme\Bml_Parser.h" />
|
||||
<ClInclude Include="gme\c140.h" />
|
||||
<ClInclude Include="gme\C140_Emu.h" />
|
||||
<ClInclude Include="gme\Chip_Resampler.h" />
|
||||
<ClInclude Include="gme\Classic_Emu.h" />
|
||||
<ClInclude Include="gme\dac_control.h" />
|
||||
<ClInclude Include="gme\Data_Reader.h" />
|
||||
<ClInclude Include="gme\dbopl.h" />
|
||||
<ClInclude Include="gme\divfix.h" />
|
||||
<ClInclude Include="gme\Downsampler.h" />
|
||||
<ClInclude Include="gme\Dual_Resampler.h" />
|
||||
<ClInclude Include="gme\Effects_Buffer.h" />
|
||||
<ClInclude Include="gme\emuconfig.h" />
|
||||
<ClInclude Include="gme\Fir_Resampler.h" />
|
||||
<ClInclude Include="gme\fm.h" />
|
||||
<ClInclude Include="gme\fmopl.h" />
|
||||
<ClInclude Include="gme\Gbs_Core.h" />
|
||||
<ClInclude Include="gme\Gbs_Emu.h" />
|
||||
<ClInclude Include="gme\Gb_Apu.h" />
|
||||
<ClInclude Include="gme\Gb_Cpu.h" />
|
||||
<ClInclude Include="gme\Gb_Cpu_run.h" />
|
||||
<ClInclude Include="gme\Gb_Oscs.h" />
|
||||
<ClInclude Include="gme\gme.h" />
|
||||
<ClInclude Include="gme\gme_custom_dprintf.h" />
|
||||
<ClInclude Include="gme\Gme_File.h" />
|
||||
<ClInclude Include="gme\Gme_Loader.h" />
|
||||
<ClInclude Include="gme\Gym_Emu.h" />
|
||||
<ClInclude Include="gme\Hes_Apu.h" />
|
||||
<ClInclude Include="gme\Hes_Apu_Adpcm.h" />
|
||||
<ClInclude Include="gme\Hes_Core.h" />
|
||||
<ClInclude Include="gme\Hes_Cpu.h" />
|
||||
<ClInclude Include="gme\Hes_Cpu_run.h" />
|
||||
<ClInclude Include="gme\Hes_Emu.h" />
|
||||
<ClInclude Include="gme\higan\dsp\dsp.hpp" />
|
||||
<ClInclude Include="gme\higan\dsp\SPC_DSP.h" />
|
||||
<ClInclude Include="gme\higan\processor\spc700\memory.hpp" />
|
||||
<ClInclude Include="gme\higan\processor\spc700\registers.hpp" />
|
||||
<ClInclude Include="gme\higan\processor\spc700\spc700.hpp" />
|
||||
<ClInclude Include="gme\higan\smp\smp.hpp" />
|
||||
<ClInclude Include="gme\i_fmpac.h" />
|
||||
<ClInclude Include="gme\i_fmunit.h" />
|
||||
<ClInclude Include="gme\i_vrc7.h" />
|
||||
<ClInclude Include="gme\k051649.h" />
|
||||
<ClInclude Include="gme\K051649_Emu.h" />
|
||||
<ClInclude Include="gme\k053260.h" />
|
||||
<ClInclude Include="gme\K053260_Emu.h" />
|
||||
<ClInclude Include="gme\k054539.h" />
|
||||
<ClInclude Include="gme\K054539_Emu.h" />
|
||||
<ClInclude Include="gme\kmsnddev.h" />
|
||||
<ClInclude Include="gme\Kss_Core.h" />
|
||||
<ClInclude Include="gme\Kss_Emu.h" />
|
||||
<ClInclude Include="gme\Kss_Scc_Apu.h" />
|
||||
<ClInclude Include="gme\M3u_Playlist.h" />
|
||||
<ClInclude Include="gme\mamedef.h" />
|
||||
<ClInclude Include="gme\mathdefs.h" />
|
||||
<ClInclude Include="gme\Multi_Buffer.h" />
|
||||
<ClInclude Include="gme\Music_Emu.h" />
|
||||
<ClInclude Include="gme\nestypes.h" />
|
||||
<ClInclude Include="gme\Nes_Apu.h" />
|
||||
<ClInclude Include="gme\Nes_Cpu.h" />
|
||||
<ClInclude Include="gme\Nes_Cpu_run.h" />
|
||||
<ClInclude Include="gme\Nes_Fds_Apu.h" />
|
||||
<ClInclude Include="gme\Nes_Fme7_Apu.h" />
|
||||
<ClInclude Include="gme\Nes_Mmc5_Apu.h" />
|
||||
<ClInclude Include="gme\Nes_Namco_Apu.h" />
|
||||
<ClInclude Include="gme\Nes_Oscs.h" />
|
||||
<ClInclude Include="gme\Nes_Vrc6_Apu.h" />
|
||||
<ClInclude Include="gme\Nes_Vrc7_Apu.h" />
|
||||
<ClInclude Include="gme\Nsfe_Emu.h" />
|
||||
<ClInclude Include="gme\Nsf_Core.h" />
|
||||
<ClInclude Include="gme\Nsf_Emu.h" />
|
||||
<ClInclude Include="gme\Nsf_Impl.h" />
|
||||
<ClInclude Include="gme\okim6258.h" />
|
||||
<ClInclude Include="gme\Okim6258_Emu.h" />
|
||||
<ClInclude Include="gme\okim6295.h" />
|
||||
<ClInclude Include="gme\Okim6295_Emu.h" />
|
||||
<ClInclude Include="gme\Opl_Apu.h" />
|
||||
<ClInclude Include="gme\pwm.h" />
|
||||
<ClInclude Include="gme\Pwm_Emu.h" />
|
||||
<ClInclude Include="gme\qmix.h" />
|
||||
<ClInclude Include="gme\Qsound_Apu.h" />
|
||||
<ClInclude Include="gme\Resampler.h" />
|
||||
<ClInclude Include="gme\Rf5C164_Emu.h" />
|
||||
<ClInclude Include="gme\rf5c68.h" />
|
||||
<ClInclude Include="gme\Rf5C68_Emu.h" />
|
||||
<ClInclude Include="gme\Rom_Data.h" />
|
||||
<ClInclude Include="gme\Sap_Apu.h" />
|
||||
<ClInclude Include="gme\Sap_Core.h" />
|
||||
<ClInclude Include="gme\Sap_Emu.h" />
|
||||
<ClInclude Include="gme\scd_pcm.h" />
|
||||
<ClInclude Include="gme\segapcm.h" />
|
||||
<ClInclude Include="gme\SegaPcm_Emu.h" />
|
||||
<ClInclude Include="gme\Sgc_Core.h" />
|
||||
<ClInclude Include="gme\Sgc_Emu.h" />
|
||||
<ClInclude Include="gme\Sgc_Impl.h" />
|
||||
<ClInclude Include="gme\Sms_Apu.h" />
|
||||
<ClInclude Include="gme\Sms_Fm_Apu.h" />
|
||||
<ClInclude Include="gme\Spc_Emu.h" />
|
||||
<ClInclude Include="gme\Spc_Filter.h" />
|
||||
<ClInclude Include="gme\Spc_Sfm.h" />
|
||||
<ClInclude Include="gme\s_deltat.h" />
|
||||
<ClInclude Include="gme\s_logtbl.h" />
|
||||
<ClInclude Include="gme\s_opl.h" />
|
||||
<ClInclude Include="gme\s_opltbl.h" />
|
||||
<ClInclude Include="gme\Track_Filter.h" />
|
||||
<ClInclude Include="gme\Upsampler.h" />
|
||||
<ClInclude Include="gme\Vgm_Core.h" />
|
||||
<ClInclude Include="gme\Vgm_Emu.h" />
|
||||
<ClInclude Include="gme\ym2151.h" />
|
||||
<ClInclude Include="gme\Ym2151_Emu.h" />
|
||||
<ClInclude Include="gme\Ym2203_Emu.h" />
|
||||
<ClInclude Include="gme\ym2413.h" />
|
||||
<ClInclude Include="gme\Ym2413_Emu.h" />
|
||||
<ClInclude Include="gme\Ym2608_Emu.h" />
|
||||
<ClInclude Include="gme\Ym2610b_Emu.h" />
|
||||
<ClInclude Include="gme\Ym2612_Emu.h" />
|
||||
<ClInclude Include="gme\Ym3812_Emu.h" />
|
||||
<ClInclude Include="gme\ymdeltat.h" />
|
||||
<ClInclude Include="gme\Ymf262_Emu.h" />
|
||||
<ClInclude Include="gme\ymz280b.h" />
|
||||
<ClInclude Include="gme\Ymz280b_Emu.h" />
|
||||
<ClInclude Include="gme\Z80_Cpu.h" />
|
||||
<ClInclude Include="gme\Z80_Cpu_run.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="GmeDataStream.cpp" />
|
||||
<ClCompile Include="GmeDecoder.cpp" />
|
||||
<ClCompile Include="GmeIndexerSource.cpp" />
|
||||
<ClCompile Include="gme\Ay_Apu.cpp" />
|
||||
<ClCompile Include="gme\Ay_Core.cpp" />
|
||||
<ClCompile Include="gme\Ay_Cpu.cpp" />
|
||||
<ClCompile Include="gme\Ay_Emu.cpp" />
|
||||
<ClCompile Include="gme\blargg_common.cpp" />
|
||||
<ClCompile Include="gme\blargg_errors.cpp" />
|
||||
<ClCompile Include="gme\Blip_Buffer.cpp" />
|
||||
<ClCompile Include="gme\Bml_Parser.cpp" />
|
||||
<ClCompile Include="gme\c140.c" />
|
||||
<ClCompile Include="gme\C140_Emu.cpp" />
|
||||
<ClCompile Include="gme\Classic_Emu.cpp" />
|
||||
<ClCompile Include="gme\dac_control.c" />
|
||||
<ClCompile Include="gme\Data_Reader.cpp" />
|
||||
<ClCompile Include="gme\dbopl.cpp" />
|
||||
<ClCompile Include="gme\Downsampler.cpp" />
|
||||
<ClCompile Include="gme\Dual_Resampler.cpp" />
|
||||
<ClCompile Include="gme\Effects_Buffer.cpp" />
|
||||
<ClCompile Include="gme\Fir_Resampler.cpp" />
|
||||
<ClCompile Include="gme\fm.c" />
|
||||
<ClCompile Include="gme\fm2612.c" />
|
||||
<ClCompile Include="gme\fmopl.cpp" />
|
||||
<ClCompile Include="gme\Gbs_Core.cpp" />
|
||||
<ClCompile Include="gme\Gbs_Cpu.cpp" />
|
||||
<ClCompile Include="gme\Gbs_Emu.cpp" />
|
||||
<ClCompile Include="gme\Gb_Apu.cpp" />
|
||||
<ClCompile Include="gme\Gb_Cpu.cpp" />
|
||||
<ClCompile Include="gme\Gb_Oscs.cpp" />
|
||||
<ClCompile Include="gme\gme.cpp" />
|
||||
<ClCompile Include="gme\gme_custom_dprintf.c" />
|
||||
<ClCompile Include="gme\Gme_File.cpp" />
|
||||
<ClCompile Include="gme\Gme_Loader.cpp" />
|
||||
<ClCompile Include="gme\Gym_Emu.cpp" />
|
||||
<ClCompile Include="gme\Hes_Apu.cpp" />
|
||||
<ClCompile Include="gme\Hes_Apu_Adpcm.cpp" />
|
||||
<ClCompile Include="gme\Hes_Core.cpp" />
|
||||
<ClCompile Include="gme\Hes_Cpu.cpp" />
|
||||
<ClCompile Include="gme\Hes_Emu.cpp" />
|
||||
<ClCompile Include="gme\higan\dsp\dsp.cpp" />
|
||||
<ClCompile Include="gme\higan\dsp\SPC_DSP.cpp" />
|
||||
<ClCompile Include="gme\higan\processor\spc700\spc700.cpp" />
|
||||
<ClCompile Include="gme\higan\smp\smp.cpp" />
|
||||
<ClCompile Include="gme\higan\smp\timing.cpp" />
|
||||
<ClCompile Include="gme\k051649.c" />
|
||||
<ClCompile Include="gme\K051649_Emu.cpp" />
|
||||
<ClCompile Include="gme\k053260.c" />
|
||||
<ClCompile Include="gme\K053260_Emu.cpp" />
|
||||
<ClCompile Include="gme\k054539.c" />
|
||||
<ClCompile Include="gme\K054539_Emu.cpp" />
|
||||
<ClCompile Include="gme\Kss_Core.cpp" />
|
||||
<ClCompile Include="gme\Kss_Cpu.cpp" />
|
||||
<ClCompile Include="gme\Kss_Emu.cpp" />
|
||||
<ClCompile Include="gme\Kss_Scc_Apu.cpp" />
|
||||
<ClCompile Include="gme\M3u_Playlist.cpp" />
|
||||
<ClCompile Include="gme\Multi_Buffer.cpp" />
|
||||
<ClCompile Include="gme\Music_Emu.cpp" />
|
||||
<ClCompile Include="gme\Nes_Apu.cpp" />
|
||||
<ClCompile Include="gme\Nes_Cpu.cpp" />
|
||||
<ClCompile Include="gme\Nes_Fds_Apu.cpp" />
|
||||
<ClCompile Include="gme\Nes_Fme7_Apu.cpp" />
|
||||
<ClCompile Include="gme\Nes_Namco_Apu.cpp" />
|
||||
<ClCompile Include="gme\Nes_Oscs.cpp" />
|
||||
<ClCompile Include="gme\Nes_Vrc6_Apu.cpp" />
|
||||
<ClCompile Include="gme\Nes_Vrc7_Apu.cpp" />
|
||||
<ClCompile Include="gme\Nsfe_Emu.cpp" />
|
||||
<ClCompile Include="gme\Nsf_Core.cpp" />
|
||||
<ClCompile Include="gme\Nsf_Cpu.cpp" />
|
||||
<ClCompile Include="gme\Nsf_Emu.cpp" />
|
||||
<ClCompile Include="gme\Nsf_Impl.cpp" />
|
||||
<ClCompile Include="gme\okim6258.c" />
|
||||
<ClCompile Include="gme\Okim6258_Emu.cpp" />
|
||||
<ClCompile Include="gme\okim6295.c" />
|
||||
<ClCompile Include="gme\Okim6295_Emu.cpp" />
|
||||
<ClCompile Include="gme\Opl_Apu.cpp" />
|
||||
<ClCompile Include="gme\pwm.c" />
|
||||
<ClCompile Include="gme\Pwm_Emu.cpp" />
|
||||
<ClCompile Include="gme\qmix.c" />
|
||||
<ClCompile Include="gme\Qsound_Apu.cpp" />
|
||||
<ClCompile Include="gme\Resampler.cpp" />
|
||||
<ClCompile Include="gme\Rf5C164_Emu.cpp" />
|
||||
<ClCompile Include="gme\rf5c68.c" />
|
||||
<ClCompile Include="gme\Rf5C68_Emu.cpp" />
|
||||
<ClCompile Include="gme\Rom_Data.cpp" />
|
||||
<ClCompile Include="gme\Sap_Apu.cpp" />
|
||||
<ClCompile Include="gme\Sap_Core.cpp" />
|
||||
<ClCompile Include="gme\Sap_Cpu.cpp" />
|
||||
<ClCompile Include="gme\Sap_Emu.cpp" />
|
||||
<ClCompile Include="gme\scd_pcm.c" />
|
||||
<ClCompile Include="gme\segapcm.c" />
|
||||
<ClCompile Include="gme\SegaPcm_Emu.cpp" />
|
||||
<ClCompile Include="gme\Sgc_Core.cpp" />
|
||||
<ClCompile Include="gme\Sgc_Cpu.cpp" />
|
||||
<ClCompile Include="gme\Sgc_Emu.cpp" />
|
||||
<ClCompile Include="gme\Sgc_Impl.cpp" />
|
||||
<ClCompile Include="gme\Sms_Apu.cpp" />
|
||||
<ClCompile Include="gme\Sms_Fm_Apu.cpp" />
|
||||
<ClCompile Include="gme\Spc_Emu.cpp" />
|
||||
<ClCompile Include="gme\Spc_Filter.cpp" />
|
||||
<ClCompile Include="gme\Spc_Sfm.cpp" />
|
||||
<ClCompile Include="gme\s_deltat.c" />
|
||||
<ClCompile Include="gme\s_logtbl.c" />
|
||||
<ClCompile Include="gme\s_opl.c" />
|
||||
<ClCompile Include="gme\s_opltbl.c" />
|
||||
<ClCompile Include="gme\Track_Filter.cpp" />
|
||||
<ClCompile Include="gme\Upsampler.cpp" />
|
||||
<ClCompile Include="gme\Vgm_Core.cpp" />
|
||||
<ClCompile Include="gme\Vgm_Emu.cpp" />
|
||||
<ClCompile Include="gme\ym2151.c" />
|
||||
<ClCompile Include="gme\Ym2151_Emu.cpp" />
|
||||
<ClCompile Include="gme\Ym2203_Emu.cpp" />
|
||||
<ClCompile Include="gme\ym2413.c" />
|
||||
<ClCompile Include="gme\Ym2413_Emu.cpp" />
|
||||
<ClCompile Include="gme\Ym2608_Emu.cpp" />
|
||||
<ClCompile Include="gme\Ym2610b_Emu.cpp" />
|
||||
<ClCompile Include="gme\Ym2612_Emu.cpp" />
|
||||
<ClCompile Include="gme\Ym3812_Emu.cpp" />
|
||||
<ClCompile Include="gme\ymdeltat.cpp" />
|
||||
<ClCompile Include="gme\Ymf262_Emu.cpp" />
|
||||
<ClCompile Include="gme\ymz280b.c" />
|
||||
<ClCompile Include="gme\Ymz280b_Emu.cpp" />
|
||||
<ClCompile Include="gme\Z80_Cpu.cpp" />
|
||||
<ClCompile Include="plugin.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
93
src/plugins/libopenmptdecoder/plugin.cpp
Normal file
93
src/plugins/libopenmptdecoder/plugin.cpp
Normal file
@ -0,0 +1,93 @@
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (c) 2004-2019 musikcube team
|
||||
//
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright notice,
|
||||
// this list of conditions and the following disclaimer.
|
||||
//
|
||||
// * Redistributions in binary form must reproduce the above copyright
|
||||
// notice, this list of conditions and the following disclaimer in the
|
||||
// documentation and/or other materials provided with the distribution.
|
||||
//
|
||||
// * Neither the name of the author nor the names of other contributors may
|
||||
// be used to endorse or promote products derived from this software
|
||||
// without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
// POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include <core/sdk/constants.h>
|
||||
#include <core/sdk/IPlugin.h>
|
||||
#include <core/sdk/IDecoderFactory.h>
|
||||
#include <core/sdk/IDebug.h>
|
||||
#include "OpenMptDecoder.h"
|
||||
|
||||
#ifdef WIN32
|
||||
#include <Windows.h>
|
||||
#define DLLEXPORT __declspec(dllexport)
|
||||
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) {
|
||||
return true;
|
||||
}
|
||||
#else
|
||||
#define DLLEXPORT
|
||||
#endif
|
||||
|
||||
using namespace musik::core::sdk;
|
||||
|
||||
IDebug* debug = nullptr;
|
||||
|
||||
class OpenMptPlugin: public IPlugin {
|
||||
public:
|
||||
virtual void Release() { delete this; };
|
||||
virtual const char* Name() { return "libopenmpt IDecoder"; }
|
||||
virtual const char* Version() { return "0.1.0"; }
|
||||
virtual const char* Author() { return "clangen"; }
|
||||
virtual const char* Guid() { return "c367f42f-389a-4378-966c-1f96dad6a66a"; }
|
||||
virtual bool Configurable() { return false; }
|
||||
virtual void Configure() { }
|
||||
virtual void Reload() { }
|
||||
virtual int SdkVersion() { return musik::core::sdk::SdkVersion; }
|
||||
};
|
||||
|
||||
class OpenMptDecoderFactory: public IDecoderFactory {
|
||||
public:
|
||||
virtual IDecoder* CreateDecoder() override {
|
||||
return new OpenMptDecoder();
|
||||
}
|
||||
|
||||
virtual void Release() override {
|
||||
delete this;
|
||||
}
|
||||
|
||||
virtual bool CanHandle(const char* type) const override {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
extern "C" DLLEXPORT IPlugin* GetPlugin() {
|
||||
return new OpenMptPlugin();
|
||||
}
|
||||
|
||||
extern "C" DLLEXPORT IDecoderFactory* GetDecoderFactory() {
|
||||
return new OpenMptDecoderFactory();
|
||||
}
|
||||
|
||||
extern "C" DLLEXPORT void SetDebug(IDebug* debug) {
|
||||
::debug = debug;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user