Repository navigation
ScreenshotConverter — v2.0.0 "So Long, and Thanks for All the BMPs”
Overview
This version delivers a full rewrite of the Screenshot Converter plugin to integrate with the new Covas:NEXT plugin framework.
The plugin is now faster, more reliable, and capable of converting screenshots entirely in the background without blocking game events or chat interactions.
This update supersedes the legacy 1.x architecture and introduces a robust conversion pipeline with improved path handling, error reporting, and smarter filename generation.
✨ New Features
Full Covas:NEXT Plugin System Integration
- Rewritten to use the new
PluginBaseandPluginHelperAPIs. - Now registers both side-effects and projections to detect screenshot events from multiple event sources.
- Uses
PluginEvent(ScreenshotConverted) for direct user feedback after successful conversion.
Improved Screenshot Conversion Engine
- Automatically converts Elite Dangerous
.bmpscreenshots to PNG or JPG. - Conversion now runs in a dedicated background thread, avoiding freezes and blocking I/O.
- More reliable detection of screenshot filenames across:
- Standard ED screenshot path
- Alternative paths
- Relative paths containing
ED_Pictures
Intelligent Filename Generation
- New naming scheme based on:
- Current star system (pulled from the Covas:NEXT
Locationprojection) - Timestamp (
YYYYMMDDHHMMSS) - Automatic detection of high-resolution screenshots (
HiRes)
- Current star system (pulled from the Covas:NEXT
- Examples:
Sol_20250101.pngColonia_HiRes_20250101.jpg
Settings Panel Enhancements
- New configuration UI in Covas:NEXT settings:
- Screenshot folder selection (supports environment variables)
- Output format selector (PNG / JPG)
- Sensible defaults:
- Default screenshot path:
%USERPROFILE%\Pictures\Frontier Developments\Elite Dangerous - Default format:
PNG
- Default screenshot path:
PluginEvent for User Notifications
- After each successful conversion, the plugin emits:
ScreenshotConverted - Covas:NEXT can react to this with custom messages like:
“Screenshot converted to PNG: Sol_20250101.png”
🛠️ Improvements
Robust Error Handling
- Clear logs for missing files, invalid paths, corrupted BMPs, or PIL errors.
- Improved traceback reporting for easier debugging.
- More defensive code around event content and metadata.
Conversion Pipeline Upgrades
- JPG conversion automatically strips alpha channels for compatibility.
- Optimized file I/O with safe deletion of BMPs using
unlink(missing_ok=True). - Automatic expansion of environment variables (
%USERPROFILE%, etc.).
Stability & Architecture
- Added a direct screenshot projection as an additional detection mechanism.
- Reduced risk of blocking during intense event bursts.
- Ensured conversion threads run in daemon mode to prevent lockups.
🐛 Bug Fixes
- Fixed issues where the plugin failed to detect screenshots when ED returned relative paths.
- Corrected cases where screenshots were saved in the wrong directory due to inconsistent path resolution.
- Prevented crashes caused by missing
Filenamefields in rare events. - Fixed incorrect behavior where custom settings were not being read correctly.
- Resolved several edge cases with high-res and standard screenshots sharing the same base filename.
⚙️ Compatibility Notes
- v2.0.0 is fully compatible with the new Covas:NEXT plugin framework.
- Previous 1.x settings are not automatically migrated; the new settings panel is simpler and more robust.
- Requires Pillow (PIL) to be available in the Covas:NEXT environment.
📦 Internal Changes
- Complete codebase cleanup and modernization.
- Rewritten event-handling logic using Covas:NEXT projections and side-effects.
- Streamlined logging, unified conversion path management, and improved plugin lifecycle handling.