diff --git a/OngekiFumenEditor/Kernel/Audio/DefaultCommonImpl/Sound/DefaultFumenSoundPlayer.cs b/OngekiFumenEditor/Kernel/Audio/DefaultCommonImpl/Sound/DefaultFumenSoundPlayer.cs index d1efa847..f4b7fba3 100644 --- a/OngekiFumenEditor/Kernel/Audio/DefaultCommonImpl/Sound/DefaultFumenSoundPlayer.cs +++ b/OngekiFumenEditor/Kernel/Audio/DefaultCommonImpl/Sound/DefaultFumenSoundPlayer.cs @@ -11,6 +11,7 @@ using OngekiFumenEditor.Utils.ObjectPool; using System; using System.Collections.Generic; +using System.ComponentModel; using System.ComponentModel.Composition; using System.IO; using System.Linq; @@ -121,7 +122,8 @@ async Task load(SoundControl sound, string fileName) if (!noError) { - MessageBox.Show(Resources.WarnSomeSoundsNotLoad); + if (!DesignerProperties.GetIsInDesignMode(new DependencyObject())) + MessageBox.Show(Resources.WarnSomeSoundsNotLoad); source.SetResult(false); return; } diff --git a/OngekiFumenEditor/Kernel/Audio/NAudioImpl/Music/DefaultMusicPlayer.cs b/OngekiFumenEditor/Kernel/Audio/NAudioImpl/Music/DefaultMusicPlayer.cs index c6d12197..48ae2beb 100644 --- a/OngekiFumenEditor/Kernel/Audio/NAudioImpl/Music/DefaultMusicPlayer.cs +++ b/OngekiFumenEditor/Kernel/Audio/NAudioImpl/Music/DefaultMusicPlayer.cs @@ -144,7 +144,7 @@ private TimeSpan GetTime() if (!IsPlaying) return pauseTime; var offset = TimeSpan.FromTicks(sw.ElapsedTicks) * manager.MusicSpeed; - var adjustedTime = offset + baseOffset - TimeSpan.FromMilliseconds(manager.SpeedCostDelayMs); + var adjustedTime = offset + baseOffset - TimeSpan.FromMilliseconds(manager.SpeedCostDelayMs / 2); var actualTime = MathUtils.Max(TimeSpan.Zero, adjustedTime); return actualTime; } diff --git a/OngekiFumenEditor/Kernel/Audio/NAudioImpl/NAudioManager.cs b/OngekiFumenEditor/Kernel/Audio/NAudioImpl/NAudioManager.cs index 7bb7071e..aca85b04 100644 --- a/OngekiFumenEditor/Kernel/Audio/NAudioImpl/NAudioManager.cs +++ b/OngekiFumenEditor/Kernel/Audio/NAudioImpl/NAudioManager.cs @@ -96,7 +96,7 @@ public NAudioManager() enableSoundMultiPlay = AudioSetting.Default.EnableSoundMultiPlay; targetSampleRate = AudioSetting.Default.AudioSampleRate; enableVarspeed = AudioSetting.Default.EnableVarspeed; - SpeedCostDelayMs = AudioSetting.Default.VarspeedReadDurationMs; + SpeedCostDelayMs = enableVarspeed ? AudioSetting.Default.VarspeedReadDurationMs : 0; Log.LogDebug($"targetSampleRate: {targetSampleRate}"); Log.LogDebug($"audioOutputType: {audioOutputType}"); diff --git a/OngekiFumenEditor/Kernel/SettingPages/Audio/Views/AudioSettingView.xaml b/OngekiFumenEditor/Kernel/SettingPages/Audio/Views/AudioSettingView.xaml index 4d31f8c0..25c0c6fd 100644 --- a/OngekiFumenEditor/Kernel/SettingPages/Audio/Views/AudioSettingView.xaml +++ b/OngekiFumenEditor/Kernel/SettingPages/Audio/Views/AudioSettingView.xaml @@ -34,6 +34,27 @@ + + + + + + + + + + + diff --git a/OngekiFumenEditor/Modules/AudioPlayerToolViewer/Views/AudioPlayerToolViewerView.xaml b/OngekiFumenEditor/Modules/AudioPlayerToolViewer/Views/AudioPlayerToolViewerView.xaml index f78094cf..8ef4a15f 100644 --- a/OngekiFumenEditor/Modules/AudioPlayerToolViewer/Views/AudioPlayerToolViewerView.xaml +++ b/OngekiFumenEditor/Modules/AudioPlayerToolViewer/Views/AudioPlayerToolViewerView.xaml @@ -253,26 +253,21 @@ Content="{markup:Translate [EnableVisualizerDisplay]}" IsChecked="{Binding IsShowWaveform}"> - - - - - + IsEnabled="{Binding AudioPlayer.IsPlaying, Converter={StaticResource ReverseBoolConverter}}"> + + +