mirror of
https://github.com/revenz/FileFlowsPlugins.git
synced 2025-12-30 12:59:30 -06:00
fixing issue with mapping in video nodes
This commit is contained in:
@@ -5,8 +5,8 @@
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<RootNamespace>FileFlows.$(MSBuildProjectName.Replace(" ", "_"))</RootNamespace>
|
||||
<FileVersion>0.8.4.101</FileVersion>
|
||||
<ProductVersion>0.8.4.101</ProductVersion>
|
||||
<FileVersion>0.8.4.152</FileVersion>
|
||||
<ProductVersion>0.8.4.152</ProductVersion>
|
||||
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
||||
<PublishTrimmed>true</PublishTrimmed>
|
||||
<Company>FileFlows</Company>
|
||||
|
||||
@@ -22,7 +22,7 @@ public class Apprise: Node
|
||||
[Select(nameof(MessageTypeOptions), 3)]
|
||||
public string MessageType { get; set; } = string.Empty;
|
||||
|
||||
private static List<ListOption> _MessageTypeOptions = new List<ListOption>();
|
||||
private static List<ListOption> _MessageTypeOptions;
|
||||
public static List<ListOption> MessageTypeOptions
|
||||
{
|
||||
get
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<FileVersion>0.8.4.101</FileVersion>
|
||||
<ProductVersion>0.8.4.101</ProductVersion>
|
||||
<FileVersion>0.8.4.152</FileVersion>
|
||||
<ProductVersion>0.8.4.152</ProductVersion>
|
||||
<PublishTrimmed>true</PublishTrimmed>
|
||||
<Company>FileFlows</Company>
|
||||
<Authors>John Andrews</Authors>
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
<Nullable>enable</Nullable>
|
||||
<IncludeAllContentForSelfExtract>true</IncludeAllContentForSelfExtract>
|
||||
<PublishSingleFile>true</PublishSingleFile>
|
||||
<FileVersion>0.8.4.101</FileVersion>
|
||||
<ProductVersion>0.8.4.101</ProductVersion>
|
||||
<FileVersion>0.8.4.152</FileVersion>
|
||||
<ProductVersion>0.8.4.152</ProductVersion>
|
||||
<PublishTrimmed>true</PublishTrimmed>
|
||||
<Company>FileFlows</Company>
|
||||
<Authors>John Andrews</Authors>
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<FileVersion>0.8.4.101</FileVersion>
|
||||
<ProductVersion>0.8.4.101</ProductVersion>
|
||||
<FileVersion>0.8.4.152</FileVersion>
|
||||
<ProductVersion>0.8.4.152</ProductVersion>
|
||||
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
||||
<PublishTrimmed>true</PublishTrimmed>
|
||||
<Company>FileFlows</Company>
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<RootNamespace>FileFlows.$(MSBuildProjectName.Replace(" ", "_"))</RootNamespace>
|
||||
<FileVersion>0.8.4.101</FileVersion>
|
||||
<ProductVersion>0.8.4.101</ProductVersion>
|
||||
<FileVersion>0.8.4.152</FileVersion>
|
||||
<ProductVersion>0.8.4.152</ProductVersion>
|
||||
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
||||
<PublishTrimmed>true</PublishTrimmed>
|
||||
<Company>FileFlows</Company>
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
<PublishTrimmed>true</PublishTrimmed>
|
||||
<IncludeAllContentForSelfExtract>true</IncludeAllContentForSelfExtract>
|
||||
<PublishSingleFile>true</PublishSingleFile>
|
||||
<FileVersion>0.8.4.101</FileVersion>
|
||||
<ProductVersion>0.8.4.101</ProductVersion>
|
||||
<FileVersion>0.8.4.152</FileVersion>
|
||||
<ProductVersion>0.8.4.152</ProductVersion>
|
||||
<PublishTrimmed>true</PublishTrimmed>
|
||||
<Company>FileFlows</Company>
|
||||
<Authors>John Andrews</Authors>
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<RootNamespace>FileFlows.$(MSBuildProjectName.Replace(" ", "_"))</RootNamespace>
|
||||
<FileVersion>0.8.4.101</FileVersion>
|
||||
<ProductVersion>0.8.4.101</ProductVersion>
|
||||
<FileVersion>0.8.4.152</FileVersion>
|
||||
<ProductVersion>0.8.4.152</ProductVersion>
|
||||
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
||||
<PublishTrimmed>true</PublishTrimmed>
|
||||
<Company>FileFlows</Company>
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<RootNamespace>FileFlows.$(MSBuildProjectName.Replace(" ", "_"))</RootNamespace>
|
||||
<FileVersion>0.8.4.101</FileVersion>
|
||||
<ProductVersion>0.8.4.101</ProductVersion>
|
||||
<FileVersion>0.8.4.152</FileVersion>
|
||||
<ProductVersion>0.8.4.152</ProductVersion>
|
||||
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
||||
<PublishTrimmed>true</PublishTrimmed>
|
||||
<Company>FileFlows</Company>
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<RootNamespace>FileFlows.$(MSBuildProjectName.Replace(" ", "_"))</RootNamespace>
|
||||
<FileVersion>0.8.4.101</FileVersion>
|
||||
<ProductVersion>0.8.4.101</ProductVersion>
|
||||
<FileVersion>0.8.4.152</FileVersion>
|
||||
<ProductVersion>0.8.4.152</ProductVersion>
|
||||
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
||||
<PublishTrimmed>true</PublishTrimmed>
|
||||
<Company>FileFlows</Company>
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
<Nullable>enable</Nullable>
|
||||
<IncludeAllContentForSelfExtract>true</IncludeAllContentForSelfExtract>
|
||||
<PublishSingleFile>true</PublishSingleFile>
|
||||
<FileVersion>0.8.4.101</FileVersion>
|
||||
<ProductVersion>0.8.4.101</ProductVersion>
|
||||
<FileVersion>0.8.4.152</FileVersion>
|
||||
<ProductVersion>0.8.4.152</ProductVersion>
|
||||
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
||||
<PublishTrimmed>true</PublishTrimmed>
|
||||
<Company>FileFlows</Company>
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
<Nullable>enable</Nullable>
|
||||
<IncludeAllContentForSelfExtract>true</IncludeAllContentForSelfExtract>
|
||||
<PublishSingleFile>true</PublishSingleFile>
|
||||
<FileVersion>0.8.4.101</FileVersion>
|
||||
<ProductVersion>0.8.4.101</ProductVersion>
|
||||
<FileVersion>0.8.4.152</FileVersion>
|
||||
<ProductVersion>0.8.4.152</ProductVersion>
|
||||
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
||||
<PublishTrimmed>true</PublishTrimmed>
|
||||
<Company>FileFlows</Company>
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<RootNamespace>FileFlows.$(MSBuildProjectName.Replace(" ", "_"))</RootNamespace>
|
||||
<FileVersion>0.8.4.101</FileVersion>
|
||||
<ProductVersion>0.8.4.101</ProductVersion>
|
||||
<FileVersion>0.8.4.152</FileVersion>
|
||||
<ProductVersion>0.8.4.152</ProductVersion>
|
||||
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
||||
<PublishTrimmed>true</PublishTrimmed>
|
||||
<Company>FileFlows</Company>
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
<Nullable>enable</Nullable>
|
||||
<IncludeAllContentForSelfExtract>true</IncludeAllContentForSelfExtract>
|
||||
<PublishSingleFile>true</PublishSingleFile>
|
||||
<FileVersion>0.8.4.101</FileVersion>
|
||||
<ProductVersion>0.8.4.101</ProductVersion>
|
||||
<FileVersion>0.8.4.152</FileVersion>
|
||||
<ProductVersion>0.8.4.152</ProductVersion>
|
||||
<PublishTrimmed>true</PublishTrimmed>
|
||||
<Company>FileFlows</Company>
|
||||
<Authors>John Andrews</Authors>
|
||||
|
||||
@@ -197,14 +197,14 @@ public class FfmpegBuilderAudioAddTrack : FfmpegBuilderNode
|
||||
{
|
||||
return new[]
|
||||
{
|
||||
"-map", source,
|
||||
"-map", "0:a:{sourceTypeIndex}",
|
||||
"-c:a:{index}",
|
||||
codec
|
||||
};
|
||||
}
|
||||
return new[]
|
||||
{
|
||||
"-map", source,
|
||||
"-map", "0:a:{sourceTypeIndex}",
|
||||
"-c:a:{index}",
|
||||
codec,
|
||||
"-b:a:{index}", bitrate + "k"
|
||||
@@ -216,7 +216,7 @@ public class FfmpegBuilderAudioAddTrack : FfmpegBuilderNode
|
||||
{
|
||||
return new[]
|
||||
{
|
||||
"-map", source,
|
||||
"-map", "0:a:{sourceTypeIndex}",
|
||||
"-c:a:{index}",
|
||||
codec,
|
||||
"-ac:a:{index}", channels.ToString()
|
||||
@@ -224,7 +224,7 @@ public class FfmpegBuilderAudioAddTrack : FfmpegBuilderNode
|
||||
}
|
||||
return new[]
|
||||
{
|
||||
"-map", source,
|
||||
"-map", "0:a:{sourceTypeIndex}",
|
||||
"-c:a:{index}",
|
||||
codec,
|
||||
"-ac:a:{index}", channels.ToString(),
|
||||
|
||||
@@ -28,7 +28,12 @@ namespace FileFlows.VideoNodes.FfmpegBuilderNodes
|
||||
|
||||
bool hasChange = false;
|
||||
int actualIndex = 0;
|
||||
int overallIndex = 0;
|
||||
int currentType = 0;
|
||||
|
||||
string sourceExtension = model.VideoInfo.FileName.Substring(model.VideoInfo.FileName.LastIndexOf(".") + 1).ToLower();
|
||||
string extension = (model.Extension?.EmptyAsNull() ?? "mkv").ToLower();
|
||||
|
||||
foreach (var item in model.VideoStreams.Select((x, index) => (stream: (FfmpegStream)x, index, type: 1)).Union(
|
||||
model.AudioStreams.Select((x, index) => (stream: (FfmpegStream)x, index, type: 2))).Union(
|
||||
model.SubtitleStreams.Select((x, index) => (stream: (FfmpegStream)x, index, type: 3))))
|
||||
@@ -43,10 +48,29 @@ namespace FileFlows.VideoNodes.FfmpegBuilderNodes
|
||||
actualIndex = 0;
|
||||
currentType = item.type;
|
||||
}
|
||||
|
||||
ffArgs.AddRange(item.stream.GetParameters(actualIndex));
|
||||
|
||||
VideoFileStream vfs = item.stream is FfmpegVideoStream ? ((FfmpegVideoStream)item.stream).Stream :
|
||||
item.stream is FfmpegAudioStream ? ((FfmpegAudioStream)item.stream).Stream :
|
||||
((FfmpegSubtitleStream)item.stream).Stream;
|
||||
|
||||
|
||||
var streamArgs = item.stream.GetParameters(new FfmpegStream.GetParametersArgs()
|
||||
{
|
||||
OutputOverallIndex = overallIndex,
|
||||
OutputTypeIndex = actualIndex,
|
||||
SourceExtension = sourceExtension,
|
||||
DestinationExtension = extension
|
||||
});
|
||||
for(int i = 0; i < streamArgs.Length; i++)
|
||||
{
|
||||
streamArgs[i] = streamArgs[i].Replace("{sourceTypeIndex}", vfs.TypeIndex.ToString());
|
||||
streamArgs[i] = streamArgs[i].Replace("{index}", actualIndex.ToString());
|
||||
}
|
||||
|
||||
ffArgs.AddRange(streamArgs);
|
||||
hasChange |= item.stream.HasChange | item.stream.ForcedChange;
|
||||
++actualIndex;
|
||||
++overallIndex;
|
||||
}
|
||||
|
||||
if(model.MetadataParameters?.Any() == true)
|
||||
@@ -58,7 +82,6 @@ namespace FileFlows.VideoNodes.FfmpegBuilderNodes
|
||||
if (model.ForceEncode == false && hasChange == false && (string.IsNullOrWhiteSpace(model.Extension) || args.WorkingFile.ToLower().EndsWith("." + model.Extension.ToLower())))
|
||||
return 2; // nothing to do
|
||||
|
||||
string extension = model.Extension?.EmptyAsNull() ?? "mkv";
|
||||
|
||||
List<string> startArgs = new List<string>();
|
||||
if (model.InputFiles?.Any() == false)
|
||||
|
||||
@@ -23,15 +23,15 @@
|
||||
_Filter = value ?? new List<string>();
|
||||
}
|
||||
}
|
||||
public override string[] GetParameters(int outputIndex)
|
||||
public override string[] GetParameters(GetParametersArgs args)
|
||||
{
|
||||
if (Deleted)
|
||||
return new string[] { };
|
||||
|
||||
var results = new List<string> { "-map", "0:a:" + Stream.TypeIndex };
|
||||
var results = new List<string> { "-map", "0:a:{sourceTypeIndex}" };
|
||||
if (EncodingParameters.Any() == false && Filter.Any() == false)
|
||||
{
|
||||
results.Add("-c:a:" + outputIndex);
|
||||
results.Add("-c:a:{index}");
|
||||
results.Add("copy");
|
||||
}
|
||||
else
|
||||
@@ -41,9 +41,9 @@
|
||||
if (EncodingParameters[0] == "-map")
|
||||
results.Clear();
|
||||
else
|
||||
results.Add("-c:a:" + outputIndex);
|
||||
results.Add("-c:a:{index}");
|
||||
|
||||
results.AddRange(EncodingParameters.Select(x => x.Replace("{index}", outputIndex.ToString())));
|
||||
results.AddRange(EncodingParameters.Select(x => x.Replace("{index}", args.OutputTypeIndex.ToString())));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -55,27 +55,27 @@
|
||||
if (EncodingParameters.Any() == false && Filter.Any(x => x?.Contains("loudnorm") == true) == true)
|
||||
{
|
||||
// normalized. we must set the codec
|
||||
results.AddRange(new[] { $"-c:a:{outputIndex}", Stream.Codec });
|
||||
results.AddRange(new[] { "-c:a:{index}", Stream.Codec });
|
||||
}
|
||||
|
||||
results.Add("-filter:a:" + outputIndex);
|
||||
results.Add("-filter:a:{index}");
|
||||
results.Add(String.Join(", ", Filter));
|
||||
}
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(this.Title) == false)
|
||||
{
|
||||
results.Add($"-metadata:s:a:{outputIndex}");
|
||||
results.Add("-metadata:s:a:{index}");
|
||||
results.Add($"title={(this.Title == FfmpegStream.REMOVED ? "" : this.Title)}");
|
||||
}
|
||||
if(string.IsNullOrWhiteSpace(this.Language) == false)
|
||||
{
|
||||
results.Add($"-metadata:s:a:{outputIndex}");
|
||||
results.Add("-metadata:s:a:{index}");
|
||||
results.Add($"language={(this.Language == FfmpegStream.REMOVED ? "" : this.Language)}");
|
||||
}
|
||||
|
||||
if (Metadata.Any())
|
||||
results.AddRange(Metadata.Select(x => x.Replace("{index}", outputIndex.ToString())));
|
||||
results.AddRange(Metadata.Select(x => x.Replace("{index}", args.OutputTypeIndex.ToString())));
|
||||
|
||||
return results.ToArray();
|
||||
}
|
||||
|
||||
@@ -12,7 +12,12 @@ public abstract class FfmpegStream
|
||||
public abstract bool HasChange { get; }
|
||||
public bool ForcedChange { get; set; }
|
||||
|
||||
public abstract string[] GetParameters(int outputIndex);
|
||||
/// <summary>
|
||||
/// Gets the parameters for the stream
|
||||
/// </summary>
|
||||
/// <param name="args">the arguments</param>
|
||||
/// <returns>the parameters for this stream</returns>
|
||||
public abstract string[] GetParameters(GetParametersArgs args);
|
||||
|
||||
private List<string> _Metadata = new List<string>();
|
||||
public List<string> Metadata
|
||||
@@ -23,4 +28,32 @@ public abstract class FfmpegStream
|
||||
_Metadata = value ?? new List<string>();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Args passed to get parameters
|
||||
/// </summary>
|
||||
public class GetParametersArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the overall index for all streams
|
||||
/// </summary>
|
||||
public int OutputOverallIndex { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// the index for just this type of streams
|
||||
/// </summary>
|
||||
public int OutputTypeIndex { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the source extension
|
||||
/// </summary>
|
||||
public string SourceExtension { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the destination extension
|
||||
/// </summary>
|
||||
public string DestinationExtension { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -6,31 +6,37 @@
|
||||
|
||||
public override bool HasChange => false;
|
||||
|
||||
public override string[] GetParameters(int outputIndex)
|
||||
public override string[] GetParameters(GetParametersArgs args)
|
||||
{
|
||||
if (Deleted)
|
||||
return new string[] { };
|
||||
|
||||
var results = new List<string> { "-map", "0:s:" + outputIndex, "-c:s:" + Stream.TypeIndex };
|
||||
//if (EncodingParameters.Any() == false)
|
||||
var results = new List<string> { "-map", "0:s:{sourceTypeIndex}", "-c:s:{index}" };
|
||||
|
||||
if(args.DestinationExtension == "mkv" && Stream.Codec == "mov_text")
|
||||
{
|
||||
results.Add("srt");
|
||||
}
|
||||
else
|
||||
{
|
||||
results.Add("copy");
|
||||
}
|
||||
|
||||
|
||||
if (string.IsNullOrWhiteSpace(this.Title) == false)
|
||||
{
|
||||
results.Add($"-metadata:s:s:{outputIndex}");
|
||||
results.Add($"-metadata:s:s:{args.OutputTypeIndex}");
|
||||
results.Add($"title={(this.Title == FfmpegStream.REMOVED ? "" : this.Title)}");
|
||||
}
|
||||
if (string.IsNullOrWhiteSpace(this.Language) == false)
|
||||
{
|
||||
results.Add($"-metadata:s:s:{outputIndex}");
|
||||
results.Add($"-metadata:s:s:{args.OutputTypeIndex}");
|
||||
results.Add($"language={(this.Language == FfmpegStream.REMOVED ? "" : this.Language)}");
|
||||
}
|
||||
|
||||
if (Metadata.Any())
|
||||
{
|
||||
results.AddRange(Metadata.Select(x => x.Replace("{index}", outputIndex.ToString())));
|
||||
results.AddRange(Metadata.Select(x => x.Replace("{index}", args.OutputTypeIndex.ToString())));
|
||||
}
|
||||
|
||||
return results.ToArray();
|
||||
|
||||
@@ -62,15 +62,15 @@
|
||||
public override bool HasChange => EncodingParameters.Any() || Filter.Any() || AdditionalParameters.Any();
|
||||
|
||||
|
||||
public override string[] GetParameters(int outputIndex)
|
||||
public override string[] GetParameters(GetParametersArgs args)
|
||||
{
|
||||
if (Deleted)
|
||||
return new string[] { };
|
||||
|
||||
var results = new List<string> { "-map", "0:v:" + outputIndex };
|
||||
var results = new List<string> { "-map", "0:v:{sourceTypeIndex}" };
|
||||
if (Filter.Any() == false && EncodingParameters.Any() == false && AdditionalParameters.Any() == false)
|
||||
{
|
||||
results.Add("-c:v:" + Stream.TypeIndex);
|
||||
results.Add("-c:v:{index}");
|
||||
results.Add("copy");
|
||||
return results.ToArray();
|
||||
}
|
||||
@@ -79,9 +79,9 @@
|
||||
if (EncodingParameters.Any())
|
||||
{
|
||||
results.Add("-c:v:" + Stream.TypeIndex);
|
||||
results.AddRange(EncodingParameters.Select(x => x.Replace("{index}", outputIndex.ToString())));
|
||||
results.AddRange(EncodingParameters.Select(x => x.Replace("{index}", args.OutputTypeIndex.ToString())));
|
||||
if(OptionalEncodingParameters.Any())
|
||||
results.AddRange(OptionalEncodingParameters.Select(x => x.Replace("{index}", outputIndex.ToString())));
|
||||
results.AddRange(OptionalEncodingParameters.Select(x => x.Replace("{index}", args.OutputTypeIndex.ToString())));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -89,24 +89,24 @@
|
||||
//results.Add("copy");
|
||||
}
|
||||
if (AdditionalParameters.Any())
|
||||
results.AddRange(AdditionalParameters.Select(x => x.Replace("{index}", outputIndex.ToString())));
|
||||
results.AddRange(AdditionalParameters.Select(x => x.Replace("{index}", args.OutputTypeIndex.ToString())));
|
||||
|
||||
if (Filter.Any() || OptionalFilter.Any())
|
||||
{
|
||||
results.Add("-filter:v:" + outputIndex);
|
||||
results.Add(String.Join(", ", Filter.Concat(OptionalFilter)).Replace("{index}", outputIndex.ToString()));
|
||||
results.Add("-filter:v:" + args.OutputTypeIndex);
|
||||
results.Add(String.Join(", ", Filter.Concat(OptionalFilter)).Replace("{index}", args.OutputTypeIndex.ToString()));
|
||||
}
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(this.Title) == false)
|
||||
{
|
||||
results.Add($"-metadata:s:v:{outputIndex}");
|
||||
results.Add($"-metadata:s:v:{args.OutputTypeIndex}");
|
||||
results.Add($"title={(this.Title == FfmpegStream.REMOVED ? "" : this.Title)}");
|
||||
}
|
||||
|
||||
if (Metadata.Any())
|
||||
{
|
||||
results.AddRange(Metadata.Select(x => x.Replace("{index}", outputIndex.ToString())));
|
||||
results.AddRange(Metadata.Select(x => x.Replace("{index}", args.OutputTypeIndex.ToString())));
|
||||
}
|
||||
|
||||
return results.ToArray();
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
<Nullable>enable</Nullable>
|
||||
<IncludeAllContentForSelfExtract>true</IncludeAllContentForSelfExtract>
|
||||
<PublishSingleFile>true</PublishSingleFile>
|
||||
<FileVersion>0.8.4.101</FileVersion>
|
||||
<ProductVersion>0.8.4.101</ProductVersion>
|
||||
<FileVersion>0.8.4.152</FileVersion>
|
||||
<ProductVersion>0.8.4.152</ProductVersion>
|
||||
<PublishTrimmed>true</PublishTrimmed>
|
||||
<Company>FileFlows</Company>
|
||||
<Authors>John Andrews</Authors>
|
||||
|
||||
Reference in New Issue
Block a user