2 #include "ardour/ardour.h"
3 #include "ardour/midi_track.h"
4 #include "ardour/midi_region.h"
5 #include "ardour/session.h"
6 #include "ardour/playlist.h"
7 #include "pbd/stateful_diff_command.h"
10 using namespace ARDOUR;
14 main (int argc, char* argv[])
16 ARDOUR::init (false, true);
17 Session* session = load_session ("../libs/ardour/test/profiling/sessions/1region", "1region");
19 assert (session->get_routes()->size() == 2);
22 boost::shared_ptr<MidiTrack> track = boost::dynamic_pointer_cast<MidiTrack> (session->get_routes()->back());
25 /* And the playlist */
26 boost::shared_ptr<Playlist> playlist = track->playlist ();
30 boost::shared_ptr<MidiRegion> region = boost::dynamic_pointer_cast<MidiRegion> (playlist->region_list().rlist().front());
33 /* Duplicate it a lot */
34 session->begin_reversible_command ("foo");
35 playlist->clear_changes ();
36 playlist->duplicate (region, region->last_frame(), 1000);
37 session->add_command (new StatefulDiffCommand (playlist));
38 session->commit_reversible_command ();
44 session->begin_reversible_command ("foo");
45 playlist->clear_changes ();
46 playlist->duplicate (region, region->last_frame(), 1000);
47 session->add_command (new StatefulDiffCommand (playlist));
48 session->commit_reversible_command ();