diff --git a/FDK/src/04.Graphics/CVideoDecoder.cs b/FDK/src/04.Graphics/CVideoDecoder.cs index 56bfa909..6871c922 100644 --- a/FDK/src/04.Graphics/CVideoDecoder.cs +++ b/FDK/src/04.Graphics/CVideoDecoder.cs @@ -78,7 +78,8 @@ namespace FDK public void Dispose() { - close = true; + bDrawing = false; + close = true; cts?.Cancel(); while (DS != DecodingState.Stopped) ; frameconv.Dispose(); @@ -102,7 +103,9 @@ namespace FDK CTimer.Reset(); CTimer.Resume(); this.bPlaying = true; - } + bDrawing = true; + + } public void PauseControl() { @@ -122,7 +125,8 @@ namespace FDK { CTimer.Pause(); this.bPlaying = false; - } + bDrawing = false; + } public void InitRead() { @@ -329,7 +333,8 @@ namespace FDK //for play public bool bPlaying { get; private set; } = false; - private CTimer CTimer; + public bool bDrawing { get; private set; } = false; + private CTimer CTimer; private AVRational Framerate; private CTexture lastTexture; private bool bqueueinitialized = false; diff --git a/OpenTaiko/src/Stages/05.SongSelect/CActSelect曲リスト.cs b/OpenTaiko/src/Stages/05.SongSelect/CActSelect曲リスト.cs index 7a762acc..fe07b1d3 100644 --- a/OpenTaiko/src/Stages/05.SongSelect/CActSelect曲リスト.cs +++ b/OpenTaiko/src/Stages/05.SongSelect/CActSelect曲リスト.cs @@ -391,11 +391,14 @@ namespace TJAPlayer3 } else { - this.rCurrentlySelectedSong.rParentNode.bIsOpenFolder = false; // Reindex the parent node - this.rCurrentlySelectedSong.rParentNode.Openindex = rCurrentlySelectedSong.rParentNode.list子リスト.IndexOf(this.rCurrentlySelectedSong); - tChangeSong(-this.rCurrentlySelectedSong.rParentNode.Openindex); - } + List currentSongList = flattenList(TJAPlayer3.Songs管理.list曲ルート, true); + this.rCurrentlySelectedSong.rParentNode.Openindex = currentSongList.IndexOf(this.rCurrentlySelectedSong) - currentSongList.IndexOf(this.rCurrentlySelectedSong.rParentNode.list子リスト[0]); + this.rCurrentlySelectedSong.rParentNode.bIsOpenFolder = false; + tChangeSong(-this.rCurrentlySelectedSong.rParentNode.Openindex); + + + } this.t現在選択中の曲を元に曲バーを再構成する(); this.t選択曲が変更された(false); // #27648 項目数変更を反映させる diff --git a/OpenTaiko/src/Stages/07.Game/CAct演奏AVI.cs b/OpenTaiko/src/Stages/07.Game/CAct演奏AVI.cs index 70189793..b3a87792 100644 --- a/OpenTaiko/src/Stages/07.Game/CAct演奏AVI.cs +++ b/OpenTaiko/src/Stages/07.Game/CAct演奏AVI.cs @@ -44,9 +44,9 @@ namespace TJAPlayer3 public unsafe int t進行描画( int x, int y ) { - if ( !base.IsDeActivated ) + if ( !base.IsDeActivated) { - if (this.rVD == null) + if (this.rVD == null || !rVD.bDrawing) return 0; this.rVD.GetNowFrame(ref this.tx描画用); diff --git a/OpenTaiko/src/Stages/07.Game/CStage演奏画面共通.cs b/OpenTaiko/src/Stages/07.Game/CStage演奏画面共通.cs index b77770f3..f9f50089 100644 --- a/OpenTaiko/src/Stages/07.Game/CStage演奏画面共通.cs +++ b/OpenTaiko/src/Stages/07.Game/CStage演奏画面共通.cs @@ -7,6 +7,7 @@ using FDK; using FDK.ExtensionMethods; using TJAPlayer3; using System.Linq; +using Silk.NET.Core; namespace TJAPlayer3 { @@ -5575,7 +5576,8 @@ namespace TJAPlayer3 else { this.actAVI.Seek(0); - } + } + break; } } }