From 023c1839acceacec7c07c7a48ab61d2c98433f31 Mon Sep 17 00:00:00 2001 From: xRangerDE Date: Wed, 4 Feb 2026 14:12:22 +0100 Subject: [PATCH] Fix Clip dialog to match Python version (v3.6.2) - Added sliders for Start/End time selection - Fixed filename format examples (DD.MM.YYYY_PartNum.mp4) - Proper slider styling with orange color - Sync between slider and text input - Filename format without "Part" prefix in simple mode Co-Authored-By: Claude Opus 4.5 --- .claude/settings.local.json | 67 +++++++++++ Twitch_VOD_Manager_Debug.spec | 49 ++++++++ typescript-version/package.json | 2 +- typescript-version/src/index.html | 186 ++++++++++++++++++++++-------- typescript-version/src/main.ts | 20 +++- typescript-version/src/preload.ts | 1 + 6 files changed, 270 insertions(+), 55 deletions(-) create mode 100644 .claude/settings.local.json create mode 100644 Twitch_VOD_Manager_Debug.spec diff --git a/.claude/settings.local.json b/.claude/settings.local.json new file mode 100644 index 0000000..b82c243 --- /dev/null +++ b/.claude/settings.local.json @@ -0,0 +1,67 @@ +{ + "permissions": { + "allow": [ + "Bash(ren \"C:\\\\Users\\\\ploet\\\\Desktop\\\\Twitch-YouTube\\\\Twitch\\\\Twitch_VOD_Manager_V_3.2.1.pyw\" \"Twitch_VOD_Manager_V_3.2.2.pyw\")", + "Bash(cmd /c ren:*)", + "Bash(npm install)", + "Bash(npm run build:win:*)", + "Bash(npm run build:portable:*)", + "Bash(npx electron-builder --win portable --config.win.signAndEditExecutable=false)", + "Bash(dir \"C:\\\\Users\\\\ploet\\\\Desktop\\\\Twitch-YouTube\\\\Twitch\\\\TwitchVODManager-Electron\\\\dist\")", + "Bash(python -m py_compile:*)", + "Bash(dir \"C:\\\\Users\\\\ploet\\\\Desktop\\\\Twitch Downloader\\\\*.exe\")", + "Bash(C:UsersploetAppDataRoamingPythonPython311Scriptspyinstaller.exe:*)", + "Bash(python -m PyInstaller:*)", + "Bash(dir \"C:\\\\Users\\\\ploet\\\\Desktop\\\\Twitch Downloader\\\\dist\\\\Twitch_VOD_Manager.exe\")", + "Bash(powershell -command:*)", + "Bash(python:*)", + "Bash(start \"\" \"Twitch_VOD_Manager.exe\")", + "Bash(tasklist:*)", + "Bash(findstr:*)", + "Bash(pip install:*)", + "Bash(taskkill:*)", + "Bash(ping:*)", + "Bash(move:*)", + "Bash(start Twitch_VOD_Manager.exe)", + "Bash(timeout:*)", + "Bash(\"C:\\\\Program Files \\(x86\\)\\\\Inno Setup 6\\\\ISCC.exe\" \"C:\\\\Users\\\\ploet\\\\Desktop\\\\Twitch Downloader\\\\installer.iss\")", + "Bash(\"/c/Users/ploet/AppData/Local/Programs/Inno Setup 6/ISCC.exe\" \"C:/Users/ploet/Desktop/Twitch Downloader/installer.iss\")", + "Bash(curl:*)", + "Bash(start \"\" \"/c/Users/ploet/Desktop/Twitch_VOD_Manager_Setup_test.exe\")", + "Bash(\"/c/Program Files/Twitch VOD Manager/unins000.exe\" /VERYSILENT /SUPPRESSMSGBOXES)", + "Bash(start \"\" \"/c/Users/ploet/Desktop/Twitch_VOD_Manager_Setup_NEW.exe\")", + "Bash(start \"\" \"/c/Users/ploet/Desktop/Twitch Downloader/installer_output/Twitch_VOD_Manager_Setup_3.4.8.exe\")", + "Bash(start \"\" \"/c/Users/ploet/Desktop/Twitch Downloader/installer_output/Twitch_VOD_Manager_Setup_3.4.10.exe\")", + "Bash(find:*)", + "Bash(start \"\" \"/c/Users/ploet/Desktop/Twitch Downloader/installer_output/Twitch_VOD_Manager_Setup_3.4.12.exe\")", + "Bash(start \"\" \"/c/Users/ploet/Desktop/Twitch Downloader/installer_output/Twitch_VOD_Manager_Setup_3.4.14.exe\")", + "Bash(start \"\" \"/c/Users/ploet/Desktop/Twitch Downloader/installer_output/Twitch_VOD_Manager_Setup_3.4.16.exe\")", + "Bash(start \"\" \"/c/Users/ploet/Desktop/Twitch Downloader/installer_output/Twitch_VOD_Manager_Setup_3.4.18.exe\")", + "Bash(\"C:\\\\Program Files \\(x86\\)\\\\Inno Setup 6\\\\ISCC.exe\" installer.iss)", + "Bash(\"C:/Program Files \\(x86\\)/Inno Setup 6/ISCC.exe\" \"C:/Users/ploet/Desktop/Twitch Downloader/installer.iss\")", + "Bash(ls:*)", + "Bash(where:*)", + "Bash(cmd.exe /c \"\"\"C:\\\\Program Files \\(x86\\)\\\\Inno Setup 6\\\\ISCC.exe\"\" \"\"C:\\\\Users\\\\ploet\\\\Desktop\\\\Twitch Downloader\\\\installer.iss\"\"\")", + "Bash(cmd.exe /c \"dir \"\"C:\\\\Program Files \\(x86\\)\\\\Inno Setup 6\"\"\")", + "Bash(powershell.exe -Command \"Test-Path ''C:\\\\Program Files \\(x86\\)\\\\Inno Setup 6\\\\ISCC.exe''\")", + "Bash(powershell.exe:*)", + "Bash(git init:*)", + "Bash(git add:*)", + "Bash(git rm:*)", + "Bash(git commit -m \"$\\(cat <<''EOF''\nInitial commit: Twitch VOD Manager v3.5.3\n\n- Main application with auto-update functionality\n- PyInstaller spec for building standalone EXE\n- Inno Setup installer script with silent update support\n- Server version.json for update checking\n\nFeatures:\n- Download Twitch VODs\n- Auto-update with silent installation\n- Settings stored in ProgramData\n\nCo-Authored-By: Claude Opus 4.5 \nEOF\n\\)\")", + "Bash(git config:*)", + "Bash(git commit:*)", + "Bash(gh auth:*)", + "Bash(npm run build:*)", + "Bash(npm run dist:win:*)", + "Bash(git push:*)", + "Bash(gh release create v3.6.0 \"release/Twitch VOD Manager Setup 3.6.0.exe\" --title \"Twitch VOD Manager v3.6.0\" --notes \"$\\(cat <<''EOF''\n## What''s New in v3.6.0\n\n### New Features\n- **Video Cutter** - Cut and trim your downloaded VODs with a visual timeline\n - Preview frames at any position\n - Set precise start and end times\n - Fast cutting using stream copy \\(no re-encoding\\)\n \n- **Video Merge** - Combine multiple video files into one\n - Add multiple videos and reorder them\n - Fast merging with stream copy\n \n- **Part-based Downloads** - Split long VODs into manageable segments\n - Configure segment length in settings\n - Automatically splits downloads into parts\n\n### Improvements\n- Enhanced download progress with speed and ETA display\n- New navigation tabs for better organization\n- Updated UI with new tool icons\n\n### Technical\n- FFmpeg/FFprobe integration for video processing\n- Improved IPC communication between main and renderer\n- Version bump to 3.6.0\nEOF\n\\)\")", + "Bash(powershell:*)", + "Bash(winget install:*)", + "Bash(\"C:\\\\Program Files\\\\GitHub CLI\\\\gh.exe\" auth status)", + "Bash(\"C:\\\\Program Files\\\\GitHub CLI\\\\gh.exe\" release create:*)", + "Bash(npm start)", + "Bash(\"C:\\\\Program Files\\\\GitHub CLI\\\\gh.exe\" release create v3.6.1 \"release/Twitch VOD Manager Setup 3.6.1.exe\" --title \"Twitch VOD Manager v3.6.1\" --notes \"## What''s New in v3.6.1\n\n### New Feature: Clip erstellen\n- **Time-Range Downloads** - Download specific portions of VODs\n - Click ''Clip'' button on any VOD\n - Use sliders or time inputs to select start/end times\n - Set custom part numbers for continuations\n - Downloads only the selected time range\n\n### All Features \\(v3.6.x\\)\n- VOD Downloads \\(full or part-based\\)\n- Clip Downloads from Twitch\n- Video Cutter for local files \\(FFmpeg\\)\n- Video Merge \\(combine multiple videos\\)\n- Time-Range VOD Downloads \\(new\\)\n- Multiple Themes \\(Twitch/Discord/YouTube/Apple\\)\n- Auto-Update Check\n\n### Technical\n- Uses streamlink --hls-start-offset and --hls-duration for precise downloads\n- CustomClip data structure for queue items\")" + ] + } +} diff --git a/Twitch_VOD_Manager_Debug.spec b/Twitch_VOD_Manager_Debug.spec new file mode 100644 index 0000000..4bd84b0 --- /dev/null +++ b/Twitch_VOD_Manager_Debug.spec @@ -0,0 +1,49 @@ +# -*- mode: python ; coding: utf-8 -*- +from PyInstaller.utils.hooks import collect_all + +datas = [] +binaries = [] +hiddenimports = [] +tmp_ret = collect_all('customtkinter') +datas += tmp_ret[0]; binaries += tmp_ret[1]; hiddenimports += tmp_ret[2] +tmp_ret = collect_all('cv2') +datas += tmp_ret[0]; binaries += tmp_ret[1]; hiddenimports += tmp_ret[2] +tmp_ret = collect_all('imageio_ffmpeg') +datas += tmp_ret[0]; binaries += tmp_ret[1]; hiddenimports += tmp_ret[2] + + +a = Analysis( + ['Twitch_VOD_Manager_V_3.3.4.pyw'], + pathex=[], + binaries=binaries, + datas=datas, + hiddenimports=hiddenimports, + hookspath=[], + hooksconfig={}, + runtime_hooks=[], + excludes=[], + noarchive=False, + optimize=0, +) +pyz = PYZ(a.pure) + +exe = EXE( + pyz, + a.scripts, + a.binaries, + a.datas, + [], + name='Twitch_VOD_Manager_debug', + debug=False, + bootloader_ignore_signals=False, + strip=False, + upx=True, + upx_exclude=[], + runtime_tmpdir=None, + console=False, + disable_windowed_traceback=False, + argv_emulation=False, + target_arch=None, + codesign_identity=None, + entitlements_file=None, +) diff --git a/typescript-version/package.json b/typescript-version/package.json index dd85a9b..50619c1 100644 --- a/typescript-version/package.json +++ b/typescript-version/package.json @@ -1,6 +1,6 @@ { "name": "twitch-vod-manager", - "version": "3.6.1", + "version": "3.6.2", "description": "Twitch VOD Manager - Download Twitch VODs easily", "main": "dist/main.js", "author": "xRangerDE", diff --git a/typescript-version/src/index.html b/typescript-version/src/index.html index 5dc5a77..97d0be5 100644 --- a/typescript-version/src/index.html +++ b/typescript-version/src/index.html @@ -959,24 +959,30 @@ font-size: 13px; } - .slider-group input[type="range"] { + .slider-group input[type="range"], + .modal input[type="range"] { width: 100%; height: 6px; -webkit-appearance: none; - background: var(--bg-main); + background: #1a1a1a; border-radius: 3px; outline: none; } - .slider-group input[type="range"]::-webkit-slider-thumb { + .slider-group input[type="range"]::-webkit-slider-thumb, + .modal input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 16px; height: 16px; - background: var(--accent); + background: #E5A00D; border-radius: 50%; cursor: pointer; } + .modal input[type="range"]::-webkit-slider-thumb:hover { + background: #ffb825; + } + .clip-time-display { display: flex; justify-content: space-between; @@ -1049,41 +1055,71 @@