NowPlaying

再生中の曲をサーバー情報バーに表示し、再生制御もゲーム内から行う (Windows専用)

作者
wompscode
リポジトリ
github.com/wompscode/nowplaying
バージョン
v1.3.0.7
ステータス
active
プラグイン最終リリース
ガイド最終更新
  • #QoL
  • #ソーシャル

概要

ゲームをしながらSpotifyなどのプレイヤーで音楽を流している人向けのプラグイン。WindowsのSystemMediaTransportControl (SMTC)と連携して、現在再生中の曲名とアーティストをサーバー情報バーに表示する。さらに/nowplaying系コマンドからスキップ・一時停止・曲送りなどを操作できるため、ホットバーマクロに割り当ててFF14から離れずに音楽を制御できる。

なおSMTCを利用する都合上、Windowsでしか動作しない。WINE/Protonでは必要なWindows.Media APIが実装されていないため、プラグインは初期化時にこれを検知して安全に何もしない状態になる。

主な機能

  • サーバー情報バー表示 - 現在の曲名とアーティストを情報バーに表示。クリックで現在のSMTCセッションを切り替え可能
  • 再生制御コマンド - チャットからnext / prev / play / pause / playpauseでプレイヤーを操作
  • アクティブセッションの切替 - 複数のプレイヤーが同時にSMTCへ登録されている場合、cycleで対象セッションを巡回できる
  • 表示文字数の上限設定 - 曲名・アーティスト名それぞれに最大文字数を設定し、超過時に末尾を省略(既定: 曲名24文字 / アーティスト18文字)
  • 一時停止時に非表示 - 再生が止まっているときだけバー表示を隠すhideonpauseオプション

インストール

本プラグインはDalamud公式プラグインリポジトリで配布されています。カスタムリポジトリを追加する必要はありません。

  1. /xlpluginsでプラグインインストーラーを開く
  2. NowPlayingを検索してインストール

基本的な使い方

/nowplaying(短縮: /npl)を引数付きで実行する。引数なしで叩くとサブコマンド一覧がチャットに表示される。

コマンド動作
/nowplaying current現在の曲とアーティストをチャットに出力
/nowplaying next次の曲へスキップ
/nowplaying prev前の曲へ戻る
/nowplaying play再生を再開
/nowplaying pause一時停止
/nowplaying playpause再生/一時停止のトグル
/nowplaying cycle認識中のSMTCセッションを巡回(情報バーのクリックでも切替可)
/nowplaying sbサーバー情報バー要素の表示/非表示をトグル
/nowplaying hop一時停止中はバー表示を隠す挙動をトグル
/nowplaying trunc長い曲名/アーティスト名を末尾省略する挙動をトグル
/nowplaying msc <整数>曲名の最大表示文字数を設定(既定 24)
/nowplaying mac <整数>アーティスト名の最大表示文字数を設定(既定 18)

/nplも同じサブコマンドを受け付けるエイリアスなので、マクロでは短い方が扱いやすい。

関連プラグイン

注意

  • Windows専用。Steam DeckなどのWINE/Proton環境ではSMTCが利用できないため、プラグインは初期化時にWINEを検出して何もしないモードに入る(エラーで落ちることはない)
  • 検出されるプレイヤーはWindowsのSMTCに正しく対応しているアプリのみ。SMTCへのイベント送出仕様はアプリごとに差があり、Spotifyなど一部のアプリはPlaybackDataChangedを多めに発火させるなどの癖がある
  • 同時に複数のプレイヤーがSMTCに登録されている場合、意図しないセッションが選ばれることがある。情報バーをクリックするか/nowplaying cycleで目的のプレイヤーへ切り替える
  • SMTCセッションが取得できない(どのアプリもSMTCを握っていない)場合、再生制御コマンドはフォールバックとしてキーボードの仮想メディアキー(Next/Prev/Play-Pause)をkeybd_eventで送出する。Windowsのグローバルメディアキー受信側アプリが想定外の挙動をすることがある