Commit Graph

83 Commits

Author SHA1 Message Date
Moritz Bunkus
f7b282b6ff
add tool for dumping Dolby Vision decoder configuration records 2023-11-21 00:46:45 +01:00
Moritz Bunkus
c6911337e4
more renaming of xvc_dump to xyzvc_dump 2023-11-20 14:03:45 +01:00
Moritz Bunkus
e8219aa1de
ignore Qt Project build directory 2023-07-07 11:24:37 +02:00
Moritz Bunkus
1c68a5841f
GUI: use external resource file for Qt resources
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.
2023-05-18 21:37:34 +02:00
Moritz Bunkus
a7ec759654
ignore .ccls-cache directory 2023-05-07 23:28:30 +02:00
Moritz Bunkus
a4e294bab2
build system: use po4a directly instead of po4a-translate for each language 2022-11-01 17:01:41 +01:00
Moritz Bunkus
86e3b058bc
ignore /.cache folder 2022-08-13 13:54:55 +02:00
Moritz Bunkus
9979f76803
Debian packaging: create rules & control with distro/release-specific values
For Ubuntu 22.04 and later the GUI will be built with Qt 6 instead of
Qt 5 due to severe issues with 22.04, Qt 5 and high DPI displays. See
issue #3358 for more information.

Unfortunately Debian's package tooling isn't powerful enough to
express complex dependencies, and it cannot express things based on
the distribution & version the package is built for. The packaging for
Qt 6 requires different libraries than the packaging for Qt 5,
obviously.

The only thing one could do in a single `control` file is using ORed
dependencies such as `libqt6svg6 | libqt5svg5`, but that can lead to
situations where the user has `libqt5svg5` installed, doesn't have
`libqt6svg6` installed, and then MKVToolNix built with Qt 6 will
install just fine but all the icons will be missing as it cannot load
the SVG plugin dynamically.

Therefore the `control` & `rules` files are now built from templates,
and a Ruby script called `packaging/debian/create_files.rb` is used to
create the files from their templates. The user can specify the
distribution & version to create for with command line arguments. If
not specified, the script will attempt to guess the distribution &
version it's running on.

Only Debian ≥ 10 & Ubuntu ≥ 20.04 are supported, same as before.
2022-05-29 17:07:13 +02:00
Moritz Bunkus
62acb29b61
SVG icon theme: rename scalable icon directory to oxygen
Part of the fix of #3335.
2022-04-24 13:41:20 +02:00
Moritz Bunkus
1c05841113
SVG icon theme: add SVG variants of most raster icons
Part of the fix of #3335.
2022-04-24 13:41:20 +02:00
Moritz Bunkus
ad60962bca
add wrapper/entrypoint executable named 'mkvtoolnix' 2022-03-12 22:04:37 +01:00
Moritz Bunkus
0398b02eea
add dts_dump, a tool for dumping frame info from DTS elementary streams 2021-11-15 17:00:56 +01:00
Moritz Bunkus
f0e75b492d
HEVC dump: rename to xvc_dump & extend to cover AVC/H.264 2021-08-25 20:27:51 +02:00
Moritz Bunkus
709c61dbba
add MSIX packaging 2021-03-20 13:56:55 +01:00
Moritz Bunkus
8a6c101545
pgs_dump: tool for dumping details about PGS files 2020-01-31 12:37:46 +01:00
Moritz Bunkus
e8a8591c56
build system: support translating the Docbook-to-HTML XSLT stylesheets 2020-01-01 18:59:07 +01:00
Moritz Bunkus
6a8246e7eb
build system: include git commit number since last release in version for dev builds 2019-09-11 20:27:47 +02:00
Moritz Bunkus
2e7f05a4ed
ignore *.tmp files 2019-08-08 21:13:37 +02:00
Moritz Bunkus
ba931be6c5
rename mpls_dump to bluray_dump & fix --help & --version output 2019-01-22 18:00:58 +01:00
Moritz Bunkus
c6ad3ba3cb
generate manifest.xml files from templates 2018-10-28 13:48:27 +01:00
Moritz Bunkus
9e04c038f4
packaging: move all packaging files to packaging directory 2018-06-25 17:59:11 +02:00
Moritz Bunkus
8a5cc704b6
AppImage build: support building in CentOS 7; use Qt online version 2018-06-24 16:28:57 +02:00
Moritz Bunkus
5f5ae9542e Windows build: build libmtxcommon as DLL on shared builds 2018-04-08 12:53:57 +02:00
Moritz Bunkus
5f3f995fde build system: add accidentally ignored compilation_database.rb 2018-02-27 20:42:23 +01:00
Moritz Bunkus
e960dc86fa build system: support for creating a compilation database 2018-02-26 21:42:25 +01:00
Moritz Bunkus
0dc4ed132c Rakefile: read build-config.local if present and overlay over build-config 2018-01-22 23:41:32 +01:00
Moritz Bunkus
2ff9993d3a info: rename ui sub-dir to forms
Otherwise the `.ui` files won't be picked up by the generalized Qt
dependency handling.
2017-12-31 11:41:09 +01:00
Moritz Bunkus
abb66a5486 build system: check for Google Benchmark, compile benchmark if source exists 2017-11-16 15:15:46 +01:00
Moritz Bunkus
c5599e9999 development documentation: remove HTML variant from repository 2017-10-04 20:45:30 +02:00
Moritz Bunkus
533ded009a macOS: unlock keychain via script before signing if script exists 2017-08-20 20:02:31 +02:00
Moritz Bunkus
f12df7396f hevcc_dump: new tool for dumping a HEVCC from the middle of a file (incomplete) 2017-03-19 18:44:00 +01:00
Moritz Bunkus
ce1bdcb1b1 build system: re-work static Qt plugin handling
This changes several things:

1. The path to the plugins is no longer determined by looking through
   the include flags in QT_LIBS. This process was broken for paths
   with file names. Instead, qmake is queried for the installation
   location for the plugins.

2. Similar to qmake, configure now generates a file for both mkvinfo
   and mkvtoolnix-gui that includes the appropriate #include
   directives for the chosen plugins. Therefore no additional #ifdef…
   logic is required for the static plugins in other parts of the two
   programs.

3. For platforms other than Windows or macOS, configure will now add
   the Xcb platform integration plugin. This is required for using a
   static Qt on Linux. This change should implement #1898.
2017-03-09 22:06:40 +01:00
Moritz Bunkus
41f62d37e8 doc: don't store generated man pages in repository
The intention behind keeping the generated man pages is to avoid
requiring downstreams to have xsltproc and the DocBook stylesheets
installed. However, for that they don't have to be stored in the
repository. Generating them upon release and including them in the
source tarball is enough.
2017-01-22 21:03:26 +01:00
Moritz Bunkus
0e6594fe3d gitignore: ignore .rsync-filter files 2016-12-22 15:25:11 +01:00
Moritz Bunkus
61126158a6 mkvinfo GUI: set window icon 2016-05-04 20:38:21 +02:00
KonaBlend
cee1debeaf add explicit pch support
- convert gcc to use -include
- add clang support for -include
- new target namespace: pch (invoke rake -T or pch:overview for details)
- move pch logic into rake.d/pch.rb
- convert a few troublesome source files from ISO-8859-1 -> UTF-8
- add persistent config: config.pch.json
- add TTY support for running commands with filters (keeps pretty
  color diagnostics even when filtering compiler stdout/stderr)
- for fun try:

        drake "pch[pretty]"
        drake -j4
        drake pch:status
2016-03-26 03:52:21 -04:00
Moritz Bunkus
64465ce72b all: remove support for wxWidgets; remove mmg 2015-08-15 20:33:46 +02:00
Moritz Bunkus
28caec76f3 move qtcreator project file to src/mkvtoolnix-gui directory 2015-06-06 12:14:34 +02:00
Moritz Bunkus
479f5d3670 build system: build Qt translation files on MingW 2015-06-03 20:06:34 +02:00
Moritz Bunkus
5f63272337 git: ignore temporary files created by clang during compilation try 2 2015-04-10 23:37:23 +02:00
Moritz Bunkus
6a8f9a9fd0 git: ignore temporary files created by clang during compilation 2015-04-08 23:17:10 +02:00
Moritz Bunkus
093dcb09ae GUI: refactor HeaderEditor* classes to mtx::gui::HeaderEditor namespace 2015-04-02 21:02:08 +02:00
Moritz Bunkus
6050a1674b tools: new hevc_dump utility 2015-03-27 11:42:32 +01:00
Moritz Bunkus
2fcb10365b a new timecode calculator class for intermixing provided and calculated timecodes 2015-02-14 21:21:32 +01:00
Moritz Bunkus
4a252c4b0f tools: add a file checksum tool
Useful for testing purposes of the implementation of MKVToolNix'
checksum code.
2015-01-03 16:54:53 +01:00
Moritz Bunkus
2e0085b151 gitignore: add .doconf* files 2014-09-13 11:28:29 +02:00
Moritz Bunkus
3f0ac5528a git: ignore *.autosave 2014-08-31 15:03:13 +02:00
Moritz Bunkus
f633a612b3 GUI: ignore QtCreator user files 2014-02-15 11:30:33 +01:00
Moritz Bunkus
8546756f7a mpls_dump: a new tool for dumping MPLS file structures 2014-02-05 07:53:34 +01:00
Moritz Bunkus
a77be987e3 build system: don't store generated icon .h in the repo 2014-01-01 21:33:22 +01:00