diff --git a/VocaluxeLib/Songs/CSong.cs b/VocaluxeLib/Songs/CSong.cs index 3a5cb2d0..46fe2267 100644 --- a/VocaluxeLib/Songs/CSong.cs +++ b/VocaluxeLib/Songs/CSong.cs @@ -402,7 +402,7 @@ namespace VocaluxeLib.Songs return series; } - private void _FindRefrain() + private void _CalcMedley() { if (IsDuet) { @@ -410,7 +410,7 @@ namespace VocaluxeLib.Songs return; } - if (!_CalculateMedley) + if (!_CalculateMedley || Medley.Source != EDataSource.None) return; List series = _GetSeries(); @@ -458,14 +458,16 @@ namespace VocaluxeLib.Songs Medley.FadeOutTime = CBase.Settings.GetDefaultMedleyFadeOutTime(); } } + } - if (Preview.Source == EDataSource.None) + private void _CheckPreview() + { + if (Preview.Source != EDataSource.None) + return; + if (Medley.Source != EDataSource.None) { - if (Medley.Source != EDataSource.None) - { - Preview.StartTime = CBase.Game.GetTimeFromBeats(Medley.StartBeat, BPM); - Preview.Source = EDataSource.Calculated; - } + Preview.StartTime = CBase.Game.GetTimeFromBeats(Medley.StartBeat, BPM); + Preview.Source = EDataSource.Calculated; } } diff --git a/VocaluxeLib/Songs/CSongLoader.cs b/VocaluxeLib/Songs/CSongLoader.cs index 0539a00e..79a80821 100644 --- a/VocaluxeLib/Songs/CSongLoader.cs +++ b/VocaluxeLib/Songs/CSongLoader.cs @@ -743,7 +743,8 @@ namespace VocaluxeLib.Songs sr.Dispose(); try { - _Song._FindRefrain(); + _Song._CalcMedley(); + _Song._CheckPreview(); _Song._FindShortEnd(); _Song.NotesLoaded = true; if (_Song.IsDuet)