From 1f29933dd597284a12e3371a31323c23c0aa16bc Mon Sep 17 00:00:00 2001 From: HaveAGitGat <43864057+HaveAGitGat@users.noreply.github.com> Date: Wed, 11 Dec 2019 19:33:48 +0000 Subject: [PATCH 01/13] Help text change --- imports/ui/libraries/tab_Libraries_Folder.jsx | 2 +- package-lock.json | 5 +++++ package.json | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/imports/ui/libraries/tab_Libraries_Folder.jsx b/imports/ui/libraries/tab_Libraries_Folder.jsx index 995a2871..1304007f 100644 --- a/imports/ui/libraries/tab_Libraries_Folder.jsx +++ b/imports/ui/libraries/tab_Libraries_Folder.jsx @@ -1609,7 +1609,7 @@ SettingsDB.insert(thisLibrary)

- See the 'Plugins' tab guide for how the plugin stack works and for creating plugins.It is best practice to put video transcode plugins at the top of your stack (below re-order streams if that's enabled). + See the 'Plugins' tab guide for how the plugin stack works and for creating plugins.It is best practice to put video transcode plugins at the top of your stack.

diff --git a/package-lock.json b/package-lock.json index da29be5f..fa4115a8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -464,6 +464,11 @@ "uri-js": "^4.2.2" } }, + "all": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/all/-/all-0.0.0.tgz", + "integrity": "sha1-+yqnXUdZ1A457LsRj6vwzBH/VU8=" + }, "ansi-escapes": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.2.1.tgz", diff --git a/package.json b/package.json index e35e2953..70e07206 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "@ffmpeg-installer/ffmpeg": "^1.0.20", "@material-ui/core": "^4.6.0", "@trendmicro/react-sidenav": "^0.4.5", + "all": "0.0.0", "babel-eslint": "^10.0.3", "bootstrap": "^4.3.1", "child_process": "^1.0.2", From 155b2d31441782a4dc1c5c150fee2935993ccda4 Mon Sep 17 00:00:00 2001 From: HaveAGitGat <43864057+HaveAGitGat@users.noreply.github.com> Date: Sat, 14 Dec 2019 01:29:49 +0000 Subject: [PATCH 02/13] Fix "Too many packets buffered for output stream" when thorough health checking --- server/main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/main.js b/server/main.js index d423970c..dcde7be1 100644 --- a/server/main.js +++ b/server/main.js @@ -2511,7 +2511,7 @@ function launchWorkerModule(workerType) { handBrakeMode = false FFmpegMode = true - preset = "-v error, -f null" + preset = "-v error, -f null -max_muxing_queue_size 9999" } From bfaeb781fc2ad964c3768fd7fb3e390f22ec4bce Mon Sep 17 00:00:00 2001 From: HaveAGitGat <43864057+HaveAGitGat@users.noreply.github.com> Date: Sat, 14 Dec 2019 01:39:55 +0000 Subject: [PATCH 03/13] Fix default plugin priority --- imports/ui/libraries/tab_Libraries.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/imports/ui/libraries/tab_Libraries.jsx b/imports/ui/libraries/tab_Libraries.jsx index 2991a019..fe746d10 100644 --- a/imports/ui/libraries/tab_Libraries.jsx +++ b/imports/ui/libraries/tab_Libraries.jsx @@ -85,6 +85,7 @@ class App extends Component { _id:"Tdarr_Plugin_lmg1_Reorder_Streams", checked:true, source:"Community", + priority:0, }], pluginValid:false, pluginCommunity:true, From 9ac51b97ee5033b9c5d177001cb51b3f9967c172 Mon Sep 17 00:00:00 2001 From: HaveAGitGat <43864057+HaveAGitGat@users.noreply.github.com> Date: Sat, 14 Dec 2019 01:51:23 +0000 Subject: [PATCH 04/13] Fix mjpeg video incorrectly being tagged as audio --- private/fileScanner.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/private/fileScanner.js b/private/fileScanner.js index 9b9bda89..8a516656 100644 --- a/private/fileScanner.js +++ b/private/fileScanner.js @@ -741,10 +741,9 @@ function ffprobeLaunch(filesToScan) { } - //if (!!("video_codec_name" in thisFileObject)) { - if (jsonString.includes('"codec_type":"video"') && !jsonString.includes('"codec_name":"mjpeg"') ) { + if (jsonString.includes('"codec_type":"video"') && thisFileObject.meta.MIMEType.includes('video')) { updateConsole(scannerID, `Tagging video res:${filepath}`) From 4b92f559c4429ee179616a4511a31607c821b5ad Mon Sep 17 00:00:00 2001 From: HaveAGitGat <43864057+HaveAGitGat@users.noreply.github.com> Date: Sat, 14 Dec 2019 01:51:52 +0000 Subject: [PATCH 05/13] Fix audio file codec not showing in search results --- imports/ui/searchResults.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/imports/ui/searchResults.jsx b/imports/ui/searchResults.jsx index ece89ec9..2e2b0302 100644 --- a/imports/ui/searchResults.jsx +++ b/imports/ui/searchResults.jsx @@ -204,7 +204,7 @@ return null

Codec

), - accessor: 'video_codec_name', + accessor: 'ffProbeData.streams[0].codec_name', width: getColumnWidth(data, 'video_codec_name', 'Codec'), getProps: (state, rowInfo, column) => { return { From dd135ed1f8ecc74f73bd748ff61a5ecb539ccf44 Mon Sep 17 00:00:00 2001 From: HaveAGitGat <43864057+HaveAGitGat@users.noreply.github.com> Date: Sat, 14 Dec 2019 02:07:16 +0000 Subject: [PATCH 06/13] Add options to sort queue by date file created/modified --- imports/ui/transcoding/tab_Transcoding.jsx | 24 ++++++++++----- server/main.js | 34 +++++++++++++++++++++- 2 files changed, 50 insertions(+), 8 deletions(-) diff --git a/imports/ui/transcoding/tab_Transcoding.jsx b/imports/ui/transcoding/tab_Transcoding.jsx index 9d8f1716..b9085163 100644 --- a/imports/ui/transcoding/tab_Transcoding.jsx +++ b/imports/ui/transcoding/tab_Transcoding.jsx @@ -948,17 +948,27 @@ class App extends Component { -

Sort queue by:

-

Oldest: +

Sort queue by:

+

Oldest (Scanned): {this.renderSortBox('sortDateOldest')} - Newest: + Newest (Scanned): {this.renderSortBox('sortDateNewest')} - - Smallest: + + Oldest (Created): +{this.renderSortBox('sortDateFileCreatedOldest')} + Newest (Created): +{this.renderSortBox('sortDateFileCreatedNewest')} + + Oldest (Modified): +{this.renderSortBox('sortDateFileModifiedOldest')} + Newest (Modified): +{this.renderSortBox('sortDateFileModifiedNewest')} + + Smallest: {this.renderSortBox('sortSizeSmallest')} - Largest: + Largest: {this.renderSortBox('sortSizeLargest')} -

+

Library alternation: {this.renderCheckBox('alternateLibraries')}

diff --git a/server/main.js b/server/main.js index dcde7be1..5aeda833 100644 --- a/server/main.js +++ b/server/main.js @@ -3704,7 +3704,39 @@ function tablesUpdate() { return new Date(b.createdAt) - new Date(a.createdAt); }); - } else if (globalSettings[0].queueSortType == "sortSizeSmallest") { + }else if (globalSettings[0].queueSortType == "sortDateFileCreatedOldest") { + + + allFilesPulledTable = allFilesPulledTable.sort(function (a, b) { + return new Date(a.statSync.ctime) - new Date(b.statSync.ctime); + }); + + + }else if (globalSettings[0].queueSortType == "sortDateFileCreatedNewest") { + + + allFilesPulledTable = allFilesPulledTable.sort(function (a, b) { + return new Date(b.statSync.ctime) - new Date(a.statSync.ctime); + }); + + } + + else if (globalSettings[0].queueSortType == "sortDateFileModifiedOldest") { + + + allFilesPulledTable = allFilesPulledTable.sort(function (a, b) { + return new Date(a.statSync.mtime) - new Date(b.statSync.mtime); + }); + + + }else if (globalSettings[0].queueSortType == "sortDateFileModifiedNewest") { + + + allFilesPulledTable = allFilesPulledTable.sort(function (a, b) { + return new Date(b.statSync.mtime) - new Date(a.statSync.mtime); + }); + + }else if (globalSettings[0].queueSortType == "sortSizeSmallest") { From d8ff5aa07cd564070b9706dcfa86667b3bf54e9b Mon Sep 17 00:00:00 2001 From: HaveAGitGat <43864057+HaveAGitGat@users.noreply.github.com> Date: Sat, 14 Dec 2019 02:23:59 +0000 Subject: [PATCH 07/13] Option for including files older than specified time --- .../pluginTemplates/Filter/FilterByAge.jsx | 36 +++++++++++++++---- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/imports/ui/plugins/pluginTemplates/Filter/FilterByAge.jsx b/imports/ui/plugins/pluginTemplates/Filter/FilterByAge.jsx index a506a876..1784f4cd 100644 --- a/imports/ui/plugins/pluginTemplates/Filter/FilterByAge.jsx +++ b/imports/ui/plugins/pluginTemplates/Filter/FilterByAge.jsx @@ -1,5 +1,6 @@ import React, { Component } from 'react'; import { Button } from 'react-bootstrap'; +import Checkbox from '@material-ui/core/Checkbox'; import ReactDOM from 'react-dom'; @@ -18,6 +19,7 @@ export default class App extends Component { super(props); this.state = { + excludeSwitch:true, }; @@ -45,18 +47,24 @@ export default class App extends Component { var totalSeconds = (h * 3600) + (m * 60) + (s) + if(this.state.excludeSwitch === true){ - var obj = { - name: 'Filter by age', - filter: `library.filters.filterByAge(file,${totalSeconds})`, - description: `Files older than the following will be excluded from processing: ${string}` - } + var mode = 'exclude' - this.props.pushConditional(obj) + }else{ + var mode = 'include' + + } + var obj = { + name: 'Filter by age', + filter: `library.filters.filterByAge(file,${totalSeconds},'${mode}')`, + description: `Files older than the following will be ${mode}d from processing: ${string}` + } + this.props.pushConditional(obj) } @@ -76,7 +84,21 @@ export default class App extends Component { -

Exclude files older than

+

Exclude { + +this.setState({ + excludeSwitch: !this.state.excludeSwitch, +}) + + +}} />/ Include { + +this.setState({ + excludeSwitch: !this.state.excludeSwitch, +}) + + +}} /> files older than


From 73b6c158c9dd51dcfaefc8c8313496ba62975faf Mon Sep 17 00:00:00 2001 From: HaveAGitGat <43864057+HaveAGitGat@users.noreply.github.com> Date: Sat, 14 Dec 2019 02:36:55 +0000 Subject: [PATCH 08/13] Option to specify date modified or date created in plugin creator --- .../pluginTemplates/Filter/FilterByAge.jsx | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/imports/ui/plugins/pluginTemplates/Filter/FilterByAge.jsx b/imports/ui/plugins/pluginTemplates/Filter/FilterByAge.jsx index 1784f4cd..dc9afe8d 100644 --- a/imports/ui/plugins/pluginTemplates/Filter/FilterByAge.jsx +++ b/imports/ui/plugins/pluginTemplates/Filter/FilterByAge.jsx @@ -20,6 +20,7 @@ export default class App extends Component { this.state = { excludeSwitch:true, + dateType:'dateCreated' }; @@ -60,7 +61,7 @@ export default class App extends Component { var obj = { name: 'Filter by age', - filter: `library.filters.filterByAge(file,${totalSeconds},'${mode}')`, + filter: `library.filters.filterByAge(file,${totalSeconds},'${mode}','${this.state.dateType}')`, description: `Files older than the following will be ${mode}d from processing: ${string}` } @@ -83,6 +84,24 @@ export default class App extends Component {
+

Date created { + +this.setState({ + dateType:'dateCreated' +}) + + +}} />/ Date modified { + +this.setState({ + dateType:'dateModified', +}) + + +}} />

+ +
+

Exclude { From 3f77837685d888384ca0cc7a50eea618423f6210 Mon Sep 17 00:00:00 2001 From: HaveAGitGat <43864057+HaveAGitGat@users.noreply.github.com> Date: Sat, 14 Dec 2019 02:48:59 +0000 Subject: [PATCH 09/13] Replace default folder path text with placeholder --- imports/ui/libraries/tab_Libraries.jsx | 6 +++--- imports/ui/libraries/tab_Libraries_Folder.jsx | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/imports/ui/libraries/tab_Libraries.jsx b/imports/ui/libraries/tab_Libraries.jsx index fe746d10..7dc58a79 100644 --- a/imports/ui/libraries/tab_Libraries.jsx +++ b/imports/ui/libraries/tab_Libraries.jsx @@ -60,12 +60,12 @@ class App extends Component { SettingsDB.insert({ name:"Library Name", priority:count, - folder:"Path to your media files. Input a base folder and the folder browser below will show subfolders to navigate.", + folder:"", folderValid:true, foldersToIgnore:"", - cache:"Path to your transcode cache. Input a base folder and the folder browser below will show subfolders to navigate.", + cache:"", cacheValid:true, - output:"Path to your output folder. Input a base folder and the folder browser below will show subfolders to navigate.", + output:"", outputValid:true, folderToFolderConversion:false, folderToFolderConversionDeleteSource:false, diff --git a/imports/ui/libraries/tab_Libraries_Folder.jsx b/imports/ui/libraries/tab_Libraries_Folder.jsx index 1304007f..0ce83094 100644 --- a/imports/ui/libraries/tab_Libraries_Folder.jsx +++ b/imports/ui/libraries/tab_Libraries_Folder.jsx @@ -1150,6 +1150,7 @@ SettingsDB.insert(thisLibrary) ref={this.props.libraryItem._id + 'f'} name="folder" defaultValue={this.props.libraryItem.folder} + placeholder='Path to your media files. Input a base folder and the folder browser below will show subfolders to navigate.' onChange={this.handleChange} > @@ -1216,6 +1217,7 @@ SettingsDB.insert(thisLibrary) ref={this.props.libraryItem._id + 'c'} name="cache" defaultValue={this.props.libraryItem.cache} + placeholder='Path to your transcode cache. Input a base folder and the folder browser below will show subfolders to navigate.' onChange={this.handleChange} > @@ -1361,6 +1363,7 @@ SettingsDB.insert(thisLibrary) ref={this.props.libraryItem._id + 'o'} name="output" defaultValue={this.props.libraryItem.output} + placeholder='Path to your output folder. Input a base folder and the folder browser below will show subfolders to navigate.' onChange={this.handleChange} > From 1b346a7d868aa297478db2cc24af5947e1ecc2c9 Mon Sep 17 00:00:00 2001 From: HaveAGitGat <43864057+HaveAGitGat@users.noreply.github.com> Date: Sat, 18 Jan 2020 15:30:10 +0000 Subject: [PATCH 10/13] Sort comments --- server/main.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/server/main.js b/server/main.js index 5aeda833..f328a0b6 100644 --- a/server/main.js +++ b/server/main.js @@ -3688,6 +3688,9 @@ function tablesUpdate() { //sort queues based on user preference var globalSettings = GlobalSettingsDB.find({}, {}).fetch() + + //Sort by date scanned (date createdAt in Tdarr db) + if (globalSettings[0].queueSortType == "sortDateOldest") { @@ -3704,6 +3707,8 @@ function tablesUpdate() { return new Date(b.createdAt) - new Date(a.createdAt); }); + //Sort by date created + }else if (globalSettings[0].queueSortType == "sortDateFileCreatedOldest") { @@ -3721,6 +3726,8 @@ function tablesUpdate() { } + //Sort by date modified + else if (globalSettings[0].queueSortType == "sortDateFileModifiedOldest") { From 30de40385eb8e043c645b6553f9dc68de1aa0322 Mon Sep 17 00:00:00 2001 From: HaveAGitGat <43864057+HaveAGitGat@users.noreply.github.com> Date: Sat, 18 Jan 2020 15:30:26 +0000 Subject: [PATCH 11/13] Tidy --- .../pluginTemplates/Filter/FilterByAge.jsx | 50 +++++++++---------- imports/ui/searchResults.jsx | 2 +- 2 files changed, 25 insertions(+), 27 deletions(-) diff --git a/imports/ui/plugins/pluginTemplates/Filter/FilterByAge.jsx b/imports/ui/plugins/pluginTemplates/Filter/FilterByAge.jsx index dc9afe8d..21bbd62f 100644 --- a/imports/ui/plugins/pluginTemplates/Filter/FilterByAge.jsx +++ b/imports/ui/plugins/pluginTemplates/Filter/FilterByAge.jsx @@ -19,8 +19,8 @@ export default class App extends Component { super(props); this.state = { - excludeSwitch:true, - dateType:'dateCreated' + excludeSwitch: true, + dateType: 'dateCreated' }; @@ -48,11 +48,11 @@ export default class App extends Component { var totalSeconds = (h * 3600) + (m * 60) + (s) - if(this.state.excludeSwitch === true){ + if (this.state.excludeSwitch === true) { var mode = 'exclude' - }else{ + } else { var mode = 'include' @@ -86,41 +86,41 @@ export default class App extends Component {

Date created { -this.setState({ - dateType:'dateCreated' -}) + this.setState({ + dateType: 'dateCreated' + }) -}} />/ Date modified { + }} />/ Date modified { -this.setState({ - dateType:'dateModified', -}) + this.setState({ + dateType: 'dateModified', + }) -}} />

+ }} />

-
+
-

Exclude { +

Exclude { -this.setState({ - excludeSwitch: !this.state.excludeSwitch, -}) + this.setState({ + excludeSwitch: !this.state.excludeSwitch, + }) -}} />/ Include { + }} />/ Include { -this.setState({ - excludeSwitch: !this.state.excludeSwitch, -}) + this.setState({ + excludeSwitch: !this.state.excludeSwitch, + }) -}} /> files older than

+ }} /> files older than


-

+

H{'\u00A0'}{'\u00A0'} @@ -131,7 +131,7 @@ this.setState({

- +
@@ -145,8 +145,6 @@ this.setState({

- - ); diff --git a/imports/ui/searchResults.jsx b/imports/ui/searchResults.jsx index 2e2b0302..25adc297 100644 --- a/imports/ui/searchResults.jsx +++ b/imports/ui/searchResults.jsx @@ -600,7 +600,7 @@ renderBumpButton(file) { renderRedoButton(file, mode) { - + var obj = { [mode]: "Queued", processingStatus: false, From ae430abddc8c61e0ac6493d85e3e0fdadc3c9ae2 Mon Sep 17 00:00:00 2001 From: HaveAGitGat <43864057+HaveAGitGat@users.noreply.github.com> Date: Sat, 18 Jan 2020 15:30:45 +0000 Subject: [PATCH 12/13] Re-word file filter --- imports/ui/libraries/tab_Libraries_Folder.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/imports/ui/libraries/tab_Libraries_Folder.jsx b/imports/ui/libraries/tab_Libraries_Folder.jsx index 0ce83094..2dc253d5 100644 --- a/imports/ui/libraries/tab_Libraries_Folder.jsx +++ b/imports/ui/libraries/tab_Libraries_Folder.jsx @@ -1189,7 +1189,7 @@ SettingsDB.insert(thisLibrary)
-

Sub-folders to ignore (e.g.: .grab,.index,User/AppData):

+

File paths containing the following will be ignored (e.g.: .grab,.index,User/AppData,-trailer,.mp4):

Date: Sat, 18 Jan 2020 15:31:06 +0000 Subject: [PATCH 13/13] 1.102 release notes --- imports/ui/App.jsx | 13 ++++++++++++- imports/ui/tab_Dev.jsx | 20 +++++++++++++++++++- 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/imports/ui/App.jsx b/imports/ui/App.jsx index 59744f5d..36fb748d 100644 --- a/imports/ui/App.jsx +++ b/imports/ui/App.jsx @@ -50,7 +50,7 @@ const AppRouter = () => { var version = GlobalSettingsDB.find({}).fetch()[0].version; - var newVersion = 1.101 + var newVersion = 1.102 setVersion(newVersion) @@ -58,6 +58,17 @@ const AppRouter = () => { alert(` + Beta v1.102 release [18th Jan 2020]: + Changes: + -[New] Plugin creator option (Filter by age) - select 'Date created' or 'Date modified' + -[New] Plugin creator option (Filter by age) - include files OLDER than specified time + -[New] Options to sort queue by date (Scanned, Created, Modified) + -[Fix] Audio file codec not showing in search results + -[Fix] MJPEG video incorrectly tagged as audio file + -[Fix] Default plugin priority + -[Fix] 'Too many packets buffered for output stream' when health checking + -[Fix] Folder path placeholder text + Beta v1.101 release [06 Dec 19]: Changes: -[New] Force processing of files diff --git a/imports/ui/tab_Dev.jsx b/imports/ui/tab_Dev.jsx index 5e05e47d..3bb3dbb8 100644 --- a/imports/ui/tab_Dev.jsx +++ b/imports/ui/tab_Dev.jsx @@ -120,7 +120,25 @@ export default class App extends Component {

Change log

-

Beta v1.101 release [06 Dec 19]: +

Beta v1.102 release [18th Jan 2020]: + +
Changes: + +
-[New] Plugin creator option (Filter by age) - select 'Date created' or 'Date modified' +
-[New] Plugin creator option (Filter by age) - include files OLDER than specified time +
-[New] Options to sort queue by date (Scanned, Created, Modified) +
-[Fix] Audio file codec not showing in search results +
-[Fix] MJPEG video incorrectly tagged as audio file +
-[Fix] Default plugin priority +
-[Fix] 'Too many packets buffered for output stream' when health checking +
-[Fix] Folder path placeholder text + +
+
+ +

+ +

Beta v1.101 release [6th Dec 19]:
Changes: