diff --git a/NEWS.md b/NEWS.md
index bf56bfcd0..4d16ad3ec 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,5 +1,18 @@
# Version ?
+## Important notes
+
+* Feature removal: several deprecated features have been removed:
+* mkvmerge: the deprecated options `--identify-verbose` (and its counterpart
+ `-I`), `--identify-for-gui`, `--identify-for-mmg` and
+ `--identification-format verbose-text` have been removed.
+* all command line tools: support for the deprecated, old, proprietary format
+ used for option files has been removed.
+* all command line tools: support for passing command line options via the
+ deprecated environment variables `MKVTOOLNIX_OPTIONS`, `MKVEXTRACT_OPTIONS`,
+ `MKVINFO_OPTIONS`, `MKVMERGE_OPTIONS`, and `MKVPROPEDIT_OPTIONS` has been
+ removed.
+
## New features and enhancements
* mkvmerge: AVC/h.264 packetizer (framed): access unit delimiter NALUs will
diff --git a/doc/man/mkvextract.xml b/doc/man/mkvextract.xml
index df6769a3c..f9886e110 100644
--- a/doc/man/mkvextract.xml
+++ b/doc/man/mkvextract.xml
@@ -879,18 +879,6 @@
-
- Escaping special chars in text
-
- There are a few places in which special characters in text must or should be escaped. The rules for escaping are simple: each character
- that needs escaping is replaced with a backslash followed by another character.
-
-
-
- The rules are: ' ' (a space) becomes '\s', '"' (double quotes) becomes '\2', ':' becomes '\c', '#' becomes '\h' and '\' (a single backslash) itself becomes '\\'.
-
-
-
Environment variables
@@ -915,15 +903,6 @@
linkend="mkvextract.description.engage"> option.
-
-
- MKVEXTRACT_OPTIONS, MKVTOOLNIX_OPTIONS and its short form MTX_OPTIONS
-
- The content is split on white space. The resulting partial strings are treated as if it had been passed as command line
- options. If you need to pass special characters (e.g. spaces) then you have to escape them (see the section about escaping special characters in text).
-
-
diff --git a/doc/man/mkvinfo.xml b/doc/man/mkvinfo.xml
index 4af2b1c31..13aeddff0 100644
--- a/doc/man/mkvinfo.xml
+++ b/doc/man/mkvinfo.xml
@@ -311,18 +311,6 @@
-
- Escaping special chars in text
-
- There are a few places in which special characters in text must or should be escaped. The rules for escaping are simple: each character
- that needs escaping is replaced with a backslash followed by another character.
-
-
-
- The rules are: ' ' (a space) becomes '\s', '"' (double quotes) becomes '\2', ':' becomes '\c', '#' becomes '\h' and '\' (a single backslash) itself becomes '\\'.
-
-
-
Environment variables
@@ -347,15 +335,6 @@
linkend="mkvinfo.description.engage"> option.
-
-
- MKVINFO_OPTIONS, MKVTOOLNIX_OPTIONS and its short form MTX_OPTIONS
-
- The content is split on white space. The resulting partial strings are treated as if it had been passed as command line
- options. If you need to pass special characters (e.g. spaces) then you have to escape them (see the section about escaping special characters in text).
-
-
diff --git a/doc/man/mkvmerge.xml b/doc/man/mkvmerge.xml
index e6b5fad42..7214b8859 100644
--- a/doc/man/mkvmerge.xml
+++ b/doc/man/mkvmerge.xml
@@ -1934,31 +1934,13 @@ $ mkvmerge -o out.mkv '(' file.mkv ')'
-
- , file-name
-
-
- Will let &mkvmerge; probe the single file and report its type, the tracks contained in the file and their track IDs. If this option is
- used then the only other option allowed is the filename.
-
-
-
- The output will also contain properties for all items found, e.g. the file title or the track language.
-
-
-
- This option is deprecated. It will be removed in 2018.
-
-
-
-
, format
Determines the output format used by the --identify
- option. The following formats are supported: text (the default if this option isn't used),
- verbose-text and json.
+ option. The following formats are supported: text (the default if this option isn't used) and
+ json.
@@ -1969,26 +1951,6 @@ $ mkvmerge -o out.mkv '(' file.mkv ')'
linkend="mkvmerge.description.ui_language">--ui-language).
-
-
- The verbose-text format extends the text format with additional properties for each item. The
- extra information is surronded by square brackets. It consists of space-saparated key/value pairs where keys and values are separated
- by a colon.
-
-
-
- Each value is escaped according to the rules described in the section about escaping special
- characters in text.
-
-
- This format is not meant to be parsed. The output will be translated into the language &mkvmerge; uses (see also --ui-language).
-
-
- This option is deprecated. It will be removed in 2018.
-
-
-
The json format outputs a machine-readable JSON representation. This format follows the JSON schema described in
@@ -2593,29 +2555,21 @@ Track ID 1: audio (A_MPEG/L3)
- There are two formats for option files: a JSON format and a proprietary legacy format. The legacy format is deprecated, and support for
- it will likely be removed in 2018.
+ An option file contains JSON-formatted data. Its content must be a valid JSON array consisting solely of JSON
+ strings. The file's encoding must be UTF-8. The file should not start with a byte order marker
+ (BOM), but if one exists, it will be skipped.
-
- The JSON format
+
+ The rules for escaping special characters inside JSON are the ones in the official JSON specification, RFC 7159.
+
-
- A JSON option file's name must end in '.json'. Its content must be a valid JSON array consisting solely of JSON
- strings. The file's encoding must be UTF-8. The file should not start with a byte order marker
- (BOM), but if one exists, it will be skipped.
-
+
+ The command line 'mkvmerge -o "my file.mkv" -A "a movie.avi" sound.ogg' could be converted into the following
+ JSON option file called e.g. 'options.json':
+
-
- The rules for escaping special characters inside JSON are the ones in the official JSON specification, RFC 7159.
-
-
-
- The command line 'mkvmerge -o "my file.mkv" -A "a movie.avi" sound.ogg' could be converted into the following
- JSON option file called e.g. 'options.json':
-
-
- [
+ [
"-o",
"c:\\Matroska\\my file.mkv",
"--title",
@@ -2624,59 +2578,6 @@ Track ID 1: audio (A_MPEG/L3)
"a movie.avi",
"sound.ogg"
]
-
-
-
- The legacy format
-
-
- There are several rules regarding option files. Lines whose first non-whitespace character is a hash mark ('#') are
- treated as comments and ignored. White spaces at the start and end of a line will be stripped. Each line must contain exactly one
- option.
-
-
-
- A line not containing anything is also ignored. An empty argument is represented by the line '#EMPTY#'.
-
-
-
- Several chars can be escaped, e.g. if you need to start a non-comment line with '#'. The rules are described in the section about escaping text.
-
-
-
- Note that backslashes must always be escaped. Hash marks ('#') must be escaped if they should not start a comment.
-
-
-
- The command line 'mkvmerge -o "my file.mkv" -A "a movie.avi" sound.ogg' could be converted into the following
- legacy option file called e.g. 'options.txt':
-
-
- # Write to the file "c:\Matroska\my file.mkv" on Windows.
--o
-c:\\Matroska\\my file.mkv
-# Set the title to '#65'.
---title
-\h65
-# Only take the video from "a movie.avi".
--A
-a movie.avi
-sound.ogg
-
-
-
-
-
- Escaping special chars in text
-
- There are a few places in which special characters in text must or should be escaped. The rules for escaping are simple: each character
- that needs escaping is replaced with a backslash followed by another character.
-
-
-
- The rules are: ' ' (a space) becomes '\s', '"' (double quotes) becomes '\2', ':' becomes '\c', '#' becomes '\h', '[' becomes '\b', ']' becomes '\B' and '\' (a single backslash) itself becomes '\\'.
-
@@ -3286,15 +3187,6 @@ gap, 10.050
linkend="mkvmerge.description.engage"> option.
-
-
- MKVMERGE_OPTIONS, MKVTOOLNIX_OPTIONS and its short form MTX_OPTIONS
-
- The content is split on white space. The resulting partial strings are treated as if it had been passed as command line
- options. If you need to pass special characters (e.g. spaces) then you have to escape them (see the
- section about escaping special characters in text).
-
-
diff --git a/doc/man/mkvpropedit.xml b/doc/man/mkvpropedit.xml
index 6b341da9d..382a8827a 100644
--- a/doc/man/mkvpropedit.xml
+++ b/doc/man/mkvpropedit.xml
@@ -724,18 +724,6 @@
-
- Escaping special chars in text
-
- There are a few places in which special characters in text must or should be escaped. The rules for escaping are simple: each character
- that needs escaping is replaced with a backslash followed by another character.
-
-
-
- The rules are: ' ' (a space) becomes '\s', '"' (double quotes) becomes '\2', ':' becomes '\c', '#' becomes '\h' and '\' (a single backslash) itself becomes '\\'.
-
-
-
Environment variables
@@ -760,15 +748,6 @@
linkend="mkvpropedit.description.engage"> option.
-
-
- MKVPROPEDIT_OPTIONS, MKVTOOLNIX_OPTIONS and its short form MTX_OPTIONS
-
- The content is split on white space. The resulting partial strings are treated as if it had been passed as command line
- options. If you need to pass special characters (e.g. spaces) then you have to escape them (see the section about escaping special characters in text).
-
-
diff --git a/po/ca.po b/po/ca.po
index e83acff70..d7564c389 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -2478,16 +2478,16 @@ msgid "--- Warnings emitted by job '%1' started on %2 ---"
msgstr "--- Avisos emesos per la tasca «%1», iniciada el %2 ---"
#: src/propedit/propedit_cli_parser.cpp:263
-msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify-verbose'. These are usually simply numbered starting from 0 (e.g. '2')."
-msgstr "1.- Un número que serà interpretat com un ID d'adjunt llistat per «mkvmerge --identify-verbose». Normalment, són números començant des de 0 (p. ex., «2»)."
+msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify'. These are usually simply numbered starting from 0 (e.g. '2')."
+msgstr "1.- Un número que serà interpretat com un ID d'adjunt llistat per «mkvmerge --identify». Normalment, són números començant des de 0 (p. ex., «2»)."
#: src/info/mkvinfo.cpp:808
msgid "1: all frames"
msgstr "1: tots els fotogrames"
#: src/propedit/propedit_cli_parser.cpp:264
-msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify-verbose'. These are usually random-looking numbers (e.g. '128975986723')."
-msgstr "2.- Un número amb el prefix «=», el qual serà interpretat com un l'ID únic de l'adjunt llistat per «mkvmerge --identify-verbose». Normalment, són nombres aleatoris. (p. ex., «128975986723»)."
+msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify'. These are usually random-looking numbers (e.g. '128975986723')."
+msgstr "2.- Un número amb el prefix «=», el qual serà interpretat com un l'ID únic de l'adjunt llistat per «mkvmerge --identify». Normalment, són nombres aleatoris. (p. ex., «128975986723»)."
#: src/info/mkvinfo.cpp:810
msgid "2: codec private data"
diff --git a/po/cs.po b/po/cs.po
index 7799b1b53..81b3fe2fe 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -2474,16 +2474,16 @@ msgid "--- Warnings emitted by job '%1' started on %2 ---"
msgstr "--- Upozornění vyvolaná úlohou '%1' spuštěnou %2 ---"
#: src/propedit/propedit_cli_parser.cpp:263
-msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify-verbose'. These are usually simply numbered starting from 0 (e.g. '2')."
-msgstr "1. Číslo, které bude vyhodnoceno jako ID přílohy a zobrazeno podle 'mkvmerge --identify-verbose'. Jsou to obvykle jednoduchá čísla začínající od 0 (např. '2')."
+msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify'. These are usually simply numbered starting from 0 (e.g. '2')."
+msgstr "1. Číslo, které bude vyhodnoceno jako ID přílohy a zobrazeno podle 'mkvmerge --identify'. Jsou to obvykle jednoduchá čísla začínající od 0 (např. '2')."
#: src/info/mkvinfo.cpp:808
msgid "1: all frames"
msgstr "1: všechny snímky"
#: src/propedit/propedit_cli_parser.cpp:264
-msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify-verbose'. These are usually random-looking numbers (e.g. '128975986723')."
-msgstr "2. Číslo s předponou \"=\", které bude vyhodnoceno jako jedinečné ID (UID) přílohy a zobrazeno podle 'mkvmerge --identify-verbose'. Jsou to obvykle náhodně vypadající čísla (např. '128975986723')."
+msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify'. These are usually random-looking numbers (e.g. '128975986723')."
+msgstr "2. Číslo s předponou \"=\", které bude vyhodnoceno jako jedinečné ID (UID) přílohy a zobrazeno podle 'mkvmerge --identify'. Jsou to obvykle náhodně vypadající čísla (např. '128975986723')."
#: src/info/mkvinfo.cpp:810
msgid "2: codec private data"
diff --git a/po/de.po b/po/de.po
index 727648e20..0c84e20ad 100644
--- a/po/de.po
+++ b/po/de.po
@@ -2426,16 +2426,16 @@ msgid "--- Warnings emitted by job '%1' started on %2 ---"
msgstr "--- Warnungen ausgegeben von Job »%1« gestartet am %2 ---"
#: src/propedit/propedit_cli_parser.cpp:263
-msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify-verbose'. These are usually simply numbered starting from 0 (e.g. '2')."
-msgstr "1. eine Zahl, die als die Dateianhangs-ID interpretiert wird, die auch »mkvmerge --identify-verbose« ausgibt. Diese sind normalerweise aufsteigend nummeriert und starten bei 0 (z.B. »2«)."
+msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify'. These are usually simply numbered starting from 0 (e.g. '2')."
+msgstr "1. eine Zahl, die als die Dateianhangs-ID interpretiert wird, die auch »mkvmerge --identify« ausgibt. Diese sind normalerweise aufsteigend nummeriert und starten bei 0 (z.B. »2«)."
#: src/info/mkvinfo.cpp:808
msgid "1: all frames"
msgstr "1: alle Bilder"
#: src/propedit/propedit_cli_parser.cpp:264
-msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify-verbose'. These are usually random-looking numbers (e.g. '128975986723')."
-msgstr "2. eine Zahl mit dem Präfix »=«, die als die eindeutige ID eines Dateianhangs interpretiert und auch von »mkvmerge --identify-verbose« ausgegeben wird. Dies ist normalerweise eine zufällig aussehende Zahl (z.B. »128975986723«)."
+msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify'. These are usually random-looking numbers (e.g. '128975986723')."
+msgstr "2. eine Zahl mit dem Präfix »=«, die als die eindeutige ID eines Dateianhangs interpretiert und auch von »mkvmerge --identify« ausgegeben wird. Dies ist normalerweise eine zufällig aussehende Zahl (z.B. »128975986723«)."
#: src/info/mkvinfo.cpp:810
msgid "2: codec private data"
diff --git a/po/es.po b/po/es.po
index d8167a4b0..15fd30e1f 100644
--- a/po/es.po
+++ b/po/es.po
@@ -2489,16 +2489,16 @@ msgid "--- Warnings emitted by job '%1' started on %2 ---"
msgstr "--- Advertencias generadas por la tarea '%1' iniciada en %2 ---"
#: src/propedit/propedit_cli_parser.cpp:263
-msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify-verbose'. These are usually simply numbered starting from 0 (e.g. '2')."
-msgstr "1. Un número que será interpretado como un ID de un archivo adjunto listado por 'mkvmerge --identify-verbose'. Normalmente, son números que empiezan desde 0 (p.e. '2')."
+msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify'. These are usually simply numbered starting from 0 (e.g. '2')."
+msgstr "1. Un número que será interpretado como un ID de un archivo adjunto listado por 'mkvmerge --identify'. Normalmente, son números que empiezan desde 0 (p.e. '2')."
#: src/info/mkvinfo.cpp:808
msgid "1: all frames"
msgstr "1: todos los fotogramas"
#: src/propedit/propedit_cli_parser.cpp:264
-msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify-verbose'. These are usually random-looking numbers (e.g. '128975986723')."
-msgstr "2. Un número con el prefijo '=' que será interpretado como un UID (IDentificador Único) del archivo adjunto listado por 'mkvmerge --identify-verbose'. Normalmente, son números aleatorios. (p.e. '128975986723')."
+msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify'. These are usually random-looking numbers (e.g. '128975986723')."
+msgstr "2. Un número con el prefijo '=' que será interpretado como un UID (IDentificador Único) del archivo adjunto listado por 'mkvmerge --identify'. Normalmente, son números aleatorios. (p.e. '128975986723')."
#: src/info/mkvinfo.cpp:810
msgid "2: codec private data"
diff --git a/po/eu.po b/po/eu.po
index c1363a859..7bac40c70 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -2424,16 +2424,16 @@ msgid "--- Warnings emitted by job '%1' started on %2 ---"
msgstr "--- '%1' lanak jaulkitako kontuz-oharrak. Hasiera: %2 ---"
#: src/propedit/propedit_cli_parser.cpp:263
-msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify-verbose'. These are usually simply numbered starting from 0 (e.g. '2')."
-msgstr "1. Zenbaki bat eranskin ID bezala ulertuko da 'mkvmerge --identify-verbose'-n zerrendatu bezala. Hauek arrunt 0-tik hasita zenbakitzen dira (adib. '2')."
+msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify'. These are usually simply numbered starting from 0 (e.g. '2')."
+msgstr "1. Zenbaki bat eranskin ID bezala ulertuko da 'mkvmerge --identify'-n zerrendatu bezala. Hauek arrunt 0-tik hasita zenbakitzen dira (adib. '2')."
#: src/info/mkvinfo.cpp:808
msgid "1: all frames"
msgstr "1: frame guztiak"
#: src/propedit/propedit_cli_parser.cpp:264
-msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify-verbose'. These are usually random-looking numbers (e.g. '128975986723')."
-msgstr "2. Zenbaki bat '=' aurrizkiarekin eranskinaren ID (UID) bakar bezala ulertuko dena 'mkvmerge --identify-verbose'-n zerrendatu bezala. Hauek arrunt zorizko-zenbakiak dira (adib. '128975986723')."
+msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify'. These are usually random-looking numbers (e.g. '128975986723')."
+msgstr "2. Zenbaki bat '=' aurrizkiarekin eranskinaren ID (UID) bakar bezala ulertuko dena 'mkvmerge --identify'-n zerrendatu bezala. Hauek arrunt zorizko-zenbakiak dira (adib. '128975986723')."
#: src/info/mkvinfo.cpp:810
msgid "2: codec private data"
@@ -13500,7 +13500,7 @@ msgstr "– Ezarri ezer ez bezala –"
#~ msgid ""
#~ "1. A number which will be interepreted as an attachment ID as listed by "
-#~ "'mkvmerge --identify-verbose'. These are usually simply numbered starting "
+#~ "'mkvmerge --identify'. These are usually simply numbered starting "
#~ "from 0 (e.g. '2')."
#~ msgstr ""
#~ "1. Eranskin baten ID bezala ulertuko den zenbaki bat 'mkvmerge --identify-"
@@ -13519,11 +13519,11 @@ msgstr "– Ezarri ezer ez bezala –"
#~ msgid ""
#~ "2. A number with the prefix '=' which will be interepreted as the "
-#~ "attachment's unique ID (UID) as listed by 'mkvmerge --identify-verbose'. "
+#~ "attachment's unique ID (UID) as listed by 'mkvmerge --identify'. "
#~ "These are usually random-looking numbers (e.g. '128975986723')."
#~ msgstr ""
#~ "2. '=' aurrizkia duen zenbaki bat zeina eranskinaren ID (UID) bakarra "
-#~ "bezala ulertuko da 'mkvmerge --identify-verbose' zerrendan bezala. Hauek "
+#~ "bezala ulertuko da 'mkvmerge --identify' zerrendan bezala. Hauek "
#~ "arrunt zorizko-bilaketa zenbakiak dira (adib. '128975986723')."
#~ msgid ""
diff --git a/po/fr.po b/po/fr.po
index 092f8af58..1857d5f0d 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -2415,16 +2415,16 @@ msgid "--- Warnings emitted by job '%1' started on %2 ---"
msgstr "--- Avertissements émis par la tâche « %1 » lancée le %2 ---"
#: src/propedit/propedit_cli_parser.cpp:263
-msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify-verbose'. These are usually simply numbered starting from 0 (e.g. '2')."
-msgstr "1. Un numéro interprété comme un ID de pièce jointe et listé par « mkvmerge --identify-verbose ». La numérotation commence normalement à 0 (par exemple « 2 »)."
+msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify'. These are usually simply numbered starting from 0 (e.g. '2')."
+msgstr "1. Un numéro interprété comme un ID de pièce jointe et listé par « mkvmerge --identify ». La numérotation commence normalement à 0 (par exemple « 2 »)."
#: src/info/mkvinfo.cpp:808
msgid "1: all frames"
msgstr "1 : toutes les trames"
#: src/propedit/propedit_cli_parser.cpp:264
-msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify-verbose'. These are usually random-looking numbers (e.g. '128975986723')."
-msgstr "2. Un numéro préfixé par « = » interprété comme identifiant unique de la pièce jointe (UID) et listé par « mkvmerge --identify-verbose ». La numérotation est généralement aléatoire (par ex. « 128975986723 »)."
+msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify'. These are usually random-looking numbers (e.g. '128975986723')."
+msgstr "2. Un numéro préfixé par « = » interprété comme identifiant unique de la pièce jointe (UID) et listé par « mkvmerge --identify ». La numérotation est généralement aléatoire (par ex. « 128975986723 »)."
#: src/info/mkvinfo.cpp:810
msgid "2: codec private data"
diff --git a/po/it.po b/po/it.po
index ece3c4d1a..4593c21c1 100644
--- a/po/it.po
+++ b/po/it.po
@@ -2415,16 +2415,16 @@ msgid "--- Warnings emitted by job '%1' started on %2 ---"
msgstr "--- Notifiche emesse dall'attività '%1' avviato il %2 ---"
#: src/propedit/propedit_cli_parser.cpp:263
-msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify-verbose'. These are usually simply numbered starting from 0 (e.g. '2')."
-msgstr "1. Un numero che verrà intepretato come ID allegato come elencato da 'mkvmerge --identify-verbose'. Questi sono normalmente numeri che partono da 0 (es. '2')."
+msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify'. These are usually simply numbered starting from 0 (e.g. '2')."
+msgstr "1. Un numero che verrà intepretato come ID allegato come elencato da 'mkvmerge --identify'. Questi sono normalmente numeri che partono da 0 (es. '2')."
#: src/info/mkvinfo.cpp:808
msgid "1: all frames"
msgstr "1: tutti i frame"
#: src/propedit/propedit_cli_parser.cpp:264
-msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify-verbose'. These are usually random-looking numbers (e.g. '128975986723')."
-msgstr "2. Un numero con il prefisso '=' che verrà intepretato come l'ID univoco (UID) dell'allegato come elencato da 'mkvmerge --identify-verbose'. Questi sono normalmente numeri casuali. (es. '128975986723')."
+msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify'. These are usually random-looking numbers (e.g. '128975986723')."
+msgstr "2. Un numero con il prefisso '=' che verrà intepretato come l'ID univoco (UID) dell'allegato come elencato da 'mkvmerge --identify'. Questi sono normalmente numeri casuali. (es. '128975986723')."
#: src/info/mkvinfo.cpp:810
msgid "2: codec private data"
diff --git a/po/ja.po b/po/ja.po
index 005194d93..37cebfa95 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -2423,16 +2423,16 @@ msgid "--- Warnings emitted by job '%1' started on %2 ---"
msgstr "--- %2に開始したジョブ「%1」で警告が発生しました ---"
#: src/propedit/propedit_cli_parser.cpp:263
-msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify-verbose'. These are usually simply numbered starting from 0 (e.g. '2')."
-msgstr "1. 'mkvmerge --identify-verbose'で列挙される、添付ファイルのIDとして解釈される数字。これは通常、単純に0を開始点として番号が付けられます(例:'2')。"
+msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify'. These are usually simply numbered starting from 0 (e.g. '2')."
+msgstr "1. 'mkvmerge --identify'で列挙される、添付ファイルのIDとして解釈される数字。これは通常、単純に0を開始点として番号が付けられます(例:'2')。"
#: src/info/mkvinfo.cpp:808
msgid "1: all frames"
msgstr "1: 全フレーム"
#: src/propedit/propedit_cli_parser.cpp:264
-msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify-verbose'. These are usually random-looking numbers (e.g. '128975986723')."
-msgstr "2. 'mkvmerge --identify-verbose'で列挙され、添付ファイルのユニークID(UID)として解釈される、'='が最初に付加された数字。これは通常ランダムに見える数字です(例:'128975986723')。"
+msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify'. These are usually random-looking numbers (e.g. '128975986723')."
+msgstr "2. 'mkvmerge --identify'で列挙され、添付ファイルのユニークID(UID)として解釈される、'='が最初に付加された数字。これは通常ランダムに見える数字です(例:'128975986723')。"
#: src/info/mkvinfo.cpp:810
msgid "2: codec private data"
diff --git a/po/ko.po b/po/ko.po
index 1f87c911b..373f200ab 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -2378,16 +2378,16 @@ msgid "--- Warnings emitted by job '%1' started on %2 ---"
msgstr "--- '%1' 작업 중 경고가 %2 에서 시작되었습니다 ---"
#: src/propedit/propedit_cli_parser.cpp:263
-msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify-verbose'. These are usually simply numbered starting from 0 (e.g. '2')."
-msgstr "1. 'mkvmerge --identify-verbose' 에 적은 대로 첨부 파일 ID로 해석할 숫자. 이것들은 보통 단순하게 0에서 시작해서 번호를 붙입니다 (예. '2')."
+msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify'. These are usually simply numbered starting from 0 (e.g. '2')."
+msgstr "1. 'mkvmerge --identify' 에 적은 대로 첨부 파일 ID로 해석할 숫자. 이것들은 보통 단순하게 0에서 시작해서 번호를 붙입니다 (예. '2')."
#: src/info/mkvinfo.cpp:808
msgid "1: all frames"
msgstr "1: 모든 프레임"
#: src/propedit/propedit_cli_parser.cpp:264
-msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify-verbose'. These are usually random-looking numbers (e.g. '128975986723')."
-msgstr "2. 'mkvmerge --identify-verbose' 에 적은 대로 첨부 파일의 고유 ID(UID)로 해석할 접두어 '='가 있는 숫자. 이것들은 보통 무작위 모양의 숫자입니다 (예. '128975986723')."
+msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify'. These are usually random-looking numbers (e.g. '128975986723')."
+msgstr "2. 'mkvmerge --identify' 에 적은 대로 첨부 파일의 고유 ID(UID)로 해석할 접두어 '='가 있는 숫자. 이것들은 보통 무작위 모양의 숫자입니다 (예. '128975986723')."
#: src/info/mkvinfo.cpp:810
msgid "2: codec private data"
diff --git a/po/lt.po b/po/lt.po
index d1b87cdce..80d7b9de7 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -2332,7 +2332,7 @@ msgid "--- Warnings emitted by job '%1' started on %2 ---"
msgstr ""
#: src/propedit/propedit_cli_parser.cpp:263
-msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify-verbose'. These are usually simply numbered starting from 0 (e.g. '2')."
+msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify'. These are usually simply numbered starting from 0 (e.g. '2')."
msgstr ""
#: src/info/mkvinfo.cpp:808
@@ -2340,7 +2340,7 @@ msgid "1: all frames"
msgstr "1: visi kadrai"
#: src/propedit/propedit_cli_parser.cpp:264
-msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify-verbose'. These are usually random-looking numbers (e.g. '128975986723')."
+msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify'. These are usually random-looking numbers (e.g. '128975986723')."
msgstr ""
#: src/info/mkvinfo.cpp:810
diff --git a/po/nl.po b/po/nl.po
index 33863e49d..f76f10c60 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -2408,16 +2408,16 @@ msgid "--- Warnings emitted by job '%1' started on %2 ---"
msgstr "--- Waarschuwing verstuurd door taak '%1' gestart op %2 ---"
#: src/propedit/propedit_cli_parser.cpp:263
-msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify-verbose'. These are usually simply numbered starting from 0 (e.g. '2')."
-msgstr "1. Een nummer die gezien wordt als een bijlage ID uit gelijst door de 'mkvmerge --identify-verbose'. Dit zijn gewoonlijk nummers startend vanaf 0 (b.v. '2')."
+msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify'. These are usually simply numbered starting from 0 (e.g. '2')."
+msgstr "1. Een nummer die gezien wordt als een bijlage ID uit gelijst door de 'mkvmerge --identify'. Dit zijn gewoonlijk nummers startend vanaf 0 (b.v. '2')."
#: src/info/mkvinfo.cpp:808
msgid "1: all frames"
msgstr "1: alle beeldjes"
#: src/propedit/propedit_cli_parser.cpp:264
-msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify-verbose'. These are usually random-looking numbers (e.g. '128975986723')."
-msgstr "2. Een cijfer voorgezet met een '=' welke geïnterpreteerd zullen worden als een unieke bijlage(n) ID (UID) uit gelijst door 'mkvmerge --identify-verbose'. Dit zijn gewoonlijk willekeurige cijfers (b.v. '128975986723')."
+msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify'. These are usually random-looking numbers (e.g. '128975986723')."
+msgstr "2. Een cijfer voorgezet met een '=' welke geïnterpreteerd zullen worden als een unieke bijlage(n) ID (UID) uit gelijst door 'mkvmerge --identify'. Dit zijn gewoonlijk willekeurige cijfers (b.v. '128975986723')."
#: src/info/mkvinfo.cpp:810
msgid "2: codec private data"
diff --git a/po/pl.po b/po/pl.po
index 565c90caf..d3459bf4e 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -2430,16 +2430,16 @@ msgid "--- Warnings emitted by job '%1' started on %2 ---"
msgstr "► Ostrzeżenia emitowane przez zadanie: \"%1\". Rozpoczęto o: %2"
#: src/propedit/propedit_cli_parser.cpp:263
-msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify-verbose'. These are usually simply numbered starting from 0 (e.g. '2')."
-msgstr "1. Liczba, która będzie interpretowana jako ID załącznika, wyświetlana przez \"mkvmerge --identify-verbose\". Z reguły są to numery mogące rozpoczynać się od 0 (np.: \"2\")."
+msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify'. These are usually simply numbered starting from 0 (e.g. '2')."
+msgstr "1. Liczba, która będzie interpretowana jako ID załącznika, wyświetlana przez \"mkvmerge --identify\". Z reguły są to numery mogące rozpoczynać się od 0 (np.: \"2\")."
#: src/info/mkvinfo.cpp:808
msgid "1: all frames"
msgstr "1: wszystkie klatki"
#: src/propedit/propedit_cli_parser.cpp:264
-msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify-verbose'. These are usually random-looking numbers (e.g. '128975986723')."
-msgstr "2. Liczba z przedrostkiem \"=\", która będzie interpretowana jako unikalne ID załącznika (UID), wyświetlane przez \"mkvmerge --identify-verbose\". Są to numery z cyframi przypadkowej kolejności (np.: \"128975986723\")"
+msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify'. These are usually random-looking numbers (e.g. '128975986723')."
+msgstr "2. Liczba z przedrostkiem \"=\", która będzie interpretowana jako unikalne ID załącznika (UID), wyświetlane przez \"mkvmerge --identify\". Są to numery z cyframi przypadkowej kolejności (np.: \"128975986723\")"
#: src/info/mkvinfo.cpp:810
msgid "2: codec private data"
diff --git a/po/pt.po b/po/pt.po
index 97904ea9f..a7052accd 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -2358,7 +2358,7 @@ msgid "--- Warnings emitted by job '%1' started on %2 ---"
msgstr "Aviso emitidos pela tarefa '%1' iniciada em %2"
#: src/propedit/propedit_cli_parser.cpp:263
-msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify-verbose'. These are usually simply numbered starting from 0 (e.g. '2')."
+msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify'. These are usually simply numbered starting from 0 (e.g. '2')."
msgstr ""
#: src/info/mkvinfo.cpp:808
@@ -2366,7 +2366,7 @@ msgid "1: all frames"
msgstr "1: todos os frames"
#: src/propedit/propedit_cli_parser.cpp:264
-msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify-verbose'. These are usually random-looking numbers (e.g. '128975986723')."
+msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify'. These are usually random-looking numbers (e.g. '128975986723')."
msgstr ""
#: src/info/mkvinfo.cpp:810
diff --git a/po/pt_BR.po b/po/pt_BR.po
index f7a3bfe2e..4c0baf77a 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -2486,7 +2486,7 @@ msgid "--- Warnings emitted by job '%1' started on %2 ---"
msgstr ""
#: src/propedit/propedit_cli_parser.cpp:263
-msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify-verbose'. These are usually simply numbered starting from 0 (e.g. '2')."
+msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify'. These are usually simply numbered starting from 0 (e.g. '2')."
msgstr ""
#: src/info/mkvinfo.cpp:808
@@ -2494,7 +2494,7 @@ msgid "1: all frames"
msgstr "1: todos os frames"
#: src/propedit/propedit_cli_parser.cpp:264
-msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify-verbose'. These are usually random-looking numbers (e.g. '128975986723')."
+msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify'. These are usually random-looking numbers (e.g. '128975986723')."
msgstr ""
#: src/info/mkvinfo.cpp:810
diff --git a/po/ro.po b/po/ro.po
index 41e45f905..45c0d55d2 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -2226,7 +2226,7 @@ msgid "--- Warnings emitted by job '%1' started on %2 ---"
msgstr "--- Avertizări emise de activitatea „%1” pornită pe %2 ---"
#: src/propedit/propedit_cli_parser.cpp:263
-msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify-verbose'. These are usually simply numbered starting from 0 (e.g. '2')."
+msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify'. These are usually simply numbered starting from 0 (e.g. '2')."
msgstr ""
#: src/info/mkvinfo.cpp:808
@@ -2234,7 +2234,7 @@ msgid "1: all frames"
msgstr "1: toate cadrele"
#: src/propedit/propedit_cli_parser.cpp:264
-msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify-verbose'. These are usually random-looking numbers (e.g. '128975986723')."
+msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify'. These are usually random-looking numbers (e.g. '128975986723')."
msgstr ""
#: src/info/mkvinfo.cpp:810
diff --git a/po/ru.po b/po/ru.po
index dc9c40a55..a9d6eef52 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -2237,16 +2237,16 @@ msgid "--- Warnings emitted by job '%1' started on %2 ---"
msgstr "--- Предупреждения, произведённые заданием '%1', запущенным в %2 ---"
#: src/propedit/propedit_cli_parser.cpp:263
-msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify-verbose'. These are usually simply numbered starting from 0 (e.g. '2')."
-msgstr "1. Число, интерпретируемое как идентификатор вложения, как они перечисляются командой 'mkvmerge --identify-verbose'. Обычно они просто нумеруются по порядку начиная с нуля (например '2')."
+msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify'. These are usually simply numbered starting from 0 (e.g. '2')."
+msgstr "1. Число, интерпретируемое как идентификатор вложения, как они перечисляются командой 'mkvmerge --identify'. Обычно они просто нумеруются по порядку начиная с нуля (например '2')."
#: src/info/mkvinfo.cpp:808
msgid "1: all frames"
msgstr "1: все кадры"
#: src/propedit/propedit_cli_parser.cpp:264
-msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify-verbose'. These are usually random-looking numbers (e.g. '128975986723')."
-msgstr "2. Число с префиксом '=', что интерпретируется как уникальный ID (UID) вложения, как они перечисляются командой 'mkvmerge --identify-verbose'. Обычно это произвольного вида числа (например '128975986723')."
+msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify'. These are usually random-looking numbers (e.g. '128975986723')."
+msgstr "2. Число с префиксом '=', что интерпретируется как уникальный ID (UID) вложения, как они перечисляются командой 'mkvmerge --identify'. Обычно это произвольного вида числа (например '128975986723')."
#: src/info/mkvinfo.cpp:810
msgid "2: codec private data"
diff --git a/po/sr_RS.po b/po/sr_RS.po
index 2e41c0969..7910f4253 100644
--- a/po/sr_RS.po
+++ b/po/sr_RS.po
@@ -2499,16 +2499,16 @@ msgid "--- Warnings emitted by job '%1' started on %2 ---"
msgstr "--- Упозорења при извршењу радње »%1«, покренуте: %2 ---"
#: src/propedit/propedit_cli_parser.cpp:263
-msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify-verbose'. These are usually simply numbered starting from 0 (e.g. '2')."
-msgstr "1. Број који се добије преко „mkvmerge --identify-verbose“, приказан као Прилог ИБ. Ови бројеви су једноставно нумерисани почев од „0“ (нпр. „2“)."
+msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify'. These are usually simply numbered starting from 0 (e.g. '2')."
+msgstr "1. Број који се добије преко „mkvmerge --identify“, приказан као Прилог ИБ. Ови бројеви су једноставно нумерисани почев од „0“ (нпр. „2“)."
#: src/info/mkvinfo.cpp:808
msgid "1: all frames"
msgstr "1: сви кадрови"
#: src/propedit/propedit_cli_parser.cpp:264
-msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify-verbose'. These are usually random-looking numbers (e.g. '128975986723')."
-msgstr "2. Број са предлошком „=“. Овај број је приказан као јединствен ИБ (ЈИБ) прилога (енг. „uid“) у излазу наредбе „mkvmerge --identify-verbose“. Ово су обично насумице створени бројеви (нпр. „128975986723“)."
+msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify'. These are usually random-looking numbers (e.g. '128975986723')."
+msgstr "2. Број са предлошком „=“. Овај број је приказан као јединствен ИБ (ЈИБ) прилога (енг. „uid“) у излазу наредбе „mkvmerge --identify“. Ово су обично насумице створени бројеви (нпр. „128975986723“)."
#: src/info/mkvinfo.cpp:810
msgid "2: codec private data"
diff --git a/po/sr_RS@latin.po b/po/sr_RS@latin.po
index 370fcb910..7572c5ded 100644
--- a/po/sr_RS@latin.po
+++ b/po/sr_RS@latin.po
@@ -2437,16 +2437,16 @@ msgid "--- Warnings emitted by job '%1' started on %2 ---"
msgstr "--- Upozorenja emitovana od zadatka '%1' započela u %2 ---"
#: src/propedit/propedit_cli_parser.cpp:263
-msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify-verbose'. These are usually simply numbered starting from 0 (e.g. '2')."
-msgstr "1. Broj koji će biti protumačen kao ID priloga kao što je navedeno sa 'mkvmerge --identify-verbose'. Oni su obično jednostavno numerisani polazeći od 0 (npr. '2')."
+msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify'. These are usually simply numbered starting from 0 (e.g. '2')."
+msgstr "1. Broj koji će biti protumačen kao ID priloga kao što je navedeno sa 'mkvmerge --identify'. Oni su obično jednostavno numerisani polazeći od 0 (npr. '2')."
#: src/info/mkvinfo.cpp:808
msgid "1: all frames"
msgstr "1: sve slike"
#: src/propedit/propedit_cli_parser.cpp:264
-msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify-verbose'. These are usually random-looking numbers (e.g. '128975986723')."
-msgstr "2. Broj sa prefiksom '=', koji će biti protumačen kao jedinstven ID priloga (UID) kao što je navedeno sa 'mkvmerge --identify-verbose'. Oni obično izgledaju kao nasumice izabrani brojevi (npr. '128975986723')."
+msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify'. These are usually random-looking numbers (e.g. '128975986723')."
+msgstr "2. Broj sa prefiksom '=', koji će biti protumačen kao jedinstven ID priloga (UID) kao što je navedeno sa 'mkvmerge --identify'. Oni obično izgledaju kao nasumice izabrani brojevi (npr. '128975986723')."
#: src/info/mkvinfo.cpp:810
msgid "2: codec private data"
diff --git a/po/sv.po b/po/sv.po
index e468e8a60..c77bb1ec7 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -2245,7 +2245,7 @@ msgid "--- Warnings emitted by job '%1' started on %2 ---"
msgstr ""
#: src/propedit/propedit_cli_parser.cpp:263
-msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify-verbose'. These are usually simply numbered starting from 0 (e.g. '2')."
+msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify'. These are usually simply numbered starting from 0 (e.g. '2')."
msgstr ""
#: src/info/mkvinfo.cpp:808
@@ -2253,7 +2253,7 @@ msgid "1: all frames"
msgstr "1: alla rutor"
#: src/propedit/propedit_cli_parser.cpp:264
-msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify-verbose'. These are usually random-looking numbers (e.g. '128975986723')."
+msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify'. These are usually random-looking numbers (e.g. '128975986723')."
msgstr ""
#: src/info/mkvinfo.cpp:810
diff --git a/po/tr.po b/po/tr.po
index 920678672..336160cdd 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -2407,7 +2407,7 @@ msgid "--- Warnings emitted by job '%1' started on %2 ---"
msgstr "--- '%1' işi tarafından verilen %2 zamanındaki uyarılar ---"
#: src/propedit/propedit_cli_parser.cpp:263
-msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify-verbose'. These are usually simply numbered starting from 0 (e.g. '2')."
+msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify'. These are usually simply numbered starting from 0 (e.g. '2')."
msgstr ""
#: src/info/mkvinfo.cpp:808
@@ -2415,7 +2415,7 @@ msgid "1: all frames"
msgstr "1: tüm kareler"
#: src/propedit/propedit_cli_parser.cpp:264
-msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify-verbose'. These are usually random-looking numbers (e.g. '128975986723')."
+msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify'. These are usually random-looking numbers (e.g. '128975986723')."
msgstr ""
#: src/info/mkvinfo.cpp:810
diff --git a/po/uk.po b/po/uk.po
index e0f21b4c1..7fce9b37b 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -2457,16 +2457,16 @@ msgid "--- Warnings emitted by job '%1' started on %2 ---"
msgstr "--- Попередження, згенеровані під час виконання завдання \"%1\" розпочатого в: %2 ---"
#: src/propedit/propedit_cli_parser.cpp:263
-msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify-verbose'. These are usually simply numbered starting from 0 (e.g. '2')."
-msgstr "1. Число, що буде інтепретуватися як ID вкладення як вказано в 'mkvmerge --identify-verbose'. Це зазвичай проста нумерація, починаючи з 0 (наприклад, '2')."
+msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify'. These are usually simply numbered starting from 0 (e.g. '2')."
+msgstr "1. Число, що буде інтепретуватися як ID вкладення як вказано в 'mkvmerge --identify'. Це зазвичай проста нумерація, починаючи з 0 (наприклад, '2')."
#: src/info/mkvinfo.cpp:808
msgid "1: all frames"
msgstr "1: всі кадри"
#: src/propedit/propedit_cli_parser.cpp:264
-msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify-verbose'. These are usually random-looking numbers (e.g. '128975986723')."
-msgstr "2. Число з префіксом '=', що буде інтепретуватися як унікальний ID вкладення (UID) як вказано в 'mkvmerge --identify-verbose'. Це зазвичай випадково згенеровані числа (наприклад, '128975986723')."
+msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify'. These are usually random-looking numbers (e.g. '128975986723')."
+msgstr "2. Число з префіксом '=', що буде інтепретуватися як унікальний ID вкладення (UID) як вказано в 'mkvmerge --identify'. Це зазвичай випадково згенеровані числа (наприклад, '128975986723')."
#: src/info/mkvinfo.cpp:810
msgid "2: codec private data"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 169727745..6721f3689 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -2343,16 +2343,16 @@ msgid "--- Warnings emitted by job '%1' started on %2 ---"
msgstr "--- 任务“%1”(启动时间 %2) 的警告消息 ---"
#: src/propedit/propedit_cli_parser.cpp:263
-msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify-verbose'. These are usually simply numbered starting from 0 (e.g. '2')."
-msgstr "1. 一个表示附件 ID 的数字 ('mkvmerge --identify-verbose' 所列出的)。通常是从 0 开始的数字编号 (如 '2')。"
+msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify'. These are usually simply numbered starting from 0 (e.g. '2')."
+msgstr "1. 一个表示附件 ID 的数字 ('mkvmerge --identify' 所列出的)。通常是从 0 开始的数字编号 (如 '2')。"
#: src/info/mkvinfo.cpp:808
msgid "1: all frames"
msgstr "1: 所有帧"
#: src/propedit/propedit_cli_parser.cpp:264
-msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify-verbose'. These are usually random-looking numbers (e.g. '128975986723')."
-msgstr "2. 数字,以“=”为前缀,表示附件的唯一 ID(UID,即“mkvmerge --identify-verbose”所列出的 ID)。通常是看起来随机的数字 (如“128975986723”)。"
+msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify'. These are usually random-looking numbers (e.g. '128975986723')."
+msgstr "2. 数字,以“=”为前缀,表示附件的唯一 ID(UID,即“mkvmerge --identify”所列出的 ID)。通常是看起来随机的数字 (如“128975986723”)。"
#: src/info/mkvinfo.cpp:810
msgid "2: codec private data"
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 59bfcce3b..4dc20ede0 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -2397,16 +2397,16 @@ msgid "--- Warnings emitted by job '%1' started on %2 ---"
msgstr "--- 任務 %1 (開始時間 %2) 的警告訊息 ---"
#: src/propedit/propedit_cli_parser.cpp:263
-msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify-verbose'. These are usually simply numbered starting from 0 (e.g. '2')."
-msgstr "1. 插入號碼作為由「mkvmerge --identify-verbose」列舉的附件 ID。這些號碼通常是從 0 開始編號的簡單號碼 (例如「2」)。"
+msgid "1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify'. These are usually simply numbered starting from 0 (e.g. '2')."
+msgstr "1. 插入號碼作為由「mkvmerge --identify」列舉的附件 ID。這些號碼通常是從 0 開始編號的簡單號碼 (例如「2」)。"
#: src/info/mkvinfo.cpp:808
msgid "1: all frames"
msgstr "1: 全部畫格"
#: src/propedit/propedit_cli_parser.cpp:264
-msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify-verbose'. These are usually random-looking numbers (e.g. '128975986723')."
-msgstr "2. 插入以「=」為字首的號碼作為由「mkvmerge --identify-verbose」列舉的附件唯一識別碼 (UID)。這些號碼通常看起來像是隨機產生的數字 (例如「128975986723」)。"
+msgid "2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify'. These are usually random-looking numbers (e.g. '128975986723')."
+msgstr "2. 插入以「=」為字首的號碼作為由「mkvmerge --identify」列舉的附件唯一識別碼 (UID)。這些號碼通常看起來像是隨機產生的數字 (例如「128975986723」)。"
#: src/info/mkvinfo.cpp:810
msgid "2: codec private data"
diff --git a/share/ruby/mkvtoolnix.rb b/share/ruby/mkvtoolnix.rb
deleted file mode 100755
index fa7813c24..000000000
--- a/share/ruby/mkvtoolnix.rb
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env ruby
-
-require File.absolute_path(File.dirname(__FILE__)) + "/mkvtoolnix/common.rb"
-require File.absolute_path(File.dirname(__FILE__)) + "/mkvtoolnix/merge.rb"
diff --git a/share/ruby/mkvtoolnix/common.rb b/share/ruby/mkvtoolnix/common.rb
deleted file mode 100755
index addb76a66..000000000
--- a/share/ruby/mkvtoolnix/common.rb
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/usr/bin/env ruby
-
-module MKVToolNix
- module Common
- def self.unescape string
- map = {
- '2' => '"',
- 's' => ' ',
- 'c' => ':',
- 'h' => '#',
- }
-
- return string.gsub(/\\(.)/) { |match| map[$1] || $1 }
- end
- end
-end
diff --git a/share/ruby/mkvtoolnix/merge.rb b/share/ruby/mkvtoolnix/merge.rb
deleted file mode 100755
index 0f679fa74..000000000
--- a/share/ruby/mkvtoolnix/merge.rb
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/usr/bin/env ruby
-
-require "pp"
-
-module MKVToolNix
- module Merge
- EXIT_STATUS_MAP = {
- 0 => :success,
- 1 => :warnings,
- 2 => :errors,
- }
-
- def self.identify file_name, opt = {}
- opt[:executable] ||= 'mkvmerge'
-
- p = IO.popen([ opt[:executable], "--identify-for-gui", "--output-charset", "UTF-8", file_name ])
- output = p.readlines
- p.close
-
- result = {
- :status => EXIT_STATUS_MAP[ $?.exitstatus ] || :unknown,
- :exitstatus => $?.exitstatus,
- :container => { },
- :tracks => [ ],
- :attachments => [ ],
- :num_chapters => 0,
- :num_tags => 0,
- }
-
- return result if result[:status] != :success
-
- tracks_by_id = { }
- num_tags_by_id = { }
-
- output.each do |line|
- line.chomp!
-
- if /^File.+:.+container: +([^ ]+)/.match line
- result[:container] = self.extract_properties(line).merge(:type => $1)
-
- elsif /^Track ID (\d): +([a-z\-]+) +\((.+?)\)/.match line
- track = self.extract_properties(line).merge(
- :mkvmerge_id => $1.to_i,
- :type => $2.to_sym,
- :codec => $3,
- :num_tags => 0,
- )
-
- result[:tracks] << track
- tracks_by_id[ track[:mkvmerge_id] ] = track
-
- elsif /^Attachment +ID +(\d+): +type +["'](.+)["'], +size +(\d+) +bytes?, +file +name +["'](.+)["']$/.match line
- # Attachment ID 1: type 'text/plain', size 1202 bytes, file name 'ven.srt'
- result[:attachments] << {
- :mkvmerge_id => $1.to_i,
- :type => $2,
- :size => $3.to_i,
- :file_name => $4,
- }
-
- elsif /^Global +tags: +(\d+)/.match line
- # Global tags: 4 entries
- result[:num_tags] = $1.to_i
-
- elsif /^Chapters: +(\d+)/.match line
- # Chapters: 5 entries
- result[:num_chapters] = $1.to_i
-
- elsif /^Tags +for +track +ID +(\d+): +(\d+)/.match line
- # Tags for track ID 1: 2 entries
- num_tags_by_id[$1.to_i] = $2.to_i
-
- end
- end
-
- num_tags_by_id.each do |id, num|
- tracks_by_id[id][:num_tags] = num if tracks_by_id.has_key? id
- end
-
- return result
- end
-
- protected
-
- def self.extract_properties line
- return { } unless /.+\[ ( .+ ) \]/x.match line
- return Hash[ *
- $1
- .chomp
- .split(/ +/)
- .collect { |part| sub_parts = part.split(/:/).collect { |sub_part| MKVToolNix::Common.unescape sub_part } ; [ sub_parts[0].to_sym, sub_parts[1] ] }
- .flatten
- ]
- end
- end
-end
diff --git a/src/common/command_line.cpp b/src/common/command_line.cpp
index 3069d2d09..1ef917a03 100644
--- a/src/common/command_line.cpp
+++ b/src/common/command_line.cpp
@@ -36,49 +36,6 @@ namespace mtx { namespace cli {
bool g_gui_mode = false;
-/** \brief Reads command line arguments from a file
-
- Each line contains exactly one command line argument or a
- comment. Arguments are converted to UTF-8 and appended to the array
- \c args.
-*/
-static void
-read_args_from_old_option_file(std::vector &args,
- std::string const &filename) {
- mm_text_io_cptr mm_io;
- std::string buffer;
- bool skip_next;
-
- try {
- mm_io = std::make_shared(std::make_shared(filename));
- } catch (mtx::mm_io::exception &ex) {
- mxerror(boost::format(Y("The file '%1%' could not be opened for reading: %2%.\n")) % filename % ex);
- }
-
- skip_next = false;
- while (!mm_io->eof() && mm_io->getline2(buffer)) {
- if (skip_next) {
- skip_next = false;
- continue;
- }
- strip(buffer);
-
- if (buffer == "#EMPTY#") {
- args.push_back("");
- continue;
- }
-
- if ((buffer[0] == '#') || (buffer[0] == 0))
- continue;
-
- if (buffer == "--command-line-charset") {
- skip_next = true;
- continue;
- }
- args.push_back(unescape(buffer));
- }
-}
-
static void
read_args_from_json_file(std::vector &args,
std::string const &filename) {
@@ -121,36 +78,6 @@ read_args_from_json_file(std::vector &args,
}
}
-static void
-read_args_from_file(std::vector &args,
- std::string const &filename) {
- auto path = bfs::path{filename};
- if (balg::to_lower_copy(path.extension().string()) == ".json")
- read_args_from_json_file(args, filename);
-
- else
- read_args_from_old_option_file(args, filename);
-}
-
-static std::vector
-command_line_args_from_environment() {
- std::vector all_args;
-
- auto process = [&all_args](std::string const &variable) {
- auto value = getenv((boost::format("%1%_OPTIONS") % variable).str().c_str());
- if (value && value[0]) {
- auto args = split(value, " ");
- std::transform(args.begin(), args.end(), std::back_inserter(all_args), unescape);
- }
- };
-
- process("MKVTOOLNIX");
- process("MTX");
- process(balg::to_upper_copy(get_program_name()));
-
- return all_args;
-}
-
/** \brief Expand the command line parameters
Takes each command line paramter, converts it to UTF-8, and reads more
@@ -171,13 +98,13 @@ std::vector
args_in_utf8(int argc,
char **argv) {
int i;
- std::vector args = command_line_args_from_environment();
+ std::vector args;
charset_converter_cptr cc_command_line = g_cc_stdio;
for (i = 1; i < argc; i++)
if (argv[i][0] == '@')
- read_args_from_file(args, &argv[i][1]);
+ read_args_from_json_file(args, &argv[i][1]);
else {
if (!strcmp(argv[i], "--command-line-charset")) {
if ((i + 1) == argc)
diff --git a/src/common/strings/editing.cpp b/src/common/strings/editing.cpp
index 894fe9cc1..03b064ec3 100644
--- a/src/common/strings/editing.cpp
+++ b/src/common/strings/editing.cpp
@@ -118,70 +118,6 @@ shrink_whitespace(std::string &s) {
return s;
}
-std::string
-escape(const std::string &source) {
- std::string dst;
- std::string::const_iterator src;
-
- for (src = source.begin(); src < source.end(); src++) {
- if (*src == '\\')
- dst += "\\\\";
- else if (*src == '"')
- dst += "\\2"; // Yes, this IS a trick ;)
- else if (*src == ' ')
- dst += "\\s";
- else if (*src == ':')
- dst += "\\c";
- else if (*src == '#')
- dst += "\\h";
- else if (*src == '[')
- dst += "\\b";
- else if (*src == ']')
- dst += "\\B";
- else
- dst += *src;
- }
-
- return dst;
-}
-
-std::string
-unescape(const std::string &source) {
- std::string dst;
- std::string::const_iterator src, next_char;
-
- src = source.begin();
- next_char = src + 1;
- while (src != source.end()) {
- if (*src == '\\') {
- if (next_char == source.end()) // This is an error...
- dst += '\\';
- else {
- if (*next_char == '2')
- dst += '"';
- else if (*next_char == 's')
- dst += ' ';
- else if (*next_char == 'c')
- dst += ':';
- else if (*next_char == 'h')
- dst += '#';
- else if (*next_char == 'b')
- dst += '[';
- else if (*next_char == 'B')
- dst += ']';
- else
- dst += *next_char;
- src++;
- }
- } else
- dst += *src;
- src++;
- next_char = src + 1;
- }
-
- return dst;
-}
-
std::string
get_displayable_string(const char *src,
int max_len) {
diff --git a/src/common/strings/editing.h b/src/common/strings/editing.h
index a4fe517a3..50878f18e 100644
--- a/src/common/strings/editing.h
+++ b/src/common/strings/editing.h
@@ -39,9 +39,6 @@ void strip_back(std::string &s, bool newlines = false);
std::string &shrink_whitespace(std::string &s);
-std::string escape(const std::string &src);
-std::string unescape(const std::string &src);
-
std::string get_displayable_string(const char *src, int max_len = -1);
std::string get_displayable_string(std::string const &src);
diff --git a/src/merge/generic_reader.cpp b/src/merge/generic_reader.cpp
index 609c4ba51..92a09ddc1 100644
--- a/src/merge/generic_reader.cpp
+++ b/src/merge/generic_reader.cpp
@@ -23,48 +23,6 @@
static int64_rational_c s_probe_range_percentage{3, 10}; // 0.3%
-static std::string
-format_json_value(nlohmann::json const &value) {
- return value.is_number() ? to_string(value.get())
- : value.is_boolean() ? std::string{value.get() ? "1" : "0"}
- : value.get();
-}
-
-static std::string
-format_key_and_json_value(std::string const &key,
- nlohmann::json const &value) {
- return (boost::format{"%1%:%2%"} % escape(key) % escape(format_json_value(value))).str();
-}
-
-static std::string
-format_verbose_info(mtx::id::verbose_info_t const &info) {
- auto formatted = std::vector{};
- auto sub_fmt = boost::format("%1%.%2%.%3%");
-
- for (auto const &pair : info) {
- if (pair.second.is_array()) {
- auto idx = 0u;
-
- for (auto it = pair.second.begin(), end = pair.second.end(); it != end; ++it) {
- if (it->is_object()) {
- for (auto sub_it = it->begin(), sub_end = it->end(); sub_it != sub_end; ++sub_it)
- formatted.emplace_back(format_key_and_json_value((sub_fmt % pair.first % idx % sub_it.key()).str(), sub_it.value()));
-
- ++idx;
-
- } else
- formatted.emplace_back(format_key_and_json_value(pair.first, *it));
- }
-
- } else
- formatted.emplace_back(format_key_and_json_value(pair.first, pair.second));
- }
-
- brng::sort(formatted);
-
- return boost::join(formatted, " ");
-}
-
// ----------------------------------------------------------------------
template
@@ -359,74 +317,35 @@ generic_reader_c::display_identification_results() {
void
generic_reader_c::display_identification_results_as_text() {
- auto identify_verbose = mtx::included_in(g_identification_output_format, identification_output_format_e::verbose_text, identification_output_format_e::gui);
- auto identify_for_gui = identification_output_format_e::gui == g_identification_output_format;
-
- std::string format_file, format_track, format_attachment, format_att_description, format_att_file_name;
-
- if (identify_for_gui) {
- format_file = "File '%1%': container: %2%";
- format_track = "Track ID %1%: %2% (%3%)";
- format_attachment = "Attachment ID %1%: type \"%2%\", size %3% bytes";
- format_att_description = ", description \"%1%\"";
- format_att_file_name = ", file name \"%1%\"";
-
- } else {
- format_file = Y("File '%1%': container: %2%");
- format_track = Y("Track ID %1%: %2% (%3%)");
- format_attachment = Y("Attachment ID %1%: type '%2%', size %3% bytes");
- format_att_description = Y(", description '%1%'");
- format_att_file_name = Y(", file name '%1%'");
- }
-
- mxinfo(boost::format(format_file) % m_ti.m_fname % m_id_results_container.info);
-
- if (identify_verbose && !m_id_results_container.verbose_info.empty())
- mxinfo(boost::format(" [%1%]") % format_verbose_info(m_id_results_container.verbose_info));
-
+ mxinfo(boost::format(Y("File '%1%': container: %2%")) % m_ti.m_fname % m_id_results_container.info);
mxinfo("\n");
for (auto &result : m_id_results_tracks) {
- mxinfo(boost::format(format_track) % result.id % result.type % result.info);
-
- if (identify_verbose && !result.verbose_info.empty())
- mxinfo(boost::format(" [%1%]") % format_verbose_info(result.verbose_info));
-
+ mxinfo(boost::format(Y("Track ID %1%: %2% (%3%)")) % result.id % result.type % result.info);
mxinfo("\n");
}
for (auto &result : m_id_results_attachments) {
- mxinfo(boost::format(format_attachment) % result.id % id_escape_string(result.type) % result.size);
+ mxinfo(boost::format(Y("Attachment ID %1%: type '%2%', size %3% bytes")) % result.id % result.type % result.size);
if (!result.description.empty())
- mxinfo(boost::format(format_att_description) % id_escape_string(result.description));
+ mxinfo(boost::format(Y(", description '%1%'")) % result.description);
if (!result.info.empty())
- mxinfo(boost::format(format_att_file_name) % id_escape_string(result.info));
-
- if (identify_verbose && !result.verbose_info.empty())
- mxinfo(boost::format(" [%1%]") % format_verbose_info(result.verbose_info));
+ mxinfo(boost::format(Y(", file name '%1%'")) % result.info);
mxinfo("\n");
}
for (auto &result : m_id_results_chapters) {
- if (identify_for_gui)
- mxinfo(boost::format("Chapters: %1% entries") % result.size);
- else
- mxinfo(boost::format(NY("Chapters: %1% entry", "Chapters: %1% entries", result.size)) % result.size);
+ mxinfo(boost::format(NY("Chapters: %1% entry", "Chapters: %1% entries", result.size)) % result.size);
mxinfo("\n");
}
for (auto &result : m_id_results_tags) {
- if (ID_RESULT_GLOBAL_TAGS_ID == result.id) {
- if (identify_for_gui)
- mxinfo(boost::format("Global tags: %1% entries") % result.size);
- else
- mxinfo(boost::format(NY("Global tags: %1% entry", "Global tags: %1% entries", result.size)) % result.size);
+ if (ID_RESULT_GLOBAL_TAGS_ID == result.id)
+ mxinfo(boost::format(NY("Global tags: %1% entry", "Global tags: %1% entries", result.size)) % result.size);
- } else if (identify_for_gui)
- mxinfo(boost::format("Tags for track ID %1%: %2% entries") % result.id % result.size);
else
mxinfo(boost::format(NY("Tags for track ID %1%: %2% entry", "Tags for track ID %1%: %2% entries", result.size)) % result.id % result.size);
@@ -498,11 +417,6 @@ generic_reader_c::display_identification_results_as_json() {
display_json_output(json);
}
-std::string
-generic_reader_c::id_escape_string(const std::string &s) {
- return identification_output_format_e::gui == g_identification_output_format ? escape(s) : s;
-}
-
void
generic_reader_c::add_available_track_id(int64_t id) {
m_available_track_ids.push_back(id);
diff --git a/src/merge/generic_reader.h b/src/merge/generic_reader.h
index 807dc7797..cf3a4b4a5 100644
--- a/src/merge/generic_reader.h
+++ b/src/merge/generic_reader.h
@@ -139,8 +139,6 @@ protected:
virtual void id_result_chapters(int num_entries);
virtual void id_result_tags(int64_t track_id, int num_entries);
- virtual std::string id_escape_string(const std::string &s);
-
virtual mm_io_c *get_underlying_input(mm_io_c *actual_in = nullptr) const;
virtual void display_identification_results_as_json();
diff --git a/src/merge/id_result.cpp b/src/merge/id_result.cpp
index ab364fde1..245af5ecf 100644
--- a/src/merge/id_result.cpp
+++ b/src/merge/id_result.cpp
@@ -19,10 +19,7 @@ static void
output_container_unsupported_text(std::string const &filename,
translatable_string_c const &info) {
if (g_identifying) {
- if (identification_output_format_e::gui == g_identification_output_format)
- mxinfo(boost::format("File '%1%': unsupported container: %2%\n") % filename % info);
- else
- mxinfo(boost::format(Y("File '%1%': unsupported container: %2%\n")) % filename % info);
+ mxinfo(boost::format(Y("File '%1%': unsupported container: %2%\n")) % filename % info);
mxexit(3);
} else
diff --git a/src/merge/mkvmerge.cpp b/src/merge/mkvmerge.cpp
index 570d101e4..e1e1d098b 100644
--- a/src/merge/mkvmerge.cpp
+++ b/src/merge/mkvmerge.cpp
@@ -338,7 +338,7 @@ set_usage() {
" \"--identification-format json --identify file\".\n");
usage_text += Y(" -F, --identification-format \n"
" Set the identification results format\n"
- " ('text', 'verbose-text', 'json').\n");
+ " ('text' or 'json'; default is 'text').\n");
usage_text += Y(" --probe-range-percentage \n"
" Sets maximum size to probe for tracks in percent\n"
" of the total file size for certain file types\n"
@@ -2116,12 +2116,6 @@ parse_arg_identification_format(std::vector::const_iterator &sit,
if (next_arg == "text")
g_identification_output_format = identification_output_format_e::text;
- else if (next_arg == "verbose-text")
- g_identification_output_format = identification_output_format_e::verbose_text;
-
- else if (next_arg == "gui")
- g_identification_output_format = identification_output_format_e::gui;
-
else if (next_arg == "json") {
g_identification_output_format = identification_output_format_e::json;
redirect_warnings_and_errors_to_json();
@@ -2169,18 +2163,12 @@ handle_identification_args(std::vector &args) {
}
for (auto const &this_arg : args) {
- if (!mtx::included_in(this_arg, "-i", "--identify", "-I", "--identify-verbose", "--identify-for-mmg", "--identify-for-gui", "-J"))
+ if (!mtx::included_in(this_arg, "-i", "--identify", "-J"))
continue;
identification_command = this_arg;
- if (mtx::included_in(this_arg, "-I", "--identify-verbose"))
- g_identification_output_format = identification_output_format_e::verbose_text;
-
- else if (mtx::included_in(this_arg, "--identify-for-mmg", "--identify-for-gui"))
- g_identification_output_format = identification_output_format_e::gui;
-
- else if (this_arg == "-J") {
+ if (this_arg == "-J") {
g_identification_output_format = identification_output_format_e::json;
redirect_warnings_and_errors_to_json();
}
@@ -2192,7 +2180,7 @@ handle_identification_args(std::vector &args) {
for (auto sit = args.cbegin(), sit_end = args.cend(); sit != sit_end; sit++) {
auto const &this_arg = *sit;
- if (mtx::included_in(this_arg, "-i", "--identify", "-I", "--identify-verbose", "--identify-for-mmg", "--identify-for-gui", "-J"))
+ if (mtx::included_in(this_arg, "-i", "--identify", "-J"))
continue;
if (mtx::included_in(this_arg, "-F", "--identification-format"))
@@ -2230,7 +2218,7 @@ parse_args(std::vector args) {
list_iso639_languages();
mxexit();
- } else if (mtx::included_in(this_arg, "-i", "--identify", "-I", "--identify-verbose", "--identify-for-mmg", "--identify-for-gui", "-J"))
+ } else if (mtx::included_in(this_arg, "-i", "--identify", "-J"))
mxerror(boost::format(Y("'%1%' can only be used with a file name. No further options are allowed if this option is used.\n")) % this_arg);
else if (this_arg == "--capabilities") {
diff --git a/src/merge/output_control.h b/src/merge/output_control.h
index 2f3999fdf..6f9af8b20 100644
--- a/src/merge/output_control.h
+++ b/src/merge/output_control.h
@@ -116,8 +116,6 @@ enum append_mode_e {
enum class identification_output_format_e {
text,
- verbose_text,
- gui,
json,
};
diff --git a/src/mkvtoolnix-gui/forms/merge/command_line_dialog.ui b/src/mkvtoolnix-gui/forms/merge/command_line_dialog.ui
index a69e5dfda..409f17bb3 100644
--- a/src/mkvtoolnix-gui/forms/merge/command_line_dialog.ui
+++ b/src/mkvtoolnix-gui/forms/merge/command_line_dialog.ui
@@ -55,11 +55,6 @@
MKVToolNix option files (JSON-formatted)
-
-
- MKVToolNix option files (old format)
-
- Don't escape
diff --git a/src/mkvtoolnix-gui/merge/command_line_dialog.cpp b/src/mkvtoolnix-gui/merge/command_line_dialog.cpp
index 12e687a8e..56940efc4 100644
--- a/src/mkvtoolnix-gui/merge/command_line_dialog.cpp
+++ b/src/mkvtoolnix-gui/merge/command_line_dialog.cpp
@@ -52,16 +52,14 @@ CommandLineDialog::onEscapeModeChanged(int index) {
auto mode = 0 == index ? Util::EscapeShellCmdExeArgument
: 1 == index ? Util::EscapeShellUnix
: 2 == index ? Util::EscapeJSON
- : 3 == index ? Util::EscapeMkvtoolnix
: Util::DontEscape;
- auto sep = Util::EscapeMkvtoolnix == mode ? "\n" : " ";
auto opts = m_options;
- if (mtx::included_in(mode, Util::EscapeJSON, Util::EscapeMkvtoolnix))
+ if (mtx::included_in(mode, Util::EscapeJSON))
opts.removeFirst();
- ui->commandLine->setPlainText(Util::escape(opts, mode).join(Q(sep)));
+ ui->commandLine->setPlainText(Util::escape(opts, mode).join(Q(" ")));
}
void
diff --git a/src/mkvtoolnix-gui/util/string.cpp b/src/mkvtoolnix-gui/util/string.cpp
index ec1bf535b..5ff7a9838 100644
--- a/src/mkvtoolnix-gui/util/string.cpp
+++ b/src/mkvtoolnix-gui/util/string.cpp
@@ -41,20 +41,6 @@ DeferredRegularExpression::operator *() {
// ----------------------------------------------------------------------
-static QString
-escapeMkvtoolnix(QString const &source) {
- if (source.isEmpty())
- return QString{"#EMPTY#"};
- return to_qs(::escape(to_utf8(source)));
-}
-
-static QString
-unescapeMkvtoolnix(QString const &source) {
- if (source == Q("#EMPTY#"))
- return Q("");
- return to_qs(::unescape(to_utf8(source)));
-}
-
static QString
escapeShellUnix(QString const &source) {
if (source.isEmpty())
@@ -186,8 +172,7 @@ unescapeKeyboardShortcuts(QString const &text) {
QString
escape(QString const &source,
EscapeMode mode) {
- return EscapeMkvtoolnix == mode ? escapeMkvtoolnix(source)
- : EscapeShellUnix == mode ? escapeShellUnix(source)
+ return EscapeShellUnix == mode ? escapeShellUnix(source)
: EscapeShellCmdExeArgument == mode ? escapeShellWindows(source)
: EscapeShellCmdExeProgram == mode ? escapeShellWindowsProgram(source)
: EscapeKeyboardShortcuts == mode ? escapeKeyboardShortcuts(source)
@@ -197,10 +182,9 @@ escape(QString const &source,
QString
unescape(QString const &source,
EscapeMode mode) {
- Q_ASSERT(mtx::included_in(mode, EscapeMkvtoolnix, EscapeKeyboardShortcuts));
+ Q_ASSERT(mtx::included_in(mode, EscapeKeyboardShortcuts));
- return EscapeKeyboardShortcuts == mode ? unescapeKeyboardShortcuts(source)
- : unescapeMkvtoolnix(source);
+ return unescapeKeyboardShortcuts(source);
}
static QStringList
diff --git a/src/mkvtoolnix-gui/util/string.h b/src/mkvtoolnix-gui/util/string.h
index 2faa96589..7cfca028b 100644
--- a/src/mkvtoolnix-gui/util/string.h
+++ b/src/mkvtoolnix-gui/util/string.h
@@ -10,7 +10,6 @@ class QStringList;
namespace mtx { namespace gui { namespace Util {
enum EscapeMode {
- EscapeMkvtoolnix,
EscapeJSON,
EscapeShellUnix,
EscapeShellCmdExeArgument,
diff --git a/src/propedit/attachment_target.cpp b/src/propedit/attachment_target.cpp
index 5d4751971..fd0f5397c 100644
--- a/src/propedit/attachment_target.cpp
+++ b/src/propedit/attachment_target.cpp
@@ -156,7 +156,7 @@ attachment_target_c::parse_spec(command_e command,
m_selector_string_arg = matches[4 + offset].str();
if (ac_replace == m_command)
- m_selector_string_arg = unescape(m_selector_string_arg);
+ m_selector_string_arg = unescape_colon(m_selector_string_arg);
}
if ((ac_replace == m_command) && m_file_name.empty())
@@ -336,3 +336,9 @@ attachment_target_c::replace_attachment_values(KaxAttached &att) {
if (m_file_content)
GetChild(att).CopyBuffer(m_file_content->get_buffer(), m_file_content->get_size());
}
+
+std::string
+attachment_target_c::unescape_colon(std::string arg) {
+ boost::replace_all(arg, "\\c", ":");
+ return arg;
+}
diff --git a/src/propedit/attachment_target.h b/src/propedit/attachment_target.h
index a1a752d7d..fce80a6cc 100644
--- a/src/propedit/attachment_target.h
+++ b/src/propedit/attachment_target.h
@@ -112,6 +112,8 @@ protected:
virtual void replace_attachment_values(KaxAttached &att);
virtual bool matches_by_uid_name_or_mime_type(KaxAttached &att);
+
+ virtual std::string unescape_colon(std::string arg);
};
inline bool
diff --git a/src/propedit/propedit_cli_parser.cpp b/src/propedit/propedit_cli_parser.cpp
index 33f74bda9..ca2f6f9cb 100644
--- a/src/propedit/propedit_cli_parser.cpp
+++ b/src/propedit/propedit_cli_parser.cpp
@@ -260,8 +260,8 @@ propedit_cli_parser_c::init_parser() {
add_section_header(YT("Attachment selectors"), 0);
add_information(YT("An can have three forms:"), 1);
- add_information(YT("1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify-verbose'. These are usually simply numbered starting from 0 (e.g. '2')."), 2);
- add_information(YT("2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify-verbose'. These are usually random-looking numbers (e.g. '128975986723')."), 2);
+ add_information(YT("1. A number which will be interpreted as an attachment ID as listed by 'mkvmerge --identify'. These are usually simply numbered starting from 0 (e.g. '2')."), 2);
+ add_information(YT("2. A number with the prefix '=' which will be interpreted as the attachment's unique ID (UID) as listed by 'mkvmerge --identify'. These are usually random-looking numbers (e.g. '128975986723')."), 2);
add_information(YT("3. Either 'name:' or 'mime-type:' in which case the selector applies to all attachments whose name or MIME type respectively equals ."), 2);
add_hook(mtx::cli::parser_c::ht_unknown_option, std::bind(&propedit_cli_parser_c::set_file_name, this));
diff --git a/src/scripts/scan_mpls_dir.pl b/src/scripts/scan_mpls_dir.pl
index 31dda2b5d..cb4685417 100755
--- a/src/scripts/scan_mpls_dir.pl
+++ b/src/scripts/scan_mpls_dir.pl
@@ -5,6 +5,8 @@ use warnings;
use English;
+use JSON::PP;
+
my $exe = $ENV{MKVMERGE} // 'mkvmerge';
sub mpls_files {
@@ -14,11 +16,12 @@ sub mpls_files {
sub identify {
my ($file_name) = @_;
- my $output = `$exe --identify-verbose $file_name 2> /dev/null`;
+ my $output = `$exe -J $file_name 2> /dev/null`;
return undef if $CHILD_ERROR != 0;
- my ($duration) = $output =~ m{playlist_duration:(\d+)};
- my ($size) = $output =~ m{playlist_size:(\d+)};
+ $output = JSON::PP::decode_json($output);
+ my ($duration) = $output->{container}->{properties}->{playlist_duration};
+ my ($size) = $output->{container}->{properties}->{playlist_size};
return undef unless $duration && $size;
diff --git a/tests/results.txt b/tests/results.txt
index a567f6ac7..92a0d5f31 100644
--- a/tests/results.txt
+++ b/tests/results.txt
@@ -63,7 +63,7 @@ T_213mp4_broken_pixel_dimensions:407c26ce06393d2dc5ee1a602a63af0b:passed:2005091
T_214one_frame_avi:683d26d5c30a903e4bfba86448fc3ec2:passed:20051004-192755:0.039489971
T_215X_codec_extradata_avi:e8c0c4dad4908f20062be3c1f3b9ad85-74ac799ad899f703cbb6c6654e5f9f51:passed:20051004-194707:0.052219855
T_216mp4_editlists:66365e78024f12277a6d456d3d9dc491:passed:20051118-191453:0.106975045
-T_217file_identification:0778e29cb0fd9105f256a2ef5d6ab76f-07ccbe9b29f63dabe2a106b8ec3493d4-c66a0411b938385f95d9d94348f19a56-3edc1b78f1c121e14adfa14572a887d1-6de183e75c13780b13b9bf2a03412c5e-d745abfda0493233b08945eee9111434-c68e864573c8f2b661315dfd8e16b4c7-4d79fbc36b795949b97207a1de92e7d6-f20778159a2f6ccb9dc58b843caf2a8a-21fb00a414c5ce021bff1fa46a358cf8-3038c2ae29c6493970eda7d3e52f3af5-e14631f851d4372631e246eff0c55b5a-18f99189542c084416fc7a9f41bd34a2-730d162a188013899e56e5aeffd12686-a7d494520e437c3c7c67272f2613ee15-2d276629d6ea53e3386e0b805ec89368-515532789a5b930f32856a1e3d7deb2a-4cdcef1ccefaa4977be842da4ebf34e3-4308b9e486d32e2105f4f547747f6070-9fedc0ff927fd9394eaadadc0e4c784f-cfa24cbdb820fd68c0b98816d81dd139-eb8c2e68093164ae5b3b143454f4dc25:passed:20051209-180815:1.882517588
+T_217file_identification:a7959c78036a7fa44ce8b31c97014224-81f0a1b96ee89c1081cbb13bff6748d9-21cb81b1c68ee64fe33b11d17c1f484d-32e68f8e85f5c3ff55a981ba715caabd-a96a2af8eb39c8f34e30b768e03a25bd-729ab2a6be9c228a001f9c06a3b3bb38-7db6ea7b9c85b12346f1aefdebe66e04-e7ce95a9d24f08352eedad98017b867b-c674e8553ba03fece5250270f0b6dbee-70b8742edd6739e7b193b2a2d4ba3375-39f01f9a969f1e3d33a74c0c99fdf6bf-0c13df5a3a3b0b27c4d0d348cd170a25-d34845050e63e5fc3895bd77f7d460f5-dc88e2311a27f2ade19b0e5e8e77151a-ed2a4a7118b99a58d2f1ae7fd1e2d2fd-c2b250f393dc229f7952fad4d15cc372-3f0752bde4202fb12dbeb87daab2967b-6e71817fca8d4ef34de5ba227e008e3f-72cb49a74740e489d69cfc592474b368-c7407382dd1e29d07645c3f3315ac29d-c777627d7470d122b0767b0e842a6d81-339634cb983320bf8166225fa4582174:passed:20051209-180815:1.882517588
T_218theora:ed6737006bb71b5b2931e3800f81eee7-27d75f52561de1bdb24faa0a386ad7bd:passed:20060428-105054:0.392912102
T_219srt_short_timecodes:4d58c1d5ddab6368080d54a7585b0f83:passed:20060926-112658:0.117747192
T_220ass_with_comments_at_start:30926355189808086b52edf95c8f49d0:passed:20060926-120101:0.382410266
diff --git a/tests/test-217file_identification.rb b/tests/test-217file_identification.rb
old mode 100644
new mode 100755
index 0d8bc8a5e..1be3fb960
--- a/tests/test-217file_identification.rb
+++ b/tests/test-217file_identification.rb
@@ -30,11 +30,10 @@ class T_217file_identification < Test
"data/wp/with-correction.wv",
"data/wp/without-correction.wv"
].collect do |file|
- sys "../src/mkvmerge --identify-verbose #{file} > #{tmp}", 0
+ sys "../src/mkvmerge -J #{file} > #{tmp}", 0
hash_tmp
end
checksum.join '-'
end
end
-
diff --git a/tests/test-255aspect_ratio_display_dimensions.rb b/tests/test-255aspect_ratio_display_dimensions.rb
index 89bad8b21..b7a5d0645 100755
--- a/tests/test-255aspect_ratio_display_dimensions.rb
+++ b/tests/test-255aspect_ratio_display_dimensions.rb
@@ -6,7 +6,7 @@ class T_255aspect_ratio_display_dimensions < Test
end
def get_display_dimensions file_name
- `mkvmerge --identify-for-gui "#{file_name}" | grep 'display_dimensions:' | sed -e 's/.*display_dimensions://' -e 's/ .*//'`.chomp
+ JSON.load(`mkvmerge -J "#{file_name}"`)["tracks"][0]["properties"]["display_dimensions"]
end
def run_test_with_args initial_args
diff --git a/tests/test-288identify_files_by_amg.rb b/tests/test-288identify_files_by_amg.rb
old mode 100644
new mode 100755
index 9585f0462..1e32bc336
--- a/tests/test-288identify_files_by_amg.rb
+++ b/tests/test-288identify_files_by_amg.rb
@@ -6,8 +6,9 @@ class T_288identify_files_by_amg < Test
end
def run
- sys "../src/mkvmerge --identify-verbose data/mkv/amg_sample.mkv | grep '^Track' | wc -l | sed 's/^[^0-9]*//' > #{tmp}"
+ File.open(tmp, 'w') do |file|
+ file.puts(JSON.load(`../src/mkvmerge -J data/mkv/amg_sample.mkv`)["tracks"].size.to_s)
+ end
hash_tmp
end
end
-
diff --git a/tests/test-361file_concatenation.rb b/tests/test-361file_concatenation.rb
index aa752e3ba..a982d2bf7 100755
--- a/tests/test-361file_concatenation.rb
+++ b/tests/test-361file_concatenation.rb
@@ -23,7 +23,7 @@ test_merge "'(' #{vob_files[0]} #{vob_files[1]} ')'"
m2ts_files = (0..3).map { |i| "data/ts/0000#{i}.m2ts" }
-test_identify m2ts_files[0], :verbose => true
+test_identify m2ts_files[0], :format => :json
# These four must be equal.
test_merge m2ts_files[0]
diff --git a/tests/test-378deprecated_iso_639_2_codes.rb b/tests/test-378deprecated_iso_639_2_codes.rb
index 3cecddf51..e94cd3207 100755
--- a/tests/test-378deprecated_iso_639_2_codes.rb
+++ b/tests/test-378deprecated_iso_639_2_codes.rb
@@ -5,7 +5,7 @@ the_file = "data/mkv/deprecated-languages.mkv"
# T_378deprecated_iso_639_2_codes
describe "mkvmerge / handling deprecated ISO 639-2 language codes"
test "identification" do
- identify(the_file)[0].select { |e| /language:/.match(e) }.collect { |e| e.chomp.gsub(/.*language:(\w+).*/, '\1') }.compact.sort.join('+')
+ identify_json(the_file)["tracks"].collect { |t| t["properties"]["language"] }.compact.sort.join('+')
end
test_merge the_file
diff --git a/tests/test-423deprecated_iso639_codes.rb b/tests/test-423deprecated_iso639_codes.rb
index e7c7f7391..c017b1f39 100755
--- a/tests/test-423deprecated_iso639_codes.rb
+++ b/tests/test-423deprecated_iso639_codes.rb
@@ -12,8 +12,6 @@ describe "mkvmerge / deprecated ISO 639-1/2 codes"
codes.each do |deprecated_code, expected_code|
test_merge "data/subtitles/srt/vde.srt", :args => "--language 0:#{deprecated_code}", :keep_tmp => true
test "check code #{deprecated_code} => #{expected_code}" do
- output = identify tmp
- unlink_tmp_files
- /language:#{expected_code}/.match(output.join("")) ? "good" : "bad"
+ identify_json(tmp)["tracks"][0]["properties"]["language"] == expected_code ? "good" : "bad"
end
end
diff --git a/tests/test.d/simple_test.rb b/tests/test.d/simple_test.rb
index 403cb03c0..ba2346be3 100644
--- a/tests/test.d/simple_test.rb
+++ b/tests/test.d/simple_test.rb
@@ -176,8 +176,8 @@ class SimpleTest
@blocks[:tests] << {
:name => full_command_line,
:block => lambda {
- sys "../src/mkvmerge --identify-verbose #{full_command_line} > #{tmp}", :exit_code => 3
- %r{unsupported container}.match(IO.readlines(tmp).first || '') ? :ok : :bad
+ json = identify_json full_command_line, :exit_code => 3
+ (json["container"]["recognized"] == true) && (json["container"]["supported"] == false) ? :ok : :bad
},
}
end
@@ -243,9 +243,7 @@ class SimpleTest
options = args.extract_options!
fail ArgumentError if args.empty?
- verbose = !options[:verbose].nil? ? options[:verbose] : true
- format = options[:format] ? options[:format].to_s.downcase.gsub(/_/, '-') : verbose ? 'verbose-text' : 'text'
-
+ format = options[:format] ? options[:format].to_s.downcase.gsub(/_/, '-') : 'text'
command = "../src/mkvmerge --identify --identification-format #{format} --engage no_variable_data #{args.first}"
self.sys command, :exit_code => options[:exit_code], :no_result => options[:no_result]