From 31003cbb72322296a55f3bde8f49e25b2fa16484 Mon Sep 17 00:00:00 2001 From: Pacifico Paul <46673657+paulpacifico@users.noreply.github.com> Date: Tue, 12 Nov 2024 15:02:51 +0400 Subject: [PATCH] Add files via upload --- src/library/FFPROBE.java | 2 +- src/settings/AudioSettings.java | 46 ++++++++++++++++++++++++++------- src/settings/FunctionUtils.java | 37 +++----------------------- 3 files changed, 41 insertions(+), 44 deletions(-) diff --git a/src/library/FFPROBE.java b/src/library/FFPROBE.java index d70ae528..ff2a3289 100644 --- a/src/library/FFPROBE.java +++ b/src/library/FFPROBE.java @@ -1203,7 +1203,7 @@ public static void setFilesize() { if (grpBitrate.isVisible()) { int multi = 0; - if (lblAudioMapping.getText().equals("Multi")) + if (lblAudioMapping.getSelectedItem().toString().equals("Multi")) { if (comboAudio1.getSelectedIndex() != 16) multi += 1; diff --git a/src/settings/AudioSettings.java b/src/settings/AudioSettings.java index 894b3b82..bfb97305 100644 --- a/src/settings/AudioSettings.java +++ b/src/settings/AudioSettings.java @@ -268,20 +268,20 @@ else if (audioCodec.equals("ALAC 24Bits")) if (FFPROBE.stereo) { - if (FFPROBE.surround && lblAudioMapping.getText().equals("Multi") == false) + if (FFPROBE.surround && lblAudioMapping.getSelectedItem().toString().equals("Multi") == false) { if (audioFiltering != "") audioFiltering = audioFiltering + ","; String mono = ""; - if (lblAudioMapping.getText().equals(language.getProperty("mono"))) + if (lblAudioMapping.getSelectedItem().toString().equals(language.getProperty("mono"))) { mono = " -ac 1"; } audio += " -c:a " + audioCodec + mono + " -ar " + lbl48k.getSelectedItem().toString() + audioBitrate + " -filter:a " + '"' + audioFiltering + "pan=stereo|FL=FC+0.30*FL+0.30*BL|FR=FC+0.30*FR+0.30*BR" + '"' + " -map a?"; } - else if (lblAudioMapping.getText().equals("Multi")) + else if (lblAudioMapping.getSelectedItem().toString().equals("Multi")) { String mapping = ""; @@ -340,7 +340,7 @@ else if (audioFiltering != "") audio += " -c:a " + audioCodec + " -ar " + lbl48k.getSelectedItem().toString() + audioBitrate + audioFiltering + mapping; } - else if (lblAudioMapping.getText().equals(language.getProperty("mono"))) + else if (lblAudioMapping.getSelectedItem().toString().equals(language.getProperty("mono"))) { if (audioFiltering != "") audioFiltering = "," + audioFiltering; @@ -362,6 +362,18 @@ else if (lblAudioMapping.getText().equals(language.getProperty("mono"))) audio += "[0:a]channelsplit=channel_layout=stereo:channels=FR" + audioFiltering + "[a]" + '"' + " -ac 1 -c:a " + audioCodec + " -ar " + lbl48k.getSelectedItem().toString() + audioBitrate; } } + else if (lblAudioMapping.getSelectedItem().toString().equals("Mix")) + { + if (audioFiltering != "") + audioFiltering = "," + audioFiltering; + + if (filterComplex != "") + audio += ";"; + else + audio += " -filter_complex " + '"'; + + audio += "[0:a]amix=inputs=" + FFPROBE.channels + audioFiltering + "[a]" + '"' + " -c:a " + audioCodec + " -ar " + lbl48k.getSelectedItem().toString() + audioBitrate; + } else //Stereo { if (audioFiltering != "") @@ -382,18 +394,18 @@ else if (FFPROBE.channels > 1) else audio += " -filter_complex " + '"'; - if (lblAudioMapping.getText().equals(language.getProperty("stereo"))) + if (lblAudioMapping.getSelectedItem().toString().equals(language.getProperty("stereo"))) { audio += "[0:a][2:a]amix=inputs=2" + audioFiltering + "[a]" + '"' + " -c:a " + audioCodec + " -ar " + lbl48k.getSelectedItem().toString() + audioBitrate; } - else if (lblAudioMapping.getText().equals("Multi")) + else if (lblAudioMapping.getSelectedItem().toString().equals("Multi")) { if (audioFiltering != "") audioFiltering = " -filter:a " + '"' + audioFiltering + '"'; audio += " -c:a " + audioCodec + " -ar " + lbl48k.getSelectedItem().toString() + audioBitrate + audioFiltering + " -map 0:a? -map 2:a?"; } - else if (lblAudioMapping.getText().equals(language.getProperty("mono"))) + else if (lblAudioMapping.getSelectedItem().toString().equals(language.getProperty("mono"))) { if (comboAudio1.getSelectedIndex() != 16 && comboAudio2.getSelectedIndex() != 16) //Mixdown all tracks to mono { @@ -402,8 +414,12 @@ else if (lblAudioMapping.getText().equals(language.getProperty("mono"))) else audio += "[" + String.valueOf(comboAudio1.getSelectedIndex()).replace("1","2") + ":a]anull" + audioFiltering + "[a]" + '"' + " -ac 1 -c:a " + audioCodec + " -ar " + lbl48k.getSelectedItem().toString() + audioBitrate; } + else if (lblAudioMapping.getSelectedItem().toString().equals("Mix")) + { + audio += "[0:a]amix=inputs=" + FFPROBE.channels + audioFiltering + "[a]" + '"' + " -c:a " + audioCodec + " -ar " + lbl48k.getSelectedItem().toString() + audioBitrate; + } } - else if (lblAudioMapping.getText().equals(language.getProperty("stereo"))) + else if (lblAudioMapping.getSelectedItem().toString().equals(language.getProperty("stereo"))) { if (audioFiltering != "") audioFiltering = "," + audioFiltering; @@ -415,7 +431,7 @@ else if (lblAudioMapping.getText().equals(language.getProperty("stereo"))) audio += "[0:a:" + comboAudio1.getSelectedIndex() + "][0:a:" + comboAudio2.getSelectedIndex() + "]amerge=inputs=2" + audioFiltering + "[a]" + '"' + " -c:a " + audioCodec + " -ar " + lbl48k.getSelectedItem().toString() + audioBitrate; } - else if (lblAudioMapping.getText().equals(language.getProperty("mono"))) + else if (lblAudioMapping.getSelectedItem().toString().equals(language.getProperty("mono"))) { if (audioFiltering != "") audioFiltering = "," + audioFiltering; @@ -432,6 +448,18 @@ else if (lblAudioMapping.getText().equals(language.getProperty("mono"))) else audio += "[0:a:" + comboAudio1.getSelectedIndex() + "]anull" + audioFiltering + "[a]" + '"' + " -ac 1 -c:a " + audioCodec + " -ar " + lbl48k.getSelectedItem().toString() + audioBitrate; } + else if (lblAudioMapping.getSelectedItem().toString().equals("Mix")) + { + if (audioFiltering != "") + audioFiltering = "," + audioFiltering; + + if (filterComplex != "") + audio += ";"; + else + audio += " -filter_complex " + '"'; + + audio += "[0:a]amix=inputs=" + FFPROBE.channels + audioFiltering + "[a]" + '"' + " -c:a " + audioCodec + " -ar " + lbl48k.getSelectedItem().toString() + audioBitrate; + } else { String mapping = ""; diff --git a/src/settings/FunctionUtils.java b/src/settings/FunctionUtils.java index 60b49a56..15d1e1c6 100644 --- a/src/settings/FunctionUtils.java +++ b/src/settings/FunctionUtils.java @@ -1202,48 +1202,17 @@ public static String setFilterComplex(String filterComplex, String audio, boolea filterComplex = " -filter_complex " + '"' + filterComplex + "[out]"; else filterComplex = " -filter_complex " + '"' + "[0:v]" + filterComplex + "[out]"; - - float newFPS = Float.parseFloat((comboFPS.getSelectedItem().toString()).replace(",", ".")); - float value = (float) (newFPS/ FFPROBE.currentFPS); - - if (caseConform.isSelected() && (comboConform.getSelectedItem().toString().equals(language.getProperty("conformBySpeed")) || comboConform.getSelectedItem().toString().equals(language.getProperty("conformByReverse"))) && (value < 0.5f || value > 2.0f)) - { - filterComplex += '"' + " -map " + '"' + "[out]" + '"' + audio; - } - else if (caseConform.isSelected() && comboConform.getSelectedItem().toString().equals(language.getProperty("conformBySlowMotion"))) - { - filterComplex += '"' + " -map " + '"' + "[out]" + '"' + audio; - } - else if (FFPROBE.channels > 1 && (lblAudioMapping.getText().equals(language.getProperty("stereo")) || lblAudioMapping.getText().equals(language.getProperty("mono"))) && (debitAudio.getSelectedItem().toString().equals("0") == false || comboAudioCodec.getSelectedItem().equals("FLAC")) && FFPROBE.stereo == false) - { - filterComplex += audio + " -map " + '"' + "[out]" + '"' + " -map " + '"' + "[a]" + '"'; - } - else if (FFPROBE.stereo && lblAudioMapping.getText().equals(language.getProperty("mono")) && (debitAudio.getSelectedItem().toString().equals("0") == false || comboAudioCodec.getSelectedItem().equals("FLAC")) && FFPROBE.surround == false) + + if (audio.contains("[a]")) { filterComplex += audio + " -map " + '"' + "[out]" + '"' + " -map " + '"' + "[a]" + '"'; } else filterComplex += '"' + " -map " + '"' + "[out]" + '"' + audio; - } else { - float newFPS = Float.parseFloat((comboFPS.getSelectedItem().toString()).replace(",", ".")); - float value = (float) (newFPS/ FFPROBE.currentFPS); - - if (caseConform.isSelected() && (comboConform.getSelectedItem().toString().equals(language.getProperty("conformBySpeed")) || comboConform.getSelectedItem().toString().equals(language.getProperty("conformByReverse"))) && (value < 0.5f || value > 2.0f)) - { - filterComplex = " -map v:0" + audio; - } - else if (caseConform.isSelected() && comboConform.getSelectedItem().toString().equals(language.getProperty("conformBySlowMotion"))) - { - filterComplex = " -map v:0" + audio; - } - else if (FFPROBE.channels > 1 && (lblAudioMapping.getText().equals(language.getProperty("stereo")) || lblAudioMapping.getText().equals(language.getProperty("mono"))) && (debitAudio.getSelectedItem().toString().equals("0") == false || comboAudioCodec.getSelectedItem().equals("FLAC")) && FFPROBE.stereo == false) - { - filterComplex = audio + " -map v:0 -map " + '"' + "[a]" + '"'; - } - else if (FFPROBE.stereo && lblAudioMapping.getText().equals(language.getProperty("mono")) && (debitAudio.getSelectedItem().toString().equals("0") == false || comboAudioCodec.getSelectedItem().equals("FLAC")) && FFPROBE.surround == false) + if (audio.contains("[a]")) { filterComplex = audio + " -map v:0 -map " + '"' + "[a]" + '"'; }