diff --git a/BasicNodes/BasicNodes.csproj b/BasicNodes/BasicNodes.csproj index 9edd5280..030305f6 100644 Binary files a/BasicNodes/BasicNodes.csproj and b/BasicNodes/BasicNodes.csproj differ diff --git a/ChecksumNodes/ChecksumNodes.csproj b/ChecksumNodes/ChecksumNodes.csproj index 30f616e9..04d76dc8 100644 Binary files a/ChecksumNodes/ChecksumNodes.csproj and b/ChecksumNodes/ChecksumNodes.csproj differ diff --git a/CollectionNodes/CollectionNodes.csproj b/CollectionNodes/CollectionNodes.csproj index b1ffc7ae..27d22a01 100644 Binary files a/CollectionNodes/CollectionNodes.csproj and b/CollectionNodes/CollectionNodes.csproj differ diff --git a/DiscordNodes/DiscordNodes.csproj b/DiscordNodes/DiscordNodes.csproj index a61cf95c..16a6afdd 100644 Binary files a/DiscordNodes/DiscordNodes.csproj and b/DiscordNodes/DiscordNodes.csproj differ diff --git a/EmailNodes/EmailNodes.csproj b/EmailNodes/EmailNodes.csproj index 179777c0..820e631d 100644 Binary files a/EmailNodes/EmailNodes.csproj and b/EmailNodes/EmailNodes.csproj differ diff --git a/Emby/Emby.csproj b/Emby/Emby.csproj index bed2312a..bd30f7ff 100644 Binary files a/Emby/Emby.csproj and b/Emby/Emby.csproj differ diff --git a/Gotify/Gotify.csproj b/Gotify/Gotify.csproj index f86ed265..e80345ec 100644 Binary files a/Gotify/Gotify.csproj and b/Gotify/Gotify.csproj differ diff --git a/MetaNodes/MetaNodes.csproj b/MetaNodes/MetaNodes.csproj index d82787b3..b7d5b6bb 100644 Binary files a/MetaNodes/MetaNodes.csproj and b/MetaNodes/MetaNodes.csproj differ diff --git a/MusicNodes/MusicNodes.csproj b/MusicNodes/MusicNodes.csproj index 98fc8eae..dc765482 100644 Binary files a/MusicNodes/MusicNodes.csproj and b/MusicNodes/MusicNodes.csproj differ diff --git a/Plex/Plex.csproj b/Plex/Plex.csproj index b1967f9a..9b0f99cf 100644 Binary files a/Plex/Plex.csproj and b/Plex/Plex.csproj differ diff --git a/VideoNodes/FfmpegBuilderNodes/FfmpegBuilderNode.cs b/VideoNodes/FfmpegBuilderNodes/FfmpegBuilderNode.cs index cb396d48..6f844afb 100644 --- a/VideoNodes/FfmpegBuilderNodes/FfmpegBuilderNode.cs +++ b/VideoNodes/FfmpegBuilderNodes/FfmpegBuilderNode.cs @@ -12,6 +12,7 @@ namespace FileFlows.VideoNodes.FfmpegBuilderNodes public override int Outputs => 1; public override string Icon => "far fa-file-video"; public override FlowElementType Type => FlowElementType.BuildPart; + public override string HelpUrl => "https://github.com/revenz/FileFlows/wiki/FFMPEG-Builder"; protected void Init(NodeParameters args) { diff --git a/VideoNodes/FfmpegBuilderNodes/Metadata/FfmpegBuilderAutoChapters.cs b/VideoNodes/FfmpegBuilderNodes/Metadata/FfmpegBuilderAutoChapters.cs index 5490d232..a2354274 100644 --- a/VideoNodes/FfmpegBuilderNodes/Metadata/FfmpegBuilderAutoChapters.cs +++ b/VideoNodes/FfmpegBuilderNodes/Metadata/FfmpegBuilderAutoChapters.cs @@ -3,6 +3,7 @@ public class FfmpegBuilderAutoChapters : FfmpegBuilderNode { public override int Outputs => 2; + public override string HelpUrl => "https://github.com/revenz/FileFlows/wiki/FFMPEG-Builder:-Auto-Chapters"; [NumberInt(1)] [DefaultValue(60)] diff --git a/VideoNodes/FfmpegBuilderNodes/Metadata/FfmpegBuilderVideoMetadata.cs b/VideoNodes/FfmpegBuilderNodes/Metadata/FfmpegBuilderVideoMetadata.cs index e166a0b1..9c7e8878 100644 --- a/VideoNodes/FfmpegBuilderNodes/Metadata/FfmpegBuilderVideoMetadata.cs +++ b/VideoNodes/FfmpegBuilderNodes/Metadata/FfmpegBuilderVideoMetadata.cs @@ -1,64 +1,64 @@ -namespace FileFlows.VideoNodes.FfmpegBuilderNodes -{ - public class FfmpegBuilderVideoMetadata : FfmpegBuilderNode - { - public override int Outputs => 2; +//namespace FileFlows.VideoNodes.FfmpegBuilderNodes +//{ +// public class FfmpegBuilderVideoMetadata : FfmpegBuilderNode +// { +// public override int Outputs => 2; - public override int Execute(NodeParameters args) - { - base.Init(args); +// public override int Execute(NodeParameters args) +// { +// base.Init(args); - if (args?.Variables?.ContainsKey("VideoMetadata") != true) - { - args.Logger?.ILog("VideoMetadata not found in variables"); - return 2; - } - var md = VideoMetadata.Convert(args.Variables["VideoMetadata"]); - if (string.IsNullOrEmpty(md?.Title)) - { - args.Logger?.ILog("Failed to load VideoMetadata"); - return 2; - } +// if (args?.Variables?.ContainsKey("VideoMetadata") != true) +// { +// args.Logger?.ILog("VideoMetadata not found in variables"); +// return 2; +// } +// var md = VideoMetadata.Convert(args.Variables["VideoMetadata"]); +// if (string.IsNullOrEmpty(md?.Title)) +// { +// args.Logger?.ILog("Failed to load VideoMetadata"); +// return 2; +// } - if (md.Year > 1920 && md.Year < 2100) - Model.MetadataParameters.AddRange(new[] { "-metadata", "year=" + md.Year }); - if (md.ReleaseDate > new DateTime(1920, 1, 1) && md.ReleaseDate < new DateTime(2100, 1, 1)) - Model.MetadataParameters.AddRange(new[] { "-metadata", "date=" + md.ReleaseDate.ToString("yyyy-MM-dd HH:mm:ss") }); +// if (md.Year > 1920 && md.Year < 2100) +// Model.MetadataParameters.AddRange(new[] { "-metadata", "year=" + md.Year }); +// if (md.ReleaseDate > new DateTime(1920, 1, 1) && md.ReleaseDate < new DateTime(2100, 1, 1)) +// Model.MetadataParameters.AddRange(new[] { "-metadata", "date=" + md.ReleaseDate.ToString("yyyy-MM-dd HH:mm:ss") }); - if (string.IsNullOrEmpty(md.Description) == false) - Model.MetadataParameters.AddRange(new[] { "-metadata", "description=" + md.Description }); +// if (string.IsNullOrEmpty(md.Description) == false) +// Model.MetadataParameters.AddRange(new[] { "-metadata", "description=" + md.Description }); - if (string.IsNullOrEmpty(md?.ArtJpeg) == false) - Model.MetadataParameters.AddRange(new[] { "-attach", md.ArtJpeg, "-metadata:s:t:0", "mimetype=image/jpg", "-metadata:s:t:0", "filename=cover.jpg" }); +// if (string.IsNullOrEmpty(md?.ArtJpeg) == false) +// Model.MetadataParameters.AddRange(new[] { "-attach", md.ArtJpeg, "-metadata:s:t:0", "mimetype=image/jpg", "-metadata:s:t:0", "filename=cover.jpg" }); - if (md.Genres?.Any() == true) - Model.MetadataParameters.AddRange(new[] { "-metadata", "genre=" + string.Join(", ", md.Genres) }); - if (md.Directors?.Any() == true) - Model.MetadataParameters.AddRange(new[] { "-metadata", "directors=" + string.Join(", ", md.Directors) }); - if (md.Writers?.Any() == true) - Model.MetadataParameters.AddRange(new[] { "-metadata", "writers=" + string.Join(", ", md.Writers) }); - if (md.Actors?.Any() == true) - Model.MetadataParameters.AddRange(new[] { "-metadata", "cast=" + string.Join(", ", md.Actors) }); +// if (md.Genres?.Any() == true) +// Model.MetadataParameters.AddRange(new[] { "-metadata", "genre=" + string.Join(", ", md.Genres) }); +// if (md.Directors?.Any() == true) +// Model.MetadataParameters.AddRange(new[] { "-metadata", "directors=" + string.Join(", ", md.Directors) }); +// if (md.Writers?.Any() == true) +// Model.MetadataParameters.AddRange(new[] { "-metadata", "writers=" + string.Join(", ", md.Writers) }); +// if (md.Actors?.Any() == true) +// Model.MetadataParameters.AddRange(new[] { "-metadata", "cast=" + string.Join(", ", md.Actors) }); - if (md.Season != null && md.Season >= 0 && md.Episode != null && md.Episode > 0) - { - Model.MetadataParameters.AddRange(new[] { "-metadata", "show=" + md.Title }); - Model.MetadataParameters.AddRange(new[] { "-metadata", "season_number=" + md.Season }); - Model.MetadataParameters.AddRange(new[] { "-metadata", "episode_id=" + md.Episode }); - Model.MetadataParameters.AddRange(new[] { "-metadata", "title=" + md.Subtitle}); - Model.MetadataParameters.AddRange(new[] { "-metadata", "album=Season " + md.Season }); - } - else - { - // movie - Model.MetadataParameters.AddRange(new[] { "-metadata", "title=" + md.Title }); +// if (md.Season != null && md.Season >= 0 && md.Episode != null && md.Episode > 0) +// { +// Model.MetadataParameters.AddRange(new[] { "-metadata", "show=" + md.Title }); +// Model.MetadataParameters.AddRange(new[] { "-metadata", "season_number=" + md.Season }); +// Model.MetadataParameters.AddRange(new[] { "-metadata", "episode_id=" + md.Episode }); +// Model.MetadataParameters.AddRange(new[] { "-metadata", "title=" + md.Subtitle}); +// Model.MetadataParameters.AddRange(new[] { "-metadata", "album=Season " + md.Season }); +// } +// else +// { +// // movie +// Model.MetadataParameters.AddRange(new[] { "-metadata", "title=" + md.Title }); - } - Model.MetadataParameters.AddRange(new[] { "-metadata", "encoder=FileFlows" }); +// } +// Model.MetadataParameters.AddRange(new[] { "-metadata", "encoder=FileFlows" }); - //Model.MetadataParameters.Add(""); - //Model.MetadataParameters.AddRange(new[] { "-map_metadata", (Model.InputFiles.Count - 1).ToString() }); - return 1; - } - } -} +// //Model.MetadataParameters.Add(""); +// //Model.MetadataParameters.AddRange(new[] { "-map_metadata", (Model.InputFiles.Count - 1).ToString() }); +// return 1; +// } +// } +//} diff --git a/VideoNodes/FfmpegBuilderNodes/Video/FfmpegBuilderCropBlackBars.cs b/VideoNodes/FfmpegBuilderNodes/Video/FfmpegBuilderCropBlackBars.cs index ea1d8dac..4837756b 100644 --- a/VideoNodes/FfmpegBuilderNodes/Video/FfmpegBuilderCropBlackBars.cs +++ b/VideoNodes/FfmpegBuilderNodes/Video/FfmpegBuilderCropBlackBars.cs @@ -6,6 +6,9 @@ [DefaultValue(10)] public int CroppingThreshold { get; set; } public override int Outputs => 2; + + public override string HelpUrl => "https://github.com/revenz/FileFlows/wiki/FFMPEG-Builder:-Crop-Black-Bars"; + public override int Execute(NodeParameters args) { base.Init(args); diff --git a/VideoNodes/FfmpegBuilderNodes/Video/FfmpegBuilderHdrToSdr.cs b/VideoNodes/FfmpegBuilderNodes/Video/FfmpegBuilderHdrToSdr.cs index 1625a8a4..4220e66a 100644 --- a/VideoNodes/FfmpegBuilderNodes/Video/FfmpegBuilderHdrToSdr.cs +++ b/VideoNodes/FfmpegBuilderNodes/Video/FfmpegBuilderHdrToSdr.cs @@ -3,6 +3,9 @@ public class FfmpegBuilderHdrToSdr : FfmpegBuilderNode { public override int Outputs => 2; + + public override string HelpUrl => "https://github.com/revenz/FileFlows/wiki/FFMPEG-Builder:-HDR-to-SDR"; + public override int Execute(NodeParameters args) { base.Init(args); diff --git a/VideoNodes/FfmpegBuilderNodes/Video/FfmpegBuilderVideo10Bit.cs b/VideoNodes/FfmpegBuilderNodes/Video/FfmpegBuilderVideo10Bit.cs index a023521c..7a58a763 100644 --- a/VideoNodes/FfmpegBuilderNodes/Video/FfmpegBuilderVideo10Bit.cs +++ b/VideoNodes/FfmpegBuilderNodes/Video/FfmpegBuilderVideo10Bit.cs @@ -3,6 +3,9 @@ public class FfmpegBuilderVideo10Bit : FfmpegBuilderNode { public override int Outputs => 1; + + public override string HelpUrl => "https://github.com/revenz/FileFlows/wiki/FFMPEG-Builder:-Video-10-Bit"; + public override int Execute(NodeParameters args) { base.Init(args); diff --git a/VideoNodes/FfmpegBuilderNodes/Video/FfmpegBuilderVideoCodec.cs b/VideoNodes/FfmpegBuilderNodes/Video/FfmpegBuilderVideoCodec.cs index 81a3a8b3..bb7ee08e 100644 --- a/VideoNodes/FfmpegBuilderNodes/Video/FfmpegBuilderVideoCodec.cs +++ b/VideoNodes/FfmpegBuilderNodes/Video/FfmpegBuilderVideoCodec.cs @@ -4,6 +4,8 @@ { public override int Outputs => 2; + public override string HelpUrl => "https://github.com/revenz/FileFlows/wiki/FFMPEG-Builder:-Video-Codec"; + [DefaultValue("hevc")] [TextVariable(1)] public string VideoCodec { get; set; } diff --git a/VideoNodes/VideoNodes.csproj b/VideoNodes/VideoNodes.csproj index 421faa49..bf57204e 100644 Binary files a/VideoNodes/VideoNodes.csproj and b/VideoNodes/VideoNodes.csproj differ diff --git a/VideoNodes/VideoNodes/AutoChapters.cs b/VideoNodes/VideoNodes/AutoChapters.cs index 29f949b0..2107feee 100644 --- a/VideoNodes/VideoNodes/AutoChapters.cs +++ b/VideoNodes/VideoNodes/AutoChapters.cs @@ -14,6 +14,7 @@ { public override int Outputs => 2; + [NumberInt(1)] [DefaultValue(60)] public int MinimumLength { get; set; } = 60;