Skip to content

Commit 50dfc45

Browse files
authored
Merge pull request stakira#1129 from oxygen-dioxide/fix-0tick
Fix openutau unable to play if the first note starts at 0 tick
2 parents f0843fe + 641b538 commit 50dfc45

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

OpenUtau.Core/Render/RenderPhrase.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ internal RenderPhone(UProject project, UTrack track, UVoicePart part, UNote note
8888
tone = note.tone;
8989
tempos = project.timeAxis.TemposBetweenTicks(part.position + phoneme.position - leading, part.position + phoneme.End);
9090
UTempo[] noteTempos = project.timeAxis.TemposBetweenTicks(part.position + phoneme.position, part.position + phoneme.End);
91-
tempo = noteTempos[0].bpm;
91+
tempo = noteTempos.Length > 0 ? noteTempos[0].bpm : project.tempos[0].bpm;
9292

9393
double actualTickDuration = 0;
9494
for (int i = 0; i < noteTempos.Length; i++) {
@@ -316,7 +316,7 @@ internal RenderPhrase(UProject project, UTrack track, UVoicePart part, IEnumerab
316316
}
317317
var frq = phoneme.oto.Frq;
318318
UTempo[] noteTempos = project.timeAxis.TemposBetweenTicks(part.position + phoneme.position, part.position + phoneme.End);
319-
var tempo = noteTempos[0].bpm; // compromise 妥協!
319+
var tempo = noteTempos.Length > 0 ? noteTempos[0].bpm : project.tempos[0].bpm; // compromise 妥協!
320320
var frqIntervalTick = MusicMath.TempoMsToTick(tempo, (double)1 * 1000 / 44100 * frq.hopSize);
321321
double consonantStretch = Math.Pow(2f, 1.0f - phoneme.GetExpression(project, track, Format.Ustx.VEL).Item1 / 100f);
322322

0 commit comments

Comments
 (0)