Ejemplo n.º 1
0
        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;
            }
        }
Ejemplo n.º 2
0
        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");
        }
Ejemplo n.º 3
0
        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");
        }
Ejemplo n.º 4
0
        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");
        }
Ejemplo n.º 5
0
        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));
                    }
                }
            }
        }
Ejemplo n.º 6
0
        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);
        }