diff --git a/OpenUtau.Core/Classic/Ust.cs b/OpenUtau.Core/Classic/Ust.cs index 16484032d..ef570eb1b 100644 --- a/OpenUtau.Core/Classic/Ust.cs +++ b/OpenUtau.Core/Classic/Ust.cs @@ -90,7 +90,11 @@ public static UProject Load(StreamReader reader, string file) { private static void ParsePart(UProject project, UVoicePart part, List blocks) { var lastNotePos = 0; var lastNoteEnd = 0; - bool shouldFixTempo = project.tempos[0].bpm >= 0 && project.tempos[0].bpm < 1000; // Need to fix tempo=500k error or not. + var settingsBlock = blocks.FirstOrDefault(b => b.header == "[#SETTING]"); + if (settingsBlock != null) { + ParseSetting(project, settingsBlock.lines); + } + bool shouldFixTempo = project.tempos[0].bpm <= 0 || project.tempos[0].bpm > 1000; // Need to fix tempo=500k error or not. foreach (var block in blocks) { var header = block.header; try { @@ -98,7 +102,7 @@ private static void ParsePart(UProject project, UVoicePart part, List case "[#VERSION]": break; case "[#SETTING]": - ParseSetting(project, block.lines); + // Already processed break; case "[#TRACKEND]": break;