InnerTune icon indicating copy to clipboard operation
InnerTune copied to clipboard

YouTube Integration

Open z-huang opened this issue 1 year ago • 29 comments

As there are many issues related to YouTube Music integration, I decided to move them into this issue. The features you’re asking contain as follows:

  • Sync liked songs, playlists, albums, artists, and history
  • Show YTM history
  • Personalized suggestion
  • Multiple channel support

It’s a huge work to implement this, from digging the API and considering data flow, to connecting the UI, and currently I don’t have a clear picture of how it should be like. Therefore, I need your suggestions, as detail as possible: How should local library and YTM library interact? Fully or partly?

z-huang avatar Aug 17 '24 14:08 z-huang

thank you for your very nice app ❤️

How should local library and YTM library interact? Fully or partly?

partialy in first commits, but the goal full integration

should we combine library songs and liked songs in order to be compatible with YTM library?

i think app should show 2 playlist, offline, and youtube music synced

offline one is always visible, and synced one is visible only if user logged in to youtube

i think here is a good roadmap for liked songs syncing commits:

  • [ ] synced playlist visible in app
  • [ ] make able playing music from synced playlist
  • [ ] liked shongs should be added to synced playlist if user logged into acoount, if not then add to offline playlist
  • [ ] allow to import csv with liked songs, exported from youtube music to any playlist (synced or offline one)
  • [ ] allow to export songs from any playlist (offline and online one) to csv file, the file should be in same syntax like official export from youtube music
  • [ ] sync all other playlist, besides liked songs
  • [ ] sync all liked albums
  • [ ] sync all liked artists

gmankab avatar Aug 17 '24 15:08 gmankab

how to use official export of liked songs from youtube music to csv:

  • go to https://takeout.google.com/takeout/custom/youtube
  • press all youtube data included
  • deselect all
  • select music-library-songs
  • ok
  • next step
  • create export

gmankab avatar Aug 17 '24 15:08 gmankab

gyawun and simpmusic are good examles of apps with youtube music synchronisation

gmankab avatar Aug 17 '24 15:08 gmankab

I think OuterTune (a fork of InnerTune) also has it.

Malopieds avatar Aug 17 '24 19:08 Malopieds

I think OuterTune (a fork of InnerTune) also has it.

wow, first time seeing it, thank you a lot!

gmankab avatar Aug 17 '24 19:08 gmankab

I think OuterTune (a fork of InnerTune) also has it.

I tried, and it looks like songs, albums and artists are two-way synced. But playlist sync is not supported yet. I will figure out how the dev implement it.

z-huang avatar Aug 18 '24 02:08 z-huang

When a user turns on YTM sync, what should we do with the original local database? Merge, be replaced, or hide?

z-huang avatar Aug 18 '24 03:08 z-huang

But playlist sync is not supported yet.

What do you mean by this? I added a song to a playlist and it appears on my account.

If you're talking about creating a new playlist and adding to it, the syncing technically work, albeit some Ux issues (the create playlist dialog in the playlist screen isn't the updated version with the sync toggle, and playlists don't appear immediately right after creation)

Hi, I am one of the OuterTune devs

mikooomich avatar Aug 18 '24 03:08 mikooomich

@mikooomich I cannot add or delete songs for my YTM playlists.

z-huang avatar Aug 18 '24 11:08 z-huang

I cannot add or delete songs for my YTM playlists.

It is working for me, I just signed in, and switch to the old interface layout, and all my ytm playlists show up in the library section. I usually use OuterTune to add/remove songs from my playlist.

ruskcoder avatar Aug 18 '24 15:08 ruskcoder

When a user turns on YTM sync, what should we do with the original local database? Merge, be replaced, or hide?

good solution would be a "choose user" menu, that allow to choose betweeh offline user with old local database, and online user with new synced database

gmankab avatar Aug 18 '24 19:08 gmankab

When a user turns on YTM sync, what should we do with the original local database? Merge, be replaced, or hide?

Merge

Anonuser-code avatar Aug 29 '24 07:08 Anonuser-code

the 'account' section that leads to a user's YTM playlists, and the profile section found in settings that leads to the YTM home screen don't seem to be necessary, the first because those playlists could be on InnerTune's home screen after login, and the second because it shows the YTM UI which clashes as InnerTune's is much cleaner and easier to use.

if logged in, everything that belongs to the active YTM profile could be displayed on the main/home screen. if logged out, only local recommendations, albums, etc. would be there instead.

unseenlarks avatar Aug 29 '24 19:08 unseenlarks

There is another Music streaming app called 'Echo', which has YT music integration, and does a much better job at syncing everything and using recommendations from your account instead of locally.

Xisrr1 avatar Aug 29 '24 21:08 Xisrr1

There is another Music streaming app called 'Echo', which has YT music integration, and does a much better job at syncing everything and using recommendations from your account instead of locally.

Link please~

z-huang avatar Aug 30 '24 01:08 z-huang

https://github.com/brahmkshatriya/echo

gmankab avatar Aug 30 '24 01:08 gmankab

java.lang.UnsupportedOperationException at k8.g.u(Unknown Source:5) at k8.g.e(SourceFile:10) at z8.t.u(SourceFile:58) at va.a.m(Unknown Source:8) at lb.n0.run(Unknown Source:100) at rb.a$a.run(SourceFile:82)

asifbagali avatar Sep 11 '24 05:09 asifbagali

Guys, is work being done on this? It would be very cool to have. Also, I had a question: Once this is implemented, would all my listening history from InnerTune appear in YouTube wrapped thingy at the end ot the year? This wrapped thingies is the reason I use spotify mods instead lol

NiceSapien avatar Sep 15 '24 13:09 NiceSapien

Guys, is work being done on this? It would be very cool to have. Also, I had a question: Once this is implemented, would all my listening history from InnerTune appear in YouTube wrapped thingy at the end ot the year? This wrapped thingies is the reason I use spotify mods instead lol

Yes since YouTube is getting data for Recaps through your watch history, which as you can see in the starting post is being worked on to be synced with YTM

zettaexa avatar Sep 17 '24 12:09 zettaexa

Personally I think it could be a good idea to have offline and online playlists; with the ability convert offline to online and vice versa. It's good for privacy since then it will only interact with the cloud when the user requests to. Also just merging all playlists on login without asking the user could introduce a whole lot of issues and frustrated users (their asmr mommy roleplay playlist got leaked)

PhilippKosarev avatar Oct 09 '24 11:10 PhilippKosarev

simpmusic app updates all.

Sync liked songs, playlists, albums, artists, and history Show YTM history Personalized suggestion

hsp1020 avatar Oct 13 '24 06:10 hsp1020

simpmusic app updates all.

Sync liked songs, playlists, albums, artists, and history Show YTM history Personalized suggestion

Add songs to a local playlist and add some songs. It won't show you the newly added songs. You have to restart the app to see those songs.

There are many bugs in that app.

aneesh1122 avatar Oct 13 '24 13:10 aneesh1122

https://github.com/Maloy-Android/Muzza

Here is another fork of Innertune that has YouTube Music integration. It's still in beta and some components are still missing. But it looks promising. Maybe you can check it out.

https://t.me/appmuzzaupdatesnews

siggi1984 avatar Oct 19 '24 10:10 siggi1984

https://github.com/Maloy-Android/Muzza

Here is another fork of Innertune that has YouTube Music integration. It's still in beta and some components are still missing. But it looks promising. Maybe you can check it out.

https://t.me/appmuzzaupdatesnews

I've been searching for a yt music player which can

  1. sync likes and playlists with yt account
  2. list all the cached songs
  3. can set the cache limit
  4. has mix playlists in the home page

aneesh1122 avatar Oct 19 '24 10:10 aneesh1122

https://github.com/Maloy-Android/Muzza Here is another fork of Innertune that has YouTube Music integration. It's still in beta and some components are still missing. But it looks promising. Maybe you can check it out. https://t.me/appmuzzaupdatesnews

I've been searching for a yt music player which can

1. sync likes and playlists with yt account

2. list all the cached songs

3. can set the cache limit

4. has mix playlists in the home page

Basically, you're looking for ViMusic with YTM integration. I haven't come across it yet.

siggi1984 avatar Oct 19 '24 15:10 siggi1984

please add an option to view the YouTube ui directly, or better just to include what the site shows I really want categories like "forgotten favorites" and "from the community" and I hope these are implemented in the future, thank you for the amazing app 🙏

namename-123 avatar Nov 01 '24 01:11 namename-123

Hello

Maloy-Android avatar Dec 09 '24 05:12 Maloy-Android

Personally I don't really need two-way sync as I would mostly manage playlists on desktop, and when I'm listening on my phone I just want to leave a playlist on shuffle.

It would be really nice if I could just make an unlisted playlist on youtube music and add it to my playlists on Innertune and have it always load the latest song list from that playlist. I imagine that would be a lot more straightforward than bidirectional syncing, and shouldn't even require logging in to YouTube (which is ideal to me).

Edit: Just figured out the above is already possible, though not very intuitive. If I send the YouTube playlist link (youtube.com not music.youtube.com) to my phone and Open in App -> Innertune, it opens properly in the app, and I can click the import button and thereafter long press and click Sync to update the local playlist.

JonnyHaystack avatar Dec 28 '24 22:12 JonnyHaystack