Skip to content

cplay v2.5

Latest

Choose a tag to compare

@Kosmodrom-lab Kosmodrom-lab released this 24 Oct 00:18
· 1 commit to main since this release
aaca212

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.