tape-track diskstream fixes
authorRobin Gareus <robin@gareus.org>
Tue, 28 Apr 2015 14:00:35 +0000 (16:00 +0200)
committerRobin Gareus <robin@gareus.org>
Tue, 28 Apr 2015 14:08:19 +0000 (16:08 +0200)
commite9bb1dc2bf72a3d27304595717b18105590872ac
tree1d4eca5ada9d0f45e70fd52982ee7e4c64e9fdb2
parente3a2bc6a365ef2307066ebd798924db0101e89bb
tape-track diskstream fixes

Due to the change to use a 64bit timeline (int64 as opposed
to previously [unsigned] pframes_t) many cases special to tape-tracks
no longer work.
e.g. region->length() can returns -1, rather than INT64_MAX.
which breaks ‘overlap’ in Evoral::Coverage. which in turn
breaks tape track’s use of ::find_next_region().

This commits begins the slow process to move away from relying
on integer overflow to wrap negative numbers for tape tracks and
restores basic functionality.

Still various edge cases pertaining tape tracks remain. particularly
when changing the session start-time and moving destructive regions.
libs/ardour/audio_diskstream.cc