mirror of
https://github.com/gabehf/Tdarr_Plugins.git
synced 2026-03-09 07:29:04 -07:00
revertChanges
This commit is contained in:
parent
2ba3df1977
commit
9e04b43e75
88 changed files with 612 additions and 602 deletions
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => ({
|
||||
id: 'Tdarr_Plugin_075a_FFMPEG_HEVC_Generic',
|
||||
|
|
@ -15,7 +15,7 @@ const details = () => ({
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
// Must return this object
|
||||
|
||||
const response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => ({
|
||||
id: "Tdarr_Plugin_075a_Transcode_Customisable",
|
||||
|
|
@ -154,7 +154,7 @@ const details = () => ({
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
//Must return this object
|
||||
|
||||
var response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -17,7 +17,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
//Must return this object
|
||||
|
||||
var response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -17,7 +17,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
//Must return this object
|
||||
|
||||
var response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -17,7 +17,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
//Must return this object
|
||||
|
||||
var response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -45,7 +45,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
//Must return this object
|
||||
|
||||
var response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -45,7 +45,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
//Must return this object
|
||||
|
||||
var response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -59,7 +59,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
//Must return this object
|
||||
|
||||
var response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -17,7 +17,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
//Must return this object at some point in the function else plugin will fail.
|
||||
|
||||
let response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -61,7 +61,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
const request = require('request');
|
||||
const IP = inputs.server_ip;
|
||||
const { port } = inputs;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -148,7 +148,7 @@ function getMediaInfo(file) {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
|
||||
if (file.fileMedium !== "video") {
|
||||
response.processFile = false;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/* eslint-disable */
|
||||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
const details = () => {
|
||||
return {
|
||||
id: "Tdarr_Plugin_DOOM_NVENC_Tiered_MKV_CleanAll",
|
||||
|
|
@ -477,7 +477,7 @@ function buildVideoConfiguration(inputs, file, logger) {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
var response = {
|
||||
container: ".mkv",
|
||||
FFmpegMode: true,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
|
||||
/* eslint-disable */
|
||||
/* eslint max-len: 0 */
|
||||
|
|
@ -74,7 +74,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
const response = {
|
||||
container: '.mkv',
|
||||
processFile: false,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
const lib = require('../methods/library');
|
||||
// eslint-disable-next-line import/no-extraneous-dependencies
|
||||
const importFresh = require('import-fresh');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
|
||||
module.exports.dependencies = ['import-fresh'];
|
||||
const details = () => ({
|
||||
|
|
@ -31,7 +33,8 @@ module.exports.details = details;
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
const library = importFresh('../methods/library.js');
|
||||
const response = {
|
||||
// 320K selected over 384k intentionally
|
||||
// https://en.m.wikipedia.org/wiki/MPEG-1#Part_3:_Audio
|
||||
|
|
@ -45,8 +48,8 @@ const plugin = (file, librarySettings, inputs, otherArguments) => {
|
|||
|
||||
const { codecsToInclude } = inputs;
|
||||
|
||||
const filterByCodecInclude = lib.filters.filterByCodec(file, 'include', codecsToInclude);
|
||||
const filterByCodecExclude = lib.filters.filterByCodec(file, 'exclude', 'mp3');
|
||||
const filterByCodecInclude = library.filters.filterByCodec(file, 'include', codecsToInclude);
|
||||
const filterByCodecExclude = library.filters.filterByCodec(file, 'exclude', 'mp3');
|
||||
|
||||
response.infoLog += `${filterByCodecInclude.note} ${filterByCodecExclude.note}`;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
|
@ -169,7 +169,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
|
||||
var response = {
|
||||
processFile: false,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
|
@ -166,7 +166,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
|
||||
var response = {
|
||||
processFile: false,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
|
||||
const details = () => ({
|
||||
id: 'Tdarr_Plugin_MC93_Migz1FFMPEG',
|
||||
|
|
@ -110,7 +110,7 @@ const details = () => ({
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
const response = {
|
||||
processFile: false,
|
||||
preset: '',
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
|
||||
const details = () => ({
|
||||
id: 'Tdarr_Plugin_MC93_Migz1FFMPEG_CPU',
|
||||
|
|
@ -89,7 +89,7 @@ const details = () => ({
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
const response = {
|
||||
processFile: false,
|
||||
preset: '',
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
|
||||
const details = () => ({
|
||||
id: 'Tdarr_Plugin_MC93_Migz1Remux',
|
||||
|
|
@ -52,7 +52,7 @@ const details = () => ({
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
const response = {
|
||||
processFile: false,
|
||||
preset: '',
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
|
||||
const details = () => ({
|
||||
id: 'Tdarr_Plugin_MC93_Migz2CleanTitle',
|
||||
|
|
@ -68,7 +68,7 @@ const details = () => ({
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
const response = {
|
||||
processFile: false,
|
||||
preset: '',
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
|
||||
const details = () => ({
|
||||
id: 'Tdarr_Plugin_MC93_Migz3CleanAudio',
|
||||
|
|
@ -89,7 +89,7 @@ const details = () => ({
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
const response = {
|
||||
processFile: false,
|
||||
preset: '',
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
|
||||
const details = () => ({
|
||||
id: 'Tdarr_Plugin_MC93_Migz4CleanSubs',
|
||||
|
|
@ -64,7 +64,7 @@ const details = () => ({
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
const response = {
|
||||
processFile: false,
|
||||
preset: '',
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
|
||||
const details = () => ({
|
||||
id: 'Tdarr_Plugin_MC93_Migz5ConvertAudio',
|
||||
|
|
@ -46,7 +46,7 @@ const details = () => ({
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
const response = {
|
||||
processFile: false,
|
||||
container: `.${file.container}`,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
|
||||
const details = () => ({
|
||||
id: 'Tdarr_Plugin_MC93_Migz6OrderStreams',
|
||||
|
|
@ -15,7 +15,7 @@ const details = () => ({
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
const response = {
|
||||
processFile: false,
|
||||
preset: '',
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
|
||||
const details = () => ({
|
||||
id: 'Tdarr_Plugin_MC93_MigzImageRemoval',
|
||||
|
|
@ -15,7 +15,7 @@ const details = () => ({
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
const response = {
|
||||
processFile: false,
|
||||
preset: '',
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
|
||||
module.exports.dependencies = [
|
||||
'request',
|
||||
|
|
@ -64,7 +64,7 @@ const details = () => ({
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
// eslint-disable-next-line global-require,import/no-unresolved
|
||||
const request = require('request');
|
||||
|
||||
|
|
|
|||
|
|
@ -1,144 +1,145 @@
|
|||
const lib = require('../methods/library');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
id: "Tdarr_Plugin_MP01_MichPasCleanSubsAndAudioCodecs",
|
||||
Stage: "Pre-processing",
|
||||
Name: "MichPass-Remove subtitle and audio streams with certain codecs",
|
||||
Type: "Any",
|
||||
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`,
|
||||
Version: "1.0",
|
||||
Tags: "pre-processing,ffmpeg,subtitle, audio,configurable",
|
||||
|
||||
Inputs: [
|
||||
{
|
||||
name: "tag_subtitle_codecs",
|
||||
type: 'string',
|
||||
defaultValue: '',
|
||||
inputUI: {
|
||||
type: 'text',
|
||||
},
|
||||
tooltip: `Specify key words here for subtitle tracks you'd like to have removed.
|
||||
\\nExample:\\n
|
||||
hdmv_pgs_subtitle
|
||||
\\nExample:\\n
|
||||
hdmv_pgs_subtitle,dvd_subtitle`,
|
||||
},
|
||||
{
|
||||
|
||||
name: "tag_audio_codecs",
|
||||
type: 'string',
|
||||
defaultValue: '',
|
||||
inputUI: {
|
||||
type: 'text',
|
||||
},
|
||||
tooltip: `Specify all audio codecs you'd like to have removed.
|
||||
\\nExample:\\n
|
||||
truehd
|
||||
\\nExample:\\n
|
||||
xxx,yyy`,
|
||||
},
|
||||
],
|
||||
};
|
||||
}
|
||||
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
var response = {
|
||||
processFile: false,
|
||||
preset: "",
|
||||
container: "." + file.container,
|
||||
handBrakeMode: false,
|
||||
FFmpegMode: true,
|
||||
reQueueAfter: false,
|
||||
infoLog: "",
|
||||
|
||||
};
|
||||
|
||||
// Check if file is a video. If it isn't then exit plugin.
|
||||
|
||||
if (file.fileMedium !== "video") {
|
||||
console.log("File is not video");
|
||||
response.infoLog += "☒File is not video \n";
|
||||
response.processFile = false;
|
||||
return response;
|
||||
}
|
||||
|
||||
|
||||
// Set up required variables.
|
||||
var tag_subtitle_codecs = inputs.tag_subtitle_codecs.split(",");
|
||||
var tag_audio_codecs = inputs.tag_audio_codecs.split(",");
|
||||
var ffmpegCommandInsert = "";
|
||||
var subtitleIdx = 0;
|
||||
var audioIdx = 0;
|
||||
var convert = false;
|
||||
|
||||
// Go through each stream in the file.
|
||||
for (var i = 0; i < file.ffProbeData.streams.length; i++) {
|
||||
// Catch error here incase the title metadata is completely missing.
|
||||
try {
|
||||
// Check stream is subtitle AND stream codec contains certain words, removing these streams .
|
||||
if (
|
||||
file.ffProbeData.streams[i].codec_type.toLowerCase() == "subtitle" &&
|
||||
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`;
|
||||
convert = true;
|
||||
}
|
||||
} catch (err) {}
|
||||
|
||||
|
||||
// For debugging
|
||||
// response.infoLog += `☒test tags codectype title - ${file.ffProbeData.streams[i].codec_type}. \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 .
|
||||
if (
|
||||
file.ffProbeData.streams[i].codec_type.toLowerCase() == "audio" &&
|
||||
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`;
|
||||
convert = true;
|
||||
}
|
||||
} catch (err) {}
|
||||
|
||||
|
||||
// Check if stream type is audio and increment audioIdx if true.
|
||||
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") {
|
||||
subtitleIdx++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Convert file if convert variable is set to true.
|
||||
|
||||
if (convert === true) {
|
||||
response.processFile = true;
|
||||
response.preset = `, -map 0 ${ffmpegCommandInsert} -c copy -max_muxing_queue_size 4096`;
|
||||
response.container = "." + file.container;
|
||||
response.reQueueAfter = true;
|
||||
} else {
|
||||
response.processFile = false;
|
||||
response.infoLog +=
|
||||
"☑File doesn't contain subtitle or audio codecs which were unwanted or that require tagging.\n";
|
||||
|
||||
}
|
||||
return response;
|
||||
}
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
id: "Tdarr_Plugin_MP01_MichPasCleanSubsAndAudioCodecs",
|
||||
Stage: "Pre-processing",
|
||||
Name: "MichPass-Remove subtitle and audio streams with certain codecs",
|
||||
Type: "Any",
|
||||
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`,
|
||||
Version: "1.0",
|
||||
Tags: "pre-processing,ffmpeg,subtitle, audio,configurable",
|
||||
|
||||
Inputs: [
|
||||
{
|
||||
name: "tag_subtitle_codecs",
|
||||
type: 'string',
|
||||
defaultValue: '',
|
||||
inputUI: {
|
||||
type: 'text',
|
||||
},
|
||||
tooltip: `Specify key words here for subtitle tracks you'd like to have removed.
|
||||
\\nExample:\\n
|
||||
hdmv_pgs_subtitle
|
||||
\\nExample:\\n
|
||||
hdmv_pgs_subtitle,dvd_subtitle`,
|
||||
},
|
||||
{
|
||||
|
||||
name: "tag_audio_codecs",
|
||||
type: 'string',
|
||||
defaultValue: '',
|
||||
inputUI: {
|
||||
type: 'text',
|
||||
},
|
||||
tooltip: `Specify all audio codecs you'd like to have removed.
|
||||
\\nExample:\\n
|
||||
truehd
|
||||
\\nExample:\\n
|
||||
xxx,yyy`,
|
||||
},
|
||||
],
|
||||
};
|
||||
}
|
||||
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
var response = {
|
||||
processFile: false,
|
||||
preset: "",
|
||||
container: "." + file.container,
|
||||
handBrakeMode: false,
|
||||
FFmpegMode: true,
|
||||
reQueueAfter: false,
|
||||
infoLog: "",
|
||||
|
||||
};
|
||||
|
||||
// Check if file is a video. If it isn't then exit plugin.
|
||||
|
||||
if (file.fileMedium !== "video") {
|
||||
console.log("File is not video");
|
||||
response.infoLog += "☒File is not video \n";
|
||||
response.processFile = false;
|
||||
return response;
|
||||
}
|
||||
|
||||
|
||||
// Set up required variables.
|
||||
var tag_subtitle_codecs = inputs.tag_subtitle_codecs.split(",");
|
||||
var tag_audio_codecs = inputs.tag_audio_codecs.split(",");
|
||||
var ffmpegCommandInsert = "";
|
||||
var subtitleIdx = 0;
|
||||
var audioIdx = 0;
|
||||
var convert = false;
|
||||
|
||||
// Go through each stream in the file.
|
||||
for (var i = 0; i < file.ffProbeData.streams.length; i++) {
|
||||
// Catch error here incase the title metadata is completely missing.
|
||||
try {
|
||||
// Check stream is subtitle AND stream codec contains certain words, removing these streams .
|
||||
if (
|
||||
file.ffProbeData.streams[i].codec_type.toLowerCase() == "subtitle" &&
|
||||
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`;
|
||||
convert = true;
|
||||
}
|
||||
} catch (err) {}
|
||||
|
||||
|
||||
// For debugging
|
||||
// response.infoLog += `☒test tags codectype title - ${file.ffProbeData.streams[i].codec_type}. \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 .
|
||||
if (
|
||||
file.ffProbeData.streams[i].codec_type.toLowerCase() == "audio" &&
|
||||
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`;
|
||||
convert = true;
|
||||
}
|
||||
} catch (err) {}
|
||||
|
||||
|
||||
// Check if stream type is audio and increment audioIdx if true.
|
||||
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") {
|
||||
subtitleIdx++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Convert file if convert variable is set to true.
|
||||
|
||||
if (convert === true) {
|
||||
response.processFile = true;
|
||||
response.preset = `, -map 0 ${ffmpegCommandInsert} -c copy -max_muxing_queue_size 4096`;
|
||||
response.container = "." + file.container;
|
||||
response.reQueueAfter = true;
|
||||
} else {
|
||||
response.processFile = false;
|
||||
response.infoLog +=
|
||||
"☑File doesn't contain subtitle or audio codecs which were unwanted or that require tagging.\n";
|
||||
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
||||
|
||||
module.exports.details = details;
|
||||
module.exports.plugin = plugin;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const vaapiPrefix = ` -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -hwaccel_output_format vaapi `;
|
||||
|
||||
|
|
@ -45,7 +45,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
var response = {
|
||||
processFile: false,
|
||||
preset: ``,
|
||||
|
|
|
|||
|
|
@ -1,232 +1,232 @@
|
|||
const lib = require('../methods/library');
|
||||
/* eslint-disable */
|
||||
//PLugin runs multipass loudnorm filter
|
||||
//first run gets the required details and stores for the next pass
|
||||
//second pass applies the values
|
||||
|
||||
//stages
|
||||
// Determined Loudnorm Values
|
||||
// Applying Normalisation
|
||||
// Normalisation Complete
|
||||
|
||||
|
||||
//setup global vars
|
||||
|
||||
var secondPass = false;
|
||||
var logOutFile = '';
|
||||
|
||||
var fs = require('fs');
|
||||
|
||||
const details = () => {
|
||||
return {
|
||||
id: "Tdarr_Plugin_NIfPZuCLU_2_Pass_Loudnorm_Audio_Normalisation",
|
||||
Stage: 'Pre-processing',
|
||||
Name: "2 Pass Loudnorm Volume Normalisation",
|
||||
Type: "Video",
|
||||
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.",
|
||||
Version: "0.1",
|
||||
Tags: "pre-processing,ffmpeg,configurable",
|
||||
|
||||
Inputs: [
|
||||
//(Optional) Inputs you'd like the user to enter to allow your plugin to be easily configurable from the UI
|
||||
{
|
||||
name: "i",
|
||||
type: 'string',
|
||||
defaultValue:'-23.0',
|
||||
inputUI: {
|
||||
type: 'text',
|
||||
},
|
||||
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
|
||||
},
|
||||
{
|
||||
name: "lra",
|
||||
type: 'string',
|
||||
defaultValue:'7.0',
|
||||
inputUI: {
|
||||
type: 'text',
|
||||
},
|
||||
tooltip: `Desired lra value. \n Defaults to 7.0
|
||||
`,
|
||||
},
|
||||
{
|
||||
name: "tp",
|
||||
type: 'string',
|
||||
defaultValue:'-2.0',
|
||||
inputUI: {
|
||||
type: 'text',
|
||||
},
|
||||
tooltip: `Desired \"tp\" value. \n Defaults to -2.0
|
||||
`,
|
||||
},
|
||||
{
|
||||
name: "offset",
|
||||
type: 'string',
|
||||
defaultValue:'0.0',
|
||||
inputUI: {
|
||||
type: 'text',
|
||||
},
|
||||
tooltip: `Desired "offset" value. \n Defaults to 0.0
|
||||
`,
|
||||
},
|
||||
],
|
||||
}
|
||||
}
|
||||
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
|
||||
//Must return this object at some point
|
||||
var response = {
|
||||
processFile: false,
|
||||
preset: '',
|
||||
container: '.mkv',
|
||||
handBrakeMode: false,
|
||||
FFmpegMode: true,
|
||||
reQueueAfter: true,
|
||||
infoLog: '',
|
||||
|
||||
}
|
||||
|
||||
response.infoLog += ""
|
||||
//grab the current file being processed and make an out file for the ffmpeg log
|
||||
let currentfilename = file._id;
|
||||
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())
|
||||
|
||||
//setup required varibles
|
||||
var loudNorm_i = -23.0
|
||||
var lra = 7.0
|
||||
var tp = -2.0
|
||||
var offset = 0.0
|
||||
|
||||
//create local varibles for inputs
|
||||
if (inputs !== undefined) {
|
||||
if (inputs.i !== undefined) loudNorm_i = inputs.i
|
||||
if (inputs.lra !== undefined) lra = inputs.lra
|
||||
if (inputs.tp !== undefined) tp = inputs.tp
|
||||
if (inputs.offset !== undefined) offset = inputs.offset
|
||||
}
|
||||
|
||||
|
||||
//check for previous pass tags
|
||||
|
||||
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")
|
||||
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}"`
|
||||
response.container = '.mkv'
|
||||
response.handBrakeMode = false
|
||||
response.FFmpegMode = true
|
||||
response.reQueueAfter = true;
|
||||
response.processFile = true
|
||||
response.infoLog += "Normalisation first pass processing \n"
|
||||
return response
|
||||
}
|
||||
if (probeData.format.tags.NORMALISATIONSTAGE === "FirstPassComplete") {
|
||||
|
||||
//ensure previous out file exists
|
||||
if (fs.existsSync(logOutFile)) {
|
||||
secondPass = true;
|
||||
loudNormInfo = fs.readFileSync(logOutFile).toString();
|
||||
|
||||
//grab the json from the out file
|
||||
var startIndex = loudNormInfo.lastIndexOf("{");
|
||||
var endIndex = loudNormInfo.lastIndexOf("}");
|
||||
|
||||
var outValues = loudNormInfo.toString().substr(startIndex, endIndex)
|
||||
|
||||
response.infoLog += "Loudnorm first pass values returned: \n" + 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"`
|
||||
response.container = '.mkv'
|
||||
response.handBrakeMode = false
|
||||
response.FFmpegMode = true
|
||||
response.reQueueAfter = true;
|
||||
response.processFile = true
|
||||
response.infoLog += "Normalisation pass processing \n"
|
||||
return response
|
||||
} else {
|
||||
response.infoLog += "Previous log output file is missing. Please rerun with force processing to regenerate."
|
||||
response.processFile = false;
|
||||
return response
|
||||
|
||||
}
|
||||
}
|
||||
if(probeData.format.tags.NORMALISATIONSTAGE === "Complete"){
|
||||
response.processFile = false;
|
||||
response.infoLog += "File is already marked as normalised \n"
|
||||
return response
|
||||
} else {
|
||||
//what is this tag?
|
||||
response.processFile = false;
|
||||
response.infoLog += "Unknown normalisation stage tag: \n" + probeData.format.tags.NORMALISATIONSTAGE
|
||||
return response
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
module.exports.onTranscodeSuccess = function onTranscodeSuccess(
|
||||
file,
|
||||
librarySettings,
|
||||
inputs
|
||||
) {
|
||||
|
||||
var response = {
|
||||
file,
|
||||
removeFromDB: false,
|
||||
updateDB: true,
|
||||
};
|
||||
if (secondPass) {
|
||||
response.infoLog += "Audio normalisation complete. \n"
|
||||
//remove old out file
|
||||
if (fs.existsSync(logOutFile)) {
|
||||
fs.unlinkSync(logOutFile);
|
||||
}
|
||||
return response;
|
||||
}
|
||||
else {
|
||||
response.infoLog += "Audio normalisation first pass complete. \n"
|
||||
return response;
|
||||
}
|
||||
};
|
||||
|
||||
module.exports.onTranscodeError = function onTranscodeError(
|
||||
file,
|
||||
librarySettings,
|
||||
inputs
|
||||
) {
|
||||
console.log("Failed to normalise audio");
|
||||
|
||||
//Optional response if you need to modify database
|
||||
var response = {
|
||||
file,
|
||||
removeFromDB: false,
|
||||
updateDB: false,
|
||||
};
|
||||
|
||||
return response;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
//PLugin runs multipass loudnorm filter
|
||||
//first run gets the required details and stores for the next pass
|
||||
//second pass applies the values
|
||||
|
||||
//stages
|
||||
// Determined Loudnorm Values
|
||||
// Applying Normalisation
|
||||
// Normalisation Complete
|
||||
|
||||
|
||||
//setup global vars
|
||||
|
||||
var secondPass = false;
|
||||
var logOutFile = '';
|
||||
|
||||
var fs = require('fs');
|
||||
|
||||
const details = () => {
|
||||
return {
|
||||
id: "Tdarr_Plugin_NIfPZuCLU_2_Pass_Loudnorm_Audio_Normalisation",
|
||||
Stage: 'Pre-processing',
|
||||
Name: "2 Pass Loudnorm Volume Normalisation",
|
||||
Type: "Video",
|
||||
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.",
|
||||
Version: "0.1",
|
||||
Tags: "pre-processing,ffmpeg,configurable",
|
||||
|
||||
Inputs: [
|
||||
//(Optional) Inputs you'd like the user to enter to allow your plugin to be easily configurable from the UI
|
||||
{
|
||||
name: "i",
|
||||
type: 'string',
|
||||
defaultValue:'-23.0',
|
||||
inputUI: {
|
||||
type: 'text',
|
||||
},
|
||||
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
|
||||
},
|
||||
{
|
||||
name: "lra",
|
||||
type: 'string',
|
||||
defaultValue:'7.0',
|
||||
inputUI: {
|
||||
type: 'text',
|
||||
},
|
||||
tooltip: `Desired lra value. \n Defaults to 7.0
|
||||
`,
|
||||
},
|
||||
{
|
||||
name: "tp",
|
||||
type: 'string',
|
||||
defaultValue:'-2.0',
|
||||
inputUI: {
|
||||
type: 'text',
|
||||
},
|
||||
tooltip: `Desired \"tp\" value. \n Defaults to -2.0
|
||||
`,
|
||||
},
|
||||
{
|
||||
name: "offset",
|
||||
type: 'string',
|
||||
defaultValue:'0.0',
|
||||
inputUI: {
|
||||
type: 'text',
|
||||
},
|
||||
tooltip: `Desired "offset" value. \n Defaults to 0.0
|
||||
`,
|
||||
},
|
||||
],
|
||||
}
|
||||
}
|
||||
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
|
||||
//Must return this object at some point
|
||||
var response = {
|
||||
processFile: false,
|
||||
preset: '',
|
||||
container: '.mkv',
|
||||
handBrakeMode: false,
|
||||
FFmpegMode: true,
|
||||
reQueueAfter: true,
|
||||
infoLog: '',
|
||||
|
||||
}
|
||||
|
||||
response.infoLog += ""
|
||||
//grab the current file being processed and make an out file for the ffmpeg log
|
||||
let currentfilename = file._id;
|
||||
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())
|
||||
|
||||
//setup required varibles
|
||||
var loudNorm_i = -23.0
|
||||
var lra = 7.0
|
||||
var tp = -2.0
|
||||
var offset = 0.0
|
||||
|
||||
//create local varibles for inputs
|
||||
if (inputs !== undefined) {
|
||||
if (inputs.i !== undefined) loudNorm_i = inputs.i
|
||||
if (inputs.lra !== undefined) lra = inputs.lra
|
||||
if (inputs.tp !== undefined) tp = inputs.tp
|
||||
if (inputs.offset !== undefined) offset = inputs.offset
|
||||
}
|
||||
|
||||
|
||||
//check for previous pass tags
|
||||
|
||||
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")
|
||||
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}"`
|
||||
response.container = '.mkv'
|
||||
response.handBrakeMode = false
|
||||
response.FFmpegMode = true
|
||||
response.reQueueAfter = true;
|
||||
response.processFile = true
|
||||
response.infoLog += "Normalisation first pass processing \n"
|
||||
return response
|
||||
}
|
||||
if (probeData.format.tags.NORMALISATIONSTAGE === "FirstPassComplete") {
|
||||
|
||||
//ensure previous out file exists
|
||||
if (fs.existsSync(logOutFile)) {
|
||||
secondPass = true;
|
||||
loudNormInfo = fs.readFileSync(logOutFile).toString();
|
||||
|
||||
//grab the json from the out file
|
||||
var startIndex = loudNormInfo.lastIndexOf("{");
|
||||
var endIndex = loudNormInfo.lastIndexOf("}");
|
||||
|
||||
var outValues = loudNormInfo.toString().substr(startIndex, endIndex)
|
||||
|
||||
response.infoLog += "Loudnorm first pass values returned: \n" + 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"`
|
||||
response.container = '.mkv'
|
||||
response.handBrakeMode = false
|
||||
response.FFmpegMode = true
|
||||
response.reQueueAfter = true;
|
||||
response.processFile = true
|
||||
response.infoLog += "Normalisation pass processing \n"
|
||||
return response
|
||||
} else {
|
||||
response.infoLog += "Previous log output file is missing. Please rerun with force processing to regenerate."
|
||||
response.processFile = false;
|
||||
return response
|
||||
|
||||
}
|
||||
}
|
||||
if(probeData.format.tags.NORMALISATIONSTAGE === "Complete"){
|
||||
response.processFile = false;
|
||||
response.infoLog += "File is already marked as normalised \n"
|
||||
return response
|
||||
} else {
|
||||
//what is this tag?
|
||||
response.processFile = false;
|
||||
response.infoLog += "Unknown normalisation stage tag: \n" + probeData.format.tags.NORMALISATIONSTAGE
|
||||
return response
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
module.exports.onTranscodeSuccess = function onTranscodeSuccess(
|
||||
file,
|
||||
librarySettings,
|
||||
inputs
|
||||
) {
|
||||
|
||||
var response = {
|
||||
file,
|
||||
removeFromDB: false,
|
||||
updateDB: true,
|
||||
};
|
||||
if (secondPass) {
|
||||
response.infoLog += "Audio normalisation complete. \n"
|
||||
//remove old out file
|
||||
if (fs.existsSync(logOutFile)) {
|
||||
fs.unlinkSync(logOutFile);
|
||||
}
|
||||
return response;
|
||||
}
|
||||
else {
|
||||
response.infoLog += "Audio normalisation first pass complete. \n"
|
||||
return response;
|
||||
}
|
||||
};
|
||||
|
||||
module.exports.onTranscodeError = function onTranscodeError(
|
||||
file,
|
||||
librarySettings,
|
||||
inputs
|
||||
) {
|
||||
console.log("Failed to normalise audio");
|
||||
|
||||
//Optional response if you need to modify database
|
||||
var response = {
|
||||
file,
|
||||
removeFromDB: false,
|
||||
updateDB: false,
|
||||
};
|
||||
|
||||
return response;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
module.exports.details = details;
|
||||
module.exports.plugin = plugin;
|
||||
|
|
@ -1,60 +1,63 @@
|
|||
/* eslint-disable */
|
||||
var fs = require('fs');
|
||||
var path = require('path');
|
||||
const lib = require('../methods/library');
|
||||
if (fs.existsSync(path.join(process.cwd(), '/npm'))) {
|
||||
var rootModules = path.join(process.cwd(), '/npm/node_modules/')
|
||||
} else {
|
||||
var rootModules = ''
|
||||
}
|
||||
|
||||
const details = () => {
|
||||
return {
|
||||
id: "Tdarr_Plugin_O8O0dCTlb_Set_File_Permissions_For_UnRaid",
|
||||
Stage: 'Pre-processing',
|
||||
Name: "Set file permissions for UnRaid",
|
||||
Type: "Video",
|
||||
Operation: "Transcode",
|
||||
Description: "Sets file permissions using chown nobody:users to prevent lock from root. Use at end of stack. ",
|
||||
Version: "",
|
||||
Tags: "post-processing",
|
||||
Inputs:[],
|
||||
}
|
||||
}
|
||||
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
|
||||
//Must return this object at some point
|
||||
var response = {
|
||||
processFile: false,
|
||||
preset: '',
|
||||
container: '.mkv',
|
||||
handBrakeMode: false,
|
||||
FFmpegMode: true,
|
||||
reQueueAfter: true,
|
||||
infoLog: '',
|
||||
|
||||
}
|
||||
|
||||
response.infoLog += ""
|
||||
|
||||
if ((true) || file.forceProcessing === true) {
|
||||
|
||||
require("child_process").execSync(`chown nobody:users "${file._id}"`)
|
||||
response.preset = ''
|
||||
response.container = '.mkv'
|
||||
response.handBrakeMode = false
|
||||
response.FFmpegMode = true
|
||||
response.reQueueAfter = true;
|
||||
response.processFile = false
|
||||
response.infoLog += "File permissions set \n"
|
||||
return response
|
||||
}
|
||||
}
|
||||
|
||||
/* eslint-disable */
|
||||
var fs = require('fs');
|
||||
var path = require('path');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
if (fs.existsSync(path.join(process.cwd(), '/npm'))) {
|
||||
var rootModules = path.join(process.cwd(), '/npm/node_modules/')
|
||||
} else {
|
||||
var rootModules = ''
|
||||
}
|
||||
|
||||
const importFresh = require(rootModules + 'import-fresh');
|
||||
const library = importFresh('../methods/library.js')
|
||||
|
||||
const details = () => {
|
||||
return {
|
||||
id: "Tdarr_Plugin_O8O0dCTlb_Set_File_Permissions_For_UnRaid",
|
||||
Stage: 'Pre-processing',
|
||||
Name: "Set file permissions for UnRaid",
|
||||
Type: "Video",
|
||||
Operation: "Transcode",
|
||||
Description: "Sets file permissions using chown nobody:users to prevent lock from root. Use at end of stack. ",
|
||||
Version: "",
|
||||
Tags: "post-processing",
|
||||
Inputs:[],
|
||||
}
|
||||
}
|
||||
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
|
||||
//Must return this object at some point
|
||||
var response = {
|
||||
processFile: false,
|
||||
preset: '',
|
||||
container: '.mkv',
|
||||
handBrakeMode: false,
|
||||
FFmpegMode: true,
|
||||
reQueueAfter: true,
|
||||
infoLog: '',
|
||||
|
||||
}
|
||||
|
||||
response.infoLog += ""
|
||||
|
||||
if ((true) || file.forceProcessing === true) {
|
||||
|
||||
require("child_process").execSync(`chown nobody:users "${file._id}"`)
|
||||
response.preset = ''
|
||||
response.container = '.mkv'
|
||||
response.handBrakeMode = false
|
||||
response.FFmpegMode = true
|
||||
response.reQueueAfter = true;
|
||||
response.processFile = false
|
||||
response.infoLog += "File permissions set \n"
|
||||
return response
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module.exports.details = details;
|
||||
module.exports.plugin = plugin;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }] */
|
||||
// This is almost a line for line copy of Migz1FFMPEG
|
||||
// https://github.com/HaveAGitGat/Tdarr_Plugins/blob/master/Community/Tdarr_Plugin_MC93_Migz1FFMPEG.js
|
||||
|
|
@ -59,7 +59,7 @@ const details = () => ({
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
const response = {
|
||||
processFile: false,
|
||||
infoLog: '',
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable linebreak-style */
|
||||
module.exports.dependencies = [
|
||||
'request',
|
||||
|
|
@ -78,7 +78,7 @@ const details = () => ({
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
// eslint-disable-next-line global-require,import/no-unresolved,import/no-extraneous-dependencies
|
||||
const request = require('request');
|
||||
// Set up required variables.
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint max-classes-per-file: ["error", 2] */
|
||||
const details = () => ({
|
||||
id: 'Tdarr_Plugin_VP92_VP9_Match_Bitrate_One_Pass',
|
||||
|
|
@ -503,7 +503,7 @@ function buildSubtitleConfiguration(inputs, file, logger) {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
// Must return this object
|
||||
const response = {
|
||||
container: '.webm',
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -17,7 +17,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
//Must return this object
|
||||
|
||||
var response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -19,7 +19,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
|
||||
//Must return this object
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -19,7 +19,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
//Must return this object
|
||||
|
||||
var response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -68,7 +68,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
//Must return this object
|
||||
|
||||
var response = {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
// eslint-disable-next-line import/no-unresolved
|
||||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
|
||||
const details = () => ({
|
||||
id: 'Tdarr_Plugin_a9he_New_file_size_check',
|
||||
|
|
@ -38,7 +38,7 @@ const details = () => ({
|
|||
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
// Must return this object at some point in the function else plugin will fail.
|
||||
const response = {
|
||||
processFile: false,
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
// eslint-disable-next-line import/no-unresolved
|
||||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
|
||||
const details = () => ({
|
||||
id: 'Tdarr_Plugin_a9hf_New_file_duration_check',
|
||||
|
|
@ -39,7 +39,7 @@ const details = () => ({
|
|||
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
// Must return this object at some point in the function else plugin will fail.
|
||||
const response = {
|
||||
processFile: false,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -18,7 +18,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
//Must return this object
|
||||
|
||||
var response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
|
||||
const details = () => ({
|
||||
id: 'Tdarr_Plugin_b39x_the1poet_surround_sound_to_ac3',
|
||||
|
|
@ -32,7 +32,7 @@ const details = () => ({
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
// Must return this object
|
||||
|
||||
const response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -40,7 +40,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
var response = {
|
||||
processFile: false,
|
||||
preset: "",
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -17,7 +17,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
var transcode = 0; //if this var changes to 1 the file will be transcoded
|
||||
var bitrateprobe = 0; //bitrate from ffprobe
|
||||
var bitratetarget = 0;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -17,7 +17,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
var transcode = 0; //if this var changes to 1 the file will be transcoded
|
||||
//default values that will be returned
|
||||
var response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -60,7 +60,7 @@ const BAD = false;
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
var response = {
|
||||
processFile: false,
|
||||
preset: "",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/* eslint-disable */
|
||||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
const details = () => {
|
||||
return {
|
||||
id: "Tdarr_Plugin_drdd_standardise_all_in_one",
|
||||
|
|
@ -410,7 +410,7 @@ function buildVideoConfiguration(inputs, file, logger) {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
var response = {
|
||||
container: ".mkv",
|
||||
FFmpegMode: true,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -18,7 +18,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
//Must return this object
|
||||
|
||||
var response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -18,7 +18,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
//Must return this object
|
||||
|
||||
var response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -18,7 +18,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
//Must return this object
|
||||
|
||||
var response = {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
/* eslint-disable */
|
||||
const fs = require("fs");
|
||||
const execSync = require("child_process").execSync;
|
||||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -39,7 +39,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
//default response
|
||||
var response = {
|
||||
processFile: false,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
/* eslint-disable */
|
||||
const exec = require("child_process").exec;
|
||||
const fs = require("fs");
|
||||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -49,7 +49,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
if (inputs.languages == "" || typeof inputs.special == "undefined") {
|
||||
var languages = ["eng", "en"]; //these languages should be kept, named according to ISO 639-2 language scheme
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
/* eslint-disable */
|
||||
const fs = require("fs");
|
||||
const execSync = require("child_process").execSync;
|
||||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -39,7 +39,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
if (inputs.bitrate == "" || inputs.bitrate == "undefined") {
|
||||
var min_bitrate = 6600;
|
||||
var avg_rate = 3000;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -17,7 +17,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
//Must return this object
|
||||
|
||||
var response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
|
||||
const details = () => ({
|
||||
id: 'Tdarr_Plugin_henk_Add_Specific_Audio_Codec',
|
||||
|
|
@ -71,7 +71,7 @@ const details = () => ({
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
const response = {
|
||||
processFile: false,
|
||||
preset: ', -c copy -map 0:v ',
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable no-await-in-loop */
|
||||
module.exports.dependencies = ['axios', '@cospired/i18n-iso-languages', 'path'];
|
||||
const details = () => ({
|
||||
|
|
@ -225,7 +225,7 @@ const parseArrResponse = async (body, filePath, arr) => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = async (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
// eslint-disable-next-line global-require,import/no-unresolved
|
||||
const axios = require('axios').default;
|
||||
response.container = `.${file.container}`;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -18,7 +18,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
//Must return this object
|
||||
|
||||
var response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -18,7 +18,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
//Must return this object
|
||||
|
||||
var response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
|
||||
const details = () => ({
|
||||
id: 'Tdarr_Plugin_jeons001_Downmix_to_stereo_and_apply_DRC',
|
||||
|
|
@ -16,7 +16,7 @@ const details = () => ({
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
const response = {
|
||||
processFile: false,
|
||||
preset: '',
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -17,7 +17,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
//Must return this object
|
||||
|
||||
var response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -18,7 +18,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
//Must return this object
|
||||
|
||||
var response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -17,7 +17,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
var transcode = 0; //if this var changes to 1 the file will be transcoded
|
||||
|
||||
//default values that will be returned
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -17,7 +17,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
var transcode = 0; //if this var changes to 1 the file will be transcoded
|
||||
|
||||
//default values that will be returned
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
const fs = require('fs');
|
||||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
|
||||
const details = () => ({
|
||||
id: 'Tdarr_Plugin_rr01_drpeppershaker_extract_subs_to_SRT',
|
||||
|
|
@ -40,7 +40,7 @@ const details = () => ({
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
// Must return this object at some point in the function else plugin will fail.
|
||||
const response = {
|
||||
processFile: true,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -18,7 +18,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
//Must return this object
|
||||
|
||||
var response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -18,7 +18,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
//Must return this object
|
||||
|
||||
var response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -18,7 +18,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
//Must return this object
|
||||
|
||||
var response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -18,7 +18,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
//Must return this object
|
||||
|
||||
var response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -17,7 +17,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
//Must return this object
|
||||
|
||||
var response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -18,7 +18,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
//Must return this object
|
||||
|
||||
var response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -17,7 +17,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
//Must return this object
|
||||
|
||||
var response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
|
||||
const details = () => ({
|
||||
id: 'Tdarr_Plugin_vdka_Tiered_CPU_CRF_Based_Configurable',
|
||||
|
|
@ -18,7 +18,7 @@ const details = () => ({
|
|||
{
|
||||
name: 'sdCRF',
|
||||
type: 'string',
|
||||
defaultValue: '20',
|
||||
defaultValue: '19',
|
||||
inputUI: {
|
||||
type: 'text',
|
||||
},
|
||||
|
|
@ -31,7 +31,7 @@ const details = () => ({
|
|||
{
|
||||
name: 'hdCRF',
|
||||
type: 'string',
|
||||
defaultValue: '22',
|
||||
defaultValue: '21',
|
||||
inputUI: {
|
||||
type: 'text',
|
||||
},
|
||||
|
|
@ -44,7 +44,7 @@ const details = () => ({
|
|||
{
|
||||
name: 'fullhdCRF',
|
||||
type: 'string',
|
||||
defaultValue: '24',
|
||||
defaultValue: '23',
|
||||
inputUI: {
|
||||
type: 'text',
|
||||
},
|
||||
|
|
@ -57,7 +57,7 @@ const details = () => ({
|
|||
{
|
||||
name: 'uhdCRF',
|
||||
type: 'string',
|
||||
defaultValue: '28',
|
||||
defaultValue: '26',
|
||||
inputUI: {
|
||||
type: 'text',
|
||||
},
|
||||
|
|
@ -130,7 +130,7 @@ const details = () => ({
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
let crf;
|
||||
// default values that will be returned
|
||||
const response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -107,7 +107,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
var transcode = 0 //if this var changes to 1 the file will be transcoded
|
||||
var subcli = `-c:s copy`
|
||||
var maxmux = ''
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
const details = () => {
|
||||
return {
|
||||
|
|
@ -17,7 +17,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
//Must return this object
|
||||
|
||||
var response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
|
||||
const details = () => ({
|
||||
id: 'Tdarr_Plugin_x7ac_Remove_Closed_Captions',
|
||||
|
|
@ -16,7 +16,7 @@ const details = () => ({
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
const response = {
|
||||
processFile: false,
|
||||
// eslint-disable-next-line no-useless-escape
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
|
||||
const details = () => ({
|
||||
id: 'Tdarr_Plugin_z0ab_TheRealShadoh_FFmpeg_Subs_H264_Medium',
|
||||
|
|
@ -18,7 +18,7 @@ const details = () => ({
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
// Must return this object
|
||||
|
||||
const response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
/* eslint-disable */
|
||||
|
||||
const details = () => {
|
||||
|
|
@ -18,7 +18,7 @@ const details = () => {
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
try {
|
||||
var fs = require("fs");
|
||||
var fileNameOld = file._id;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
|
||||
const details = () => ({
|
||||
id: 'Tdarr_Plugin_z18t_rename_files_based_on_codec_and_resolution',
|
||||
|
|
@ -15,7 +15,7 @@ const details = () => ({
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
try {
|
||||
// eslint-disable-next-line global-require
|
||||
const fs = require('fs');
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
|
||||
const details = () => ({
|
||||
id: 'Tdarr_Plugin_z1ab_TheRealShadoh_FFmpeg_Subs_H264_Fast',
|
||||
|
|
@ -18,7 +18,7 @@ const details = () => ({
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
// Must return this object
|
||||
|
||||
const response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
|
||||
const details = () => ({
|
||||
id: 'Tdarr_Plugin_z2ab_TheRealShadoh_FFmpeg_Subs_H264_Slow',
|
||||
|
|
@ -18,7 +18,7 @@ const details = () => ({
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
// Must return this object
|
||||
|
||||
const response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
|
||||
const details = () => ({
|
||||
id: 'Tdarr_Plugin_z3ab_TheRealShadoh_FFmpeg_Subs_H264_VeryFast',
|
||||
|
|
@ -20,7 +20,7 @@ const details = () => ({
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
// Must return this object
|
||||
|
||||
const response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
|
||||
module.exports.dependencies = [
|
||||
'axios',
|
||||
|
|
@ -67,7 +67,7 @@ const details = () => ({
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = async (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
// eslint-disable-next-line global-require,import/no-unresolved
|
||||
const axios = require('axios');
|
||||
// eslint-disable-next-line global-require,import/no-unresolved
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
const lib = require('../methods/library');
|
||||
// eslint-disable-next-line import/no-unresolved
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
|
||||
const details = () => ({
|
||||
id: 'Tdarr_Plugin_a9he_New_file_size_check',
|
||||
|
|
@ -14,7 +15,7 @@ const details = () => ({
|
|||
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
// Must return this object at some point in the function else plugin will fail.
|
||||
const response = {
|
||||
processFile: false,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
const lib = require('../methods/library');
|
||||
// eslint-disable-next-line import/no-unresolved
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
|
||||
const details = () => ({
|
||||
id: 'Tdarr_Plugin_f001_Filter_Example',
|
||||
|
|
@ -15,7 +16,7 @@ const details = () => ({
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
// Must return this object at some point in the function else plugin will fail.
|
||||
|
||||
const response = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
const lib = require('../methods/library');
|
||||
// eslint-disable-next-line import/no-unresolved
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
|
||||
const details = () => ({
|
||||
id: 'Tdarr_Plugin_f002_Filter_Example',
|
||||
|
|
@ -15,7 +16,7 @@ const details = () => ({
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
const response = {
|
||||
processFile: true,
|
||||
infoLog: '',
|
||||
|
|
|
|||
|
|
@ -5,7 +5,8 @@
|
|||
/* eslint import/no-extraneous-dependencies: 0 */ // --> OFF
|
||||
/* eslint no-console: 0 */ // --> OFF
|
||||
|
||||
const lib = require('../methods/library');
|
||||
// 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:
|
||||
module.exports.dependencies = [
|
||||
|
|
@ -60,7 +61,7 @@ const details = () => ({
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
|
||||
// Only 'require' dependencies within this function or other functions. Do not require in the top scope.
|
||||
const importFresh = require('import-fresh');
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
/* eslint import/no-extraneous-dependencies: 0 */ // --> OFF
|
||||
/* eslint no-console: 0 */ // --> OFF
|
||||
|
||||
const lib = require('../methods/library');
|
||||
const loadDefaultValues = require('../methods/loadDefaultValues');
|
||||
// List any npm dependencies which the plugin needs, they will be auto installed when the plugin runs:
|
||||
module.exports.dependencies = [
|
||||
'import-fresh',
|
||||
|
|
@ -72,7 +72,7 @@ const details = () => ({
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const plugin = (file, librarySettings, inputs, otherArguments) => {
|
||||
// eslint-disable-next-line no-unused-vars,no-param-reassign
|
||||
inputs = lib.loadDefaultValues(inputs, details);
|
||||
inputs = loadDefaultValues(inputs, details);
|
||||
// Only 'require' dependencies within this function or other functions. Do not require in the top scope.
|
||||
const importFresh = require('import-fresh');
|
||||
|
||||
|
|
|
|||
|
|
@ -10,4 +10,3 @@ const importFresh = require(rootModules + "import-fresh");
|
|||
|
||||
module.exports.filters = importFresh("./filters.js");
|
||||
module.exports.actions = importFresh("./actions.js");
|
||||
module.exports.loadDefaultValues = importFresh("./loadDefaultValues.js");
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ folders.forEach((folder) => {
|
|||
for (let i = 0; i < files.length; i += 1) {
|
||||
let read = fs.readFileSync(`${folder}/${files[i]}`).toString();
|
||||
|
||||
const importDefaultValues = 'const lib = require(\'../methods/library\');';
|
||||
const importDefaultValues = 'const loadDefaultValues = require(\'../methods/loadDefaultValues\');';
|
||||
if (!read.includes(importDefaultValues)) {
|
||||
console.log(`Plugin error: '${folder}/${files[i]}' does not contain ${importDefaultValues}`);
|
||||
read = `${importDefaultValues}\n${read}`;
|
||||
|
|
@ -50,7 +50,7 @@ folders.forEach((folder) => {
|
|||
process.exit(1);
|
||||
}
|
||||
|
||||
const inputsText = 'inputs = lib.loadDefaultValues(inputs, details);';
|
||||
const inputsText = 'inputs = loadDefaultValues(inputs, details);';
|
||||
if (!read.includes(inputsText)
|
||||
) {
|
||||
console.log(`Plugin error: '${folder}/${files[i]}' does not contain ${inputsText}`);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue