MIDITrail をピカピカにする。鍵盤方向自動切替・多ポート・歌詞対応等
リビジョン | defaef3c97927451a310ebb3804facf9048b70ec (tree) |
---|---|
日時 | 2023-08-06 14:38:45 |
作者 | yoshy <yoshy@user...> |
コミッター | yoshy |
[FIX] タイムインジケーターオブジェクトのMod化関連の不具合を修正
・PianoRoll3Dで描画順判定時にタイムインジケーターModオブジェクトを見るように修正していなかったので波紋描画時に透過しないことがあった
・PianoRoll3Dで演奏停止時にタイムインジケーターModオブジェクトのリセットが漏れていて表示位置がまき戻っていなかった
・PianoRoll3Dで視点読み書き時にタイムインジケーターオブジェクトを見ているが演奏位置を通知していなかったので保存座標が相殺されず演奏停止位置にずれていた
・PianoRollRingで視点読み書き時にタイムインジケーターオブジェクトを見ているが演奏位置を通知していなかったので保存座標が相殺されず演奏停止位置にずれていた
@@ -188,7 +188,7 @@ int MTScenePianoRoll3DMod::Draw( | ||
188 | 188 | if (result != 0) goto EXIT; |
189 | 189 | |
190 | 190 | // カメラ位置が演奏位置より手前側であれば |
191 | - if(m_TimeIndicator.GetPos() > camVector.x) { | |
191 | + if(m_TimeIndicatorMod.GetPos() > camVector.x) { | |
192 | 192 | |
193 | 193 | //メッシュ>タイムインジケータ>歌詞>波紋>キーボードの順で奥から描画 |
194 | 194 |
@@ -288,6 +288,8 @@ int MTScenePianoRoll3DMod::OnRecvSequencerMsg( | ||
288 | 288 | else if (parser.GetMsg() == SMMsgParser::MsgPlayTime) { |
289 | 289 | m_Dashboard.SetPlayTimeMSec(parser.GetPlayTimeMSec()); |
290 | 290 | m_FirstPersonCam.SetCurTickTime(parser.GetPlayTickTime()); |
291 | + // Viewpointの読み書きに支障が出るので、m_TimeIndicator にも通知する | |
292 | + m_TimeIndicator.SetCurTickTime(parser.GetPlayTickTime()); | |
291 | 293 | m_TimeIndicatorMod.SetCurTickTime(parser.GetPlayTickTime()); |
292 | 294 | m_NoteRippleMod.SetPlayTimeMSec(parser.GetPlayTimeMSec()); |
293 | 295 | m_NoteRippleMod.SetCurTickTime(parser.GetPlayTickTime()); |
@@ -359,6 +361,7 @@ void MTScenePianoRoll3DMod::_Reset() | ||
359 | 361 | { |
360 | 362 | MTScenePianoRoll3D::_Reset(); |
361 | 363 | |
364 | + m_TimeIndicatorMod.Reset(); | |
362 | 365 | m_NoteBoxMod.Reset(); |
363 | 366 | m_NoteRippleMod.Reset(); |
364 | 367 | m_NoteLyrics.Reset(); |
@@ -224,6 +224,8 @@ int MTScenePianoRollRingMod::OnRecvSequencerMsg( | ||
224 | 224 | else if (parser.GetMsg() == SMMsgParser::MsgPlayTime) { |
225 | 225 | m_Dashboard.SetPlayTimeMSec(parser.GetPlayTimeMSec()); |
226 | 226 | m_FirstPersonCam.SetCurTickTime(parser.GetPlayTickTime()); |
227 | + // Viewpointの読み書きに支障が出るので、m_TimeIndicator にも通知する | |
228 | + m_TimeIndicator.SetCurTickTime(parser.GetPlayTickTime()); | |
227 | 229 | m_TimeIndicatorMod.SetCurTickTime(parser.GetPlayTickTime()); |
228 | 230 | m_NoteRippleMod.SetPlayTimeMSec(parser.GetPlayTimeMSec()); |
229 | 231 | m_NoteRippleMod.SetCurTickTime(parser.GetPlayTickTime()); |