BriskPlayer v3.0.0 Changelog
New Features
- Enhanced internationalization support with gettext integration
- Dynamic language switching support
- Added language enumeration functionality
- Thread-safe translation system using C23 thread-local storage
Windows XP Compatibility
- Added dynamic loading for Vista+ locale APIs (
GetUserDefaultLocaleName,LocaleNameToLCID) - Implemented XP fallback using
GetUserDefaultLCID()andGetLocaleInfoA() - Added hardcoded LCID mappings for common languages (en, de, fr, es, it, ja, zh, ko, ru, pt, nl, pl, tr, sv, cs)
- Cached function pointers for improved performance on repeated calls
Build System Improvements
- Fixed MinGW 32-bit compilation errors with Windows locale APIs
- Added proper static linking of C++ standard library for TagLib compatibility
- Compiler detection for Clang vs GCC with appropriate flags
- Fixed
__cxxabiv1::__class_type_infovtable linkage errors - Added
-static-libstdc++and-static-libgccfor MinGW builds - Proper C++ runtime linking for mixed C/C++ projects
Bug Fixes
- Fixed signedness comparison warning in locale name handling
- Resolved implicit function declarations for Windows locale APIs
- Fixed undefined reference errors when linking with TagLib (C++ library)
Technical Improvements
- Set minimum Windows version to XP (0x0501) while maintaining Vista+ feature detection
- Improved error handling in locale detection and setting
- Better memory management for translation buffers
- Enhanced code comments and documentation
Downloads are available at Github