From 85a467ea920420910aae2496ad0fca937f367a84 Mon Sep 17 00:00:00 2001 From: zefie Date: Sun, 26 Apr 2026 16:51:31 -0400 Subject: [PATCH] retheme ramgen/asxgen --- .../ServiceVault/SharedROMCache/real.gif | Bin 0 -> 3546 bytes .../ServiceVault/SharedROMCache/winmed.gif | Bin 0 -> 5149 bytes .../ServiceVault/wtv-favorite/favorite.js | 2 +- .../ServiceVault/wtv-music/asxgen/catchall.js | 60 ++++++++++++++++-- .../ServiceVault/wtv-music/ramgen/catchall.js | 33 ++++++++-- zefie_wtvp_minisrv/includes/classes/WTVMMS.js | 2 +- zefie_wtvp_minisrv/includes/config.json | 2 +- 7 files changed, 84 insertions(+), 15 deletions(-) create mode 100644 zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/real.gif create mode 100644 zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/winmed.gif diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/real.gif b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/real.gif new file mode 100644 index 0000000000000000000000000000000000000000..d805ae5a8039144f4fb41a120a45c50c69dc03d3 GIT binary patch literal 3546 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 literal 0 HcmV?d00001 diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-favorite/favorite.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-favorite/favorite.js index 834d78f2..fd686fa1 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-favorite/favorite.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-favorite/favorite.js @@ -45,7 +45,7 @@ Favorite folders
- +
diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-music/asxgen/catchall.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-music/asxgen/catchall.js index e065c7a2..f7846fcb 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-music/asxgen/catchall.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-music/asxgen/catchall.js @@ -22,12 +22,9 @@ if (minisrv_config.config.ServiceVaults) { let subDirPath = ''; const currentDir = path.dirname(__filename); const serviceVaultIdx = currentDir.indexOf('ServiceVault'); -console.log("DEBUG: currentDir =", currentDir, "serviceVaultIdx =", serviceVaultIdx); if (serviceVaultIdx !== -1) { const afterVault = currentDir.substring(serviceVaultIdx + 12); // 12 = length of 'ServiceVault' - console.log("DEBUG: afterVault =", afterVault); const parts = afterVault.split(path.sep).filter(p => p); - console.log("DEBUG: parts =", parts); if (parts.length > 1) { // parts[0] is the service name (e.g., 'wtv-music'), parts[1+] are the subdirs const subdirs = parts.slice(1); @@ -96,12 +93,57 @@ Content-type: text/html`; Windows Media on this Service - - + + + + +
+ + +
+ + + +
+ +
+
+
+ +
+ +
+
+ +
+ +
+ +
+ +
+ ${(request_headers.query.debugUDP) ? "Use TCP" : "Debug UDP"} +
+
+ + +
+ +
+ +
+
+ +
+ +
+  +
+


-

Windows Media on this Service

    ${(directory === "") ? "" : `
  • ../
  • \n`}${allFiles.map(f => `
  • ${f}
  • `).join("\n")}
`; +

Windows Media on this Service

    ${(directory === "") ? "" : `
  • ../
  • \n`}${allFiles.map(f => `
  • ${f}
  • `).join("\n")}
`; } else { headers = `404 Not Found Content-type: text/html`; @@ -126,7 +168,11 @@ Content-type: text/html`; Content-type: text/html`; } else { const filePath = path.join(directory || '/', filename + path.extname(resolvedPath)); - const mmsURL = `mms://${minisrv_config.config.service_ip}:${minisrv_config.services['mms'].port}${filePath.replace(/\\/g, '/')}`; + let proto = "mmst://"; + if (request_headers.query.debugUDP) { + proto = "mms://" + } + const mmsURL = `${proto}${minisrv_config.config.service_ip}:${minisrv_config.services['mms'].port}${filePath.replace(/\\/g, '/')}`; const title = (request_headers.query['wtv-title']) ? request_headers.query['wtv-title'] : minisrv_config.config.service_name+" media"; headers = `200 OK Content-type: video/x-ms-asf` diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-music/ramgen/catchall.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-music/ramgen/catchall.js index 5cf16b2f..f8116f37 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-music/ramgen/catchall.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-music/ramgen/catchall.js @@ -22,12 +22,9 @@ if (minisrv_config.config.ServiceVaults) { let subDirPath = ''; const currentDir = path.dirname(__filename); const serviceVaultIdx = currentDir.indexOf('ServiceVault'); -console.log("DEBUG: currentDir =", currentDir, "serviceVaultIdx =", serviceVaultIdx); if (serviceVaultIdx !== -1) { const afterVault = currentDir.substring(serviceVaultIdx + 12); // 12 = length of 'ServiceVault' - console.log("DEBUG: afterVault =", afterVault); const parts = afterVault.split(path.sep).filter(p => p); - console.log("DEBUG: parts =", parts); if (parts.length > 1) { // parts[0] is the service name (e.g., 'wtv-music'), parts[1+] are the subdirs const subdirs = parts.slice(1); @@ -96,8 +93,34 @@ Content-type: text/html`; RealAudio Files on this Service - - + + + + +
+ + +
+ + + +
+ +
+
+
+ +
+ +
+
+ +
+
+
+  +
+


diff --git a/zefie_wtvp_minisrv/includes/classes/WTVMMS.js b/zefie_wtvp_minisrv/includes/classes/WTVMMS.js index b4580eaa..1aa6d679 100644 --- a/zefie_wtvp_minisrv/includes/classes/WTVMMS.js +++ b/zefie_wtvp_minisrv/includes/classes/WTVMMS.js @@ -1879,7 +1879,7 @@ class WTVMMS { buf.writeUInt32LE(0x00000000, 16); // failedCubs buf.writeUInt32LE(0x00000001, 20); // nDisks buf.writeUInt32LE(0x00000000, 24); // decluster - buf.writeUInt32LE(0x00000000, 28); // cubddDatagramSize + buf.writeUInt32LE((session.isCubddTransport) ? session.asfPacketSize + 8 : 0x00000000, 28); // cubddDatagramSize return buf; } diff --git a/zefie_wtvp_minisrv/includes/config.json b/zefie_wtvp_minisrv/includes/config.json index f33603b2..92d06cf2 100644 --- a/zefie_wtvp_minisrv/includes/config.json +++ b/zefie_wtvp_minisrv/includes/config.json @@ -121,7 +121,7 @@ "image/tiff", "image/webp" ], - "max_height": 0, + "max_height": 2048, "max_width": 640, "max_file_size": 524288, "jpeg_interval": 5, // lower quality by this amount to try to lower filesize