OSDN Ticket Archive


Ticket #45695

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

登録: 2022-09-23 23:08 最終更新: 2022-09-28 21:47

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

詳細

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

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

チケットの履歴

2022-09-23 23:08 更新者: yknk
  • 新しいチケット "macOS版 カラー設定機能を追加" が作成されました
2022-09-23 23:10 更新者: yknk
コメント

仕様1:機能

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

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

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

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

ColorCfgDlg.xib

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

ColorPaletteCfgDlg.xib

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

ColorParamExportDlg.xib

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

ClorParamImportDlg.xib

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

MainMenu.xib

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

対策2:データクラス

MTParam.h

  • カラー設定保存用のカテゴリ名とセクション名の定義を追加。

MTColorConf

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

MTColorPalette

  • カラーパレットクラスを追加。
2022-09-23 23:11 更新者: yknk
コメント

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

MTColorCfgDlg

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

MTColorPaletteCfgDlg

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

MTColorParamExportDlg

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

MTColorParamImportDlg

  • カラーパラメータ入力ダイアログクラスを追加。
2022-09-23 23:11 更新者: yknk
コメント

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

MIDITrailApp::OnMenuOptionColor

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

MIDITrailApp::_ChangeMenuStyle

  • Colorメニューの活性化設定を追加。
2022-09-23 23:12 更新者: yknk
コメント

対策5:メニュー制御クラス

MTMenuCtrl::initialize

  • Colorメニューの初期化処理を追加。

MTMenuCtrl::menuItemOf

  • Colorメニューの対応を追加。

MTMenuCtrl::onMenuColor

  • Colorメニュー選択イベントハンドラを追加。
2022-09-23 23:12 更新者: yknk
コメント

対策6:カラー設定処理

MTDashboard::_LoadConfFile

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

MTDashboardLive::_LoadConfFile

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

MTNoteDesign::_LoadConfFile

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

MTTimeIndicator::_CreateVertexOfIndicatorLine

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

MTScenePianoRoll3D::_LoadConf

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

MTScenePianoRoll3DLive::_LoadConf

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

MTScenePianoRollRain::_LoadConf

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

MTScenePianoRollRainLive::_LoadConf

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

MTScenePianoRollRing::_LoadConf

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

MTScenePianoRollRingLive::_LoadConf

  • カラー設定クラスから背景色を取得するように変更。
2022-09-23 23:12 更新者: yknk
コメント

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

YNINIFile::loadText

  • INIテキストファイル読み込みメソッドを追加。既存のloadFileメソッドの実装を引き継ぐ。

YNINIFile::loadFile

  • loadTextメソッドを呼び出すように変更。

OGLColorUtil::MakeHexRGBAFromColor

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

OGLColorUtil::MakeColorFromHexRGBA

  • 16進数文字列の文字数チェックで、「4文字未満なら」処理をスキップする判定を、「8文字未満なら」に修正。潜在不良。
2022-09-23 23:13 更新者: yknk
コメント

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

再生面の色

再生面の色を、青色寄りからフラットに変更。背景色が気軽にカスタマイズできるようになるため、半透明の再生面に色味を持たせないようにする。

シーン別INIファイルすべてについて、以下パラメータを変更する。

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

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

添付ファイルリスト

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