If the current tab is empty then the mode »create new mux settings for
each dropped files« will put the first file into the current
tab. Otherwise an empty tab would be left.
Additionally when dropping a single file onto an otherwise empty tab the
GUI will always add that file to the tab. It won't ask the user even if
the drop mode is set to always ask, and it won't create new mux settings
even if the mode is set to do that. This should be more intuitive to
use.
Fixes#1446.
Using the full-blown parsers for the supported file formats is very slow
as they read the whole file before doing anything with it. This is
obviously bad when input files are usually hundreds of MB big or bigger.
Instead only read the first 1 KB of data and do simple ASCII regex
matches against those bytes.
Initially there could only be a single job running at all times. This
has been changed since by allowing the user to forcefully start
additional jobs. Therefore the verbiage when talking about running jobs
should use plural.
Before there was a single setting »default track language« that was
applied to all tracks regardless of their type.
This has been split up into separate settings for audio, video and
subtitle tracks. The rationale is that you often have a default language
for audio tracks but a different one for subtitles. In addition video
usually don't have a language at all for which zxx (no linguistic
content) might be appropriate as a default.
Implements #1338.
Due to a bug in Qt[1] the content view will only be as wide as the combo
box itself on Windows while expanding to the minimum length required on
Linux and Mac OS. So force the minimum width to the maximum content
width.
[1] https://bugreports.qt.io/browse/QTBUG-3097
Turns out Qt already contains translations for French and Polish,
they're just not split up into qtbase_*.qm files like other
languages. See 1478d36 for more information.
The translation files for several languages aren't split up into
qtbase.qm, qtscript.qm etc. They use a single monolithic qt.qm instead
of the meta catalog qt.qm that e.g. the German translation uses.
In order to prevent having to special-case in the source code always
load the qt.qm instead.
Such meta catalogs look for the file names including the language,
though. So while loading qt_de.qm Qt will look for
qtbase_de.qm. Therefore store the qm files in <installdir>/locale/libqt
instead of <installdir>/locale/<lang>/LC_MESSAGES on Windows.
g++ < 4.8 doesn't like the initializer-list syntax for initialising a
base class if the base class is abstract. This is a bug in g++, but
circumventing with the normal syntax is possible.
gettext already creates a header in the .pot. So adjust that one instead
of prepending another one, especially one that's incomplete (it was
missing the character set and the plural forms).
There are quite a lot of MP4 files which contain the wrong number of
channels in the track headers, especially for AC3 tracks (e.g. 2 instead
of 6 in one of my sample files). This change makes mkvmerge decode an
AC3 header from the content and uses that header's value instead of the
values stored in the track headers.