チケット #37882

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

登録: 2018-01-14 22:25 最終更新: 2018-01-15 01:11

報告者:
担当者:
チケットの種類:
状況:
完了
コンポーネント:
マイルストーン:
優先度:
5 - 中
重要度:
5 - 中
解決法:
修正済み
ファイル:
なし

詳細

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

macOS版から移植する。

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

チケットの履歴 (4 件中 3 件表示)

2018-01-14 22:25 更新者: yknk
  • 新しいチケット "iOS版 発音中ノートボックスを大きく描画する" が作成されました
2018-01-14 22:25 更新者: yknk
  • 詳細が更新されました
コメント

仕様変更

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

PianoRoll2D.ini, PianoRoll3D.iniの変更点

----
[ActiveNote]
SizeRatio=1.4 ←新規追加
----
2018-01-14 22: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.4"を追加。

2018-01-15 01:11 更新者: yknk
  • 解決法なし から 修正済み に更新されました
  • 状況オープン から 完了 に更新されました

添付ファイルリスト

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

編集

このチケットにコメントを追加するには、ログインが必要です » ログインする