diff --git a/app/src/main/java/org/oxycblt/auxio/music/extractor/MetadataExtractor.kt b/app/src/main/java/org/oxycblt/auxio/music/extractor/MetadataExtractor.kt index 7910168f1..c2faf0eab 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/extractor/MetadataExtractor.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/extractor/MetadataExtractor.kt @@ -213,7 +213,7 @@ class Task(context: Context, private val raw: Song.Raw) { // Artist textFrames["TXXX:musicbrainz artist id"]?.let { raw.artistMusicBrainzIds = it } - textFrames["TPE1"]?.let { raw.artistNames = it } + (textFrames["TXXX:artists"] ?: textFrames["TPE1"])?.let { raw.artistNames = it } textFrames["TSOP"]?.let { raw.artistSortNames = it } // Album artist @@ -304,15 +304,16 @@ class Task(context: Context, private val raw: Song.Raw) { // Artist comments["musicbrainz_artistid"]?.let { raw.artistMusicBrainzIds = it } - comments["artist"]?.let { raw.artistNames = it } - comments["artistsort"]?.let { raw.artistSortNames = it } + (comments["artists"] ?: comments["artist"])?.let { raw.artistNames = it } + (comments["artists_sort"] ?: comments["artistsort"])?.let { raw.artistSortNames = it } // Album artist comments["musicbrainz_albumartistid"]?.let { raw.albumArtistMusicBrainzIds = it } - comments["albumartist"]?.let { raw.albumArtistNames = it } - comments["albumartistsort"]?.let { raw.albumArtistSortNames = it } + (comments["albumartists"] ?: comments["albumartist"])?.let { raw.albumArtistNames = it } + (comments["albumartists_sort"] ?: comments["albumartistsort"]) + ?.let { raw.albumArtistSortNames = it } // Genre - comments["GENRE"]?.let { raw.genreNames = it } + comments["genre"]?.let { raw.genreNames = it } } } diff --git a/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueFragment.kt b/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueFragment.kt index 7929dd4ed..879a2879f 100644 --- a/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/playback/queue/QueueFragment.kt @@ -128,8 +128,8 @@ class QueueFragment : ViewBindingFragment(), EditableListL binding.queueRecycler.scrollToPosition(scrollTo) } else if (scrollTo > end) { // We need to scroll downwards, we need to offset by a screen of songs. - // This does have some error due to what the layout manager returns being - // somewhat mutable. This is considered okay. + // This does have some error due to how many completely visible items on-screen + // can vary. This is considered okay. binding.queueRecycler.scrollToPosition( min(queue.lastIndex, scrollTo + (end - start))) }