#include <map>
#include <string>
+#include <vector>
#include <limits.h>
#include <signal.h>
#include "pbd/error.h"
#include "pbd/failed_constructor.h"
-#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;
class AudioEngine;
- static const nframes_t max_frames = JACK_MAX_FRAMES;
- extern PBD::Signal1<void,std::string> BootMessage;
-
- int init (bool with_vst, bool try_optimization);
- void init_post_engine ();
- int cleanup ();
- bool no_auto_connect ();
- void make_property_quarks ();
-
- extern PBD::PropertyChange bounds_change;
-
- std::string get_ardour_revision ();
- extern const char* const ardour_config_info;
-
- void find_bindings_files (std::map<std::string,std::string>&);
-
- const layer_t max_layer = UCHAR_MAX;
-
- static inline microseconds_t get_microseconds () {
- return (microseconds_t) jack_get_time();
- }
-
- static const double SHUTTLE_FRACT_SPEED1=0.48412291827; /* derived from A1,A2 */
-
- void setup_fpu ();
+ 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<bool,std::string,std::string,int> CopyConfigurationFiles;
+ extern LIBARDOUR_API std::map<std::string, bool> reserved_io_names;
+
+ /**
+ * @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;
+
+ /* these only impact bundled installations */
+ 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 ();
+
+ LIBARDOUR_API void setup_fpu ();
+ LIBARDOUR_API std::vector<SyncSource> get_available_sync_options();
+
+ /* the @param ui_handler will be called if there are old configuration
+ * files to be copied. It should (probably) ask the user about the
+ * action, and return true or false depending on whether or not the
+ * copy should take place.
+ */
+ LIBARDOUR_API void check_for_old_configuration_files ();
+ LIBARDOUR_API int handle_old_configuration_files (boost::function<bool (std::string const&, std::string const&, int)> ui_handler);
}
#endif /* __ardour_ardour_h__ */