X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=libs%2Fardour%2Fardour%2Fardour.h;h=05f3ca5168f6706fe2737d4aec4d1b2cbf544c05;hb=8587855b9940f5929fe3df92a8aa9bdc3741a19e;hp=1b9725a04cc577ba57c988e5cc4b2c76a96ad85e;hpb=18767c39f72842a70b1d472eacb75764abff4e57;p=ardour.git diff --git a/libs/ardour/ardour/ardour.h b/libs/ardour/ardour/ardour.h index 1b9725a04c..05f3ca5168 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 @@ -20,15 +20,23 @@ #ifndef __ardour_ardour_h__ #define __ardour_ardour_h__ -#include +#include #include +#include + +#include #include -#include -#include +#include "pbd/signals.h" -#include -#include +#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 "ardour/libardour_visibility.h" namespace MIDI { class MachineControl; @@ -38,45 +46,45 @@ namespace MIDI { namespace ARDOUR { class AudioEngine; - class OSC; - - extern OSC* osc; - static const nframes_t max_frames = JACK_MAX_FRAMES; - - int init (bool with_vst, bool try_optimization); - int cleanup (); - - int setup_midi(AudioEngine& engine); + 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; + + /** + * @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; - std::string get_ardour_revision (); - - microseconds_t get_microseconds (); + extern LIBARDOUR_API const char* const ardour_config_info; - Change new_change (); + LIBARDOUR_API void find_bindings_files (std::map&); - extern Change StartChanged; - extern Change LengthChanged; - extern Change PositionChanged; - extern Change NameChanged; - extern Change BoundsChanged; + /* 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); - struct LocaleGuard { - LocaleGuard (const char*); - ~LocaleGuard (); - const char* old; - }; + LIBARDOUR_API microseconds_t get_microseconds (); - static const double SHUTTLE_FRACT_SPEED1=0.48412291827; /* derived from A1,A2 */ + LIBARDOUR_API void setup_fpu (); + LIBARDOUR_API std::vector get_available_sync_options(); - void setup_fpu (); + LIBARDOUR_API int copy_configuration_files (std::string const & old_dir, std::string const & new_dir, int old_version); } -/* how do we make these be within the Ardour namespace? */ - -extern MIDI::Port* default_mmc_port; -extern MIDI::Port* default_mtc_port; -extern MIDI::Port* default_midi_port; - #endif /* __ardour_ardour_h__ */