Repository navigation
Release v2.5 — Dynamic Memory Blitting, Integrated DSP & Responsive Engine
cplay v2.5 introduces a complete architectural refactoring of the console blitting pipeline, expanding matrix memory buffering across all UI screens, upgrading real-time audio telemetry, and delivering a rock-solid high-DPI options interface.
🚀 Key Improvements & Features
🎛️ Dual-Screen & Matrix Memory Blitting Pipeline
Zero-Flicker Full-Matrix Buffering: Extended direct video memory matrix writes (CHAR_INFO) across all screens (Player View, EQUALIZER & DSP, Audio Engine & Accessibility, and Playlist Browser).
Single Atomic Flushes: Standardized screen updates using FlushBufferEx(), eliminating console flicker and cursor tearing during rapid navigation.
📊 Live Hardware Monitoring
Smart Device Label Extraction: Parsed and clean-formatted active Windows audio endpoints (extracting core device descriptions) aligned flush-right on the bottom telemetry bar.
🎚️ High-DPI Responsive Graphic EQ & DSP Module
High-DPI Responsive Response Curve: Re-engineered DrawEqResponseGraph() to scale dynamically with Windows Display DPI scaling (100%, 125%, 150%, 200%), ensuring smooth rendering on high-resolution displays.
Re-aligned Options Layout: Shifted options listboxes and parameter form down by 1 row to give the header room to breathe and eliminate bottom label clipping on the EQ response graph.
Integer-Scaled Parameter Logic: Refactored floating-point EQ gain evaluations across numeric form displays and file persistence to pure integer math, guaranteeing deterministic formatting.
⚡ Performance & Engine Refinements
Optimized Cover Art Scaling: Reduced background GDI software scaling frequency from 20 FPS to a balanced 1-second ticker (with instant repaints on window restore), dramatically lowering idle CPU load.
Seamless Audio Device Switching: Built smooth BASS device re-initialization and stream position restoration when changing output soundcards on the fly.