X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fardour.h;h=29cfa4b354665cf46f923f90291df11d0f223926;hb=c4a7d25b34aec71ab7d594af50f7b522518e0221;hp=6e7b494441b260319774111e67185de29989ac3a;hpb=f7f9d6fdc40248b190ec9c6e1a886261d55777ae;p=ardour.git diff --git a/libs/ardour/ardour/ardour.h b/libs/ardour/ardour/ardour.h index 6e7b494441..29cfa4b354 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 "pbd/error.h" +#include "pbd/failed_constructor.h" +#include "pbd/locale_guard.h" +#include "pbd/stateful.h" -#include -#include +#include "ardour/libardour_visibility.h" +#include "ardour/types.h" +#include "ardour/libardour_visibility.h" namespace MIDI { class MachineControl; @@ -38,43 +46,42 @@ 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 (); - - std::string get_ardour_revision (); - microseconds_t get_microseconds (); - - 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 LIBARDOUR_API PBD::Signal1 BootMessage; + extern LIBARDOUR_API PBD::Signal3 PluginScanMessage; + extern LIBARDOUR_API PBD::Signal1 PluginScanTimeout; + extern LIBARDOUR_API PBD::Signal0 GUIIdle; + + /** + * @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&); + + /* 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(); } -/* 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__ */