Page:
CHANGELOG
Pages
AUTHOR_MODULE
BUGS
BUILD
BUILD_AND_RUN
CHANGELOG
CHOCO_INSTALL
COMPARE_FULLSCREEN
COMPLETION_SUMMARY
CONVERT_MODULARIZATION_PLAN
CROSS_PLATFORM_GUIDE
DEV14_WINDOWS_IMPLEMENTATION
DEV30_FINALIZATION_CHECKLIST
DVD_IMPLEMENTATION_SUMMARY
DVD_USER_GUIDE
Documentation
GNOME_COMPATIBILITY
GSTREAMER_MIGRATION_PLAN
Home
IMPLEMENTATION_SUMMARY
INSTALLATION
INSTALL_LINUX
INSTALL_WINDOWS
INTEGRATION_GUIDE
INTERNAL_DVD_AUTHORING_SPEC
LATEST_UPDATES
LATEX_PREPARATION
LOSSLESSCUT_INSPIRATION
MODULES
PERSISTENT_VIDEO_CONTEXT
PHASE2_COMPLETE
PHASE2_INTEGRATION_PLAN
PLAYER_MODULE
PLAYER_PERFORMANCE_ISSUES
PROJECT_STATUS
QUEUE_SYSTEM_GUIDE
QUICKSTART
REFACTOR_DEV30_PLAN
ROADMAP
TESTING_CHECKLIST
TESTING_DEV13
TESTING_MODULE_CHECKLIST
TEST_DVD_CONVERSION
TODO_EXTRACTION_NOTES
TRIM_MODULE_DESIGN
VIDEO_METADATA_GUIDE
VIDEO_PLAYER
VIDEO_PLAYER_FORK
VT_PLAYER_IMPLEMENTATION
VT_PLAYER_INTEGRATION_NOTES
WINDOWS_BUILD_PERFORMANCE
WINDOWS_COMPATIBILITY
WINDOWS_PACKAGING
WINDOWS_SETUP
WORKING_ON
localization policy
No results
Table of Contents
- VideoTools Changelog
- v0.1.1-dev33 (March 2026)
- v0.1.1-dev32 (March 2026)
- v0.1.1-dev31 (March 2026)
- v0.1.1-dev30 (March 2026)
- v0.1.1-dev29 (March 2026)
- v0.1.1-dev28 (February 2026)
- v0.1.1-dev27 (February 2026)
- v0.1.1-dev26 (January 2026)
- v0.1.0-dev24 (January 2026)
- v0.1.0-dev23 (January 2026)
- v0.1.0-dev22 (January 2026)
- Major Features
- Technical Improvements
- Bug Fixes
- Coordination & Planning
- Work in Progress (Deferred to Dev23)
- Breaking Changes
- ️ Known Issues
- Development Stats
- v0.1.0-dev14 (December 2025)
- Major Features
- Windows Compatibility Implementation
- Professional Installation System
- DVD Auto-Resolution Enhancement
- Queue System Improvements
- Technical Improvements
- Bug Fixes
- Documentation Updates
- Breaking Changes
- Performance Improvements
- Platform Support
- Statistics
- Next Steps (dev15 Planning)
- v0.1.0-dev13 (November 2025)
This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
VideoTools Changelog
v0.1.1-dev33 (March 2026)
Disc Authoring
- Native DVD Engine Foundation - Established the
internal/DVDpackage structure for native authoring. This is the first step toward removing Linux-only dependencies (DVDauthor,xorriso) and enabling DVD/Blu-ray creation on Windows. - Phase 1: UDF Writer - Started implementation of a native UDF 1.02 / ISO 9660 Bridge writer for standards-compliant disc images.
Documentation
- Wiki synchronization - Migrated in-repo
docs/to the Forgejo wiki atgit.leaktechnologies.dev. Established a navigation sidebar and centralized documentation portal.
v0.1.1-dev32 (March 2026)
Settings
- Dependency install buttons - Each dependency in the Dependencies tab now has an actionable Install button. FFmpeg on Windows uses the app-local bootstrap.
- Platform-filtered dependencies - The Dependencies tab only lists tools relevant to the current platform.
- WSL auto-install reverted - Installing Ubuntu via WSL would consume 5-10 GB; removed from the lightweight app. DVDauthor/xorriso restricted to Linux/macOS builds.
- Updates tab wired - Check for Updates hits the Forgejo tags API (
/api/v1/repos/leak_technologies/VideoTools/tags?limit=1) and compares against the running version; fixed owner mismatch in API URL. - Uninstall support - Uninstall buttons shown per dependency where a package manager uninstall command is available.
- Disc toggles hidden on Windows - Author, Rip, Blu-ray visibility checkboxes hidden in Settings on Windows since those tools are unavailable on that platform.
- cmd window popups suppressed - All subprocess calls on Windows now use
HideWindowExec/HideWindowExecContextto prevent console window flashes.
Icons
- SVG icon library - ~150 Material Design SVG icons added to
assets/icons/; ASCII placeholders replaced with real icon resources. - Icons embedded into binary - Icons are baked into the binary at compile time via
//go:embed;GetIconreads from the embedded FS with no runtime disk access. Fixes blank icons on installed builds (issue #20).
Convert Module
- Player layout fixed - Video pane used
NewVBoxwhich collapsed the canvas.Image to 0 px; rewritten withNewBorderso the video fills the centre and the transport bar is pinned to the bottom. - VSplit gap fixed - Extra
NewVBoxwrapper around the video panel left dark empty space in the top half of the VSplit; removed so the video panel fills its full allocated area. - Player icons fixed - ASCII fallback labels replaced with
widget.NewButtonWithIconusing embedded SVG icons. - Active state fixed -
s.activewas never set to"convert", breaking drop handling and keyboard shortcuts inside the module. - Source state fixed -
s.sourcewas not updated when loading a video vialoadVideo; now set before rebuilding the view. - Convert UI cleanup (issue #5) - Label alignments standardised, consistent separators added.
Compare Module
- Hide/show player toggle (issue #1) - Toggle button added to hide/show both video players, giving more vertical space for comparison.
Main Menu / Navigation
- Author and Rip hidden on Windows - Disc modules hidden from the main menu on Windows until cross-platform disc authoring is implemented.
- Mouse back button fixed - Side mouse buttons now navigate correctly; back button (button 4) returns to main menu.
- Keyboard shortcuts simplified - Ctrl+Enter is the universal confirm action on Linux/Windows.
- Drag-to-scroll fixed (issue #19) -
container.Scrollwas silently consuming desktop drag events via a mobile-only guard. Replaced with a customscrollClipwidget that does not implementfyne.Draggable, so drag events reachFastVScrolland 1:1 content tracking works. - Pulsing drop indicator - Video drop zone pulses when a draggable file hovers over the convert player area.
- FastVScroll on all settings panels - Upscale module settings and Convert metadata panel now use FastVScroll for consistent drag-to-scroll experience.
Auto-Update
- In-app updates - Windows and Linux builds now support in-app auto-update. Check for Updates detects new releases; Install Update/Patches buttons download and apply updates automatically.
UI
- Main menu tile colour consistency - Unavailable/missing-dependency module tiles now show a consistently dimmed module colour on first load.
v0.1.1-dev31 (March 2026)
UI
- Module settings scrolling - Scroll containers added to all non-Convert module settings panels; primary action buttons (Rip Now, Create Output, Apply Filters, Generate Now, Merge Now) pinned to always-visible footer action bar.
- Window resize stability - Window size is now preserved across module switches; layout-driven auto-resize no longer occurs.
- Convert video pane - Removed rigid minimum size from loaded-video stage so VSplit 50/50 offset holds correctly at all window sizes.
- Click-and-drag scrolling - Scroll panels now support click-and-drag in addition to mouse wheel, mirroring mobile/touch-screen behaviour. Drag up to scroll down, drag down to scroll up.
- Convert module partial modularisation - Added
ShowView,ConvertState, andConvertCallbacksentry point ininternal/app/modules/convert/view.gowith shim and type-converter helpers inmain.go. FullbuildConvertViewextraction deferred pending appState decoupling. - Convert UI cleanup - Layout and control organization pass to prepare Convert for external developer testing (in progress).
v0.1.1-dev30 (March 2026)
Maintenance
- Version bump - Started the dev30 cycle and updated project version markers.
- Dev release notes - Forgejo dev release comments now include nightly build context plus the matching version section from
docs/CHANGELOG.md. - Versioning documentation - Clarified that
-devNnumbering is continuous across release lines and public releases use base versions. - Release readiness policy - Added explicit public bump gates and a full module testing checklist for release candidate validation.
- Repository hygiene - Removed root-level scratch files, relocated QR demo entrypoint into
cmd/, and documented root cleanliness rules for agents. - Refactor planning - Added a phased dev30 refactor plan for gradual
internal/appandcmd/migration with build-safety guardrails. - Refactor phase 2 start - Moved shared module config path logic to
internal/app/configpathand rewired module config save/load call sites. - Refactor phase 2 continuation - Moved merge/thumbnail config persistence logic into
internal/app/modulecfgwith compatibility wrappers to keep behavior unchanged. - Refactor phase 2 continuation - Moved naming metadata/output-base helper logic into
internal/app/namingwith wrappers to preserve existing behavior. - Refactor phase 2 continuation - Moved rip/subtitles config persistence logic into
internal/app/modulecfgwith compatibility wrappers to keep runtime behavior stable. - Refactor phase 2 continuation - Moved author config persistence logic into
internal/app/modulecfgwith compatibility wrappers to keep runtime behavior stable. - Refactor phase 2 continuation - Moved audio config persistence logic into
internal/app/modulecfgwith compatibility wrappers to keep runtime behavior stable. - Refactor phase 2 continuation - Replaced duplicated
main.goconfig-path helper functions with sharedinternal/app/configpathlookups for convert/recovery/benchmark/history. - Refactor phase 2 continuation - Moved recovery/benchmark/history persistence logic into
internal/app/appcfgwith type aliases and wrapper functions inmain.go. - Refactor phase 2 continuation - Moved convert config JSON load/save plumbing into shared
internal/app/appcfgstore helpers while preserving convert normalization behavior. - Refactor phase 2 continuation - Moved convert config normalization rules into
internal/app/appcfgand keptmain.gowrappers minimal. - CI build fix - Restored missing
path/filepathimport inaudio_module.goto resolve Forgejo Linux/Windows packaging compile failures. - CI build fix - Restored missing
path/filepathimport inrip_module.goto resolve Forgejo Linux/Windows packaging compile failures. - Forgejo release targeting - Workflow now reads version from
VERSIONfirst and patches only the matched tag release metadata (name/body/prerelease), preventing stale tag drift. - CI build fix - Restored missing
encoding/jsonandpath/filepathimports insubtitles_module.goto resolve Forgejo Linux/Windows packaging compile failures. - FFprobe path fix - Convert drag/drop analysis now uses the configured FFprobe path (including app-local Windows installs) instead of requiring
ffprobeon PATH. - Thumbnail probe path fix - Thumbnail metadata probes now use the configured FFprobe path to match the rest of the app dependency resolution flow.
- Release note cleanup - Forgejo dev release comments now include concise highlights from the matching changelog section instead of the full raw version block.
- Release publish guard - Dev publish now skips stale workflow runs when a newer
mastercommit exists, preventing older jobs from updating previous dev-tag releases. - Refactor phase 3 start - Moved About dialog implementation into
internal/app/modules/aboutand kept a thin root shim to preserve behavior. - Refactor phase 3 continuation - Moved missing-dependencies dialog rendering into
internal/app/modules/depsand kept a thin root shim to preserve behavior. - Documentation portal migration - Replaced retired
docs.leaktechnologies.devlinks with Forgejo wiki/in-repo documentation links in About, QR demo, and install/readme docs. - Refactor phase 3 continuation - Moved main menu visibility/dependency filtering and active-job mapping helpers into
internal/app/modules/mainmenuwhile keeping runtime behavior unchanged. - Release closeout checklist - Added
docs/DEV30_FINALIZATION_CHECKLIST.mdto standardize dev30 finalization and dev31 handoff steps. - Agent handoff update - Expanded
AGENTS.mdwith current release state, closeout requirements, refactor boundaries, and dev31 takeover priorities. - Dev30 closeout - CI validated (runs 219/220/221, commit
2cbb3a2), checklist sections 1/2/5/6/7 complete, smoke test and dependency validation carried forward to dev31.
v0.1.1-dev29 (March 2026)
Build/CI
- Workflow parsing - Fixed Windows dev-packages YAML parsing for bundled dependency notes.
- Go module imports - Fixed module import paths in refactored files so vendor mode builds resolve internal packages.
- Main menu compile fix - Removed duplicate package declaration in main menu module file.
- Convert compile fix - Removed a duplicated aspect/scale block and restored custom-aspect declarations before use.
- Windows compile fix - Removed stale
go-qrcodeimport frommain.go. - Windows packaging fallback - Added Tesseract language-data download fallback for
eng/fra/ikuin bundled builds. - GStreamer packaging policy - Bundled builds treat GStreamer as optional and continue when it is unavailable.
- Whisper packaging resilience - Bundled workflows now try multiple whisper model sources and continue if download fails.
- Linux bundled zip fix - Added
zipto Linux CI build dependencies for bundled artifact creation. - Dev packaging policy - Dev channel builds now skip bundled package generation to keep nightly/pre-release runs stable.
- Bundled artifact retirement - Dev-packages workflow now publishes standard VT packages only (no bundled artifacts).
- Main menu layout fix - Module tiles now use wrapping bounds to prevent over-wide window expansion.
- Main menu row consistency - Module sections now render as a stable 3-column grid.
- Release asset cleanup fix - Publish workflow now reliably removes old assets before uploading new artifacts.
- Publish endpoint fix - Corrected Forgejo asset delete endpoint to avoid 404 failures during release publish.
- Module visibility - Added a Blu-ray visibility toggle in Preferences and main menu filtering.
- Benchmark behavior - Applying benchmark recommendations now updates hardware acceleration only and leaves codec/preset untouched.
v0.1.1-dev28 (February 2026)
Windows
- First-run FFmpeg bootstrap - Added an in-app Windows prompt that installs FFmpeg/FFprobe into
%LOCALAPPDATA%\VideoTools\binwhen missing. - Module lock recovery - Main menu now offers a direct fix path on clean Windows machines instead of leaving users in a settings-only workflow.
- App-local FFmpeg discovery - Platform detection now checks
%LOCALAPPDATA%\VideoTools\binbefore PATH/common locations, so bootstrap installs persist across launches.
Cross-Platform
- Settings dependency ordering - Dependencies in Settings are now listed with core requirements first, then alphabetically.
- Settings FFmpeg actions - FFmpeg install actions are available in Settings on supported platforms (Windows app-local install; Linux package-manager actions).
- Convert UI text safety - Replaced mojibake-prone Unicode/emoji labels in the Convert workflow with ASCII-safe text labels.
- About page cleanup - Removed the Bitcoin address from the About/Support dialog.
- Snippet AV1 fallback - Snippet generation now falls back when
libsvtav1is unavailable. - Adaptive scrolling - Settings and other long panels use adaptive scroll speed for smoother navigation across screen sizes.
- Settings tab scrolling - Each Settings tab now scrolls independently so the header stays in view.
- Master settings - Preferences now surface global hardware acceleration with auto-detect plus module visibility toggles.
- Aspect ratio handling - Source aspect now honors display aspect ratio metadata and adds a 17:9 target option.
- Aspect ratio UI - The Source aspect option now shows the detected source aspect ratio.
- Aspect ratio logging - Conversion logs now include source/target aspect details and ignore stale auto-crop values when auto-crop is disabled.
- Custom aspect input - Added a Custom... option for cinema/ultrawide ratios without cluttering the dropdown.
- Aspect/scale alignment - Aspect conversion now uses target resolution to avoid odd output sizes.
- Window resize stability - Module switches no longer auto-resize the window.
- UI text cleanup - Removed garbled characters from UI labels and prompts.
- Conversion stability - Conversion workers now catch internal panics and surface a failure dialog instead of closing the UI.
- Conversion recovery notice - The app now records active conversions and shows a notice on next launch if one was running.
- Main menu refactor - Main menu builder and refresh helpers moved into a dedicated module file.
- About/Support refactor - About/Support dialog moved into a dedicated module file.
- Dependencies dialog refactor - Missing dependencies dialog moved into a dedicated module file.
- Queue view refactor - Queue view builders and refresh logic moved into a dedicated module file.
- Dev packages workflow - Fixed YAML parsing in bundled deps note generation.
- Module imports - Fixed main menu and queue module imports to match module path.
- Main menu module - Fixed duplicate package declaration causing Windows builds to fail.
- Subtitle ripping - Subtitles can be extracted from embedded tracks (lossless or OCR/SRT/ASS for text) and re-embedded without sync drift.
- Subtitle OCR - Image-based DVD/BD subtitle tracks can be OCR'd with Tesseract into SRT or ASS.
- Subtitle OCR cleanup - OCR output is normalized and consecutive duplicate cues are merged for cleaner timing.
- Language options - Preferences now focus on Canadian English, Canadian French, and Inuktitut.
- Bundled packages - Added bundled builds with FFmpeg, Tesseract, and GStreamer for Windows and Linux.
- Bundled whisper model - Bundled packages now include the whisper.cpp small model and enforce required dependency payloads.
v0.1.1-dev27 (February 2026)
Maintenance
- .gitignore updates - Excluded Windows build artifacts and agent working directory.
- Forgejo Windows outputs - Emit
GITHUB_OUTPUTas UTF-8 (no BOM) with PowerShell-compatible append to prevent host-runner post-step failures. - Forgejo Windows GUI build - Package the Windows exe with
-H windowsguito avoid console windows. - Forgejo Windows package contents - Limit zip contents to
VideoTools.exeandREADME.md. - Forgejo Windows artifact layout - Write zip directly to
dist/windows/and drop build metadata files. - Forgejo Windows artifact upload - Upload only the zip file, excluding diagnostics and folders.
- Forgejo dev release workflow - Build Linux/Windows artifacts in the same workflow run before publishing releases.
- Forgejo release assets - Upload only Linux AppImage/zip and Windows zip (skip build metadata files).
- Forgejo workflow cleanup - Remove redundant Windows packaging workflow.
- Forgejo workflow cleanup - Remove redundant test trigger workflow.
- Forgejo release assets - Delete existing assets with the same name before upload to avoid duplicates.
- Forgejo release assets - Purge existing assets before upload to avoid duplicates.
- Forgejo release assets - Fail publish step on unauthorized asset deletion/upload.
- Forgejo mirror - Use built-in push mirror settings for Codeberg.
- Forgejo dev release notes - Use a nightly build release note body.
- Forgejo workflow cleanup - Remove redundant Linux packaging workflow.
v0.1.1-dev26 (January 2026)
Infrastructure
- Mirror hosting - Created lt_mirror repository on git.leaktechnologies.dev for downloads when source sites block bots (GStreamer, DVDStyler, Whisper, FFmpeg)
- Forgejo CI/CD - Self-hosted runner setup, CI workflows, artifact versioning, optional EXE signing
Windows Build System
- Installer - Switched from Scoop to Chocolatey, added MSYS2, dependency checking with early exit, progress bars, verification
- Build scripts - Console popup suppression, icon embedding, windowsgui flag, Go module caching, Unicode fixes
Documentation
- Added Forgejo runner and Windows service setup docs
v0.1.0-dev24 (January 2026)
Main Menu Palette
- Rainbow+ palette refresh - restored diverse, eye-friendly module colors with improved readability
- Convert color preserved - Convert remains the visual anchor across the UI
- Larger tile labels - main menu button text is larger for accessibility
- Contrast tuning - audio/rip/settings colors adjusted for clarity
- Scrollbar removed - main menu now scales without a scroll bar
- Module silhouette - player area keeps a steady footprint before media loads
- Bespoke hues - each module now has its own distinct color identity
- Locked state clarity - disabled modules keep their hue with subdued brightness
- Locked hue visibility - reduced stripe opacity and raised label brightness
v0.1.0-dev23 (January 2026)
UI Cleanup
- Colored select refinement - one-click open, left accent bar, rounded corners, larger labels
- Unified input styling - settings panel backgrounds match dropdown tone
- Convert panel polish - Auto-crop and Interlacing actions match panel styling
About / Support
- Mockup-aligned layout - title row, VT + LT logos on the right, Logs Folder action
- Support placeholder - “Support coming soon” until donation details are available
Fixes
- Audio module crash - guarded initial quality selection to avoid nil entry panic
v0.1.0-dev22 (January 2026)
Major Features
Automatic GPU Detection for Hardware Encoding
- Auto-detect GPU vendor (NVIDIA/AMD/Intel) via system info detection
- Automatic hardware encoder selection when hardware acceleration set to "auto"
- Resolves to appropriate encoder: nvenc for NVIDIA, amf for AMD, qsv for Intel
- Fallback to software encoding if no compatible GPU detected
- Cross-platform detection: nvidia-smi, lspci, wmic, system_profiler
SVT-AV1 Encoding Performance
- Proper AV1 codec support with hardware (av1_nvenc, av1_qsv, av1_amf) and software (libsvtav1) encoders
- SVT-AV1 speed preset mapping (0-13 scale) for encoder performance tuning
- Prevents 80+ hour encodes by applying appropriate speed presets
- ultrafast preset → ~10-15 hours instead of 80+ hours for typical 1080p encodes
- CRF quality control for AV1 encoding
UI/UX Improvements
- Fluid UI splitter - removed rigid minimum size constraints for smoother resizing
- Format selector widget - proper dropdown for container format selection
- Semantic color system - ColoredSelect ONLY for format/codec navigation (not rainbow everywhere)
- Format colors: MKV=teal, MP4=blue, MOV=indigo
- Codec colors: AV1=emerald, H.265=lime, H.264=sky, AAC=purple, Opus=violet
Technical Improvements
Hardware Encoding
- GPUVendor() method in sysinfo package for GPU vendor identification
- Automatic encoder resolution based on detected hardware
- Better hardware encoder fallback logic
Platform Support
- Windows FFmpeg popup suppression - proper build tags on exec_windows.go/exec_unix.go
- Platform-specific command creation with CREATE_NO_WINDOW flag on Windows
- Fixed process creation attributes for silent FFmpeg execution on Windows
Code Quality
- Queue system type consistency - standardized JobType constants (JobTypeFilter)
- Fixed forward declarations for updateDVDOptions and buildCommandPreview
- Removed incomplete formatBackground section with TODO for future implementation
- Git remote correction - restored git.leaktechnologies.dev repository URL
Bug Fixes
Encoding
- Fixed AV1 forced H.264 conversion - restored proper AV1 encoding support
- Added missing preset mapping for libsvtav1 encoder
- Proper CRF handling for AV1 codec
UI
- Fixed dropdown reversion - removed rainbow colors from non-codec dropdowns
- Fixed splitter stiffness - metadata and labeled panels now resize fluidly
- Fixed formatContainer missing widget definition
Build
- Resolved all compilation errors from previous session
- Fixed syntax errors in formatBackground section
- Fixed JobType constant naming (JobTypeFilter vs JobTypeFilters)
- Moved WIP files out of build path (execute_edit_job.go.wip)
Dependencies
- Upscale module accessibility - changed from requiring realesrgan to optional
- FFmpeg-only scaling now works without AI upscaler dependencies
Coordination & Planning
Agent Coordination
- Updated WORKING_ON.md with coordination request for opencode
- Analyzed uncommitted job editing feature (edit.go, command_editor.go)
- Documented integration gaps and presented 3 options for dev23
- Removed Gemini from active agent rotation
Work in Progress (Deferred to Dev23)
Job Editing Feature (opencode)
- Core logic complete - edit.go (363 lines), command_editor.go (352 lines)
- Compiles successfully but missing integration
- Needs: main.go hookups, UI buttons, end-to-end testing
- Status: Held for proper integration in dev23
Breaking Changes
None - this is a bug-fix and enhancement release.
️ Known Issues
- Windows dropdown UI differences - investigating appearance differences on Windows vs Linux (deferred to dev23)
- Benchmark system needs improvements (deferred to dev23)
Development Stats
Commits This Release: 3 main commits
- feat: add automatic GPU detection for hardware encoding
- fix: resolve build errors and complete dev22 fixes
- docs: update WORKING_ON coordination file
Files Modified: 8 files
- FyneApp.toml (version bump)
- main.go (GPU detection, AV1 presets, UI fixes)
- internal/sysinfo/sysinfo.go (GPUVendor method)
- internal/queue/queue.go (JobType fixes)
- internal/utils/exec_windows.go (build tags)
- internal/utils/exec_unix.go (build tags)
- settings_module.go (Upscale dependencies)
- WORKING_ON.md (coordination)
v0.1.0-dev14 (December 2025)
Major Features
Windows Compatibility Implementation
- Cross-platform build system with MinGW-w64 support
- Platform detection system (
platform.go) for OS-specific configuration - FFmpeg path abstraction supporting bundled and system installations
- Hardware encoder detection for Windows (NVENC, QSV, AMF)
- Windows-specific process handling and path validation
- Cross-compilation script (
scripts/windows/build-windows.sh)
Professional Installation System
- One-command installer (
scripts/linux/install.sh) with guided wizard - Automatic shell detection (bash/zsh) and configuration
- System-wide vs user-local installation options
- Convenience aliases (
VideoTools,VideoToolsRebuild,VideoToolsClean) - Comprehensive installation guide (
INSTALLATION.md)
DVD Auto-Resolution Enhancement
- Automatic resolution setting when selecting DVD formats
- NTSC/PAL auto-configuration (720×480 @ 29.97fps, 720×576 @ 25fps)
- Simplified user workflow - one click instead of three
- Standards compliance ensured automatically
Queue System Improvements
- Enhanced thread-safety with improved mutex locking
- New queue control methods:
PauseAll(),ResumeAll(),MoveUp(),MoveDown() - Better job reordering with up/down arrow controls
- Improved status tracking for running/paused/completed jobs
- Batch operations for queue management
Technical Improvements
Code Organization
- Platform abstraction layer for cross-platform compatibility
- FFmpeg path variables in internal packages
- Improved error handling for Windows-specific scenarios
- Better process termination handling across platforms
Build System
- Cross-compilation support from Linux to Windows
- Optimized build flags for Windows GUI applications
- Dependency management for cross-platform builds
- Distribution packaging for Windows releases
Documentation
- Windows compatibility guide (
WINDOWS_COMPATIBILITY.md) - Implementation documentation (
DEV14_WINDOWS_IMPLEMENTATION.md) - Updated installation instructions with platform-specific notes
- Enhanced troubleshooting guides for Windows users
Bug Fixes
Queue System
- Fixed thread-safety issues in queue operations
- Resolved callback deadlocks with goroutine execution
- Improved error handling for job state transitions
- Better memory management for long-running queues
Platform Compatibility
- Fixed path separator handling for cross-platform file operations
- Resolved drive letter issues on Windows systems
- Improved UNC path support for network locations
- Better temp directory handling across platforms
Documentation Updates
New Documentation
INSTALLATION.md- Comprehensive installation guide (360 lines)WINDOWS_COMPATIBILITY.md- Windows support planning (609 lines)DEV14_WINDOWS_IMPLEMENTATION.md- Implementation summary (325 lines)
Updated Documentation
README.md- Updated Quick Start for install.shBUILD_AND_RUN.md- Added Windows build instructionsdocs/README.md- Updated module implementation statusTODO.md- Reorganized for dev15 planning
Breaking Changes
Build Process
- New build requirement: MinGW-w64 for Windows cross-compilation
- Updated build scripts with platform detection
- Changed FFmpeg path handling in internal packages
Configuration
- Platform-specific configuration now required
- New environment variables for FFmpeg paths
- Updated hardware encoder detection system
Performance Improvements
Build Performance
- Faster incremental builds with better dependency management
- Optimized cross-compilation with proper toolchain usage
- Reduced binary size with improved build flags
Runtime Performance
- Better process management on Windows
- Improved queue performance with optimized locking
- Enhanced memory usage for large file operations
Platform Support
Windows (New)
- Windows 10 support
- Windows 11 support
- Cross-compilation from Linux
- Hardware acceleration (NVENC, QSV, AMF)
- Windows-specific file handling
Linux (Enhanced)
- Improved hardware encoder detection
- Better Wayland support
- Enhanced process management
Linux (Enhanced)
- Continued support with native builds
- Hardware acceleration (VAAPI, NVENC, QSV)
- Cross-platform compatibility
Statistics
Code Changes
- New files: 3 (platform.go, build-windows.sh, install.sh)
- Updated files: 15+ across codebase
- Documentation: 1,300+ lines added/updated
- Platform support: 2 platforms (Linux, Windows)
Features
- New major features: 4 (Windows support, installer, auto-resolution, queue improvements)
- Enhanced features: 6 (build system, documentation, queue, DVD encoding)
- Bug fixes: 8+ across queue, platform, and build systems
Next Steps (dev15 Planning)
Immediate Priorities
- Windows environment testing and validation
- NSIS installer creation for Windows
- Performance optimization for large files
- UI/UX refinements and polish
Module Development
- Merge module implementation
- Trim module with timeline interface
- Filters module with real-time preview
- Advanced Convert features (2-pass, presets)
Platform Enhancements
- Native Windows builds
- Linux AppImage bundle creation
- Linux package distribution (.deb, .rpm)
- Auto-update mechanism
v0.1.0-dev13 (November 2025)
Major Features
DVD Encoding System
- Complete DVD-NTSC implementation with professional specifications
- Multi-region support (NTSC, PAL, SECAM) with region-free output
- Comprehensive validation system with actionable warnings
- FFmpeg command generation for DVD-compliant output
- Professional compatibility (DVDStyler, PS2, standalone players)
Code Modularization
- Extracted 1,500+ lines from main.go into organized packages
- New package structure:
internal/convert/,internal/app/ - Type-safe APIs with exported functions and structs
- Independent testing capability for modular components
- Professional code organization following Go best practices
Queue System Integration
- Production-ready queue system with 24 public methods
- Thread-safe operations with proper synchronization
- Job persistence with JSON serialization
- Real-time progress tracking and status management
- Batch processing capabilities with priority handling
Documentation
New Comprehensive Guides
DVD_IMPLEMENTATION_SUMMARY.md(432 lines) - Complete DVD system referenceQUEUE_SYSTEM_GUIDE.md(540 lines) - Full queue system documentationINTEGRATION_GUIDE.md(546 lines) - Step-by-step integration instructionsCOMPLETION_SUMMARY.md(548 lines) - Project completion overview
Updated Documentation
README.md- Updated with DVD features and installationMODULES.md- Enhanced module descriptions and coverageTODO.md- Reorganized for dev14 planning
Documentation Updates
New Documentation Added
- Enhanced
TODO.mdwith Lossless-Cut inspired trim module specifications - Updated
MODULES.mdwith detailed trim module implementation plan - Enhanced
docs/README.mdwith VT_Player integration links
Documentation Enhancements
- Trim Module Specifications - Detailed Lossless-Cut inspired design
- VT_Player Integration Notes - Cross-project component reuse
- Implementation Roadmap - Clear development phases and priorities
For detailed technical information, see the individual implementation documents in the docs/ directory.
Navigation
What is VideoTools?
Project Status
Capabilities
Codecs and Frame Rates
Installation (One Command)
Alternative: Developer Setup
DVD Workflow (Optional)
Documentation
- Project Status
- Installation
- Readme
- Build And Run
- DVD User Guide
- DVD Implementation Summary
- Integration Guide
- Queue System Guide
- Localization-Policy