소스 검색

fix iterator.clone(): start at iterator.currentTimeStamp if startTimeStamp undefined (#896)

sschmid 4 년 전
부모
커밋
52d5f56566
1개의 변경된 파일2개의 추가작업 그리고 3개의 파일을 삭제
  1. 2 3
      src/MusicalScore/MusicParts/MusicPartManagerIterator.ts

+ 2 - 3
src/MusicalScore/MusicParts/MusicPartManagerIterator.ts

@@ -132,9 +132,8 @@ export class MusicPartManagerIterator {
     /**
      * Creates a clone of this iterator which has the same actual position.
      */
-    public clone(startTimeStamp: Fraction = undefined): MusicPartManagerIterator {
-        // TODO this hopefully sets the cloned iterator to the given startTimeStamp. needs testing
-        const ret: MusicPartManagerIterator = new MusicPartManagerIterator(this.manager, startTimeStamp);
+    public clone(startTimeStamp: Fraction = undefined, endTimeStamp: Fraction = undefined): MusicPartManagerIterator {
+        const ret: MusicPartManagerIterator = new MusicPartManagerIterator(this.manager, startTimeStamp ?? this.currentTimeStamp, endTimeStamp);
         ret.currentVoiceEntryIndex = this.currentVoiceEntryIndex;
         ret.currentMappingPart = this.currentMappingPart;
         ret.currentPartIndex = this.currentPartIndex;