diff options
-rw-r--r-- | libs/ardour/ardour/ardour.h | 8 | ||||
-rw-r--r-- | libs/ardour/ardour/automatable_sequence.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/comparable_shared_ptr.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/configuration_variable.h | 10 | ||||
-rw-r--r-- | libs/ardour/ardour/directory_names.h | 1 | ||||
-rw-r--r-- | libs/ardour/ardour/export_format_base.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/midi_model.h | 8 | ||||
-rw-r--r-- | libs/ardour/ardour/midi_ring_buffer.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/monitor_processor.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/revision.h | 7 | ||||
-rw-r--r-- | libs/ardour/ardour/session.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/visibility.h | 73 |
12 files changed, 99 insertions, 20 deletions
diff --git a/libs/ardour/ardour/ardour.h b/libs/ardour/ardour/ardour.h index 90a6272fac..5e747f5665 100644 --- a/libs/ardour/ardour/ardour.h +++ b/libs/ardour/ardour/ardour.h @@ -49,8 +49,8 @@ namespace ARDOUR { class AudioEngine; - LIBARDOUR_API extern PBD::Signal1<void,std::string> BootMessage; - LIBARDOUR_API extern PBD::Signal0<void> GUIIdle; + extern LIBARDOUR_API PBD::Signal1<void,std::string> BootMessage; + extern LIBARDOUR_API PBD::Signal0<void> GUIIdle; /** * @param with_vst true to enable VST Support @@ -66,9 +66,9 @@ namespace ARDOUR { LIBARDOUR_API bool no_auto_connect (); LIBARDOUR_API void make_property_quarks (); - LIBARDOUR_API extern PBD::PropertyChange bounds_change; + extern LIBARDOUR_API PBD::PropertyChange bounds_change; - LIBARDOUR_API extern const char* const ardour_config_info; + extern /*LIBARDOUR_API*/ const char* const ardour_config_info; LIBARDOUR_API void find_bindings_files (std::map<std::string,std::string>&); diff --git a/libs/ardour/ardour/automatable_sequence.h b/libs/ardour/ardour/automatable_sequence.h index 82a1d367e8..b0003189a4 100644 --- a/libs/ardour/ardour/automatable_sequence.h +++ b/libs/ardour/ardour/automatable_sequence.h @@ -27,7 +27,7 @@ namespace ARDOUR { /** Contains notes and controllers */ template<typename T> -class LIBARDOUR_API AutomatableSequence : public Automatable, public Evoral::Sequence<T> { +class /*LIBARDOUR_API*/ AutomatableSequence : public Automatable, public Evoral::Sequence<T> { public: AutomatableSequence(Session& s) : Evoral::ControlSet() diff --git a/libs/ardour/ardour/comparable_shared_ptr.h b/libs/ardour/ardour/comparable_shared_ptr.h index 0aaacd6659..f5e9cd346a 100644 --- a/libs/ardour/ardour/comparable_shared_ptr.h +++ b/libs/ardour/ardour/comparable_shared_ptr.h @@ -26,7 +26,7 @@ namespace ARDOUR { template<typename T> -class LIBARDOUR_API ComparableSharedPtr : public boost::shared_ptr<T> +class /*LIBARDOUR_API*/ ComparableSharedPtr : public boost::shared_ptr<T> , public boost::less_than_comparable<ComparableSharedPtr<T> > { public: diff --git a/libs/ardour/ardour/configuration_variable.h b/libs/ardour/ardour/configuration_variable.h index a126264929..7a83c34c3f 100644 --- a/libs/ardour/ardour/configuration_variable.h +++ b/libs/ardour/ardour/configuration_variable.h @@ -52,7 +52,7 @@ class LIBARDOUR_API ConfigVariableBase { }; template<class T> -class LIBARDOUR_API ConfigVariable : public ConfigVariableBase +class /*LIBARDOUR_API*/ ConfigVariable : public ConfigVariableBase { public: @@ -92,7 +92,7 @@ class LIBARDOUR_API ConfigVariable : public ConfigVariableBase /** Specialisation of ConfigVariable for std::string to cope with whitespace properly */ template<> -class LIBARDOUR_API ConfigVariable<std::string> : public ConfigVariableBase +class /*LIBARDOUR_API*/ ConfigVariable<std::string> : public ConfigVariableBase { public: @@ -127,7 +127,7 @@ class LIBARDOUR_API ConfigVariable<std::string> : public ConfigVariableBase }; template<> -class LIBARDOUR_API ConfigVariable<bool> : public ConfigVariableBase +class /*LIBARDOUR_API*/ ConfigVariable<bool> : public ConfigVariableBase { public: @@ -164,7 +164,7 @@ class LIBARDOUR_API ConfigVariable<bool> : public ConfigVariableBase }; template<class T> -class LIBARDOUR_API ConfigVariableWithMutation : public ConfigVariable<T> +class /*LIBARDOUR_API*/ ConfigVariableWithMutation : public ConfigVariable<T> { public: ConfigVariableWithMutation (std::string name, T val, T (*m)(T)) @@ -193,7 +193,7 @@ class LIBARDOUR_API ConfigVariableWithMutation : public ConfigVariable<T> }; template<> -class LIBARDOUR_API ConfigVariableWithMutation<std::string> : public ConfigVariable<std::string> +class /*LIBARDOUR_API*/ ConfigVariableWithMutation<std::string> : public ConfigVariable<std::string> { public: ConfigVariableWithMutation (std::string name, std::string val, std::string (*m)(std::string)) diff --git a/libs/ardour/ardour/directory_names.h b/libs/ardour/ardour/directory_names.h index db5d770739..17532e2a3a 100644 --- a/libs/ardour/ardour/directory_names.h +++ b/libs/ardour/ardour/directory_names.h @@ -39,6 +39,7 @@ namespace ARDOUR { LIBARDOUR_API extern const char* const templates_dir_name; LIBARDOUR_API extern const char* const route_templates_dir_name; LIBARDOUR_API extern const char* const surfaces_dir_name; + LIBARDOUR_API extern const char* const ladspa_dir_name; LIBARDOUR_API extern const char* const user_config_dir_name; LIBARDOUR_API extern const char* const panner_dir_name; LIBARDOUR_API extern const char* const backend_dir_name; diff --git a/libs/ardour/ardour/export_format_base.h b/libs/ardour/ardour/export_format_base.h index 7ffb433e1a..7f09d148fe 100644 --- a/libs/ardour/ardour/export_format_base.h +++ b/libs/ardour/ardour/export_format_base.h @@ -114,7 +114,7 @@ class LIBARDOUR_API ExportFormatBase { }; /// Class for managing selection and compatibility states - class SelectableCompatible { + class LIBARDOUR_API SelectableCompatible { public: SelectableCompatible () : _selected (false), _compatible (true) { } diff --git a/libs/ardour/ardour/midi_model.h b/libs/ardour/ardour/midi_model.h index e76a993b41..dc1c7af0e9 100644 --- a/libs/ardour/ardour/midi_model.h +++ b/libs/ardour/ardour/midi_model.h @@ -58,7 +58,7 @@ public: NoteMode note_mode() const { return (percussive() ? Percussive : Sustained); } void set_note_mode(NoteMode mode) { set_percussive(mode == Percussive); }; - class DiffCommand : public Command { + class LIBARDOUR_API DiffCommand : public Command { public: DiffCommand (boost::shared_ptr<MidiModel> m, const std::string& name); @@ -79,7 +79,7 @@ public: }; - class NoteDiffCommand : public DiffCommand { + class LIBARDOUR_API NoteDiffCommand : public DiffCommand { public: NoteDiffCommand (boost::shared_ptr<MidiModel> m, const std::string& name) : DiffCommand (m, name) {} @@ -145,7 +145,7 @@ public: }; /* Currently this class only supports changes of sys-ex time, but could be expanded */ - class SysExDiffCommand : public DiffCommand { + class LIBARDOUR_API SysExDiffCommand : public DiffCommand { public: SysExDiffCommand (boost::shared_ptr<MidiModel> m, const XMLNode& node); @@ -180,7 +180,7 @@ public: Change unmarshal_change (XMLNode *); }; - class PatchChangeDiffCommand : public DiffCommand { + class LIBARDOUR_API PatchChangeDiffCommand : public DiffCommand { public: PatchChangeDiffCommand (boost::shared_ptr<MidiModel>, const std::string &); PatchChangeDiffCommand (boost::shared_ptr<MidiModel>, const XMLNode &); diff --git a/libs/ardour/ardour/midi_ring_buffer.h b/libs/ardour/ardour/midi_ring_buffer.h index 2d35be679f..78d14b9185 100644 --- a/libs/ardour/ardour/midi_ring_buffer.h +++ b/libs/ardour/ardour/midi_ring_buffer.h @@ -41,7 +41,7 @@ class MidiBuffer; * [timestamp][type][size][size bytes of raw MIDI][timestamp][type][size](etc...) */ template<typename T> -class LIBARDOUR_API MidiRingBuffer : public Evoral::EventRingBuffer<T> { +class /*LIBARDOUR_API*/ MidiRingBuffer : public Evoral::EventRingBuffer<T> { public: /** @param size Size in bytes. */ diff --git a/libs/ardour/ardour/monitor_processor.h b/libs/ardour/ardour/monitor_processor.h index 41e911f57c..33b3e9c366 100644 --- a/libs/ardour/ardour/monitor_processor.h +++ b/libs/ardour/ardour/monitor_processor.h @@ -39,7 +39,7 @@ namespace ARDOUR { class Session; template<typename T> -class LIBARDOUR_API MPControl : public PBD::Controllable { +class /*LIBARDOUR_API*/ MPControl : public PBD::Controllable { public: MPControl (T initial, const std::string& name, PBD::Controllable::Flag flag, float lower = 0.0f, float upper = 1.0f) diff --git a/libs/ardour/ardour/revision.h b/libs/ardour/ardour/revision.h index 849a96fa07..7374c0839b 100644 --- a/libs/ardour/ardour/revision.h +++ b/libs/ardour/ardour/revision.h @@ -23,7 +23,12 @@ #include "ardour/libardour_visibility.h" namespace ARDOUR { - LIBARDOUR_API extern const char* revision; + + /*LIBARDOUR_API extern*/ extern const char* revision; + + extern "C" { + LIBARDOUR_API const char* get_ardour_revision(); + } } #endif diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index 08f4c1315a..7295828d2f 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -238,7 +238,7 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop return _bundles.reader (); } - struct RoutePublicOrderSorter { + struct LIBARDOUR_API RoutePublicOrderSorter { bool operator() (boost::shared_ptr<Route>, boost::shared_ptr<Route> b); }; diff --git a/libs/ardour/ardour/visibility.h b/libs/ardour/ardour/visibility.h new file mode 100644 index 0000000000..7f79dd6f2e --- /dev/null +++ b/libs/ardour/ardour/visibility.h @@ -0,0 +1,73 @@ +/* + Copyright (C) 2013 Paul Davis + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +*/ + +#ifndef __libardour_visibility_h__ +#define __libardour_visibility_h__ + +#include "ardour/libardour_visibility.h" + +#ifdef LIBARDOUR_IS_IN_WIN_STATIC_LIB // #define if your project uses libardour (under Windows) as a static library +#define LIBARDOUR_IS_IN_WINDLL 0 +#endif + +#if !defined(LIBARDOUR_IS_IN_WINDLL) + #if defined(COMPILER_MSVC) || defined(COMPILER_MINGW) + // If you need '__declspec' compatibility, add extra compilers to the above as necessary + #define LIBARDOUR_IS_IN_WINDLL 1 + #else + #define LIBARDOUR_IS_IN_WINDLL 0 + #endif +#endif + +#if LIBARDOUR_IS_IN_WINDLL && !defined(LIBARDOUR_API) + #if defined(BUILDING_LIBARDOUR) + #define LIBARDOUR_APICALLTYPE __cdecl + #elif defined(COMPILER_MSVC) || defined(COMPILER_MINGW) // Probably needs Cygwin too, at some point + #define LIBARDOUR_APICALLTYPE __cdecl + #else + #error "Attempting to define __declspec with an incompatible compiler !" + #endif +#elif !defined(LIBARDOUR_APICALLTYPE) + // Other compilers / platforms could be accommodated here (as an example, see LIBARDOUR_HELPER_DLL, below) + #define LIBARDOUR_APICALLTYPE +#endif + + +/* _WIN32 is defined by most compilers targetting Windows, but within the + * ardour source tree, we also define COMPILER_MSVC or COMPILER_MINGW depending + * on how a Windows build is built. + */ + +#if defined _WIN32 || defined __CYGWIN__ || defined(COMPILER_MSVC) || defined(COMPILER_MINGW) + #define LIBARDOUR_HELPER_DLL_IMPORT __declspec(dllimport) + #define LIBARDOUR_HELPER_DLL_EXPORT __declspec(dllexport) + #define LIBARDOUR_HELPER_DLL_LOCAL +#else + #if __GNUC__ >= 4 + #define LIBARDOUR_HELPER_DLL_IMPORT __attribute__ ((visibility ("default"))) + #define LIBARDOUR_HELPER_DLL_EXPORT __attribute__ ((visibility ("default"))) + #define LIBARDOUR_HELPER_DLL_LOCAL __attribute__ ((visibility ("hidden"))) + #else + #define LIBARDOUR_HELPER_DLL_IMPORT + #define LIBARDOUR_HELPER_DLL_EXPORT + #define LIBARDOUR_HELPER_DLL_LOCAL + #endif +#endif + +#endif /* __libardour_visibility_h__ */ |