Hey all,
So I’ve been using PlexAmp for a while now, and I decided to poke a little bit into it’s inner workings. As it’s using mpd under hood, I was wondering if I simply could connect with any old mpd client and control Plexamp from there. By default, the mpd client in Plexamp isn’t using the default port of 6600, so I had to figure that out first. Luckily, the mpd.conf file wasn’t too hard to find, as it can be found at
%LOCALAPPDATA%\Programs\plexamp\resources\helpers\mpd.conf on Windows 10.
As it turns out, the port that’s used is 36600. I had no trouble connecting to the mpd instance using either ncmpcpp under WSL or using Auremo on Windows. Unfortunately, that’s where the fun ends; almost nothing works, except for previous/next, stop and play (pause and resume unfortunately not) and surprisingly, volume control works just fine. However, previous just restarts the current song.
As for playlists and the Media library, they are entirely nonexistent and crash ncmpcpp for me, but not Auremo. Instead, there are two files queued up with not the title of the song, but instead an URL in the following format (decoded for convenience):
http://127.0.0.1:20000/proxy?source=[..]&endpoint=/library/parts/159913/1512592717/file.flac?download=1&X-Plex-Client-Identifier=[..]&X-Plex-Session-Identifier=[..]
The song playing is always the first song in queue, and next skips gaplessly/crossfades to the next song and that becomes the first in queue, so I assume that’s how they’ve got gapless playback working (by making sure the next song is always preloaded), and that’s why the previous functionality doesn’t work straight from mpd.
Interesting useless fact: by copy-pasting the url into your browser, it downloads the song directly from your server 
I haven’t delved deeper into it as it seems fairly pointless and too much effort, but it gave rise to the following questions/suggestions I’d have for the development team:
- Could you elaborate more on how you’ve got the connection between mpd and Plex working?
- Would it be possible to expose the entire Plex library to mpd sufficiently enough that we could actually use clients like `ncmpcpp’ to control a future headless version of PlexAmp?
- As a follow-up to 2, it would be amazing if you could release that functionality separately from PlexAmp? I would love it if my own mpd instance could simply connect to Plex and have that be the one and only master library, and also to be able to use mpd remotely without hassle.
Thanks in advance!
