Allow selecting multiple files also when clicking "join" (#341)
parent
92eac0434a
commit
304cb687f1
|
@ -172,7 +172,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.ui" line="693"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1029"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1004"/>
|
||||
<source>Downconvert HD audio</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -766,7 +766,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.ui" line="2713"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1412"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1387"/>
|
||||
<source>Demux</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -777,7 +777,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.ui" line="2747"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2381"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2334"/>
|
||||
<source>File name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -793,7 +793,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.ui" line="2866"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2365"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2318"/>
|
||||
<source>Sta&rt muxing</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -829,7 +829,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="609"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1154"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1129"/>
|
||||
<source>Unsupported format</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -839,160 +839,160 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="906"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="905"/>
|
||||
<source>Add media files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="945"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="920"/>
|
||||
<source>File already exists</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="946"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="921"/>
|
||||
<source>File "%1" already exists</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1023"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="998"/>
|
||||
<source>Downconvert DTS-HD to DTS</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1025"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1000"/>
|
||||
<source>Downconvert TRUE-HD to AC3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1027"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1002"/>
|
||||
<source>Downconvert E-AC3 to AC3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1160"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1135"/>
|
||||
<source>Unsupported format or all tracks are not recognized. File name: "%1"</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1170"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1145"/>
|
||||
<source>Track %1 was not recognized and ignored. File name: "%2"</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1412"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1387"/>
|
||||
<source>Mux</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1431"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1406"/>
|
||||
<source>tsMuxeR error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1435"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1410"/>
|
||||
<source>tsMuxeR not found!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1453"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1428"/>
|
||||
<source>Can't execute tsMuxeR!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2219"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2220"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2194"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2195"/>
|
||||
<source>No track selected</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2227"/>
|
||||
<source>Append media file</source>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2201"/>
|
||||
<source>Append media files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2264"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2217"/>
|
||||
<source>Invalid file extension</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2265"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2218"/>
|
||||
<source>Appended file must have same file extension.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2363"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2316"/>
|
||||
<source>Sta&rt demuxing</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2377"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2330"/>
|
||||
<source>Folder</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2467"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2420"/>
|
||||
<source>Select file for muxing</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2489"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2505"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2442"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2458"/>
|
||||
<source>Invalid file name</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2490"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2443"/>
|
||||
<source>The output file "%1" has invalid extension. Please, change file extension to ".m2ts"</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2506"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2459"/>
|
||||
<source>The output file "%1" has invalid extension. Please, change file extension to ".iso"</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2520"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2473"/>
|
||||
<source>file</source>
|
||||
<extracomment>Used in expressions "Overwrite existing %1" and "The output %1 already exists".</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2520"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2473"/>
|
||||
<source>directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2522"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2475"/>
|
||||
<source>Overwrite existing %1?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2523"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2476"/>
|
||||
<source>The output %1 "%2" already exists. Do you want to overwrite it?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2540"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2493"/>
|
||||
<source>Muxing in progress</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2540"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2493"/>
|
||||
<source>Demuxing in progress</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2554"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2507"/>
|
||||
<source>tsMuxeR project file (*.meta);;All files (*.*)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2569"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2522"/>
|
||||
<source>Can't create temporary meta file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2570"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2523"/>
|
||||
<source>Can't create temporary meta file "%1"</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
|
@ -172,7 +172,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.ui" line="693"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1029"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1004"/>
|
||||
<source>Downconvert HD audio</source>
|
||||
<translation>Supprimer les données HD de l'audio</translation>
|
||||
</message>
|
||||
|
@ -766,7 +766,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.ui" line="2713"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1412"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1387"/>
|
||||
<source>Demux</source>
|
||||
<translation>Démuxer</translation>
|
||||
</message>
|
||||
|
@ -777,7 +777,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.ui" line="2747"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2381"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2334"/>
|
||||
<source>File name</source>
|
||||
<translation>Nom du fichier</translation>
|
||||
</message>
|
||||
|
@ -793,7 +793,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.ui" line="2866"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2365"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2318"/>
|
||||
<source>Sta&rt muxing</source>
|
||||
<translation>&Démarrer le muxage</translation>
|
||||
</message>
|
||||
|
@ -829,7 +829,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="609"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1154"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1129"/>
|
||||
<source>Unsupported format</source>
|
||||
<translation>Format non pris en charge</translation>
|
||||
</message>
|
||||
|
@ -839,160 +839,160 @@
|
|||
<translation>Impossible de déterminer le type de flux pour le fichier : "%1"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="906"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="905"/>
|
||||
<source>Add media files</source>
|
||||
<translation>Ajouter un fichiers médias</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="945"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="920"/>
|
||||
<source>File already exists</source>
|
||||
<translation>Le fichier existe déjà</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="946"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="921"/>
|
||||
<source>File "%1" already exists</source>
|
||||
<translation>Le fichier "%1" existe déjà</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1023"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="998"/>
|
||||
<source>Downconvert DTS-HD to DTS</source>
|
||||
<translation>Réduire le DTS-HD en DTS</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1025"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1000"/>
|
||||
<source>Downconvert TRUE-HD to AC3</source>
|
||||
<translation>Réduire le TRUE-HD en AC3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1027"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1002"/>
|
||||
<source>Downconvert E-AC3 to AC3</source>
|
||||
<translation>Réduire le E-AC3 en AC3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1160"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1135"/>
|
||||
<source>Unsupported format or all tracks are not recognized. File name: "%1"</source>
|
||||
<translation>Format non pris en charge ou aucune piste n'a été reconnue pour le fichier "%1"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1170"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1145"/>
|
||||
<source>Track %1 was not recognized and ignored. File name: "%2"</source>
|
||||
<translation>La piste %1 n'a pas été reconnue et a été ignorée pour le fichier "%2"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1412"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1387"/>
|
||||
<source>Mux</source>
|
||||
<translation>Muxer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1431"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1406"/>
|
||||
<source>tsMuxeR error</source>
|
||||
<translation>Erreur de tsMuxeR</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1435"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1410"/>
|
||||
<source>tsMuxeR not found!</source>
|
||||
<translation>tsMuxer introuvable !</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1453"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1428"/>
|
||||
<source>Can't execute tsMuxeR!</source>
|
||||
<translation>Impossible d'exécuter tsMuxer !</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2219"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2220"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2194"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2195"/>
|
||||
<source>No track selected</source>
|
||||
<translation>Aucune piste sélectionnée</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2227"/>
|
||||
<source>Append media file</source>
|
||||
<translation>Concaténer un fichier média</translation>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2201"/>
|
||||
<source>Append media files</source>
|
||||
<translation>Concaténer un fichiers médias</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2264"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2217"/>
|
||||
<source>Invalid file extension</source>
|
||||
<translation>Extension de fichier non valide</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2265"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2218"/>
|
||||
<source>Appended file must have same file extension.</source>
|
||||
<translation>Le fichier concaténé doit avoir la même extension de fichier.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2363"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2316"/>
|
||||
<source>Sta&rt demuxing</source>
|
||||
<translation>Déma&rrer le démuxage</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2377"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2330"/>
|
||||
<source>Folder</source>
|
||||
<translation>Dossier</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2467"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2420"/>
|
||||
<source>Select file for muxing</source>
|
||||
<translation>Sélectionner un fichier pour le muxage</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2489"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2505"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2442"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2458"/>
|
||||
<source>Invalid file name</source>
|
||||
<translation>Nom de fichier non valide</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2490"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2443"/>
|
||||
<source>The output file "%1" has invalid extension. Please, change file extension to ".m2ts"</source>
|
||||
<translation>Le fichier de sortie "%1"' n'a pas une extension valide. Veuillez changer l'extension du fichier en ".m2ts"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2506"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2459"/>
|
||||
<source>The output file "%1" has invalid extension. Please, change file extension to ".iso"</source>
|
||||
<translation>Le fichier de sortie "%1"' n'a pas une extension valide. Veuillez changer l'extension du fichier en ".iso"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2520"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2473"/>
|
||||
<source>file</source>
|
||||
<extracomment>Used in expressions "Overwrite existing %1" and "The output %1 already exists".</extracomment>
|
||||
<translation>fichier</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2520"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2473"/>
|
||||
<source>directory</source>
|
||||
<translation>dossier</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2522"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2475"/>
|
||||
<source>Overwrite existing %1?</source>
|
||||
<translation>Écraser %1 qui existe déjà ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2523"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2476"/>
|
||||
<source>The output %1 "%2" already exists. Do you want to overwrite it?</source>
|
||||
<translation>La sortie %1 "%2" existe déjà. Souhaitez-vous l'écraser ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2540"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2493"/>
|
||||
<source>Muxing in progress</source>
|
||||
<translation>Muxage en cours</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2540"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2493"/>
|
||||
<source>Demuxing in progress</source>
|
||||
<translation>Démuxage en cours</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2554"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2507"/>
|
||||
<source>tsMuxeR project file (*.meta);;All files (*.*)</source>
|
||||
<translation>Fichier de projet tsMuxeR (*.meta);;Tous les fichiers (*.*)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2569"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2522"/>
|
||||
<source>Can't create temporary meta file</source>
|
||||
<translation>Impossible de créer le fichier Meta temporaire</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2570"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2523"/>
|
||||
<source>Can't create temporary meta file "%1"</source>
|
||||
<translation>Impossible de créer le fichier Meta temporaire "%1"</translation>
|
||||
</message>
|
||||
|
|
|
@ -172,7 +172,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.ui" line="693"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1029"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1004"/>
|
||||
<source>Downconvert HD audio</source>
|
||||
<translation>Упростить HD звук</translation>
|
||||
</message>
|
||||
|
@ -766,7 +766,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.ui" line="2713"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1412"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1387"/>
|
||||
<source>Demux</source>
|
||||
<translation>Демукс</translation>
|
||||
</message>
|
||||
|
@ -777,7 +777,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.ui" line="2747"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2381"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2334"/>
|
||||
<source>File name</source>
|
||||
<translation>Имя Файла</translation>
|
||||
</message>
|
||||
|
@ -793,7 +793,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.ui" line="2866"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2365"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2318"/>
|
||||
<source>Sta&rt muxing</source>
|
||||
<translation>Ста&рт муксинга</translation>
|
||||
</message>
|
||||
|
@ -829,7 +829,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="609"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1154"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1129"/>
|
||||
<source>Unsupported format</source>
|
||||
<translation>Неподдерживаемый формат</translation>
|
||||
</message>
|
||||
|
@ -839,161 +839,161 @@
|
|||
<translation>Не определён тип потока. Имя файла: "%1"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="906"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="905"/>
|
||||
<source>Add media files</source>
|
||||
<translation>Добавить медиафайлы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="945"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="920"/>
|
||||
<source>File already exists</source>
|
||||
<translation>Файл уже есть</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="946"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="921"/>
|
||||
<source>File "%1" already exists</source>
|
||||
<translation>Файл "%1" уже есть</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1023"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="998"/>
|
||||
<source>Downconvert DTS-HD to DTS</source>
|
||||
<translation>Преобразовать из DTS-HD в DTS</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1025"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1000"/>
|
||||
<source>Downconvert TRUE-HD to AC3</source>
|
||||
<translation>Преобразовать из TRUE-HD в AC3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1027"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1002"/>
|
||||
<source>Downconvert E-AC3 to AC3</source>
|
||||
<translation>Преобразовать из E-AC3 в AC3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1160"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1135"/>
|
||||
<source>Unsupported format or all tracks are not recognized. File name: "%1"</source>
|
||||
<translation>Неподдерживаемый формат или все дорожки не распознаны. Имя файла: "%1"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1170"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1145"/>
|
||||
<source>Track %1 was not recognized and ignored. File name: "%2"</source>
|
||||
<translation>Дорожка %1 не распознана и проигнорирована. Имя файла: "%2"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1412"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1387"/>
|
||||
<source>Mux</source>
|
||||
<translation>Создать</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1431"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1406"/>
|
||||
<source>tsMuxeR error</source>
|
||||
<translation>Ошибка tsMuxeR</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1435"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1410"/>
|
||||
<source>tsMuxeR not found!</source>
|
||||
<translation>tsMuxeR не найден!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1453"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="1428"/>
|
||||
<source>Can't execute tsMuxeR!</source>
|
||||
<translation>Не возможно запустить tsMuxeR!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2219"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2220"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2194"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2195"/>
|
||||
<source>No track selected</source>
|
||||
<translation>Не выбрана дорожка</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2227"/>
|
||||
<source>Append media file</source>
|
||||
<translation>Присоединить медиафайл</translation>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2201"/>
|
||||
<source>Append media files</source>
|
||||
<translation>Присоединить медиафайлы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2264"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2217"/>
|
||||
<source>Invalid file extension</source>
|
||||
<translation>Неверное расширение файла</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2265"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2218"/>
|
||||
<source>Appended file must have same file extension.</source>
|
||||
<translation>Присоединяемый файл должен иметь тоже самое расширение файла.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2363"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2316"/>
|
||||
<source>Sta&rt demuxing</source>
|
||||
<translation>Ста&rт демуксинга</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2377"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2330"/>
|
||||
<source>Folder</source>
|
||||
<translation>Папка</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2467"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2420"/>
|
||||
<source>Select file for muxing</source>
|
||||
<translation>Выберите файл для муксинга</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2489"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2505"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2442"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2458"/>
|
||||
<source>Invalid file name</source>
|
||||
<translation>Неверное имя файла</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2490"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2443"/>
|
||||
<source>The output file "%1" has invalid extension. Please, change file extension to ".m2ts"</source>
|
||||
<translation>Выходной файл "%1" имеет недопустимое расширение. Пожалуйста, измените расширение файла на ".m2ts"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2506"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2459"/>
|
||||
<source>The output file "%1" has invalid extension. Please, change file extension to ".iso"</source>
|
||||
<translation>Выходной файл "%1" имеет недопустимое расширение. Пожалуйста, измените расширение файла на ".iso"</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2520"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2473"/>
|
||||
<source>file</source>
|
||||
<extracomment>Used in expressions "Overwrite existing %1" and "The output %1 already exists".</extracomment>
|
||||
<translatorcomment>Используется в фразах "Переписать существующий %1" и "Файл %1 уже существует".</translatorcomment>
|
||||
<translation>файл</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2520"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2473"/>
|
||||
<source>directory</source>
|
||||
<translation>каталог</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2522"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2475"/>
|
||||
<source>Overwrite existing %1?</source>
|
||||
<translation>Переписать существующий %1?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2523"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2476"/>
|
||||
<source>The output %1 "%2" already exists. Do you want to overwrite it?</source>
|
||||
<translation>Результат %1 "%2" уже есть. Хотите его перезаписать?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2540"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2493"/>
|
||||
<source>Muxing in progress</source>
|
||||
<translation>Выполняется муксинг</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2540"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2493"/>
|
||||
<source>Demuxing in progress</source>
|
||||
<translation>Выполняется демуксинг</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2554"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2507"/>
|
||||
<source>tsMuxeR project file (*.meta);;All files (*.*)</source>
|
||||
<translation>Файл проекта tsMuxeR (*.meta);;все файлы (*.*)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2569"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2522"/>
|
||||
<source>Can't create temporary meta file</source>
|
||||
<translation>Не возможно создать временный файл проекта</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2570"/>
|
||||
<location filename="../tsmuxerwindow.cpp" line="2523"/>
|
||||
<source>Can't create temporary meta file "%1"</source>
|
||||
<translation>Не возможно создать временный файл проекта "%1"</translation>
|
||||
</message>
|
||||
|
|
|
@ -850,9 +850,8 @@ void TsMuxerWindow::onAudioSubtitlesParamsChanged()
|
|||
updateMetaLines();
|
||||
}
|
||||
|
||||
void TsMuxerWindow::onEditDelayChanged(int i)
|
||||
void TsMuxerWindow::onEditDelayChanged(int)
|
||||
{
|
||||
Q_UNUSED(i);
|
||||
if (disableUpdatesCnt)
|
||||
return;
|
||||
QtvCodecInfo *codecInfo = getCurrentCodec();
|
||||
|
@ -903,36 +902,12 @@ void TsMuxerWindow::addFiles(const QList<QUrl> &files)
|
|||
|
||||
void TsMuxerWindow::onAddBtnClick()
|
||||
{
|
||||
const auto files = QFileDialog::getOpenFileNames(this, tr("Add media files"), lastInputDir, fileDialogFilter());
|
||||
if (files.isEmpty())
|
||||
return;
|
||||
lastInputDir = QDir::toNativeSeparators(files.back());
|
||||
addFileList.clear();
|
||||
for (auto f : files)
|
||||
{
|
||||
addFileList << QUrl::fromLocalFile(QDir::toNativeSeparators(f));
|
||||
}
|
||||
addFile();
|
||||
showAddFilesDialog(tr("Add media files"), [this]() { addFile(); });
|
||||
}
|
||||
|
||||
void TsMuxerWindow::addFile()
|
||||
{
|
||||
if (addFileList.isEmpty())
|
||||
return;
|
||||
newFileName = QDir::toNativeSeparators(addFileList[0].toLocalFile());
|
||||
if (lastSourceDir.isEmpty())
|
||||
lastSourceDir = QFileInfo(newFileName).absolutePath();
|
||||
addFileList.removeAt(0);
|
||||
if (!checkFileDuplicate(newFileName))
|
||||
return;
|
||||
// disconnect(this, SIGNAL(tsMuxerSuccessFinished()));
|
||||
// disconnect(this, SIGNAL(codecListReady()));
|
||||
disconnect();
|
||||
connect(this, &TsMuxerWindow::tsMuxerSuccessFinished, this, &TsMuxerWindow::onTsMuxerCodecInfoReceived);
|
||||
connect(this, &TsMuxerWindow::codecListReady, this, &TsMuxerWindow::continueAddFile);
|
||||
connect(this, &TsMuxerWindow::fileAdded, this, &TsMuxerWindow::addFile);
|
||||
runInMuxMode = false;
|
||||
tsMuxerExecute(QStringList() << newFileName);
|
||||
processAddFileList(&TsMuxerWindow::continueAddFile, &TsMuxerWindow::fileAdded, &TsMuxerWindow::addFile);
|
||||
}
|
||||
|
||||
bool TsMuxerWindow::checkFileDuplicate(const QString &fileName)
|
||||
|
@ -2223,34 +2198,12 @@ void TsMuxerWindow::onAppendButtonClick()
|
|||
msgBox.exec();
|
||||
return;
|
||||
}
|
||||
QString fileName = QDir::toNativeSeparators(
|
||||
QFileDialog::getOpenFileName(this, tr("Append media file"), lastInputDir, fileDialogFilter()));
|
||||
if (fileName.isEmpty())
|
||||
return;
|
||||
lastInputDir = fileName;
|
||||
addFileList.clear();
|
||||
addFileList << QUrl::fromLocalFile(fileName);
|
||||
appendFile();
|
||||
showAddFilesDialog(tr("Append media files"), [this]() { appendFile(); });
|
||||
}
|
||||
|
||||
void TsMuxerWindow::appendFile()
|
||||
{
|
||||
if (addFileList.isEmpty())
|
||||
return;
|
||||
newFileName = QDir::toNativeSeparators(addFileList[0].toLocalFile());
|
||||
if (lastSourceDir.isEmpty())
|
||||
lastSourceDir = QFileInfo(newFileName).absolutePath();
|
||||
addFileList.removeAt(0);
|
||||
if (!checkFileDuplicate(newFileName))
|
||||
return;
|
||||
// disconnect(this, SIGNAL(tsMuxerSuccessFinished()));
|
||||
// disconnect(this, SIGNAL(codecListReady()));
|
||||
disconnect();
|
||||
connect(this, &TsMuxerWindow::tsMuxerSuccessFinished, this, &TsMuxerWindow::onTsMuxerCodecInfoReceived);
|
||||
connect(this, &TsMuxerWindow::codecListReady, this, &TsMuxerWindow::continueAppendFile);
|
||||
connect(this, &TsMuxerWindow::fileAppended, this, &TsMuxerWindow::appendFile);
|
||||
runInMuxMode = false;
|
||||
tsMuxerExecute(QStringList() << newFileName);
|
||||
processAddFileList(&TsMuxerWindow::continueAppendFile, &TsMuxerWindow::fileAppended, &TsMuxerWindow::appendFile);
|
||||
}
|
||||
|
||||
void TsMuxerWindow::continueAppendFile()
|
||||
|
@ -2871,3 +2824,40 @@ bool TsMuxerWindow::readGeneralSettings(const QString &prefix)
|
|||
settings->endGroup();
|
||||
return true;
|
||||
}
|
||||
|
||||
template <typename OnCodecListReadyFn, typename PostActionSignal, typename PostActionFn>
|
||||
void TsMuxerWindow::processAddFileList(OnCodecListReadyFn onCodecListReady, PostActionSignal postActionSignal,
|
||||
PostActionFn postActionFn)
|
||||
{
|
||||
if (addFileList.isEmpty())
|
||||
return;
|
||||
newFileName = QDir::toNativeSeparators(addFileList[0].toLocalFile());
|
||||
if (lastSourceDir.isEmpty())
|
||||
lastSourceDir = QFileInfo(newFileName).absolutePath();
|
||||
addFileList.removeAt(0);
|
||||
if (!checkFileDuplicate(newFileName))
|
||||
return;
|
||||
// disconnect(this, SIGNAL(tsMuxerSuccessFinished()));
|
||||
// disconnect(this, SIGNAL(codecListReady()));
|
||||
disconnect();
|
||||
connect(this, &TsMuxerWindow::tsMuxerSuccessFinished, this, &TsMuxerWindow::onTsMuxerCodecInfoReceived);
|
||||
connect(this, &TsMuxerWindow::codecListReady, this, onCodecListReady);
|
||||
connect(this, postActionSignal, this, postActionFn);
|
||||
runInMuxMode = false;
|
||||
tsMuxerExecute(QStringList() << newFileName);
|
||||
}
|
||||
|
||||
template <typename F>
|
||||
void TsMuxerWindow::showAddFilesDialog(QString &&windowTitle, F &&windowOkFn)
|
||||
{
|
||||
const auto files = QFileDialog::getOpenFileNames(this, windowTitle, lastInputDir, fileDialogFilter());
|
||||
if (files.isEmpty())
|
||||
return;
|
||||
lastInputDir = QDir::toNativeSeparators(files.back());
|
||||
addFileList.clear();
|
||||
for (auto f : files)
|
||||
{
|
||||
addFileList << QUrl::fromLocalFile(QDir::toNativeSeparators(f));
|
||||
}
|
||||
windowOkFn();
|
||||
}
|
||||
|
|
|
@ -47,6 +47,8 @@ class TsMuxerWindow : public QWidget
|
|||
void fileAppended();
|
||||
|
||||
private:
|
||||
template <typename F>
|
||||
void showAddFilesDialog(QString&& windowTitle, F&& windowOkFn);
|
||||
void onAddBtnClick();
|
||||
void readFromStdout();
|
||||
void readFromStderr();
|
||||
|
@ -89,6 +91,9 @@ class TsMuxerWindow : public QWidget
|
|||
void updateMuxTime1();
|
||||
void updateMuxTime2();
|
||||
void onLanguageComboBoxIndexChanged(int);
|
||||
template <typename OnCodecListReadyFn, typename PostActionSignal, typename PostActionFn>
|
||||
void processAddFileList(OnCodecListReadyFn onCodecListReady, PostActionSignal postActionSignal,
|
||||
PostActionFn postActionFn);
|
||||
|
||||
protected:
|
||||
void closeEvent(QCloseEvent* event) override;
|
||||
|
|
Loading…
Reference in New Issue