本文整理汇总了C++中CMusicInfoTag::AddArtistRole方法的典型用法代码示例。如果您正苦于以下问题:C++ CMusicInfoTag::AddArtistRole方法的具体用法?C++ CMusicInfoTag::AddArtistRole怎么用?C++ CMusicInfoTag::AddArtistRole使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CMusicInfoTag
的用法示例。
在下文中一共展示了CMusicInfoTag::AddArtistRole方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AddArtistRole
void CTagLoaderTagLib::AddArtistRole(CMusicInfoTag &tag, const std::string& strRole, const std::vector<std::string> &values)
{
if (values.size() == 1)
tag.AddArtistRole(strRole, values[0]);
else
tag.AddArtistRole(strRole, values);
}
示例2: AddArtistInstrument
void CTagLoaderTagLib::AddArtistInstrument(CMusicInfoTag &tag, const std::vector<std::string> &values)
{
// Values is a musician credits list, each entry is artist name followed by instrument (or function)
// e.g. violin, drums, background vocals, solo, orchestra etc. in brackets. This is how Picard uses PERFORMER tag.
// If there is not a pair of brackets then role is "performer" by default, and the whole entry is
// taken as artist name.
for (size_t i = 0; i < values.size(); ++i)
{
std::string strRole = "Performer";
std::string strArtist = values[i];
size_t firstLim = values[i].find_first_of("(");
size_t lastLim = values[i].find_last_of(")");
if (lastLim != std::string::npos && firstLim != std::string::npos && firstLim < lastLim - 1)
{
//Pair of brackets with something between them
strRole = values[i].substr(firstLim + 1, lastLim - firstLim - 1);
StringUtils::Trim(strRole);
strArtist.erase(firstLim, lastLim - firstLim + 1);
}
StringUtils::Trim(strArtist);
tag.AddArtistRole(strRole, strArtist);
}
}