Releases: SAMDestroy/AVRControl
AVRControl V1.3.0
π AVRControl v1.3.0 β The Visual Precision Update
This release introduces a completely redesigned, lag-free playback engine and a surgical fix for the most persistent Windows UI bugs.
β¨ New Features
- High-Performance Progress Engine: Replaced the legacy Windows Progress Bar with a custom-engineered Dual-Panel Progress System. This provides a rock-solid, non-animated, and frame-perfect visual representation of your music playback.
- Aesthetic: The new progress bar features a clean, high-contrast design, eliminating the distracting "Windows Green Glow" for a focused, modern interface.
- Zero-Latency Timecode: Optimized the synchronization between the local 100ms timer and the HEOS Telnet pulse. The playback bar now glides smoothly without the typical "jumping" seen in standard OS controls.
π οΈ Technical Improvements
- Intelligent Metadata Guard: Implemented a new State-Pending Logic for HEOS events. The app now distinguishes between a real track change and background metadata updates (like covert art refreshes), preventing accidental progress resets.
- Smart Plausibility Filter: Introduced a "Ghost-Zero" protection that filters out invalid 0ms-timecodes often sent by the AVR during network jitter, ensuring the timeline remains stable even under unstable conditions.
- Engineered Rendering: Switched to a manual width-calculation rendering for the playback bar. This bypasses the heavy Windows GDI+ animation engine, drastically reducing UI overhead and flickering.
π Bugfixes
- Fixed: Resolved the "Middle-of-Song Jump" where the progress bar would occasionally reset to 0:00 during active playback due to misinterpreted HEOS change-events.
- Fixed: The "Vanishing Icon" bug is now permanently addressed through a new Handle-Created Master Fix and Icon-Cloning. The app icon now remains anchored in the taskbar even after DPI changes or deep sleep cycles.
- Fixed: Corrected a UI-layering issue where the time-label would occasionally become obscured by the progress background.
Developer Note:
The transition from a standard ProgressBar to a custom Panel-based system was necessary to overcome native Windows limitations. This update marks a significant step towards a professional-grade desktop controller with 100% visual reliability.
License
This project is licensed under the GPU V3 License. See the LICENSE file for details.
This means you are free to use, modify, and distribute the software, provided that the original copyright notice is included.
AVRControl V1.2
π AVRControl v1.2.0 β The Audio Precision Update
This release introduces advanced speaker calibration tools and a high-resilience network engine for seamless control.
β¨ New Features
- Advanced Speaker Control: A dedicated new tab for real-time channel level adjustments (Channel Volume Offset), mirroring the precision of the original web interface.
- Master Subwoofer Slider: Control both subwoofers simultaneously with the Master Slider. It features a smart Delta Protection system that preserves your custom level ratio between Sub 1 and Sub 2 while moving.
- One-Click Speaker Reset: A new global "Reset" button that instantly returns all speaker offsets to a neutral 0.0 dB state with a synchronized hardware refresh.
- Authentic DB Display: All speaker labels feature high-precision dB readouts, including the characteristic "+" and "-" prefixes (e.g., +1.5 dB) for a true AVR feel.
π οΈ Technical Improvements
- Standby Resilience: Completely overhauled the TCP Watchdog. The app now survives standby and hibernate cycles, performing a silent "Self-Healing" reconnect upon wake-up.
- Smart Command Throttling: Implemented a hardware-safe 50ms/100ms throttle for all sliders. This prevents network buffer overflows and ensures smooth, lag-free communication with the AVR.
- Flicker-Free UI: Introduced a new state-locking mechanism (isScrolling) that prevents sliders from "jumping" or "jittering" while the user is actively making adjustments.
- Optimized Power Management: Integrated an intelligent UI-Gate that automatically switches the app back to the Main Tab when the AVR is powered off, ensuring a clean state for the next session.
π Bugfixes
- Fixed: Resolved the "Disappearing Icon" issue where the app icon would vanish from the taskbar after a Windows standby/resume cycle.
- Fixed: Improved Telnet parser stability to handle fragmented multi-line responses during high-traffic status updates.
- Fixed: Corrected the "Subwoofer EL" command syntax specifically for X-Series models to ensure 100% command acceptance.
Developer Note:
The new Speaker Control operates on the Channel Volume (CV) level. This allows for safe, temporary adjustments during playback without overwriting your permanent Audyssey room calibration.
AVRControl V1.1
π AVRControl v1.1.0 β The Architecture Update
This release marks a major milestone in system stability, modular design, and user flexibility.
π‘ Deployment Options & Flexibility
- Portable Mode: Run the app directly from any folder. Perfect for users who prefer to pin the app to the Taskbar or manage their own custom Autostart entries. In this mode, the Systray option can be toggled on or off freely.
- Installation Mode: Use the built-in "Install" feature to automatically set up AVRControl in your Roaming directory with a Windows Autostart entry. Note: To ensure seamless background operation, the Systray mode is permanently enabled and locked when installed.
β¨ New Features
- Enhanced Tray Menu: New context menu featuring a direct link to the GitHub project page, a dedicated "Show/Hide" toggle, and modernized icons.
- Smart Config System: Migrated to a key-value based configuration (AVRControl.cfg). Settings like IP and Systray status are now stored securely with specific identifiers.
- Robust XML Parsing: Friendly name retrieval (e.g., "PlayStation") is now asynchronous. Built-in timeouts and fallbacks prevent crashes during AVR reboots or firmware updates.
π οΈ Technical Improvements
- Modular Architecture: Fully transitioned to Partial Classes. Logic is now separated into specialized modules (Parser, Toggles, Setup, Helpers), significantly improving maintainability.
- Zero-Dependency Release: The GitHub update system now uses native string parsing. The application requires no external DLLs and remains a clean, single EXE file.
- Optimized State Management: Separated connection status (Port Check) from actual Power Status (Telnet feedback) to prevent false UI indications.
π Bugfixes
- Fixed: "Connection Refused" exception handled for port 8080 during AVR boot cycles.
- Fixed: Initializing issue where isRunningFromRoaming failed to detect the installation status in partial classes.
- Fixed: Eliminated UI flickering and redundant config write-access through improved focus checks.
V1.0
Initial Release