22. Mai 2023: TS-DOCTOR 4.0.2315. März 2022: BSI warnt vor Kaspersky AV16. Mai 2020: Audio Recorder 1.0.11
Begonnen von ErichV, November 30, 2011, 12:16:57
Zitat von: ChangelogNew features and enhancementsmkvmerge: the options --default-track and --forced-track have been renamed to --default-track-flag and --forced-display-flag respectively for improved consistency with other option names & the wording used in the GUI. However, the old names will be supported and recognized indefinitely. What will remain unchanged is the property names for those flags in mkvmerge's identification output. Existing third-party programs will continue working as they are.mkvmerge: added a new option --track-enabled-flag to set or unset the "track enabled" track header flag.mkvmerge: MP4 reader: mkvmerge will now evaluate the flags field of the track header atom (tkhd) and set the track's "enabled" flag accordingly. Implements #3272.MKVToolNix GUI: multiplexer: added support for the "track enabled" track header flag.MKVToolNix GUI: multiplexer, header editor: added several menu entries & keyboard shortcuts for toggling various track flags of the currently selected tracks, e.g. Ctrl+Alt+F, D (that's Ctrl and Alt with F simultaneously followed by D without any other key pressed) for toggling the "default track" flag. Part of the implementation of #3253.MKVToolNix GUI: multiplexer, header editor: added menu entries & keyboard shortcuts for setting the language of the currently selected tracks to one from a configurable list of languages. The shortcuts used are Ctrl+Alt+A, 1 through Ctrl+Alt+A, 0 for the first ten entries of that list (that's Ctrl and Alt with A simultaneously followed by a digit without any other key pressed). Part of the implementation of #3253.MKVToolNix GUI: chapter editor: if the user enters commas in start or end timestamps they will automatically be changed to points as the decimal separator, allowing for easier copy & paste from other programs/sources. Implements #3273.MKVToolNix: header editor: the selected track or attached file can now be moved up & down with the keyboard shortcuts Ctrl+Up & Ctrl+Down respectively. Part of the implementation of #3253.Bug fixesmkvmerge: Matroska reader: DVB subtitle tracks with a codec private data size of more than five bytes are accepted now, too. Fixes #3258.
Zitat von: ChangelogNew features and enhancementsmkvpropedit: added a new option --chapter-charset allowing the user to specify the character set to use when reading the following chapter file. Implements #3276.MKVToolNix GUI: each language shortcut can now be associated with an optional track name that is set along with the language when the shortcut is used. This is an alternative to the feature requested in #3283.Bug fixesmkvmerge: Ogg/OGM reader: mkvmerge will no longer abort with an exception when it encounters Vorbis comments that contain data that isn't valid UTF-8. Fixes #3290.MKVToolNix GUI: multiplexer: fixed several issues with the tab order of elements in the "properties" pane and the "output" tab. Also fixed the language display widgets (e.g. "track language" in the "properties" pane) never receiving tab focus. Fixes #3274.MKVToolNix GUI: multiplexer: the chapter name template will now be passed to mkvmerge if a chapter file is selected on the "output" tab. Fixes #3295.
Zitat von: ChangelogNew features and enhancementsall: IETF BCP 47/RFC 5646 language tags: when deriving the legacy language element codes to use a language tag's ISO 639 code is also potentially interpreted as an & its prefix is used as the legacy language code. For example, "Yue Chinese" = yue is not part of ISO 639-2. However, there is an extlang subtag yue with a valid prefix of zh ("Chinese"), and for "Chinese" there is an ISO 639-2 language code: chi. In this example the IETF language element would be set to yue and the corresponding legacy element to chi. Part of the implementation of #3307.all: IETF BCP 47/RFC 5646 language tags: grandfathered language tags are now supported. Part of the implementation of #3307.all: IETF BCP 47/RFC 5646 language tags: all deprecated subtags from the IANA language subtag registry are now supported. Part of the implementation of #3307.all: IETF BCP 47/RFC 5646 language tags: all lists of valid subtags have been updated from their respective authoritative sources. Part of the implementation of #3307.all: IETF BCP 47/RFC 5646 language tags: all in the IANA language subtag registry are now supported, even those marked as deprecated and of type 'grandfathered'. Part of the implementation of #3307.all: IETF BCP 47/RFC 5646 language tags: reduced the maximum number of extended language subtags that are present in a valid tag from 3 to 1 in compliance with RFC 5646 section 2.2.2. Part of the implementation of #3307.all: IETF BCP 47/RFC 5646 language tags: all language codes reserved for private/local use (qaa–qtz) are now supported. Part of the implementation of #3307.all: IETF BCP 47/RFC 5646 language tags: Digital Cinema Naming Convention language codes that fall into the IETF BCP 47 range of "private use" tags (qaa–qtz) are now replaced by their IETF BCP 47 equivalents during normalization (e.g. QMS → cmn-Hans). Part of the implementation of #3307.all: added a new translation to Chinese Simplified (Singapore) by Dian Li.mkvmerge, mkvpropedit: added a new command line option called --enable-legacy-font-mime-types. With this option on the two programs will use the same legacy MIME types for fonts whenever new attachments are added (both programs), when reading existing attachments (only mkvmerge) or when replacing existing ones (only mkvpropedit).mkvmerge, mkvpropedit: IETF BCP 47/RFC 5646 language tags: added a command line option --normalize-language-ietf <mode> which turns on normalization of IETF BCP 47 language tags to either their canonical (mode canonical) or extended language subtags form (mode extlang) or turns it off (mode off). If the option isn't given, language tags will now be normalized to the canonical form. Part of the implementation of #3307.MKVToolNix GUI: IETF BCP 47/RFC 5646 language tags: ISO 639-3 and 639-5 languages will now be used by default. Part of the implementation of #3307.MKVToolNix GUI: IETF BCP 47/RFC 5646 language tags: the language editor dialog will now show warnings in several cases: when deprecated tags are used; when the tag's canonical and/or extlang forms differ from the user input. Part of the implementation of #3307.MKVToolNix GUI: IETF BCP 47/RFC 5646 language tags: the language editor now has a button to replace the current tag with a normalized form (canonical or extlang) if those differ from the current tag. Part of the implementation of #3307.MKVToolNix GUI: IETF BCP 47/RFC 5646 language tags: added an option in the preferences to always normalize all language tags to their canonical or extlang forms or to turn normalization off. Can also be enabled from the language editor dialog. Part of the implementation of #3307.MKVToolNix GUI: IETF BCP 47/RFC 5646 language tags: the language dialog now shows a warning if a variant is used with a prefix that isn't in the variant's list of suitable prefixes. It'll also say if the corresponding canonical/extlang forms would have a suitable prefix. Part of the implementation of #3307.MKVToolNix GUI: IETF BCP 47/RFC 5646 language tags: the language dialog now shows a warning if a script is used with a language for which it should be suppressed. Part of the implementation of #3307.MKVToolNix GUI: multiplexer: the track property group boxes in the scrollable pane are now collapsible & expandable, saving their state over restarts of the GUI. This is in preparation of adding many more track properties in future releases, allowing the user to hide parts they don't use all that often.MKVToolNix GUI: multiplexer: if the option "use legacy font MIME types" is enabled in the preferences, the new command line option --enable-legacy-font-mime-types will be passed to mkvmerge in order to have it remap the MIME types of existing attachments, too.Bug fixesall: IETF BCP 47/RFC 5646 language tags: variants aren't validated wrt. to prefixes anymore as BCP 47 doesn't actually pose restrictions on them, saying only that prefixes "are suitable sequences" for use with the variants. What is now verified, though, is that no variant is used multiple times within the same language tag. Part of the implementation/fix of #3307.build system & MKVToolNix GUI: fixed detecting the presence of & the compilation with the multimedia module of Qt version 6.2.0 and newer.build system: fixed compilation on Unices other than Linux & macOS (e.g. FreeBSD). Fixes #3316.MKVToolNix GUI: job queue: fixed compiling in the audio player code for the the "play audio" end-of-job action. Fixes #3303.MKVToolNix GUI: multiplexer: recognizing added XML chapter, segment info or chapter files required the XML declaration & root node (e.g. <?xml...?> ... <Chapters> for chapters) be located within the first 1 KB, which wasn't enough for files that contain a lot of comments at the start like the included example-chapters-2.xml. The detection range was extended to 10 KB. Fixes #3302.Build system changesbuild system: the provided Windows binaries are now compiled with Qt 6. A drawback is that certain audio formats aren't supported anymore by Qt for the "end of job" sound notification playback, notably the Ogg file format & the Vorbis audio codec. MKVToolNix therefore now ships Opus-in-WebM files for the same purpose.The bundled fmt library was updated to v8.1.1.The bundled nlohmann-json library was updated to v3.10.5.The bundled pugixml library was updated to v1.12.1.
Zitat von: ChangelogNew features and enhancementsmkvmerge: HDMV PGS subtitles: mkvmerge now tries to detect bogus timestamps (where the current timestamp is two hours or more after the previous timestamp) & correct them to something more sensible (1s after the previous timestamp). That way one bogus timestamp cannot cause the rest of the frames to not be interleaved properly with the other audio & video packets. Implemented for #3268.mkvmerge: added colour information, colour mastering meta information & video projection information properties to the JSON identification format. The properties are reported for container types for which mkvmerge supports reading them (Matroska & MP4). The JSON identification format version number has been bumped to v15.MKVToolNix GUI: multiplexer: added controls for all the video colour information & the video projection information.Bug fixesmkvmerge: SRT reader: entries with a duration of 0 or less will now be skipped. Fixes #3332.mkvpropedit, MKVToolNix GUI's chapter & header editors: fixed an invalid memory access when trying to update existing Matroska files whose EBML Head element had a "size" field length of eight bytes, and where rewriting said element would shrink the element by one byte. Files created by gstreamer fit the first part whereas the second depends on the changes requested by the user. Part of the fix of #3325.mkvpropedit, MKVToolNix GUI's chapter & header editors: fixed the programs not handling having to remove EBML void elements at the end of the file correctly and consequently aborting. Part of the fix of #3325.MKVToolNix GUI: the GUI now uses almost all SVG icons, allowing proper scaling even for scaling factors such as 125%. Fixes #3335.MKVToolNix GUI: when compiled with Qt 5 the character set of INI files is forced to UTF-8 in order to fix reading INI files written by a version compiled with Qt 6. Fixes #3346.Build system changesQt's SVG library is now required.
Zitat von: ChangelogImportant notesall: the spelling of "colour" was changed to "color" throughout all programs to match the use of American English spelling in MKVToolNix. This not only affects documentation and user interface controls, but also program options for mkvmerge & mkvpropedit. Both programs will continue to accept the British English spelling of their respective options indefinitely. One breaking change is that the property names in mkvmerge's JSON identification mode have also been changed to American English spelling. As those properties have only been introduced in release v68, this seems like a small enough window to make such a change.New features and enhancementsMKVToolNix GUI: the number of recently used entries (e.g. destination directories) remembered by the GUI can now be configured in the preferences. Implements #3362.MKVToolNix GUI: multiplexer: when adding files the track properties regarding color information & color mastering meta information will be parsed & set in the corresponding GUI controls. Implements #3359.MKVToolNix GUI: job queue: the job queue can now be sorted by clicking on the column headers. Part of the implementation of #3365.MKVToolNix GUI: job queue: when loading jobs from the queue directory that weren't previously known to the program those jobs will be sorted by their "date added" timestamp instead of using the order the operating system returns them in. Part of the implementation of #3365.Bug fixesbuild system: fixed compilation with fmt v9. Fixes #3366.mkvmerge: HEVC ES parser: the parser will now parse at least the first full access unit before reporting that it has found all the required headers. Otherwise parsing might stop in the middle of the access unit due to the source reader not providing more data in the first call, leading to the parser not finding the unspec62 and unspec63 NALUs required for Dolby Vision. Fixes #3363.MKVToolNix GUI: preferences: the default actions added to the "execute programs" section on new installations now default to use WebM file names instead of Ogg, matching the format of the included audio files.Build system changesThe bundled fmt library was updated to v9.0.0.
Zitat von: ChangelogNew features and enhancementsMKVToolNix GUI: the user can now control where the job queue files & the preferences INI file are stored via environment variables. If set, the variable MKVTOOLNIX_GUI_STATE_DIR can point to a directory where the GUI stores both the job queue sub-directory and the preferences INI file. If you only want to relocate the preferences INI file, you can store the desired file name for the INI file in MKVTOOLNIX_GUI_CONFIG_FILE. Implements #3382.MKVToolNix GUI: when adding directories via drag & drop/copy & paste the GUI will now offer the user the option to create one multiplex settings tab per directory & adding all files from that directory to the corresponding, newly created tab. Implements #3371.Bug fixesmkvmerge: AV1 OBU parser: fixed identifying files that only contain single frame. Fixes #3380.MKVToolNix GUI: multiplexer: when reading color parameters from identified files that are floating point numbers (minimum/maximum luminance, projection pitch/roll/yaw) the numbers will be formatted in floating-point notation instead of scientific notation as mkvmerge only supports the former. Fixes #3368.MKVToolNix GUI: multiplexer: color parameters that are floating point numbers (minimum/maximum luminance, projection pitch/roll/yaw) will only be set to a value during identification if the identification actually contains the property, and not to 0 anymore if it doesn't.Build system changesSeveral merge requests where accepted that improve compilation on MSYS2 on Windows. Note that this build type isn't supported.
Zitat von: ChangelogNew features and enhancementsmkvmerge, MKVToolNix GUI's multiplexer: added support for the Emphasis audio track header element via the --audio-emphasis option. It is also read from Matroska files.mkvmerge: the options --list-stereo-modes and --list-audio-emphasis have been added to list all support numerical & textual values for the --stereo-mode & --audio-emphasis options.mkvpropedit, MKVToolNix GUI's header editor: added support for the Emphasis audio track header element via the emphasis property.MKVToolNix GUI: multiplexer: when the track properties are configured to be displayed in a tab widget below the files & tracks in the "Input" tab, the "Color information" tab will be laid out in two columns. This reduces the minimum height the whole tab widget requires. Implements #3401.MKVToolNix GUI: greatly sped up closing the preferences dialog by only re-running certain initialization functions when their corresponding settings have changed. Also fixes issues such as #3406.mkvinfo, MKVToolNix GUI's info tool: added support for the following new elements from Matroska v5: Emphasis audio track header element; Chapter Skip Type; Edition Display; Edition String; Edition Language IETF.mkvmerge, mkvpropedit: added support for the following new chapter elements from Matroska v5: Chapter Skip Type; Edition Display; Edition String; Edition Language IETF. The GUI's chapter editor will receive support for them in the next release.Bug fixesmkvmerge: Ogg/OGM reader: mkvmerge will now correctly skip tracks of unsupported types as well as tracks for which all track header pages haven't been found. Fixes #3394.Build system changeslibEBML 1.4.4 & libMatroska 1.7.1 are now required.The bundled libEBML & libMatroska libraries were updated to v1.4.4 & v1.7.1 respectively.The bundled fmt library was updated to v9.1.0.The bundled nlohmann-json library was updated to v3.11.2.
Zitat von: ChangelogBug fixesChapters DTD: added the new edition & chapter elements from Matroska v5.Chapters DTD: fixed EditionUID being mandatory. mkvmerge can auto-generate it if it's missing from the XML file.Chapters DTD: fixed the example-chapters-1.xml not validating against the DTD.Chapters DTD: corrected the old name EditionManaged to EditionFlagOrdered.Chapters DTD: fixed ChapLanguageIETF missing its element declaration & ChapterLanguage being required.XML DTDs: fixed elements representing binary data not allowing the format attribute.Build system changesbug fix: configure accidentally tested for libEBML ≥ 2.0.0 & libMatroska ≥ 2.0.0, even though the actual requirements are 1.4.4 & 1.7.1 respectively.
Zitat von: ChangelogNew features and enhancementsmkvmerge: AV1 parser: the variable-width OBU size field will be re-written with minimal length if it's encoded longer than necessary.mkvmerge: when splitting is active the program will output the timestamps actually used for making the decision when to split. If GUI mode is active, a specially formatted line #GUI#splitting_before_timestamp <timestamp> is output as well. Lines prefixed with#GUI# are suitable for machine parsing, won't be translated and are guaranteed not to change in format. Implements #3421.MKVToolNix GUI: multiplexer: when dragging & dropping directories to the "attachments" tab, the files contained in those directories will be attached. Implements #3410.MKVToolNix GUI: info tool: added information about the file (directory, size, modification timestamp) at the top of each tab. Implements #3407.Bug fixesmkvmerge: AV1 parser: fixed the parser completely aborting when parsing the OBU size field fails due to there not being enough data to parse. Instead the parser will remember the last known-good position & restart from there after more data is available. Fixes #3431.mkvmerge: HDMV PGS subtitles: reverted the change that implemented a heuristic for detecting bogus timestamps & attempting to fix them. This was done to fix #3268. Unfortunately this affected valid subtitle files with intentional huge gaps in timestamps, e.g. forced subtitle tracks. The heuristic has simply been removed, fixing #3392.mkvmerge: Matroska reader: fixed reading files with EBML Void elements before the Matroska Segment element.mkvmerge: fixed reversed attachment selection: --attachments !4 would not copy any attachment instead of all attachments but the one with ID 4. Fixes #3427.mkvextract: IETF BCP 47/RFC 5646 language tags: mkvextract will now use & prefer IETF BCP 47 track language elements if they're present. Only affects the VobSub & USF subtitle extraction.mkvpropedit, MKVToolNix GUI's chapter & header editors: updated the list of deprecated Matroska elements. The applications will no longer try to write those elements, even if they're found in the file to be modified. The programs will no longer abort with error messages such as assertion "false" failed. Fixes #3416.mkvpropedit, MKVToolNix GUI's chapter & header editors: when the Matroska version numbers stored in the EBML Head element are updated, the updated EBML Head element might be smaller than the existing one. In that case the programs used to shrink the EBML Head & write a small EBML Void element between the updated EBML Head & the following element, usually a Matroska Segment element. This isn't widely supported by programs including MKVToolNix itself, causing them to declare such files as invalid. The programs will now create the EBML Void element inside the EBML Head element, making them a level 1 element instead of a level 0 element. Fixes #3355.mkvpropedit, MKVToolNix GUI's chapter & header editors: often the programs have to relocate the Master elements in which the modifications were done. In that case the Seek Head elements must also be updated to reflect to the Master elements' new positions. If a file contained a Seek Head element at the start already and if that Seek Head was too small to contain the updated positions, the programs would end up in an endless loop trying to write data to the end, creating ever-growing files. This is now handled properly by voiding this too-small Seek Head & finding a proper space for a new one instead. Fixes #3338.MKVToolNix GUI: header editor: fixed pixelated icons on higher display scaling values. Fixes #3420.Build system changesbug fix: libFLAC detection is now done via pkg-config, and the corresponding compiler flags are honored. Fixes static compilation with newer versions of libFLAC with MXE where a compiler definition is required to signal that it libFLAC wasn't built as a DLL.
Zitat von: ChangelogNew features and enhancementsmkvmerge: greatly enhanced the speed of Base64 decoding which is used e.g. when reading pictures embedded in Ogg or FLAC files or for binary data inside XML chapter & tag files. Even small blocks of data could take unreasonably long.mkvmerge: added support for reading HEVC/H.265 video from FLV containers. Implements #3466.Bug fixesmkvmerge: splitting: fixed a typo in the string output in GUI mode regarding the timestamps before which splitting was done. See #3421.MKVToolNix GUI: job output: after having run multiple jobs the "Clear output" functionality only reset the visible parts. However, using the "save output" function would also save the output generated before the user used "clear output". Now only the output after the last use of "clear output" is saved. Fixes #3438.build system: when probing for the FLAC library the Ogg libraries will be linked with the compiled test program as well. This fixes detection if the pkg-config settings for FLAC don't list Ogg & the linker doesn't find the library automatically (e.g. for my macOS builds). Fixes #3439.
Zitat von: ChangelogNew features and enhancementsmkvmerge: SRT handling: added a hack called --engage keep_whitespaces_in_text_subtitles which disables stripping whitespaces from the start & end of each line of SRT entries during muxing. Part of the implementation of #3470.Bug fixesall: Windows: UNC paths of type \\?\C:\... are supported again by switching back to Boost's file system library instead of using C++17's file system library. Fixes #3058.mkvmerge: AVC/H.264 & HEVC/H.265 packetizers: when appending tracks the pixel dimensions will be checked & muxing will be aborted if they don't match. Fixes #3480.mkvmerge: file type detection: file types that can be detected unambiguously by their content (e.g. Matroska, MP4, WAV...) will now preferred in the detection order over file types based on their extension. Prevents certain cases of mis-detection, e.g. DTS in WAV but with a file name extension of .dts being detected as the wrong type of DTS. Fixes #3462.mkvmerge: SRT handling: whitespaces will now be stripped from the start & the end of each line of each entry, not just from the end of the last line. Part of the fix of #3470.mkvextract: SRT extraction: whitespaces will not be stripped from the start & end of the whole entry anymore. Part of the fix of #3470.MKVToolNix GUI: multiplexer: when adding multiple files that include certain file types (chapters, segment info and tag files) and when the choice where to add them is "all files to a single new tab", these certain file types will now be added in the newly added tab as well instead of the current tab that had already been open. Fixes #3469.build system: fixed compatibility with Ruby 3.2.0 by using FileTest.exist? instead of File.exists?, Dir.exists? & FileTest.exists? which were removed in that release.Build system changesMKVToolNix is now using & requiring Boost's "file system" and "system" libraries again instead of C++17's file system library. This is due to gcc's library not supporting UNC paths of types \\?\C:\dir\file.ext.
Zitat von: ChangelogNew features and enhancementsmkvmerge: MP4 reader: mkvmerge will now read Timed Text (FourCC tx3g) subtitle tracks & convert them on the fly to Matroska's simple text subtitle format (S_TEXT/UTF8; text only, no styles). Implements #2208, #2242, #2613, #3000, #3243, #3418 and possibly others.Bug fixesall: switched back to using boost::filesystem functions for creating directories instead of the ones introduced to work around bugs in std::filesystem. The latter didn't work correctly with UNC paths after the switch to boost::filesystem::path in v74. Fixes #3483.mkvmerge: VobSub reader: mkvmerge will now probe the .idx file during VobSub identification even if the .sub file is passed as the source. Avoids mis-detection of the .sub as MPEG program streams. Fixes #3489.MKVToolNix GUI: the GUI could abort with an exception on startup while looking for the mkvmerge or mediainfo executables due to inaccessible folders. Fixes #3481.MKVToolNix GUI: preferences: when opening the preferences the first time the UI might pre-select the first entry in the list of interface languages if the operating system's language is not available for MKVToolNix. This might also happen on Linux if e.g. en_GB is set, even though en_US is available. Now English (en_US) will be selected instead. Fixes #3486.MKVToolNix GUI: multiplexer: when adding files the GUI has special handling for chapter/tags/segment info files. This is done by comparing their content to certain patterns. This recognition could wrongfully be triggered if any such file was embedded in another file verbatim, e.g. with a chapter XML file attachment in a Matroska file. When trying to add that Matroska file, the GUI would treat it as a chapter file instead of a regular one. This content-based detection was fixed. Fixes #3487.Other changesmkvpropedit, GUI's header editor: removed support for the deprecated "minimum cache" & "maximum cache" track header elements.
Zitat von: ChangelogImportant notesmkvmerge: removed the option --blockadd. Removing block additional data is not possible anymore, as it is often required for proper decoding. Part of the implementation of #3511.New features and enhancementsmkvmerge: JSON file identification: added a child element called num_index_entries to the properties track element containing the number of index entries found for a track. Currently only implemented for Matroska files where it contains the number of cue points. See #3510.mkvmerge: the maximum block addition ID track header value is now calculated automatically from both the existing mappings & the actually used block additions in the block groups. Part of the implementation of #3511.mkvmerge: Matroska reader: when reading WebM files that use block additions with ID 4 (HDR for VP9) an appropriate block addition mapping will be created automatically. Part of the implementation of #3511.mkvmerge: MP4 reader: the title/movie name meta data (content of the udta.meta.ilst.©nam atom) will now be copied over as the segment title track header attribute. Part of the implementation of #3475.mkvmerge: MP4 reader: the comment & encoder meta data (content of the udta.meta.ilst.©cmt & ....©too atoms) will now be copied over as global tags COMMENT & ENCODER respectively. Part of the implementation of #3475.mkvmerge, MKVToolNix GUI's multiplexer: added an option to stop processing after the primary video track ends called --stop-after-video-ends. This discards any remaining packets of other tracks. Part of the implementation #3506.MKVToolNix GUI: only on Windows: the GUI now uses Qt's "Fusion" style instead of the deprecated "Windows Vista" style. The advantage is that as of Qt 6.5 the "Fusion" style properly supports Windows 10's & 11's dark application mode. The Windows binaries are now built with said Qt version. Therefore the option to disable the dark mode has been removed. Fixes #3264 and likely others.MKVToolNix GUI: multiplexer: automatically setting the destination file name: added an option in the preferences for using the first source file's directory name instead of its file name as the basis for the destination file name. Implements #3512.MKVToolNix GUI: multiplexer: double-clicking on certain columns in the "tracks" view will now toggle them directly (columns "Default track" & "Forced track") or activate the corresponding control (columns "Language", "Name" & "Delay"). Double-clicks on other columns will do what they've done before, too: toggling the "Copy item" state. Implements #3513 & others.MKVToolNix GUI: the dialog for editing language tags is now created only the first time the user wants to edit a language tag & cached afterwards instead of creating a new instance each time. This makes subsequent uses instant.Bug fixesmkvmerge: mkvmerge will now only try to probe for VobSubs if the name of the file to identify ends in either .idx or .sub, preventing mis-identification of other file types if VobSubs with the same base name exist in the same directory. Fixes #3508.mkvmerge: AC-3: mkvmerge will now skip certain types of garbage data (16 bytes starting with 0x01 0x10) that can occur before each sync frame, fixing the file not being identified as AC-3. Fixes #3484.mkvmerge: Matroska reader: when reading files that use block additions with IDs other than 1 (e.g. 4 for HDR for VP9) the IDs will now be kept & written to the output file. Before no ID would be written, effectively using 1 as that's the default value for the corresponding element. Part of the implementation of #3511.mkvmerge: mkvmerge will no longer write block addition mappings or the max block addition ID track header elements when creating a WebM file as those elements aren't supported there. Part of the implementation of #3511.mkvpropedit: fixed replacing chapters & tags in files that don't contain tracks. Fixes #3498.