X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fglobals.cc;h=1d510cfef1d42f60f7fe226b4b62fefc0eb4ff57;hb=1bd4c5b3a212460eed1773f6b049d18c89625565;hp=ffcc4ddb059434e58a54f66458e2b95eabe63ef0;hpb=2161752a1bba3426c1ffbf5c5ceda734d4a48b25;p=ardour.git diff --git a/libs/ardour/globals.cc b/libs/ardour/globals.cc index ffcc4ddb05..1d510cfef1 100644 --- a/libs/ardour/globals.cc +++ b/libs/ardour/globals.cc @@ -15,7 +15,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id$ + $Id: globals.cc 935 2006-09-29 21:39:39Z paul $ */ #include // Needed so that libraptor (included in lrdf) won't complain @@ -190,7 +190,7 @@ setup_midi () } int -ARDOUR::init (AudioEngine& engine, bool use_vst, bool try_optimization) +ARDOUR::init (bool use_vst, bool try_optimization) { bool generic_mix_functions = true; @@ -198,6 +198,9 @@ ARDOUR::init (AudioEngine& engine, bool use_vst, bool try_optimization) PBD::ID::init (); + lrdf_init(); + Library = new AudioLibrary; + Config = new Configuration; if (Config->load_state ()) { @@ -296,11 +299,8 @@ ARDOUR::init (AudioEngine& engine, bool use_vst, bool try_optimization) info << "No H/W specific optimizations in use" << endmsg; } - lrdf_init(); - Library = new AudioLibrary; - /* singleton - first object is "it" */ - new PluginManager (engine); + new PluginManager (); /* singleton - first object is "it" */ new ControlProtocolManager (); @@ -357,6 +357,12 @@ ARDOUR::new_change () return c; } +string +ARDOUR::get_ardour_revision () +{ + return "$Rev$"; +} + string ARDOUR::get_user_ardour_path () { @@ -372,7 +378,9 @@ ARDOUR::get_user_ardour_path () /* create it if necessary */ - mkdir (path.c_str (), 0755); + if (g_mkdir_with_parents (path.c_str (), 0755)) { + throw exception (); + } return path; } @@ -492,8 +500,8 @@ ARDOUR::LocaleGuard::~LocaleGuard () } ARDOUR::OverlapType -ARDOUR::coverage (jack_nframes_t sa, jack_nframes_t ea, - jack_nframes_t sb, jack_nframes_t eb) +ARDOUR::coverage (nframes_t sa, nframes_t ea, + nframes_t sb, nframes_t eb) { /* OverlapType returned reflects how the second (B) range overlaps the first (A). @@ -572,16 +580,23 @@ ARDOUR::coverage (jack_nframes_t sa, jack_nframes_t ea, /* not sure where to put these */ -std::istream& operator>>(std::istream& o, HeaderFormat& hf) { +template +std::istream& int_to_type (std::istream& o, T& hf) { int val; o >> val; - hf = (HeaderFormat) val; + hf = (T) val; return o; } -std::istream& operator>>(std::istream& o, SampleFormat& sf) { - int val; - o >> val; - sf = (SampleFormat) val; - return o; -} +std::istream& operator>>(std::istream& o, HeaderFormat& var) { return int_to_type (o, var); } +std::istream& operator>>(std::istream& o, SampleFormat& var) { return int_to_type (o, var); } +std::istream& operator>>(std::istream& o, AutoConnectOption& var) { return int_to_type (o, var); } +std::istream& operator>>(std::istream& o, MonitorModel& var) { return int_to_type (o, var); } +std::istream& operator>>(std::istream& o, EditMode& var) { return int_to_type (o, var); } +std::istream& operator>>(std::istream& o, SoloModel& var) { return int_to_type (o, var); } +std::istream& operator>>(std::istream& o, LayerModel& var) { return int_to_type (o, var); } +std::istream& operator>>(std::istream& o, CrossfadeModel& var) { return int_to_type (o, var); } +std::istream& operator>>(std::istream& o, SlaveSource& var) { return int_to_type (o, var); } +std::istream& operator>>(std::istream& o, ShuttleBehaviour& var) { return int_to_type (o, var); } +std::istream& operator>>(std::istream& o, ShuttleUnits& var) { return int_to_type (o, var); } +