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

Built-in Spotify Sync using freyr #195

Open
Atlas7005 opened this issue Mar 3, 2024 · 3 comments
Open

Built-in Spotify Sync using freyr #195

Atlas7005 opened this issue Mar 3, 2024 · 3 comments

Comments

@Atlas7005
Copy link

I love this project, and you guys have done some fantastic work!
A feature that would add infinitely to the project is a way to link to a song, album, playlist, or artist from Spotify, and it will automatically get downloaded to the app's first root directory (or something).

I use freyr to do that, but it requires me to log in to the server where I host Swing. It would be so cool to have this implemented in some way.

I also see that you guys have some early plugin support. It would be nice to see some documentation on that, too!

@cwilvx
Copy link
Member

cwilvx commented Mar 3, 2024

hello @Atlas7005

Thanks for the feature suggestion. It would be a really nice feature, but it wouldn't be part of the Swing Music core.

If you're interested in working on it as a plugin, you're welcome. As you mentioned, docs on plugins would be helpful, and they should be arriving in the near future. You can find some WIP on other areas in the .github/code.docs directory in this repo.

If you're interested, you can find us in the Swing Music Community on telegram. You can also dm me, I can show you the ropes as you wait for the docs.

Thank you.

@sortedcord
Copy link

@Atlas7005 I just checked out freyr and it looks pretty good. One thing that I'm not clear about is where it fetches the download from? Is it from the specified streaming service or specifically from youtube?

image

From above it does look like it's sourcing the downloads from youtube and if that is the case, then why would they be downloading it at 320kbps (since max supported is 128opus/256aac at best)?

Specifically for spotify sync, I would recommend using something like zotify which directly sources the .ogg files (320/160vorbis) and their respective metadata (including misc files such as lyrics and canvas) from spotify's servers. I've looked at their code and it would be pretty simple to modify it to fit in as a plugin for swing.

In addition to this, since the files are sequentially downloaded, it would also be possible to stream the files without waiting for it to be fully downloaded (or have an option to not save the download at all)

I didn't know anything about freyr until today, so the points that I have listed above might also hold true for freyr, so please let me know..

@Atlas7005
Copy link
Author

@Atlas7005 I just checked out freyr and it looks pretty good. One thing that I'm not clear about is where it fetches the download from? Is it from the specified streaming service or specifically from youtube?

image

From above it does look like it's sourcing the downloads from youtube and if that is the case, then why would they be downloading it at 320kbps (since max supported is 128opus/256aac at best)?

Specifically for spotify sync, I would recommend using something like zotify which directly sources the .ogg files (320/160vorbis) and their respective metadata (including misc files such as lyrics and canvas) from spotify's servers. I've looked at their code and it would be pretty simple to modify it to fit in as a plugin for swing.

In addition to this, since the files are sequentially downloaded, it would also be possible to stream the files without waiting for it to be fully downloaded (or have an option to not save the download at all)

I didn't know anything about freyr until today, so the points that I have listed above might also hold true for freyr, so please let me know..

It queries YouTube Music first, then if no sources are found, it will query normal YouTube.
I have never heard of zotify, but it looks pretty good. I have decided to move away rom Swing for now, due to already using Jellyfin for movies and shows. So it is easier to have my music on there too.
I will follow the development, and depending on the direction it takes, I might move to it in the future and make such a plugin, if it hasn't already.

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

No branches or pull requests

3 participants