瀏覽代碼

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;