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/libraries/tab_Libraries.jsx b/imports/ui/libraries/tab_Libraries.jsx index 2991a019..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, @@ -85,6 +85,7 @@ class App extends Component { _id:"Tdarr_Plugin_lmg1_Reorder_Streams", checked:true, source:"Community", + priority:0, }], pluginValid:false, pluginCommunity:true, diff --git a/imports/ui/libraries/tab_Libraries_Folder.jsx b/imports/ui/libraries/tab_Libraries_Folder.jsx index 995a2871..2dc253d5 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} > @@ -1188,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):
@@ -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} > @@ -1609,7 +1612,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.
Date created
Exclude Exclude files older than
+
H{'\u00A0'}{'\u00A0'} @@ -90,7 +131,7 @@ export default class App extends Component {
Codec
), - accessor: 'video_codec_name', + accessor: 'ffProbeData.streams[0].codec_name', width: getColumnWidth(data, 'video_codec_name', 'Codec'), getProps: (state, rowInfo, column) => { return { @@ -600,7 +600,7 @@ renderBumpButton(file) { renderRedoButton(file, mode) { - + var obj = { [mode]: "Queued", processingStatus: false, 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:
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/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", 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}`) diff --git a/server/main.js b/server/main.js index d423970c..f328a0b6 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" } @@ -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,7 +3707,43 @@ function tablesUpdate() { return new Date(b.createdAt) - new Date(a.createdAt); }); - } else if (globalSettings[0].queueSortType == "sortSizeSmallest") { + //Sort by date created + + }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); + }); + + } + + //Sort by date modified + + 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") {