m_streamDetails.Reset();
m_playCount = 0;
m_fEpBookmark = 0;
+ m_basePath = "";
+ m_parentPathID = -1;
}
bool CVideoInfoTag::Save(TiXmlNode *node, const CStdString &tag, bool savePathInfo)
XMLUtils::SetString(movie, "file", m_strFile);
XMLUtils::SetString(movie, "path", m_strPath);
XMLUtils::SetString(movie, "filenameandpath", m_strFileNameAndPath);
+ XMLUtils::SetString(movie, "basepath", m_basePath);
}
if (!m_strEpisodeGuide.IsEmpty())
{
ar << dynamic_cast<IArchivable&>(m_streamDetails);
ar << m_strShowLink;
ar << m_fEpBookmark;
+ ar << m_basePath;
+ ar << m_parentPathID;
}
else
{
ar >> dynamic_cast<IArchivable&>(m_streamDetails);
ar >> m_strShowLink;
ar >> m_fEpBookmark;
+ ar >> m_basePath;
+ ar >> m_parentPathID;
}
}
value["votes"] = m_strVotes;
value["studio"] = m_strStudio;
value["trailer"] = m_strTrailer;
+ value["cast"] = CVariant(CVariant::VariantTypeArray);
for (unsigned int i = 0; i < m_cast.size(); ++i)
{
- value["cast"][i]["name"] = m_cast[i].strName;
- value["cast"][i]["role"] = m_cast[i].strRole;
+ CVariant actor;
+ actor["name"] = m_cast[i].strName;
+ actor["role"] = m_cast[i].strRole;
+ value["cast"].push_back(actor);
}
value["set"] = m_strSet;
value["runtime"] = m_strRuntime;
value["mpaa"] = m_strMPAARating;
value["filenameandpath"] = m_strFileNameAndPath;
value["originaltitle"] = m_strOriginalTitle;
+ value["sorttitle"] = m_strSortTitle;
value["episodeguide"] = m_strEpisodeGuide;
value["premiered"] = m_strPremiered;
value["status"] = m_strStatus;
XMLUtils::GetString(movie, "aired", m_strFirstAired);
XMLUtils::GetString(movie, "album", m_strAlbum);
XMLUtils::GetString(movie, "trailer", m_strTrailer);
+ XMLUtils::GetString(movie, "basepath", m_basePath);
const TiXmlElement* thumb = movie->FirstChildElement("thumb");
while (thumb)