本文整理汇总了C++中CVideoDbUrl::GetType方法的典型用法代码示例。如果您正苦于以下问题:C++ CVideoDbUrl::GetType方法的具体用法?C++ CVideoDbUrl::GetType怎么用?C++ CVideoDbUrl::GetType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CVideoDbUrl
的用法示例。
在下文中一共展示了CVideoDbUrl::GetType方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetDirectory
//.........这里部分代码省略.........
items.SetContent("episodes");
int seasonID = -1;
int seasonParam = params.GetSeason();
// grab all season art when flatten always
if (seasonParam == -2 && iFlatten == 2)
seasonParam = -1;
if (seasonParam >= -1)
seasonID = m_database.GetSeasonId(details.m_iDbId, seasonParam);
else
seasonID = items[firstIndex]->GetVideoInfoTag()->m_iIdSeason;
CGUIListItem::ArtMap seasonArt;
if (seasonID > -1 && m_database.GetArtForItem(seasonID, MediaTypeSeason, seasonArt))
{
items.AppendArt(seasonArt, MediaTypeSeason);
// set an art fallback for "thumb"
if (items.HasArt("season.poster"))
items.SetArtFallback("thumb", "season.poster");
else if (items.HasArt("season.banner"))
items.SetArtFallback("thumb", "season.banner");
}
}
else
items.SetContent("seasons");
}
else if (node == NODE_TYPE_TITLE_MOVIES ||
node == NODE_TYPE_RECENTLY_ADDED_MOVIES)
{
if (params.GetSetId() > 0)
{
CGUIListItem::ArtMap setArt;
if (m_database.GetArtForItem(params.GetSetId(), MediaTypeVideoCollection, setArt))
{
items.AppendArt(setArt, MediaTypeVideoCollection);
items.SetArtFallback("fanart", "set.fanart");
if (items.HasArt("set.poster"))
items.SetArtFallback("thumb", "set.poster");
}
}
items.SetContent("movies");
}
else if (node == NODE_TYPE_TITLE_TVSHOWS ||
node == NODE_TYPE_INPROGRESS_TVSHOWS)
items.SetContent("tvshows");
else if (node == NODE_TYPE_TITLE_MUSICVIDEOS ||
node == NODE_TYPE_RECENTLY_ADDED_MUSICVIDEOS)
items.SetContent("musicvideos");
else if (node == NODE_TYPE_GENRE)
items.SetContent("genres");
else if (node == NODE_TYPE_COUNTRY)
items.SetContent("countries");
else if (node == NODE_TYPE_ACTOR)
{
if (params.GetContentType() == VIDEODB_CONTENT_MUSICVIDEOS)
items.SetContent("artists");
else
items.SetContent("actors");
}
else if (node == NODE_TYPE_DIRECTOR)
items.SetContent("directors");
else if (node == NODE_TYPE_STUDIO)
items.SetContent("studios");
else if (node == NODE_TYPE_YEAR)
items.SetContent("years");
else if (node == NODE_TYPE_MUSICVIDEOS_ALBUM)
items.SetContent("albums");
else if (node == NODE_TYPE_SETS)
items.SetContent("sets");
else if (node == NODE_TYPE_TAGS)
items.SetContent("tags");
else
items.SetContent("");
}
else if (URIUtils::PathEquals(items.GetPath(), "special://videoplaylists/"))
items.SetContent("playlists");
else if (!items.IsVirtualDirectoryRoot())
{ // load info from the database
std::string label;
if (items.GetLabel().empty() && m_rootDir.IsSource(items.GetPath(), CMediaSourceSettings::GetInstance().GetSources("video"), &label))
items.SetLabel(label);
if (!items.IsSourcesPath() && !items.IsLibraryFolder())
LoadVideoInfo(items);
}
CVideoDbUrl videoUrl;
if (videoUrl.FromString(items.GetPath()) && items.GetContent() == "tags" &&
!items.Contains("newtag://" + videoUrl.GetType()))
{
CFileItemPtr newTag(new CFileItem("newtag://" + videoUrl.GetType(), false));
newTag->SetLabel(g_localizeStrings.Get(20462));
newTag->SetLabelPreformated(true);
newTag->SetSpecialSort(SortSpecialOnTop);
items.Add(newTag);
}
}
return bResult;
}