792 lines
33 KiB
Bash

#!/bin/bash
# Sucht JDAutoConfig und fragt, ob dies der richtige Pfad ist.
JDAutoConfig=$(find ~ -type f -iname "JDAutoConfig" 2>/dev/null)
# Funktion für später, um z.B. zenity statt whiptail zu nutzen.
language_Folder=$(grep "language_folder=" "$JDAutoConfig" | sed 's/.*=//g')
if [[ -n $(grep "language=" "$JDAutoConfig" | sed 's/.*=//g') ]]; then
language=$(grep "language=" "$JDAutoConfig" | sed 's/.*=//g')
else
language=$(locale | head -n 1 | sed 's/.*=\|\..*//g')
fi
if [[ $language == "C" ]] || [[ ! -d $language_Folder/$language ]]; then
language=en_US
fi
possiblelangfolder=$(find ~ -type f -wholename "*lang/$language/config.lang" 2>/dev/null | sed 's/en_US\/config.lang//g')
if ! [ -f "$language_Folder"/"$language"/config.lang ]; then
real_language_Folder=$(whiptail --title "Could not find language folder" --inputbox "WARNING!! Language folder could not be found. Please type the Path to the language folder or else, the script will try to get the language from Github (could be buggy)\nPossible Path: $possiblelangfolder" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g")
sed -i "s/language_folder=.*/language_folder=$real_language_Folder/g" "$JDAutoConfig"
fi
text_lang() {
if [ -f "$language_Folder"/"$language"/config.lang ]; then
grep "$1" "$language_Folder"/"$language"/config.lang | sed 's/^....//'
else
curl -s https://raw.githubusercontent.com/Pakobbix/JDownloader-Autoenc-rename/main/lang/en_US/config.lang | grep "$1" | sed 's/^....//'
fi
}
check_skript_location() {
if ! $1 --title "$(text_lang "001")" --"$2" "$JDAutoConfig" 16 100; then
unset JDAutoConfig
JDAutoConfig=$($1 --title "$(text_lang "002")" --"$3" "$(text_lang "003")" 16 100 "$4" 3>&2 2>&1 1>&3)
fi
}
change_path() {
if [[ -z $2 ]]; then
whiptail --title "$(text_lang "005")" --msgbox "$(text_lang "005")" 16 50
return
else
if sed -i "s/$1/$2/g" "$JDAutoConfig"; then
whiptail --title "$(text_lang "006") $4 $(text_lang "007")" --msgbox "$(text_lang "008")\n$2" 16 100
else
whiptail --title "$(text_lang "009")" --msgbox "$(text_lang "010") $2\n$(text_lang "011")" 16 100
fi
fi
}
db_auswhal() {
choose_db=$(
whiptail --title "$(text_lang "012")" --menu "" 20 100 12 \
"1)" "TheMovieDB" \
"2)" "TheMovieDB::TV" \
"3)" "TheTVDB" \
"4)" "AniDB" \
"5)" "$(text_lang "017")" 3>&2 2>&1 1>&3
)
case $choose_db in
"1)")
newdb="TheMovieDB"
;;
"2)")
newdb="TheMovieDB::TV"
;;
"3)")
newdb="TheTVDB"
;;
"4)")
newdb="AniDB"
;;
"5)")
return
;;
esac
}
bitrate_auswahl() {
whiptail --title "$1 $(text_lang "013")" --radiolist "$(text_lang "014") $1 an:\n$(text_lang "015")" 20 100 12 \
"1000" "$(text_lang "016") 1000K" OFF \
"1100" "$(text_lang "016") 1100K" OFF \
"1200" "$(text_lang "016") 1200K" OFF \
"1300" "$(text_lang "016") 1300K" OFF \
"1400" "$(text_lang "016") 1400K" $2 \
"1500" "$(text_lang "016") 1500K" OFF \
"1600" "$(text_lang "016") 1600K" OFF \
"1700" "$(text_lang "016") 1700K" $3 \
"1800" "$(text_lang "016") 1800K" OFF \
"1900" "$(text_lang "016") 1900K" OFF \
"2000" "$(text_lang "016") 2000K" $4 \
"2100" "$(text_lang "016") 2100K" OFF \
"2200" "$(text_lang "016") 2200K" OFF \
"2300" "$(text_lang "016") 2300K" OFF \
"2400" "$(text_lang "016") 2400K" OFF \
"2500" "$(text_lang "016") 2500K" OFF \
"2600" "$(text_lang "016") 2600K" OFF \
"2700" "$(text_lang "016") 2700K" OFF \
"2800" "$(text_lang "016") 2800K" OFF \
"2900" "$(text_lang "016") 2900K" OFF \
"3000" "$(text_lang "016") 3000K" OFF 3>&1 1>&2 2>&3
}
preset_auswahl() {
whiptail --title "$1 $(text_lang "018")" --radiolist "$(text_lang "019") $1 :\n$(text_lang "015")" 20 120 12 \
"Ultrafast" "$(text_lang "020")" OFF \
"superfast" "$(text_lang "021")" OFF \
"veryfast" "$(text_lang "021")" OFF \
"faster" "$(text_lang "022")" OFF \
"fast" "$(text_lang "023")" ON \
"medium" "$(text_lang "024")$2" OFF \
"slow" "$(text_lang "025")" OFF \
"slower" "$(text_lang "026")" OFF \
"veryslow" "$(text_lang "027")$3" OFF \
"hq" "$(text_lang "028")" OFF \
"lossless" "$(text_lang "029")" OFF 3>&1 1>&2 2>&3
}
# Fragt, ob der gefundene Pfad zur startencode.sh der richtige ist.
check_skript_location whiptail yesno inputbox
# Loop das Hauptmenü
while true; do
# Aufbau des Menüs
Wahl=$(
whiptail --title "$(text_lang "030")" --menu "$(text_lang "031")\n$(text_lang "032")" 20 100 9 \
"1)" "$(text_lang "033")" \
"2)" "$(text_lang "034")" \
"3)" "$(text_lang "035")" \
"4)" "$(text_lang "036")" \
"5)" "$(text_lang "037")" \
"6)" "$(text_lang "038")" \
"7)" "$(text_lang "017")" 3>&2 2>&1 1>&3
)
# Zuordnung Funktionen zu Menüpunkten
case $Wahl in
"1)")
# Abfrage, ob alle Skripte (startencode.sh, jdautoenc.sh und rename.sh) am selben Ort sind, um den generellen Pfad auf diesen umzustellen
if whiptail --title "$(text_lang "039")" --yesno "$(text_lang "040") ${JDAutoConfig//JDAutoConfig/} $(text_lang "041")\n\n$(text_lang "042")" 20 100; then
newpath=$(echo "${JDAutoConfig//\/JDAutoConfig/}" | sed -e "s#/#\\\/#g")
jdautoencpfad=$(grep "jdautoenc=" "$JDAutoConfig" | sed 's/jdautoenc=\|["]//g' | sed -e "s#/#\\\/#g")
renamepfad=$(grep "rename=" "$JDAutoConfig" | sed 's/rename=\|["]//g' | sed -e "s#/#\\\/#g")
renamelist=$(grep "renamelist=" "$JDAutoConfig" | sed 's/renamelist=\|["]//g' | sed -e "s#/#\\\/#g")
change_path "$jdautoencpfad" "$newpath\/jdautoenc.sh" "$JDAutoConfig" "jdautoenc.sh"
change_path "$renamepfad" "$newpath\/rename.sh" "$JDAutoConfig" "rename.sh"
change_path "$renamelist" "$newpath\/renamelist" "$JDAutoConfig" "renamelist"
fi
jdautoencpfad=$(grep "jdautoenc=" "$JDAutoConfig" | sed 's/jdautoenc=\|["]//g' | sed -e "s#/#\\\/#g")
renamepfad=$(grep "rename=" "$JDAutoConfig" | sed 's/rename=\|["]//g' | sed -e "s#/#\\\/#g")
renamelist=$(grep "renamelist=" "$JDAutoConfig" | sed 's/renamelist=\|["]//g' | sed -e "s#/#\\\/#g")
entpacktpfad=$(grep "extracted=" "$JDAutoConfig" | sed 's/extracted=\|["]//g' | sed -e "s#/#\\\/#g")
encodespfad=$(grep "encodes=" "$JDAutoConfig" | sed 's/encodes=\|["]//g' | sed -e "s#/#\\\/#g")
logpfad=$(grep "log=" "$JDAutoConfig" | sed 's/log=\|["]//g' | sed -e "s#/#\\\/#g")
FilmPfad=$(grep "Movies=" "$JDAutoConfig" | sed 's/Movies=\|["]//g' | sed -e "s#/#\\\/#g")
SerienPfad=$(grep "Series=" "$JDAutoConfig" | sed 's/Series=\|["]//g' | sed -e "s#/#\\\/#g")
AnimePfad=$(grep "Animes=" "$JDAutoConfig" | sed 's/Animes=\|["]//g' | sed -e "s#/#\\\/#g")
# Neues Menü Loop für das ändern von Pfaden
while true; do
# ____ _ _ ____ _ _ _
# | _ \ __ _| |_| |__ / ___| ___| |_| |_(_)_ __ __ _ ___
# | |_) / _` | __| '_ \ \___ \ / _ \ __| __| | '_ \ / _` / __|
# | __/ (_| | |_| | | | ___) | __/ |_| |_| | | | | (_| \__ \
# |_| \__,_|\__|_| |_| |____/ \___|\__|\__|_|_| |_|\__, |___/
# |___/
Wahl=$(
whiptail --title "$(text_lang "043")" --menu "$(text_lang "044")" 22 100 13 \
"1)" "jdautoenc.sh $jdautoencpfad" \
"2)" "rename.sh $renamepfad" \
"3)" "renamelist $renamelist" \
"" "" \
"4)" "$(text_lang "045") $entpacktpfad" \
"5)" "$(text_lang "046") $encodespfad" \
"6)" "$(text_lang "047") $logpfad" \
"" "" \
"7)" "$(text_lang "048") $FilmPfad" \
"8)" "$(text_lang "049") $SerienPfad" \
"9)" "$(text_lang "050") $AnimePfad" \
"" "" \
"10)" "$(text_lang "017")" 3>&2 2>&1 1>&3
)
case $Wahl in
"1)")
# jdautoenc.sh Pfad
newjdautopfad=$(whiptail --title "$(text_lang "051")" --inputbox "$(text_lang "052") jdautoenc.sh:" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g")
change_path "$jdautoencpfad" "$newjdautopfad" "$JDAutoConfig" "jdautoenc.sh"
;;
"2)")
# rename.sh Pfad
newrenamepfad=$(whiptail --title "$(text_lang "051")" --inputbox "$(text_lang "052") rename.sh:" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g")
change_path "$renamepfad" "$newrenamepfad" "$JDAutoConfig" "rename.sh"
;;
"3)")
# renamelist Pfad
newrenamelist=$(whiptail --title "$(text_lang "051")" --inputbox "$(text_lang "052") die renamelist:" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g")
change_path "$renamelist" "$newrenamelist" "$JDAutoConfig" "renamelist"
;;
"4)")
# Ordnerpfad für den Ordner in dem entpackte Videos liegen.
newentpackpfad=$(whiptail --title "$(text_lang "051")" --inputbox "$(text_lang "053")" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g")
change_path "$entpacktpfad" "$newentpackpfad" "$JDAutoConfig" "$(text_lang "045")"
;;
"5)")
# Orderpfad in dem die encodierten Videos hinterlegt werden.
newencodesfolder=$(whiptail --title "$(text_lang "051")" --inputbox "$(text_lang "054")" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g")
change_path "$encodespfad" "$newencodesfolder" "$JDAutoConfig" "$(text_lang "046")"
;;
"6)")
# Log Pfad. Hier wird das Log hingeschrieben
newlogpfad=$(whiptail --title "$(text_lang "051")" --inputbox "$(text_lang "052") log." 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g")
change_path "$logpfad" "$newlogpfad" "$JDAutoConfig" "Log Pfad"
;;
"7)")
# Log Pfad. Hier wird das Log hingeschrieben
newFilmpfad=$(whiptail --title "$(text_lang "051")" --inputbox "$(text_lang "052") $(text_lang "048")" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g")
change_path "$FilmPfad" "$newFilmpfad" "$JDAutoConfig" "$(text_lang "055")"
;;
"8)")
# Log Pfad. Hier wird das Log hingeschrieben
newSerienpfad=$(whiptail --title "$(text_lang "051")" --inputbox "$(text_lang "052") $(text_lang "049")" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g")
change_path "$SerienPfad" "$newSerienpfad" "$JDAutoConfig" "$(text_lang "056")"
;;
"9)")
# Log Pfad. Hier wird das Log hingeschrieben
newAnimePfad=$(whiptail --title "$(text_lang "051")" --inputbox "$(text_lang "052") $(text_lang "050")" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g")
change_path "$AnimePfad" "$newAnimePfad" "$JDAutoConfig" "$(text_lang "057")"
;;
"10)")
# break = Gehe zurück in das vorherige Menü
break
;;
# Ende vom Menü
esac
done
;;
"2)")
# Hier werden die Log Farben angepasst. Muss mir noch überlegen, wie ich die definieren kann.
whiptail --msgbox "Work in Progress" 20 78
;;
"3)")
messagesystem=$(
whiptail --title "$(text_lang "058")" --menu "$(text_lang "059")" 20 100 9 \
"1)" "Discord" \
"2)" "Nextcloud Talk" \
"3)" "Apprise Settings" \
"4)" "coming soon" \
"5)" "$(text_lang "017")" 3>&2 2>&1 1>&3
)
case $messagesystem in
"1)")
# ____ _ _ ____ _ _ _
# | _ \(_)___ ___ ___ _ __ __| | / ___| ___| |_| |_(_)_ __ __ _ ___
# | | | | / __|/ __/ _ \| '__/ _` | \___ \ / _ \ __| __| | '_ \ / _` / __|
# | |_| | \__ \ (_| (_) | | | (_| | ___) | __/ |_| |_| | | | | (_| \__ \
# |____/|_|___/\___\___/|_| \__,_| |____/ \___|\__|\__|_|_| |_|\__, |___/
# |___/
# Ändere Einstellung zu nVidia Encoding
curr_dishook=$(grep "discord=" "$JDAutoConfig" | sed 's/.*=//g')
dishook=$(whiptail --title "$(text_lang "060")" --inputbox "$(text_lang "061") $curr_dishook" 16 100 "$4" 3>&2 2>&1 1>&3 | sed -e "s#/#\\\/#g")
if [ -z "$dishook" ]; then
echo ""
else
sed -i "s/discord=.*/discord=$dishook/g" "$JDAutoConfig"
fi
;;
"2)")
# _ _ _ _ _ ____ _ _ _
# | \ | | _____ _| |_ ___| | ___ _ _ __| | / ___| ___| |_| |_(_)_ __ __ _ ___
# | \| |/ _ \ \/ / __/ __| |/ _ \| | | |/ _` | \___ \ / _ \ __| __| | '_ \ / _` / __|
# | |\ | __/> <| || (__| | (_) | |_| | (_| | ___) | __/ |_| |_| | | | | (_| \__ \
# |_| \_|\___/_/\_\\__\___|_|\___/ \__,_|\__,_| |____/ \___|\__|\__|_|_| |_|\__, |___/
# |___/
curr_NextcloudDomain=$(grep "NextcloudDomain=" "$JDAutoConfig" | sed 's/.*=//g')
curr_NextcloudUser=$(grep "NextcloudUser=" "$JDAutoConfig" | sed 's/.*=//g')
curr_NextcloudPassword=$(grep "NextcloudPassword=" "$JDAutoConfig" | sed 's/.*=//g')
curr_NextcloudToken=$(grep "NextcloudTalkToken=" "$JDAutoConfig" | sed 's/.*=//g')
while true; do
nextcloudmenu=$(
whiptail --title "$(text_lang "062")" --menu "$(text_lang "063")" 20 100 13 \
"1)" "Nextcloud Domain: $(text_lang "064") $curr_NextcloudDomain" \
"2)" "Nextcloud User: $(text_lang "064") $curr_NextcloudUser" \
"3)" "Nextcloud Password: $(text_lang "064") $curr_NextcloudPassword" \
"4)" "Nextcloud Token: $(text_lang "064") $curr_NextcloudToken" \
"5)" "Beenden" 3>&2 2>&1 1>&3
)
case $nextcloudmenu in
"1)")
NextcloudDomain=$(whiptail --title "$(text_lang "065")" --inputbox "$(text_lang "066")\n$(text_lang "067")\n$(text_lang "068")\n\n$(text_lang "064") $curr_NextcloudDomain" 16 100 "$4" 3>&2 2>&1 1>&3 | sed -e "s#/#\\\/#g")
if [ -z "$NextcloudDomain" ]; then
echo ""
else
sed -i "s/NextcloudDomain=.*/NextcloudDomain=$NextcloudDomain/g" "$JDAutoConfig"
fi
;;
"2)")
NextcloudUser=$(whiptail --title "$(text_lang "065")" --inputbox "$(text_lang "069") $(text_lang "064") $curr_NextcloudUser" 16 100 "$4" 3>&2 2>&1 1>&3 | sed -e "s#/#\\\/#g")
if [ -z "$NextcloudUser" ]; then
echo ""
else
sed -i "s/NextcloudUser=.*/NextcloudUser=$NextcloudUser/g" "$JDAutoConfig"
fi
;;
"3)")
NextcloudPassword=$(whiptail --title "$(text_lang "065")" --inputbox "$(text_lang "070") $(text_lang "064") $curr_NextcloudPassword" 16 100 "$4" 3>&2 2>&1 1>&3 | sed -e "s#/#\\\/#g")
if [ -z "$NextcloudPassword" ]; then
echo ""
else
sed -i "s/NextcloudPassword=.*/NextcloudPassword=$NextcloudPassword/g" "$JDAutoConfig"
fi
;;
"4)")
NextcloudTalkToken=$(whiptail --title "$(text_lang "065")" --inputbox "$(text_lang "071")\n$(text_lang "072") $(text_lang "064") $curr_NextcloudToken" 16 100 "$4" 3>&2 2>&1 1>&3 | sed -e "s#/#\\\/#g")
if [ -z "$NextcloudTalkToken" ]; then
echo ""
else
sed -i "s/NextcloudTalkToken=.*/NextcloudTalkToken=$NextcloudTalkToken/g" "$JDAutoConfig"
fi
;;
"5)")
break
;;
esac
done
;;
"3)")
# _ _ ____ _ _ _
# / \ _ __ _ __ _ __(_)___ ___ / ___| ___| |_| |_(_)_ __ __ _ ___
# / _ \ | '_ \| '_ \| '__| / __|/ _ \ \___ \ / _ \ __| __| | '_ \ / _` / __|
# / ___ \| |_) | |_) | | | \__ \ __/ ___) | __/ |_| |_| | | | | (_| \__ \
#/_/ \_\ .__/| .__/|_| |_|___/\___| |____/ \___|\__|\__|_|_| |_|\__, |___/
# |_| |_| |___/
#
curr_appriseurl=$(grep "appriseurl=" "$JDAutoConfig" | sed 's/.*=//g')
curr_apprisetag=$(grep "apprisetag=" "$JDAutoConfig" | sed 's/.*=//g')
while true; do
apprise_menu=$(
whiptail --title "$(text_lang "062")" --menu "$(text_lang "063")" 20 100 13 \
"1)" "Apprise URL+Port: $(text_lang "064") $curr_appriseurl" \
"2)" "Apprise Tag: $(text_lang "064") $curr_apprisetag" \
"3)" "Beenden" 3>&2 2>&1 1>&3
)
case $apprise_menu in
"1)")
appriseurl=$(whiptail --title "$(text_lang "065")" --inputbox "$(text_lang "066")\n$(text_lang "067")\n$(text_lang "068")\n\n$(text_lang "064") $curr_appriseurl" 16 100 "$4" 3>&2 2>&1 1>&3 | sed -e "s#/#\\\/#g")
if [ -z "$curr_appriseurl" ]; then
echo ""
else
sed -i "s/appriseurl=.*/appriseurl=$appriseurl/g" "$JDAutoConfig"
fi
;;
"2)")
apprisetag=$(whiptail --title "$(text_lang "065")" --inputbox "$(text_lang "066")\n$(text_lang "067")\n$(text_lang "068")\n\n$(text_lang "064") $curr_apprisetag" 16 100 "$4" 3>&2 2>&1 1>&3 | sed -e "s#/#\\\/#g")
if [ -z "$apprisetag" ]; then
echo ""
else
sed -i "s/apprisetag=.*/apprisetag=$apprisetag/g" "$JDAutoConfig"
fi
;;
"3)")
break
;;
esac
done
;;
"4)") ;;
"5)")
return 2>/dev/null
;;
esac
# Hier werden die Log Farben angepasst. Muss mir noch überlegen, wie ich die definieren kann.
;;
"4)")
# _____ _ _ ____ _ _ _
# | ____|_ __ ___ ___ __| (_)_ __ __ _ / ___| ___| |_| |_(_)_ __ __ _ ___
# | _| | '_ \ / __/ _ \ / _` | | '_ \ / _` | \___ \ / _ \ __| __| | '_ \ / _` / __|
# | |___| | | | (_| (_) | (_| | | | | | (_| | ___) | __/ |_| |_| | | | | (_| \__ \
# |_____|_| |_|\___\___/ \__,_|_|_| |_|\__, | |____/ \___|\__|\__|_|_| |_|\__, |___/
# |___/ |___/
# Einstellungen für das encoden. (noch in der jdautoenc.sh definiert. Wandern vielleicht bald in das startencode.sh skript)
while true; do
curr_encode_allow=$(if [[ $(grep "encode=" "$JDAutoConfig" | sed 's/.*encode=//g') == "yes" ]]; then echo "Eingeschaltet"; else echo "Ausgeschaltet"; fi)
curr_anime_bitrate=$(grep "bitrate_anime=" "$JDAutoConfig" | sed 's/.*bitrate_anime=//g')
curr_anime_preset=$(grep "preset_anime=" "$JDAutoConfig" | sed 's/.*preset_anime=//g')
curr_serien_bitrate=$(grep "bitrate_series=" "$JDAutoConfig" | sed 's/.*bitrate_series=//g')
curr_serien_preset=$(grep "preset_series=" "$JDAutoConfig" | sed 's/.*preset_series=//g')
curr_filme_bitrate=$(grep "bitrate_movie=" "$JDAutoConfig" | sed 's/.*bitrate_movie=//g')
curr_filme_preset=$(grep "preset_movie=" "$JDAutoConfig" | sed 's/.*preset_movie=//g')
bitratewahl=$(
whiptail --title "$(text_lang "074")" --menu "$(text_lang "075")" 20 100 13 \
"1)" "$(text_lang "076") $curr_encode_allow" \
"2)" "$(text_lang "077") $curr_anime_bitrate K" \
"3)" "$(text_lang "078") $curr_anime_preset" \
"" "" \
"4)" "$(text_lang "079") $curr_serien_bitrate K" \
"5)" "$(text_lang "080") $curr_serien_preset" \
"" "" \
"6)" "$(text_lang "081") $curr_filme_bitrate K" \
"7)" "$(text_lang "082") $curr_filme_preset" \
"" "" \
"8)" "$(text_lang "017")" 3>&2 2>&1 1>&3
)
case $bitratewahl in
"1)")
# Ändere die bitrate für Animes
if whiptail --title "$(text_lang "083")" --yesno "$(text_lang "084")" 20 100; then
sed -i "s/encode=.*/encode=yes/g" "$JDAutoConfig"
else
sed -i "s/encode=.*/encode=no/g" "$JDAutoConfig"
fi
;;
"2)")
# Ändere die bitrate für Animes
new_anime_bitrate=$(bitrate_auswahl "Animes" ON OFF OFF)
sed -i "s/^bitrate_anime.*/bitrate_anime=$new_anime_bitrate/g" "$JDAutoConfig"
;;
"3)")
# Ändere das zu nutzende Preset für Animes
new_anime_preset=$(preset_auswahl "Animes")
sed -i "s/^preset_anime=.*/preset_anime=$new_anime_preset/g" "$JDAutoConfig"
;;
"4)")
# Ändere die bitrate für Serien
new_serien_bitrate=$(bitrate_auswahl "Serien" OFF ON OFF)
sed -i "s/^bitrate_series.*/bitrate_series=$new_serien_bitrate/g" "$JDAutoConfig"
;;
"5)")
# Ändere das zu nutzende Preset für Serien
new_serien_preset=$(preset_auswahl "Serien")
sed -i "s/^preset_series=.*/preset_series=$new_serien_preset/g" "$JDAutoConfig"
;;
"6)")
# Ändere die bitrate für Filme
new_filme_bitrate=$(bitrate_auswahl "Filme" OFF OFF ON)
sed -i "s/^bitrate_movie.*/bitrate_movie=$new_filme_bitrate/g" "$JDAutoConfig"
;;
"7)")
# Ändere das zu nutzende Preset für Filme
new_filme_preset=$(preset_auswahl "Filme")
sed -i "s/^preset_movie=.*/preset_movie=$new_filme_preset/g" "$JDAutoConfig"
;;
"8)")
break
;;
esac
done
;;
"5)")
# _____ _ _ _ ___ __
#| ____|_ __ ___ ___ __| (_)_ __ __ _ | | | \ \ / /
#| _| | '_ \ / __/ _ \ / _` | | '_ \ / _` | | |_| |\ \ /\ / /
#| |___| | | | (_| (_) | (_| | | | | | (_| | | _ | \ V V /
#|_____|_| |_|\___\___/ \__,_|_|_| |_|\__, | |_| |_| \_/\_/
# |___/
# Wir schauen, ob wir kompatible Hardware anzeigen lassen können
gethw=$(lshw -class display 2>/dev/null | grep vendor)
for hw in $gethw; do
if [[ ${hw,,} == *"nvidia"* ]]; then
hw1="\nnVidia $(text_lang "085")"
elif [[ ${hw,,} == *"intel"* ]]; then
hw2="\nIntel iGPU"
elif [[ ${hw,,} == *"radeon"* ]]; then
hw3="\nAMD $(text_lang "085")"
elif [[ ${hw,,} == *"microsoft"* ]]; then
hw4="\nMicrosoft WSL $(text_lang "086")"
fi
done
Hardwareauswahl=$(
whiptail --title "$(text_lang "087")" --menu "$(text_lang "088") $hw1 $hw2 $hw3 $hw4" 20 100 9 \
"1)" "nVidia" \
"2)" "AMD" \
"3)" "Intel QuickSync (Intel CPU)" \
"4)" "Software (noch NICHT IMPLEMENTIERT!)" \
"5)" "Beenden" 3>&2 2>&1 1>&3
)
case $Hardwareauswahl in
"1)")
# Ändere Einstellung zu nVidia Encoding
sed -i 's/Encoder=.*/Encoder=nvidia/g' "$JDAutoConfig"
whiptail --msgbox "$(text_lang "089")\n$(text_lang "090")" 20 78
;;
"2)")
# Ändere Einstellung zu AMD Enconding
sed -i 's/Encoder=.*/Encoder=amd/g' "$JDAutoConfig"
whiptail --msgbox "$(text_lang "091")\n$(text_lang "092")" 20 78
;;
"3)")
# Ändere Einstellung zu Intel Quick Sync Encoding
sed -i 's/Encoder=.*/Encoder=intel/g' "$JDAutoConfig"
whiptail --msgbox "$(text_lang "093")\n$(text_lang "094")" 20 78
;;
"4)")
whiptail --msgbox "$(text_lang "095")" 20 78
return 2>/dev/null
;;
"5)")
return 2>/dev/null
;;
esac
;;
"6)")
# _____ _ _ ____ _ ____ _ _ _
#| ___(_) | ___| __ ) ___ | |_ / ___| ___| |_| |_(_)_ __ __ _ ___
#| |_ | | |/ _ \ _ \ / _ \| __| \___ \ / _ \ __| __| | '_ \ / _` / __|
#| _| | | | __/ |_) | (_) | |_ ___) | __/ |_| |_| | | | | (_| \__ \
#|_| |_|_|\___|____/ \___/ \__| |____/ \___|\__|\__|_|_| |_|\__, |___/
# |___/
while true; do
curr_movie_db=$(grep "MovieDB=" "$JDAutoConfig" | sed 's/.*MovieDB=//g')
curr_series_db=$(grep "SeriesDB=" "$JDAutoConfig" | sed 's/.*SeriesDB=//g')
curr_anime_db=$(grep "AnimeDB=" "$JDAutoConfig" | sed 's/.*AnimeDB=//g')
curr_movie_name=$(grep "MovieName=" "$JDAutoConfig" | sed 's/.*MovieName=//g')
curr_series_name=$(grep "SeriesName=" "$JDAutoConfig" | sed 's/.*SeriesName=//g')
curr_anime_name=$(grep "AnimeName=" "$JDAutoConfig" | sed 's/.*AnimeName=//g')
curr_Language=$(grep "FileBotLang=" "$JDAutoConfig" | sed 's/.*FileBotLang=//g')
FileBotMenu=$(
whiptail --title "$(text_lang "096")" --menu "$(text_lang "097")" 20 100 12 \
"1)" "$(text_lang "098") $curr_movie_db" \
"2)" "$(text_lang "099") $curr_series_db" \
"3)" "$(text_lang "100") $curr_anime_db" \
"" "" \
"4)" "$(text_lang "101") $curr_movie_name" \
"5)" "$(text_lang "102") $curr_series_name" \
"6)" "$(text_lang "103") $curr_anime_name" \
"" "" \
"7)" "$(text_lang "104") $curr_Language" \
"8)" "$(text_lang "017")" 3>&2 2>&1 1>&3
)
case $FileBotMenu in
"1)")
db_auswhal
sed -i "s/MovieDB.*/MovieDB=$newdb/g" "$JDAutoConfig"
;;
"2)")
db_auswhal
sed -i "s/SeriesDB.*/SeriesDB=$newdb/g" "$JDAutoConfig"
;;
"3)")
db_auswhal
sed -i "s/AnimeDB.*/AnimeDB=$newdb/g" "$JDAutoConfig"
;;
"4)")
new_film_name=$(whiptail --title "$(text_lang "051")" --inputbox "$(text_lang "105")\n{n} {y}\nThe Man From Earth 2007.mkv" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g")
if [[ -n $new_film_name ]]; then
sed -i "s/MovieName=.*/MovieName=$new_film_name/g" "$JDAutoConfig"
else
whiptail --msgbox "$(text_lang "108")" 20 78
fi
;;
"5)")
new_serien_name=$(whiptail --title "$(text_lang "051")" --inputbox "$(text_lang "106")\n{n} {y}/Season {s}/{n} - {s00e00} - {t}\nFirefly 2002/Season 1/Firefly - S01E01 - The Train Job" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g")
if [[ -n $new_serien_name ]]; then
sed -i "s/SeriesName=.*/SeriesName=$new_serien_name/g" "$JDAutoConfig"
else
whiptail --msgbox "$(text_lang "108")" 20 78
fi
;;
"6)")
new_anime_name=$(whiptail --title "$(text_lang "051")" --inputbox "$(text_lang "107")" 16 100 3>&1 1>&2 2>&3 | sed -e "s#/#\\\/#g")
if [[ -n $new_anime_name ]]; then
sed -i "s/AnimeName=.*/AnimeName=$new_anime_name/g" "$JDAutoConfig"
else
whiptail --msgbox "$(text_lang "108")" 20 78
fi
;;
"7)")
new_lang=$(
whiptail --title "$(text_lang "109")" --radiolist "$(text_lang "110")\n{n} {y}/Season {s}/{n} - {s00e00} - {t}\nElfenlied 2004/Season 1/Elfenlied - S01E01 - A Chance Encounter: Begegnung" 20 100 12 \
"Afar" "aa" OFF \
"Abkhazian" "ab" OFF \
"Afrikaans" "af" OFF \
"Akan" "ak" OFF \
"Albanian" "sq" OFF \
"Amharic" "am" OFF \
"Arabic" "ar" OFF \
"Aragonese" "an" OFF \
"Armenian" "hy" OFF \
"Assamese" "as" OFF \
"Avaric" "av" OFF \
"Avestan" "ae" OFF \
"Aymara" "ay" OFF \
"Azerbaijani" "az" OFF \
"Bashkir" "ba" OFF \
"Bambara" "bm" OFF \
"Basque" "eu" OFF \
"Belarusian" "be" OFF \
"Bengali" "bn" OFF \
"Bihari" "bh" OFF \
"Bislama" "bi" OFF \
"Tibetan" "bo" OFF \
"Bosnian" "bs" OFF \
"Breton" "br" OFF \
"Bulgarian" "bg" OFF \
"Burmese" "my" OFF \
"Catalan" "ca" OFF \
"Czech" "cs" OFF \
"Chamorro" "ch" OFF \
"Chechen" "ce" OFF \
"Chinese" "zh" OFF \
"Church" "cu" OFF \
"Chuvash" "cv" OFF \
"Cornish" "kw" OFF \
"Corsican" "co" OFF \
"Cree" "cr" OFF \
"Welsh" "cy" OFF \
"Czech" "cs" OFF \
"Danish" "da" OFF \
"German" "de" ON \
"Divehi" "dv" OFF \
"Dutch" "nl" OFF \
"Dzongkha" "dz" OFF \
"Greek" "el" OFF \
"English" "en" OFF \
"Esperanto" "eo" OFF \
"Estonian" "et" OFF \
"Basque" "eu" OFF \
"Ewe" "ee" OFF \
"Faroese" "fo" OFF \
"Persian" "fa" OFF \
"Fijian" "fj" OFF \
"Finnish" "fi" OFF \
"French" "fr" OFF \
"French" "fr" OFF \
"Western" "fy" OFF \
"Fulah" "ff" OFF \
"Georgian" "ka" OFF \
"German" "de" OFF \
"Gaelic" "gd" OFF \
"Irish" "ga" OFF \
"Galician" "gl" OFF \
"Manx" "gv" OFF \
"Greek" "el" OFF \
"Guarani" "gn" OFF \
"Gujarati" "gu" OFF \
"Haitian" "ht" OFF \
"Hausa" "ha" OFF \
"Hebrew" "he" OFF \
"Herero" "hz" OFF \
"Hindi" "hi" OFF \
"Hiri" "ho" OFF \
"Croatian" "hr" OFF \
"Hungarian" "hu" OFF \
"Armenian" "hy" OFF \
"Igbo" "ig" OFF \
"Icelandic" "is" OFF \
"Ido" "io" OFF \
"Sichuan" "ii" OFF \
"Inuktitut" "iu" OFF \
"Interlingue" "ie" OFF \
"Interlingua" "ia" OFF \
"Indonesian" "id" OFF \
"Inupiaq" "ik" OFF \
"Icelandic" "is" OFF \
"Italian" "it" OFF \
"Javanese" "jv" OFF \
"Japanese" "ja" OFF \
"Kalaallisut" "kl" OFF \
"Kannada" "kn" OFF \
"Kashmiri" "ks" OFF \
"Georgian" "ka" OFF \
"Kanuri" "kr" OFF \
"Kazakh" "kk" OFF \
"Central" "km" OFF \
"Kikuyu" "ki" OFF \
"Kinyarwanda" "rw" OFF \
"Kirghiz" "ky" OFF \
"Komi" "kv" OFF \
"Kongo" "kg" OFF \
"Korean" "ko" OFF \
"Kuanyama" "kj" OFF \
"Kurdish" "ku" OFF \
"Lao" "lo" OFF \
"Latin" "la" OFF \
"Latvian" "lv" OFF \
"Limburgan" "li" OFF \
"Lingala" "ln" OFF \
"Lithuanian" "lt" OFF \
"Luxembourgish" "lb" OFF \
"Luba-Katanga" "lu" OFF \
"Ganda" "lg" OFF \
"Macedonian" "mk" OFF \
"Marshallese" "mh" OFF \
"Malayalam" "ml" OFF \
"Maori" "mi" OFF \
"Marathi" "mr" OFF \
"Malay" "ms" OFF \
"Macedonian" "mk" OFF \
"Malagasy" "mg" OFF \
"Maltese" "mt" OFF \
"Mongolian" "mn" OFF \
"Maori" "mi" OFF \
"Malay" "ms" OFF \
"Burmese" "my" OFF \
"Nauru" "na" OFF \
"Navajo" "nv" OFF \
"Ndebele" "nr" OFF \
"Ndebele" "nd" OFF \
"Ndonga" "ng" OFF \
"Nepali" "ne" OFF \
"Dutch" "nl" OFF \
"Norwegian" "nn" OFF \
"Bokmål" "nb" OFF \
"Norwegian" "no" OFF \
"Chichewa" "ny" OFF \
"Occitan" "oc" OFF \
"Ojibwa" "oj" OFF \
"Oriya" "or" OFF \
"Oromo" "om" OFF \
"Ossetian" "os" OFF \
"Panjabi" "pa" OFF \
"Persian" "fa" OFF \
"Pali" "pi" OFF \
"Polish" "pl" OFF \
"Portuguese" "pt" OFF \
"Pushto" "ps" OFF \
"Quechua" "qu" OFF \
"Romansh" "rm" OFF \
"Romanian" "ro" OFF \
"Romanian" "ro" OFF \
"Rundi" "rn" OFF \
"Russian" "ru" OFF \
"Sango" "sg" OFF \
"Sanskrit" "sa" OFF \
"Sinhala" "si" OFF \
"Slovak" "sk" OFF \
"Slovak" "sk" OFF \
"Slovenian" "sl" OFF \
"Northern" "se" OFF \
"Samoan" "sm" OFF \
"Shona" "sn" OFF \
"Sindhi" "sd" OFF \
"Somali" "so" OFF \
"Sotho" "st" OFF \
"Spanish" "es" OFF \
"Albanian" "sq" OFF \
"Sardinian" "sc" OFF \
"Serbian" "sr" OFF \
"Swati" "ss" OFF \
"Sundanese" "su" OFF \
"Swahili" "sw" OFF \
"Swedish" "sv" OFF \
"Tahitian" "ty" OFF \
"Tamil" "ta" OFF \
"Tatar" "tt" OFF \
"Telugu" "te" OFF \
"Tajik" "tg" OFF \
"Tagalog" "tl" OFF \
"Thai" "th" OFF \
"Tibetan" "bo" OFF \
"Tigrinya" "ti" OFF \
"Tonga" "to" OFF \
"Tswana" "tn" OFF \
"Tsonga" "ts" OFF \
"Turkmen" "tk" OFF \
"Turkish" "tr" OFF \
"Twi" "tw" OFF \
"Uighur" "ug" OFF \
"Ukrainian" "uk" OFF \
"Urdu" "ur" OFF \
"Uzbek" "uz" OFF \
"Venda" "ve" OFF \
"Vietnamese" "vi" OFF \
"Volapük" "vo" OFF \
"Welsh" "cy" OFF \
"Walloon" "wa" OFF \
"Wolof" "wo" OFF \
"Xhosa" "xh" OFF \
"Yiddish" "yi" OFF \
"Yoruba" "yo" OFF \
"Zhuang" "za" OFF \
"Chinese" "zh" OFF \
"Zulu" "zu" OFF 3>&1 1>&2 2>&3
)
sed -i "s/FileBotLang=.*/FileBotLang=$new_lang/g" "$JDAutoConfig"
;;
"8)")
break
;;
esac
done
;;
"7)")
exit
;;
esac
done