예제 #1
0
        static void Main(string[] args)
        {
            Library.Initialize();

            // Replace license string with your license
            Library.SetLicense("PRIMO-SOFTWARE-LICENSE-XML");


            if (args.Length != 2)
            {
                Console.WriteLine("Usage: BuildDVD project_file output_dir");

                Library.Shutdown();
                return;
            }

            using (DVDBuilder dvdBuilder = new DVDBuilder())
            {
                dvdBuilder.ProjectFile  = args[0];
                dvdBuilder.OutputFolder = args[1];

                FileDataStreamFactory dataStreamFactory = new FileDataStreamFactory();
                dvdBuilder.InputDataStreamFactory = dataStreamFactory;

                dvdBuilder.OnContinue += new EventHandler <DVDBuilderContinueEventArgs>(dvdBuilder_OnContinue);
                dvdBuilder.OnProgress += new EventHandler <DVDBuilderProgressEventArgs>(dvdBuilder_OnProgress);
                dvdBuilder.OnStatus   += new EventHandler <DVDBuilderStatusEventArgs>(dvdBuilder_OnStatus);

                dvdBuilder.Build();

                PrintResult(dvdBuilder);
            }

            Library.Shutdown();
        }
예제 #2
0
        private static void BuildDVD(string projectFilePath, string outputFolder)
        {
            using (DVDBuilder dvdBuilder = new DVDBuilder())
            {
                dvdBuilder.ProjectFile  = projectFilePath;
                dvdBuilder.OutputFolder = outputFolder;

                dvdBuilder.OnProgress += new EventHandler <DVDBuilderProgressEventArgs>(dvdBuilder_OnProgress);
                dvdBuilder.OnStatus   += new EventHandler <DVDBuilderStatusEventArgs>(dvdBuilder_OnStatus);

                dvdBuilder.Build();

                PrintResult(dvdBuilder);
            }
        }
예제 #3
0
        private static void PrintResult(DVDBuilder dvdb)
        {
            ErrorFacility facility = (ErrorFacility)(dvdb.Error.Facility);
            string        msg      = null;

            try
            {
                switch (facility)
                {
                case ErrorFacility.Success:
                    // Success.
                    return;

                case ErrorFacility.SystemWindows:
                    System.ComponentModel.Win32Exception sysex = new System.ComponentModel.Win32Exception(dvdb.Error.Code);
                    msg = "System error: " + sysex.Message;
                    return;

                case ErrorFacility.DVDBuilder:
                    msg = GetErrorMessage((DVDBuilderError)dvdb.Error.Code);
                    return;

                default:
                    msg = "Unknown error.";
                    return;
                }
            }
            finally
            {
                Console.WriteLine("");
                if (msg != null)
                {
                    Console.WriteLine(msg);
                    Console.WriteLine("hint: {0}", dvdb.Error.Hint);
                }
                else
                {
                    Console.WriteLine("Success");
                }
            }
        }
예제 #4
0
        private void CreateVideoTs(string projectFile, string outputFolder)
        {
            LogEvent("DVD-Video building started.");

            using (DVDBuilder dvdBuilder = new DVDBuilder())
            {
                dvdBuilder.ProjectFile  = projectFile;
                dvdBuilder.OutputFolder = outputFolder;

                dvdBuilder.OnContinue += new EventHandler <PrimoSoftware.DVDBuilder.DVDBuilderContinueEventArgs>(dvdBuilder_OnContinue);
                dvdBuilder.OnProgress += new EventHandler <PrimoSoftware.DVDBuilder.DVDBuilderProgressEventArgs>(dvdBuilder_OnProgress);
                dvdBuilder.OnStatus   += new EventHandler <PrimoSoftware.DVDBuilder.DVDBuilderStatusEventArgs>(dvdBuilder_OnStatus);

                if (!dvdBuilder.Build())
                {
                    throw new DVDBuilderException(dvdBuilder.Error.Code, (int)dvdBuilder.Error.Facility, dvdBuilder.Error.Hint);
                }
            }

            LogEvent("DVD-Video building completed.");
        }