Rpi plexamp setup

Hello. I followed: Plexamp for Raspberry Pi Release Notes
Its running but I don’t have a server.json to steal. Is there an example of one?
I am getting a:

error: DEVICE: Error loading media providers from plex.tv: Error: Request failed wi
th status code 401

so I am assuming there is a property to authenticate

Regards,

I’m having the same issue. None of the devices I install Plexamp on create a server.json file. Please let me know if this is still created, how I can assure to create one on another device, and what the content needs to be. Without this, my rpi won’t connect.

Windows 10: no file found anywhere…
chyre@chronus /cygdrive/c/Users/chyre/AppData/Local/Plexamp/Plexamp
$ ls
Cache Logs PlayQueue.json Sync-RecentPlays.json

$ find c:/Users/chyre -name server.json
no results

Windows 7: same thing, no file created.

Android phone: same, no file created.

I’ve tried searching the entire disk on all 3 devices, but no file found. All 3 run Plexamp great. They all launch an HTTP request to the server to authenticate, and this is successful.

https://app.plex.tv/auth#?clientID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&code=xxxxxxxxxxxxxxxxxxxxxxxxx&context[device][product]=Plexamp&context[device][platform]=Windows&context[device][platformVersion]=10.0.17134&context[device][version]=3.0.0

I can see them in the server, no issues. The irony is that they all have Plex apps on them, so I really don’t care to use Plexamp for these.

Now, what I am wanting is to run Plexamp on several rpi so that I can stream music in different places in my house.

I have several rpi 3b+ and zero w that I’d like to use. The install works fine. I’ve created the systemd service to control the app. it starts and run fine.

chyre@rpi3-0:~/.cache/Plexamp$ sudo systemctl status plexamp

  • plexamp.service - Plexamp
    Loaded: loaded (/lib/systemd/system/plexamp.service; disabled; vendor preset: enabled)
    Active: active (running) since Sun 2020-04-19 18:06:29 EDT; 11h ago
    Main PID: 2966 (node)
    CGroup: /system.slice/plexamp.service
    `-2966 /usr/bin/node /home/chyre/plexamp/server/server.prod.js

Apr 19 18:06:32 rpi3-0 node[2966]: error: [TREBLE] BASS: Error [BASS_ChannelSetAttribute(m_resampler, BASS_ATTRIB_TEMPO_OPTION_USE_QUICKALGO, 1)] - 5
Apr 19 18:06:32 rpi3-0 node[2966]: error: [TREBLE] BASS: Error [BASS_ChannelSetAttribute(m_resampler, BASS_ATTRIB_TEMPO_OPTION_PREVENT_CLICK, 1)] - 5
Apr 19 18:06:32 rpi3-0 node[2966]: error: [TREBLE] BASS: Error [BASS_ChannelSetDevice(m_resampler, BASS_NODEVICE)] - 5
Apr 19 18:06:32 rpi3-0 node[2966]: error: [TREBLE] BASS: Error [m_mixer = BASS_Mixer_StreamCreate(sampleRate, 2, BASS_SAMPLE_FLOAT)] - 8
Apr 19 18:06:32 rpi3-0 node[2966]: error: [TREBLE] BASS: Error [BASS_Mixer_StreamAddChannel(m_mixer, m_resampler, BASS_MIXER_NORAMPIN)] - 5
Apr 19 18:06:32 rpi3-0 node[2966]: error: [TREBLE] BASS: Error [BASS_ChannelPlay(m_mixer, FALSE)] - 5
Apr 19 18:06:32 rpi3-0 node[2966]: error: [TREBLE] BASS: Error [BASS_Pause()] - 8
Apr 19 18:06:32 rpi3-0 node[2966]: debug: Audio: State changed from undefined to paused
Apr 19 18:06:32 rpi3-0 node[2966]: debug: Audio: ID changed from undefined to
Apr 19 18:06:32 rpi3-0 node[2966]: debug: PlayQueue: Saving state PQ undefined PQID undefined TIME: 0

There are several errors related to audio that I’m sure I’ll have to troubleshoot once I get this working.

However, the main issue is this error in the logs during start up:
#033[33mwarn#033[39m: DEVICE: Cannot initialize, no token.

chyre@rpi3-0:~/.cache/Plexamp$ sudo systemctl restart plexamp && sudo tail -F /var/log/syslog | grep -v snmp
Apr 20 06:07:31 rpi3-0 systemd[1]: Stopping Plexamp…
Apr 20 06:07:31 rpi3-0 systemd[1]: Stopped Plexamp.
Apr 20 06:07:31 rpi3-0 systemd[1]: Started Plexamp.
Apr 20 06:07:34 rpi3-0 node[15758]: Audio: Ready.
Apr 20 06:07:34 rpi3-0 node[15758]: #033[33mwarn#033[39m: DEVICE: Cannot initialize, no token.
Apr 20 06:07:34 rpi3-0 node[15758]: ALSA lib confmisc.c:767:(parse_card) cannot find card ‘0’
Apr 20 06:07:34 rpi3-0 node[15758]: ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
Apr 20 06:07:34 rpi3-0 node[15758]: ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
Apr 20 06:07:34 rpi3-0 node[15758]: ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
Apr 20 06:07:34 rpi3-0 node[15758]: ALSA lib confmisc.c:1246:(snd_func_refer) error evaluating name
Apr 20 06:07:34 rpi3-0 node[15758]: ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
Apr 20 06:07:34 rpi3-0 node[15758]: ALSA lib conf.c:5007:(snd_config_expand) Evaluate error: No such file or directory
Apr 20 06:07:34 rpi3-0 node[15758]: ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM default
Apr 20 06:07:34 rpi3-0 node[15758]: Audio: Set player info.
Apr 20 06:07:34 rpi3-0 node[15758]: #033[33mdebug#033[39m: PlayQueue: Restored from settings source undefined PQ undefined and PQI undefined.
Apr 20 06:07:34 rpi3-0 node[15758]: #033[33mdebug#033[39m: PlayQueue: Saving first offset: 0 and first paused: true
Apr 20 06:07:34 rpi3-0 node[15758]: #033[33mdebug#033[39m: PlayQueue: Slow path play queue restore.
Apr 20 06:07:34 rpi3-0 node[15758]: #033[33mdebug#033[39m: PlayQueue: Not restoring a play queue.
Apr 20 06:07:34 rpi3-0 node[15758]: #033[33mdebug#033[39m: METRICS: Initializing.
Apr 20 06:07:34 rpi3-0 node[15758]: #033[33mwarn#033[39m: METRICS: Cannot start up, no token.
Apr 20 06:07:34 rpi3-0 node[15758]: #033[32minfo#033[39m: [EXPRESS] Listening on port 20000
Apr 20 06:07:34 rpi3-0 node[15758]: #033[33mdebug#033[39m: [TREBLE] BASS: Starting up.
Apr 20 06:07:34 rpi3-0 node[15758]: #033[33mdebug#033[39m: [TREBLE] Device 1: Default - enabled default - sample rates:
Apr 20 06:07:34 rpi3-0 node[15758]: #033[33mdebug#033[39m: [TREBLE] BASS: Using plugin path ‘/home/chyre/plexamp/server/node_modules/treble/build/Release/’.
Apr 20 06:07:34 rpi3-0 node[15758]: #033[33mdebug#033[39m: [TREBLE] BASS: Reloading ourselves for symbol visibility.
Apr 20 06:07:34 rpi3-0 node[15758]: #033[33mdebug#033[39m: [TREBLE] BASS: Version 2.4.13.8
Apr 20 06:07:34 rpi3-0 node[15758]: #033[33mdebug#033[39m: [TREBLE] BASS: Mixer version 2.4.9.2
Apr 20 06:07:34 rpi3-0 node[15758]: #033[33mdebug#033[39m: [TREBLE] BASS: Going to try to open device with sample rate of 44100.
Apr 20 06:07:34 rpi3-0 node[15758]: #033[31merror#033[39m: [TREBLE] BASS: Error [BASS_Init(device, bestSampleRate, flags, 0, 0)] - 3
Apr 20 06:07:34 rpi3-0 node[15758]: #033[31merror#033[39m: [TREBLE] BASS: Error [BASS_GetInfo(&info)] - 8
Apr 20 06:07:34 rpi3-0 node[15758]: #033[33mdebug#033[39m: [TREBLE] BASS: Device opened and sample rate is 35524160, latency is 2122418000ms (minimum buffer: 36797480ms).
Apr 20 06:07:34 rpi3-0 node[15758]: #033[31merror#033[39m: [TREBLE] BASS: Error [m_streamMixer = BASS_Mixer_StreamCreate(sampleRate, 2, BASS_SAMPLE_FLOAT | BASS_STREAM_DECODE)] - 8
Apr 20 06:07:34 rpi3-0 node[15758]: #033[31merror#033[39m: [TREBLE] BASS: Error [BASS_ChannelSetDevice(m_streamMixer, BASS_NODEVICE)] - 5
Apr 20 06:07:34 rpi3-0 node[15758]: #033[31merror#033[39m: [TREBLE] BASS: Error [BASS_ChannelSetAttribute(m_resampler, BASS_ATTRIB_TEMPO_OPTION_USE_QUICKALGO, 1)] - 5
Apr 20 06:07:34 rpi3-0 node[15758]: #033[31merror#033[39m: [TREBLE] BASS: Error [BASS_ChannelSetAttribute(m_resampler, BASS_ATTRIB_TEMPO_OPTION_PREVENT_CLICK, 1)] - 5
Apr 20 06:07:34 rpi3-0 node[15758]: #033[31merror#033[39m: [TREBLE] BASS: Error [BASS_ChannelSetDevice(m_resampler, BASS_NODEVICE)] - 5
Apr 20 06:07:34 rpi3-0 node[15758]: #033[31merror#033[39m: [TREBLE] BASS: Error [m_mixer = BASS_Mixer_StreamCreate(sampleRate, 2, BASS_SAMPLE_FLOAT)] - 8
Apr 20 06:07:34 rpi3-0 node[15758]: #033[31merror#033[39m: [TREBLE] BASS: Error [BASS_Mixer_StreamAddChannel(m_mixer, m_resampler, BASS_MIXER_NORAMPIN)] - 5
Apr 20 06:07:34 rpi3-0 node[15758]: #033[31merror#033[39m: [TREBLE] BASS: Error [BASS_ChannelPlay(m_mixer, FALSE)] - 5
Apr 20 06:07:34 rpi3-0 node[15758]: #033[31merror#033[39m: [TREBLE] BASS: Error [BASS_Pause()] - 8
Apr 20 06:07:34 rpi3-0 node[15758]: #033[33mdebug#033[39m: Audio: State changed from undefined to paused
Apr 20 06:07:34 rpi3-0 node[15758]: #033[33mdebug#033[39m: Audio: ID changed from undefined to
Apr 20 06:07:34 rpi3-0 node[15758]: #033[33mdebug#033[39m: PlayQueue: Saving state PQ undefined PQID undefined TIME: 0

Is it possible to figure out the data I need to create a server.json file without having one from another device?

I gather that the file structure is something like this:
chyre@rpi3-0:~/.cache/Plexamp$ cat server.json
{
“player”: {
“name”: “xxxx”,
“identifier”: “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
},
“user”: {
“id”: xxxx,
“token”: “xxxxxxxxxxxx”
},
“server”: {
“identifier”: “XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX”
},
“state”: null
}

What is the “name” syntax and is this necessary?

For the “identifier”, can I use the “clientID” from the HTTP auth request from other devices? (sample shown above).

What is the “user” and “token”? Is “user” just the username I use to login to the server? For the “token”, can I use the “code” value from the HTTP request above?

Lastly, what is the “server” block “identifier” and where can I find this?

Sorry for a long post, but this little step is preventing me from using Plexamp.

The server.json was created by plexamp versions 1 and 2 (2 was never publicly released, except for the RasPi version).

So you can only extract it from a running installation of plexamp 1.1.0

Well that’s sneaky. Where can I get version 1.1.0?

Thank you for letting me know this.

Ok, I found an installer download from softpedia. A little sketchy, but seems to work. No virus yet.

I’ll work with this and post what I find.

hmm dead in the water for pizero plexamp. Though setting up mopidy-jellyfin easy mode. Note both can’t run at the same time.

Looks like Plex are still hosting the 1.1.0 Windows installer here; https://plexamp.plex.tv/plexamp.plex.tv/Plexamp%20Setup%201.1.0.exe
I got the server.json from this, put it on the pi and it’s working.

I got everything working. Installing v1.1.0 was the trick. The Zero won’t work due to the version/availability of Node.js, but I think that’s fine. I have this running on 2 rpi3b+, one has a touch screen and runs my home setup, the other has a camera and serves as an outdoor appliance. So far, very cool.

Is there a way to combine players so you can play to multiple plexamp devices at the same time?

Thanks very much for creating this and helping me get it working.

Nope.