From 24d2b5ec9200bf46ccb42528560de4a02b7be516 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Thu, 17 Oct 2013 10:02:11 -0400 Subject: add export visibility macros across libardour --- libs/ardour/ardour/playlist.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libs/ardour/ardour/playlist.h') diff --git a/libs/ardour/ardour/playlist.h b/libs/ardour/ardour/playlist.h index 754e48cc25..95c9e739c6 100644 --- a/libs/ardour/ardour/playlist.h +++ b/libs/ardour/ardour/playlist.h @@ -58,7 +58,7 @@ namespace Properties { extern PBD::PropertyDescriptor regions; } -class RegionListProperty : public PBD::SequenceProperty > > +class LIBARDOUR_API RegionListProperty : public PBD::SequenceProperty > > { public: RegionListProperty (Playlist&); @@ -78,7 +78,7 @@ class RegionListProperty : public PBD::SequenceProperty +class LIBARDOUR_API Playlist : public SessionObject , public boost::enable_shared_from_this { public: static void make_property_quarks (); -- cgit v1.2.3 From f3d2ca0d9ac823d57af39d8d6a34c40e87fefa35 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Thu, 17 Oct 2013 12:41:28 -0400 Subject: get everything compiling with libardour built using -fvisibility=hidden --- gtk2_ardour/wscript | 3 +- libs/ardour/ardour/ardour.h | 32 +++++++------- libs/ardour/ardour/async_midi_port.h | 3 +- libs/ardour/ardour/audio_library.h | 2 +- libs/ardour/ardour/audioregion.h | 6 +-- libs/ardour/ardour/debug.h | 73 ++++++++++++++++--------------- libs/ardour/ardour/directory_names.h | 34 +++++++------- libs/ardour/ardour/filename_extensions.h | 20 +++++---- libs/ardour/ardour/filesystem_paths.h | 10 +++-- libs/ardour/ardour/linux_vst_support.h | 40 +++++++++-------- libs/ardour/ardour/midi_region.h | 6 +-- libs/ardour/ardour/operations.h | 28 ++++++------ libs/ardour/ardour/playlist.h | 2 +- libs/ardour/ardour/profile.h | 2 +- libs/ardour/ardour/rc_configuration.h | 4 +- libs/ardour/ardour/recent_sessions.h | 10 +++-- libs/ardour/ardour/region.h | 50 ++++++++++----------- libs/ardour/ardour/revision.h | 4 +- libs/ardour/ardour/route_group.h | 22 +++++----- libs/ardour/ardour/session_object.h | 2 +- libs/ardour/ardour/session_state_utils.h | 10 +++-- libs/ardour/ardour/session_utils.h | 4 +- libs/ardour/ardour/template_utils.h | 18 ++++---- libs/ardour/find_session.cc | 1 + libs/ardour/wscript | 5 ++- libs/gtkmm2ext/wscript | 2 +- libs/midi++2/wscript | 2 +- libs/pbd/pbd/stateful.h | 6 +-- libs/pbd/wscript | 2 +- waf | Bin 94786 -> 94860 bytes 30 files changed, 215 insertions(+), 188 deletions(-) (limited to 'libs/ardour/ardour/playlist.h') diff --git a/gtk2_ardour/wscript b/gtk2_ardour/wscript index ddc07fe3e7..ebc28ebf8f 100644 --- a/gtk2_ardour/wscript +++ b/gtk2_ardour/wscript @@ -265,7 +265,8 @@ def configure(conf): autowaf.build_version_files( path_prefix + 'version.h', path_prefix + 'version.cc', - 'gtk2_ardour', conf.env['MAJOR'], conf.env['MINOR'], 0) + 'gtk2_ardour', conf.env['MAJOR'], conf.env['MINOR'], 0, + '', '') autowaf.configure(conf) if re.search ("linux", sys.platform) != None: diff --git a/libs/ardour/ardour/ardour.h b/libs/ardour/ardour/ardour.h index fa525ed2d8..90a6272fac 100644 --- a/libs/ardour/ardour/ardour.h +++ b/libs/ardour/ardour/ardour.h @@ -49,8 +49,8 @@ namespace ARDOUR { class AudioEngine; - extern PBD::Signal1 BootMessage; - extern PBD::Signal0 GUIIdle; + LIBARDOUR_API extern PBD::Signal1 BootMessage; + LIBARDOUR_API extern PBD::Signal0 GUIIdle; /** * @param with_vst true to enable VST Support @@ -60,27 +60,27 @@ namespace ARDOUR { * * @return true if Ardour library was successfully initialized */ - bool init (bool with_vst, bool try_optimization, const char* localedir); - void init_post_engine (); - void cleanup (); - bool no_auto_connect (); - void make_property_quarks (); + LIBARDOUR_API bool init (bool with_vst, bool try_optimization, const char* localedir); + LIBARDOUR_API void init_post_engine (); + LIBARDOUR_API void cleanup (); + LIBARDOUR_API bool no_auto_connect (); + LIBARDOUR_API void make_property_quarks (); - extern PBD::PropertyChange bounds_change; + LIBARDOUR_API extern PBD::PropertyChange bounds_change; - extern const char* const ardour_config_info; + LIBARDOUR_API extern const char* const ardour_config_info; - void find_bindings_files (std::map&); + LIBARDOUR_API void find_bindings_files (std::map&); /* these only impact bundled installations */ - std::string translation_enable_path (); - bool translations_are_enabled (); - bool set_translations_enabled (bool); + LIBARDOUR_API std::string translation_enable_path (); + LIBARDOUR_API bool translations_are_enabled (); + LIBARDOUR_API bool set_translations_enabled (bool); - microseconds_t get_microseconds (); + LIBARDOUR_API microseconds_t get_microseconds (); - void setup_fpu (); - std::vector get_available_sync_options(); + LIBARDOUR_API void setup_fpu (); + LIBARDOUR_API std::vector get_available_sync_options(); } #endif /* __ardour_ardour_h__ */ diff --git a/libs/ardour/ardour/async_midi_port.h b/libs/ardour/ardour/async_midi_port.h index 76bdac0409..e7eeb8ee30 100644 --- a/libs/ardour/ardour/async_midi_port.h +++ b/libs/ardour/ardour/async_midi_port.h @@ -34,11 +34,12 @@ #include "midi++/parser.h" #include "midi++/port.h" +#include "ardour/libardour_visibility.h" #include "ardour/midi_port.h" namespace ARDOUR { - class AsyncMIDIPort : public ARDOUR::MidiPort, public MIDI::Port { +class LIBARDOUR_API AsyncMIDIPort : public ARDOUR::MidiPort, public MIDI::Port { public: AsyncMIDIPort (std::string const &, PortFlags); diff --git a/libs/ardour/ardour/audio_library.h b/libs/ardour/ardour/audio_library.h index cd9b38e9dc..6397821720 100644 --- a/libs/ardour/ardour/audio_library.h +++ b/libs/ardour/ardour/audio_library.h @@ -45,7 +45,7 @@ class LIBARDOUR_API AudioLibrary std::string src; }; -extern AudioLibrary* Library; +LIBARDOUR_API extern AudioLibrary* Library; } // ARDOUR namespace diff --git a/libs/ardour/ardour/audioregion.h b/libs/ardour/ardour/audioregion.h index a6cd22895c..a35532df43 100644 --- a/libs/ardour/ardour/audioregion.h +++ b/libs/ardour/ardour/audioregion.h @@ -238,9 +238,9 @@ class LIBARDOUR_API AudioRegion : public Region /* access from C objects */ extern "C" { - int region_read_peaks_from_c (void *arg, uint32_t npeaks, uint32_t start, uint32_t length, intptr_t data, uint32_t n_chan, double samples_per_unit); - uint32_t region_length_from_c (void *arg); - uint32_t sourcefile_length_from_c (void *arg, double); + LIBARDOUR_API int region_read_peaks_from_c (void *arg, uint32_t npeaks, uint32_t start, uint32_t length, intptr_t data, uint32_t n_chan, double samples_per_unit); + LIBARDOUR_API uint32_t region_length_from_c (void *arg); + LIBARDOUR_API uint32_t sourcefile_length_from_c (void *arg, double); } #endif /* __ardour_audio_region_h__ */ diff --git a/libs/ardour/ardour/debug.h b/libs/ardour/ardour/debug.h index 5811f7a484..c26710b620 100644 --- a/libs/ardour/ardour/debug.h +++ b/libs/ardour/ardour/debug.h @@ -24,46 +24,47 @@ #include +#include "ardour/libardour_visibility.h" #include "pbd/debug.h" namespace PBD { namespace DEBUG { - extern uint64_t MidiSourceIO; - extern uint64_t MidiPlaylistIO; - extern uint64_t MidiDiskstreamIO; - extern uint64_t SnapBBT; - extern uint64_t Configuration; - extern uint64_t Latency; - extern uint64_t Processors; - extern uint64_t ProcessThreads; - extern uint64_t Graph; - extern uint64_t Destruction; - extern uint64_t MTC; - extern uint64_t LTC; - extern uint64_t Transport; - extern uint64_t Slave; - extern uint64_t SessionEvents; - extern uint64_t MidiIO; - extern uint64_t MackieControl; - extern uint64_t MidiClock; - extern uint64_t Monitor; - extern uint64_t Solo; - extern uint64_t AudioPlayback; - extern uint64_t Panning; - extern uint64_t LV2; - extern uint64_t CaptureAlignment; - extern uint64_t PluginManager; - extern uint64_t AudioUnits; - extern uint64_t ControlProtocols; - extern uint64_t CycleTimers; - extern uint64_t MidiTrackers; - extern uint64_t Layering; - extern uint64_t TempoMath; - extern uint64_t TempoMap; - extern uint64_t OrderKeys; - extern uint64_t Automation; - extern uint64_t WiimoteControl; - extern uint64_t Ports; + LIBARDOUR_API extern uint64_t MidiSourceIO; + LIBARDOUR_API extern uint64_t MidiPlaylistIO; + LIBARDOUR_API extern uint64_t MidiDiskstreamIO; + LIBARDOUR_API extern uint64_t SnapBBT; + LIBARDOUR_API extern uint64_t Configuration; + LIBARDOUR_API extern uint64_t Latency; + LIBARDOUR_API extern uint64_t Processors; + LIBARDOUR_API extern uint64_t ProcessThreads; + LIBARDOUR_API extern uint64_t Graph; + LIBARDOUR_API extern uint64_t Destruction; + LIBARDOUR_API extern uint64_t MTC; + LIBARDOUR_API extern uint64_t LTC; + LIBARDOUR_API extern uint64_t Transport; + LIBARDOUR_API extern uint64_t Slave; + LIBARDOUR_API extern uint64_t SessionEvents; + LIBARDOUR_API extern uint64_t MidiIO; + LIBARDOUR_API extern uint64_t MackieControl; + LIBARDOUR_API extern uint64_t MidiClock; + LIBARDOUR_API extern uint64_t Monitor; + LIBARDOUR_API extern uint64_t Solo; + LIBARDOUR_API extern uint64_t AudioPlayback; + LIBARDOUR_API extern uint64_t Panning; + LIBARDOUR_API extern uint64_t LV2; + LIBARDOUR_API extern uint64_t CaptureAlignment; + LIBARDOUR_API extern uint64_t PluginManager; + LIBARDOUR_API extern uint64_t AudioUnits; + LIBARDOUR_API extern uint64_t ControlProtocols; + LIBARDOUR_API extern uint64_t CycleTimers; + LIBARDOUR_API extern uint64_t MidiTrackers; + LIBARDOUR_API extern uint64_t Layering; + LIBARDOUR_API extern uint64_t TempoMath; + LIBARDOUR_API extern uint64_t TempoMap; + LIBARDOUR_API extern uint64_t OrderKeys; + LIBARDOUR_API extern uint64_t Automation; + LIBARDOUR_API extern uint64_t WiimoteControl; + LIBARDOUR_API extern uint64_t Ports; } } diff --git a/libs/ardour/ardour/directory_names.h b/libs/ardour/ardour/directory_names.h index 935cdd977b..9eb2254219 100644 --- a/libs/ardour/ardour/directory_names.h +++ b/libs/ardour/ardour/directory_names.h @@ -21,24 +21,26 @@ #ifndef __ardour_directory_names_h__ #define __ardour_directory_names_h__ +#include "ardour/libardour_visibility.h" + namespace ARDOUR { -extern const char* const old_sound_dir_name; -extern const char* const sound_dir_name; -extern const char* const midi_dir_name; -extern const char* const midi_patch_dir_name; -extern const char* const video_dir_name; -extern const char* const dead_dir_name; -extern const char* const interchange_dir_name; -extern const char* const peak_dir_name; -extern const char* const export_dir_name; -extern const char* const export_formats_dir_name; -extern const char* const templates_dir_name; -extern const char* const route_templates_dir_name; -extern const char* const surfaces_dir_name; -extern const char* const user_config_dir_name; -extern const char* const panner_dir_name; -extern const char* const backend_dir_name; + LIBARDOUR_API extern const char* const old_sound_dir_name; + LIBARDOUR_API extern const char* const sound_dir_name; + LIBARDOUR_API extern const char* const midi_dir_name; + LIBARDOUR_API extern const char* const midi_patch_dir_name; + LIBARDOUR_API extern const char* const video_dir_name; + LIBARDOUR_API extern const char* const dead_dir_name; + LIBARDOUR_API extern const char* const interchange_dir_name; + LIBARDOUR_API extern const char* const peak_dir_name; + LIBARDOUR_API extern const char* const export_dir_name; + LIBARDOUR_API extern const char* const export_formats_dir_name; + 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 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/filename_extensions.h b/libs/ardour/ardour/filename_extensions.h index a7c9274c4a..c0725932fa 100644 --- a/libs/ardour/ardour/filename_extensions.h +++ b/libs/ardour/ardour/filename_extensions.h @@ -21,17 +21,19 @@ #ifndef __ardour_filename_extensions_h__ #define __ardour_filename_extensions_h__ +#include "ardour/libardour_visibility.h" + namespace ARDOUR { -extern const char* const template_suffix; -extern const char* const statefile_suffix; -extern const char* const pending_suffix; -extern const char* const peakfile_suffix; -extern const char* const backup_suffix; -extern const char* const temp_suffix; -extern const char* const history_suffix; -extern const char* const export_preset_suffix; -extern const char* const export_format_suffix; + LIBARDOUR_API extern const char* const template_suffix; + LIBARDOUR_API extern const char* const statefile_suffix; + LIBARDOUR_API extern const char* const pending_suffix; + LIBARDOUR_API extern const char* const peakfile_suffix; + LIBARDOUR_API extern const char* const backup_suffix; + LIBARDOUR_API extern const char* const temp_suffix; + LIBARDOUR_API extern const char* const history_suffix; + LIBARDOUR_API extern const char* const export_preset_suffix; + LIBARDOUR_API extern const char* const export_format_suffix; } diff --git a/libs/ardour/ardour/filesystem_paths.h b/libs/ardour/ardour/filesystem_paths.h index cfeb633597..b96cd05137 100644 --- a/libs/ardour/ardour/filesystem_paths.h +++ b/libs/ardour/ardour/filesystem_paths.h @@ -22,6 +22,8 @@ #include "pbd/search_path.h" +#include "ardour/libardour_visibility.h" + namespace ARDOUR { /** @@ -29,26 +31,26 @@ namespace ARDOUR { * configuration files. * @post user_config_directory() exists */ - std::string user_config_directory (); + LIBARDOUR_API std::string user_config_directory (); /** * @return the path to the directory that contains the system wide ardour * modules. */ - std::string ardour_dll_directory (); + LIBARDOUR_API std::string ardour_dll_directory (); /** * @return the search path to be used when looking for per-system * configuration files. This may include user configuration files. */ - PBD::SearchPath ardour_config_search_path (); + LIBARDOUR_API PBD::SearchPath ardour_config_search_path (); /** * @return the search path to be used when looking for data files * that could be shared by systems (h/w and configuration independent * files, such as icons, XML files, etc) */ - PBD::SearchPath ardour_data_search_path (); + LIBARDOUR_API PBD::SearchPath ardour_data_search_path (); } // namespace ARDOUR diff --git a/libs/ardour/ardour/linux_vst_support.h b/libs/ardour/ardour/linux_vst_support.h index c99c4a8cb3..cb18a0b1d4 100644 --- a/libs/ardour/ardour/linux_vst_support.h +++ b/libs/ardour/ardour/linux_vst_support.h @@ -25,44 +25,46 @@ #include #include +#include "ardour/libardour_visibility.h" #include "ardour/vst_types.h" /******************************************************************************************/ /*VSTFX - an engine to manage native linux VST plugins - derived from FST for Windows VSTs*/ /******************************************************************************************/ -extern void (*vstfx_error_callback)(const char *msg); +LIBARDOUR_API extern void (*vstfx_error_callback)(const char *msg); -void vstfx_set_error_function (void (*func)(const char *)); +LIBARDOUR_API void vstfx_set_error_function (void (*func)(const char *)); -void vstfx_error (const char *fmt, ...); +LIBARDOUR_API void vstfx_error (const char *fmt, ...); /*API to vstfx*/ -extern int vstfx_launch_editor (VSTState *); -extern int vstfx_init (void *); -extern void vstfx_exit (); -extern VSTHandle * vstfx_load (const char*); -extern int vstfx_unload (VSTHandle *); -extern VSTState * vstfx_instantiate (VSTHandle *, audioMasterCallback, void *); -extern void vstfx_close (VSTState*); +LIBARDOUR_API extern int vstfx_launch_editor (VSTState *); +LIBARDOUR_API extern int vstfx_init (void *); +LIBARDOUR_API extern void vstfx_exit (); +LIBARDOUR_API extern VSTHandle * vstfx_load (const char*); +LIBARDOUR_API extern int vstfx_unload (VSTHandle *); -extern int vstfx_create_editor (VSTState *); -extern int vstfx_run_editor (VSTState *); -extern void vstfx_destroy_editor (VSTState *); +LIBARDOUR_API extern VSTState * vstfx_instantiate (VSTHandle *, audioMasterCallback, void *); +LIBARDOUR_API extern void vstfx_close (VSTState*); -extern VSTInfo * vstfx_get_info (char *); -extern void vstfx_free_info (VSTInfo *); -extern void vstfx_event_loop_remove_plugin (VSTState *); -extern int vstfx_call_dispatcher (VSTState *, int, int, int, void *, float); +LIBARDOUR_API extern int vstfx_create_editor (VSTState *); +LIBARDOUR_API extern int vstfx_run_editor (VSTState *); +LIBARDOUR_API extern void vstfx_destroy_editor (VSTState *); + +LIBARDOUR_API extern VSTInfo * vstfx_get_info (char *); +LIBARDOUR_API extern void vstfx_free_info (VSTInfo *); +LIBARDOUR_API extern void vstfx_event_loop_remove_plugin (VSTState *); +LIBARDOUR_API extern int vstfx_call_dispatcher (VSTState *, int, int, int, void *, float); /** Load a plugin state from a file.**/ -extern int vstfx_load_state (VSTState* vstfx, char * filename); +LIBARDOUR_API extern int vstfx_load_state (VSTState* vstfx, char * filename); /** Save a plugin state to a file.**/ -extern bool vstfx_save_state (VSTState* vstfx, char * filename); +LIBARDOUR_API extern bool vstfx_save_state (VSTState* vstfx, char * filename); #endif /* __vstfx_h__ */ diff --git a/libs/ardour/ardour/midi_region.h b/libs/ardour/ardour/midi_region.h index 5196438926..b326bb30d8 100644 --- a/libs/ardour/ardour/midi_region.h +++ b/libs/ardour/ardour/midi_region.h @@ -34,9 +34,9 @@ namespace ARDOUR { property, but it allows us to signal changes to the MidiModel used by the MidiRegion */ - extern PBD::PropertyDescriptor midi_data; - extern PBD::PropertyDescriptor start_beats; - extern PBD::PropertyDescriptor length_beats; + LIBARDOUR_API extern PBD::PropertyDescriptor midi_data; + LIBARDOUR_API extern PBD::PropertyDescriptor start_beats; + LIBARDOUR_API extern PBD::PropertyDescriptor length_beats; } } diff --git a/libs/ardour/ardour/operations.h b/libs/ardour/ardour/operations.h index dd6329d7b9..d113c621c2 100644 --- a/libs/ardour/ardour/operations.h +++ b/libs/ardour/ardour/operations.h @@ -17,6 +17,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#include "ardour/libardour_visibility.h" + /** These are GQuarks for a subset of UI operations. We use these * so that the undo system can be queried to find out what operations * are currently in progress, by calling Session::current_operations(). @@ -27,19 +29,19 @@ namespace Operations { - extern GQuark capture; - extern GQuark paste; - extern GQuark duplicate_region; - extern GQuark insert_file; - extern GQuark insert_region; - extern GQuark drag_region_brush; - extern GQuark region_drag; - extern GQuark selection_grab; - extern GQuark region_fill; - extern GQuark fill_selection; - extern GQuark create_region; - extern GQuark region_copy; - extern GQuark fixed_time_region_copy; + LIBARDOUR_API extern GQuark capture; + LIBARDOUR_API extern GQuark paste; + LIBARDOUR_API extern GQuark duplicate_region; + LIBARDOUR_API extern GQuark insert_file; + LIBARDOUR_API extern GQuark insert_region; + LIBARDOUR_API extern GQuark drag_region_brush; + LIBARDOUR_API extern GQuark region_drag; + LIBARDOUR_API extern GQuark selection_grab; + LIBARDOUR_API extern GQuark region_fill; + LIBARDOUR_API extern GQuark fill_selection; + LIBARDOUR_API extern GQuark create_region; + LIBARDOUR_API extern GQuark region_copy; + LIBARDOUR_API extern GQuark fixed_time_region_copy; }; diff --git a/libs/ardour/ardour/playlist.h b/libs/ardour/ardour/playlist.h index 95c9e739c6..08ecd10853 100644 --- a/libs/ardour/ardour/playlist.h +++ b/libs/ardour/ardour/playlist.h @@ -55,7 +55,7 @@ namespace Properties { /* fake the type, since regions are handled by SequenceProperty which doesn't care about such things. */ - extern PBD::PropertyDescriptor regions; + LIBARDOUR_API extern PBD::PropertyDescriptor regions; } class LIBARDOUR_API RegionListProperty : public PBD::SequenceProperty > > diff --git a/libs/ardour/ardour/profile.h b/libs/ardour/ardour/profile.h index b315748630..9346138e00 100644 --- a/libs/ardour/ardour/profile.h +++ b/libs/ardour/ardour/profile.h @@ -53,7 +53,7 @@ private: }; -extern RuntimeProfile* Profile; +LIBARDOUR_API extern RuntimeProfile* Profile; }; // namespace ARDOUR diff --git a/libs/ardour/ardour/rc_configuration.h b/libs/ardour/ardour/rc_configuration.h index b525a8269e..d85c723ff8 100644 --- a/libs/ardour/ardour/rc_configuration.h +++ b/libs/ardour/ardour/rc_configuration.h @@ -84,8 +84,8 @@ class LIBARDOUR_API RCConfiguration : public Configuration }; /* XXX: rename this */ -extern RCConfiguration *Config; -extern gain_t speed_quietning; /* see comment in configuration.cc */ +LIBARDOUR_API extern RCConfiguration *Config; +LIBARDOUR_API extern gain_t speed_quietning; /* see comment in configuration.cc */ } // namespace ARDOUR diff --git a/libs/ardour/ardour/recent_sessions.h b/libs/ardour/ardour/recent_sessions.h index 2951496849..03134da6d2 100644 --- a/libs/ardour/ardour/recent_sessions.h +++ b/libs/ardour/ardour/recent_sessions.h @@ -24,13 +24,15 @@ #include #include +#include "ardour/libardour_visibility.h" + namespace ARDOUR { typedef std::deque > RecentSessions; - int read_recent_sessions (RecentSessions& rs); - int store_recent_sessions (std::string name, std::string path); - int write_recent_sessions (RecentSessions& rs); - int remove_recent_sessions (const std::string& path); + LIBARDOUR_API int read_recent_sessions (RecentSessions& rs); + LIBARDOUR_API int store_recent_sessions (std::string name, std::string path); + LIBARDOUR_API int write_recent_sessions (RecentSessions& rs); + LIBARDOUR_API int remove_recent_sessions (const std::string& path); }; // namespace ARDOUR #endif // __ardour_recent_sessions_h__ diff --git a/libs/ardour/ardour/region.h b/libs/ardour/ardour/region.h index fac89bb4ff..4096d66705 100644 --- a/libs/ardour/ardour/region.h +++ b/libs/ardour/ardour/region.h @@ -41,31 +41,31 @@ class XMLNode; namespace ARDOUR { namespace Properties { - extern PBD::PropertyDescriptor muted; - extern PBD::PropertyDescriptor opaque; - extern PBD::PropertyDescriptor locked; - extern PBD::PropertyDescriptor video_locked; - extern PBD::PropertyDescriptor automatic; - extern PBD::PropertyDescriptor whole_file; - extern PBD::PropertyDescriptor import; - extern PBD::PropertyDescriptor external; - extern PBD::PropertyDescriptor sync_marked; - extern PBD::PropertyDescriptor left_of_split; - extern PBD::PropertyDescriptor right_of_split; - extern PBD::PropertyDescriptor hidden; - extern PBD::PropertyDescriptor position_locked; - extern PBD::PropertyDescriptor valid_transients; - extern PBD::PropertyDescriptor start; - extern PBD::PropertyDescriptor length; - extern PBD::PropertyDescriptor position; - extern PBD::PropertyDescriptor sync_position; - extern PBD::PropertyDescriptor layer; - extern PBD::PropertyDescriptor ancestral_start; - extern PBD::PropertyDescriptor ancestral_length; - extern PBD::PropertyDescriptor stretch; - extern PBD::PropertyDescriptor shift; - extern PBD::PropertyDescriptor position_lock_style; - extern PBD::PropertyDescriptor layering_index; + LIBARDOUR_API extern PBD::PropertyDescriptor muted; + LIBARDOUR_API extern PBD::PropertyDescriptor opaque; + LIBARDOUR_API extern PBD::PropertyDescriptor locked; + LIBARDOUR_API extern PBD::PropertyDescriptor video_locked; + LIBARDOUR_API extern PBD::PropertyDescriptor automatic; + LIBARDOUR_API extern PBD::PropertyDescriptor whole_file; + LIBARDOUR_API extern PBD::PropertyDescriptor import; + LIBARDOUR_API extern PBD::PropertyDescriptor external; + LIBARDOUR_API extern PBD::PropertyDescriptor sync_marked; + LIBARDOUR_API extern PBD::PropertyDescriptor left_of_split; + LIBARDOUR_API extern PBD::PropertyDescriptor right_of_split; + LIBARDOUR_API extern PBD::PropertyDescriptor hidden; + LIBARDOUR_API extern PBD::PropertyDescriptor position_locked; + LIBARDOUR_API extern PBD::PropertyDescriptor valid_transients; + LIBARDOUR_API extern PBD::PropertyDescriptor start; + LIBARDOUR_API extern PBD::PropertyDescriptor length; + LIBARDOUR_API extern PBD::PropertyDescriptor position; + LIBARDOUR_API extern PBD::PropertyDescriptor sync_position; + LIBARDOUR_API extern PBD::PropertyDescriptor layer; + LIBARDOUR_API extern PBD::PropertyDescriptor ancestral_start; + LIBARDOUR_API extern PBD::PropertyDescriptor ancestral_length; + LIBARDOUR_API extern PBD::PropertyDescriptor stretch; + LIBARDOUR_API extern PBD::PropertyDescriptor shift; + LIBARDOUR_API extern PBD::PropertyDescriptor position_lock_style; + LIBARDOUR_API extern PBD::PropertyDescriptor layering_index; }; class Playlist; diff --git a/libs/ardour/ardour/revision.h b/libs/ardour/ardour/revision.h index 9eeb1e2a9a..849a96fa07 100644 --- a/libs/ardour/ardour/revision.h +++ b/libs/ardour/ardour/revision.h @@ -20,8 +20,10 @@ #ifndef __ardour_revision_h__ #define __ardour_revision_h__ +#include "ardour/libardour_visibility.h" + namespace ARDOUR { - extern const char* revision; + LIBARDOUR_API extern const char* revision; } #endif diff --git a/libs/ardour/ardour/route_group.h b/libs/ardour/ardour/route_group.h index fd4be69c64..763430e1f1 100644 --- a/libs/ardour/ardour/route_group.h +++ b/libs/ardour/ardour/route_group.h @@ -36,18 +36,18 @@ namespace ARDOUR { namespace Properties { - extern PBD::PropertyDescriptor relative; - extern PBD::PropertyDescriptor active; - extern PBD::PropertyDescriptor gain; - extern PBD::PropertyDescriptor mute; - extern PBD::PropertyDescriptor solo; - extern PBD::PropertyDescriptor recenable; - extern PBD::PropertyDescriptor select; - extern PBD::PropertyDescriptor route_active; - extern PBD::PropertyDescriptor color; - extern PBD::PropertyDescriptor monitoring; + LIBARDOUR_API extern PBD::PropertyDescriptor relative; + LIBARDOUR_API extern PBD::PropertyDescriptor active; + LIBARDOUR_API extern PBD::PropertyDescriptor gain; + LIBARDOUR_API extern PBD::PropertyDescriptor mute; + LIBARDOUR_API extern PBD::PropertyDescriptor solo; + LIBARDOUR_API extern PBD::PropertyDescriptor recenable; + LIBARDOUR_API extern PBD::PropertyDescriptor select; + LIBARDOUR_API extern PBD::PropertyDescriptor route_active; + LIBARDOUR_API extern PBD::PropertyDescriptor color; + LIBARDOUR_API extern PBD::PropertyDescriptor monitoring; /* we use this, but its declared in region.cc */ - extern PBD::PropertyDescriptor hidden; + LIBARDOUR_API extern PBD::PropertyDescriptor hidden; }; class Route; diff --git a/libs/ardour/ardour/session_object.h b/libs/ardour/ardour/session_object.h index 21bb10f225..ac74f07b77 100644 --- a/libs/ardour/ardour/session_object.h +++ b/libs/ardour/ardour/session_object.h @@ -31,7 +31,7 @@ namespace ARDOUR { namespace Properties { - extern PBD::PropertyDescriptor name; + LIBARDOUR_API extern PBD::PropertyDescriptor name; } class Session; diff --git a/libs/ardour/ardour/session_state_utils.h b/libs/ardour/ardour/session_state_utils.h index 166b738d05..f35bbd0778 100644 --- a/libs/ardour/ardour/session_state_utils.h +++ b/libs/ardour/ardour/session_state_utils.h @@ -22,6 +22,8 @@ #include #include +#include "ardour/libardour_visibility.h" + namespace ARDOUR { /** @@ -32,7 +34,7 @@ namespace ARDOUR { * * @return true if successful, false otherwise. */ -bool create_backup_file (const std::string & file_path); +LIBARDOUR_API bool create_backup_file (const std::string & file_path); /** * Get the absolute paths to all state files in the directory @@ -41,8 +43,8 @@ bool create_backup_file (const std::string & file_path); * @param directory_path The absolute path to a directory. * @param result vector to contain resulting state files. */ -void get_state_files_in_directory (const std::string& directory_path, - std::vector& result); +LIBARDOUR_API void get_state_files_in_directory (const std::string& directory_path, + std::vector& result); /** * Given a vector of paths to files, return a vector containing @@ -52,7 +54,7 @@ void get_state_files_in_directory (const std::string& directory_path, * @return a vector containing a list of file names without any * filename extension. */ -std::vector get_file_names_no_extension (const std::vector & file_paths); +LIBARDOUR_API std::vector get_file_names_no_extension (const std::vector & file_paths); } // namespace ARDOUR diff --git a/libs/ardour/ardour/session_utils.h b/libs/ardour/ardour/session_utils.h index ab24e976b2..bd9cc92267 100644 --- a/libs/ardour/ardour/session_utils.h +++ b/libs/ardour/ardour/session_utils.h @@ -23,9 +23,11 @@ #include +#include "ardour/libardour_visibility.h" + namespace ARDOUR { -int find_session (std::string str, std::string& path, std::string& snapshot, bool& isnew); + LIBARDOUR_API extern int find_session (std::string str, std::string& path, std::string& snapshot, bool& isnew); }; diff --git a/libs/ardour/ardour/template_utils.h b/libs/ardour/ardour/template_utils.h index e01a62bbd1..dc56c53c44 100644 --- a/libs/ardour/ardour/template_utils.h +++ b/libs/ardour/ardour/template_utils.h @@ -24,23 +24,25 @@ #include #include +#include "ardour/libardour_visibility.h" + namespace ARDOUR { - std::string system_template_directory (); - std::string system_route_template_directory (); + LIBARDOUR_API std::string system_template_directory (); + LIBARDOUR_API std::string system_route_template_directory (); - std::string user_template_directory (); - std::string user_route_template_directory (); + LIBARDOUR_API std::string user_template_directory (); + LIBARDOUR_API std::string user_route_template_directory (); - struct TemplateInfo { + struct LIBARDOUR_API TemplateInfo { std::string name; std::string path; }; - void find_route_templates (std::vector& template_names); - void find_session_templates (std::vector& template_names); + LIBARDOUR_API void find_route_templates (std::vector& template_names); + LIBARDOUR_API void find_session_templates (std::vector& template_names); - std::string session_template_dir_to_file (std::string const &); + LIBARDOUR_API std::string session_template_dir_to_file (std::string const &); } // namespace ARDOUR diff --git a/libs/ardour/find_session.cc b/libs/ardour/find_session.cc index f0a034d8d4..7a25b1298b 100644 --- a/libs/ardour/find_session.cc +++ b/libs/ardour/find_session.cc @@ -31,6 +31,7 @@ #include "ardour/filename_extensions.h" #include "ardour/utils.h" +#include "ardour/session_utils.h" #include "i18n.h" diff --git a/libs/ardour/wscript b/libs/ardour/wscript index 7ce462ebb5..6fec6ae9d0 100644 --- a/libs/ardour/wscript +++ b/libs/ardour/wscript @@ -241,7 +241,8 @@ def configure(conf): autowaf.build_version_files( path_prefix + 'ardour/version.h', path_prefix + 'version.cc', - 'libardour3', conf.env['MAJOR'], conf.env['MINOR'], 0) + 'libardour3', conf.env['MAJOR'], conf.env['MINOR'], 0, + 'LIBARDOUR_API', 'ardour/libardour_visibility.h') autowaf.configure(conf) autowaf.check_pkg(conf, 'aubio', uselib_store='AUBIO', atleast_version='0.3.2') @@ -325,6 +326,8 @@ def build(bld): obj.defines = [ 'LIBARDOUR_DLL=1', 'LIBARDOUR_DLL_EXPORTS=1' ] # macros for this other internal shared libraries that we use obj.defines += [ 'LIBEVORAL_DLL=1', 'LIBMIDIPP_DLL=1', 'LIBPBD_DLL=1' ] + obj.cflags = [ '-fvisibility=hidden' ] + obj.cxxflags = [ '-fvisibility=hidden' ] else: obj = bld.stlib(features = 'c cxx cstlib cxxstlib', source=libardour_sources) obj.cxxflags = [ '-fPIC' ] diff --git a/libs/gtkmm2ext/wscript b/libs/gtkmm2ext/wscript index 109f0fba1c..7600c8a089 100644 --- a/libs/gtkmm2ext/wscript +++ b/libs/gtkmm2ext/wscript @@ -77,7 +77,7 @@ def options(opt): def configure(conf): conf.load('compiler_cxx') autowaf.build_version_files(path_prefix+'gtkmm2ext/version.h', path_prefix+'version.cc', - 'libgtkmm2ext', MAJOR, MINOR, MICRO) + 'libgtkmm2ext', MAJOR, MINOR, MICRO, 'LIBGTKMM2EXT_API', 'gtkmm2ext/visibility.h') autowaf.configure(conf) autowaf.check_pkg(conf, 'gtkmm-2.4', uselib_store='GTKMM', atleast_version='2.8') autowaf.check_pkg(conf, 'gtk+-2.0', uselib_store='GTK', atleast_version='2.12.1') diff --git a/libs/midi++2/wscript b/libs/midi++2/wscript index 849fd950fe..bc3f3313a2 100644 --- a/libs/midi++2/wscript +++ b/libs/midi++2/wscript @@ -47,7 +47,7 @@ def options(opt): def configure(conf): conf.load('compiler_cxx') autowaf.build_version_files(path_prefix+'midi++/version.h', path_prefix+'version.cc', - 'midipp', MAJOR, MINOR, MICRO) + 'midipp', MAJOR, MINOR, MICRO, 'LIBMIDIPP_API', 'midi++/libmidi_visibility.h') autowaf.configure(conf) autowaf.check_pkg(conf, 'cppunit', uselib_store='CPPUNIT', atleast_version='1.12.0', mandatory=False) autowaf.check_pkg(conf, 'jack', uselib_store='JACK', atleast_version='0.118.2') diff --git a/libs/pbd/pbd/stateful.h b/libs/pbd/pbd/stateful.h index 7035af57c3..ab09b7aa84 100644 --- a/libs/pbd/pbd/stateful.h +++ b/libs/pbd/pbd/stateful.h @@ -35,11 +35,11 @@ class XMLNode; namespace PBD { namespace sys { - class LIBPBD_API path; + class path; } -class LIBPBD_API PropertyList; -class LIBPBD_API OwnedPropertyList; +class PropertyList; +class OwnedPropertyList; /** Base class for objects with saveable and undoable state */ class LIBPBD_API Stateful { diff --git a/libs/pbd/wscript b/libs/pbd/wscript index be68c40dbf..516f848010 100644 --- a/libs/pbd/wscript +++ b/libs/pbd/wscript @@ -86,7 +86,7 @@ def options(opt): def configure(conf): conf.load('compiler_cxx') autowaf.build_version_files(path_prefix+'pbd/version.h', path_prefix+'version.cc', - 'libpbd', MAJOR, MINOR, MICRO) + 'libpbd', MAJOR, MINOR, MICRO, 'LIBPBD_API', 'pbd/libpbd_visibility.h') autowaf.configure(conf) autowaf.check_pkg(conf, 'libxml-2.0', uselib_store='XML') autowaf.check_pkg(conf, 'sigc++-2.0', uselib_store='SIGCPP', atleast_version='2.0') diff --git a/waf b/waf index 841827b755..6780539c8e 100755 Binary files a/waf and b/waf differ -- cgit v1.2.3