Remove members not used elsewhere, to simplify classes and facilitate debugging.
Plus: initialize all members, change enum type to enum class type with explicit casting.
The UO mask table is not needed in the MPLS class: those 34 flags fill the MPLS class with unnecessary information which makes debugging more complicated.
Plus: initialize all class members.
File or directory names in Field Identifier Descriptors are not fixed size, therefore the string size byte does not need to be added at the end of the string.
This is fixed by omitting one byte before padding with zero bytes.
Add TSMUXER_COVERAGE which will result in building binaries with coverage information when set to true.
Move MSVC flag utf-8 from tsMuxerGUI to the general CMakeLists.txt as there is no reason not to enable it globally.
Replace NOT MSVC with checking if the build is for Linux : the effect is the same, but the intent is clearer.
Restructure the platform-specific conditions for building tsMuxerGUI.
Bind the XP build to windows-2019 hosts as windows-2022 includes Visual Studio 2022 which dropped XP support.
Don't install zlib via homebrew in macos in order to avoid conflicts with the system-provided one.
directory.cpp was essentially two implementations in one, separated with ifdefs. It's cleaner to just have two separate files, seeing how CMakeLists.txt for libmediation needs to check the platform it's running on and add the appropriate file implementation anyway.
This commit splits this file into two and extracts common code parts to directory_priv.h.
It looks like MacOS 11 removes the *64 functions, which have really been useless since 10.5 as off_t has been defined as 64-bit wide since that version.
_FILE_OFFSET_BITS is added and defined to 64 in case somebody wanted to compile tsMuxer as i386 and still have support for >2GB files.
This change moves all code related to handling font settings from TsMuxerWindow to its own model. The widget handling the data is now just an ordinary QTableView.
This does away with storing everything as strings inside a QTableWidget, which means that functions using font data to generate metafile or other kinds of output use QFont objects directly.