BDInfo.runner.InitBDROM C# (CSharp) Method

InitBDROM() public method

public InitBDROM ( string path ) : void
path string
return void
        public void InitBDROM(string path)
        {
            System.Console.WriteLine("Please wait while we scan the disc...");
            try
            {
                BDROM = new BDROM(path);
                BDROM.StreamClipFileScanError += new BDROM.OnStreamClipFileScanError(BDROM_StreamClipFileScanError);
                BDROM.StreamFileScanError += new BDROM.OnStreamFileScanError(BDROM_StreamFileScanError);
                BDROM.PlaylistFileScanError += new BDROM.OnPlaylistFileScanError(BDROM_PlaylistFileScanError);
                BDROM.Scan();

                System.Console.WriteLine(BDROM.DirectoryRoot.FullName);

                System.Console.WriteLine(string.Format("Detected BDMV Folder: {0} ({1})", BDROM.DirectoryBDMV.FullName, BDROM.VolumeLabel));

                List<string> features = new List<string>();
                if (BDROM.Is50Hz)
                {
                    features.Add("50Hz Content");
                }
                if (BDROM.IsBDPlus)
                {
                    features.Add("BD+ Copy Protection");
                }
                if (BDROM.IsBDJava)
                {
                    features.Add("BD-Java");
                }
                if (BDROM.Is3D)
                {
                    features.Add("Blu-ray 3D");
                }
                if (BDROM.IsDBOX)
                {
                    features.Add("D-BOX Motion Code");
                }
                if (BDROM.IsPSP)
                {
                    features.Add("PSP Digital Copy");
                }
                if (features.Count > 0)
                {
                    System.Console.WriteLine("Detected Features: " + string.Join(", ", features.ToArray()));
                }

                System.Console.WriteLine(string.Format("Disc Size: {0:N0} bytes{1}", BDROM.Size, Environment.NewLine));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

Usage Example

Beispiel #1
0
        static void Main(string[] args)
        {
            var options = new MyOptions();
            // Parse in 'strict mode', success or quit
            if(CommandLine.Parser.Default.ParseArguments(args, options))
            {
                validatePath(options.input);
                validatePath(options.output);

                runner run = new runner();
                run.InitBDROM(options.input);

                //If mpsl specified, select playlist in a different way
                if (options.playlistsToScan != null)
                {
                    try
                    {
                        System.Console.WriteLine("-m or --mpls specified, running in non-interactive mode...");
                        System.Console.Write("Atempting to find ");
                        System.Console.Write(String.Join<String>(", ", options.playlistsToScan) + Environment.NewLine);

                        run.SelectPlayList(options.playlistsToScan);
                    }
                    catch (Exception ex)
                    {
                        System.Console.WriteLine("ERROR: " + ex.Message);
                        Environment.Exit(-1);
                    }
                }
                else
                {
                    run.SelectPlayList();
                }

                run.AddStreamFilesInPlaylists();
                run.ScanBDROM();
                run.GenerateReport(options.output);
            }
        }