Cleaned up the if conditions in order to shave codelines. Notify-send now is split between header and body (so title gets automatically bold and is cleanly seperated from the list). Removed the check for compressionRate because of a bizzare lf bug.

This commit is contained in:
The Yellow Architect 2023-11-19 09:38:27 +02:00
parent 9b8a12fc92
commit eb388a398d

View File

@ -85,53 +85,41 @@ cmd delete ${{
[ $ans = "y" ] && rm -rf -- $fx [ $ans = "y" ] && rm -rf -- $fx
}} }}
cmd compressvideo ${{ cmd compressvideo ${{
clear; clear;
set -f; set -f;
is_mp4_already=0;
converted_filenames=""; #notify-send variable converted_filenames=""; #notify-send variable
converted_files_count=0; #notify-send variable converted_files_count=0; #notify-send variable
compressionRatio="31"; #30 is impossible to notice difference
echo "Compression Ratio? (default: 31, maximum: 50)"; echo "Compression Rate? (default: 31, maximum: 50)";
read compressionRatio; read compressionRate;
#If not a number (e.g. empty), give default 31 value #If not a number (e.g. empty), give default 31 value
if ! [[ $compressionRatio =~ '^[0-9]+$' ]]; then #if ! [[ $cr =~ "^[0-5][0-9]$" ]]; then
compressionRatio="31" #echo "IS NOT A NUMBER" && sleep 1;
fi #compressionRate="31";
#fi
for pickedFilepath in $fx; do for pickedFilepath in $fx; do
is_valid_filetype=0;
#could instead use ffprobe but would get more complicated as the filetype suffix becomes unknown #could instead use ffprobe but would get more complicated as the filetype suffix becomes unknown
case $pickedFilepath in case $pickedFilepath in
*.mp4) *.mp4)
is_valid_filetype=1 && is_mp4_already=1;; tempFilepath=$(echo "$pickedFilepath" | sed 's|.mp4|(CONVERTING).mp4|');
*.webm) mv -f "$pickedFilepath" "$tempFilepath";
is_valid_filetype=1 && is_mp4_already=0;;
*.mkv) ffmpeg -i "$tempFilepath" -vcodec libx265 -crf "$compressionRate" "$pickedFilepath";
is_valid_filetype=1 && is_mp4_already=0;; rm -f -- "$tempFilepath";
;;
*.webm | *.mkv)
newFilepath=$(echo "$pickedFilepath" | sed 's/\(.webm\|.mkv\)/.mp4/');
ffmpeg -i "$pickedFilepath" -vcodec libx265 -crf "$compressionRate" "$newFilepath";
rm -f -- "$pickedFilepath";
;;
*)
continue 1;;
esac esac
if [[ $is_valid_filetype -eq 0 ]]; then
continue 1 ;
fi;
if [[ $is_mp4_already -eq 1 ]]; then
tempFilepath=$(echo "$pickedFilepath" | sed 's|.mp4|(CONVERTING).mp4|');
mv -f "$pickedFilepath" "$tempFilepath";
ffmpeg -i "$tempFilepath" -vcodec libx265 -crf "$compressionRatio" "$pickedFilepath";
rm -f -- "$tempFilepath";
else
newFilepath=$(echo "$pickedFilepath" | sed 's/\(.webm\|.mkv\)/.mp4/');
ffmpeg -i "$pickedFilepath" -vcodec libx265 -crf "$compressionRatio" "$newFilepath";
rm -f -- "$pickedFilepath";
fi
((converted_files_count=converted_files_count+1)); ((converted_files_count=converted_files_count+1));
converted_filenames="$converted_filenames"$'\n'"$pickedFilepath"; converted_filenames="$converted_filenames"$'\n'"$pickedFilepath";
@ -140,7 +128,7 @@ cmd compressvideo ${{
#Notify the user of the results #Notify the user of the results
if [[ $converted_files_count -gt 0 ]]; then if [[ $converted_files_count -gt 0 ]]; then
converted_filenames=$(echo "$converted_filenames" | sed 's|.*\/||'); converted_filenames=$(echo "$converted_filenames" | sed 's|.*\/||');
notify-send "Compressed Videos($converted_files_count): $converted_filenames"; notify-send "Compressed Videos($converted_files_count):" "$converted_filenames";
fi; fi;
}} }}