本文整理汇总了C++中MusicMetadata::setDiscCount方法的典型用法代码示例。如果您正苦于以下问题:C++ MusicMetadata::setDiscCount方法的具体用法?C++ MusicMetadata::setDiscCount怎么用?C++ MusicMetadata::setDiscCount使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MusicMetadata
的用法示例。
在下文中一共展示了MusicMetadata::setDiscCount方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: MusicMetadata
//.........这里部分代码省略.........
if (!popm)
{
popm = findPOPM(tag, email);
}
// Fallback to using any POPM tag we can find
if (!popm)
{
if (!tag->frameListMap()["POPM"].isEmpty())
popm = dynamic_cast<PopularimeterFrame *>
(tag->frameListMap()["POPM"].front());
}
if (popm)
{
int rating = popm->rating();
rating = lroundf(static_cast<float>(rating) / 255.0f * 10.0f);
metadata->setRating(rating);
metadata->setPlaycount(popm->counter());
}
// Look for MusicBrainz Album+Artist ID in TXXX Frame
UserTextIdentificationFrame *musicbrainz = find(tag,
"MusicBrainz Album Artist Id");
if (musicbrainz)
{
// If the MusicBrainz ID is the special "Various Artists" ID
// then compilation is TRUE
if (!compilation && !musicbrainz->fieldList().isEmpty())
{
TagLib::StringList l = musicbrainz->fieldList();
for (TagLib::StringList::ConstIterator it = l.begin(); it != l.end(); it++)
{
QString ID = TStringToQString((*it));
if (ID == MYTH_MUSICBRAINZ_ALBUMARTIST_UUID)
{
compilation = true;
break;
}
}
}
}
// TLEN - Ignored intentionally, some encoders write bad values
// e.g. Lame under certain circumstances will always write a length of
// 27 hours
// Length
if (!tag->frameListMap()["TLEN"].isEmpty())
{
int length = tag->frameListMap()["TLEN"].front()->toString().toInt();
LOG(VB_FILE, LOG_DEBUG,
QString("MetaIOID3::read: Length for '%1' from tag is '%2'\n").arg(filename).arg(length));
}
metadata->setCompilation(compilation);
metadata->setLength(getTrackLength(m_file));
// The number of tracks on the album, if supplied
if (!tag->frameListMap()["TRCK"].isEmpty())
{
QString trackFrame = TStringToQString(
tag->frameListMap()["TRCK"].front()->toString())
.trimmed();
int trackCount = trackFrame.section('/', -1).toInt();
if (trackCount > 0)
metadata->setTrackCount(trackCount);
}
LOG(VB_FILE, LOG_DEBUG,
QString("MetaIOID3::read: Length for '%1' from properties is '%2'\n").arg(filename).arg(metadata->Length()));
// Look for MythTVLastPlayed in TXXX Frame
UserTextIdentificationFrame *lastplayed = find(tag, "MythTVLastPlayed");
if (lastplayed)
{
QString lastPlayStr = TStringToQString(lastplayed->toString());
metadata->setLastPlay(QDateTime::fromString(lastPlayStr, Qt::ISODate));
}
// Part of a set
if (!tag->frameListMap()["TPOS"].isEmpty())
{
QString pos = TStringToQString(
tag->frameListMap()["TPOS"].front()->toString()).trimmed();
int discNumber = pos.section('/', 0, 0).toInt();
int discCount = pos.section('/', -1).toInt();
if (discNumber > 0)
metadata->setDiscNumber(discNumber);
if (discCount > 0)
metadata->setDiscCount(discCount);
}
return metadata;
}