4 #include "pbd/textreceiver.h"
5 #include "ardour/session.h"
6 #include "ardour/audioengine.h"
7 #include <cppunit/extensions/HelperMacros.h>
10 using namespace ARDOUR;
14 check_xml (XMLNode* node, string ref_file)
16 system ("rm -f libs/ardour/test/test.xml");
17 ofstream f ("libs/ardour/test/test.xml");
22 cmd << "diff -u libs/ardour/test/test.xml " << ref_file;
23 CPPUNIT_ASSERT_EQUAL (0, system (cmd.str().c_str ()));
26 class TestReceiver : public Receiver
29 void receive (Transmitter::Channel chn, const char * str) {
30 const char *prefix = "";
33 case Transmitter::Error:
34 prefix = ": [ERROR]: ";
36 case Transmitter::Info:
39 case Transmitter::Warning:
40 prefix = ": [WARNING]: ";
42 case Transmitter::Fatal:
43 prefix = ": [FATAL]: ";
45 case Transmitter::Throw:
46 /* this isn't supposed to happen */
50 /* note: iostreams are already thread-safe: no external
54 cout << prefix << str << endl;
56 if (chn == Transmitter::Fatal) {
62 TestReceiver test_receiver;
65 load_session (string dir, string state)
67 SessionEvent::create_per_thread_pool ("test", 512);
69 test_receiver.listen_to (error);
70 test_receiver.listen_to (info);
71 test_receiver.listen_to (fatal);
72 test_receiver.listen_to (warning);
74 /* We can't use VSTs here as we have a stub instead of the
75 required bits in gtk2_ardour.
77 Config->set_use_lxvst (false);
79 AudioEngine* engine = new AudioEngine ("test", "");
82 CPPUNIT_ASSERT (engine->start () == 0);
84 Session* session = new Session (*engine, dir, state);
85 engine->set_session (session);