X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fardour.h;h=29cfa4b354665cf46f923f90291df11d0f223926;hb=c4a7d25b34aec71ab7d594af50f7b522518e0221;hp=e76c984ba42a89f70c1d6dcc74a76ef314e5e28f;hpb=0abcfb16ba203be43fcb2d2cd0b740da85679e7a;p=ardour.git diff --git a/libs/ardour/ardour/ardour.h b/libs/ardour/ardour/ardour.h index e76c984ba4..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,53 +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 (); - 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; + + /** + * @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 (); - - std::string get_user_ardour_path (); - std::string get_system_data_path (); - - std::string find_config_file (std::string name); - std::string find_data_file (std::string name, std::string subdir = "" ); - - const layer_t max_layer = UCHAR_MAX; - - 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 */ - - void setup_fpu (); + 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__ */