Example #1
0
        //[TestMethod]
        public void CS_ReadingPlaylist()
        {
            IPlaylistReader theReader = PlaylistReaderFactory.GetInstance().GetPlaylistReader(playlistPath);

            foreach (string s in theReader.GetFiles())
            {
                System.Console.WriteLine(s);
            }
        }
Example #2
0
        public void Factories_GetFormats()
        {
            int fmtCount = 0;

            foreach (Format f in PlaylistReaderFactory.GetInstance().getFormats())
            {
                if (f.Readable)
                {
                    if (f.Name.Equals("PLS"))
                    {
                        fmtCount++;
                        Assert.IsTrue(f.IsValidExtension(".pls"));
                    }
                    else if (f.Name.Equals("M3U"))
                    {
                        fmtCount++;
                        Assert.IsTrue(f.IsValidExtension(".m3u"));
                        Assert.IsTrue(f.IsValidExtension(".m3u8"));
                    }
                    else if (f.Name.Equals("FPL (experimental)"))
                    {
                        fmtCount++;
                        Assert.IsTrue(f.IsValidExtension(".fpl"));
                    }
                    else if (f.Name.Equals("XSPF (spiff)"))
                    {
                        fmtCount++;
                        Assert.IsTrue(f.IsValidExtension(".xspf"));
                    }
                    else if (f.Name.Equals("SMIL"))
                    {
                        fmtCount++;
                        Assert.IsTrue(f.IsValidExtension(".smil"));
                        Assert.IsTrue(f.IsValidExtension(".smi"));
                        Assert.IsTrue(f.IsValidExtension(".zpl"));
                        Assert.IsTrue(f.IsValidExtension(".wpl"));
                    }
                    else if (f.Name.Equals("ASX"))
                    {
                        fmtCount++;
                        Assert.IsTrue(f.IsValidExtension(".asx"));
                        Assert.IsTrue(f.IsValidExtension(".wax"));
                        Assert.IsTrue(f.IsValidExtension(".wvx"));
                    }
                    else if (f.Name.Equals("B4S"))
                    {
                        fmtCount++;
                        Assert.IsTrue(f.IsValidExtension(".b4s"));
                    }
                }
            }
            Assert.AreEqual(7, fmtCount);
        }
Example #3
0
        public static short?DetermineTotalTrackNumbers(string filename, string trackNumber = null)
        {
            short?result = null;

            if (!string.IsNullOrEmpty(filename))
            {
                var fileInfo      = new FileInfo(filename);
                var directoryName = fileInfo.DirectoryName;

                // See if CUE sheet exists if so read tracks from that and return latest track number
                var cueFiles = Directory.GetFiles(directoryName, ("*.cue"));
                if (cueFiles != null && cueFiles.Any())
                {
                    try
                    {
                        ICatalogDataReader theReader = CatalogDataReaderFactory.GetInstance().GetCatalogDataReader(cueFiles.First());
                        result = (short)theReader.Tracks.Max(x => x.TrackNumber);
                    }
                    catch (Exception ex)
                    {
                        Trace.Write("Error Reading Cue: " + ex.ToString());
                    }
                }
                if (!result.HasValue)
                {
                    // See if M3U sheet exists if so read tracks from that and return latest track number
                    var m3uFiles = Directory.GetFiles(directoryName, ("*.m3u"));
                    if (m3uFiles != null && m3uFiles.Any())
                    {
                        try
                        {
                            IPlaylistReader theReader = PlaylistReaderFactory.GetInstance().GetPlaylistReader(m3uFiles.First());
                            result = (short)theReader.GetFiles().Count();
                        }
                        catch (Exception ex)
                        {
                            Trace.Write("Error Reading m3u: " + ex.ToString());
                        }
                    }
                }
            }
            // Try to parse from TrackNumber
            if (!result.HasValue)
            {
                result = ID3TagsHelper.ParseTotalTrackNumber(trackNumber);
            }
            return(result);
        }
Example #4
0
        //[TestMethod]
        public void CS_ListingSupportedFormats()
        {
            System.Text.StringBuilder filter = new System.Text.StringBuilder("");

            foreach (Format f in PlaylistReaderFactory.GetInstance().getFormats())
            {
                if (f.Readable)
                {
                    foreach (string extension in f)
                    {
                        filter.Append(extension).Append(";");
                    }
                }
            }
            // Removes the last separator
            filter.Remove(filter.Length - 1, 1);
        }