X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fardour.h;h=c86c59eb0305fc0186594de4fba8bc419a26d83d;hb=b45a3c816484346f44cd65341fade0850670c2bb;hp=630bde675c6c784a21b5a304091fc5c95ba5e3bb;hpb=015fc7b39fab97cee1875231694adce43155ceb5;p=ardour.git diff --git a/libs/ardour/ardour/ardour.h b/libs/ardour/ardour/ardour.h index 630bde675c..c86c59eb03 100644 --- a/libs/ardour/ardour/ardour.h +++ b/libs/ardour/ardour/ardour.h @@ -1,5 +1,5 @@ /* - Copyright (C) 1999 Paul Davis + Copyright (C) 1999-2009 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 @@ -22,16 +22,21 @@ #include #include +#include #include #include +#include "pbd/signals.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 need this to inline jack_get_microseconds +#include "ardour/libardour_visibility.h" namespace MIDI { class MachineControl; @@ -42,49 +47,48 @@ namespace ARDOUR { class AudioEngine; - static const nframes_t max_frames = JACK_MAX_FRAMES; - extern sigc::signal BootMessage; - - int init (bool with_vst, bool try_optimization); - int cleanup (); - - std::string get_ardour_revision (); - - void find_bindings_files (std::map&); - - const layer_t max_layer = UCHAR_MAX; - - microseconds_t get_microseconds (); -/* { - JACK has exported this functionality for a long time now - but inlining this causes problems - return (microseconds_t) jack_get_time(); - } -*/ - Change new_change (); - - extern Change StartChanged; - extern Change LengthChanged; - extern Change PositionChanged; - extern Change NameChanged; - extern Change BoundsChanged; - - struct LocaleGuard { - LocaleGuard (const char*); - ~LocaleGuard (); - const char* old; - }; - - static const double SHUTTLE_FRACT_SPEED1=0.48412291827; /* derived from A1,A2 */ - - void setup_fpu (); - - extern MIDI::Port* default_mmc_port; - extern MIDI::Port* default_mtc_port; - extern MIDI::Port* default_midi_port; - extern MIDI::Port *default_midi_clock_port; - - int setup_midi (); + extern LIBARDOUR_API PBD::Signal1 BootMessage; + extern LIBARDOUR_API PBD::Signal3 PluginScanMessage; + extern LIBARDOUR_API PBD::Signal1 PluginScanTimeout; + extern LIBARDOUR_API PBD::Signal0 GUIIdle; + extern LIBARDOUR_API PBD::Signal3 CopyConfigurationFiles; + extern LIBARDOUR_API std::map 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 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 ui_handler); } #endif /* __ardour_ardour_h__ */