private void SetImageLayoutFromFolder(DataDisc data, bool isVideoDVD, string sourceFolder) { if (isVideoDVD) { data.DvdVideo = true; data.CloseDisc = true; } DataFile fileSystemRoot = new DataFile(); // Create directory structure // Set up the root of the file system fileSystemRoot.IsDirectory = true; fileSystemRoot.LongFilename = "\\"; fileSystemRoot.FilePath = "\\"; // Import all files CreateFileTree(fileSystemRoot, sourceFolder); // Set image layout if (isVideoDVD) { using (var dvd = new VideoDVD()) { // Pass the raw layout to VideoDVD if (!dvd.SetImageLayout(fileSystemRoot)) { throw new BurnerException(dvd.Error); } // Get the correct dvd layout if (!data.SetImageLayout(dvd.ImageLayout)) { throw new BurnerException(data.Error); } } } else { if (!data.SetImageLayout(fileSystemRoot)) { throw new BurnerException(data.Error); } } }