OSDN Ticket Archive


Ticket #37561

Windows版 発音中ノートボックスを大きく描画する

登録: 2017-10-09 00:37 最終更新: 2017-10-09 22:17

報告者:
yknk
担当者:
yknk
チケットの種類:
機能リクエスト
状況:
完了
コンポーネント:
MIDITrail Ver.1.2.x for Windows
マイルストーン:
Version 1.2.3 for Windows (完了済み)
優先度:
5 - 中
重要度:
5 - 中
解決法:
修正済み
ファイル:
なし

詳細

PianoRoll 2D/3Dにて、発音中のノートボックスのサイズを大きく描画する。

マージ:#37375 macOS版 発音中ノートボックスを大きく描画する

チケットの履歴

2017-10-09 00:37 更新者: yknk
  • 新しいチケット "Windows版 発音中ノートボックスを大きく描画する" が作成されました
2017-10-09 00:38 更新者: yknk
  • 詳細が更新されました
2017-10-09 01:00 更新者: yknk
コメント

仕様変更

  • 発音中のノートボックスのサイズを大きくする。
  • ノートONの時点で最も大きくして、徐々に元にサイズに戻す。
  • 元のサイズに戻すまでの時間は、ノートボックスの色を変化させる時間と同じにする。
  • ノートボックスのサイズをINIファイルで設定可能とする。

PianoRoll2D.ini, PianoRoll3D.iniの変更点

----
[ActiveNote]
SizeRatio=1.4 ←新規追加
----
2017-10-09 01:01 更新者: yknk
コメント

対策

MTNoteBox::_UpdateVertexOfActiveNotes

全ノートの描画を担当するポリゴンデータ(m_PrimitiveAllNotes)と、 発音中ノートの描画を担当するポリゴンデータ(m_PrimitiveActiveNotes)がある。 全ノートのポリゴンデータの中で、発音中ノートに該当するポリゴンは描画しないように制御している。 描画しないようにする条件は、発音中ノートがピッチベンドで移動する場合に限定していたが、 発音中であれば常に描画しないように変更した。 発音中ノートボックスのサイズが変わることにより、ポリゴンが重なる面のZファイティングが発生するため。 以下の条件を削除する。

if ((m_pNotePitchBend->GetValue(note.portNo, note.chNo) != 0)
 && (m_pNotePitchBend->GetSensitivity(note.portNo, note.chNo) != 0)) {

MTNoteBox::_CreateVertexOfNote

ノートボックス頂点座標取得対象が発音中ノートボックスの場合は、 MTNoteDesign::GetActiveNoteBoxVirtexPosを利用して頂点を取得するように変更する。

MTNoteDesignクラス

発音中ノートボックスのメンバ変数にサイズ拡大率m_ActiveNoteBoxSizeRatioを追加。

MTNoteDesign::GetActiveNoteBoxVirtexPos

発音中ノートボックス頂点座標取得メソッドを新規追加。

MTNoteDesign::_Clear

m_ActiveNoteBoxSizeRatioの初期化処理を追加。

MTNoteDesign::_LoadConfFile

発音中ノートボックスのサイズ拡大率をINIファイルから取得する処理を追加。

PianoRoll2D.ii, PianoRoll3D.ini

ActiveNoteセクションに"SizeRatio=1.4"を追加。

2017-10-09 22:17 更新者: yknk
  • 解決法なし から 修正済み に更新されました
  • 状況オープン から 完了 に更新されました
  • チケット完了時刻2017-10-09 22:17 に更新されました

添付ファイルリスト

添付ファイルはありません