Each `Track` instance contains a pointer to the `SourceFile` structure
the `Track` belongs to. When cloning or copying a `SourceFile`
instance, the `Track` instances are cloned, too. However, their
pointer to the owning `SourceFile` instance must be adjusted, too.
Otherwise this leads to crashes.
Fixes#2368.
There are now two situations in which mkvmerge generates names for
chapters:
1. If generation is enabled (either in intervals or for each appended
file)
2. When reading chapters from MPLS playlists
The GUI will now pass the chapter name template to mkvmerge in both
situations, even if the template is empty (which will result in
chapters being generated without names).
In order to provide a sensible default, the chapter name template
property will be set to the value in the preferences (section "Chapter
editor").
Part of the implementation of #2275.
Instead of harcoding 'Chapter %02d', the name set by
`--generate-chapters-name-template` is used if the option is set.
Part of the implementation of #2275.
In revision 9f2038a8ef I tried to fix
dependency handling for zapcc which were output in a different
format. Unfortunately this broke with other compiler versions that
still put multiple source files on a single line separated by spaces.
So fix the fix.
zapcc (and probably newer clangs, too) will always output absolute
paths to source files in the dependency files they create. Therefore
the algorithm that removes any file not part of the MKVToolNix source
tree from the dependency list has to take that into account.
The code handling cues behaves differently whether it's run as part of
MKVToolNix GUI or the standalone mkvinfo. In the latter case, its
sub-entries will only be shown in verbosity level 2 or
higher. However, in GUI mode they must always be shown.
Additionally, this caused the cues to be shown at a wrong location:
inside the previous master element instead of on level 1.
Fixes#2361.