feat: full artist release list via artist/getReleasesList
Instead of relying on the limited preview in artist/page, fire a separate artist/getReleasesList request per release type (album, epSingle, live, compilation) in parallel when loading an artist. Each result updates its section independently as it arrives, so the page populates progressively without a single large request. Also fixes the artist name in the status bar (was reading wrong field). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -61,6 +61,12 @@ void QobuzBackend::getArtist(qint64 artistId)
|
||||
qobuz_backend_get_artist(m_backend, artistId);
|
||||
}
|
||||
|
||||
void QobuzBackend::getArtistReleases(qint64 artistId, const QString &releaseType, quint32 limit, quint32 offset)
|
||||
{
|
||||
qobuz_backend_get_artist_releases(m_backend, artistId,
|
||||
releaseType.toUtf8().constData(), limit, offset);
|
||||
}
|
||||
|
||||
void QobuzBackend::getPlaylist(qint64 playlistId, quint32 offset, quint32 limit)
|
||||
{
|
||||
qobuz_backend_get_playlist(m_backend, playlistId, offset, limit);
|
||||
@@ -242,6 +248,9 @@ void QobuzBackend::onEvent(int eventType, const QString &json)
|
||||
case EV_ARTIST_OK:
|
||||
emit artistLoaded(obj);
|
||||
break;
|
||||
case 24: // EV_ARTIST_RELEASES_OK
|
||||
emit artistReleasesLoaded(obj["release_type"].toString(), obj["items"].toArray());
|
||||
break;
|
||||
case EV_ARTIST_ERR:
|
||||
emit error(obj["error"].toString());
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user