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;
}
}
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); } }