8 #include "pbd/failed_constructor.h"
9 #include "pbd/timing.h"
11 #include "ardour/ardour.h"
12 #include "ardour/audioengine.h"
13 #include "ardour/session.h"
18 using namespace ARDOUR;
20 static const char* localedir = LOCALEDIR;
22 static const int sleep_seconds = 2;
28 // It may be useful to pause to make it easier to see what is happening in a
29 // visual tool like massif visualizer
31 std::cerr << "pausing for " << sleep_seconds << " seconds" << std::endl;
33 g_usleep(sleep_seconds*1000000);
36 int main (int argc, char* argv[])
39 cerr << "Syntax: " << argv[0] << " <dir> <snapshot-name>\n";
43 std::cerr << "ARDOUR::init" << std::endl;
45 PBD::Timing ardour_init_timing;
47 ARDOUR::init (false, true, localedir);
48 ardour_init_timing.update();
50 TestUI* test_ui = new TestUI();
52 std::cerr << "ARDOUR::init time : " << ardour_init_timing.elapsed()
53 << " usecs" << std::endl;
55 std::cerr << "Creating Dummy backend" << std::endl;
57 create_and_start_dummy_backend ();
59 std::cerr << "Loading session: " << argv[2] << std::endl;
61 PBD::Timing load_session_timing;
66 s = load_session (argv[1], argv[2]);
67 } catch (failed_constructor& e) {
68 cerr << "failed_constructor: " << e.what() << "\n";
70 } catch (AudioEngine::PortRegistrationFailure& e) {
71 cerr << "PortRegistrationFailure: " << e.what() << "\n";
73 } catch (exception& e) {
74 cerr << "exception: " << e.what() << "\n";
77 cerr << "unknown exception.\n";
81 load_session_timing.update();
83 std::cerr << "Loading session time : " << load_session_timing.elapsed()
84 << " usecs" << std::endl;
86 PBD::Timing save_session_timing;
90 std::cerr << "Saving session: " << argv[2] << std::endl;
94 save_session_timing.update();
96 std::cerr << "Saving session time : " << save_session_timing.elapsed()
97 << " usecs" << std::endl;
99 std::cerr << "AudioEngine::remove_session" << std::endl;
101 AudioEngine::instance()->remove_session ();
103 PBD::Timing destroy_session_timing;
107 destroy_session_timing.update();
109 std::cerr << "Destroy session time : " << destroy_session_timing.elapsed()
110 << " usecs" << std::endl;
112 AudioEngine::instance()->stop ();
114 AudioEngine::destroy ();