static int Main(string[] args) { //Get the filename to the config file if (args.Length != 1) { Console.WriteLine("Invalid usage. Please specify the path to the project file."); return(-1); } //Load project file SpectrumVideoProjectConfig project = JsonConvert.DeserializeObject <SpectrumVideoProjectConfig>(File.ReadAllText(args[0])); //Begin processing each canvas start = DateTime.UtcNow; SpectrumVideoCanvasMultithread[] canvases = new SpectrumVideoCanvasMultithread[project.canvases.Count]; for (int i = 0; i < project.canvases.Count; i++) { SpectrumVideoCanvasMultithread canvas = new SpectrumVideoCanvasMultithread(project.canvases[i], new FfmpegOutputProvider()); canvases[i] = canvas; canvas.Start(); } //Continuously update the UI while (true) { Console.SetCursorPosition(0, 0); for (int i = 0; i < canvases.Length; i++) { UpdateLine(canvases[i]); } Thread.Sleep(10); } return(0); }
public void LoadNewConfig(SpectrumVideoProjectConfig config, string path = null) { //Set this.config = config; this.path = path; //Apply canvasList.Configure(config.canvases); }