任务单 #37882

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

开放日期: 2018-01-14 22:25 最后更新: 2018-01-15 01:11

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

Details

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

macOS版から移植する。

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

任务单历史 (3/4 Histories)

2018-01-14 22:25 Updated by: yknk
  • New Ticket "iOS版 発音中ノートボックスを大きく描画する" created
2018-01-14 22:25 Updated by: yknk
  • Details Updated
评论

仕様変更

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

PianoRoll2D.ini, PianoRoll3D.iniの変更点

----
[ActiveNote]
SizeRatio=1.4 ←新規追加
----
2018-01-14 22:25 Updated by: 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 Updated by: yknk
  • 处理结果 Update from to Fixed
  • 状态 Update from 开启 to 关闭

Attachment File List

No attachments

编辑

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