示例#1
0
bool CVideoLibrary::FillFileItemList(const CVariant &parameterObject, CFileItemList &list)
{
  CVideoDatabase videodatabase;
  if (videodatabase.Open())
  {
    CStdString file = parameterObject["file"].asString();
    int movieID = (int)parameterObject["movieid"].asInteger(-1);
    int episodeID = (int)parameterObject["episodeid"].asInteger(-1);
    int musicVideoID = (int)parameterObject["musicvideoid"].asInteger(-1);

    bool success = false;
    CFileItem fileItem;
    if (FillFileItem(file, fileItem))
    {
      success = true;
      list.Add(CFileItemPtr(new CFileItem(fileItem)));
    }

    if (movieID > 0)
    {
      CVideoInfoTag details;
      videodatabase.GetMovieInfo("", details, movieID);
      if (!details.IsEmpty())
      {
        list.Add(CFileItemPtr(new CFileItem(details)));
        success = true;
      }
    }
    if (episodeID > 0)
    {
      CVideoInfoTag details;
      if (videodatabase.GetEpisodeInfo("", details, episodeID) && !details.IsEmpty())
      {
        list.Add(CFileItemPtr(new CFileItem(details)));
        success = true;
      }
    }
    if (musicVideoID > 0)
    {
      CVideoInfoTag details;
      videodatabase.GetMusicVideoInfo("", details, musicVideoID);
      if (!details.IsEmpty())
      {
        list.Add(CFileItemPtr(new CFileItem(details)));
        success = true;
      }
    }

    videodatabase.Close();
    return success;
  }

  return false;
}
示例#2
0
bool CVideoLibrary::FillFileItemList(const Value &parameterObject, CFileItemList &list)
{
  CVideoDatabase videodatabase;
  if ((parameterObject["movieid"].isInt() || parameterObject["episodeid"].isInt() || parameterObject["musicvideoid"].isInt()) && videodatabase.Open())
  {
    int movieID       = ParameterAsInt(parameterObject, -1, "movieid");
    int episodeID     = ParameterAsInt(parameterObject, -1, "episodeid");
    int musicVideoID  = ParameterAsInt(parameterObject, -1, "musicvideoid");

    bool success = true;
    if (movieID > 0)
    {
      CVideoInfoTag details;
      videodatabase.GetMovieInfo("", details, movieID);
      if (!details.IsEmpty())
      {
        CFileItemPtr item = CFileItemPtr(new CFileItem(details));
        list.Add(item);
        success &= true;
      }
      success = false;
    }
    if (episodeID > 0)
    {
      CVideoInfoTag details;
      if (videodatabase.GetEpisodeInfo("", details, episodeID) && !details.IsEmpty())
      {
        CFileItemPtr item = CFileItemPtr(new CFileItem(details));
        list.Add(item);
        success &= true;
      }
      success = false;
    }
    if (musicVideoID > 0)
    {
      CVideoInfoTag details;
      videodatabase.GetMusicVideoInfo("", details, musicVideoID);
      if (!details.IsEmpty())
      {
        CFileItemPtr item = CFileItemPtr(new CFileItem(details));
        list.Add(item);
        success &= true;
      }
      success = false;
    }

    videodatabase.Close();
    return success;
  }

  return false;
}