diff options
author | Robin Gareus <robin@gareus.org> | 2016-04-12 02:18:20 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-04-12 02:18:20 +0200 |
commit | 7292989a5a6fa6e8a19ce1a5a0b72f537472d842 (patch) | |
tree | 6809a2f9cd3247b12ebf6f0ce8c41884baeb9437 /libs | |
parent | 3fef6a3b8d14305e76728b4c21aeaf04b8b4dbe3 (diff) |
some more windows bandaids for optimized builds
really this is getting UGLY.
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ardour/luabindings.cc | 32 | ||||
-rw-r--r-- | libs/lua/LuaBridge/detail/ClassInfo.h | 8 |
2 files changed, 37 insertions, 3 deletions
diff --git a/libs/ardour/luabindings.cc b/libs/ardour/luabindings.cc index a475416c19..9f35d038ad 100644 --- a/libs/ardour/luabindings.cc +++ b/libs/ardour/luabindings.cc @@ -102,8 +102,10 @@ luabridge::getIdentityKey () /* ...and this is the ugly part of it. * - * We need to foward declare classes from gtk2_ardour. - * This is needed because some of the classes use objects from libardour + * We need to foward declare classes from gtk2_ardour + * end explicily list classes which are used by gtk2_ardour's bindings. + * + * This is needed because some of the GUI classes use objects from libardour * as function parameters and the .exe would re-create symbols for libardour * objects. * @@ -143,6 +145,32 @@ CLASSKEYS(std::bitset<47ul>); // LuaSignal::LAST_SIGNAL CLASSKEYS(ArdourMarker*); CLASSKEYS(ARDOUR::RouteGroup); CLASSKEYS(ARDOUR::LuaProc); +CLASSKEYS(ARDOUR::DataType); +CLASSKEYS(ARDOUR::ChanCount); +CLASSKEYS(boost::shared_ptr<ARDOUR::Processor>); +CLASSKEYS(ARDOUR::ParameterDescriptor); +CLASSKEYS(boost::shared_ptr<ARDOUR::AutomationList>); +CLASSKEYS(boost::shared_ptr<Evoral::ControlList>); +CLASSKEYS(ARDOUR::LuaOSC::Address); +CLASSKEYS(ARDOUR::Session); +CLASSKEYS(ARDOUR::BufferSet); +CLASSKEYS(ARDOUR::ChanMapping); +CLASSKEYS(ARDOUR::DSP::DspShm); +CLASSKEYS(PBD::ID); +CLASSKEYS(ARDOUR::Location); +CLASSKEYS(ARDOUR::PluginInfo); +CLASSKEYS(PBD::PropertyChange); +CLASSKEYS(std::vector<std::string>); +CLASSKEYS(std::list<boost::shared_ptr<ARDOUR::Route> >); +CLASSKEYS(boost::shared_ptr<ARDOUR::PluginInfo>); +CLASSKEYS(boost::shared_ptr<ARDOUR::Region>); +CLASSKEYS(boost::weak_ptr<ARDOUR::Route>); +CLASSKEYS(std::list<boost::shared_ptr<ARDOUR::Region> >); +CLASSKEYS(std::list<ARDOUR::AudioRange>); +CLASSKEYS(Evoral::Beats); +CLASSKEYS(ARDOUR::AudioEngine); +CLASSKEYS(void); +CLASSKEYS(float); #endif // end windows special case diff --git a/libs/lua/LuaBridge/detail/ClassInfo.h b/libs/lua/LuaBridge/detail/ClassInfo.h index 2a0ab001fd..c64637d017 100644 --- a/libs/lua/LuaBridge/detail/ClassInfo.h +++ b/libs/lua/LuaBridge/detail/ClassInfo.h @@ -26,6 +26,12 @@ */ //============================================================================== +#ifdef COMPILER_MSVC +# define LuaBridge_API __declspec(dllexport) +#else +# define LuaBridge_API // mingw is sane WRT to static class members +#endif + /** Unique Lua registry keys for a class. Each registered class inserts three keys into the registry, whose @@ -33,7 +39,7 @@ allows a quick and reliable lookup for a metatable from a template type. */ template <class T> -class ClassInfo +class LuaBridge_API ClassInfo { public: #ifdef PLATFORM_WINDOWS |