more infrastructure for copying old configuration files
[ardour.git] / libs / ardour / ardour / ardour.h
index 5f64c4b6a31bcae51e6d09ec3e2b15a211d11d0f..05f3ca5168f6706fe2737d4aec4d1b2cbf544c05 100644 (file)
@@ -34,9 +34,9 @@
 #include "pbd/locale_guard.h"
 #include "pbd/stateful.h"
 
+#include "ardour/libardour_visibility.h"
 #include "ardour/types.h"
-
-#include <jack/jack.h>
+#include "ardour/libardour_visibility.h"
 
 namespace MIDI {
        class MachineControl;
@@ -47,32 +47,43 @@ namespace ARDOUR {
 
        class AudioEngine;
 
-       extern PBD::Signal1<void,std::string> BootMessage;
-       extern PBD::Signal0<void> GUIIdle;
-
-       int init (bool with_vst, bool try_optimization, const char* localedir);
-       void init_post_engine ();
-       int cleanup ();
-       bool no_auto_connect ();
-       void make_property_quarks ();
-
-       extern PBD::PropertyChange bounds_change;
-
-       extern const char* const ardour_config_info;
-
-       void find_bindings_files (std::map<std::string,std::string>&);
+       extern LIBARDOUR_API PBD::Signal1<void,std::string> BootMessage;
+       extern LIBARDOUR_API PBD::Signal3<void,std::string,std::string,bool> PluginScanMessage;
+       extern LIBARDOUR_API PBD::Signal1<void,int> PluginScanTimeout;
+       extern LIBARDOUR_API PBD::Signal0<void> GUIIdle;
+       extern LIBARDOUR_API PBD::Signal3<void,std::string,std::string,int> CopyConfigurationFiles;
+
+       /**
+        * @param with_vst true to enable VST Support
+        * @param try_optimization true to enable hardware optimized routines
+        * for mixing, finding peak values etc.
+        * @param localedir Directory to look for localisation files
+        *
+        * @return true if Ardour library was successfully initialized
+        */
+       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 LIBARDOUR_API PBD::PropertyChange bounds_change;
+       
+       extern LIBARDOUR_API const char* const ardour_config_info;
+
+       LIBARDOUR_API void find_bindings_files (std::map<std::string,std::string>&);
 
        /* 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);
+
+       LIBARDOUR_API microseconds_t get_microseconds ();
 
-       static inline microseconds_t get_microseconds () {
-               return (microseconds_t) jack_get_time();
-       }
+       LIBARDOUR_API void setup_fpu ();
+       LIBARDOUR_API std::vector<SyncSource> get_available_sync_options();
 
-       void setup_fpu ();
-       std::vector<SyncSource> get_available_sync_options();
+       LIBARDOUR_API int copy_configuration_files (std::string const & old_dir, std::string const & new_dir, int old_version);
 }
 
 #endif /* __ardour_ardour_h__ */