Ticket #45900

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

Date d'ouverture: 2022-10-17 21:41 Dernière mise à jour: 2022-10-20 22:07

Rapporteur:
Propriétaire:
Type:
État:
Atteints
Priorité:
5 - moyen
Sévérité:
5 - moyen
Résolution:
Fixed
Fichier:
Aucun

Détails

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

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

Ticket History (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
Commentaire

原因

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

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

2022-10-17 22:11 Updated by: yknk
Commentaire

対策

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
  • État Update from Ouvert to Atteints
  • Résolution Update from Aucun to Fixed

Attachment File List

No attachments

Modifier

Please login to add comment to this ticket » Connexion