From 838385443053aab0997fee6ec8633571d7efa660 Mon Sep 17 00:00:00 2001 From: oxygen-dioxide <54425948+oxygen-dioxide@users.noreply.github.com> Date: Sun, 5 Nov 2023 16:01:48 +0800 Subject: [PATCH] Fix OpenUtau freezing when using classic plugins if there are overlapping notes --- OpenUtau.Core/Classic/Ust.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/OpenUtau.Core/Classic/Ust.cs b/OpenUtau.Core/Classic/Ust.cs index e5a9b0d65..8e4600a01 100644 --- a/OpenUtau.Core/Classic/Ust.cs +++ b/OpenUtau.Core/Classic/Ust.cs @@ -341,9 +341,12 @@ public static List WritePlugin(UProject project, UVoicePart part, UNote f var note = first; while (note != last.Next) { if (note.position < position) { + //Ignore current note if it is overlapped with previous note + note = note.Next; continue; } if (note.position > position) { + //Insert R note if there is space between two notes writer.WriteLine($"[#{sequence.Count:D4}]"); var spacer = UNote.Create(); spacer.position = position;