![]() |
Sayonara Player
|
#include <AlbumCoverFetchThread.h>
This class organizes requests for new Covers for the AlbumCoverView. When looking for covers, not all requests should be fired simultaneously, so there should be a buffer assuring that covers are found one by one. Albums are organized by hashes, each album has a CoverLocation. A new request is added to the queue by calling add_data(). A new request is handled BEFORE old requests. The thread is locked until the done() function is called. The thread emits the signal sig_next(). The cover location and the hash which should be processed next can be fetched by current_hash() and current_cover_location().
Public Types | |
using | Hash = QString |
using | HashAlbumPair = QPair< Hash, Album > |
using | HashAlbumList = QList< HashAlbumPair > |
using | HashLocationPair = QPair< Hash, Cover::Location > |
using | HashLocationList = QList< HashLocationPair > |
Signals | |
void | sig_next () |
Public Member Functions | |
AlbumCoverFetchThread (QObject *parent=nullptr) | |
void | add_album (const Album &album) |
add_data Add a new album request More... | |
HashLocationPair | take_current_location () |
void | pause () |
stop Stop the thread | |
void | stop () |
void | resume () |
void | clear () |
void | done (const Hash &hash) |
Static Public Member Functions | |
static Hash | get_hash (const Album &album) |
Protected Member Functions | |
void | run () override |
void AlbumCoverFetchThread::add_album | ( | const Album & | album | ) |
add_data Add a new album request
hash | hashed album info |
cl | Cover Location of the album |