Releases: Gpower2/gMKVExtractGUI
v2.14.0
What's Changed
- chore(localization): refine Simplified Chinese translations by @ambitiuswisdom in #46
- fix: Add guard to ApplyResponsiveLayout for early resize safety. Fixes #51
- fix: Fix translation grid cell commit logic in order to avoid overwriting the whole translation text per key stroke. Fixes #45
- fix: Fix HighDPI mode for Windows by querying during start up and selecting the best mode available for the current Windows version. Fixes #36
New Contributors
- @ambitiuswisdom made their first contribution in #46
Full Changelog: v2.13.0...v2.14.0
v2.13.0
What's Changed
- feat: Add localization feature (#39)
- perf: Use typed synchronous extraction delegates in gMKVJob and gMKVExtract
- perf: Remove DoEvents from SetTableLayoutMainStatus methods in main Form
- perf: Replace task polling with continuation-based TPL in main Form.
- perf: Replace thread polling with event-driven extraction completion
- perf: Send async events for updating the progress and status fields in the forms.
- fix(dark): Fix scrollbars in dark mode for RichTextBox.
- fix(dark): Fix buttons light mode theming when switching from dark to light mode during runtime.
- fix(dark): Fix status strip in dark mode for Mono runtime
- fix: Fix gform DPI autoscaling and force initial DPI scaling on Mono in gForm.InitDPI. References issues #36 #41 (#42)
- chore: Sanitize all files with the same line endings (CRLF) and encoding (UTF-8 without BOM) for consistency
- chore: Fix public API of gMKVToolnix sevices
Notes
gMKVExtractGUI now finally supports localization! πͺ
These come as a separate set of json files, which need to exist in the same folder as the gMKVExtractGUI.exe, which are provided in a separate archive for every release from now on. π
There is also a new Translations form, accessed via the Options form, where translators can edit existing translations or create new ones.
Since the locales provided here were created with the use of AI translation, they might contain inconsistencies, please feel free to open PRs with adjustments for your locales π
The docs also provide extensive guides on how to use the new Translations form.
Full Changelog: v2.12.0...v2.13.0
v2.12.0
- doc: Update the user manual with the new Advanced Options.
- fix: The Defaults button in Options form now resets the new Advanced Options too.
- feat: Add support for raw and fullraw track extraction modes. This closes #22 (#33)
- feat: Add option to disable BOM for text files (v96.0+) #31 (#32)
- fix: Fix key overrides of custom TextBox controls for Ctrl+A and Ctrl+C
- fix: Changed txtLog to gRichTextBox and removed unused code
- feat: Add a Select button that displays the Context Menu as another entry point for it. #27 (#30)
- fix: fix MkvToolnixPath detection when Settings path is empty (#29) Thanks @lapluis
v2.11.1
- fix: Fix issue with Job manager when adding tracks that don't have CodecPrivate data, like PGS subs. thanks arestarh
Full Changelog: v2.11.0...v2.11.1
v2.11.0
- feat: Add tooltips and an option to disable/enable them. Closes #21 (#24)
- feat: Support checking/unchecking all Forced tracks per track type.
- feat: Add support for the Forced track property. Closes #20
- feat: Add option for overwriting existing files when extracting. This closes #18 (#19)
- feat(tags): Add output filename options for tags. Closes #12
- feat: Changed the output file extension for the OGM chapter type from "ogm.txt" to "txt" in the
gMKVToolNix.MkvExtractnamespace. Closes #4 - fix(linux): Fix some more possible Linux issues with P/Invoke
- fix(linux): correctly fix gRichTextBox issue in Linux
- fix(linux): Fix some issues in Linux by excluding paths with P/Invoke.
- docs: Enhance README and add docs folder with a basic User Manual
- tests: Introduce Unit Tests and refactor part of the code for testability and performance (#11)
- perf: Improve context menu creation
- perf: Core refactor
- Huge refactor of parsing state, practically making parsing stateless
- Refactored the process output handling, by using List instead of StringBuilder to avoid splitting into individual line strings afterwards
- Removed file existence checks for batch requests to minimize the IO operations
- Various code optimizations in string operations
- Various code formatting improvements
- Refactor gMKVMerge, option handling and codec private data logic (#15)
- Refactor gMKVInfo, fix typos and improve parsing (#14)
- Refactor gMKVExtract and related components (#13)
Full Changelog: v2.10.0...v2.11.0
v2.10.0
What's Changed
- fix(ui): Show "Extraction completed!" message in the segment info text box instead of the label status, to avoid visual clatter (thanks @dclxvplusone)
- feat(chapters): Add new PBF chapter type. It automatically transforms the default XML chapter type to the PBF chapter type. Comes with no guarantees, since documentation is basically non-existent.
- Reorganize and refactor various parts of the code. Switch to using Newtonsoft.Json via Nuget and update to latest version
Full Changelog: v2.9.1...v2.10.0
v2.9.1
- fix(init): Revamped the init sequence for detecting the MKVToolnix path and added a new button to manually trigger the auto detect sequence. #2
- fix(logs): Fix various logs in FrmMain2 and gMKVHelper. #2
Notes:
The priority for setting the MKVToolnix path during the app init is now the following:
- Check for manual path set via cli arguments
- Search in the .ini file for the MKVToolnix path
- Search the current directory
- For Windows: search the registry for an MKVToolnix installation
- For Linux: seatch the usr/bin folder for MKVToolnix
Also, an "Auto Detect" button was detected, in order to easily reset the directory in case a manual override was added via the form.
v2.9.0
- fix(progress): Update the task bar progress bar value based on the total progress and not on the individual job progress
- fix(code): Switch to unboxed types and minor optimizations.
- fix(gForm): Add the form handle in the remaining message boxes in gForm
- feat(dark): Implement Dark Mode in a new way with a bit of help from AI (thanks Jules!)
- fix(files): Fix file structure
- Create README.md