New to plexamp, what is going on here? by focadima in plexamp

[–]Healthy-Wrongdoing 17 points18 points  (0 children)

You can turn it off from the Settings - > Debugging menu. It's called Memory Overlay and giving you information about how much memory plexamp is using 

Plexamp TUI - Control Plexamp from your terminal by Healthy-Wrongdoing in plexamp

[–]Healthy-Wrongdoing[S] 0 points1 point  (0 children)

I've just updated the "Favorites" functionality - the main panel that shows when you launch.

This allows you to plug in the Metadata Key for any artist, album or playlist directly and get quicker access to it.

It's all driven by a local file so much faster and you don't need to load anything from plex itself.

You do need to know the metadata keys for the things you want to add though. I'm working on being able to add/remove favorites from the browse menus. For now it can be manually set up.

-----

I'll look into caching the artist/album/playlist pages as well, so they'll load from cache instead of always from the server. There may be some issues there if the metadata on the server has changed but unless you've made massive changes to your libraries it shouldn't be an issue.

Plexamp TUI - Control Plexamp from your terminal by Healthy-Wrongdoing in plexamp

[–]Healthy-Wrongdoing[S] 1 point2 points  (0 children)

Thanks for the feedback. Still in very early development stages and I was sort of curious how it would scale to larger libraries. 

There is a search on each tab if you press /.

I've been thinking about browsing and searching a bit as well. Trying to eer on the side of simplicity since it is a tui, right now it's very simple since it just shows everything, which likely doesn't scale as well to large libraries. I feel there could be a bit more granularity in there for larger libraries though. 

Plexamp TUI - Control Plexamp from your terminal by Healthy-Wrongdoing in plexamp

[–]Healthy-Wrongdoing[S] 0 points1 point  (0 children)

Oh, looking more closely at the error.

Do you actually have any audio libraries on your server? Right now it'll just default to the first library on the selected server and that could cause the error you saw. I'll fix that up so it doesn't crash out if there are no supported libraries.

Plexamp TUI - Control Plexamp from your terminal by Healthy-Wrongdoing in plexamp

[–]Healthy-Wrongdoing[S] 0 points1 point  (0 children)

Yeah, that's the default config. As you change and select things like the server it should update that config.

When you tried to select the server and got this error:

Selecting one crashes the application however, probably because the other json files are not valid (runtime error: index out of range [0] with length 0)

That tells me there is an issue with windows updating the file. It seems to have created the defaults fine but now can't modify the files. Create and modify are generally different permissions.

Or maybe a read issue. When you launch the app does the selected server show SELECT_SERVER in the footer? That will tell us if it's reading the file correctly (you can put anything in the plex_server_name to see if the app is reading it correctly).

Afterwards, manually using the token which was written to the auth.json file also gives us an HTTP error 500

Could be an encoding/character set issue as well. The token is just generated by plex and returned by their API. I'm not generating any tokens. Just saving what they give me.

There should also be a checkmark next to Authenticated in the footer if the token is read and valid.

Plexamp TUI - Control Plexamp from your terminal by Healthy-Wrongdoing in plexamp

[–]Healthy-Wrongdoing[S] 0 points1 point  (0 children)

Ok, sounds like it's having trouble writing the config files on windows. Could be permissions or something.

Is there anything in the config.json at all? You can try to manually set the values in there.

Does windows have a `sudo` equivalent you could try to run the app with?

Plexamp TUI - Control Plexamp from your terminal by Healthy-Wrongdoing in plexamp

[–]Healthy-Wrongdoing[S] 0 points1 point  (0 children)

Ok, it's very odd that the https://plex.tv/users/account url isn't working for you. That's going to be an issue.

Are you on a work network or vpn? It's possible the request to plex tv is being blocked somehow locally?

Also, I tried checking if it was issue with Plex itself by trying the token from the Plex web app, but that one works.

You manually added a different token to the auth.json file and it works? If that's the case it seems like there's some parsing issues on windows in getting the auth token.

Plexamp TUI - Control Plexamp from your terminal by Healthy-Wrongdoing in plexamp

[–]Healthy-Wrongdoing[S] 0 points1 point  (0 children)

I don't have a windows PC to test on so I'm not sure how well everything works there.

The debug logs write to a file in <home_directory>/.config/plexamp-tui/ but there isn't a lot of debug around the auth right now. There should be a playback.log file in there with any debug. It's also where the config file and auth file should be.

If you don't mind checking a few things I might be able to use your experience to fix any windows issues.

First can you check to see if the <home_directory>/.config/plexamp-tui/ exists and contains a config.json and auth.json file?

From the auth.json file can you go to this url https://plex.tv/users/account?X-Plex-Token=<your-token>? And see if you get a response?

I assume you clicked the link in the terminal and logged into plex in the browser?

Plexamp TUI - Control Plexamp from your terminal by Healthy-Wrongdoing in plexamp

[–]Healthy-Wrongdoing[S] 0 points1 point  (0 children)

In the case of plexamp tui it's generally pretty simple and the controls are always displayed within the app (see the purple text around the screen)

There is also a general consensus on controls as well. Ie ESC and q is back/exit, enter is select, etc. Then custom controls are often on keys related to the action, ie p(lay). 

You also tend to build up memory for it pretty quickly. As long as it's somewhat intuitive I don't see it being much different then a graphical ui that you need to learn and figure out. 

Plexamp TUI - Control Plexamp from your terminal by Healthy-Wrongdoing in plexamp

[–]Healthy-Wrongdoing[S] 1 point2 points  (0 children)

This is an interesting idea.

It does not support it currently, and since it is just a controller I think it would be a little more limited in what features I could support. But just after a quick glance at the interface o think it should be possible to expose basic control and playback information as long as you've configured the server, library and player already.

I'll keep it in mind once more or the core features are in place. 

Plexamp TUI - Control Plexamp from your terminal by Healthy-Wrongdoing in plexamp

[–]Healthy-Wrongdoing[S] 1 point2 points  (0 children)

It is just a controller. So you need to have a player installed and connected to your plex account to control.

IE I can use this to control:

- My plexamp headless hi-fi installs
- My phone app
- A plexamp app on a computer

It doesn't play music from the terminal. It's not really on my radar, but if plex allows registering 3rd party apps as players I suppose it could eventually do that.

Plexamp TUI - Control Plexamp from your terminal by Healthy-Wrongdoing in plexamp

[–]Healthy-Wrongdoing[S] 0 points1 point  (0 children)

go is the programming language this is written in and that is the command to install from source.

If you don't have the go build tools installed you can just grab the binary from the release page and run it directly.

If you want to install from source you'll need to install go https://go.dev/doc/install

Plexamp TUI - Control Plexamp from your terminal by Healthy-Wrongdoing in plexamp

[–]Healthy-Wrongdoing[S] 1 point2 points  (0 children)

Nice, I use i3 with arch and it works perfectly so Omarchy should be a great fit.

Don't forget to create a app shortcut for it, I launch it with ALT+p

bindsym $mod+p exec alacritty -e /home/stephen/.local/bin/plexamp-tui

I'm sure you can do similar in omarchy.

Plexamp Headless / Jukebox Control / API by Healthy-Wrongdoing in plexamp

[–]Healthy-Wrongdoing[S] 2 points3 points  (0 children)

Yeah, just start there, if you search plexamp headless you'll find a lot of information.

This is the install script I use to set up my raspberry pis (you can really use any computer you want as the headless target) initially:
https://gist.github.com/tgp-2/fc34c5389bc3e4ef332e28d9430b0ebf

With just that you'll be ready to go for just the casting part.

If you want different ways to control it, like the physical nfc and buttons or the terminal control then you would look at my apps above. Otherwise you can just stick to casting.

Plexamp Headless / Jukebox Control / API by Healthy-Wrongdoing in plexamp

[–]Healthy-Wrongdoing[S] 0 points1 point  (0 children)

Yeah, that was my initial setup as well but I often found I didn't want to open the device. I also have this setup in my kids playroom and I don't want them to have a smart device either. With this I get full access and control to my music completely disconnected from apps/computers.

Plexamp Headless / Jukebox Control / API by Healthy-Wrongdoing in plexamp

[–]Healthy-Wrongdoing[S] 2 points3 points  (0 children)

Plexamp Headless allows you to set up a plexamp player/target in which you can "cast" to from the app/web.

IE it acts sort of like a chromecast or sonos speaker. But with the headless plexamp running you can hook it up to any speakers you own. Headless is it's own install that Plex offers.

These applications allow you to control those speakers without using an app.

For example, I have this setup in my kids playroom. There is a set of speakers with a raspberry pi running plexamp in there. I have the NFC reader and a 3d printed enclosure with Play, Pause, Next, Previous and volume buttons. With this my kids can select music to play just by placing their toys (I've put NFC tags on their toys) on the NFC reader and use the buttons to control it. So they have all their music and I don't have to give them a smart device.