Skip to content

Commit 6cc3078

Browse files
Fixed source offset time
1 parent 03ebc92 commit 6cc3078

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

src/audioCore/graph/SeqSourceProcessor.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -622,7 +622,7 @@ void SeqSourceProcessor::processBlock(
622622
int sourceOffsetInSample = std::floor(sourceOffset * sampleRate);
623623

624624
/** Caculate Time */
625-
int sourceStartTimeInSample = sourceOffsetInSample;
625+
int sourceStartTimeInSample = -sourceOffsetInSample;
626626
int sourceEndTimeInSample = sourceStartTimeInSample + sourceLengthInSample;
627627
int dataStartTimeInSample = std::max(blockStartTimeInSample, sourceStartTimeInSample);
628628
int dataEndTimeInSample = std::min(blockEndTimeInSample, sourceEndTimeInSample);
@@ -634,13 +634,12 @@ void SeqSourceProcessor::processBlock(
634634

635635
if (hotLengthInSample > 0) {
636636
int bufferOffsetInSample = hotStartTimeInSample - startTimeInSample;
637-
int sourceOffsetInSample = hotStartTimeInSample - sourceStartTimeInSample;
638637

639638
/** Read Data */
640639
this->readAudioData(buffer, bufferOffsetInSample,
641-
sourceOffsetInSample, hotLengthInSample);
642-
this->readMIDIData(midiMessages, sourceOffsetInSample,
643-
hotStartTimeInSample, hotEndTimeInSample);
640+
hotStartTimeInSample + sourceOffsetInSample, hotLengthInSample);
641+
this->readMIDIData(midiMessages, startTimeInSample + sourceOffsetInSample,
642+
hotStartTimeInSample + sourceOffsetInSample, hotEndTimeInSample + sourceOffsetInSample);
644643
}
645644
}
646645
}

0 commit comments

Comments
 (0)