任务单 #45900

Win版 MIDI INモニタ中にフルスクリーンに切り替えるとカウンタがモニタ停止状態になる

开放日期: 2022-10-17 21:41 最后更新: 2022-10-20 22:07

报告人:
属主:
类型:
状态:
关闭
优先:
5 - Medium
严重性:
5 - Medium
处理结果:
Fixed
文件:

Details

MIDI INモニタ中に、フルスクリーン表示に切り替えると、 カウンタの表示がモニタ停止状態になる。 画面上のMIDI INデバイス名が"(none)"に切り替わり、 画面下のノート数の右に"MONITERING OFF"が表示される。 モニタを停止して再びモニタを開始すると、カウンタの状態が復旧する。

類似の問題として、モニタ停止状態でビューモードを変更したときにも同様の事象が発生する。

任务单历史 (3/4 Histories)

2022-10-17 21:41 Updated by: yknk
  • New Ticket "Win版 MIDI INモニタ中にフルスクリーンに切り替えるとカウンタがモニタ停止状態になる" created
2022-10-17 22:10 Updated by: yknk
评论

原因

MIDITrailApp::_ToggleFullScreen にてフルスクリーン表示するとき、 MIDITrailApp::_ChangeWindowSize を呼び出してウィンドウサイズを変更する。 このときシーンオブジェクトを破棄して生成し直しているが、 シーンオブジェクト破棄直前の状態を引き継いでいなかった。 (MIDI INデバイス名とモニタ状態)

また、MIDITrailApp::_OnMenuSelectSceneTypeでビューモードを変更するときも、 シーンオブジェクトを破棄して生成し直しているが、ここにも同じ問題があった。

2022-10-17 22:11 Updated by: yknk
评论

対策

MIDITrailApp

  • メンバにMIDI INデバイス名m_MIDIINDevNameを追加。

MIDITrailApp::MIDITrailApp

  • MIDI INデバイス名m_MIDIINDevNameの初期化処理を追加。

MIDITrailApp::_OnMenuSelectSceneType

  • ライブモニタのシーンオブジェクト作成後に、MIDI INデバイス名の設定とモニタ状態を設定する処理を追加。

MIDITrailApp::_SetMonitorPortDev

  • 設定ファイルから取得したMIDI INデバイス名をメンバに登録するように修正。

MIDITrailApp::_ChangeWindowSize

  • シーンオブジェクト破棄前にMIDI INデバイス名を取得する。
  • シーンオブジェクト生成後にMIDI INデバイス名とモニタ状態を設定する。

MTScenePianoRoll3DLive::OnPlayEnd

  • ダッシュボードにMIDI INデバイス名を登録する処理を追加。

MTScenePianoRollRainLive::OnPlayEnd

  • ダッシュボードにMIDI INデバイス名を登録する処理を追加。

MTScenePianoRollRingLive::OnPlayEnd

  • ダッシュボードにMIDI INデバイス名を登録する処理を追加。

制限事項

シーンオブジェクトを再作成することにより、ノート数カウントはゼロにリセットされる。 現状は対策を見送り、制限事項とする。この制限はMIDIファイル生成でも同じ。

2022-10-20 22:07 Updated by: yknk
  • 状态 Update from 开启 to 关闭
  • 处理结果 Update from to Fixed

Attachment File List

No attachments

编辑

Please login to add comment to this ticket » 登录名