Commit Graph

15372 Commits

Author SHA1 Message Date
Moritz Bunkus
f6603a04f5
bump version number, set release code name 2023-03-26 18:44:40 +02:00
Moritz Bunkus
f1162101fe
re-order NEWS for easier consumption 2023-03-26 16:39:34 +02:00
Moritz Bunkus
abf762c498
man page translation: fix XML issues in Russian translation 2023-03-26 16:38:25 +02:00
Pavel Rehak
7da75a3cb0
program translations: update Czech 2023-03-26 16:35:19 +02:00
Andrei Stepanov
8fe1316120
program translations: update Russian 2023-03-26 16:34:03 +02:00
Andrei Stepanov
49e38512af
man page translations: update Russian 2023-03-26 16:33:09 +02:00
Moritz Bunkus
8bf4c51e94
propedit, header editor: remove support for minimum/maximum cache track headers
They're deprecated in the Matroska specs.

Also mark them deprecated internally in the code so that neither
mkvpropedit nor the header editor will write them when updating other
track header elements.
2023-03-12 11:48:22 +01:00
Moritz Bunkus
a6cbf071ff
VobSub reader: re-use generic_reader_c's m_in for IDX file parsing 2023-03-01 15:03:01 +01:00
Moritz Bunkus
1ea7592901
VobSub reader: probe .idx even if .sub is passed as source
Fixes #3489.
2023-02-28 23:05:01 +01:00
Moritz Bunkus
542b6ec52a
tests: use --default-track-flag instead of deprecated --default-track 2023-02-25 13:31:13 +01:00
Moritz Bunkus
2a66a8ef38
German translation: fix wrong name for --forced-display-flag
Fixes #3488
2023-02-25 13:31:13 +01:00
Moritz Bunkus
3c6255a485
Ukrainian man page translation: remove wrong translations 2023-02-25 13:31:12 +01:00
Moritz Bunkus
c98222ce7e
man page translations: normalize format 2023-02-25 13:22:30 +01:00
Fúlvio Alves
361b792f2c
program translations: update Brazilian Portuguese 2023-02-25 13:21:00 +01:00
Moritz Bunkus
493c71b5cb
AUTHORS: add more translators 2023-02-25 13:20:43 +01:00
José Benigno Santamaría Castro
0615fc3d34
program translations: update Spanish 2023-02-25 13:20:40 +01:00
Moritz Bunkus
815d1daca5
fix compilation 2023-02-21 20:48:24 +01:00
Moritz Bunkus
8009c92fa6
GUI: multiplexer: be much stricter when detecting chapter/tags/segment info files
When adding files the GUI has special handling for
chapter/tags/segment info files, whose paths must be specified in the
corresponding text inputs. Those files don't show up like other
regular source files do.

This type detection is done by comparing their content to certain
patters via regular expressions. 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.

Fixes #3487.
2023-02-21 20:38:55 +01:00
Moritz Bunkus
95c05a6989
MP4 reader: read Timed Text (tx3g) tracks & convert to simple text subs
Only converts the text, not styling information.

Implements #2208, #2242, #2613, #3000, #3243, #3418 and possibly
others.
2023-02-19 21:23:46 +01:00
Moritz Bunkus
5a3fade144
UI: preferences: pre-select interface language English if OS language isn't supported
Fixes #3486.
2023-02-19 10:58:45 +01:00
Moritz Bunkus
696f2fc30f
use boost::filesystem functions for creating directories
Back when the code base was switched from `std::filesytem::path` to
`boost::filesystem::path` several bugs in `libstdc++` were found that
required workarounds for detecting whether directories exist & for
creating missing directories, especially with the handling of UNC
paths.

Even after switching back to `boost::filesystem::path` these functions
were still used. Turns out though that they don't work correctly with
UNC paths. Therefore we now remove those workarounds again & go back
to using the corresponding functions from `boost::filesystem`, which
work just fine.

Fixes #3483.
2023-02-18 12:17:56 +01:00
Moritz Bunkus
c2b817f8dd
GUI: don't throw on file system access errors during search for exes
This might happen when executing the GUI from a directory the user
doesn't have access to. The GUI will always look for an exe in the
current working directory first, and if that's inaccessible the
one-argument variants of the various `boost::filesystem::is_…`
functions throw.

Fixes #3481.
2023-02-17 20:13:42 +01:00
Moritz Bunkus
13ebdc5500
bump version number, set release code name 2023-02-12 16:53:48 +01:00
Moritz Bunkus
0f4f0688fe
re-order NEWS for easier consumption 2023-02-12 16:48:41 +01:00
Moritz Bunkus
0576d0422b
UI: tool selector: use flatter styling for selected tool 2023-02-12 16:45:49 +01:00
Moritz Bunkus
2f34f7e504
AVC & HEVC packetizers: check & require pixel dimensions to match when appending
Fixes #3480.
2023-02-12 16:22:10 +01:00
Moritz Bunkus
97ce60f1d1
avoid use of deprecated functions from boost::filesystem 2023-02-08 22:46:25 +01:00
Moritz Bunkus
fd9f806ad4
avoid warnings about set but unused variables 2023-02-08 22:46:12 +01:00
Moritz Bunkus
322510a661
configure: Qt6: hide qmake errors about missing modules when probing 2023-02-08 20:05:56 +01:00
Moritz Bunkus
be03a25a0b
macOS: support for building on 12 Monterey with XCode 14 & Qt 6.4.x 2023-02-08 20:03:53 +01:00
Moritz Bunkus
718290dd7c
configure: Qt6: actively probe for QtDbus & QtMultimedia modules
Relying on QtDbus' presence on non-Windows systems doesn't have to be
OK; e.g. on macOS it isn't present either.
2023-02-08 20:03:45 +01:00
Moritz Bunkus
f665fec996
SRT packetizer: strip newlines at end of whole entry 2023-01-24 13:49:42 +01:00
Moritz Bunkus
82b1ee9603
initialize boost::filesystem locale to UTF-8
Internally MKVToolNix always stores UTF-8-encoded narrow
strings. However, on Windows boost::filesystem uses the OEM CP by
default for narrow strings.

Fixes #3473.
2023-01-22 15:15:18 +01:00
Burak Yavuz
d7fd463a41
program translations: update Turkish 2023-01-21 12:27:16 +01:00
Timofey Lisunov
e2a76910c6
program translations: update Russian 2023-01-21 12:27:04 +01:00
Roberto Boriotti
21fd654f28
program translations: update Italian 2023-01-21 12:26:58 +01:00
TMTisFree
215afd3661
program translations: update French 2023-01-21 12:26:52 +01:00
Antoni Bella Pérez
6b0479696c
program translations: update Catalan 2023-01-21 12:26:46 +01:00
Moritz Bunkus
d02bf966f6
translations: update list of translatable strings; update German translation 2023-01-15 19:25:21 +01:00
Moritz Bunkus
f856998012
cosmetics: alignment 2023-01-15 19:18:26 +01:00
Moritz Bunkus
95fc41c833
SRT packetizer: add hack for disabling stripping whitespaces
The hack is called `keep_whitespaces_in_text_subtitles`.

Part of the implementation of #3470.
2023-01-15 19:17:50 +01:00
Moritz Bunkus
4139dba750
extract: SRT: don't strip whitespaces from start/end of whole entry
First of all, it wasn't stripping whitespaces from each line of the
entry, but only from the start of the first & the end of the last
line (in other words: from the start & end of the whole entry).

Second, modifying during extraction is the wrong thing to do
anyway. The only modification done is removing any existing line feed
characters in order to have consistent Unix-style line endings.

Part of the fix of #3470.
2023-01-15 19:17:50 +01:00
Moritz Bunkus
9421c4b1e2
SRT reader: strip leading & trailing spaces & tabs from every line
So far only trailing whitespaces were only stripped from the last
line.

Part of the fix of #3470.
2023-01-15 19:17:50 +01:00
Moritz Bunkus
29f4f99e1b
always build translation_c::initialize_std_and_boost_filesystem_locales
That function is used & needed even if MKVToolNix is built without libintl.
2023-01-14 18:31:06 +01:00
Moritz Bunkus
8a2da1a252
all: switch back to requiring & using Boost's file system library
gcc's implementation of the C++17 file system library doesn't support
UNC paths of style `\\?\…` on Windows. There doesn't seem to be any
progress towards implementing support for it.

Fixes #3058. See also #2916.
2023-01-14 17:49:45 +01:00
Moritz Bunkus
5397bb34ec
GUI: mux: handled added source files before non-source files (e.g. chapters)
Added file types (both via the "add" button and via drag & drop) can
be either regular source files (files that are listed on `mkvmerge`'s
command line without preceding options; e.g. Matroska, MP4, SRT…) &
non-source files (for which special options are needed, e.g. chapter
files with `--chapters /path/to/file.xml`).

Until this commit all non-source file types were handled first. They
were always set in the currently-selected tab. All source files were
handled later, including the handling of where to add them (current
tab, all to one new tab, one new tab per file…).

This commit reverses the order: source files are handled first,
non-source files afterwards. The result is more consistent if the
choice where to add them is "all in a single new tab". With the older
model all non-source files were always set in the tab that was open
before adding the files. With the commit all added files will end up
in the new tab, both source & non-source files.

Fixes #3469.
2023-01-08 14:59:46 +01:00
Moritz Bunkus
89f0fd93a8
po: normalize all POs 2023-01-06 23:46:04 +01:00
Moritz Bunkus
66740a63b9
mkvmerge: prefer unambiguously detected file types over detection by extension
Can prevent mis-detection if the file name has the wrong
extension. For example, a WAV file with DTS inside but with an
extension of `.dts` might be detected as the wrong type of DTS.

Fixes #3462.
2023-01-06 23:12:58 +01:00
Moritz Bunkus
ab6455f68c
build system: fix compatibility with Ruby 3.2.0
Several deprecated functions were removed: `Dir.exists?`,
`File.exists?` & `FileTest.exists?`.  Instead of those
`FileTest.exist?` must be used (without the `s`). See the release
notes for Ruby 3.2.0 as well as the issue for removing the functions:

https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/
https://bugs.ruby-lang.org/issues/17391
2023-01-02 22:57:21 +01:00
Moritz Bunkus
63ebac6a56
bump version number, set release code name 2023-01-02 19:29:27 +01:00