OLD WAY: s = src media start p = proj position l = length c = cut distance rest == p+=c: for rest of clips 01 = flags edits_moved, rest_moved drag left drag right curr s+=c,l-=c; next p+=c; +rest < > ... rest +-------------+ all left +-------------+ +-------------+ +abc|12345|xyz+ ---------------> +abc|012345|xyz++abc|2345|xyz+ +-------------+ 11 +-------------+ +-------------+ curr l+=c; +rest < > ... rest +-------------+ all right +-------------+ +-------------+ +abc|12345|xyz+ ---------------> +abc|1234|xyz+ +abc|123456|xyz+ +-------------+ 01 +-------------+ +-------------+ prev l+=c; curr ps+=c,l-=c < > +-------------+ one left +-------------+ +-------------+ +abc|12345|xyz+ ---------------> +ab|012345|xyz+ +abcd|2345|xyz+ +-------------+ 00 +-------------+ +-------------+ curr l+=c; next ps+=c,l-=c < > +-------------+ one right +-------------+ +-------------+ +abc|12345|xyz+ ---------------> +abc|1234|wxyz+ +abc|123456|yz+ +-------------+ 00 +-------------+ +-------------+ s+=c < > +-------------+ src left +-------------+ +-------------+ +abc|12345|xyz+ ---------------> +abc|01234|xyz+ +abc|23456|xyz+ +-------------+ 10 +-------------+ +-------------+ s+=c < > +-------------+ src right +-------------+ +-------------+ +abc|12345|xyz+ ---------------> +abc|01234|xyz+ +abc|23456|xyz+ +-------------+ 10 +-------------+ +-------------+ NEW WAY: s = src media start p = proj position l = length c = cut distance rest == p+=c: for rest of clips 01 = flags edits_moved, rest_moved drag left drag right prev l+=c; curr p+=c; +rest < > ... rest +-------------+ ripple left +-------------+ +-------------+ +abc|12345|xyz+ ---------------> +ab|12345|xyz+ +abcd|12345|xyz+ +-------------+ 11 +-------------+ +-------------+ curr l+=c; +rest < > ... rest +-------------+ ripple right +-------------+ +-------------+ +abc|12345|xyz+ ---------------> +abc|1234|xyz+ +abc|123456|xyz+ +-------------+ 01 +-------------+ +-------------+ prev l+=c; curr ps+=c,l-=c < > +-------------+ roll left +-------------+ +-------------+ +abc|12345|xyz+ ---------------> +ab|012345|xyz+ +abcd|2345|xyz+ +-------------+ 00 +-------------+ +-------------+ |curr l+=c; next ps+=c,l-=c < > +-------------+ roll right +-------------+ +-------------+ +abc|12345|xyz+ ---------------> +abc|1234|wxyz+ +abc|123456|yz+ +-------------+ 00 +-------------+ +-------------+ s-=c < > +-------------+ slip left +-------------+ +-------------+ +abc|12345|xyz+ ---------------> +abc|23456|xyz+ +abc|01234|xyz+ +-------------+ 10 +-------------+ +-------------+ s-=c < > +-------------+ slip right +-------------+ +-------------+ +abc|12345|xyz+ ---------------> +abc|23456|xyz+ +abc|01234|xyz+ +-------------+ 10 +-------------+ +-------------+ prev l+=c; curr p+=c; next ps+=c,l-=c < > +-------------+ slide left +-------------+ +-------------+ +abc|12345|xyz+ ---------------> +ab|12345|wxyz+ +abcd|12345|yz+ +-------------+ 10 +-------------+ +-------------+ prev l+=c; curr p+=c; next ps+=c,l-=c < > +-------------+ slide right +-------------+ +-------------+ +abc|12345|xyz+ ---------------> +ab|12345|wxyz+ +abcd|12345|yz+ +-------------+ 10 +-------------+ +-------------+ curr s+=c,l-=c; next p-=c; -rest < > ... rest +-------------+ edge left +-------------+ +-------------+ +abc|12345|xyz+ ---------------> +abc|2345|xyz+ +abc|012345|xyz+ +-------------+ 11 +-------------+ +-------------+ prev l+=c; curr p+=c,l-=c < > +-------------+ edge right +-------------+ +-------------+ +abc|12345|xyz+ ---------------> +ab|123456|xyz+ +abcd|1234|xyz+ +-------------+ 10 +-------------+ +-------------+