View Issue Details

IDProjectCategoryView StatusLast Update
0003459ardourbugspublic2020-04-19 20:14
Reporterdanboid Assigned Topaul  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Target Version3.0-beta1 
Summary0003459: rewind oddities
DescriptionCreate a new session/track, hit rewind and the attached screenshot shows the result under 7805 Lucid x64. After doing so, play button is non-functional but pushing FFWD fixes the timeline etc.
TagsNo tags attached.

Activities

2010-09-19 10:44

 

rewind.png (98,384 bytes)   
rewind.png (98,384 bytes)   

Karsten Wiese

2010-09-20 16:21

reporter   ~0009118

here (fc13 x86) too.

lincoln

2010-09-20 21:21

reporter   ~0009121

start and end locations are not being written out on new session creation.

2010-09-21 01:15

 

session-end-start-fix.patch (806 bytes)   
Index: libs/ardour/session.cc
===================================================================
--- libs/ardour/session.cc	(revision 7816)
+++ libs/ardour/session.cc	(working copy)
@@ -2518,17 +2512,21 @@
 pair<framepos_t, framepos_t>
 Session::get_extent () const
 {
-	pair<framepos_t, framepos_t> ext (max_framepos, 0);
+	pair<framepos_t, framepos_t> ext (0, 1);
 	
 	boost::shared_ptr<RouteList> rl = routes.reader ();
+	
 	for (RouteList::iterator i = rl->begin(); i != rl->end(); ++i) {
+	
 		boost::shared_ptr<Track> tr = boost::dynamic_pointer_cast<Track> (*i);
+	
 		if (!tr || tr->destructive()) {
 			// ignore tape tracks when getting extents
 			continue;
 		}
 
 		pair<nframes_t, nframes_t> e = tr->playlist()->get_extent ();
+		
 		if (e.first < ext.first) {
 			ext.first = e.first;
 		}
session-end-start-fix.patch (806 bytes)   

lincoln

2010-09-21 01:15

reporter   ~0009123

I believe that attached patch clears this issue. For certain new sessions are better behaved.

Karsten Wiese

2010-09-23 00:57

reporter   ~0009141

Last edited: 2010-09-23 01:03

@lincoln: i think your patch is incorrect as the "max_framepos" in "ext (max_framepos, 0)" means empty. see the comment.

attached patch fixes a fallout of the 32 to 64bit transition in Session::get_extent().

untested yet.

do we really need 64bit frame counts? 32bit is enough for 10hour long recordings at 100000Hz samplerate. ok i guess some want longer...

2010-09-23 00:58

 

session-get_extent.diff (461 bytes)   
### Eclipse Workspace Patch 1.0
#P ardour3
Index: libs/ardour/session.cc
===================================================================
--- libs/ardour/session.cc	(revision 7832)
+++ libs/ardour/session.cc	(working copy)
@@ -2530,7 +2530,7 @@
 			continue;
 		}
 
-		pair<nframes_t, nframes_t> e = tr->playlist()->get_extent ();
+		pair<framecnt_t, framecnt_t> e = tr->playlist()->get_extent ();
 		if (e.first < ext.first) {
 			ext.first = e.first;
 		}
session-get_extent.diff (461 bytes)   

danboid

2010-09-24 08:29

reporter   ~0009148

Is Karsten's patch not a valid fix?

I find this too annoying a bug hence I've suspended my use/testing of A3 until this gets resolved.

lincoln

2010-09-24 08:59

reporter   ~0009149

I think this should be fixed by Carl in SVN with 3475.

danboid

2010-09-24 10:02

reporter   ~0009150

lincoln:

So it is! I should've checked out latest svn before posting, sorry!

You can resolve this one now Carl, thanks!

paul

2010-09-24 12:13

administrator   ~0009151

see notes.

paul

2010-09-24 12:14

administrator   ~0009152

karsten, just as a footnote: the issue with 64 bit counters is not just really long sessions. its that its common in the broadcast and mobile worlds to start recording at the wallclock time. this means that if you are recording a concert that starts at 11pm, you're already 23hrs into the timeline ...

system

2020-04-19 20:14

developer   ~0022226

Issue has been closed automatically, by Trigger Close Plugin.
Feel free to re-open with additional information if you think the issue is not resolved.

Issue History

Date Modified Username Field Change
2010-09-19 10:44 danboid New Issue
2010-09-19 10:44 danboid File Added: rewind.png
2010-09-19 14:39 cth103 cost => 0.00
2010-09-19 14:39 cth103 Target Version => 3.0-beta1
2010-09-20 16:21 Karsten Wiese Note Added: 0009118
2010-09-20 21:21 lincoln Note Added: 0009121
2010-09-21 01:15 lincoln File Added: session-end-start-fix.patch
2010-09-21 01:15 lincoln Note Added: 0009123
2010-09-23 00:57 Karsten Wiese Note Added: 0009141
2010-09-23 00:58 Karsten Wiese File Added: session-get_extent.diff
2010-09-23 01:03 Karsten Wiese Note Edited: 0009141
2010-09-24 08:29 danboid Note Added: 0009148
2010-09-24 08:59 lincoln Note Added: 0009149
2010-09-24 10:02 danboid Note Added: 0009150
2010-09-24 12:13 paul Note Added: 0009151
2010-09-24 12:13 paul Status new => resolved
2010-09-24 12:13 paul Resolution open => fixed
2010-09-24 12:13 paul Assigned To => paul
2010-09-24 12:14 paul Note Added: 0009152
2020-04-19 20:14 system Note Added: 0022226
2020-04-19 20:14 system Status resolved => closed