X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fardour.h;h=311611997f3466fa107f9c59353045e4e5a550a9;hb=5cf1f7f3b28abd36f9390014016def94f4e1468d;hp=c0dfea9a950e9edccc885a363dcbdc933feaf728;hpb=2b5d095464a28ae680cf4454af99b4debd3bcabf;p=ardour.git diff --git a/libs/ardour/ardour/ardour.h b/libs/ardour/ardour/ardour.h index c0dfea9a95..311611997f 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 @@ -15,21 +15,28 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id$ */ #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/types.h" + +#include namespace MIDI { class MachineControl; @@ -39,48 +46,40 @@ namespace MIDI { namespace ARDOUR { class AudioEngine; - class OSC; - - extern OSC* osc; - static const jack_nframes_t max_frames = JACK_MAX_FRAMES; - - int init (AudioEngine&, bool with_vst, bool try_optimization); + extern PBD::Signal1 BootMessage; + extern 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 + */ + bool init (bool with_vst, bool try_optimization, const char* localedir); + void init_post_engine (); int cleanup (); + bool no_auto_connect (); + void make_property_quarks (); - - std::string get_user_ardour_path (); - std::string get_system_data_path (); - std::string get_system_module_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; + extern PBD::PropertyChange bounds_change; - id_t new_id(); + extern const char* const ardour_config_info; - Change new_change (); + 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 */ + std::string translation_enable_path (); + bool translations_are_enabled (); + bool set_translations_enabled (bool); - struct LocaleGuard { - LocaleGuard (const char*); - ~LocaleGuard (); - const char* old; - }; + microseconds_t get_microseconds (); -}; - -/* 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; + void setup_fpu (); + std::vector get_available_sync_options(); +} #endif /* __ardour_ardour_h__ */