View Issue Details

IDProjectCategoryView StatusLast Update
0005209ardourbugspublic2019-05-21 11:28
Reportercolinf Assigned Tocolinf  
PrioritynormalSeveritytweakReproducibilityalways
Status closedResolutionfixed 
Summary0005209: 'Zoom to session' while recording doesn't zoom to include regions being created beyond end marker.
DescriptionWhile recording, the playhead may be past the session's end marker, but 'Zoom to session' doesn't know this, and thus zooms to the range of the start and end markers as they were before recording started.

This is more confusing if 'follow playhead' is active.
TagsNo tags attached.

Activities

colinf

2012-12-06 17:24

updater   ~0014332

This would be pretty easy to fix. I would just jump in and do it, but I wondered if anyone had any strong opinions about the following:

 - should 'Zoom to Session' always zoom to include the playhead position too, or only when actively recording?
 - should it take account of the case that the playhead is before the start marker too, or only zoom to include it if it's after the end marker?

oofus

2012-12-06 18:06

developer   ~0014333

Zoom to session should only zoom to include start and end markers,it's not zoom to session if it does anything else! But I see the possible use of including new regions as they are recording. Maybe the end marker should just move dynamically as new regions are recorded,then this would just work.

Play head position is irrelevant I think.

colinf

2012-12-06 18:43

updater   ~0014334

Yes, I suppose the playhead position isn't directly relevant to zoom-to-session: it just seemed to me that looking at the playhead position as well as the start & end markers was a convenient way to get the behaviour I wanted.

I don't know how practical it is to update the end marker dynamically whilst recording: I assume there's a reason it's currently not updated until transport stop after a record pass, but maybe it's doable...

2012-12-06 18:45

 

zoom-to-session-while-recording.patch (602 bytes)   
Index: gtk2_ardour/editor_ops.cc
===================================================================
--- gtk2_ardour/editor_ops.cc	(revision 13607)
+++ gtk2_ardour/editor_ops.cc	(working copy)
@@ -1615,8 +1615,13 @@
 		if (s < 0) {
 			s = 0;
 		}
-		framecnt_t const e = _session->current_end_frame() + l * 0.01;
-		temporal_zoom_by_frame (framecnt_t (s), e);
+		framepos_t e = _session->current_end_frame();
+		framepos_t p = playhead_cursor->current_frame;
+		if (e < p && _session->actively_recording () ) {
+			e = p;
+		}
+		e += l * 0.01;
+		temporal_zoom_by_frame (framepos_t (s), e);
 	}
 }
 

colinf

2012-12-06 18:54

updater   ~0014335

And here's a small patch which implements this by zooming to include the playhead on zoom-to-session, but only when actually recording, which I think is equivalent behaviour to moving the end marker during recording. At least, I can't find any other actions besides zoom-to-session which can be performed during recording and which take account of the position of the end marker.

colinf

2014-10-17 16:14

updater   ~0015927

Done in 017dcfea

colinf

2019-05-21 11:28

updater   ~0020654

Closing this ancient issue: resolved a long time ago.

Issue History

Date Modified Username Field Change
2012-12-05 17:42 colinf New Issue
2012-12-06 17:24 colinf Note Added: 0014332
2012-12-06 18:06 oofus Note Added: 0014333
2012-12-06 18:43 colinf Note Added: 0014334
2012-12-06 18:45 colinf File Added: zoom-to-session-while-recording.patch
2012-12-06 18:54 colinf Note Added: 0014335
2014-10-17 16:14 colinf Note Added: 0015927
2014-10-17 16:14 colinf Status new => resolved
2014-10-17 16:14 colinf Resolution open => fixed
2014-10-17 16:14 colinf Assigned To => colinf
2019-05-21 11:28 colinf Status resolved => closed
2019-05-21 11:28 colinf Note Added: 0020654