Releases: ModMaker101/KeyLighting.NET
Releases · ModMaker101/KeyLighting.NET
v1.4.0
What's New
1. Console String Formatting Improvements
- Introduced UTF-8 buffer-based formatting using
Utf8.TryWriteandEncoding.UTF8for debug messages and file names inProgram.cs. - Added a shared
debugBufferfor efficient string construction and output. - Implemented helper methods for formatted console output and buffer pooling.
2. Debug Image Saving Refactor
- Refactored debug image saving logic to use UTF-8 buffers for filename formatting, improving performance and consistency.
- Enhanced exception handling for image saving; now outputs errors via the new buffer-based method.
3. Cleanup and Comments
- Removed or condensed outdated comments and unused code, particularly in platform-specific sections.
- Cleaned up redundant comments and dead code related to fading and transition logic.
4. Platform Abstraction Cleanliness
- Simplified placeholder implementations for Linux and macOS screen capture (no new functionality added).
- Maintained fallback monitors and test patterns for non-Windows platforms with reduced code clutter.
5. Minor Logic and Readability Tweaks
- Improved logic clarity in fading and color transition code.
- Consolidated and simplified transition handling in
CPUImageProcessorfor better maintainability.
What's Changed
- 1.4.0 by @ModMaker101 in #3
Full Changelog: v1.3.0...v1.4.0
v1.3.0
Key Changes & Improvements
1. Fading & Transition Logic Refactor
Fade Speed Handling:
- Fading is now only applied if
fadeSpeed(orFadeFactor) is less than1.0. If set to1.0(or near), transitions are instant. - The logic for fading solid color frames and column effects is unified and clarified.
ProcessSolidColor Method:
- Rewritten to better handle fading between different solid colors, including brightness transitions.
- Fade calculations are now more direct and use the configured fade speed.
- Removed redundant/unused logic and variables.
ApplyFading Method:
- Simplified: Now only applies fading if needed, with clear comments.
- Removed
fadeProgressArray:- The per-LED fade progress tracking mechanism (
fadeProgress) was removed, simplifying color updates and reducing unnecessary state.
- The per-LED fade progress tracking mechanism (
2. Keyboard Color Update Logic
UpdateLedColors Refactored:
- Instantly applies color if fade factor is very high (
>= 0.99). - Otherwise, uses a simple, fast
lerp(linear interpolation) with a strong weight for fast but not instant transitions. - WASD key handling improved—special color application is clearer.
- Previous per-LED fade progress and cubic easing removed for code clarity and speed.
3. Configuration Tweaks
config.json:
- Lowered the default
fadeFactorfrom0.9to0.3for a slower, more noticeable fade by default.
4. Code Cleanup
- Removed unused variables and legacy code.
- Added comments for clarity, especially around fading logic.
- Improved code readability and maintainability.
What's Changed
- fixing a bug with the fade lol by @ModMaker101 in #2
Full Changelog: v1.2.0...v1.3.0
v1.2.0
Update Summary
Transitions & Fading
- Added fade/transition logic for color changes to enable smoother visual transitions.
- Solid color frame detection introduced to optimize fading performance.
Color Processing Refactor
- Separated column extraction from effect application for better modularity.
- Optimized column processing:
- Loop unrolling
- Parallelism for performance boost
Configuration Changes
- Constructor updated:
CPUImageProcessornow requires aLightingConfig, allowing configurable fade speed. fadeFactorchanged frominttofloat(e.g.,0.9instead of3) to better support blending logic.
Code & Memory Management
- Improved memory cleanup: Added proper disposal for newly allocated buffers.
- General code cleanup:
- Better LUT initialization
- Value clamping
- Added performance hints where applicable
What's Changed
- optimization and change some properties by @ModMaker101 in #1
New Contributors
- @ModMaker101 made their first contribution in #1
Full Changelog: v1.1.0...v1.2.0
v1.1.0
Full Changelog: v1.0.0...v1.1.0
v1.0.0
Full Changelog: https://github.com/ModMaker101/KeyLighting.NET/tree/v1.0.0