Index: gtk2_ardour/ardour_ui.cc
===================================================================
--- gtk2_ardour/ardour_ui.cc	(revision 7183)
+++ gtk2_ardour/ardour_ui.cc	(working copy)
@@ -204,7 +204,6 @@
 	session_loaded = false;
 	last_speed_displayed = -1.0f;
 	ignore_dual_punch = false;
-	_mixer_on_top = false;
 
 	roll_button.unset_flags (Gtk::CAN_FOCUS);
 	stop_button.unset_flags (Gtk::CAN_FOCUS);
@@ -1469,6 +1468,8 @@
 void 
 ARDOUR_UI::transport_roll ()
 {
+	cerr << "ARDOUR_UI::transport_roll()...\n";
+
 	if (!session) {
 		return;
 	}
@@ -1488,10 +1489,13 @@
 
 	bool rolling = session->transport_rolling();
 
+	cerr << "rolling= " << rolling << "\n";
+
 	if (session->get_play_loop()) {
 		/* XXX it is not possible to just leave seamless loop and keep
 		   playing at present (nov 4th 2009)
 		*/
+		cerr << "get_play_loop true\n";
 		if (!Config->get_seamless_loop()) {
 			/* off, and stop */
 			session->request_play_loop (false, true);
@@ -1679,6 +1683,9 @@
 void
 ARDOUR_UI::map_transport_state ()
 {
+
+	cerr << "ARDOUR_UI::map_transport_state()...\n";
+
 	if (!session) {
 		auto_loop_button.set_visual_state (0);
 		play_selection_button.set_visual_state (0);

Index: libs/ardour/session_events.cc
===================================================================
--- libs/ardour/session_events.cc	(revision 7183)
+++ libs/ardour/session_events.cc	(working copy)
@@ -95,13 +95,18 @@
 	if (_state_of_the_state & Loading) {
 		merge_event (ev);
 	} else {
-		pending_events.write (&ev, 1);
+		guint v;		
+		v = pending_events.write (&ev, 1);
+		cerr << "pending_events.write (" << ev->type << ") returns " << v << "\n";
+
 	}
 }
 
 void
 Session::merge_event (Event* ev)
 {
+	cerr << "Session::merge_event(), type=" << ev->type << "\n";
+
 	switch (ev->action) {
 	case Event::Remove:
 		_remove_event (ev);
@@ -283,11 +288,15 @@
 	   event for a time when the change is complete.
 	*/
 
+	cerr << "process_event(), type = " << ev->type << "\n";
+
 	if (non_realtime_work_pending()) {
 		
 		/* except locates, which we have the capability to handle */
 
 		if (ev->type != Event::Locate) {
+			cerr << "non_realtime_work_pending() is true, requeuing\n";
+			
 			immediate_events.insert (immediate_events.end(), ev);
 			_remove_event (ev);
 			return;
@@ -337,6 +346,7 @@
 
 
 	case Event::SetTransportSpeed:
+		cerr << "Event::SetTransportSpeed " << ev->speed << "\n";
 		set_transport_speed (ev->speed, ev->yes_or_no, ev->second_yes_or_no);
 		break;
 		
Index: libs/ardour/session_process.cc
===================================================================
--- libs/ardour/session_process.cc	(revision 7183)
+++ libs/ardour/session_process.cc	(working copy)
@@ -261,6 +261,8 @@
 
 	/* make sure the auditioner is silent */
 
+	cerr << "pwe()...\n";
+
 	if (auditioner) {
 		auditioner->silence (nframes);
 	}
Index: libs/ardour/session_transport.cc
===================================================================
--- libs/ardour/session_transport.cc	(revision 7183)
+++ libs/ardour/session_transport.cc	(working copy)
@@ -84,6 +84,9 @@
 void
 Session::request_transport_speed (float speed)
 {
+	
+	cerr << "Session::request_transport_speed (" << speed << ")\n";
+
 	Event* ev = new Event (Event::SetTransportSpeed, Event::Add, Event::Immediate, 0, speed);
 	queue_event (ev);
 }

