チケット #45896

Win版 カラー設定機能を追加

登録: 2022-10-17 21:34 最終更新: 2022-10-20 22:05

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

詳細

ノートや背景の色をGUIでカスタマイズ可能とする。

これまでINIファイルを編集することでカスタマイズすることは可能であったが、 ユーザにとってはハードルが高い操作となっていた。

macOS版の以下チケットをマージする。

  • #45695 macOS版 カラー設定機能を追加

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

2022-10-17 21:34 更新者: yknk
  • 新しいチケット "Win版 カラー設定機能を追加" が作成されました
2022-10-17 22:03 更新者: yknk
コメント

仕様1:機能

  • ユーザがデフォルトの配色とは別に、6つのカラーパレットを選択できるようにする。
  • デフォルトが選択された場合は、これまで通り、各ビューモード別に用意されたINIファイルに定義されている色を採用する。
  • 6つのカラーパレットのいずれかが選択された場合は、すべてのビューモードにおいて、パレットに定義されている色を採用する。
  • 6つのカラーパレットに定義されている色は、ユーザが編集可能とする。
  • カラーパレットに定義する色は、チャンネル1-16のノート、背景、グリッドライン、カウンターとする。
  • カラーパレット編集機能として、グラデーションカラー設定機能、デフォルトカラー設定機能、カラーパラメータ(テキスト)のエクスポート/インポート機能を用意する。
  • パラメータのエクスポート/インポートにより、テキストファイルとして保存、他のPCへのデータ移行、他ユーザとの共有を可能とする。

仕様2:ユーザインターフェース

  • Optionメニューに「Color...」を追加。
  • カラー設定ダイアログを追加。カラーパレットの一覧を表示してラジオボタンで選択する。
  • カラーパレットごとに編集ボタンを用意して、カラーパレット設定ダイアログを開けるようにする。ただしデフォルトのパレットは編集ボタンを用意しない。
  • カラーパレット設定ダイアログで各項目の色を編集可能とする。
2022-10-17 22:03 更新者: yknk
コメント

対策1:画面リソース変更 MIDITrail.rc

Dialog / IDD_COLOR_CFG

  • カラー設定ダイアログを追加。

Dialog / IDD_COLOR_PALETTE_CFG

  • カラーパレット設定ダイアログを追加。

Dialog / IDD_COLOR_PARAM_EXPORT

  • カラーパラメータ出力ダイアログを追加。

Dialog / IDD_COLOR_PARAM_IMPORT

  • カラーパラメータ入力ダイアログを追加。

Menu / IDM_OPTION_COLOR

  • Optionメニューに"Color..."アイテムを追加。
2022-10-17 22:04 更新者: yknk
コメント

対策2:データクラス

MTParam.h

  • カラー設定保存用のファイル名の定義を追加。

MTColorConf

  • カラー設定クラスを追加。

MTColorPalette

  • カラーパレットクラスを追加。

対策3:ダイアログクラス

MTColorCfgDlg

  • カラー設定ダイアログクラスを追加。

MTColorPaletteCfgDlg

  • カラーパレット設定ダイアログクラスを追加。

MTColorParamExportDlg

  • カラーパラメータ出力ダイアログクラスを追加。

MTColorParamImportDlg

  • カラーパラメータ入力ダイアログクラスを追加。

対策4:アプリケーションクラス

MIDITrailApp

  • メンバにカラー設定ダイアログ m_ColorCfgDlg を追加。

MIDITrailApp::_WndProcImpl

  • Colorメニュー選択時のイベントハンドラ呼び出しを追加。

MIDITrailApp::_OnMenuOptionColor

  • Colorメニュー選択イベントハンドラを追加。

MIDITrailApp::_ChangeMenuStyle

  • Colorメニューの活性化設定を追加。
2022-10-17 22:05 更新者: yknk
コメント

対策5:カラー設定処理

MTDashboard::_LoadConfFile

  • カラー設定クラスからカウンター色を取得するように変更。

MTDashboardLive::_LoadConfFile

  • カラー設定クラスからカウンター色を取得するように変更。

MTNoteDesign::_LoadConfFile

  • カラー設定クラスからノートとグリッドラインの色を取得するように変更。

MTTimeIndicator::_CreateVertexOfIndicatorLine

  • タイムインジケータを面でなく線で描画する場合、再生面の色ではなくグリッドラインの色を採用するように変更。

MTScenePianoRoll3D::_LoadConf

  • カラー設定クラスから背景色を取得するように変更。

MTScenePianoRoll3DLive::_LoadConf

  • カラー設定クラスから背景色を取得するように変更。

MTScenePianoRollRain::_LoadConf

  • カラー設定クラスから背景色を取得するように変更。

MTScenePianoRollRainLive::_LoadConf

  • カラー設定クラスから背景色を取得するように変更。

MTScenePianoRollRing::_LoadConf

  • カラー設定クラスから背景色を取得するように変更。

MTScenePianoRollRingLive::_LoadConf

  • カラー設定クラスから背景色を取得するように変更。

対策6:ライブラリの修正

DXColorUtil::MakeHexRGBAFromColor

  • 数値からRGBA(16進数文字列)への変換メソッドを追加。

DXColorUtil::MakeColorFromHexRGBA

  • 16進数文字列の文字数チェックで、「4文字未満なら」処理をスキップする判定を、「8文字未満なら」に修正。潜在不良。

対策7:ビューモード設定ファイル

再生面の色

再生面の色を、青色寄りからフラットに変更。 背景色が気軽にカスタマイズできるようになるため、半透明の再生面に色味を持たせないようにする。 シーン別INIファイルすべてについて、以下パラメータを変更する。

[Color]
変更前
PlaybackSectionRGBA=AAAAFF4E
変更後
PlaybackSectionRGBA=AAAAAA38

2022-10-20 22:05 更新者: yknk
  • 状況オープン から 完了 に更新されました
  • 解決法なし から 修正済み に更新されました

添付ファイルリスト

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

編集

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