//[TestMethod] public void CS_ReadingPlaylist() { IPlaylistReader theReader = PlaylistReaderFactory.GetInstance().GetPlaylistReader(playlistPath); foreach (string s in theReader.GetFiles()) { System.Console.WriteLine(s); } }
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); }
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); }
//[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); }