diff --git a/src/device/cddasongloader.cpp b/src/device/cddasongloader.cpp index e8e8fa838..57d07602b 100644 --- a/src/device/cddasongloader.cpp +++ b/src/device/cddasongloader.cpp @@ -248,24 +248,44 @@ void CDDASongLoader::LoadSongsFromCDDA() { g_free(tag); tag = nullptr; } + if (gst_tag_list_get_string(tags, GST_TAG_ALBUM_ARTIST_SORTNAME, &tag)) { + song.set_albumartistsort(QString::fromUtf8(tag)); + g_free(tag); + tag = nullptr; + } if (gst_tag_list_get_string(tags, GST_TAG_ARTIST, &tag)) { song.set_artist(QString::fromUtf8(tag)); g_free(tag); tag = nullptr; ++track_artist_tags; } + if (gst_tag_list_get_string(tags, GST_TAG_ARTIST_SORTNAME, &tag)) { + song.set_artistsort(QString::fromUtf8(tag)); + g_free(tag); + tag = nullptr; + } if (gst_tag_list_get_string(tags, GST_TAG_ALBUM, &tag)) { song.set_album(QString::fromUtf8(tag)); g_free(tag); tag = nullptr; ++track_album_tags; } + if (gst_tag_list_get_string(tags, GST_TAG_ALBUM_SORTNAME, &tag)) { + song.set_albumsort(QString::fromUtf8(tag)); + g_free(tag); + tag = nullptr; + } if (gst_tag_list_get_string(tags, GST_TAG_TITLE, &tag)) { song.set_title(QString::fromUtf8(tag)); g_free(tag); tag = nullptr; ++track_title_tags; } + if (gst_tag_list_get_string(tags, GST_TAG_TITLE_SORTNAME, &tag)) { + song.set_titlesort(QString::fromUtf8(tag)); + g_free(tag); + tag = nullptr; + } if (gst_tag_list_get_string(tags, GST_TAG_GENRE, &tag)) { song.set_genre(QString::fromUtf8(tag)); g_free(tag); @@ -276,6 +296,11 @@ void CDDASongLoader::LoadSongsFromCDDA() { g_free(tag); tag = nullptr; } + if (gst_tag_list_get_string(tags, GST_TAG_COMPOSER_SORTNAME, &tag)) { + song.set_composersort(QString::fromUtf8(tag)); + g_free(tag); + tag = nullptr; + } if (gst_tag_list_get_string(tags, GST_TAG_PERFORMER, &tag)) { song.set_performer(QString::fromUtf8(tag)); g_free(tag);