本文整理汇总了C++中Artist::getHash方法的典型用法代码示例。如果您正苦于以下问题:C++ Artist::getHash方法的具体用法?C++ Artist::getHash怎么用?C++ Artist::getHash使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Artist
的用法示例。
在下文中一共展示了Artist::getHash方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: processArtist
void CollectionScanner::processArtist(FileInfo *file) {
Artist *artist = new Artist();
const QString artistTag = file->getTags()->artist;
artist->setName(DataUtils::cleanTag(artistTag));
artist->setProperty("originalHash", artist->getHash());
// qDebug() << "Processing artist:" << artist->getName() << artist->getHash();
if (filesWaitingForArtists.contains(artist->getHash())) {
qDebug() << "ERROR Processing artist multiple times!" << artist->getName();
}
if (loadedArtists.contains(artist->getHash())) {
qDebug() << "ERROR Artist already processed!" << artist->getName();
}
// add this file to filesWaitingForArtists
// this also acts as a lock for other files
// when the info is ready, all waiting files will be processed
QList<FileInfo *> files;
files.append(file);
filesWaitingForArtists.insert(artist->getHash(), files);
connect(artist, SIGNAL(gotInfo()), SLOT(gotArtistInfo()));
artist->fetchInfo();
}
示例2: gotArtistInfo
void CollectionScanner::gotArtistInfo() {
// get the Artist that sent the signal
Artist *artist = static_cast<Artist *>(sender());
if (!artist) {
qDebug() << "Cannot get sender";
return;
}
// qDebug() << "got info for" << artist->getName();
int artistId = Artist::idForName(artist->getName());
if (artistId < 0) {
// qDebug() << "We have a new promising artist:" << artist->getName();
artist->insert();
// TODO last insert id
artistId = Artist::idForName(artist->getName());
} else {
qDebug() << "Updating artist" << artist->getName();
artist->update();
}
artist->setId(artistId);
// now that we have an id, let's enqueue the cover image download
QString imageUrl = artist->property("imageUrl").toString();
if (!imageUrl.isEmpty())
ImageDownloader::enqueue(artistId, ImageDownloader::ArtistType, imageUrl);
const QString hash = artist->property("originalHash").toString();
QList<FileInfo *> files = filesWaitingForArtists.value(hash);
filesWaitingForArtists.remove(hash);
loadedArtists.insert(hash, artist);
// if (hash != artist->getHash())
loadedArtists.insert(artist->getHash(), artist);
// continue the processing of blocked files
// qDebug() << files.size() << "files were waiting for artist" << artist->getName();
foreach (FileInfo *file, files) {
file->setArtist(artist);
// qDebug() << "ready for album" << file->getFileInfo().baseName();
giveThisFileAnAlbum(file);
}