public static void BuildSingleFileM3u(string pPath, Nsfe pNsfeData, string pTrackData, int pIndex, int pTrackIndex) { string outputFileName = Path.GetFileNameWithoutExtension(pPath) + " - " + pIndex.ToString().PadLeft(2, '0') + " - " + NsfUtil.ParseTitle(pNsfeData, pTrackIndex) + ".m3u"; foreach (char c in Path.GetInvalidFileNameChars()) { outputFileName = outputFileName.Replace(c, '_'); } string outputPath = Path.GetDirectoryName(pPath); StreamWriter singleSW = File.CreateText(outputPath + Path.DirectorySeparatorChar + outputFileName); singleSW.WriteLine("#######################################################"); singleSW.WriteLine("#"); singleSW.WriteLine("# Game: " + pNsfeData.SongName); singleSW.WriteLine("# Artist: " + pNsfeData.SongArtist); singleSW.WriteLine("# Copyright: " + pNsfeData.SongCopyright); singleSW.WriteLine("# Ripper: " + pNsfeData.NsfRipper); singleSW.WriteLine("# Song: " + NsfUtil.ParseTitle(pNsfeData, pIndex)); singleSW.WriteLine("#"); singleSW.WriteLine("#######################################################"); singleSW.WriteLine(); singleSW.WriteLine(pTrackData); singleSW.Close(); singleSW.Dispose(); }
public static string BuildTrackItem(int pIndex, Nsfe pNsfeData, string pPath) { int tempTime; int timeMinutes = 0; int timeSeconds = 0; string timeTotal = String.Empty; int fadeMinutes = 0; int fadeSeconds = 0; string fadeTotal = String.Empty; string title; string entry; title = NsfUtil.ParseTitle(pNsfeData, pIndex); if (pNsfeData.Times != null) { tempTime = pNsfeData.Times[pIndex]; if (tempTime >= 0) { timeMinutes = tempTime / 60000; timeSeconds = ((tempTime - (timeMinutes * 60000)) % 60000) / 1000; timeTotal = timeMinutes + ":" + timeSeconds.ToString("d2"); } } if (pNsfeData.Fades != null) { tempTime = pNsfeData.Fades[pIndex]; if (tempTime >= 0) { fadeMinutes = tempTime / 60000; fadeSeconds = ((tempTime - (fadeMinutes * 60000)) % 60000) / 1000; fadeTotal = fadeMinutes + ":" + fadeSeconds.ToString("d2"); } } entry = NezPlugUtil.BuildPlaylistEntry(NezPlugUtil.FORMAT_NSF, Path.GetFileNameWithoutExtension(pPath) + ".nsf", (pIndex + 1).ToString(), title.Trim(), timeTotal, String.Empty, fadeTotal, String.Empty); return(entry); }