Files
FileFlowsPlugins/VideoNodes/FfmpegBuilderNodes/FfmpegBuilderAddInputFile.cs
John Andrews 80d4ee23d3 add PreExecute to Video Nodes
started adding Video Encode node for basic settings
2022-05-19 01:48:29 +12:00

41 lines
1.2 KiB
C#

using FileFlows.VideoNodes.FfmpegBuilderNodes.Models;
namespace FileFlows.VideoNodes.FfmpegBuilderNodes;
public class FfmpegBuilderAddInputFile : FfmpegBuilderNode
{
public override string HelpUrl => "https://github.com/revenz/FileFlows/wiki/FFMPEG-Builder:-Add-Input-File";
public override string Icon => "fas fa-plus";
public override int Outputs => 2;
[TextVariable(1)]
[Required]
public string Pattern { get; set; }
[Boolean(2)]
public bool UseSourceDirectory { get; set; }
public override int Execute(NodeParameters args)
{
var dir = new FileInfo(UseSourceDirectory ? args.FileName : args.WorkingFile).Directory;
if (dir.Exists == false)
{
args.Logger?.ILog("Directory does not exist: " + dir.FullName);
return 2;
}
var regex = new Regex(this.Pattern, RegexOptions.IgnoreCase);
bool added = false;
foreach (var file in dir.GetFiles())
{
if (regex.IsMatch(file.Name) == false)
continue;
this.Model.InputFiles.Add(file.FullName);
added = true;
}
return added ? 1 : 2;
}
}