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

Feature: Add support for cloud music players like Spotify, Deezer, SoundCloud #113

Closed
3 tasks done
MurzNN opened this issue May 7, 2022 · 7 comments
Closed
3 tasks done
Labels
enhancement ✨ New feature or request

Comments

@MurzNN
Copy link
Contributor

MurzNN commented May 7, 2022

Preflight Checklist

Problem Description

There were several apps that can aggregate cloud music providers and provide a unified interface for control music playing status in all of them:

But last years development of all of them is stopped or paused, so now world seems doesn't have any such application to listen music from several cloud providers with unified interface.

Proposed Solution

Ferdium already has a great UI to manage multiple web services, flexible recipes API, workflow to install and configure services, settings syncs and many other parts, that suit for managing cloud music providers too!

To add minimal support for cloud music providers to Ferdium seems we don't need so much: all that we need at minimum - is to add "Play / Pause / Stop / Next / Previous" bundle of buttons to somewhere interface (with binding to global keyboard shortcuts), and pass those events to selected cloud provider. And via next unhurried steps - add displaying now playing song title, scrubbling to Last.fm, etc.

So maybe we can consider that extending of Ferdium to cloud music players word? Or maybe start a separate project like Ferdium-Music with such functionality, with reusing and sharing most of the Ferdium code and infrastructure parts?

What do you think about this idea?

Alternatives Considered

Alternatively we can start a new separate project from the scratch, but reusing Ferdi as base for such music player, I think, makes the first steps much easier!

Additional Information

No response

@MurzNN MurzNN added the enhancement ✨ New feature or request label May 7, 2022
@vraravam
Copy link
Contributor

Ferdium basically renders the websites of the services that are configured. I don't think extending this to playing music is anywhere close to what Ferdium can do. There's also the question of DRM - which electron does not support. Closing this ticket since its way out of what we can accomplish in Ferdium/Electron. Nice suggestion though.

@ThinkSalat
Copy link

ThinkSalat commented Feb 6, 2023

image
Here I am running a literal video on plex with sound and everything.

Here is rambox, another electron app, running spotify

image

Ferdium basically renders the websites of the services that are configured. I don't think extending this to playing music is anywhere close to what Ferdium can do. There's also the question of DRM - which electron does not support. Closing this ticket since its way out of what we can accomplish in Ferdium/Electron. Nice suggestion though.

This is just demonstrably wrong and you should unclose this issue so that it can be worked on. Not that the spotify web player is anything but trash compared to native, but it's better than nothing and the people who want to use it should be able to. I'm thinking it's almost certainly just a change in user agent or other one liner to get spotify working.

@SpecialAro
Copy link
Member

Hello!

Maybe this #720 can unlock adding Spotify as a service in Ferdium, for instance. @vraravam will you agree on re-opening this issue?

Nevertheless, I'm linking this issue so users can track the status (which is related to this implementation): #687

@vraravam
Copy link
Contributor

I dont think we should use binaries that are not from the original source: #720 (comment).

I think its not only me, but all the other contributors who need to vote. If we go ahead, I dont know what kind of security vulnerabiities might be introduced (we dont know the supply chain for the external binaries)

@SpecialAro
Copy link
Member

I agree with you security wise... that's why I'm also reluctant to merge that PR as is.

Nevertheless, as per @kris7t comment (#720 (comment)) it seems like it is possible to implement some logic that extracts the CDM from the official chrome installer (also with a toggle setting on Ferdium to enable this feature). Or, like @bchen290 told we can have settings where the user can set the Widevine library path and version.

I really don't know if we should try this or not (and I also lack knowledge to do it myself), so let's see what the other devs think about this aswell

@ThinkSalat
Copy link

Great spotting @SpecialAro! Why not throw together
this as a kludgy prototype and let some of the users who have been asking for the feature test it out. I think it's quite close to the best of all worlds. Blessed by Google be damned.

@gitunixbyte
Copy link

Any updates on this?

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

No branches or pull requests

5 participants