コード例 #1
0
        public CDInfoDetail GetDiscDetails(string category, string discid)
        {
            string[]     content = GetInfo("cddb+read+" + category + "+" + discid);
            XMCDParser   parser  = new XMCDParser();
            CDInfoDetail cdInfo  = parser.Parse2(content);

            return(cdInfo);
        }
コード例 #2
0
ファイル: XMCDParser.cs プロジェクト: joconno4/MediaPortal-2
    public static string createXMCD(CDInfoDetail cdinfo)
    {
      string newline = "\n";
      int index = 0;
      StringBuilder content = new StringBuilder(400);
      StringBuilder tracks = new StringBuilder(100);
      StringBuilder extt = new StringBuilder(100);

      content.Append("# xmcd");
      content.Append(newline);
      content.Append("#");
      content.Append(newline);

      // Track frame offsets
      content.Append("# Track frame offsets:");
      foreach (CDTrackDetail track in cdinfo.Tracks)
      {
        content.Append(newline);
        content.Append("#\t");
        content.Append(track.Offset);

        // do the other info about track too...

        // track title
        tracks.Append(newline);
        tracks.Append("TTITLE");
        tracks.Append(index);
        tracks.Append("=");
        tracks.Append(track.Title);

        // track EXTT
        extt.Append(newline);
        extt.Append("EXTT");
        extt.Append(index);
        extt.Append("=");
        extt.Append(track.EXTT);

        index++;
      }

      // Disc Length
      content.Append(newline);
      content.Append("#");
      content.Append(newline);
      content.Append("# Disc length: ");
      content.Append(cdinfo.Duration);
      content.Append(" seconds");

      // Revision
      content.Append(newline);
      content.Append("#");
      content.Append(newline);
      content.Append("# Revision: 0");

      // App information
      content.Append(newline);
      content.Append("# Submitted via: ");
      content.Append(APPNAME);
      content.Append(" ");
      content.Append(APPVERSION);
      content.Append(newline);
      content.Append("#");
      content.Append(newline);

      // DISC ID
      content.Append("DISCID=");
      content.Append(cdinfo.DiscID);
      content.Append(newline);

      // Title = Artist / Title
      content.Append("DTITLE=");
      content.Append(cdinfo.Artist);
      content.Append(" / ");
      content.Append(cdinfo.Title);
      content.Append(newline);

      // Year
      content.Append("DYEAR=");
      content.Append(cdinfo.Year);
      content.Append(newline);

      // Genre
      content.Append("DGENRE=");
      content.Append(cdinfo.Genre);

      //track titles
      content.Append(tracks);

      // EXTD
      content.Append(newline);
      content.Append("EXTD=");
      content.Append(cdinfo.EXTD);

      // EXTT
      content.Append(extt);

      // EXTD
      content.Append(newline);
      content.Append("PLAYORDER=");
      int[] order = cdinfo.PlayOrder;
      for (int i = 0; i < order.Length; i++)
      {
        if (i != 0)
          content.Append(',');
        content.Append(order[i]);
      }
      content.Append(newline);

      return content.ToString();
    }
コード例 #3
0
        public static string createXMCD(CDInfoDetail cdinfo)
        {
            string        newline = "\n";
            int           index   = 0;
            StringBuilder content = new StringBuilder(400);
            StringBuilder tracks  = new StringBuilder(100);
            StringBuilder extt    = new StringBuilder(100);

            content.Append("# xmcd");
            content.Append(newline);
            content.Append("#");
            content.Append(newline);

            // Track frame offsets
            content.Append("# Track frame offsets:");
            foreach (CDTrackDetail track in cdinfo.Tracks)
            {
                content.Append(newline);
                content.Append("#\t");
                content.Append(track.Offset);

                // do the other info about track too...

                // track title
                tracks.Append(newline);
                tracks.Append("TTITLE");
                tracks.Append(index);
                tracks.Append("=");
                tracks.Append(track.Title);

                // track EXTT
                extt.Append(newline);
                extt.Append("EXTT");
                extt.Append(index);
                extt.Append("=");
                extt.Append(track.EXTT);

                index++;
            }

            // Disc Length
            content.Append(newline);
            content.Append("#");
            content.Append(newline);
            content.Append("# Disc length: ");
            content.Append(cdinfo.Duration);
            content.Append(" seconds");

            // Revision
            content.Append(newline);
            content.Append("#");
            content.Append(newline);
            content.Append("# Revision: 0");

            // App information
            content.Append(newline);
            content.Append("# Submitted via: ");
            content.Append(APPNAME);
            content.Append(" ");
            content.Append(APPVERSION);
            content.Append(newline);
            content.Append("#");
            content.Append(newline);

            // DISC ID
            content.Append("DISCID=");
            content.Append(cdinfo.DiscID);
            content.Append(newline);

            // Title = Artist / Title
            content.Append("DTITLE=");
            content.Append(cdinfo.Artist);
            content.Append(" / ");
            content.Append(cdinfo.Title);
            content.Append(newline);

            // Year
            content.Append("DYEAR=");
            content.Append(cdinfo.Year);
            content.Append(newline);

            // Genre
            content.Append("DGENRE=");
            content.Append(cdinfo.Genre);

            //track titles
            content.Append(tracks);

            // EXTD
            content.Append(newline);
            content.Append("EXTD=");
            content.Append(cdinfo.EXTD);

            // EXTT
            content.Append(extt);

            // EXTD
            content.Append(newline);
            content.Append("PLAYORDER=");
            int[] order = cdinfo.PlayOrder;
            for (int i = 0; i < order.Length; i++)
            {
                if (i != 0)
                {
                    content.Append(',');
                }
                content.Append(order[i]);
            }
            content.Append(newline);

            return(content.ToString());
        }