internal void LoadDeck(int row) { CUEConfig _config = (MdiParent as frmCUEPlayer).Config; DataSet1 dataSet = (MdiParent as frmCUEPlayer).DataSet; Playlist playlist = (MdiParent as frmCUEPlayer).wndPlaylist; string path = dataSet.Playlist[row].path; int track = dataSet.Playlist[row].track; try { playingCue = new CUESheet(_config); playingCue.Open(path); playingSource = new CUESheetAudio(playingCue); playingSource.Position = (long)playingCue.TOC[track].Start * 588; playingSource = new AudioPipe(playingSource, 0x2000); playingStart = playingSource.Position; playingFinish = playingStart + (long)playingCue.TOC[track].Length * 588; playingRow = row; //playlist.List.Items[playingRow].BackColor = Color.AliceBlue; needUpdate = true; UpdateDeck(); } catch (Exception ex) { playingStart = playingFinish = 0; playingCue = null; playingSource = null; return; } }
public void OpenCDExtra() { // test playstation-type CD-Extra CUESheet target = new CUESheet(new CUEConfig()); target.Open("Circuitry\\1.cue"); Assert.AreEqual <string>("-0:37001:70001:99814:126819:160976", target.TOC.ToString(), "Wrong TOC"); // test playstation-type CD-Extra with nonstandard pregap target = new CUESheet(new CUEConfig()); target.Open("Headcandy\\Headcandy.cue"); Assert.AreEqual <string>("-0:141942:168581:223645:248699:279575:312824", target.TOC.ToString(), "Wrong TOC"); // test playstation-type CD-Extra with no info in cuesheet target = new CUESheet(new CUEConfig()); target.Open("Anatomy\\Anatomy.cue"); Assert.AreEqual <string>("-0:19687:33144:50680:69872:89822:108084:132098:150625:166271:194882:200172:215884:236046:242815:269518:282018:293416", target.TOC.ToString(), "Wrong TOC"); // test playstation-type CD-Extra with two data tracks target = new CUESheet(new CUEConfig()); target.Open("Les Mysterieuses Cites d'Or\\Les Mysterieuses Cites d'Or.cue"); Assert.AreEqual <string>("-0:-31952:127883:137816:149173:160223:171479:180777:186738:196134:205613:214526:221674:227031:232824:239376:249495:259604:266115:267080:275100:281599:284452:291422:295511:297642:302114:309263:312269:320051:326235:333841", target.TOC.ToString(), "Wrong TOC"); // test playstation-type CD-Extra with two data tracks and no info in cuesheet target = new CUESheet(new CUEConfig()); target.Open("Les Mysterieuses Cites d'Or\\2.cue"); Assert.AreEqual <string>("-0:-31952:127883:137816:149173:160223:171479:180777:186738:196134:205613:214526:221674:227031:232824:239376:249495:259604:266115:267080:275100:281599:284452:291422:295511:297642:302114:309263:312269:320051:326235:333841", target.TOC.ToString(), "Wrong TOC"); }
public void OpenOneTrackCD() { // test one-track CD CUESheet target = new CUESheet(new CUEConfig()); target.Open("Amarok\\Amarok.cue"); Assert.AreEqual <string>("00041f6d-00083ece-020e1201", AccurateRipVerify.CalculateAccurateRipId(target.TOC), "Wrong TOC"); }
public void OpenEnhancedCD() { // test Enhanced-CD CUESheet target = new CUESheet(new CUEConfig()); target.Open("No Man's Land\\1.cue"); Assert.AreEqual <string>("0015c42c-00d1e13f-ba0fe50d", AccurateRipVerify.CalculateAccurateRipId(target.TOC), "Wrong TOC"); }
private void listViewTracks_DragDrop(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.FileDrop)) { string[] files = (string[])e.Data.GetData(DataFormats.FileDrop); if (files.Length == 1) { string path = files[0]; try { CUESheet cue = new CUESheet(_config); cue.Open(path); for (int iTrack = 0; iTrack < cue.TrackCount; iTrack++) { DataSet1.PlaylistRow row = dataSet.Playlist.AddPlaylistRow( path, cue.Metadata.Artist, cue.Metadata.Tracks[iTrack].Title, cue.Metadata.Title, (int)cue.TOC[cue.TOC.FirstAudio + iTrack].Length / 75, iTrack + 1); listViewTracks.Items.Add(ToItem(row)); } cue.Close(); return; } catch (Exception ex) { Trace.WriteLine(ex.Message); } FileInfo fi = new FileInfo(path); if (fi.Extension != ".cue") { DataSet1.PlaylistRow row = dataSet.Playlist.AddPlaylistRow( path, null, // cue.Artist, null, // cue.Tracks[iTrack].Title, null, // cue.Title, 0, // (int)cue.TOC[cue.TOC.FirstAudio + iTrack].Length / 75, 0); listViewTracks.Items.Add(ToItem(row)); } } } }
static int Main(string[] args) { bool ok = true; bool verbose = false; string pathIn = null; for (int arg = 0; arg < args.Length; arg++) { if (args[arg].Length == 0) { ok = false; } else if ((args[arg] == "-v" || args[arg] == "--verbose")) { verbose = true; } else if (args[arg][0] != '-' && pathIn == null) { pathIn = args[arg]; } else { ok = false; } if (!ok) { break; } } if (!ok || pathIn == null) { Console.SetOut(Console.Error); Console.WriteLine("Usage : CUETools.ARCUE.exe [options] <filename>"); Console.WriteLine(); Console.WriteLine("Options:"); Console.WriteLine(); Console.WriteLine(" -v --verbose Verbose mode"); return(1); } if (!File.Exists(pathIn)) { Console.SetOut(Console.Error); Console.WriteLine("Input CUE Sheet not found."); return(2); } CUEConfig config = new CUEConfig(); config.writeArLogOnVerify = false; config.writeArTagsOnVerify = false; config.autoCorrectFilenames = true; config.extractAlbumArt = false; config.embedAlbumArt = false; config.advanced.DetailedCTDBLog = verbose; string accurateRipLog; try { CUESheet cueSheet = new CUESheet(config); cueSheet.Action = CUEAction.Verify; //cueSheet.OutputStyle = CUEStyle.SingleFile; cueSheet.Open(pathIn); cueSheet.UseAccurateRip(); cueSheet.UseCUEToolsDB("ARCUE " + CUESheet.CUEToolsVersion, null, true, CTDBMetadataSearch.None); cueSheet.GenerateFilenames(AudioEncoderType.NoAudio, "dummy", pathIn); cueSheet.Go(); accurateRipLog = CUESheetLogWriter.GetAccurateRipLog(cueSheet); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); return(3); } Console.Write(accurateRipLog); return(0); }