nuclear
nuclear copied to clipboard
Replace `Track.artist` and `Track.extraArtists` with `Track.artists`
Ref: https://discord.com/channels/647373417091170314/1275405997736726609 Fix #1668
Thanks for contributing this. Is it ready for review?
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~~
I'm still working on the track table refactor, after that I'll get back to this.
Finally got some time (and willpower) to get this into a working shape! I'll do it and merge it asap.
After these changes everything should be ready. If the CI passes I'll merge it tomorrow.
This breaks lastfm scrobbling, all song artists are Undefined now.
Thanks for testing. I'll take a look at this (once I'm back from 1955).
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.
Ok, I managed to fix this.
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.
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.
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.
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.
I'm not giving up yet, working on a one time migration for existing libraries that will hopefully solve this.