فهرست منبع

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.
      * 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.currentVoiceEntryIndex = this.currentVoiceEntryIndex;
         ret.currentMappingPart = this.currentMappingPart;
         ret.currentMappingPart = this.currentMappingPart;
         ret.currentPartIndex = this.currentPartIndex;
         ret.currentPartIndex = this.currentPartIndex;