Don't apply "downmix" filter on Mono or Stereo sources. Always apply when channel count is undetermined.

This commit is contained in:
LoRd_MuldeR 2016-11-12 16:06:04 +01:00
parent f05bc6acfa
commit 2026be82dd
25 changed files with 353 additions and 350 deletions

View File

@ -3017,102 +3017,102 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Aborted!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Done.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Failed!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="369"/>
<location filename="../../src/Thread_Process.cpp" line="372"/>
<source>Encoding</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="372"/>
<location filename="../../src/Thread_Process.cpp" line="375"/>
<source>Analyzing</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="375"/>
<location filename="../../src/Thread_Process.cpp" line="378"/>
<source>Filtering</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="378"/>
<location filename="../../src/Thread_Process.cpp" line="381"/>
<source>Decoding</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="400"/>
<location filename="../../src/Thread_Process.cpp" line="403"/>
<source>The source audio file could not be found:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="408"/>
<location filename="../../src/Thread_Process.cpp" line="411"/>
<source>The source audio file could not be opened for reading:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="436"/>
<location filename="../../src/Thread_Process.cpp" line="439"/>
<source>The target output directory doesn&apos;t exist and could NOT be created:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="445"/>
<location filename="../../src/Thread_Process.cpp" line="448"/>
<source>The target output directory is NOT writable:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="511"/>
<location filename="../../src/Thread_Process.cpp" line="514"/>
<source>Unknown File Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="513"/>
<location filename="../../src/Thread_Process.cpp" line="516"/>
<source>Unknown Title</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="514"/>
<location filename="../../src/Thread_Process.cpp" line="517"/>
<source>Unknown Artist</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="515"/>
<location filename="../../src/Thread_Process.cpp" line="518"/>
<source>Unknown Album</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="517"/>
<location filename="../../src/Thread_Process.cpp" line="520"/>
<source>Unknown Comment</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="463"/>
<location filename="../../src/Thread_Process.cpp" line="466"/>
<source>Target output file already exists, going to skip this file:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="464"/>
<location filename="../../src/Thread_Process.cpp" line="467"/>
<source>If you don&apos;t want existing files to be skipped, please change the overwrite mode!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="471"/>
<location filename="../../src/Thread_Process.cpp" line="474"/>
<source>Target output file already exists, going to delete existing file:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="485"/>
<location filename="../../src/Thread_Process.cpp" line="488"/>
<source>Failed to delete existing target file, will save to another file name!</source>
<translation type="unfinished"></translation>
</message>

View File

@ -3015,82 +3015,82 @@
<translation>Nicht unterstützt!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Done.</source>
<translation>Fertig.</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Aborted!</source>
<translation>Abgebrochen!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Failed!</source>
<translation>Fehler!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="369"/>
<location filename="../../src/Thread_Process.cpp" line="372"/>
<source>Encoding</source>
<translation>Kodiere</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="375"/>
<location filename="../../src/Thread_Process.cpp" line="378"/>
<source>Filtering</source>
<translation>Filtere</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="378"/>
<location filename="../../src/Thread_Process.cpp" line="381"/>
<source>Decoding</source>
<translation>Dekodiere</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="400"/>
<location filename="../../src/Thread_Process.cpp" line="403"/>
<source>The source audio file could not be found:</source>
<translation>Die Quell-Audiodatei konnte nicht gefunden werden:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="408"/>
<location filename="../../src/Thread_Process.cpp" line="411"/>
<source>The source audio file could not be opened for reading:</source>
<translation>Die Quell-Audiodatei konnte nicht zum Lesen geöffnet werden:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="436"/>
<location filename="../../src/Thread_Process.cpp" line="439"/>
<source>The target output directory doesn&apos;t exist and could NOT be created:</source>
<translation>Das Zielverzeichnis existiert nicht und konnte nicht erstellt werden:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="445"/>
<location filename="../../src/Thread_Process.cpp" line="448"/>
<source>The target output directory is NOT writable:</source>
<translation>In das Zielverzeichnis kann nicht geschrieben werden:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="511"/>
<location filename="../../src/Thread_Process.cpp" line="514"/>
<source>Unknown File Name</source>
<translation>Unbekannter Dateiname</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="513"/>
<location filename="../../src/Thread_Process.cpp" line="516"/>
<source>Unknown Title</source>
<translation>Unbekannter Titel</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="514"/>
<location filename="../../src/Thread_Process.cpp" line="517"/>
<source>Unknown Artist</source>
<translation>Unbekannter Künstler</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="515"/>
<location filename="../../src/Thread_Process.cpp" line="518"/>
<source>Unknown Album</source>
<translation>Unbekanntes Album</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="517"/>
<location filename="../../src/Thread_Process.cpp" line="520"/>
<source>Unknown Comment</source>
<translation>Unbekannter Kommentar</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="372"/>
<location filename="../../src/Thread_Process.cpp" line="375"/>
<source>Analyzing</source>
<translation>Prüfe</translation>
</message>
@ -3106,22 +3106,22 @@
<translation>Übersprungen.</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="463"/>
<location filename="../../src/Thread_Process.cpp" line="466"/>
<source>Target output file already exists, going to skip this file:</source>
<translation>Zieldatei existiert bereits, die Datei wird übersprungen:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="464"/>
<location filename="../../src/Thread_Process.cpp" line="467"/>
<source>If you don&apos;t want existing files to be skipped, please change the overwrite mode!</source>
<translation>Wenn existierende Dateien nicht übersprungen werden sollen, ändern Sie bitte den Überschreiben-Modus!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="471"/>
<location filename="../../src/Thread_Process.cpp" line="474"/>
<source>Target output file already exists, going to delete existing file:</source>
<translation>Zieldatei existiert bereits, die Datei wird gelöscht und überschrieben:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="485"/>
<location filename="../../src/Thread_Process.cpp" line="488"/>
<source>Failed to delete existing target file, will save to another file name!</source>
<translation>Die existierende Datei konnte nicht gelöscht werden, ein anderer Dateiname wird gewählt!</translation>
</message>

View File

@ -3015,82 +3015,82 @@
<translation>¡No soportado!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Done.</source>
<translation>Finalizado.</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Aborted!</source>
<translation>¡Abortado!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Failed!</source>
<translation>¡Error!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="369"/>
<location filename="../../src/Thread_Process.cpp" line="372"/>
<source>Encoding</source>
<translation>Codificando</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="375"/>
<location filename="../../src/Thread_Process.cpp" line="378"/>
<source>Filtering</source>
<translation>Filtrando</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="378"/>
<location filename="../../src/Thread_Process.cpp" line="381"/>
<source>Decoding</source>
<translation>Decodificando</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="400"/>
<location filename="../../src/Thread_Process.cpp" line="403"/>
<source>The source audio file could not be found:</source>
<translation>No se encuentra el archivo de entrada:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="408"/>
<location filename="../../src/Thread_Process.cpp" line="411"/>
<source>The source audio file could not be opened for reading:</source>
<translation>No se puede abrir el archivo de entrada para su lectura:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="436"/>
<location filename="../../src/Thread_Process.cpp" line="439"/>
<source>The target output directory doesn&apos;t exist and could NOT be created:</source>
<translation>La carpeta de salida no existe y NO puede ser creada:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="445"/>
<location filename="../../src/Thread_Process.cpp" line="448"/>
<source>The target output directory is NOT writable:</source>
<translation>NO se puede escribir en la carpeta de salida:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="511"/>
<location filename="../../src/Thread_Process.cpp" line="514"/>
<source>Unknown File Name</source>
<translation>Nombre de archivo desconocido</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="513"/>
<location filename="../../src/Thread_Process.cpp" line="516"/>
<source>Unknown Title</source>
<translation>Título desconocido</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="514"/>
<location filename="../../src/Thread_Process.cpp" line="517"/>
<source>Unknown Artist</source>
<translation>Artista desconocido</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="515"/>
<location filename="../../src/Thread_Process.cpp" line="518"/>
<source>Unknown Album</source>
<translation>Álbum desconocido</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="517"/>
<location filename="../../src/Thread_Process.cpp" line="520"/>
<source>Unknown Comment</source>
<translation>Comentario desconocido</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="372"/>
<location filename="../../src/Thread_Process.cpp" line="375"/>
<source>Analyzing</source>
<translation>Analizando</translation>
</message>
@ -3106,22 +3106,22 @@
<translation>Omitidos.</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="463"/>
<location filename="../../src/Thread_Process.cpp" line="466"/>
<source>Target output file already exists, going to skip this file:</source>
<translation>El archivo de destino ya existe, se omitirá este archivo:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="464"/>
<location filename="../../src/Thread_Process.cpp" line="467"/>
<source>If you don&apos;t want existing files to be skipped, please change the overwrite mode!</source>
<translation>¡Si no quiere sobreescribir los archivos existentes, cambie el modo sobreescritura por favor!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="471"/>
<location filename="../../src/Thread_Process.cpp" line="474"/>
<source>Target output file already exists, going to delete existing file:</source>
<translation>El archivo de destino ya existe, se eliminará este archivo:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="485"/>
<location filename="../../src/Thread_Process.cpp" line="488"/>
<source>Failed to delete existing target file, will save to another file name!</source>
<translation>¡Error al eliminar el archivo de destino existente, se guardará con otro nombre!</translation>
</message>

View File

@ -3022,82 +3022,82 @@ Sélection automatique (par défaut)</translation>
<translation>Non supporté!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Done.</source>
<translation>Terminé.</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Aborted!</source>
<translation>Arrêté!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Failed!</source>
<translation>Échec!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="369"/>
<location filename="../../src/Thread_Process.cpp" line="372"/>
<source>Encoding</source>
<translation>Encodage</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="375"/>
<location filename="../../src/Thread_Process.cpp" line="378"/>
<source>Filtering</source>
<translation>Filtrage</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="378"/>
<location filename="../../src/Thread_Process.cpp" line="381"/>
<source>Decoding</source>
<translation>Décodage</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="400"/>
<location filename="../../src/Thread_Process.cpp" line="403"/>
<source>The source audio file could not be found:</source>
<translation>Le fichier audio source n&apos;a pas pu être trouvé:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="408"/>
<location filename="../../src/Thread_Process.cpp" line="411"/>
<source>The source audio file could not be opened for reading:</source>
<translation>Le fichier audio source n&apos;a pas pu être ouvert pour la lecture:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="436"/>
<location filename="../../src/Thread_Process.cpp" line="439"/>
<source>The target output directory doesn&apos;t exist and could NOT be created:</source>
<translation>Le répertoire de sortie cible n&apos;existe pas et ne peut PAS être créé:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="445"/>
<location filename="../../src/Thread_Process.cpp" line="448"/>
<source>The target output directory is NOT writable:</source>
<translation>Le répertoire de sortie cible n&apos;est pas accessible en écriture:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="511"/>
<location filename="../../src/Thread_Process.cpp" line="514"/>
<source>Unknown File Name</source>
<translation>Nom de fichier inconnu</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="513"/>
<location filename="../../src/Thread_Process.cpp" line="516"/>
<source>Unknown Title</source>
<translation>Titre inconnu</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="514"/>
<location filename="../../src/Thread_Process.cpp" line="517"/>
<source>Unknown Artist</source>
<translation>Artiste inconnu</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="515"/>
<location filename="../../src/Thread_Process.cpp" line="518"/>
<source>Unknown Album</source>
<translation>Album inconnu</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="517"/>
<location filename="../../src/Thread_Process.cpp" line="520"/>
<source>Unknown Comment</source>
<translation>Commentaire inconnu</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="372"/>
<location filename="../../src/Thread_Process.cpp" line="375"/>
<source>Analyzing</source>
<translation>Analyse</translation>
</message>
@ -3114,22 +3114,22 @@ Sélection automatique (par défaut)</translation>
<translation>Ignoré.</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="463"/>
<location filename="../../src/Thread_Process.cpp" line="466"/>
<source>Target output file already exists, going to skip this file:</source>
<translation>Le fichier de sortie existe déjà, il sera ignoré :</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="464"/>
<location filename="../../src/Thread_Process.cpp" line="467"/>
<source>If you don&apos;t want existing files to be skipped, please change the overwrite mode!</source>
<translation>Si vous ne voulez pas ignorer les fichiers existants, veuillez changer le mode de remplacement !</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="471"/>
<location filename="../../src/Thread_Process.cpp" line="474"/>
<source>Target output file already exists, going to delete existing file:</source>
<translation>Le fichier de sortie existe déjà, il sera supprimé :</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="485"/>
<location filename="../../src/Thread_Process.cpp" line="488"/>
<source>Failed to delete existing target file, will save to another file name!</source>
<translation>Impossible de supprimer le fichier cible existant, il sera enregistré sous un autre nom !</translation>
</message>

View File

@ -3017,102 +3017,102 @@
<translation>Nem támogatott!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Aborted!</source>
<translation>Megszakítva!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Done.</source>
<translation>Kész.</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Failed!</source>
<translation>Sikertelen!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="369"/>
<location filename="../../src/Thread_Process.cpp" line="372"/>
<source>Encoding</source>
<translation>Kódolás</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="372"/>
<location filename="../../src/Thread_Process.cpp" line="375"/>
<source>Analyzing</source>
<translation>Elemzés</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="375"/>
<location filename="../../src/Thread_Process.cpp" line="378"/>
<source>Filtering</source>
<translation>Szűrés</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="378"/>
<location filename="../../src/Thread_Process.cpp" line="381"/>
<source>Decoding</source>
<translation>Dekódolás</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="400"/>
<location filename="../../src/Thread_Process.cpp" line="403"/>
<source>The source audio file could not be found:</source>
<translation>A forrás hangfájl nem található:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="408"/>
<location filename="../../src/Thread_Process.cpp" line="411"/>
<source>The source audio file could not be opened for reading:</source>
<translation>A forrás hangfájl nem nyitható meg olvasásra:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="436"/>
<location filename="../../src/Thread_Process.cpp" line="439"/>
<source>The target output directory doesn&apos;t exist and could NOT be created:</source>
<translation>A cél kimeneti könyvtár nem létezik, és NEM hozható létre:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="445"/>
<location filename="../../src/Thread_Process.cpp" line="448"/>
<source>The target output directory is NOT writable:</source>
<translation>A cél kimeneti könyvtár NEM írható:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="511"/>
<location filename="../../src/Thread_Process.cpp" line="514"/>
<source>Unknown File Name</source>
<translation>Ismeretlen fájlnév</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="513"/>
<location filename="../../src/Thread_Process.cpp" line="516"/>
<source>Unknown Title</source>
<translation>Ismeretlen cím</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="514"/>
<location filename="../../src/Thread_Process.cpp" line="517"/>
<source>Unknown Artist</source>
<translation>Ismeretlen előadó</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="515"/>
<location filename="../../src/Thread_Process.cpp" line="518"/>
<source>Unknown Album</source>
<translation>Ismeretlen album</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="517"/>
<location filename="../../src/Thread_Process.cpp" line="520"/>
<source>Unknown Comment</source>
<translation>Ismeretlen hozzászólás</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="463"/>
<location filename="../../src/Thread_Process.cpp" line="466"/>
<source>Target output file already exists, going to skip this file:</source>
<translation>A cél kimeneti fájl már létezik, ez a fájl ki lesz hagyva:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="464"/>
<location filename="../../src/Thread_Process.cpp" line="467"/>
<source>If you don&apos;t want existing files to be skipped, please change the overwrite mode!</source>
<translation>Ha nem szeretné a meglévő fájlokat kihagyni, kérjük, változtassa meg a felülírási módot!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="471"/>
<location filename="../../src/Thread_Process.cpp" line="474"/>
<source>Target output file already exists, going to delete existing file:</source>
<translation>A cél kimeneti fájl már létezik, a meglévő fájl törlésre kerül:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="485"/>
<location filename="../../src/Thread_Process.cpp" line="488"/>
<source>Failed to delete existing target file, will save to another file name!</source>
<translation>Nem sikerült törölni a meglévő cél fájlt. Az állomány másik fájlnéven lesz elmentve!</translation>
</message>

View File

@ -3082,83 +3082,83 @@
<translation>Non Supportato!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Done.</source>
<translation>Fatto.</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Aborted!</source>
<translation>Processo Annullato!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Failed!</source>
<translation>Fallito!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="369"/>
<location filename="../../src/Thread_Process.cpp" line="372"/>
<source>Encoding</source>
<translation>Codifica in corso</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="375"/>
<location filename="../../src/Thread_Process.cpp" line="378"/>
<source>Filtering</source>
<translation>Filtraggio in corso</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="378"/>
<location filename="../../src/Thread_Process.cpp" line="381"/>
<source>Decoding</source>
<translation>Decodifica in corso</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="400"/>
<location filename="../../src/Thread_Process.cpp" line="403"/>
<source>The source audio file could not be found:</source>
<translation>Il file audio sorgente non può essere trovato:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="408"/>
<location filename="../../src/Thread_Process.cpp" line="411"/>
<source>The source audio file could not be opened for reading:</source>
<translation>Il file audio sorgente non può essere aperto per la lettura:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="436"/>
<location filename="../../src/Thread_Process.cpp" line="439"/>
<source>The target output directory doesn&apos;t exist and could NOT be created:</source>
<translation>La cartella di destinazione assegnata non esiste e NON può essere creata:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="445"/>
<location filename="../../src/Thread_Process.cpp" line="448"/>
<source>The target output directory is NOT writable:</source>
<translatorcomment>La directory di destinazione assegnata è di SOLA LETTURA:</translatorcomment>
<translation>La directory di destinazione assegnata NON è scrivibile:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="511"/>
<location filename="../../src/Thread_Process.cpp" line="514"/>
<source>Unknown File Name</source>
<translation>Nome File Sconosciuto</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="513"/>
<location filename="../../src/Thread_Process.cpp" line="516"/>
<source>Unknown Title</source>
<translation>Titolo Sconosciuto</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="514"/>
<location filename="../../src/Thread_Process.cpp" line="517"/>
<source>Unknown Artist</source>
<translation>Artista Sconosciuto</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="515"/>
<location filename="../../src/Thread_Process.cpp" line="518"/>
<source>Unknown Album</source>
<translation>Album Sconosciuto</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="517"/>
<location filename="../../src/Thread_Process.cpp" line="520"/>
<source>Unknown Comment</source>
<translation>Commento Sconosciuto</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="372"/>
<location filename="../../src/Thread_Process.cpp" line="375"/>
<source>Analyzing</source>
<translation>Analisi in corso</translation>
</message>
@ -3174,22 +3174,22 @@
<translation>Saltato.</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="463"/>
<location filename="../../src/Thread_Process.cpp" line="466"/>
<source>Target output file already exists, going to skip this file:</source>
<translation>Il file di destinazione esiste già, questo file verrà saltato:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="464"/>
<location filename="../../src/Thread_Process.cpp" line="467"/>
<source>If you don&apos;t want existing files to be skipped, please change the overwrite mode!</source>
<translation>Se non vuoi saltare i file esistenti, cambia la modalità di sovrascrittura!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="471"/>
<location filename="../../src/Thread_Process.cpp" line="474"/>
<source>Target output file already exists, going to delete existing file:</source>
<translation>Il file di destinazione esiste già, il file esistente verrà eliminato:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="485"/>
<location filename="../../src/Thread_Process.cpp" line="488"/>
<source>Failed to delete existing target file, will save to another file name!</source>
<translation>Impossibile eliminare il file di destinazione esistente, il file verrà salvato con un altro nome!</translation>
</message>

View File

@ -3006,82 +3006,82 @@
<translation type="unfinished"> !</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Done.</source>
<translation type="unfinished">.</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Aborted!</source>
<translation type="unfinished">!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Failed!</source>
<translation type="unfinished">!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="369"/>
<location filename="../../src/Thread_Process.cpp" line="372"/>
<source>Encoding</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="375"/>
<location filename="../../src/Thread_Process.cpp" line="378"/>
<source>Filtering</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="378"/>
<location filename="../../src/Thread_Process.cpp" line="381"/>
<source>Decoding</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="400"/>
<location filename="../../src/Thread_Process.cpp" line="403"/>
<source>The source audio file could not be found:</source>
<translation type="unfinished"> :</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="408"/>
<location filename="../../src/Thread_Process.cpp" line="411"/>
<source>The source audio file could not be opened for reading:</source>
<translation type="unfinished"> :</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="436"/>
<location filename="../../src/Thread_Process.cpp" line="439"/>
<source>The target output directory doesn&apos;t exist and could NOT be created:</source>
<translation type="unfinished"> , :</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="445"/>
<location filename="../../src/Thread_Process.cpp" line="448"/>
<source>The target output directory is NOT writable:</source>
<translation type="unfinished"> :</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="511"/>
<location filename="../../src/Thread_Process.cpp" line="514"/>
<source>Unknown File Name</source>
<translation type="unfinished"> </translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="513"/>
<location filename="../../src/Thread_Process.cpp" line="516"/>
<source>Unknown Title</source>
<translation type="unfinished"> </translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="514"/>
<location filename="../../src/Thread_Process.cpp" line="517"/>
<source>Unknown Artist</source>
<translation type="unfinished"> </translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="515"/>
<location filename="../../src/Thread_Process.cpp" line="518"/>
<source>Unknown Album</source>
<translation type="unfinished"> </translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="517"/>
<location filename="../../src/Thread_Process.cpp" line="520"/>
<source>Unknown Comment</source>
<translation type="unfinished"> </translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="372"/>
<location filename="../../src/Thread_Process.cpp" line="375"/>
<source>Analyzing</source>
<translation type="unfinished"> </translation>
</message>
@ -3097,22 +3097,22 @@
<translation type="unfinished">.</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="463"/>
<location filename="../../src/Thread_Process.cpp" line="466"/>
<source>Target output file already exists, going to skip this file:</source>
<translation type="unfinished"> . :</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="464"/>
<location filename="../../src/Thread_Process.cpp" line="467"/>
<source>If you don&apos;t want existing files to be skipped, please change the overwrite mode!</source>
<translation type="unfinished"> , !</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="471"/>
<location filename="../../src/Thread_Process.cpp" line="474"/>
<source>Target output file already exists, going to delete existing file:</source>
<translation type="unfinished"> . :</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="485"/>
<location filename="../../src/Thread_Process.cpp" line="488"/>
<source>Failed to delete existing target file, will save to another file name!</source>
<translation type="unfinished"> . !</translation>
</message>

View File

@ -3034,102 +3034,102 @@
<translation type="unfinished">Nieobsługiwany!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Done.</source>
<translation type="unfinished">Zrobione.</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Aborted!</source>
<translation type="unfinished">Przerwano!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Failed!</source>
<translation type="unfinished">Niepowodzenie!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="369"/>
<location filename="../../src/Thread_Process.cpp" line="372"/>
<source>Encoding</source>
<translation type="unfinished">Kompresowanie</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="372"/>
<location filename="../../src/Thread_Process.cpp" line="375"/>
<source>Analyzing</source>
<translation type="unfinished">Analizowanie</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="375"/>
<location filename="../../src/Thread_Process.cpp" line="378"/>
<source>Filtering</source>
<translation type="unfinished">Filtrowanie</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="378"/>
<location filename="../../src/Thread_Process.cpp" line="381"/>
<source>Decoding</source>
<translation type="unfinished">Dekodowanie</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="400"/>
<location filename="../../src/Thread_Process.cpp" line="403"/>
<source>The source audio file could not be found:</source>
<translation type="unfinished">Źródłowy plik dźwiękowy nie został odnaleziony:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="408"/>
<location filename="../../src/Thread_Process.cpp" line="411"/>
<source>The source audio file could not be opened for reading:</source>
<translation type="unfinished">Źródłowy plik dźwiękowy nie mógł zostać otworzony:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="436"/>
<location filename="../../src/Thread_Process.cpp" line="439"/>
<source>The target output directory doesn&apos;t exist and could NOT be created:</source>
<translation type="unfinished">Lokalizacja docelowa nie istnieje lu NIE mogła zostać utworzona:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="445"/>
<location filename="../../src/Thread_Process.cpp" line="448"/>
<source>The target output directory is NOT writable:</source>
<translation type="unfinished">Nie można zapisać do lokalizacji docelowej:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="511"/>
<location filename="../../src/Thread_Process.cpp" line="514"/>
<source>Unknown File Name</source>
<translation type="unfinished">Nieznana nazwa pliku</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="513"/>
<location filename="../../src/Thread_Process.cpp" line="516"/>
<source>Unknown Title</source>
<translation type="unfinished">Nieznany Tytuł</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="514"/>
<location filename="../../src/Thread_Process.cpp" line="517"/>
<source>Unknown Artist</source>
<translation type="unfinished">Nieznany Artysta</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="515"/>
<location filename="../../src/Thread_Process.cpp" line="518"/>
<source>Unknown Album</source>
<translation type="unfinished">Nieznany Album</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="517"/>
<location filename="../../src/Thread_Process.cpp" line="520"/>
<source>Unknown Comment</source>
<translation type="unfinished">Nieznany Komentarz</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="463"/>
<location filename="../../src/Thread_Process.cpp" line="466"/>
<source>Target output file already exists, going to skip this file:</source>
<translation type="unfinished">Plik wynikowy już istnieje, zostanie pominięty plik:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="464"/>
<location filename="../../src/Thread_Process.cpp" line="467"/>
<source>If you don&apos;t want existing files to be skipped, please change the overwrite mode!</source>
<translation type="unfinished">Jeśli nie chcesz aby istniejące pliki były pomijane, zmień tryb nadpisywania!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="471"/>
<location filename="../../src/Thread_Process.cpp" line="474"/>
<source>Target output file already exists, going to delete existing file:</source>
<translation type="unfinished">Plik wynikowy już istnieje, zostanie usunięty plik:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="485"/>
<location filename="../../src/Thread_Process.cpp" line="488"/>
<source>Failed to delete existing target file, will save to another file name!</source>
<translation type="unfinished">Usuwanie istniejącego pliku zakończone niepowodzeniem, nowy plik zostanie zapisany pod inną nazwą!</translation>
</message>

View File

@ -3030,82 +3030,82 @@
<translation>Неподдерживается!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Done.</source>
<translation>Готово.</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Aborted!</source>
<translation>Прервано!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Failed!</source>
<translation>Ошибка!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="369"/>
<location filename="../../src/Thread_Process.cpp" line="372"/>
<source>Encoding</source>
<translation>Кодирование</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="375"/>
<location filename="../../src/Thread_Process.cpp" line="378"/>
<source>Filtering</source>
<translation>Фильтрация</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="378"/>
<location filename="../../src/Thread_Process.cpp" line="381"/>
<source>Decoding</source>
<translation>Декодирование</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="400"/>
<location filename="../../src/Thread_Process.cpp" line="403"/>
<source>The source audio file could not be found:</source>
<translation>Исходный аудио файл не найден:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="408"/>
<location filename="../../src/Thread_Process.cpp" line="411"/>
<source>The source audio file could not be opened for reading:</source>
<translation>Исходный аудио файл не может быть открыт:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="436"/>
<location filename="../../src/Thread_Process.cpp" line="439"/>
<source>The target output directory doesn&apos;t exist and could NOT be created:</source>
<translation>Папка для выходных файлов не существует и не может быть создана:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="445"/>
<location filename="../../src/Thread_Process.cpp" line="448"/>
<source>The target output directory is NOT writable:</source>
<translation>Папка для выходных файлов недоступна для записи:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="511"/>
<location filename="../../src/Thread_Process.cpp" line="514"/>
<source>Unknown File Name</source>
<translation>Неизвестное имя файла</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="513"/>
<location filename="../../src/Thread_Process.cpp" line="516"/>
<source>Unknown Title</source>
<translation>Неизвестное Название</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="514"/>
<location filename="../../src/Thread_Process.cpp" line="517"/>
<source>Unknown Artist</source>
<translation>Неизвестный Артист</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="515"/>
<location filename="../../src/Thread_Process.cpp" line="518"/>
<source>Unknown Album</source>
<translation>Неизвестный Альбом</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="517"/>
<location filename="../../src/Thread_Process.cpp" line="520"/>
<source>Unknown Comment</source>
<translation>Неизвестный Комментарий</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="372"/>
<location filename="../../src/Thread_Process.cpp" line="375"/>
<source>Analyzing</source>
<translation>Анализ</translation>
</message>
@ -3121,22 +3121,22 @@
<translation>Пропущен.</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="463"/>
<location filename="../../src/Thread_Process.cpp" line="466"/>
<source>Target output file already exists, going to skip this file:</source>
<translation>Файл уже существует, будет пропущен:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="464"/>
<location filename="../../src/Thread_Process.cpp" line="467"/>
<source>If you don&apos;t want existing files to be skipped, please change the overwrite mode!</source>
<translation>Если Вы не хотите пропускать уже существующие файлы, пожалуйста, измените режим перезаписи!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="471"/>
<location filename="../../src/Thread_Process.cpp" line="474"/>
<source>Target output file already exists, going to delete existing file:</source>
<translation>Файл уже существует, будет удалён:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="485"/>
<location filename="../../src/Thread_Process.cpp" line="488"/>
<source>Failed to delete existing target file, will save to another file name!</source>
<translation>Ошибка удаления существующего файла, будет сохранение с другим именем!</translation>
</message>

View File

@ -3027,102 +3027,102 @@
<translation>Stöd saknas!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Aborted!</source>
<translation>Avbruten!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Done.</source>
<translation>Klar.</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Failed!</source>
<translation>Misslyckades!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="369"/>
<location filename="../../src/Thread_Process.cpp" line="372"/>
<source>Encoding</source>
<translation>Kodar</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="372"/>
<location filename="../../src/Thread_Process.cpp" line="375"/>
<source>Analyzing</source>
<translation>Analyserar</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="375"/>
<location filename="../../src/Thread_Process.cpp" line="378"/>
<source>Filtering</source>
<translation>Filtrerar</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="378"/>
<location filename="../../src/Thread_Process.cpp" line="381"/>
<source>Decoding</source>
<translation>Avkodar</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="400"/>
<location filename="../../src/Thread_Process.cpp" line="403"/>
<source>The source audio file could not be found:</source>
<translation>Källfilen kan inte hittas:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="408"/>
<location filename="../../src/Thread_Process.cpp" line="411"/>
<source>The source audio file could not be opened for reading:</source>
<translation>Källfilen kan inte öppnas för läsning:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="436"/>
<location filename="../../src/Thread_Process.cpp" line="439"/>
<source>The target output directory doesn&apos;t exist and could NOT be created:</source>
<translation>Målmappen finns inte och kan inte skapas:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="445"/>
<location filename="../../src/Thread_Process.cpp" line="448"/>
<source>The target output directory is NOT writable:</source>
<translation>Målmappen är INTE skrivbar:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="511"/>
<location filename="../../src/Thread_Process.cpp" line="514"/>
<source>Unknown File Name</source>
<translation>Okänt filnamn</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="513"/>
<location filename="../../src/Thread_Process.cpp" line="516"/>
<source>Unknown Title</source>
<translation>Okänd titel</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="514"/>
<location filename="../../src/Thread_Process.cpp" line="517"/>
<source>Unknown Artist</source>
<translation>Okänd artist</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="515"/>
<location filename="../../src/Thread_Process.cpp" line="518"/>
<source>Unknown Album</source>
<translation>Okänt album</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="517"/>
<location filename="../../src/Thread_Process.cpp" line="520"/>
<source>Unknown Comment</source>
<translation>Okänd kommentar</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="463"/>
<location filename="../../src/Thread_Process.cpp" line="466"/>
<source>Target output file already exists, going to skip this file:</source>
<translation>Målfilen finns redan! Den här filen hoppas över:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="464"/>
<location filename="../../src/Thread_Process.cpp" line="467"/>
<source>If you don&apos;t want existing files to be skipped, please change the overwrite mode!</source>
<translation>Om du inte vill att befintliga filer hoppas över, måste du ändra överskrivningsläge!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="471"/>
<location filename="../../src/Thread_Process.cpp" line="474"/>
<source>Target output file already exists, going to delete existing file:</source>
<translation>Målfilen finns redan! Befintlig fil kommer att tas bort:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="485"/>
<location filename="../../src/Thread_Process.cpp" line="488"/>
<source>Failed to delete existing target file, will save to another file name!</source>
<translation>Kunde inte ta bort befintlig målfil. Sparar med annat filnamn!</translation>
</message>

View File

@ -3006,82 +3006,82 @@
<translation>!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Done.</source>
<translation>.</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Aborted!</source>
<translation>!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Failed!</source>
<translation>!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="369"/>
<location filename="../../src/Thread_Process.cpp" line="372"/>
<source>Encoding</source>
<translation></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="375"/>
<location filename="../../src/Thread_Process.cpp" line="378"/>
<source>Filtering</source>
<translation></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="378"/>
<location filename="../../src/Thread_Process.cpp" line="381"/>
<source>Decoding</source>
<translation></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="400"/>
<location filename="../../src/Thread_Process.cpp" line="403"/>
<source>The source audio file could not be found:</source>
<translation>:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="408"/>
<location filename="../../src/Thread_Process.cpp" line="411"/>
<source>The source audio file could not be opened for reading:</source>
<translation>:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="436"/>
<location filename="../../src/Thread_Process.cpp" line="439"/>
<source>The target output directory doesn&apos;t exist and could NOT be created:</source>
<translation>,:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="445"/>
<location filename="../../src/Thread_Process.cpp" line="448"/>
<source>The target output directory is NOT writable:</source>
<translation>:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="511"/>
<location filename="../../src/Thread_Process.cpp" line="514"/>
<source>Unknown File Name</source>
<translation></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="513"/>
<location filename="../../src/Thread_Process.cpp" line="516"/>
<source>Unknown Title</source>
<translation></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="514"/>
<location filename="../../src/Thread_Process.cpp" line="517"/>
<source>Unknown Artist</source>
<translation></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="515"/>
<location filename="../../src/Thread_Process.cpp" line="518"/>
<source>Unknown Album</source>
<translation></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="517"/>
<location filename="../../src/Thread_Process.cpp" line="520"/>
<source>Unknown Comment</source>
<translation></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="372"/>
<location filename="../../src/Thread_Process.cpp" line="375"/>
<source>Analyzing</source>
<translation></translation>
</message>
@ -3097,22 +3097,22 @@
<translation>.</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="463"/>
<location filename="../../src/Thread_Process.cpp" line="466"/>
<source>Target output file already exists, going to skip this file:</source>
<translation>, : </translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="464"/>
<location filename="../../src/Thread_Process.cpp" line="467"/>
<source>If you don&apos;t want existing files to be skipped, please change the overwrite mode!</source>
<translation>, !</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="471"/>
<location filename="../../src/Thread_Process.cpp" line="474"/>
<source>Target output file already exists, going to delete existing file:</source>
<translation>, : </translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="485"/>
<location filename="../../src/Thread_Process.cpp" line="488"/>
<source>Failed to delete existing target file, will save to another file name!</source>
<translation>, !</translation>
</message>

View File

@ -3023,82 +3023,82 @@
<translation>Не підтримується!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Done.</source>
<translation>Виконано.</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Aborted!</source>
<translation>Перервано!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Failed!</source>
<translation>Збій!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="369"/>
<location filename="../../src/Thread_Process.cpp" line="372"/>
<source>Encoding</source>
<translation>Кодування</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="375"/>
<location filename="../../src/Thread_Process.cpp" line="378"/>
<source>Filtering</source>
<translation>Фільтрування</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="378"/>
<location filename="../../src/Thread_Process.cpp" line="381"/>
<source>Decoding</source>
<translation>Декодування</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="400"/>
<location filename="../../src/Thread_Process.cpp" line="403"/>
<source>The source audio file could not be found:</source>
<translation>Неможливо знайти вхідний файл аудіо:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="408"/>
<location filename="../../src/Thread_Process.cpp" line="411"/>
<source>The source audio file could not be opened for reading:</source>
<translation>Неможливо відкрити для читання вхідний файл аудіо:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="436"/>
<location filename="../../src/Thread_Process.cpp" line="439"/>
<source>The target output directory doesn&apos;t exist and could NOT be created:</source>
<translation>Вихідної теки не існує і її неможливо створити:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="445"/>
<location filename="../../src/Thread_Process.cpp" line="448"/>
<source>The target output directory is NOT writable:</source>
<translation>До вихідної теки неможливо проводити запис:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="511"/>
<location filename="../../src/Thread_Process.cpp" line="514"/>
<source>Unknown File Name</source>
<translation>Невідома назва файла</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="513"/>
<location filename="../../src/Thread_Process.cpp" line="516"/>
<source>Unknown Title</source>
<translation>Невідомий заголовок</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="514"/>
<location filename="../../src/Thread_Process.cpp" line="517"/>
<source>Unknown Artist</source>
<translation>Невідомий виконавець</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="515"/>
<location filename="../../src/Thread_Process.cpp" line="518"/>
<source>Unknown Album</source>
<translation>Невідомий альбом</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="517"/>
<location filename="../../src/Thread_Process.cpp" line="520"/>
<source>Unknown Comment</source>
<translation>Невідомий коментар</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="372"/>
<location filename="../../src/Thread_Process.cpp" line="375"/>
<source>Analyzing</source>
<translation>Аналізування</translation>
</message>
@ -3114,22 +3114,22 @@
<translation>Пропущено.</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="463"/>
<location filename="../../src/Thread_Process.cpp" line="466"/>
<source>Target output file already exists, going to skip this file:</source>
<translation>Вихідний цільовий файл вже існує, спроба пропустити цей файл:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="464"/>
<location filename="../../src/Thread_Process.cpp" line="467"/>
<source>If you don&apos;t want existing files to be skipped, please change the overwrite mode!</source>
<translation>Якщо ви не хочете, щоб існуючі файли були пропущені, будь ласка, змініть режим перезапису!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="471"/>
<location filename="../../src/Thread_Process.cpp" line="474"/>
<source>Target output file already exists, going to delete existing file:</source>
<translation>Вихідний цільовий файл вже існує, спроба видалити існуючий файл:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="485"/>
<location filename="../../src/Thread_Process.cpp" line="488"/>
<source>Failed to delete existing target file, will save to another file name!</source>
<translation>Неможливо видалити існуючий файл, збереження буде проведено до файла з іншою назвою!</translation>
</message>

View File

@ -3006,82 +3006,82 @@
<translation>!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Done.</source>
<translation></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Aborted!</source>
<translation>!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="352"/>
<location filename="../../src/Thread_Process.cpp" line="355"/>
<source>Failed!</source>
<translation>!</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="369"/>
<location filename="../../src/Thread_Process.cpp" line="372"/>
<source>Encoding</source>
<translation></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="375"/>
<location filename="../../src/Thread_Process.cpp" line="378"/>
<source>Filtering</source>
<translation></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="378"/>
<location filename="../../src/Thread_Process.cpp" line="381"/>
<source>Decoding</source>
<translation></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="400"/>
<location filename="../../src/Thread_Process.cpp" line="403"/>
<source>The source audio file could not be found:</source>
<translation>:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="408"/>
<location filename="../../src/Thread_Process.cpp" line="411"/>
<source>The source audio file could not be opened for reading:</source>
<translation>:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="436"/>
<location filename="../../src/Thread_Process.cpp" line="439"/>
<source>The target output directory doesn&apos;t exist and could NOT be created:</source>
<translation>:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="445"/>
<location filename="../../src/Thread_Process.cpp" line="448"/>
<source>The target output directory is NOT writable:</source>
<translation>:</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="511"/>
<location filename="../../src/Thread_Process.cpp" line="514"/>
<source>Unknown File Name</source>
<translation></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="513"/>
<location filename="../../src/Thread_Process.cpp" line="516"/>
<source>Unknown Title</source>
<translation></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="514"/>
<location filename="../../src/Thread_Process.cpp" line="517"/>
<source>Unknown Artist</source>
<translation></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="515"/>
<location filename="../../src/Thread_Process.cpp" line="518"/>
<source>Unknown Album</source>
<translation></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="517"/>
<location filename="../../src/Thread_Process.cpp" line="520"/>
<source>Unknown Comment</source>
<translation></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="372"/>
<location filename="../../src/Thread_Process.cpp" line="375"/>
<source>Analyzing</source>
<translation></translation>
</message>
@ -3097,22 +3097,22 @@
<translation></translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="463"/>
<location filename="../../src/Thread_Process.cpp" line="466"/>
<source>Target output file already exists, going to skip this file:</source>
<translation>, : </translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="464"/>
<location filename="../../src/Thread_Process.cpp" line="467"/>
<source>If you don&apos;t want existing files to be skipped, please change the overwrite mode!</source>
<translation>, !</translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="471"/>
<location filename="../../src/Thread_Process.cpp" line="474"/>
<source>Target output file already exists, going to delete existing file:</source>
<translation>, : </translation>
</message>
<message>
<location filename="../../src/Thread_Process.cpp" line="485"/>
<location filename="../../src/Thread_Process.cpp" line="488"/>
<source>Failed to delete existing target file, will save to another file name!</source>
<translation>, !</translation>
</message>

View File

@ -34,8 +34,8 @@
#define VER_LAMEXP_MINOR_HI 1
#define VER_LAMEXP_MINOR_LO 4
#define VER_LAMEXP_TYPE RC
#define VER_LAMEXP_PATCH 5
#define VER_LAMEXP_BUILD 1927
#define VER_LAMEXP_PATCH 6
#define VER_LAMEXP_BUILD 1928
#define VER_LAMEXP_CONFG 1818
///////////////////////////////////////////////////////////////////////////////

View File

@ -35,6 +35,6 @@ public:
~AbstractFilter(void);
//Internal decoder API
virtual bool apply(const QString &sourceFile, const QString &outputFile, AudioFileModel_TechInfo *formatInfo, volatile bool *abortFlag) = 0;
virtual bool apply(const QString &sourceFile, const QString &outputFile, AudioFileModel_TechInfo *const formatInfo, volatile bool *abortFlag) = 0;
};

View File

@ -49,15 +49,15 @@ DownmixFilter::~DownmixFilter(void)
{
}
bool DownmixFilter::apply(const QString &sourceFile, const QString &outputFile, AudioFileModel_TechInfo *formatInfo, volatile bool *abortFlag)
bool DownmixFilter::apply(const QString &sourceFile, const QString &outputFile, AudioFileModel_TechInfo *const formatInfo, volatile bool *abortFlag)
{
unsigned int channels = formatInfo->audioChannels(); //detectChannels(sourceFile, abortFlag);
emit messageLogged(QString().sprintf("--> Number of channels is: %d\n", channels));
if(channels == 2)
if((channels != 0) && (channels <= 2))
{
messageLogged("Skipping downmix!");
qDebug("Dowmmix not required for Stereo input, skipping!");
qDebug("Dowmmix not required/possible for Mono or Stereo input, skipping!");
return true;
}
@ -71,8 +71,6 @@ bool DownmixFilter::apply(const QString &sourceFile, const QString &outputFile,
switch(channels)
{
case 2: //Unknown
qWarning("Downmixer: Nothing to do!");
case 3: //3.0 (L/R/C)
args << "remix" << "1v0.66,3v0.34" << "2v0.66,3v0.34";
break;
@ -96,7 +94,7 @@ bool DownmixFilter::apply(const QString &sourceFile, const QString &outputFile,
break;
default: //Unknown
qWarning("Downmixer: Unknown channel configuration!");
args << "channels" << "2";
args << "channels" << QString::number(2);
break;
}

View File

@ -32,7 +32,7 @@ public:
DownmixFilter(void);
~DownmixFilter(void);
virtual bool apply(const QString &sourceFile, const QString &outputFile, AudioFileModel_TechInfo *formatInfo, volatile bool *abortFlag);
virtual bool apply(const QString &sourceFile, const QString &outputFile, AudioFileModel_TechInfo *const formatInfo, volatile bool *abortFlag);
private:
const QString m_binary;

View File

@ -57,7 +57,7 @@ NormalizeFilter::~NormalizeFilter(void)
{
}
bool NormalizeFilter::apply(const QString &sourceFile, const QString &outputFile, AudioFileModel_TechInfo *formatInfo, volatile bool *abortFlag)
bool NormalizeFilter::apply(const QString &sourceFile, const QString &outputFile, AudioFileModel_TechInfo *const formatInfo, volatile bool *abortFlag)
{
QProcess process;
QStringList args;

View File

@ -30,7 +30,7 @@ public:
NormalizeFilter(const int &peakVolume = -50, const bool &dnyAudNorm = false, const bool &channelsCoupled = true, const int &filterSize = 31);
~NormalizeFilter(void);
virtual bool apply(const QString &sourceFile, const QString &outputFile, AudioFileModel_TechInfo *formatInfo, volatile bool *abortFlag);
virtual bool apply(const QString &sourceFile, const QString &outputFile, AudioFileModel_TechInfo *const formatInfo, volatile bool *abortFlag);
private:
const QString m_binary;

View File

@ -61,7 +61,7 @@ ResampleFilter::~ResampleFilter(void)
{
}
bool ResampleFilter::apply(const QString &sourceFile, const QString &outputFile, AudioFileModel_TechInfo *formatInfo, volatile bool *abortFlag)
bool ResampleFilter::apply(const QString &sourceFile, const QString &outputFile, AudioFileModel_TechInfo *const formatInfo, volatile bool *abortFlag)
{
QProcess process;
QStringList args;

View File

@ -30,7 +30,7 @@ public:
ResampleFilter(int samplingRate = 0, int bitDepth = 0);
~ResampleFilter(void);
virtual bool apply(const QString &sourceFile, const QString &outputFile, AudioFileModel_TechInfo *formatInfo, volatile bool *abortFlag);
virtual bool apply(const QString &sourceFile, const QString &outputFile, AudioFileModel_TechInfo *const formatInfo, volatile bool *abortFlag);
private:
const QString m_binary;

View File

@ -51,7 +51,7 @@ ToneAdjustFilter::~ToneAdjustFilter(void)
{
}
bool ToneAdjustFilter::apply(const QString &sourceFile, const QString &outputFile, AudioFileModel_TechInfo *formatInfo, volatile bool *abortFlag)
bool ToneAdjustFilter::apply(const QString &sourceFile, const QString &outputFile, AudioFileModel_TechInfo *const formatInfo, volatile bool *abortFlag)
{
QProcess process;
QStringList args;

View File

@ -30,7 +30,7 @@ public:
ToneAdjustFilter(int bass = 0, int treble = 0);
~ToneAdjustFilter(void);
virtual bool apply(const QString &sourceFile, const QString &outputFile, AudioFileModel_TechInfo *formatInfo, volatile bool *abortFlag);
virtual bool apply(const QString &sourceFile, const QString &outputFile, AudioFileModel_TechInfo *const formatInfo, volatile bool *abortFlag);
private:
const QString m_binary;

View File

@ -271,15 +271,18 @@ void ProcessThread::processFile()
handleMessage("\n-------------------------------\n");
//Do we need to take care if Stereo downmix?
if(m_encoder->supportedChannelCount())
const unsigned int *const supportedChannelCount = m_encoder->supportedChannelCount();
if(supportedChannelCount && supportedChannelCount[0])
{
insertDownmixFilter();
insertDownmixFilter(supportedChannelCount);
}
//Do we need to take care of downsampling the input?
if(m_encoder->supportedSamplerates() || m_encoder->supportedBitdepths())
const unsigned int *const supportedSamplerates = m_encoder->supportedSamplerates();
const unsigned int *const supportedBitdepths = m_encoder->supportedBitdepths();
if((supportedSamplerates && supportedSamplerates[0]) || (supportedBitdepths && supportedBitdepths[0]))
{
insertDownsampleFilter();
insertDownsampleFilter(supportedSamplerates, supportedBitdepths);
}
}
}
@ -548,65 +551,44 @@ QString ProcessThread::generateTempFileName(void)
return tempFileName;
}
void ProcessThread::insertDownsampleFilter(void)
bool ProcessThread::insertDownsampleFilter(const unsigned int *const supportedSamplerates, const unsigned int *const supportedBitdepths)
{
int targetSampleRate = 0;
int targetBitDepth = 0;
int targetSampleRate = 0, targetBitDepth = 0;
/* Adjust sample rate */
if(m_encoder->supportedSamplerates() && m_audioFile.techInfo().audioSamplerate())
if(supportedSamplerates && m_audioFile.techInfo().audioSamplerate())
{
bool applyDownsampling = true;
//Check if downsampling filter is already in the chain
for(int i = 0; i < m_filters.count(); i++)
const unsigned int inputRate = m_audioFile.techInfo().audioSamplerate();
unsigned int currentDiff = UINT_MAX, minimumDiff = UINT_MAX, bestRate = UINT_MAX;
//Find the most suitable supported sampling rate
for(int i = 0; supportedSamplerates[i]; i++)
{
if(dynamic_cast<ResampleFilter*>(m_filters.at(i)))
currentDiff = DIFF(inputRate, supportedSamplerates[i]);
if((currentDiff < minimumDiff) || ((currentDiff == minimumDiff) && (bestRate < supportedSamplerates[i])))
{
qWarning("Encoder requires downsampling, but user has already set resamling filter!");
handleMessage("WARNING: Encoder may need resampling, but already using resample filter. Encoding *may* fail!\n");
applyDownsampling = false;
bestRate = supportedSamplerates[i];
minimumDiff = currentDiff;
if(!(minimumDiff > 0)) break;
}
}
//Now determine the target sample rate, if required
if(applyDownsampling)
if(bestRate != inputRate)
{
const unsigned int *supportedRates = m_encoder->supportedSamplerates();
const unsigned int inputRate = m_audioFile.techInfo().audioSamplerate();
unsigned int currentDiff = UINT_MAX, minimumDiff = UINT_MAX, bestRate = UINT_MAX;
//Find the most suitable supported sampling rate
for(int i = 0; supportedRates[i]; i++)
{
currentDiff = DIFF(inputRate, supportedRates[i]);
if((currentDiff < minimumDiff) || ((currentDiff == minimumDiff) && (bestRate < supportedRates[i])))
{
bestRate = supportedRates[i];
minimumDiff = currentDiff;
if(!(minimumDiff > 0)) break;
}
}
if(bestRate != inputRate)
{
targetSampleRate = (bestRate != UINT_MAX) ? bestRate : supportedRates[0];
}
targetSampleRate = (bestRate != UINT_MAX) ? bestRate : supportedSamplerates[0];
}
}
/* Adjust bit depth (word size) */
if(m_encoder->supportedBitdepths() && m_audioFile.techInfo().audioBitdepth())
if(supportedBitdepths && m_audioFile.techInfo().audioBitdepth())
{
const unsigned int inputBPS = m_audioFile.techInfo().audioBitdepth();
const unsigned int *supportedBPS = m_encoder->supportedBitdepths();
bool bAdjustBitdepth = true;
//Is the input bit depth supported exactly? (including IEEE Float)
for(int i = 0; supportedBPS[i]; i++)
for(int i = 0; supportedBitdepths[i]; i++)
{
if(supportedBPS[i] == inputBPS) bAdjustBitdepth = false;
if(supportedBitdepths[i] == inputBPS) bAdjustBitdepth = false;
}
if(bAdjustBitdepth)
@ -615,14 +597,14 @@ void ProcessThread::insertDownsampleFilter(void)
const unsigned int originalBPS = (inputBPS == AudioFileModel::BITDEPTH_IEEE_FLOAT32) ? 32 : inputBPS;
//Find the most suitable supported bit depth
for(int i = 0; supportedBPS[i]; i++)
for(int i = 0; supportedBitdepths[i]; i++)
{
if(supportedBPS[i] == AudioFileModel::BITDEPTH_IEEE_FLOAT32) continue;
if(supportedBitdepths[i] == AudioFileModel::BITDEPTH_IEEE_FLOAT32) continue;
currentDiff = DIFF(originalBPS, supportedBPS[i]);
if((currentDiff < minimumDiff) || ((currentDiff == minimumDiff) && (bestBPS < supportedBPS[i])))
currentDiff = DIFF(originalBPS, supportedBitdepths[i]);
if((currentDiff < minimumDiff) || ((currentDiff == minimumDiff) && (bestBPS < supportedBitdepths[i])))
{
bestBPS = supportedBPS[i];
bestBPS = supportedBitdepths[i];
minimumDiff = currentDiff;
if(!(minimumDiff > 0)) break;
}
@ -630,7 +612,21 @@ void ProcessThread::insertDownsampleFilter(void)
if(bestBPS != originalBPS)
{
targetBitDepth = (bestBPS != UINT_MAX) ? bestBPS : supportedBPS[0];
targetBitDepth = (bestBPS != UINT_MAX) ? bestBPS : supportedBitdepths[0];
}
}
}
//Check if downsampling filter is already in the chain
if (targetSampleRate || targetBitDepth)
{
for (int i = 0; i < m_filters.count(); i++)
{
if (dynamic_cast<ResampleFilter*>(m_filters.at(i)))
{
qWarning("Encoder requires downsampling, but user has already set resamling filter!");
handleMessage("WARNING: Encoder may need resampling, but already using resample filter. Encoding *may* fail!\n");
targetSampleRate = targetBitDepth = 0;
}
}
}
@ -639,45 +635,54 @@ void ProcessThread::insertDownsampleFilter(void)
if(targetSampleRate || targetBitDepth)
{
m_filters.append(new ResampleFilter(targetSampleRate, targetBitDepth));
return true;
}
return false; /*did not insert the resample filter */
}
void ProcessThread::insertDownmixFilter(void)
bool ProcessThread::insertDownmixFilter(const unsigned int *const supportedChannels)
{
bool applyDownmixing = true;
//Check if downmixing filter is already in the chain
for(int i = 0; i < m_filters.count(); i++)
{
if(dynamic_cast<DownmixFilter*>(m_filters.at(i)))
{
qWarning("Encoder requires Stereo downmix, but user has already forced downmix!");
handleMessage("WARNING: Encoder may need downmixning, but already using downmixning filter. Encoding *may* fail!\n");
applyDownmixing = false;
}
}
//Determine number of channels in source
const unsigned int channels = m_audioFile.techInfo().audioChannels();
bool requiresDownmix = (channels > 0);
//Now add the downmixing filter, if needed
if(applyDownmixing)
//Check whether encoder requires downmixing
if(requiresDownmix)
{
bool requiresDownmix = true;
const unsigned int *supportedChannels = m_encoder->supportedChannelCount();
unsigned int channels = m_audioFile.techInfo().audioChannels();
for(int i = 0; supportedChannels[i]; i++)
for (int i = 0; supportedChannels[i]; i++)
{
if(supportedChannels[i] == channels)
if (supportedChannels[i] == channels)
{
requiresDownmix = false;
break;
}
}
}
if(requiresDownmix)
//Check if downmixing filter is already in the chain
if (requiresDownmix)
{
for (int i = 0; i < m_filters.count(); i++)
{
m_filters.append(new DownmixFilter());
if (dynamic_cast<DownmixFilter*>(m_filters.at(i)))
{
qWarning("Encoder requires Stereo downmix, but user has already forced downmix!");
handleMessage("WARNING: Encoder may need downmixning, but already using downmixning filter. Encoding *may* fail!\n");
requiresDownmix = false;
break;
}
}
}
//Now add the downmixing filter, if needed
if(requiresDownmix)
{
m_filters.append(new DownmixFilter());
return true;
}
return false; /*did not insert the downmix filter*/
}
bool ProcessThread::updateFileTime(const QString &originalFile, const QString &modifiedFile)

View File

@ -92,8 +92,8 @@ private:
QString applyRenamePattern(const QString &baseName, const AudioFileModel_MetaInfo &metaInfo);
QString applyRegularExpression(const QString &fileName);
QString generateTempFileName(void);
void insertDownmixFilter(void);
void insertDownsampleFilter(void);
bool insertDownmixFilter(const unsigned int *const supportedChannels);
bool insertDownsampleFilter(const unsigned int *const supportedSamplerates, const unsigned int *const supportedBitdepths);
bool updateFileTime(const QString &originalFile, const QString &modifiedFile);
volatile bool m_aborted;