mkvtoolnix: updated to 77.0

Version 77.0 "Elemental" 2023-06-04

New features and enhancements

* mkvmerge: tracks in the destination file will now be sorted by their type
  automatically unless the track order is specified with the `--track-order`
  option. The order is as follows: video tracks first followed by audio &
  subtitle tracks with other rarely used types of tracks last. Tracks of the
  same type will be sorted in the same order as their source files occur in
  the command-line arguments. Note that this doesn't affect file
  identification.
* MKVToolNix GUI: multiplexer: the default list colors used for distinguishing
  source files does not include the darkest tier anymore (the ones where one
  or two components are set to the value 0x3f) as they're hard to distinguish
  from each other. Only affects new installations, or when the user presses
  the "reset to default colors" button.
* MKVToolNix GUI: multiplexer: the GUI will now check the state of the 'track
  enabled' flag of all video, audio & subtitle tracks when starting to
  multiplex or adding a job to the job queue. If there's no track with its
  flag turned on for a type, the GUI will turn on the flag for the first track
  of the type. This behavior can be turned off in the preferences.
* MKVToolNix GUI: header editor: the columns in the tracks/attachments view
  and the values on the "track type" page will now be updated each time a
  corresponding property is changed (e.g. when a track's name is changed)
  instead of showing what's in the file on disk.
* MKVToolNix GUI: macOS: when you install the application from the DMG it'll
  register itself as an alternate handler for its supported file types. This
  allows the use of the "Open with" context menu action in Finder.
* MKVToolNix GUI: Windows: a new settings in the preferences lets the user
  chose whether to use the light or the dark color palette, or to follow the
  system settings.

Bug fixes

* Fixed compilation with fmt v10.0.0.
* mkvmerge: fixed several instances of wrong format strings for `fmt::format`
  used in debug messages.
* mkvmerge: AV1 packetizer: the packetizer did not honor the aspect ratio
  (factor) given on the command-line via the `--aspect-ratio` or
  `--aspect-ratio-factor` options.
* mkvmerge: JSON identification: cropping parameters are reported again even
  if some of the four values are not present in the file or set to 0.
* mkvmerge: Windows: when writing to a network share connected via SMB1
  `mkvmerge` was aborting with a error about `create_directory() failed` with
  existing directories. This was due to a bug in recent versions of the
  Boost.Filesystem library. The Windows version of MKVToolNix will be built
  with Boost 1.82.0 from now on which includes the fix.
* MKVToolNix GUI: the defunct "disable the dark mode" checkbox was removed
  from the preferences.
* MKVToolNix GUI: language dialog: under certain conditions the controls for
  the individual components remained disabled when the dialog is opened even
  though editing of individual components is selected.
* MKVToolNix GUI: language dialog: the controls for the individual components
  weren't re-initialized properly after opening the dialog for the second &
  all following times, potentially leaving previously selected/entered entries
  intact, primarily when editing multiple tracks at once.
* MKVToolNix GUI: header editor: using the actions from the "modify selected
  track" context menu only worked if the user right-clicked on the first
  column in the view. They now work for clicks on any of the columns.
* MKVToolNix GUI: header editor: some of the actions toggling specific flags
  from the "modify selected track" did not work correctly if the flag wasn't
  currently present in the file, especially if the underlying value has a
  default value in the Matroska specs.
* MKVToolNix GUI: Windows: the GUI will now always use its own implementation
  of light & dark palettes instead of relying on Qt. This circumvents two
  issues with the palette support in Qt 6.5.0:
  1. if Windows 11's dark application mode is active, links were displayed in
     a hard-to-read dark blue.
  2. for unknown reasons the the dark palette was not chosen on some Windows
     11 installations even though Windows 11's color mode was set to "dark".

Build system changes

* The bundled `fmt` library was updated to v10.0.0.
* MKVToolNix GUI now uses an external Qt resource file instead of compiling it
  into the executable. The resource file has reached a size at which the C++
  compiler exhausts available virtual memory on some 32-bit architectures. On
  Windows & macOS the GUI will look for the file in
  `<folder_with_executables>/data/qt_resources.rcc`, and in the directory set
  with `configure`'s `--datadir` parameter on other systems (which usually
  means `/usr/share/mkvtoolnix`). The `install` build system commands installs
  it into that folder.
This commit is contained in:
adam 2023-06-06 07:04:38 +00:00
parent ab65f2d692
commit 111122a241
6 changed files with 8 additions and 58 deletions

View file

@ -1,7 +1,6 @@
# $NetBSD: Makefile,v 1.217 2023/05/22 21:00:40 wiz Exp $
# $NetBSD: Makefile,v 1.218 2023/06/06 07:04:38 adam Exp $
DISTNAME= mkvtoolnix-76.0
PKGREVISION= 3
DISTNAME= mkvtoolnix-77.0
CATEGORIES= multimedia
MASTER_SITES= https://mkvtoolnix.download/sources/
EXTRACT_SUFX= .tar.xz

View file

@ -1,4 +1,4 @@
@comment $NetBSD: PLIST,v 1.15 2022/10/07 04:29:07 adam Exp $
@comment $NetBSD: PLIST,v 1.16 2023/06/06 07:04:38 adam Exp $
bin/mkvextract
bin/mkvinfo
bin/mkvmerge
@ -147,6 +147,7 @@ share/locale/zh_SG/LC_MESSAGES/mkvtoolnix.mo
share/locale/zh_TW/LC_MESSAGES/mkvtoolnix.mo
${PLIST.gui}share/metainfo/org.bunkus.mkvtoolnix-gui.appdata.xml
${PLIST.gui}share/mime/packages/org.bunkus.mkvtoolnix-gui.xml
${PLIST.gui}share/mkvtoolnix/qt_resources.rcc
${PLIST.gui}share/mkvtoolnix/sounds/finished-1.webm
${PLIST.gui}share/mkvtoolnix/sounds/finished-2.webm
${PLIST.gui}share/mkvtoolnix/sounds/finished-3.webm

View file

@ -1,11 +1,8 @@
$NetBSD: distinfo,v 1.113 2023/05/29 19:51:25 wiz Exp $
$NetBSD: distinfo,v 1.114 2023/06/06 07:04:38 adam Exp $
BLAKE2s (mkvtoolnix-76.0.tar.xz) = bf498615dd30aeec4843450a2b8616fa1b9a31448ba77c7b5e7b0397001f6587
SHA512 (mkvtoolnix-76.0.tar.xz) = 7be054bd5b4772e8744db358b5147d922ab46c723803b718d3eda4871f75ad69953a0a4b73f4678048702c7b711a6f9dc87156b5dc2e4f9dc588667eae03d185
Size (mkvtoolnix-76.0.tar.xz) = 11021180 bytes
BLAKE2s (mkvtoolnix-77.0.tar.xz) = 9e6ee1526ff49d0e59eda4c66dc8c08b1c436a502f291812e45b3d467d32ce61
SHA512 (mkvtoolnix-77.0.tar.xz) = b310077cfaddef3163c732943f1aaf7e63fb9f7efb19fdb27a35e2d0ad92dfc4536ea29366b44745f3f918703b02e2d52edb63369c23540df1312f3d54c06bb0
Size (mkvtoolnix-77.0.tar.xz) = 11044004 bytes
SHA1 (patch-Rakefile) = 08dbf4a4968008ff258a66e71aa2bddc61c04af6
SHA1 (patch-configure) = 22769c823b9558c86173b26e2c7d621b59d5a357
SHA1 (patch-src_common_ac3.cpp) = 8c99bb3ee1e80a58e3540349dccb5ab2594ff05c
SHA1 (patch-src_common_codec.h) = fa91135f94c963a17e1357cba900254265ac0421
SHA1 (patch-src_common_locale.cpp) = 2f3113c8c9171b87a421df447f6c421b1e4dc7e0
SHA1 (patch-src_merge_cluster__helper.cpp) = 8b3f57452331182a3858be6b2e12b72e1ee96308

View file

@ -1,15 +0,0 @@
$NetBSD: patch-src_common_ac3.cpp,v 1.1 2023/05/29 19:51:25 wiz Exp $
https://gitlab.com/mbunkus/mkvtoolnix/-/commit/5a0a3502d496a1a0d0881dd001bcf5888c6f88a9
--- src/common/ac3.cpp.orig 2023-04-30 10:27:25.000000000 +0000
+++ src/common/ac3.cpp
@@ -381,7 +381,7 @@ frame_c::to_string(bool verbose)
get_effective_channel_layout());
for (auto &frame : m_dependent_frames)
- output += fmt::format(" { {0} }", frame.to_string(verbose));
+ output += fmt::format(" {{ {0} }}", frame.to_string(verbose));
return output;
}

View file

@ -1,15 +0,0 @@
$NetBSD: patch-src_common_codec.h,v 1.1 2023/05/29 19:51:25 wiz Exp $
Fix build with fmtlib 10.
https://gitlab.com/mbunkus/mkvtoolnix/-/commit/24716ce95bf5b10d685611de23489045cf2ca5cc
--- src/common/codec.h.orig 2023-04-30 10:27:25.000000000 +0000
+++ src/common/codec.h
@@ -231,3 +231,7 @@ operator <<(std::ostream &out,
return out;
}
+
+#if FMT_VERSION >= 90000
+template <> struct fmt::formatter<codec_c> : ostream_formatter {};
+#endif // FMT_VERSION >= 90000

View file

@ -1,17 +0,0 @@
$NetBSD: patch-src_merge_cluster__helper.cpp,v 1.1 2023/05/29 19:51:25 wiz Exp $
https://gitlab.com/mbunkus/mkvtoolnix/-/commit/5a0a3502d496a1a0d0881dd001bcf5888c6f88a9
--- src/merge/cluster_helper.cpp.orig 2023-04-30 10:27:25.000000000 +0000
+++ src/merge/cluster_helper.cpp
@@ -116,8 +116,8 @@ cluster_helper_c::render_before_adding_i
timestamp_delay = (int64_t)(timestamp_delay / g_timestamp_scale);
mxdebug_if(m->debug_packets,
- fmt::format("cluster_helper_c::add_packet(): new packet { source {0}/{1} "
- "timestamp: {2} duration: {3} bref: {4} fref: {5} assigned_timestamp: {6} timestamp_delay: {7} }\n",
+ fmt::format("cluster_helper_c::add_packet(): new packet {{ source {0}/{1} "
+ "timestamp: {2} duration: {3} bref: {4} fref: {5} assigned_timestamp: {6} timestamp_delay: {7} }}\n",
packet->source->m_ti.m_id, packet->source->m_ti.m_fname, packet->timestamp, packet->duration,
packet->bref, packet->fref, packet->assigned_timestamp, mtx::string::format_timestamp(timestamp_delay)));