OSDN Ticket Archive


Ticket #46245

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

登録: 2022-12-10 23:55 最終更新: 2022-12-11 00:26

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

詳細

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

Windows版とmacOS版では、これまでINIファイルを編集することでカスタマイズすることは可能であったが、 iOS版では色をカスタマイズする手段はなかった。

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

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

チケットの履歴

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

仕様1:機能

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

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

  • 設定ビューの"Graphic"セクションに「Color」を追加。「Color」をタッチするとカラー設定ビューを表示する。ただしiOS 14.0未満の場合は「Color」を表示しない。UIColorWellがiOS 14.0以降でないと利用できないため。
  • カラー設定ビューでは、カラーパレットの一覧を表示してタッチ操作で選択可能とする。
  • カラー設定ビューで"edit"をタッチすることにより編集モードになる。編集モードでカラーパレットをタッチすると、カラーパレット設定ビューを表示する。ただしデフォルトのパレットは編集不可とする。
  • カラーパレット設定ビューで各項目の色を編集可能とする。
2022-12-11 00:24 更新者: yknk
コメント

対策1:xib追加

MTSettingColorView_iPhone.xib, MTSettingColorView_iPad.xib

  • カラー設定ビューを追加。

MTSettingColorPaletteView_iPhone.xib, MTSettingColorPaletteView_iPad.xib

  • カラーパレット設定ビューを追加。

MTSettingChannelView_iPhone.xib, MTSettingChannelView_iPad.xib

  • チャンネル選択ビューを追加。

MTSettingColorParamExportView_iPhone.xib, MTSettingColorParamExportView_iPad.xib

  • カラーパラメータ出力ビューを追加。

MTSettingColorParamImportView_iPhone.xib, MTSettingColorParamImportView_iPad.xib

  • カラーパラメータ入力ビューを追加。
2022-12-11 00:25 更新者: yknk
コメント

対策2:データクラス

MTParam.h

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

MTColorConf

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

MTColorPalette

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

対策3:設定ビュー修正

MTSettingViewCtrl

  • メンバにカラー設定ビュー m_pSettingColorViewCtrl を追加。
  • メンバにカラーパレット画像 m_pImageColorPalette を追加。

MTSettingViewCtrl:initWithNibName:bundle

  • iOS 14.0以降の場合にカラー設定ビューを生成する処理を追加。

MTSettingViewCtrl:tableView:numberOfRowsInSection

  • Graphicセクションの項目数を変更。

MTSettingViewCtrl:makeGraphicCellForIndexPath

  • Graphicセクションで「Color」を表示する処理を追加。

MTSettingViewCtrl:makeGraphicCellForColor

  • 「Color」セル作成メソッドを追加。

MTSettingViewCtrl:onSelectGraphicCellForIndexPath

  • Graphicセクションで「Color」が選択されたときの処理を追加。

MTSettingViewCtrl:onSelectGraphicCellForColor

  • 「Color」セル選択インベントハンドラを追加。
2022-12-11 00:25 更新者: yknk
コメント

対策4:設定ビュー背景色修正

設定対象:MTSettingView_iPhone.xib, MTSettingView_iPad.xib

設定ビューは複数のセクションで構成されているが、背景色が白いためセクションの区切りが識別しにくい。 背景色を設定することにより、セクションを見分けやすいようにする。 インターフェースビルダーでテーブルビューの属性を変更する。

View / Background
変更前:System Background Color
変更後:System Grouped Background Color

2022-12-11 00:25 更新者: yknk
コメント

対策5:カラー設定ビュー追加

MTSettingColorViewCtrl

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

MTSettingColorPaletteViewCtrl

  • カラーパレット設定ビュークラスを追加。

MTSettingChannelViewCtrl

  • チャンネル選択ビュークラスを追加。

MTSettingColorPaletteViewCtrl

  • カラーパレット設定ビュークラスを追加。

MTSettingColorParamExportViewCtrl

  • カラーパラメータ出力ビュークラスを追加。

MTSettingColorParamImportViewCtrl

  • カラーパラメータ入力ビュークラスを追加。
2022-12-11 00:26 更新者: yknk
コメント

対策6:カラー設定処理

MTDashboard::_LoadConfFile

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

MTDashboardLive::_LoadConfFile

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

MTNoteDesign::_LoadConfFile

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

MTTimeIndicator::_CreateVertexOfIndicatorLine

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

MTScenePianoRoll3D::_LoadConf

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

MTScenePianoRoll3DLive::_LoadConf

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

MTScenePianoRollRain::_LoadConf

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

MTScenePianoRollRainLive::_LoadConf

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

MTScenePianoRollRing::_LoadConf

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

MTScenePianoRollRingLive::_LoadConf

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

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

YNINIFile::loadText

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

YNINIFile::loadFile

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

OGLColorUtil::MakeHexRGBAFromColor

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

OGLColorUtil::MakeColorFromHexRGBA

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

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

再生面の色

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

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

背景色

背景色の設定を追加。macOS版と異なり、これまで背景色の設定は存在しなかった。

[Color]
BackGroundRGBA=000000FF

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

添付ファイルリスト

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