Mercurial > hg > svgui
comparison layer/TimeInstantLayer.cpp @ 356:bff85425228c
* function rename & notes
author | Chris Cannam |
---|---|
date | Mon, 04 Feb 2008 13:35:11 +0000 |
parents | 2f83b6e3b8ca |
children | 8b69f36c74be |
comparison
equal
deleted
inserted
replaced
355:9aab6bd27fcc | 356:bff85425228c |
---|---|
748 | 748 |
749 // If they didn't come from our model, and if reference frames are | 749 // If they didn't come from our model, and if reference frames are |
750 // available, then we want to offer to align them. If reference | 750 // available, then we want to offer to align them. If reference |
751 // frames are unavailable but they came from the reference model, | 751 // frames are unavailable but they came from the reference model, |
752 // we want to offer to align them too. | 752 // we want to offer to align them too. |
753 | |
754 | |
755 //!!! | |
756 | |
757 // Each point may have a reference frame that may differ from the | |
758 // point's given frame (in its source model). If it has no | |
759 // reference frame, we have to assume the source model was not | |
760 // aligned or was the reference model: when cutting or copying | |
761 // points from a layer, we must always set their reference frame | |
762 // correctly if we are aligned. | |
763 // | |
764 // When pasting: | |
765 // - if point's reference and aligned frames differ: | |
766 // - if this layer is aligned: | |
767 // - if point's aligned frame matches this layer's aligned version | |
768 // of point's reference frame: | |
769 // - we can paste at reference frame or our frame | |
770 // - else | |
771 // - we can paste at reference frame, result of aligning reference | |
772 // frame in our model, or literal source frame | |
773 // - else | |
774 // - we can paste at reference (our) frame, or literal source frame | |
775 // - else | |
776 // - if this layer is aligned: | |
777 // - we can paste at reference (point's only available) frame, | |
778 // or result of aligning reference frame in our model | |
779 // - else | |
780 // - we can only paste at reference frame | |
781 // | |
782 // Which of these alternatives are useful? | |
783 // | |
784 // Example: we paste between two tracks that are aligned to the | |
785 // same reference, and the points are at 10s and 20s in the source | |
786 // track, corresponding to 5s and 10s in the reference but 20s and | |
787 // 30s in the target track. | |
788 // | |
789 // The obvious default is to paste at 20s and 30s; if we aren't | |
790 // doing that, would it be better to paste at 5s and 10s or at 10s | |
791 // and 20s? We probably don't ever want to do the former, do we? | |
792 // We either want to be literal all the way through, or aligned | |
793 // all the way through. | |
753 | 794 |
754 for (Clipboard::PointList::const_iterator i = points.begin(); | 795 for (Clipboard::PointList::const_iterator i = points.begin(); |
755 i != points.end(); ++i) { | 796 i != points.end(); ++i) { |
756 | 797 |
757 if (!i->haveFrame()) continue; | 798 if (!i->haveFrame()) continue; |