Merge pull request #234 from HaveAGitGat/update_lib

Update lib
make-only-subtitle-default
HaveAGitGat 4 years ago committed by GitHub
commit e006c7731b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -0,0 +1,104 @@
const details = () => ({
id: 'Tdarr_Plugin_00td_action_add_audio_stream_codec',
Stage: 'Pre-processing',
Name: 'Standardise audio stream codecs',
Type: 'Video',
Operation: 'Transcode',
Description: `
This action has a built-in filter. Additional filters can be added above. \n\n
If the following audio track does not exist, Tdarr will try to add it using existing audio streams.
Tdarr will try to create the specified audio stream from the highest channel count stream
available in the specified language.
If no specified language track exists, the best untagged/undefined stream will be used.
`,
Version: '1.00',
Tags: 'action',
Inputs: [
{
name: 'audioCodec',
type: 'string',
defaultValue: 'aac',
inputUI: {
type: 'dropdown',
options: [
'aac',
'ac3',
'eac3',
'dca',
'flac',
'mp2',
'libmp3lame',
'truehd',
],
},
tooltip:
'Enter the desired audio codec',
},
{
name: 'language',
type: 'string',
defaultValue: 'en',
inputUI: {
type: 'text',
},
tooltip:
'Tdarr will check to see if the stream language tag includes the tag you specify.'
+ ' Case-insensitive. One tag only',
},
{
name: 'channels',
type: 'number',
defaultValue: 2,
inputUI: {
type: 'dropdown',
options: [
'1',
'2',
'6',
'8',
],
},
tooltip:
'Enter the desired number of channels',
},
],
});
// eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = lib.loadDefaultValues(inputs, details);
const response = {
processFile: false,
preset: '',
container: '',
handBrakeMode: false,
FFmpegMode: false,
reQueueAfter: false,
infoLog: '',
};
const { audioCodec, language, channels } = inputs;
const transcodeAddAudioStream = lib.actions.transcodeAddAudioStream(
file,
audioCodec,
language,
channels,
);
response.preset = transcodeAddAudioStream.preset;
response.container = `.${file.container}`;
response.handbrakeMode = false;
response.ffmpegMode = true;
response.reQueueAfter = true;
response.processFile = transcodeAddAudioStream.processFile;
response.infoLog += transcodeAddAudioStream.note;
return response;
};
module.exports.details = details;
module.exports.plugin = plugin;

@ -0,0 +1,185 @@
const details = () => ({
id: 'Tdarr_Plugin_00td_action_handbrake_basic_options',
Stage: 'Pre-processing',
Name: 'HandBrake basic options',
Type: 'Video',
Operation: 'Transcode',
Description: `
Set basic HandBrake transcode options. This action has no built-in filter so be sure to set a codec filter
to prevent a transcoding loop.
`,
Version: '1.00',
Tags: 'action',
Inputs: [
{
name: 'handbrakePreset',
type: 'string',
defaultValue: 'Very Fast 1080p30',
inputUI: {
type: 'dropdown',
options: [
'Very Fast 1080p30',
'Very Fast 720p30',
'Very Fast 576p25',
'Very Fast 480p30',
'Fast 1080p30',
'Fast 720p30',
'Fast 576p25',
'Fast 480p30',
'HQ 1080p30 Surround',
'HQ 720p30 Surround',
'HQ 576p25 Surround',
'HQ 480p30 Surround"',
'Super HQ 1080p30 Surround',
'Super HQ 720p30 Surround',
'Super HQ 576p25 Surround',
'Super HQ 480p30 Surround',
'Gmail Large 3 Minutes 720p30',
'Gmail Medium 5 Minutes 480p30',
'Gmail Small 10 Minutes 288p30',
'Vimeo YouTube HQ 2160p60 4K',
'Vimeo YouTube HQ 1440p60 2.5K',
'Vimeo YouTube HQ 1080p60',
'Vimeo YouTube HQ 720p60',
'Vimeo YouTube 720p30',
'Android 1080p30',
'Android 720p30',
'Android 576p25',
'Android 480p30',
'Apple 2160p60 4K HEVC Surround',
'Apple 1080p60 Surround',
'Apple 1080p30 Surround',
'Apple 720p30 Surround',
'Apple 540p30 Surround',
'Apple 240p30',
'Chromecast 2160p60 4K HEVC Surround',
'Chromecast 1080p60 Surround',
'Chromecast 1080p30 Surround',
'Amazon Fire 2160p60 4K HEVC Surround',
'Amazon Fire 1080p30 Surround',
'Amazon Fire 720p30',
'Playstation 1080p30 Surround',
'Playstation 720p30',
'Playstation 540p30',
'Roku 2160p60 4K HEVC Surround',
'Roku 1080p30 Surround',
'Roku 720p30 Surround',
'Roku 576p25',
'Roku 480p30',
'Windows Mobile 1080p30',
'Windows Mobile 720p30',
'Windows Mobile 540p30',
'Windows Mobile 480p30',
'Xbox 1080p30 Surround',
'Xbox Legacy 1080p30 Surround',
'H.265 MKV 2160p60',
'H.265 MKV 1080p30',
'H.265 MKV 720p30',
'H.265 MKV 576p25',
'H.265 MKV 480p30',
'H.264 MKV 2160p60',
'H.264 MKV 1080p30',
'H.264 MKV 720p30',
'H.264 MKV 576p25',
'H.264 MKV 480p30',
'VP9 MKV 2160p60',
'VP9 MKV 1080p30',
'VP9 MKV 720p30',
'VP9 MKV 576p25',
'VP9 MKV 480p30',
'VP8 MKV 1080p30',
'VP8 MKV 720p30',
'VP8 MKV 576p25',
'VP8 MKV 480p30',
'Production Max',
'Production Standard',
'Production Proxy 1080p',
'Production Proxy 540p',
],
},
tooltip:
'Enter the desired HandBrake preset',
},
{
name: 'videoEncoder',
type: 'string',
defaultValue: 'x265',
inputUI: {
type: 'dropdown',
options: [
'x264',
'x264_10bit',
'qsv_h264',
'nvenc_h264',
'x265',
'x265_10bit',
'x265_12bit',
'qsv_h265',
'nvenc_h265',
'mpeg4',
'mpeg2',
'VP8',
'VP9',
'theora',
],
},
tooltip:
'Enter the desired video encoder',
},
{
name: 'keepSubtitles',
type: 'boolean',
defaultValue: true,
inputUI: {
type: 'dropdown',
options: [
'true',
'false',
],
},
tooltip:
'Specify whether to keep subs or not',
},
{
name: 'container',
type: 'string',
defaultValue: 'mkv',
inputUI: {
type: 'text',
},
tooltip:
'Enter the desired container',
},
],
});
// eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = lib.loadDefaultValues(inputs, details);
const response = {
processFile: false,
preset: '',
container: '',
handBrakeMode: false,
FFmpegMode: false,
reQueueAfter: false,
infoLog: '',
};
const keepSubs = inputs.keepSubtitles === true ? '--all-subtitles' : '';
response.preset = `-Z "${inputs.handbrakePreset}" -e ${inputs.videoEncoder} ${keepSubs}`;
response.container = `.${inputs.container}`;
response.handbrakeMode = true;
response.ffmpegMode = false;
response.reQueueAfter = true;
response.processFile = true;
response.infoLog += 'File is being transcoded using HandBrake \n';
return response;
};
module.exports.details = details;
module.exports.plugin = plugin;

@ -0,0 +1,105 @@
const details = () => ({
id: 'Tdarr_Plugin_00td_action_handbrake_ffmpeg_custom',
Stage: 'Pre-processing',
Name: 'HandBrake or FFmpeg custom arguments',
Type: 'Video',
Operation: 'Transcode',
Description: `
Set HandBrake or FFmpeg arguments. This action has no built-in filter so be sure to set a codec filter
to prevent a transcoding loop.
`,
Version: '1.00',
Tags: 'action',
Inputs: [
{
name: 'cli',
type: 'string',
defaultValue: 'ffmpeg',
inputUI: {
type: 'dropdown',
options: [
'ffmpeg',
'handbrake',
],
},
tooltip:
'Enter the desired video encoder',
},
{
name: 'arguments',
type: 'string',
defaultValue: '<io> -map 0 -c copy',
inputUI: {
type: 'text',
},
tooltip:
`
When using FFmpeg, you need to separate the input and output args with <io>. FFmpeg Examples:
\n\n
-r 1<io>-r 24
\n\n
<io>-sn -c:v copy -c:a copy
\n\n
<io>-c:v libx265 -crf 23 -ac 6 -c:a aac -preset veryfast
\n\n
<io>-map 0 -c copy -c:v libx265 -c:a aac
\n\n
-c:v h264_cuvid<io>-c:v hevc_nvenc -preset slow -c:a copy
\n\n
HandBrake examples:
\n\n
-e x264 -q 20 -B
\n\n
-Z "Very Fast 1080p30"
\n\n
-Z "Fast 1080p30" -e nvenc_h265
\n\n
-Z "Very Fast 1080p30" --all-subtitles --all-audio
\n\n
-Z "Very Fast 480p30"
\n\n
--preset-import-file "C:/Users/HaveAGitGat/Desktop/testpreset.json" -Z "My Preset"
`,
},
{
name: 'container',
type: 'string',
defaultValue: 'mkv',
inputUI: {
type: 'text',
},
tooltip:
'Enter the desired container',
},
],
});
// eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = lib.loadDefaultValues(inputs, details);
const response = {
processFile: false,
preset: '',
container: '',
handBrakeMode: false,
FFmpegMode: false,
reQueueAfter: false,
infoLog: '',
};
response.preset = inputs.arguments;
response.container = `.${inputs.container}`;
response.handbrakeMode = inputs.cli === 'handbrake';
response.ffmpegMode = inputs.cli === 'ffmpeg';
response.reQueueAfter = true;
response.processFile = true;
response.infoLog += 'File is being transcoded using custom arguments \n';
return response;
};
module.exports.details = details;
module.exports.plugin = plugin;

@ -0,0 +1,103 @@
const details = () => ({
id: 'Tdarr_Plugin_00td_action_keep_one_audio_stream',
Stage: 'Pre-processing',
Name: 'Keep one audio stream',
Type: 'Video',
Operation: 'Transcode',
Description: `
This action has a built-in filter. Additional filters can be added.\n\n
Tdarr will try to keep the best audio track possible given the requirements specified below.
If the specified stream does not exist, Tdarr will try to create it using the best stream available.
If no specified language track exists, the best untagged/undefined stream will be used/kept.
`,
Version: '1.00',
Tags: 'action',
Inputs: [
{
name: 'audioCodec',
type: 'string',
defaultValue: 'aac',
inputUI: {
type: 'dropdown',
options: [
'aac',
'ac3',
'eac3',
'dca',
'flac',
'mp2',
'libmp3lame',
'truehd',
],
},
tooltip:
'Enter the desired audio codec',
},
{
name: 'language',
type: 'string',
defaultValue: 'en',
inputUI: {
type: 'text',
},
tooltip:
'Tdarr will check to see if the stream language tag includes the tag you specify.'
+ ' Case-insensitive. One tag only',
},
{
name: 'channels',
type: 'number',
defaultValue: 2,
inputUI: {
type: 'dropdown',
options: [
'1',
'2',
'6',
'8',
],
},
tooltip:
'Enter the desired number of channels',
},
],
});
// eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = lib.loadDefaultValues(inputs, details);
const response = {
processFile: false,
preset: '',
container: `.${file.container}`,
handBrakeMode: false,
FFmpegMode: false,
reQueueAfter: false,
infoLog: '',
};
const { audioCodec, language, channels } = inputs;
const transcodeKeepOneAudioStream = lib.actions.transcodeKeepOneAudioStream(
file,
audioCodec,
language,
channels,
);
response.preset = transcodeKeepOneAudioStream.preset;
response.container = `.${file.container}`;
response.handbrakeMode = false;
response.FFmpegMode = true;
response.reQueueAfter = true;
response.processFile = transcodeKeepOneAudioStream.processFile;
response.infoLog += transcodeKeepOneAudioStream.note;
return response;
};
module.exports.details = details;
module.exports.plugin = plugin;

@ -0,0 +1,62 @@
const details = () => ({
id: 'Tdarr_Plugin_00td_action_remux_container',
Stage: 'Pre-processing',
Name: 'Remux container',
Type: 'Video',
Operation: 'Transcode',
Description: `
This action has a built-in filter. Additional filters can be added.\n\n
If not in the specified container, the file will be remuxed.
`,
Version: '1.00',
Tags: 'action',
Inputs: [
{
name: 'container',
type: 'string',
defaultValue: 'mkv',
inputUI: {
type: 'text',
},
tooltip:
'Enter the desired container',
},
],
});
// eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = lib.loadDefaultValues(inputs, details);
const response = {
processFile: false,
preset: '',
container: '',
handBrakeMode: false,
FFmpegMode: false,
reQueueAfter: false,
infoLog: '',
};
const { container } = inputs;
const remuxContainer = lib.actions.remuxContainer(
file,
container,
);
response.preset = ', -map 0 -c copy';
response.container = '.mkv';
response.handbrakeMode = false;
response.FFmpegMode = true;
response.reQueueAfter = true;
response.processFile = remuxContainer.processFile;
response.infoLog += remuxContainer.note;
return response;
};
module.exports.details = details;
module.exports.plugin = plugin;

@ -0,0 +1,71 @@
const details = () => ({
id: 'Tdarr_Plugin_00td_action_standardise_audio_stream_codecs',
Stage: 'Pre-processing',
Name: 'Standardise audio stream codecs',
Type: 'Video',
Operation: 'Transcode',
Description: `
This action has a built-in filter. Additional filters can be added.\n\n
All audio tracks which are not in the specified codec will be transcoded
into the specified codec. Bitrate and channel count are kept the same.
`,
Version: '1.00',
Tags: 'action',
Inputs: [
{
name: 'audioCodec',
type: 'string',
defaultValue: 'aac',
inputUI: {
type: 'dropdown',
options: [
'aac',
'ac3',
'eac3',
'dca',
'flac',
'mp2',
'libmp3lame',
'truehd',
],
},
tooltip:
'Enter the desired audio codec',
},
],
});
// eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = lib.loadDefaultValues(inputs, details);
const response = {
processFile: false,
preset: '',
container: '',
handBrakeMode: false,
FFmpegMode: false,
reQueueAfter: false,
infoLog: '',
};
const transcodeStandardiseAudioCodecs = lib.actions.transcodeStandardiseAudioCodecs(
file,
inputs.audioCodec,
);
response.preset = transcodeStandardiseAudioCodecs.preset;
response.container = `.${file.container}`;
response.handbrakeMode = false;
response.ffmpegMode = true;
response.reQueueAfter = true;
response.processFile = transcodeStandardiseAudioCodecs.processFile;
response.infoLog += transcodeStandardiseAudioCodecs.note;
return response;
};
module.exports.details = details;
module.exports.plugin = plugin;

@ -0,0 +1,60 @@
const details = () => ({
id: 'Tdarr_Plugin_00td_filter_by_bitrate',
Stage: 'Pre-processing',
Name: 'Filter by bitrate',
Type: 'Video',
Operation: 'Filter',
Description: 'Only allow files to be transcoded which are within the lower and upper bounds (Kb) \n\n',
Version: '1.00',
Tags: 'filter',
Inputs: [
{
name: 'upperBound',
type: 'number',
defaultValue: 10000,
inputUI: {
type: 'text',
},
tooltip:
'Enter the upper bound bitrate in Kb for files which should be processed.',
},
{
name: 'lowerBound',
type: 'number',
defaultValue: 0,
inputUI: {
type: 'text',
},
tooltip:
'Enter the lower bound bitrate in Kb for files which should be processed.',
},
],
});
// eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = lib.loadDefaultValues(inputs, details);
const response = {
processFile: false,
infoLog: '',
};
if (
file.bit_rate >= inputs.lowerBound * 1000
&& file.bit_rate <= inputs.upperBound * 1000
) {
response.processFile = true;
response.processFile += '☑File bitrate is within filter limits. Moving to next plugin.';
} else {
response.processFile = false;
response.processFile += '☒File bitrate is not within filter limits. Breaking out of plugin stack.\n';
return response;
}
return response;
};
module.exports.details = details;
module.exports.plugin = plugin;

@ -0,0 +1,73 @@
const details = () => ({
id: 'Tdarr_Plugin_00td_filter_by_codec',
Stage: 'Pre-processing',
Name: 'Filter by codec',
Type: 'Video',
Operation: 'Filter',
Description: 'Only allow specified codecs to be processed \n\n',
Version: '1.00',
Tags: 'filter',
Inputs: [
{
name: 'codecsToProcess',
type: 'string',
defaultValue: '',
inputUI: {
type: 'text',
},
tooltip:
'Enter a comma separated list of codecs to be processed. Leave blank if using codecsToNotProcess',
},
{
name: 'codecsToNotProcess',
type: 'string',
defaultValue: '',
inputUI: {
type: 'text',
},
tooltip:
'Enter a comma separated list of codecs to be not be processed. Leave blank if using codecsToProcess',
},
],
});
// eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = lib.loadDefaultValues(inputs, details);
const response = {
processFile: false,
infoLog: '',
};
const fileCodec = file.video_codec_name !== '' ? file.video_codec_name : file.audio_codec_name;
if (inputs.codecsToProcess !== '') {
const codecs = inputs.codecsToProcess.split(',');
if (codecs.includes(fileCodec)) {
response.processFile = true;
response.processFile += 'File is in codecsToProcess. Moving to next plugin.';
} else {
response.processFile = false;
response.processFile += 'File is not in codecsToProcess. Breaking out of plugin stack.';
}
}
if (inputs.codecsToNotProcess !== '') {
const codecs = inputs.codecsToNotProcess.split(',');
if (codecs.includes(fileCodec)) {
response.processFile = false;
response.processFile += 'File is in codecsToNotProcess. Breaking out of plugin stack.';
} else {
response.processFile = true;
response.processFile += 'File is not in codecsToNotProcess. Moving to next plugin.';
}
}
return response;
};
module.exports.details = details;
module.exports.plugin = plugin;

@ -0,0 +1,81 @@
const details = () => ({
id: 'Tdarr_Plugin_00td_filter_by_resolution',
Stage: 'Pre-processing',
Name: 'Filter by resolution',
Type: 'Video',
Operation: 'Filter',
Description: 'Only allow specified resolutions to be processed \n\n',
Version: '1.00',
Tags: 'filter',
Inputs: [
{
name: 'resolutionsToProcess',
type: 'string',
defaultValue: '',
inputUI: {
type: 'text',
},
tooltip:
`Enter a comma separated list of resolutions to be processed.
Leave blank if using resolutionsToNotProcess.
480p,576p,720p,1080p,4KUHD,DCI4K,8KUHD,Other
`,
},
{
name: 'resolutionsToNotProcess',
type: 'string',
defaultValue: '',
inputUI: {
type: 'text',
},
tooltip:
'Enter a comma separated list of resolutions to be not be processed.'
+ ' Leave blank if using resolutionsToProcess',
},
],
});
// eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = lib.loadDefaultValues(inputs, details);
const response = {
processFile: false,
infoLog: '',
};
if (!file.video_resolution) {
throw new Error('File has no resolution!');
}
const fileResolution = file.video_resolution;
if (inputs.resolutionsToProcess !== '') {
const resolutions = inputs.resolutionsToProcess.split(',');
if (resolutions.includes(fileResolution)) {
response.processFile = true;
response.processFile += 'File is in resolutionsToProcess. Moving to next plugin.';
} else {
response.processFile = false;
response.processFile += 'File is not in resolutionsToProcess. Breaking out of plugin stack.';
}
}
if (inputs.resolutionsToNotProcess !== '') {
const resolutions = inputs.resolutionsToNotProcess.split(',');
if (resolutions.includes(fileResolution)) {
response.processFile = false;
response.processFile += 'File is in resolutionsToNotProcess. Breaking out of plugin stack.';
} else {
response.processFile = true;
response.processFile += 'File is not in resolutionsToNotProcess. Moving to next plugin.';
}
}
return response;
};
module.exports.details = details;
module.exports.plugin = plugin;

@ -0,0 +1,57 @@
const details = () => ({
id: 'Tdarr_Plugin_00td_filter_by_size',
Stage: 'Pre-processing',
Name: 'Filter by size',
Type: 'Video',
Operation: 'Filter',
Description: 'Only allow files to be transcoded which are within the lower and upper bounds (MB) \n\n',
Version: '1.00',
Tags: 'filter',
Inputs: [
{
name: 'upperBound',
type: 'number',
defaultValue: 100000,
inputUI: {
type: 'text',
},
tooltip:
'Enter the upper bound size in MB for files which should be processed.',
},
{
name: 'lowerBound',
type: 'number',
defaultValue: 0,
inputUI: {
type: 'text',
},
tooltip:
'Enter the lower bound size in MB for files which should be processed.',
},
],
});
// eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = lib.loadDefaultValues(inputs, details);
const response = {
processFile: false,
infoLog: '',
};
const fileSize = file.file_size;
if (fileSize >= inputs.lowerBound && fileSize <= inputs.upperBound) {
response.processFile = true;
response.infoLog += 'File is within lower and upper bound size limits. Moving to next plugin.';
} else {
response.infoLog += 'File is not within lower and upper bound size limits. Breaking out of plugin stack.';
}
return response;
};
module.exports.details = details;
module.exports.plugin = plugin;

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => ({ const details = () => ({
id: 'Tdarr_Plugin_075a_FFMPEG_HEVC_Generic', id: 'Tdarr_Plugin_075a_FFMPEG_HEVC_Generic',
@ -14,8 +13,10 @@ const details = () => ({
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
// Must return this object // Must return this object
const response = { const response = {

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => ({ const details = () => ({
id: "Tdarr_Plugin_075a_Transcode_Customisable", id: "Tdarr_Plugin_075a_Transcode_Customisable",
@ -153,8 +152,10 @@ const details = () => ({
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//Must return this object //Must return this object
var response = { var response = {

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -16,8 +15,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//Must return this object //Must return this object
var response = { var response = {

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -16,8 +15,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//Must return this object //Must return this object
var response = { var response = {

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -16,8 +15,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//Must return this object //Must return this object
var response = { var response = {

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -44,8 +43,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//Must return this object //Must return this object
var response = { var response = {

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -44,8 +43,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//Must return this object //Must return this object
var response = { var response = {

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -58,8 +57,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//Must return this object //Must return this object
var response = { var response = {

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -16,8 +15,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//Must return this object at some point in the function else plugin will fail. //Must return this object at some point in the function else plugin will fail.
let response = { let response = {

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -60,8 +59,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
const request = require('request'); const request = require('request');
const IP = inputs.server_ip; const IP = inputs.server_ip;
const { port } = inputs; const { port } = inputs;

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -147,8 +146,10 @@ function getMediaInfo(file) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
if (file.fileMedium !== "video") { if (file.fileMedium !== "video") {
response.processFile = false; response.processFile = false;

@ -1,5 +1,5 @@
/* eslint-disable */ /* eslint-disable */
const loadDefaultValues = require('../methods/loadDefaultValues');
const details = () => { const details = () => {
return { return {
id: "Tdarr_Plugin_DOOM_NVENC_Tiered_MKV_CleanAll", id: "Tdarr_Plugin_DOOM_NVENC_Tiered_MKV_CleanAll",
@ -476,8 +476,10 @@ function buildVideoConfiguration(inputs, file, logger) {
//#endregion //#endregion
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
var response = { var response = {
container: ".mkv", container: ".mkv",
FFmpegMode: true, FFmpegMode: true,

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */ /* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
/* eslint-disable */ /* eslint-disable */
/* eslint max-len: 0 */ /* eslint max-len: 0 */
@ -73,8 +72,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
const response = { const response = {
container: '.mkv', container: '.mkv',
processFile: false, processFile: false,

@ -1,6 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
const lib = require('../methods/library.js');
module.exports.dependencies = ['import-fresh']; module.exports.dependencies = ['import-fresh'];
const details = () => ({ const details = () => ({
id: 'Tdarr_Plugin_Greg_MP3_FFMPEG_CPU', id: 'Tdarr_Plugin_Greg_MP3_FFMPEG_CPU',
@ -31,8 +28,10 @@ module.exports.details = details;
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
const response = { const response = {
// 320K selected over 384k intentionally // 320K selected over 384k intentionally
// https://en.m.wikipedia.org/wiki/MPEG-1#Part_3:_Audio // https://en.m.wikipedia.org/wiki/MPEG-1#Part_3:_Audio

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////
// //
@ -168,8 +167,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
var response = { var response = {
processFile: false, processFile: false,

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////
// //
@ -165,8 +164,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
var response = { var response = {
processFile: false, processFile: false,

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */ /* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
const details = () => ({ const details = () => ({
id: 'Tdarr_Plugin_MC93_Migz1FFMPEG', id: 'Tdarr_Plugin_MC93_Migz1FFMPEG',
@ -109,8 +108,10 @@ const details = () => ({
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
const response = { const response = {
processFile: false, processFile: false,
preset: '', preset: '',

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */ /* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
const details = () => ({ const details = () => ({
id: 'Tdarr_Plugin_MC93_Migz1FFMPEG_CPU', id: 'Tdarr_Plugin_MC93_Migz1FFMPEG_CPU',
@ -88,8 +87,10 @@ const details = () => ({
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
const response = { const response = {
processFile: false, processFile: false,
preset: '', preset: '',

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */ /* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
const details = () => ({ const details = () => ({
id: 'Tdarr_Plugin_MC93_Migz1Remux', id: 'Tdarr_Plugin_MC93_Migz1Remux',
@ -51,8 +50,10 @@ const details = () => ({
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
const response = { const response = {
processFile: false, processFile: false,
preset: '', preset: '',

@ -1,5 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
const details = () => ({ const details = () => ({
id: 'Tdarr_Plugin_MC93_Migz2CleanTitle', id: 'Tdarr_Plugin_MC93_Migz2CleanTitle',
Stage: 'Pre-processing', Stage: 'Pre-processing',
@ -67,8 +65,10 @@ const details = () => ({
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
const response = { const response = {
processFile: false, processFile: false,
preset: '', preset: '',

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */ /* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
const details = () => ({ const details = () => ({
id: 'Tdarr_Plugin_MC93_Migz3CleanAudio', id: 'Tdarr_Plugin_MC93_Migz3CleanAudio',
@ -88,8 +87,10 @@ const details = () => ({
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
const response = { const response = {
processFile: false, processFile: false,
preset: '', preset: '',

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */ /* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
const details = () => ({ const details = () => ({
id: 'Tdarr_Plugin_MC93_Migz4CleanSubs', id: 'Tdarr_Plugin_MC93_Migz4CleanSubs',
@ -63,8 +62,10 @@ const details = () => ({
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
const response = { const response = {
processFile: false, processFile: false,
preset: '', preset: '',

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */ /* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
const details = () => ({ const details = () => ({
id: 'Tdarr_Plugin_MC93_Migz5ConvertAudio', id: 'Tdarr_Plugin_MC93_Migz5ConvertAudio',
@ -45,8 +44,10 @@ const details = () => ({
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
const response = { const response = {
processFile: false, processFile: false,
container: `.${file.container}`, container: `.${file.container}`,

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */ /* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
const details = () => ({ const details = () => ({
id: 'Tdarr_Plugin_MC93_Migz6OrderStreams', id: 'Tdarr_Plugin_MC93_Migz6OrderStreams',
@ -14,8 +13,10 @@ const details = () => ({
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
const response = { const response = {
processFile: false, processFile: false,
preset: '', preset: '',

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */ /* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
const details = () => ({ const details = () => ({
id: 'Tdarr_Plugin_MC93_MigzImageRemoval', id: 'Tdarr_Plugin_MC93_MigzImageRemoval',
@ -14,8 +13,10 @@ const details = () => ({
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
const response = { const response = {
processFile: false, processFile: false,
preset: '', preset: '',

@ -1,5 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
module.exports.dependencies = [ module.exports.dependencies = [
'request', 'request',
]; ];
@ -63,8 +61,10 @@ const details = () => ({
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
// eslint-disable-next-line global-require,import/no-unresolved // eslint-disable-next-line global-require,import/no-unresolved
const request = require('request'); const request = require('request');

@ -1,145 +1,145 @@
const loadDefaultValues = require('../methods/loadDefaultValues'); /* eslint-disable */
/* eslint-disable */ const details = () => {
const details = () => { return {
return { id: "Tdarr_Plugin_MP01_MichPasCleanSubsAndAudioCodecs",
id: "Tdarr_Plugin_MP01_MichPasCleanSubsAndAudioCodecs", Stage: "Pre-processing",
Stage: "Pre-processing", Name: "MichPass-Remove subtitle and audio streams with certain codecs",
Name: "MichPass-Remove subtitle and audio streams with certain codecs", Type: "Any",
Type: "Any", Operation: 'Transcode',
Operation: 'Transcode', Description: `This plugin removed specified codecs from subtitle and audio tracks. Helpful to remove bitmap subtitles (pgs,vobsub) or audio codec (truehd), which can cause Plex to start transcoding. Based on Migz4 Plugin. Thanks \n\n`,
Description: `This plugin removed specified codecs from subtitle and audio tracks. Helpful to remove bitmap subtitles (pgs,vobsub) or audio codec (truehd), which can cause Plex to start transcoding. Based on Migz4 Plugin. Thanks \n\n`, Version: "1.0",
Version: "1.0", Tags: "pre-processing,ffmpeg,subtitle, audio,configurable",
Tags: "pre-processing,ffmpeg,subtitle, audio,configurable",
Inputs: [
Inputs: [ {
{ name: "tag_subtitle_codecs",
name: "tag_subtitle_codecs", type: 'string',
type: 'string', defaultValue: '',
defaultValue: '', inputUI: {
inputUI: { type: 'text',
type: 'text', },
}, tooltip: `Specify key words here for subtitle tracks you'd like to have removed.
tooltip: `Specify key words here for subtitle tracks you'd like to have removed. \\nExample:\\n
\\nExample:\\n hdmv_pgs_subtitle
hdmv_pgs_subtitle \\nExample:\\n
\\nExample:\\n hdmv_pgs_subtitle,dvd_subtitle`,
hdmv_pgs_subtitle,dvd_subtitle`, },
}, {
{
name: "tag_audio_codecs",
name: "tag_audio_codecs", type: 'string',
type: 'string', defaultValue: '',
defaultValue: '', inputUI: {
inputUI: { type: 'text',
type: 'text', },
}, tooltip: `Specify all audio codecs you'd like to have removed.
tooltip: `Specify all audio codecs you'd like to have removed. \\nExample:\\n
\\nExample:\\n truehd
truehd \\nExample:\\n
\\nExample:\\n xxx,yyy`,
xxx,yyy`, },
}, ],
], };
}; }
}
// eslint-disable-next-line no-unused-vars
// eslint-disable-next-line no-unused-vars const plugin = (file, librarySettings, inputs, otherArguments) => {
const plugin = (file, librarySettings, inputs, otherArguments) => { // eslint-disable-next-line global-require
// eslint-disable-next-line no-unused-vars,no-param-reassign const lib = require('../methods/lib')();
inputs = loadDefaultValues(inputs, details); // eslint-disable-next-line no-unused-vars,no-param-reassign
var response = { inputs = lib.loadDefaultValues(inputs, details);
processFile: false, var response = {
preset: "", processFile: false,
container: "." + file.container, preset: "",
handBrakeMode: false, container: "." + file.container,
FFmpegMode: true, handBrakeMode: false,
reQueueAfter: false, FFmpegMode: true,
infoLog: "", reQueueAfter: false,
infoLog: "",
};
};
// Check if file is a video. If it isn't then exit plugin.
// Check if file is a video. If it isn't then exit plugin.
if (file.fileMedium !== "video") {
console.log("File is not video"); if (file.fileMedium !== "video") {
response.infoLog += "☒File is not video \n"; console.log("File is not video");
response.processFile = false; response.infoLog += "☒File is not video \n";
return response; response.processFile = false;
} return response;
}
// Set up required variables.
var tag_subtitle_codecs = inputs.tag_subtitle_codecs.split(","); // Set up required variables.
var tag_audio_codecs = inputs.tag_audio_codecs.split(","); var tag_subtitle_codecs = inputs.tag_subtitle_codecs.split(",");
var ffmpegCommandInsert = ""; var tag_audio_codecs = inputs.tag_audio_codecs.split(",");
var subtitleIdx = 0; var ffmpegCommandInsert = "";
var audioIdx = 0; var subtitleIdx = 0;
var convert = false; var audioIdx = 0;
var convert = false;
// Go through each stream in the file.
for (var i = 0; i < file.ffProbeData.streams.length; i++) { // Go through each stream in the file.
// Catch error here incase the title metadata is completely missing. for (var i = 0; i < file.ffProbeData.streams.length; i++) {
try { // Catch error here incase the title metadata is completely missing.
// Check stream is subtitle AND stream codec contains certain words, removing these streams . try {
if ( // Check stream is subtitle AND stream codec contains certain words, removing these streams .
file.ffProbeData.streams[i].codec_type.toLowerCase() == "subtitle" && if (
tag_subtitle_codecs.indexOf(file.ffProbeData.streams[i].codec_name.toLowerCase() file.ffProbeData.streams[i].codec_type.toLowerCase() == "subtitle" &&
) > -1 tag_subtitle_codecs.indexOf(file.ffProbeData.streams[i].codec_name.toLowerCase()
) { ) > -1
ffmpegCommandInsert += `-map -0:s:${subtitleIdx} `; ) {
response.infoLog += `☒Subtitle stream detected as unwanted. removing subtitle stream 0:s:${subtitleIdx} - ${file.ffProbeData.streams[i].tags.title} - ${file.ffProbeData.streams[i].codec_name}. \n`; ffmpegCommandInsert += `-map -0:s:${subtitleIdx} `;
convert = true; response.infoLog += `☒Subtitle stream detected as unwanted. removing subtitle stream 0:s:${subtitleIdx} - ${file.ffProbeData.streams[i].tags.title} - ${file.ffProbeData.streams[i].codec_name}. \n`;
} convert = true;
} catch (err) {} }
} catch (err) {}
// For debugging
// response.infoLog += `☒test tags codectype title - ${file.ffProbeData.streams[i].codec_type}. \n`; // For debugging
// response.infoLog += `☒test tag name - ${file.ffProbeData.streams[i].codec_name}. \n`; // response.infoLog += `☒test tags codectype title - ${file.ffProbeData.streams[i].codec_type}. \n`;
// response.infoLog += `☒test tags long name - ${file.ffProbeData.streams[i].codec_long_name}. \n`; // response.infoLog += `☒test tag name - ${file.ffProbeData.streams[i].codec_name}. \n`;
// response.infoLog += `☒test tags long name - ${file.ffProbeData.streams[i].codec_long_name}. \n`;
try {
// Check if stream is audio . try {
if ( // Check if stream is audio .
file.ffProbeData.streams[i].codec_type.toLowerCase() == "audio" && if (
tag_audio_codecs.indexOf(file.ffProbeData.streams[i].codec_name.toLowerCase() file.ffProbeData.streams[i].codec_type.toLowerCase() == "audio" &&
) > -1 tag_audio_codecs.indexOf(file.ffProbeData.streams[i].codec_name.toLowerCase()
) { ) > -1
ffmpegCommandInsert += `-map -0:a:${audioIdx} `; ) {
response.infoLog += `☒audio stream detected as unwanted. removing audio stream 0:a:${audioIdx} - ${file.ffProbeData.streams[i].tags.title} - ${file.ffProbeData.streams[i].codec_name} \n`; ffmpegCommandInsert += `-map -0:a:${audioIdx} `;
convert = true; response.infoLog += `☒audio stream detected as unwanted. removing audio stream 0:a:${audioIdx} - ${file.ffProbeData.streams[i].tags.title} - ${file.ffProbeData.streams[i].codec_name} \n`;
} convert = true;
} catch (err) {} }
} catch (err) {}
// Check if stream type is audio and increment audioIdx if true.
if (file.ffProbeData.streams[i].codec_type.toLowerCase() == "audio") { // Check if stream type is audio and increment audioIdx if true.
audioIdx++; if (file.ffProbeData.streams[i].codec_type.toLowerCase() == "audio") {
} audioIdx++;
}
// Check if stream type is subtitle and increment subtitleIdx if true.
if (file.ffProbeData.streams[i].codec_type.toLowerCase() == "subtitle") { // Check if stream type is subtitle and increment subtitleIdx if true.
subtitleIdx++; if (file.ffProbeData.streams[i].codec_type.toLowerCase() == "subtitle") {
} subtitleIdx++;
} }
}
// Convert file if convert variable is set to true.
// Convert file if convert variable is set to true.
if (convert === true) {
response.processFile = true; if (convert === true) {
response.preset = `, -map 0 ${ffmpegCommandInsert} -c copy -max_muxing_queue_size 4096`; response.processFile = true;
response.container = "." + file.container; response.preset = `, -map 0 ${ffmpegCommandInsert} -c copy -max_muxing_queue_size 4096`;
response.reQueueAfter = true; response.container = "." + file.container;
} else { response.reQueueAfter = true;
response.processFile = false; } else {
response.infoLog += response.processFile = false;
"☑File doesn't contain subtitle or audio codecs which were unwanted or that require tagging.\n"; response.infoLog +=
"☑File doesn't contain subtitle or audio codecs which were unwanted or that require tagging.\n";
}
return response; }
} return response;
}
module.exports.details = details; module.exports.details = details;
module.exports.plugin = plugin; module.exports.plugin = plugin;

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const vaapiPrefix = ` -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -hwaccel_output_format vaapi `; const vaapiPrefix = ` -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -hwaccel_output_format vaapi `;
@ -44,8 +43,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
var response = { var response = {
processFile: false, processFile: false,
preset: ``, preset: ``,

@ -1,232 +1,233 @@
const loadDefaultValues = require('../methods/loadDefaultValues'); /* eslint-disable */
/* eslint-disable */ //PLugin runs multipass loudnorm filter
//PLugin runs multipass loudnorm filter //first run gets the required details and stores for the next pass
//first run gets the required details and stores for the next pass //second pass applies the values
//second pass applies the values
//stages
//stages // Determined Loudnorm Values
// Determined Loudnorm Values // Applying Normalisation
// Applying Normalisation // Normalisation Complete
// Normalisation Complete
//setup global vars
//setup global vars
var secondPass = false;
var secondPass = false; var logOutFile = '';
var logOutFile = '';
var fs = require('fs');
var fs = require('fs');
const details = () => {
const details = () => { return {
return { id: "Tdarr_Plugin_NIfPZuCLU_2_Pass_Loudnorm_Audio_Normalisation",
id: "Tdarr_Plugin_NIfPZuCLU_2_Pass_Loudnorm_Audio_Normalisation", Stage: 'Pre-processing',
Stage: 'Pre-processing', Name: "2 Pass Loudnorm Volume Normalisation",
Name: "2 Pass Loudnorm Volume Normalisation", Type: "Video",
Type: "Video", Operation: "Transcode",
Operation: "Transcode", Description: "PLEASE READ FULL DESCRIPTION BEFORE USE \n Uses multiple passes to normalise audio streams of videos using loudnorm.\n\n The first pass will create an log file in the same directory as the video.\nSecond pass will apply the values determined in the first pass to the file.\nOutput will be MKV to allow metadata to be added for tracking normalisation stage.",
Description: "PLEASE READ FULL DESCRIPTION BEFORE USE \n Uses multiple passes to normalise audio streams of videos using loudnorm.\n\n The first pass will create an log file in the same directory as the video.\nSecond pass will apply the values determined in the first pass to the file.\nOutput will be MKV to allow metadata to be added for tracking normalisation stage.", Version: "0.1",
Version: "0.1", Tags: "pre-processing,ffmpeg,configurable",
Tags: "pre-processing,ffmpeg,configurable",
Inputs: [
Inputs: [ //(Optional) Inputs you'd like the user to enter to allow your plugin to be easily configurable from the UI
//(Optional) Inputs you'd like the user to enter to allow your plugin to be easily configurable from the UI {
{ name: "i",
name: "i", type: 'string',
type: 'string', defaultValue:'-23.0',
defaultValue:'-23.0', inputUI: {
inputUI: { type: 'text',
type: 'text', },
}, tooltip: `\"I\" value used in loudnorm pass \n
tooltip: `\"I\" value used in loudnorm pass \n defaults to -23.0`, //Each line following `Example:` will be clearly formatted. \\n used for line breaks
defaults to -23.0`, //Each line following `Example:` will be clearly formatted. \\n used for line breaks },
}, {
{ name: "lra",
name: "lra", type: 'string',
type: 'string', defaultValue:'7.0',
defaultValue:'7.0', inputUI: {
inputUI: { type: 'text',
type: 'text', },
}, tooltip: `Desired lra value. \n Defaults to 7.0
tooltip: `Desired lra value. \n Defaults to 7.0 `,
`, },
}, {
{ name: "tp",
name: "tp", type: 'string',
type: 'string', defaultValue:'-2.0',
defaultValue:'-2.0', inputUI: {
inputUI: { type: 'text',
type: 'text', },
}, tooltip: `Desired \"tp\" value. \n Defaults to -2.0
tooltip: `Desired \"tp\" value. \n Defaults to -2.0 `,
`, },
}, {
{ name: "offset",
name: "offset", type: 'string',
type: 'string', defaultValue:'0.0',
defaultValue:'0.0', inputUI: {
inputUI: { type: 'text',
type: 'text', },
}, tooltip: `Desired "offset" value. \n Defaults to 0.0
tooltip: `Desired "offset" value. \n Defaults to 0.0 `,
`, },
}, ],
], }
} }
}
// eslint-disable-next-line no-unused-vars
// eslint-disable-next-line no-unused-vars const plugin = (file, librarySettings, inputs, otherArguments) => {
const plugin = (file, librarySettings, inputs, otherArguments) => { // eslint-disable-next-line global-require
// eslint-disable-next-line no-unused-vars,no-param-reassign const lib = require('../methods/lib')();
inputs = loadDefaultValues(inputs, details); // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = lib.loadDefaultValues(inputs, details);
//Must return this object at some point
var response = { //Must return this object at some point
processFile: false, var response = {
preset: '', processFile: false,
container: '.mkv', preset: '',
handBrakeMode: false, container: '.mkv',
FFmpegMode: true, handBrakeMode: false,
reQueueAfter: true, FFmpegMode: true,
infoLog: '', reQueueAfter: true,
infoLog: '',
}
}
response.infoLog += ""
//grab the current file being processed and make an out file for the ffmpeg log response.infoLog += ""
let currentfilename = file._id; //grab the current file being processed and make an out file for the ffmpeg log
logOutFile = currentfilename.substr(0, currentfilename.lastIndexOf(".")) + ".out" let currentfilename = file._id;
console.log("Log out file: " + logOutFile) logOutFile = currentfilename.substr(0, currentfilename.lastIndexOf(".")) + ".out"
console.log("Log out file: " + logOutFile)
//get an updated version of the file for checking metadata
var probeData = JSON.parse(require("child_process").execSync(`ffprobe -v quiet -print_format json -show_format -show_streams "${currentfilename}"`).toString()) //get an updated version of the file for checking metadata
var probeData = JSON.parse(require("child_process").execSync(`ffprobe -v quiet -print_format json -show_format -show_streams "${currentfilename}"`).toString())
//setup required varibles
var loudNorm_i = -23.0 //setup required varibles
var lra = 7.0 var loudNorm_i = -23.0
var tp = -2.0 var lra = 7.0
var offset = 0.0 var tp = -2.0
var offset = 0.0
//create local varibles for inputs
if (inputs !== undefined) { //create local varibles for inputs
if (inputs.i !== undefined) loudNorm_i = inputs.i if (inputs !== undefined) {
if (inputs.lra !== undefined) lra = inputs.lra if (inputs.i !== undefined) loudNorm_i = inputs.i
if (inputs.tp !== undefined) tp = inputs.tp if (inputs.lra !== undefined) lra = inputs.lra
if (inputs.offset !== undefined) offset = inputs.offset if (inputs.tp !== undefined) tp = inputs.tp
} if (inputs.offset !== undefined) offset = inputs.offset
}
//check for previous pass tags
//check for previous pass tags
if (typeof probeData.format === "undefined" || typeof probeData.format.tags.NORMALISATIONSTAGE === "undefined" || probeData.format.tags.NORMALISATIONSTAGE === "" || file.forceProcessing === true) {
if (typeof probeData.format === "undefined" || typeof probeData.format.tags.NORMALISATIONSTAGE === "undefined" || probeData.format.tags.NORMALISATIONSTAGE === "" || file.forceProcessing === true) {
//no metadata found first pass is required
console.log("Searching for audio normailisation values") //no metadata found first pass is required
response.infoLog += "Searching for required normalisation values. \n" console.log("Searching for audio normailisation values")
var loudNormInfo = ""; response.infoLog += "Searching for required normalisation values. \n"
var loudNormInfo = "";
//Do the first pass, output the log to the out file and use a secondary output for an unchanged file to allow Tdarr to track, Set metadata stage
response.preset = `<io>-af loudnorm=I=${loudNorm_i}:LRA=${lra}:TP=${tp}:print_format=json -f null NUL -map 0 -c copy -metadata NORMALISATIONSTAGE="FirstPassComplete" 2>"${logOutFile}"` //Do the first pass, output the log to the out file and use a secondary output for an unchanged file to allow Tdarr to track, Set metadata stage
response.container = '.mkv' response.preset = `<io>-af loudnorm=I=${loudNorm_i}:LRA=${lra}:TP=${tp}:print_format=json -f null NUL -map 0 -c copy -metadata NORMALISATIONSTAGE="FirstPassComplete" 2>"${logOutFile}"`
response.handBrakeMode = false response.container = '.mkv'
response.FFmpegMode = true response.handBrakeMode = false
response.reQueueAfter = true; response.FFmpegMode = true
response.processFile = true response.reQueueAfter = true;
response.infoLog += "Normalisation first pass processing \n" response.processFile = true
return response response.infoLog += "Normalisation first pass processing \n"
} return response
if (probeData.format.tags.NORMALISATIONSTAGE === "FirstPassComplete") { }
if (probeData.format.tags.NORMALISATIONSTAGE === "FirstPassComplete") {
//ensure previous out file exists
if (fs.existsSync(logOutFile)) { //ensure previous out file exists
secondPass = true; if (fs.existsSync(logOutFile)) {
loudNormInfo = fs.readFileSync(logOutFile).toString(); secondPass = true;
loudNormInfo = fs.readFileSync(logOutFile).toString();
//grab the json from the out file
var startIndex = loudNormInfo.lastIndexOf("{"); //grab the json from the out file
var endIndex = loudNormInfo.lastIndexOf("}"); var startIndex = loudNormInfo.lastIndexOf("{");
var endIndex = loudNormInfo.lastIndexOf("}");
var outValues = loudNormInfo.toString().substr(startIndex, endIndex)
var outValues = loudNormInfo.toString().substr(startIndex, endIndex)
response.infoLog += "Loudnorm first pass values returned: \n" + outValues
response.infoLog += "Loudnorm first pass values returned: \n" + outValues
//parse the JSON
var loudNormValues = JSON.parse(outValues) //parse the JSON
var loudNormValues = JSON.parse(outValues)
//use parsed values in second pass
response.preset = `-y<io>-af loudnorm=print_format=summary:linear=true:I=${loudNorm_i}:LRA=${lra}:TP=${tp}:measured_i=${loudNormValues.input_i}:measured_lra=${loudNormValues.input_lra}:measured_tp=${loudNormValues.input_tp}:measured_thresh=${loudNormValues.input_thresh}:offset=${loudNormValues.target_offset} -c:a aac -b:a 192k -c:s copy -c:v copy -metadata NORMALISATIONSTAGE="Complete"` //use parsed values in second pass
response.container = '.mkv' response.preset = `-y<io>-af loudnorm=print_format=summary:linear=true:I=${loudNorm_i}:LRA=${lra}:TP=${tp}:measured_i=${loudNormValues.input_i}:measured_lra=${loudNormValues.input_lra}:measured_tp=${loudNormValues.input_tp}:measured_thresh=${loudNormValues.input_thresh}:offset=${loudNormValues.target_offset} -c:a aac -b:a 192k -c:s copy -c:v copy -metadata NORMALISATIONSTAGE="Complete"`
response.handBrakeMode = false response.container = '.mkv'
response.FFmpegMode = true response.handBrakeMode = false
response.reQueueAfter = true; response.FFmpegMode = true
response.processFile = true response.reQueueAfter = true;
response.infoLog += "Normalisation pass processing \n" response.processFile = true
return response response.infoLog += "Normalisation pass processing \n"
} else { return response
response.infoLog += "Previous log output file is missing. Please rerun with force processing to regenerate." } else {
response.processFile = false; response.infoLog += "Previous log output file is missing. Please rerun with force processing to regenerate."
return response response.processFile = false;
return response
}
} }
if(probeData.format.tags.NORMALISATIONSTAGE === "Complete"){ }
response.processFile = false; if(probeData.format.tags.NORMALISATIONSTAGE === "Complete"){
response.infoLog += "File is already marked as normalised \n" response.processFile = false;
return response response.infoLog += "File is already marked as normalised \n"
} else { return response
//what is this tag? } else {
response.processFile = false; //what is this tag?
response.infoLog += "Unknown normalisation stage tag: \n" + probeData.format.tags.NORMALISATIONSTAGE response.processFile = false;
return response response.infoLog += "Unknown normalisation stage tag: \n" + probeData.format.tags.NORMALISATIONSTAGE
} return response
}
}
}
module.exports.onTranscodeSuccess = function onTranscodeSuccess(
file, module.exports.onTranscodeSuccess = function onTranscodeSuccess(
librarySettings, file,
inputs librarySettings,
) { inputs
) {
var response = {
file, var response = {
removeFromDB: false, file,
updateDB: true, removeFromDB: false,
}; updateDB: true,
if (secondPass) { };
response.infoLog += "Audio normalisation complete. \n" if (secondPass) {
//remove old out file response.infoLog += "Audio normalisation complete. \n"
if (fs.existsSync(logOutFile)) { //remove old out file
fs.unlinkSync(logOutFile); if (fs.existsSync(logOutFile)) {
} fs.unlinkSync(logOutFile);
return response; }
} return response;
else { }
response.infoLog += "Audio normalisation first pass complete. \n" else {
return response; response.infoLog += "Audio normalisation first pass complete. \n"
} return response;
}; }
};
module.exports.onTranscodeError = function onTranscodeError(
file, module.exports.onTranscodeError = function onTranscodeError(
librarySettings, file,
inputs librarySettings,
) { inputs
console.log("Failed to normalise audio"); ) {
console.log("Failed to normalise audio");
//Optional response if you need to modify database
var response = { //Optional response if you need to modify database
file, var response = {
removeFromDB: false, file,
updateDB: false, removeFromDB: false,
}; updateDB: false,
};
return response;
}; return response;
};
module.exports.details = details; module.exports.details = details;
module.exports.plugin = plugin; module.exports.plugin = plugin;

@ -1,5 +1,5 @@
/* eslint-disable */ /* eslint-disable */
const loadDefaultValues = require('../methods/loadDefaultValues');
const details = () => { const details = () => {
return { return {
@ -17,8 +17,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//Must return this object at some point //Must return this object at some point
var response = { var response = {

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */ /* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
// This is almost a line for line copy of Migz1FFMPEG // This is almost a line for line copy of Migz1FFMPEG
// https://github.com/HaveAGitGat/Tdarr_Plugins/blob/master/Community/Tdarr_Plugin_MC93_Migz1FFMPEG.js // https://github.com/HaveAGitGat/Tdarr_Plugins/blob/master/Community/Tdarr_Plugin_MC93_Migz1FFMPEG.js
@ -58,8 +57,10 @@ const details = () => ({
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
const response = { const response = {
processFile: false, processFile: false,
infoLog: '', infoLog: '',

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable linebreak-style */ /* eslint-disable linebreak-style */
module.exports.dependencies = [ module.exports.dependencies = [
'request', 'request',
@ -77,8 +76,10 @@ const details = () => ({
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
// eslint-disable-next-line global-require,import/no-unresolved,import/no-extraneous-dependencies // eslint-disable-next-line global-require,import/no-unresolved,import/no-extraneous-dependencies
const request = require('request'); const request = require('request');
// Set up required variables. // Set up required variables.

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint max-classes-per-file: ["error", 2] */ /* eslint max-classes-per-file: ["error", 2] */
const details = () => ({ const details = () => ({
id: 'Tdarr_Plugin_VP92_VP9_Match_Bitrate_One_Pass', id: 'Tdarr_Plugin_VP92_VP9_Match_Bitrate_One_Pass',
@ -23,7 +22,7 @@ const details = () => ({
'The CQ number (recommended 15-35) for this resolution, default 32', 'The CQ number (recommended 15-35) for this resolution, default 32',
}, },
{ {
name: 'CG_360p', name: 'CQ_360p',
type: 'string', type: 'string',
defaultValue: '31', defaultValue: '31',
inputUI: { inputUI: {
@ -502,8 +501,10 @@ function buildSubtitleConfiguration(inputs, file, logger) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
// Must return this object // Must return this object
const response = { const response = {
container: '.webm', container: '.webm',

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -16,8 +15,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//Must return this object //Must return this object
var response = { var response = {

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -18,8 +17,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//Must return this object //Must return this object

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -18,8 +17,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//Must return this object //Must return this object
var response = { var response = {

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -67,8 +66,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//Must return this object //Must return this object
var response = { var response = {

@ -1,6 +1,3 @@
// eslint-disable-next-line import/no-unresolved
const loadDefaultValues = require('../methods/loadDefaultValues');
const details = () => ({ const details = () => ({
id: 'Tdarr_Plugin_a9he_New_file_size_check', id: 'Tdarr_Plugin_a9he_New_file_size_check',
Stage: 'Pre-processing', Stage: 'Pre-processing',
@ -37,8 +34,10 @@ const details = () => ({
}); });
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
// Must return this object at some point in the function else plugin will fail. // Must return this object at some point in the function else plugin will fail.
const response = { const response = {
processFile: false, processFile: false,

@ -1,5 +1,4 @@
// eslint-disable-next-line import/no-unresolved // eslint-disable-next-line import/no-unresolved
const loadDefaultValues = require('../methods/loadDefaultValues');
const details = () => ({ const details = () => ({
id: 'Tdarr_Plugin_a9hf_New_file_duration_check', id: 'Tdarr_Plugin_a9hf_New_file_duration_check',
@ -38,8 +37,10 @@ const details = () => ({
}); });
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
// Must return this object at some point in the function else plugin will fail. // Must return this object at some point in the function else plugin will fail.
const response = { const response = {
processFile: false, processFile: false,

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -17,8 +16,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//Must return this object //Must return this object
var response = { var response = {

@ -1,5 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
const details = () => ({ const details = () => ({
id: 'Tdarr_Plugin_b39x_the1poet_surround_sound_to_ac3', id: 'Tdarr_Plugin_b39x_the1poet_surround_sound_to_ac3',
Stage: 'Pre-processing', Stage: 'Pre-processing',
@ -31,8 +29,10 @@ const details = () => ({
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
// Must return this object // Must return this object
const response = { const response = {

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -39,8 +38,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
var response = { var response = {
processFile: false, processFile: false,
preset: "", preset: "",

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -16,8 +15,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
var transcode = 0; //if this var changes to 1 the file will be transcoded var transcode = 0; //if this var changes to 1 the file will be transcoded
var bitrateprobe = 0; //bitrate from ffprobe var bitrateprobe = 0; //bitrate from ffprobe
var bitratetarget = 0; var bitratetarget = 0;

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -16,8 +15,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
var transcode = 0; //if this var changes to 1 the file will be transcoded var transcode = 0; //if this var changes to 1 the file will be transcoded
//default values that will be returned //default values that will be returned
var response = { var response = {

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -59,8 +58,10 @@ const BAD = false;
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
var response = { var response = {
processFile: false, processFile: false,
preset: "", preset: "",

@ -1,5 +1,5 @@
/* eslint-disable */ /* eslint-disable */
const loadDefaultValues = require('../methods/loadDefaultValues');
const details = () => { const details = () => {
return { return {
id: "Tdarr_Plugin_drdd_standardise_all_in_one", id: "Tdarr_Plugin_drdd_standardise_all_in_one",
@ -409,8 +409,10 @@ function buildVideoConfiguration(inputs, file, logger) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
var response = { var response = {
container: ".mkv", container: ".mkv",
FFmpegMode: true, FFmpegMode: true,

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -17,8 +16,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//Must return this object //Must return this object
var response = { var response = {

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -17,8 +16,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//Must return this object //Must return this object
var response = { var response = {

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -17,8 +16,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//Must return this object //Must return this object
var response = { var response = {

@ -1,7 +1,7 @@
/* eslint-disable */ /* eslint-disable */
const fs = require("fs"); const fs = require("fs");
const execSync = require("child_process").execSync; const execSync = require("child_process").execSync;
const loadDefaultValues = require('../methods/loadDefaultValues');
const details = () => { const details = () => {
return { return {
@ -38,8 +38,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//default response //default response
var response = { var response = {
processFile: false, processFile: false,

@ -1,7 +1,7 @@
/* eslint-disable */ /* eslint-disable */
const exec = require("child_process").exec; const exec = require("child_process").exec;
const fs = require("fs"); const fs = require("fs");
const loadDefaultValues = require('../methods/loadDefaultValues');
const details = () => { const details = () => {
return { return {
@ -48,8 +48,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
if (inputs.languages == "" || typeof inputs.special == "undefined") { if (inputs.languages == "" || typeof inputs.special == "undefined") {
var languages = ["eng", "en"]; //these languages should be kept, named according to ISO 639-2 language scheme var languages = ["eng", "en"]; //these languages should be kept, named according to ISO 639-2 language scheme
} else { } else {

@ -1,7 +1,7 @@
/* eslint-disable */ /* eslint-disable */
const fs = require("fs"); const fs = require("fs");
const execSync = require("child_process").execSync; const execSync = require("child_process").execSync;
const loadDefaultValues = require('../methods/loadDefaultValues');
const details = () => { const details = () => {
return { return {
@ -38,8 +38,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
if (inputs.bitrate == "" || inputs.bitrate == "undefined") { if (inputs.bitrate == "" || inputs.bitrate == "undefined") {
var min_bitrate = 6600; var min_bitrate = 6600;
var avg_rate = 3000; var avg_rate = 3000;

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -16,8 +15,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//Must return this object //Must return this object
var response = { var response = {

@ -1,5 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
const details = () => ({ const details = () => ({
id: 'Tdarr_Plugin_henk_Add_Specific_Audio_Codec', id: 'Tdarr_Plugin_henk_Add_Specific_Audio_Codec',
Stage: 'Pre-processing', Stage: 'Pre-processing',
@ -70,8 +68,10 @@ const details = () => ({
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
const response = { const response = {
processFile: false, processFile: false,
preset: ', -c copy -map 0:v ', preset: ', -c copy -map 0:v ',

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable no-await-in-loop */ /* eslint-disable no-await-in-loop */
module.exports.dependencies = ['axios', '@cospired/i18n-iso-languages', 'path']; module.exports.dependencies = ['axios', '@cospired/i18n-iso-languages', 'path'];
const details = () => ({ const details = () => ({
@ -224,8 +223,10 @@ const parseArrResponse = async (body, filePath, arr) => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = async (file, librarySettings, inputs, otherArguments) => { const plugin = async (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
// eslint-disable-next-line global-require,import/no-unresolved // eslint-disable-next-line global-require,import/no-unresolved
const axios = require('axios').default; const axios = require('axios').default;
response.container = `.${file.container}`; response.container = `.${file.container}`;

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -17,8 +16,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//Must return this object //Must return this object
var response = { var response = {

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -17,8 +16,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//Must return this object //Must return this object
var response = { var response = {

@ -1,5 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
const details = () => ({ const details = () => ({
id: 'Tdarr_Plugin_jeons001_Downmix_to_stereo_and_apply_DRC', id: 'Tdarr_Plugin_jeons001_Downmix_to_stereo_and_apply_DRC',
Stage: 'Pre-processing', Stage: 'Pre-processing',
@ -15,8 +13,10 @@ const details = () => ({
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
const response = { const response = {
processFile: false, processFile: false,
preset: '', preset: '',

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -16,8 +15,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//Must return this object //Must return this object
var response = { var response = {

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -17,8 +16,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//Must return this object //Must return this object
var response = { var response = {

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -16,8 +15,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
var transcode = 0; //if this var changes to 1 the file will be transcoded var transcode = 0; //if this var changes to 1 the file will be transcoded
//default values that will be returned //default values that will be returned

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -16,8 +15,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
var transcode = 0; //if this var changes to 1 the file will be transcoded var transcode = 0; //if this var changes to 1 the file will be transcoded
//default values that will be returned //default values that will be returned

@ -1,5 +1,4 @@
const fs = require('fs'); const fs = require('fs');
const loadDefaultValues = require('../methods/loadDefaultValues');
const details = () => ({ const details = () => ({
id: 'Tdarr_Plugin_rr01_drpeppershaker_extract_subs_to_SRT', id: 'Tdarr_Plugin_rr01_drpeppershaker_extract_subs_to_SRT',
@ -39,8 +38,10 @@ const details = () => ({
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
// Must return this object at some point in the function else plugin will fail. // Must return this object at some point in the function else plugin will fail.
const response = { const response = {
processFile: true, processFile: true,

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -17,8 +16,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//Must return this object //Must return this object
var response = { var response = {

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -17,8 +16,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//Must return this object //Must return this object
var response = { var response = {

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -17,8 +16,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//Must return this object //Must return this object
var response = { var response = {

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -17,8 +16,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//Must return this object //Must return this object
var response = { var response = {

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -16,8 +15,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//Must return this object //Must return this object
var response = { var response = {

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -17,8 +16,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//Must return this object //Must return this object
var response = { var response = {

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -16,8 +15,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//Must return this object //Must return this object
var response = { var response = {

@ -1,5 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
const details = () => ({ const details = () => ({
id: 'Tdarr_Plugin_vdka_Tiered_CPU_CRF_Based_Configurable', id: 'Tdarr_Plugin_vdka_Tiered_CPU_CRF_Based_Configurable',
Stage: 'Pre-processing', Stage: 'Pre-processing',
@ -18,7 +16,7 @@ const details = () => ({
{ {
name: 'sdCRF', name: 'sdCRF',
type: 'string', type: 'string',
defaultValue: '19', defaultValue: '20',
inputUI: { inputUI: {
type: 'text', type: 'text',
}, },
@ -31,7 +29,7 @@ const details = () => ({
{ {
name: 'hdCRF', name: 'hdCRF',
type: 'string', type: 'string',
defaultValue: '21', defaultValue: '22',
inputUI: { inputUI: {
type: 'text', type: 'text',
}, },
@ -44,7 +42,7 @@ const details = () => ({
{ {
name: 'fullhdCRF', name: 'fullhdCRF',
type: 'string', type: 'string',
defaultValue: '23', defaultValue: '24',
inputUI: { inputUI: {
type: 'text', type: 'text',
}, },
@ -57,7 +55,7 @@ const details = () => ({
{ {
name: 'uhdCRF', name: 'uhdCRF',
type: 'string', type: 'string',
defaultValue: '26', defaultValue: '28',
inputUI: { inputUI: {
type: 'text', type: 'text',
}, },
@ -129,8 +127,10 @@ const details = () => ({
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
let crf; let crf;
// default values that will be returned // default values that will be returned
const response = { const response = {

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -106,8 +105,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
var transcode = 0 //if this var changes to 1 the file will be transcoded var transcode = 0 //if this var changes to 1 the file will be transcoded
var subcli = `-c:s copy` var subcli = `-c:s copy`
var maxmux = '' var maxmux = ''

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
return { return {
@ -16,8 +15,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
//Must return this object //Must return this object
var response = { var response = {

@ -1,5 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
const details = () => ({ const details = () => ({
id: 'Tdarr_Plugin_x7ac_Remove_Closed_Captions', id: 'Tdarr_Plugin_x7ac_Remove_Closed_Captions',
Stage: 'Pre-processing', Stage: 'Pre-processing',
@ -15,8 +13,10 @@ const details = () => ({
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
const response = { const response = {
processFile: false, processFile: false,
// eslint-disable-next-line no-useless-escape // eslint-disable-next-line no-useless-escape

@ -1,5 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
const details = () => ({ const details = () => ({
id: 'Tdarr_Plugin_z0ab_TheRealShadoh_FFmpeg_Subs_H264_Medium', id: 'Tdarr_Plugin_z0ab_TheRealShadoh_FFmpeg_Subs_H264_Medium',
Stage: 'Pre-processing', Stage: 'Pre-processing',
@ -17,8 +15,10 @@ const details = () => ({
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
// Must return this object // Must return this object
const response = { const response = {

@ -1,4 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
/* eslint-disable */ /* eslint-disable */
const details = () => { const details = () => {
@ -17,8 +16,10 @@ const details = () => {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
try { try {
var fs = require("fs"); var fs = require("fs");
var fileNameOld = file._id; var fileNameOld = file._id;

@ -1,5 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
const details = () => ({ const details = () => ({
id: 'Tdarr_Plugin_z18t_rename_files_based_on_codec_and_resolution', id: 'Tdarr_Plugin_z18t_rename_files_based_on_codec_and_resolution',
Stage: 'Post-processing', Stage: 'Post-processing',
@ -14,8 +12,10 @@ const details = () => ({
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
try { try {
// eslint-disable-next-line global-require // eslint-disable-next-line global-require
const fs = require('fs'); const fs = require('fs');

@ -1,5 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
const details = () => ({ const details = () => ({
id: 'Tdarr_Plugin_z1ab_TheRealShadoh_FFmpeg_Subs_H264_Fast', id: 'Tdarr_Plugin_z1ab_TheRealShadoh_FFmpeg_Subs_H264_Fast',
Stage: 'Pre-processing', Stage: 'Pre-processing',
@ -17,8 +15,10 @@ const details = () => ({
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
// Must return this object // Must return this object
const response = { const response = {

@ -1,5 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
const details = () => ({ const details = () => ({
id: 'Tdarr_Plugin_z2ab_TheRealShadoh_FFmpeg_Subs_H264_Slow', id: 'Tdarr_Plugin_z2ab_TheRealShadoh_FFmpeg_Subs_H264_Slow',
Stage: 'Pre-processing', Stage: 'Pre-processing',
@ -17,8 +15,10 @@ const details = () => ({
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
// Must return this object // Must return this object
const response = { const response = {

@ -1,5 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
const details = () => ({ const details = () => ({
id: 'Tdarr_Plugin_z3ab_TheRealShadoh_FFmpeg_Subs_H264_VeryFast', id: 'Tdarr_Plugin_z3ab_TheRealShadoh_FFmpeg_Subs_H264_VeryFast',
Stage: 'Pre-processing', Stage: 'Pre-processing',
@ -19,8 +17,10 @@ const details = () => ({
// eslint-disable-next-line // eslint-disable-next-line
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
// Must return this object // Must return this object
const response = { const response = {

@ -1,5 +1,3 @@
const loadDefaultValues = require('../methods/loadDefaultValues');
module.exports.dependencies = [ module.exports.dependencies = [
'axios', 'axios',
'path-extra', 'path-extra',
@ -66,8 +64,10 @@ const details = () => ({
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = async (file, librarySettings, inputs, otherArguments) => { const plugin = async (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
// eslint-disable-next-line global-require,import/no-unresolved // eslint-disable-next-line global-require,import/no-unresolved
const axios = require('axios'); const axios = require('axios');
// eslint-disable-next-line global-require,import/no-unresolved // eslint-disable-next-line global-require,import/no-unresolved

@ -1,6 +1,3 @@
// eslint-disable-next-line import/no-unresolved
const loadDefaultValues = require('../methods/loadDefaultValues');
const details = () => ({ const details = () => ({
id: 'Tdarr_Plugin_a9he_New_file_size_check', id: 'Tdarr_Plugin_a9he_New_file_size_check',
Stage: 'Pre-processing', Stage: 'Pre-processing',
@ -14,8 +11,10 @@ const details = () => ({
}); });
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
// Must return this object at some point in the function else plugin will fail. // Must return this object at some point in the function else plugin will fail.
const response = { const response = {
processFile: false, processFile: false,

@ -1,6 +1,3 @@
// eslint-disable-next-line import/no-unresolved
const loadDefaultValues = require('../methods/loadDefaultValues');
const details = () => ({ const details = () => ({
id: 'Tdarr_Plugin_f001_Filter_Example', id: 'Tdarr_Plugin_f001_Filter_Example',
Stage: 'Pre-processing', Stage: 'Pre-processing',
@ -15,8 +12,10 @@ const details = () => ({
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
// Must return this object at some point in the function else plugin will fail. // Must return this object at some point in the function else plugin will fail.
const response = { const response = {

@ -1,6 +1,3 @@
// eslint-disable-next-line import/no-unresolved
const loadDefaultValues = require('../methods/loadDefaultValues');
const details = () => ({ const details = () => ({
id: 'Tdarr_Plugin_f002_Filter_Example', id: 'Tdarr_Plugin_f002_Filter_Example',
Stage: 'Pre-processing', Stage: 'Pre-processing',
@ -15,8 +12,10 @@ const details = () => ({
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
const response = { const response = {
processFile: true, processFile: true,
infoLog: '', infoLog: '',

@ -5,9 +5,6 @@
/* eslint import/no-extraneous-dependencies: 0 */ // --> OFF /* eslint import/no-extraneous-dependencies: 0 */ // --> OFF
/* eslint no-console: 0 */ // --> OFF /* eslint no-console: 0 */ // --> OFF
// eslint-disable-next-line import/no-unresolved
const loadDefaultValues = require('../methods/loadDefaultValues');
// List any npm dependencies which the plugin needs, they will be auto installed when the plugin runs: // List any npm dependencies which the plugin needs, they will be auto installed when the plugin runs:
module.exports.dependencies = [ module.exports.dependencies = [
'import-fresh', 'import-fresh',
@ -43,25 +40,15 @@ const details = () => ({
\\nExample:\\n \\nExample:\\n
de`, // Each line following `Example:` will be clearly formatted. \\n used for line breaks de`, // Each line following `Example:` will be clearly formatted. \\n used for line breaks
}, },
{
name: 'channels',
type: 'string',
defaultValue: 'eng',
inputUI: {
type: 'text',
},
tooltip: `Desired audio channel number.
\\nExample:\\n
2`,
},
], ],
}); });
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
// Only 'require' dependencies within this function or other functions. Do not require in the top scope. // Only 'require' dependencies within this function or other functions. Do not require in the top scope.
const importFresh = require('import-fresh'); const importFresh = require('import-fresh');

@ -5,7 +5,6 @@
/* eslint import/no-extraneous-dependencies: 0 */ // --> OFF /* eslint import/no-extraneous-dependencies: 0 */ // --> OFF
/* eslint no-console: 0 */ // --> OFF /* eslint no-console: 0 */ // --> OFF
const loadDefaultValues = require('../methods/loadDefaultValues');
// List any npm dependencies which the plugin needs, they will be auto installed when the plugin runs: // List any npm dependencies which the plugin needs, they will be auto installed when the plugin runs:
module.exports.dependencies = [ module.exports.dependencies = [
'import-fresh', 'import-fresh',
@ -71,8 +70,10 @@ const details = () => ({
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const plugin = (file, librarySettings, inputs, otherArguments) => { const plugin = (file, librarySettings, inputs, otherArguments) => {
// eslint-disable-next-line global-require
const lib = require('../methods/lib')();
// eslint-disable-next-line no-unused-vars,no-param-reassign // eslint-disable-next-line no-unused-vars,no-param-reassign
inputs = loadDefaultValues(inputs, details); inputs = lib.loadDefaultValues(inputs, details);
// Only 'require' dependencies within this function or other functions. Do not require in the top scope. // Only 'require' dependencies within this function or other functions. Do not require in the top scope.
const importFresh = require('import-fresh'); const importFresh = require('import-fresh');

@ -26,10 +26,10 @@ folders.forEach((folder) => {
for (let i = 0; i < files.length; i += 1) { for (let i = 0; i < files.length; i += 1) {
let read = fs.readFileSync(`${folder}/${files[i]}`).toString(); let read = fs.readFileSync(`${folder}/${files[i]}`).toString();
const importDefaultValues = 'const loadDefaultValues = require(\'../methods/loadDefaultValues\');'; const importLib = 'const lib = require(\'../methods/lib\')();';
if (!read.includes(importDefaultValues)) { if (!read.includes(importLib)) {
console.log(`Plugin error: '${folder}/${files[i]}' does not contain ${importDefaultValues}`); console.log(`Plugin error: '${folder}/${files[i]}' does not contain ${importLib}`);
read = `${importDefaultValues}\n${read}`; read = `${importLib}\n${read}`;
// fs.writeFileSync(`${folder}/${files[i]}`, read) // fs.writeFileSync(`${folder}/${files[i]}`, read)
process.exit(1); process.exit(1);
} }
@ -50,7 +50,7 @@ folders.forEach((folder) => {
process.exit(1); process.exit(1);
} }
const inputsText = 'inputs = loadDefaultValues(inputs, details);'; const inputsText = 'inputs = lib.loadDefaultValues(inputs, details);';
if (!read.includes(inputsText) if (!read.includes(inputsText)
) { ) {
console.log(`Plugin error: '${folder}/${files[i]}' does not contain ${inputsText}`); console.log(`Plugin error: '${folder}/${files[i]}' does not contain ${inputsText}`);
@ -157,10 +157,19 @@ module.exports.plugin = plugin;`;
console.log(`Plugin Input type does not match defaultValue type: console.log(`Plugin Input type does not match defaultValue type:
'${folder}/${files[i]}' : ${inputs[j].name}`); '${folder}/${files[i]}' : ${inputs[j].name}`);
process.exit(1); process.exit(1);
} else if (!['text', 'dropdown'].includes(inputs[j].inputUI.type)) {
console.log(`Plugin Input inputUI is invalid: '${folder}/${files[i]}' : ${inputs[j].name}`);
process.exit(1);
} else if (inputs[j].defaultValue === undefined) { } else if (inputs[j].defaultValue === undefined) {
console.log(`Plugin Input does not have a default value: '${folder}/${files[i]}' : ${inputs[j].name}`); console.log(`Plugin Input does not have a default value: '${folder}/${files[i]}' : ${inputs[j].name}`);
process.exit(1); process.exit(1);
} }
const count = read.split(inputs[j].name).length - 1;
if (count === 1) {
console.log(`Plugin Input is not used: '${folder}/${files[i]}' : ${inputs[j].name}`);
process.exit(1);
}
} }
} }

Loading…
Cancel
Save