nuclear icon indicating copy to clipboard operation
nuclear copied to clipboard

Replace `Track.artist` and `Track.extraArtists` with `Track.artists`

Open Lucki opened this issue 1 year ago • 14 comments

Ref: https://discord.com/channels/647373417091170314/1275405997736726609 Fix #1668

Lucki avatar Aug 21 '24 12:08 Lucki

Thanks for contributing this. Is it ready for review?

nukeop avatar Aug 22 '24 16:08 nukeop

Yes. Please let me know when you find something non-functional.

Edit: ~~Found one - the MPRIS thing is showing unknown artist~~ Edit2: ~~Another one - A discogs track without an artist but with extraartists, wanna use the album artist when no specific track artist is available.~~ Edit3: ~~LastFM track search needs adjustments converting to internal~~

Lucki avatar Aug 22 '24 17:08 Lucki

I'm still working on the track table refactor, after that I'll get back to this.

nukeop avatar Aug 28 '24 17:08 nukeop

Finally got some time (and willpower) to get this into a working shape! I'll do it and merge it asap.

nukeop avatar Oct 15 '24 22:10 nukeop

After these changes everything should be ready. If the CI passes I'll merge it tomorrow.

nukeop avatar Oct 21 '24 00:10 nukeop

This breaks lastfm scrobbling, all song artists are Undefined now.

GearKite avatar Oct 21 '24 08:10 GearKite

Thanks for testing. I'll take a look at this (once I'm back from 1955).

nukeop avatar Oct 21 '24 08:10 nukeop

Bad news. This is going to need replacing several JS files with TS, they also need to be typed correctly. These changes also break autoradio in addition to scrobbling. I'm currently working on this. The most troublesome component to update is going to be the SoundContainer which controls playback, and is in a catastrophically bad state due to being neglected over the years.

nukeop avatar Oct 21 '24 23:10 nukeop

Ok, I managed to fix this.

nukeop avatar Oct 28 '24 00:10 nukeop

There's still one more problem, the local library tracks still have a single artist field, and I'm not sure what to do about them. I think a backwards compatibility layer is needed like in all those other cases. Until that's added, you can't play anything from the library.

nukeop avatar Oct 29 '24 23:10 nukeop

Queue playback doesn't seem to really work now. It seems that the YouTube playback source expires after a few minutes, so, after listening to a song, all the next ones will show a: The audio playback can not be loaded, either because the server or network failed or because the format is not supported. Notably, this does not happen on an older version.

GearKite avatar Oct 30 '24 05:10 GearKite

Queue playback doesn't seem to really work now. It seems that the YouTube playback source expires after a few minutes, so, after listening to a song, all the next ones will show a: The audio playback can not be loaded, either because the server or network failed or because the format is not supported. Notably, this does not happen on an older version.

Can you create an issue with more details please? I have also observed this problem and it is not related to this pr.

waldo121 avatar Oct 30 '24 15:10 waldo121

I am pretty sure ytdl-core needs to be updated: https://www.npmjs.com/package/@distube/ytdl-core

Youtube changed something a couple of days ago.

nukeop avatar Oct 30 '24 16:10 nukeop

I'm not giving up yet, working on a one time migration for existing libraries that will hopefully solve this.

nukeop avatar Nov 12 '24 23:11 nukeop