Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement support for the headless PlexAmp client #593

Open
wants to merge 14 commits into
base: master
Choose a base branch
from

Conversation

sniff122
Copy link

Added a container build for the headless PlexAmp client, this will allow a user to use the plex app on a mobile device to cast music from their media server to their Balena Sound device.

Change-type: minor
Signed-off-by: Lewis L. Foster lewis@sniff122.tech

Hey there, appreciated contributor!

Have you taken a look at the contribution guidelines for this project? To enable our CI to work correctly and version the releases of the project, you need to ensure your commit messages contain the required information detailed here. Thank you!

Added a container build for the headless PlexAmp client, this will allow
a user to use the plex app on a mobile device to cast music from their
media server to their Balena Sound device.

Change-type: minor
Signed-off-by: Lewis L. Foster <lewis@sniff122.tech>
@ghost
Copy link

ghost commented Sep 17, 2022

An error occurred whilst building your landr site preview:

{
  "name": "Error",
  "message": "Command failed with code undefined: /usr/src/app/node_modules/gatsby/cli.js build",
  "stack": "Error: Command failed with code undefined: /usr/src/app/node_modules/gatsby/cli.js build\n    at Object.exports.run (/usr/src/app/lib/build-runner.js:257:11)\n    at async build (/usr/src/app/bot/index.js:132:19)\n    at async /usr/src/app/bot/index.js:210:25\n    at async Promise.all (index 0)\n    at async middleware (/usr/src/app/node_modules/@octokit/webhooks/dist-node/index.js:355:5)"
}

Change-Type: minor
Signed-off-by: Lewis L. Foster <lewis@sniff122.tech>
@sniff122
Copy link
Author

@balena-ci retest

@sniff122
Copy link
Author

really not sure why the generate version is failing, unless its just because its for an additional commit, could this be reviewed at some point though?

Added a container build for the headless PlexAmp client, this will allow
a user to use the plex app on a mobile device to cast music from their
media server to their Balena Sound device.

Change-type: minor
Signed-off-by: Lewis L. Foster <lewis@sniff122.tech>
Change-Type: minor
Signed-off-by: Lewis L. Foster <lewis@sniff122.tech>
@sniff122
Copy link
Author

sniff122 commented Dec 3, 2022

I'll find a way to have it automatically pull the latest plexamp headless archive

@hexive
Copy link

hexive commented Dec 4, 2022

Using the versionbot/pr/593 branch I'm getting the following plex error in balena dashboard log:

<plex> internal/modules/cjs/loader.js:1057
<plex>   return process.dlopen(module, path.toNamespacedPath(filename));
<plex>                  ^
<plex> 
<plex> Error: Module did not self-register: '/opt/plexamp/plexamp/treble/linux-arm64/treble.node'.

Service exited 'plex sha256:3bac98b52b3814ca777ec8e4eaef53ee5845cd9741397978c3ccb2946359a2c4'

The service then shuts down and enters a restart loop. I can't get a terminal open to investigate because it's in a constant shutdown/restart state.

@hexive
Copy link

hexive commented Dec 4, 2022

Fix: plexamp 4.6.0 requires Node 16

https://forums.plex.tv/t/plexamp-4-6-0-headless-install-error/821034

@sniff122
Copy link
Author

sniff122 commented Dec 4, 2022

Ah didnt spot that, ill push up a change that bumps the node version

@hexive
Copy link

hexive commented Dec 5, 2022

One more thing you might want to look at is the login.sh.

After a fresh build bash login.sh said "Plexamp appears to be already configured" even though it is the first run. Maybe check for a specific /Plexamp/Settings/[filename] instead of just the directory?

**

Otherwise everything is working great! Thank you for putting this together. I hope the balena-sound team merges this plugin. There are a lot of folks out there are looking for a player with spotify, airplay AND plex support. Right now --with this plugin-- this is the only player offering that combination. Additionally this would be the only player that allows plexamp multiroom streaming.

@sniff122
Copy link
Author

sniff122 commented Dec 5, 2022

A docker volume is used to persist the config data but it might be worth checking the file that stores the login state instead of just the directory

@sniff122
Copy link
Author

sniff122 commented Dec 5, 2022

That should be some docs about the plugin and using the user token config file instead of the settings folder

@maggie44
Copy link
Contributor

maggie44 commented Dec 9, 2022

@sniff122, great to see all these new interesting features.

I am wondering how you would feel about adding the plugin as a Block on the Hub instead of including it directly in the repo here? That is what we designed the Blocks for, and then we can update the docs that allow people to add the block if they want the feature. It seems it would stop the app becoming heavier than it needs to be for those that don't use the feature.

Would be interested to hear what you think. No problem continuing the development here though, just flagging that it may be difficult for us to merge it.

@sniff122
Copy link
Author

sniff122 commented Dec 9, 2022

Oh I didn't know about that, no clue how I didn't know, oh well. Sounds like it might be a better idea making it a block then

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants