本文整理汇总了C++中TrackPointer::getFileInfo方法的典型用法代码示例。如果您正苦于以下问题:C++ TrackPointer::getFileInfo方法的具体用法?C++ TrackPointer::getFileInfo怎么用?C++ TrackPointer::getFileInfo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TrackPointer
的用法示例。
在下文中一共展示了TrackPointer::getFileInfo方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: guessCoverArt
//static
CoverArt CoverArtUtils::guessCoverArt(TrackPointer pTrack) {
CoverArt art;
art.info.source = CoverInfo::GUESSED;
if (pTrack.isNull()) {
return art;
}
const QFileInfo fileInfo(pTrack->getFileInfo());
art.image = extractEmbeddedCover(fileInfo, pTrack->getSecurityToken());
if (!art.image.isNull()) {
// TODO() here we my introduce a duplicate hash code
art.info.hash = calculateHash(art.image);
art.info.coverLocation = QString();
art.info.type = CoverInfo::METADATA;
qDebug() << "CoverArtUtils::guessCoverArt found metadata art" << art;
return art;
}
QLinkedList<QFileInfo> possibleCovers = findPossibleCoversInFolder(
fileInfo.absolutePath());
art = selectCoverArtForTrack(pTrack.data(), possibleCovers);
if (art.info.type == CoverInfo::FILE) {
qDebug() << "CoverArtUtils::guessCoverArt found file art" << art;
} else {
qDebug() << "CoverArtUtils::guessCoverArt didn't find art" << art;
}
return art;
}
示例2: exportTrack
void TrackExportWorker::exportTrack(TrackPointer track) {
QString sourceFilename = track->getLocation();
auto source_fileinfo = track->getFileInfo();
const QString dest_filename = QDir(m_destDir).filePath(
source_fileinfo.fileName());
QFileInfo dest_fileinfo(dest_filename);
if (dest_fileinfo.exists()) {
switch (m_overwriteMode) {
// Give the user the option to overwrite existing files in the destination.
case OverwriteMode::ASK:
switch (makeOverwriteRequest(dest_filename)) {
case OverwriteAnswer::SKIP:
case OverwriteAnswer::SKIP_ALL:
qDebug() << "skipping" << sourceFilename;
return;
case OverwriteAnswer::OVERWRITE:
case OverwriteAnswer::OVERWRITE_ALL:
break;
case OverwriteAnswer::CANCEL:
m_errorMessage = tr("Export process was canceled");
stop();
return;
}
break;
case OverwriteMode::SKIP_ALL:
qDebug() << "skipping" << sourceFilename;
return;
case OverwriteMode::OVERWRITE_ALL:;
}
// Remove the existing file in preparation for overwriting.
QFile dest_file(dest_filename);
qDebug() << "Removing existing file" << dest_filename;
if (!dest_file.remove()) {
const QString error_message = tr(
"Error removing file %1: %2. Stopping.").arg(
dest_filename, dest_file.errorString());
qWarning() << error_message;
m_errorMessage = error_message;
stop();
return;
}
}
qDebug() << "Copying" << sourceFilename << "to" << dest_filename;
QFile source_file(sourceFilename);
if (!source_file.copy(dest_filename)) {
const QString error_message = tr(
"Error exporting track %1 to %2: %3. Stopping.").arg(
sourceFilename, dest_filename, source_file.errorString());
qWarning() << error_message;
m_errorMessage = error_message;
stop();
return;
}
}
示例3: tagsFetched
void TagFetcher::tagsFetched(int index, const MusicBrainzClient::ResultList& results) {
if (index >= m_tracks.count()) {
return;
}
// qDebug() << "Tagfetcher got musicbrainz results and now parses them";
const TrackPointer originalTrack = m_tracks[index];
QList<TrackPointer> tracksGuessed;
foreach (const MusicBrainzClient::Result& result, results) {
TrackPointer track(
Track::newTemporary(
originalTrack->getFileInfo(),
originalTrack->getSecurityToken()));
track->setTitle(result.m_title);
track->setArtist(result.m_artist);
track->setAlbum(result.m_album);
track->setDuration(result.m_duration);
track->setTrackNumber(QString::number(result.m_track));
track->setYear(QString::number(result.m_year));
tracksGuessed << track;
}