From affabd3720ab5b230bb5f47fd313fe8d90a4283e Mon Sep 17 00:00:00 2001 From: mboehmlaender Date: Mon, 16 Mar 2026 12:00:09 +0000 Subject: [PATCH] 0.10.2-12 Track List --- backend/package-lock.json | 4 ++-- backend/package.json | 2 +- backend/src/services/pipelineService.js | 20 ++++++++++++++++++++ frontend/package-lock.json | 4 ++-- frontend/package.json | 2 +- package-lock.json | 4 ++-- package.json | 2 +- 7 files changed, 29 insertions(+), 9 deletions(-) diff --git a/backend/package-lock.json b/backend/package-lock.json index 6a6afea..d27da25 100644 --- a/backend/package-lock.json +++ b/backend/package-lock.json @@ -1,12 +1,12 @@ { "name": "ripster-backend", - "version": "0.10.2-11", + "version": "0.10.2-12", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "ripster-backend", - "version": "0.10.2-11", + "version": "0.10.2-12", "dependencies": { "archiver": "^7.0.1", "cors": "^2.8.5", diff --git a/backend/package.json b/backend/package.json index 4425f92..8e5240d 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,6 +1,6 @@ { "name": "ripster-backend", - "version": "0.10.2-11", + "version": "0.10.2-12", "private": true, "type": "commonjs", "scripts": { diff --git a/backend/src/services/pipelineService.js b/backend/src/services/pipelineService.js index c9d27c3..5514061 100644 --- a/backend/src/services/pipelineService.js +++ b/backend/src/services/pipelineService.js @@ -1934,6 +1934,26 @@ function filterDtsCoreFallbackTracks(audioTracks) { }); } +function parseHandBrakeTitleList(scanJson) { + const titleList = pickScanTitleList(scanJson); + if (!Array.isArray(titleList) || titleList.length === 0) { + return []; + } + return titleList.map((title, idx) => { + const handBrakeTitleId = normalizeScanTrackId( + title?.Index ?? title?.index ?? title?.Title ?? title?.title, + idx + ); + const durationSeconds = parseHandBrakeDurationSeconds( + title?.Duration ?? title?.duration ?? title?.Length ?? title?.length + ); + const audioTrackCount = Array.isArray(title?.AudioList) ? title.AudioList.length : 0; + const subtitleTrackCount = Array.isArray(title?.SubtitleList) ? title.SubtitleList.length : 0; + const sizeBytes = Number(title?.Size?.Bytes ?? title?.Bytes ?? 0) || 0; + return { handBrakeTitleId, durationSeconds, audioTrackCount, subtitleTrackCount, sizeBytes }; + }); +} + function parseHandBrakeSelectedTitleInfo(scanJson, options = {}) { const titleList = pickScanTitleList(scanJson); if (!Array.isArray(titleList) || titleList.length === 0) { diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 04315c4..f3b2855 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1,12 +1,12 @@ { "name": "ripster-frontend", - "version": "0.10.2-11", + "version": "0.10.2-12", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "ripster-frontend", - "version": "0.10.2-11", + "version": "0.10.2-12", "dependencies": { "primeicons": "^7.0.0", "primereact": "^10.9.2", diff --git a/frontend/package.json b/frontend/package.json index 6a18f4b..9aa1302 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,6 @@ { "name": "ripster-frontend", - "version": "0.10.2-11", + "version": "0.10.2-12", "private": true, "type": "module", "scripts": { diff --git a/package-lock.json b/package-lock.json index 8e6dd2d..ba48471 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ripster", - "version": "0.10.2-11", + "version": "0.10.2-12", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "ripster", - "version": "0.10.2-11", + "version": "0.10.2-12", "devDependencies": { "concurrently": "^9.1.2" } diff --git a/package.json b/package.json index d46ac48..bbcdac6 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ripster", "private": true, - "version": "0.10.2-11", + "version": "0.10.2-12", "scripts": { "dev": "concurrently \"npm run dev --prefix backend\" \"npm run dev --prefix frontend\"", "dev:backend": "npm run dev --prefix backend",