From: <man...@us...> - 2013-12-07 16:02:22
|
Revision: 3407 http://sourceforge.net/p/modplug/code/3407 Author: manxorist Date: 2013-12-07 16:02:16 +0000 (Sat, 07 Dec 2013) Log Message: ----------- [Mod] libopenmpt: Exclude libopenmpt_interactive from unix build. [Mod] libopenmpt: Guard libopenmpt_interactive with a #define LIBOPENMPT_INTERACTIVE_IS_EXPERIMENTAL . Disable public API symbol exporting so that is only usable as a statically linked library for now. [Ref] xmp-openmpt: Move to libopenmpt_interactive interface. Modified Paths: -------------- trunk/OpenMPT/Makefile trunk/OpenMPT/libopenmpt/libopenmpt_impl.hpp trunk/OpenMPT/libopenmpt/libopenmpt_interactive.cpp trunk/OpenMPT/libopenmpt/libopenmpt_interactive.hpp trunk/OpenMPT/libopenmpt/xmp-openmpt.cpp Modified: trunk/OpenMPT/Makefile =================================================================== --- trunk/OpenMPT/Makefile 2013-12-07 15:58:55 UTC (rev 3406) +++ trunk/OpenMPT/Makefile 2013-12-07 16:02:16 UTC (rev 3407) @@ -247,7 +247,6 @@ libopenmpt/libopenmpt_c.cpp \ libopenmpt/libopenmpt_cxx.cpp \ libopenmpt/libopenmpt_impl.cpp \ - libopenmpt/libopenmpt_interactive.cpp \ ifeq ($(NO_ZLIB),1) LIBOPENMPT_C_SOURCES += include/miniz/miniz.c Modified: trunk/OpenMPT/libopenmpt/libopenmpt_impl.hpp =================================================================== --- trunk/OpenMPT/libopenmpt/libopenmpt_impl.hpp 2013-12-07 15:58:55 UTC (rev 3406) +++ trunk/OpenMPT/libopenmpt/libopenmpt_impl.hpp 2013-12-07 16:02:16 UTC (rev 3407) @@ -62,7 +62,7 @@ public: void PushToCSoundFileLog( const std::string & text ) const; void PushToCSoundFileLog( int loglevel, const std::string & text ) const; -private: +protected: std::string mod_string_to_utf8( const std::string & encoded ) const; void apply_mixer_settings( std::int32_t samplerate, int channels ); void apply_libopenmpt_defaults(); Modified: trunk/OpenMPT/libopenmpt/libopenmpt_interactive.cpp =================================================================== --- trunk/OpenMPT/libopenmpt/libopenmpt_interactive.cpp 2013-12-07 15:58:55 UTC (rev 3406) +++ trunk/OpenMPT/libopenmpt/libopenmpt_interactive.cpp 2013-12-07 16:02:16 UTC (rev 3407) @@ -1,6 +1,8 @@ #include "BuildSettings.h" +#define LIBOPENMPT_INTERACTIVE_IS_EXPERIMENTAL + #include "libopenmpt_internal.h" #include "libopenmpt_interactive.hpp" #include "libopenmpt_impl.hpp" Modified: trunk/OpenMPT/libopenmpt/libopenmpt_interactive.hpp =================================================================== --- trunk/OpenMPT/libopenmpt/libopenmpt_interactive.hpp 2013-12-07 15:58:55 UTC (rev 3406) +++ trunk/OpenMPT/libopenmpt/libopenmpt_interactive.hpp 2013-12-07 16:02:16 UTC (rev 3407) @@ -13,11 +13,17 @@ #include "libopenmpt_config.h" #include "libopenmpt.hpp" +#if !defined(LIBOPENMPT_INTERACTIVE_IS_EXPERIMENTAL) + +#error "libopenmpt_interactive is still completely experimental. The ABI and API WILL change. Use at your own risk, and use only internally for now. You have to #define LIBOPENMPT_INTERACTIVE_IS_EXPERIMENTAL to use it." + +#else // LIBOPENMPT_INTERACTIVE_IS_EXPERIMENTAL + namespace openmpt { class interactive_module_impl; -class LIBOPENMPT_CXX_API interactive_module : public module { +class /* LIBOPENMPT_CXX_API */ interactive_module : public module { private: interactive_module_impl * interactive_impl; @@ -41,8 +47,10 @@ -}; // class module +}; // class interactive_module } // namespace openmpt +#endif // LIBOPENMPT_INTERACTIVE_IS_EXPERIMENTAL + #endif // LIBOPENMPT_INTERACTIVE_HPP Modified: trunk/OpenMPT/libopenmpt/xmp-openmpt.cpp =================================================================== --- trunk/OpenMPT/libopenmpt/xmp-openmpt.cpp 2013-12-07 15:58:55 UTC (rev 3406) +++ trunk/OpenMPT/libopenmpt/xmp-openmpt.cpp 2013-12-07 16:02:16 UTC (rev 3407) @@ -19,7 +19,10 @@ #endif #endif // _MSC_VER +#define LIBOPENMPT_INTERACTIVE_IS_EXPERIMENTAL + #include "libopenmpt.hpp" +#include "libopenmpt_interactive.hpp" #include "libopenmpt_settings.hpp" @@ -85,7 +88,7 @@ std::size_t samplerate; std::size_t num_channels; openmpt::settings::settings settings; - openmpt::module * mod; + openmpt::interactive_module * mod; self_xmplay_t() : samplerate(48000), num_channels(2), settings(TEXT(SHORT_TITLE), false), mod(nullptr) { settings.changed = apply_and_save_options; settings.load(); @@ -580,7 +583,7 @@ #ifdef USE_XMPLAY_ISTREAM switch ( xmpffile->GetType( file ) ) { case XMPFILE_TYPE_MEMORY: - self->mod = new openmpt::module( xmpffile->GetMemory( file ), xmpffile->GetSize( file ) ); + self->mod = new openmpt::interactive_module( xmpffile->GetMemory( file ), xmpffile->GetSize( file ) ); break; case XMPFILE_TYPE_FILE: case XMPFILE_TYPE_NETFILE: @@ -588,19 +591,19 @@ default: { xmplay_istream stream( file ); - self->mod = new openmpt::module( stream ); + self->mod = new openmpt::interactive_module( stream ); } break; } #else if ( xmpffile->GetType( file ) == XMPFILE_TYPE_MEMORY ) { - self->mod = new openmpt::module( xmpffile->GetMemory( file ), xmpffile->GetSize( file ) ); + self->mod = new openmpt::interactive_module( xmpffile->GetMemory( file ), xmpffile->GetSize( file ) ); } else { - self->mod = new openmpt::module( (read_XMPFILE( file )) ); + self->mod = new openmpt::interactive_module( (read_XMPFILE( file )) ); } #endif #else - self->mod = new openmpt::module( std::ifstream( filename, std::ios_base::binary ) ); + self->mod = new openmpt::interactive_module( std::ifstream( filename, std::ios_base::binary ) ); #endif reset_timeinfos(); apply_options(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |