プロジェクト

全般

プロフィール

機能 #210

完了

IR機能を有効化する(IRConnectionManager.isIRAvailable を true に)

機能 #210: IR機能を有効化する(IRConnectionManager.isIRAvailable を true に)

エージェント ちゃん さんが22日前に追加. 21日前に更新.

ステータス:
完了
優先度:
通常
担当者:
対象バージョン:
開始日:
2026/06/15
期日:
進捗率:

100%

予定工数:

説明

refs #195

izu-ir #195 で beatoraja 向け IR クライアントプラグイン(izu-IR / bms.player.beatoraja.ir.IzuIRConnection)を実装したが、beatoraja 本体側で IR 機能が無効のため現状のビルドではロードされない。

現状

src/bms/player/beatoraja/ir/IRConnectionManager.java

public static boolean isIRAvailable() {
    return false;   // 固定
}
  • isIRAvailable()false を返す間は getAllAvailableIRConnection() / getIRConnection() / getIRConnectionClass() が常に空を返し、どの IR プラグインも検出・生成されないizu-IR も認識されない)。
  • ランチャー UI launcher/IRConfigurationViewisIRAvailable()==false でペインが disable される(IR 選択・ID/パスワード入力不可)。

やること

  • isIRAvailable()true を返すようにする(その上でクラスパス走査・プラグイン検出ロジックは既存のものを使う)。
    • 単純に true 固定とするか、ビルドフラグ・設定・プラグイン存在検知などで切り替えるかは要検討。
    • そもそも false 固定になっている経緯(意図的に IR を落としているのか)を確認してから変更する。
  • 有効化後、launcher/IRConfigurationViewizu-IR を選択し ID/パスワードを設定できることを確認。

関連

  • izu-ir #195(plugin 実装)
  • 配置手順: izu-ir docs/plugin-install.md §0(本チケットが未対応だと izu-IR が認識されない前提を記載済み)

関連するチケット 1 (0件未完了1件完了)

次のチケットに先行 beatoraja - リファクタ #211: ロボライバル機能を本体から削除し izu-IR 側に移管する完了いづ さん2026/06/162026/06/16

操作

エージェント ちゃん さんが22日前に更新 操作 #1

  • 次のチケットに先行 リファクタ #211: ロボライバル機能を本体から削除し izu-IR 側に移管する を追加

いづ さん さんが22日前に更新 操作 #2

  • 対象バージョン1.1.0 にセット

いづ さん さんが22日前に更新 操作 #3

ローカルにビルドしたBeatorajaは規定のIRに接続できないため、false固定にしていた。
今回専用IRを立ち上げることにしたので、IR機能を再度有効化する。

エージェント ちゃん さんが21日前に更新 操作 #4

  • ステータス未着手 から 実装中 に変更
  • 進捗率0 から 10 に変更

実装に着手しました。

  • ブランチ: feature/210
  • 対応方針: IRConnectionManager.isIRAvailable()true 固定に変更して IR 機能を再有効化する(クラスパス走査・プラグイン検出は既存ロジックを利用)。

エージェント ちゃん さんが21日前に更新 操作 #5

  • ステータス実装中 から 完了 に変更
  • 進捗率10 から 100 に変更

対応が完了しました。

概要

beatoraja 本体側で無効化されていた IR 機能を再有効化した。IRConnectionManager.isIRAvailable()false 固定を true に変更し、さらに #166 でランチャーから削除されていた IR 設定タブを復活させ、IRConfigurationView で IR を選択し ID/パスワードを設定できるようにした。

変更点

  • ir/IRConnectionManager.java: isIRAvailable()falsetrue(クラスパス走査・プラグイン検出は既存ロジックをそのまま利用、未配置時は空を返すため副作用なし)。
  • launcher/PlayConfigurationView.fxml: skinTab と roboRivalTab の間に IR タブ(fx:include IRConfigurationView.fxml)を再追加。
  • launcher/PlayConfigurationView.java: irTab/irController フィールド、irController.update/commit、全タブ disable 時の irTab.setDisable 配線を復活。
  • test/.../ir/IRConnectionManagerTest.java(新規): isIRAvailable() が true を返す回帰ガード。
  • test/.../launcher/LauncherFxmlLoadSmokeTest.java: IR タブ「無し」保証を「有り」保証に反転(playConfigurationExposesIrTab)し、タブ順アサーションに irTab を追加。
  • 変更ファイル: 計 5 件

テスト

  • xvfb-run -a ./gradlew test : 成功(FXML を実際にロードする LauncherFxmlLoadSmokeTest を含む全テスト green)

残課題(手動確認)

  • 実機・izu-IR プラグイン JAR 配置済み環境で、IR タブから izu-IR を選択し ID/パスワードを設定できることの確認。

関連 MR

  • !44 (feature/210 → develop) マージ済み

他の形式にエクスポート: PDF Atom