Dalamud plugin · music · Pandora radio

XivPiano

Your Pandora stations, in Eorzea

A Pandora radio player inside the game, in the tradition of pianobar, Pithos and Elpis: sign in, pick a station, and it plays while you do everything else. Thumbs up and down teach the station, tired of it shelves a song for a month, why this song? answers in Pandora's own words, and a search makes a new station from any artist, song or genre. It mutes the game's music while a song plays and puts it back as it was.

XivPiano: a glowing music note sounding over a small piano keyboard, under a night sky
Current status

testing build available · playback checks pending. Core radio policies have host-side tests. Live Pandora authentication, audible playback, dialogue/duty transitions and account actions still require acceptance. Several voted features have implementation evidence but are not certified complete.

What it does

Pandora, and only Pandora. XivPiano signs in with your own Pandora account and streams your own stations, the way pianobar, Pithos and pydora talk to Pandora's JSON API. It streams; it never saves a song to keep. Ads in a playlist are left out, as those clients do.

United States only. Pandora serves the US and nowhere else, and you need a Pandora account (free, Plus or Premium). XivPiano is not affiliated with Pandora or Sirius XM.

Features

Everything below is built and its Pandora side is host-tested; none of it has been heard or seen in game yet.

Your stations

Your station list with a filter, and Shuffle (Pandora's QuickMix) where your account has it. Pick one and it tunes in; the next song is fetched before the queue runs dry.

unverified in game

Now playing

Album art, title, artist and album, a progress bar, the station and the stream's bitrate, with a volume slider on top of the song's own replay gain.

unverified in game

Thumbs, tired, bookmark

Play and pause, next song, thumbs up, thumbs down (never on this station again, and skipped), tired of it (not for a month, on any station), and bookmark the song, or the artist with a right-click.

unverified in game

Why this song?

Pandora's own reasons for picking the song, in its words: the musical traits it matched.

unverified in game

New stations

From a search (an artist, a song or a genre), or from the song or the artist that is playing. The new station joins your list and tunes in.

unverified in game

Plus and Premium at 192 kbit/s

A paid account streams 192 kbit/s MP3 (free accounts 128): asked for through the Android client like Elpis, and through the Pandora One client like Pithos when Android does not offer it. Settings can hold it at 128 to save data.

unverified in game

In the server info bar

The song's title at the top of the screen. Click opens XivPiano, right-click pauses. It can also say each new song in chat.

unverified in game

Plays nicely with the game

Mutes the game's background music while a song plays and puts the setting back as it was; pauses during cutscenes and resumes after. Both can be turned off.

unverified in game

Chat commands and macros

/piano opens it; /piano play, pause, next, love, ban, tired, stop and /piano station <name> work in chat and in macros.

unverified in game

IPC for other plugins

XivPiano.NowPlaying returns the song as JSON; XivPiano.Control takes play, pause, toggle, next, love, ban, tired and stop. No other plugin calls them yet.

unverified in game

Stays signed in, if you want

The password is encrypted for your Windows (or Wine) user with DPAPI before it is saved, never kept in the clear, and XivPiano can sign in and resume your last station when the game starts.

unverified in game

Proving it in game

None of this has been done yet. Each step is something a player in the US with a Pandora account can check in a few minutes.

  1. /piano, sign in: your stations appear, and the account line shows your plan, the client in use and the bitrate.
  2. Pick a station: a song plays through the game's audio device, the game's music goes quiet, and the progress bar moves.
  3. Thumbs up, then why this song?: the thumb turns green and Pandora's reasons appear. Thumbs down or tired of it: the next song starts.
  4. The server info bar shows the title; right-click pauses and the game's music comes back.
  5. Watch a cutscene: the song pauses, and resumes when it ends.
  6. Search an artist under New station: the new station tunes in. /piano next in a macro skips.

Please report what you hear and see, with the /xllog lines for anything that goes wrong. Leave your email and password out of anything you paste.

Screenshots and clips

Planned shots. Empty frames are placeholders for screenshots and clips that will be captured in game.

Loading the shot list…

Install

Two ways, and both are kept on purpose: one click from the plugin repository, or build it from source and load it as a dev plugin.

One click

Add the repository once; every mod here installs and updates like any other plugin.

https://spacegho.st/mods/ffxiv/plugins.json
  1. In game, type /xlsettings → the Experimental tab.
  2. Under Custom Plugin Repositories, paste the URL into the empty row, press +, and leave its checkbox ticked.
  3. Save and Close.
  4. /xlplugins → All Plugins → search XivPiano → Install.

XivPiano has testing release available, so it does not show under All Plugins until it has one. Build it yourself in the meantime; the changelog will say when it is released and which parts have been heard working in game.

Dalamud will warn you that this is a third-party repository nobody but its author has reviewed. That is true. The repository page says more, including how test builds work.

Build it yourself

The dev plugin path: exactly the code in your checkout, no repository, no auto-update. It is how the author runs it, and the honest way to read the code before you trust it with your Pandora password.

git clone https://github.com/Spaceghost/xivpiano-dalamud
cd xivpiano-dalamud
tools/fetch-dalamud.sh && tools/install-dev.sh
  1. Needs the .NET 10 SDK. tools/fetch-dalamud.sh fetches Dalamud's reference assemblies. Rebuild after every Dalamud update.
  2. tools/install-dev.sh builds Release, stages it outside the checkout, and prints the path (a Z:\… path under Wine). It never edits Dalamud's configuration.
  3. In game: /xlsettings → Experimental → Dev Plugin Locations → add the path of the built XivPiano.dll → + → Save and Close.
  4. /xlplugins → Dev Tools → Installed Dev Plugins → enable XivPiano. Dev plugins are added disabled.
  5. Rebuilt while the game is running? Press the reload arrow on its entry. No relaunch.

If you later switch to the one-click install, disable the dev plugin first so the two copies cannot fight over the same name. The README has the details.

Requirements

  • FFXIV with Dalamud (API level 15), on Windows or on Linux under Wine. Songs are MP3, decoded in managed code (NLayer) and played through winmm (NAudio), so nothing depends on Windows codecs.
  • A Pandora account (free, Plus or Premium), in the United States. Pandora refuses other countries, and says so.
  • Known limits: Pandora's audio links expire about an hour after a playlist is fetched, so queued songs older than that are skipped and fresh ones fetched. Pandora's API is unofficial: if Pandora changes it, XivPiano needs an update, as pianobar and Pithos do.

Community screenshots

Screenshots of XivPiano shared by players. Every one is reviewed by the site owner before it is shown here. Every mod's are in the gallery, and what XivPiano should do next is up for a vote.

Loading…

Add yours

Sharing a screenshot needs a sign-in, so that everything sent to this site comes from an account.

Signing in with FFXIV needs an XIVAuth account and shares no character.

Hide your own name and chat first, and never share a terminal showing tokens or private paths. Metadata is stripped from the image before it is stored. Your upload is linked to your GitHub or XIVAuth account id, which the site owner can see; the public sees only the image and the credit you typed. To have a shot removed, contact the owner through github.com/Spaceghost.

Releases and next checks

Reviewed . Release availability and live verification are tracked separately.

Core radio policies have host-side tests. Live Pandora authentication, audible playback, dialogue/duty transitions and account actions still require acceptance. Several voted features have implementation evidence but are not certified complete.

Voted feature queue · Vote on features · Source and build instructions

Privacy. XivPiano talks to Pandora and nothing else: your email and password go to Pandora's own servers to sign in, and songs and album art come from Pandora's links. The password is saved only if you ask, encrypted with DPAPI for your Windows (or Wine) user. It reads the game's music setting to put it back as it was, and whether a cutscene is playing; it reads nothing else from the game and sends nothing from it.

This page is counted, without cookies and without anything that identifies you: what this site counts. It loads nothing from any other site.

Made by Johnneylee Jack Rollins · github.com/Spaceghost. FINAL FANTASY XIV is © SQUARE ENIX; these are unofficial fan plugins and are not endorsed by SQUARE ENIX. Pandora is a trademark of Pandora Media, LLC, a Sirius XM company; XivPiano is not affiliated with or endorsed by Pandora or Sirius XM.