OSDN Ticket Archive


Ticket #37375

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

登録: 2017-07-17 23:07 最終更新: 2018-01-13 21:18

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

詳細

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

チケットの履歴

2017-07-17 23:07 更新者: yknk
  • 新しいチケット "macOS版 発音中ノートボックスを大きく描画する" が作成されました
2017-07-17 23:25 更新者: yknk
コメント

仕様変更

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

PianoRoll2D.ini, PianoRoll3D.iniの変更点

----
[ActiveNote]
SizeRatio=1.2 ←新規追加
----
2017-07-17 23:25 更新者: 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.2"を追加。

2017-07-17 23:25 更新者: yknk
  • 解決法なし から 修正済み に更新されました
  • 状況オープン から 完了 に更新されました
  • チケット完了時刻2017-07-17 23:25 に更新されました
2018-01-13 21:18 更新者: yknk
  • マイルストーンVersion 1.2.3 for macOS (完了済み) から (未割り当て) に更新されました
コメント

PianoRoll2D.ini, PianoRoll3D.iniの変更点

SizeRatio=1.2は記載ミス。実際の修正は1.4である。

----
[ActiveNote]
SizeRatio=1.4 ←新規追加
----

添付ファイルリスト

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