From 29bd949107bd98150f5db91b81e06bd9c149eb81 Mon Sep 17 00:00:00 2001 From: Thorsten Date: Sun, 8 Feb 2026 14:34:23 +0100 Subject: [PATCH] . --- bin/auto_add_sub_folder.sh | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/bin/auto_add_sub_folder.sh b/bin/auto_add_sub_folder.sh index 2516f09..9d1489a 100755 --- a/bin/auto_add_sub_folder.sh +++ b/bin/auto_add_sub_folder.sh @@ -1,5 +1,18 @@ #!/usr/bin/env bash set -Eeuo pipefail +# --- never exit silently (good for .desktop launch) --- +on_error() { + local ec=$? + echo + echo -e "${WHITE_ON_RED} FEHLER ${NC} Script abgebrochen (Exit Code: $ec)" + echo -e "${WHITE_ON_GRAY} Letzter Befehl ${NC} ${BASH_COMMAND}" + echo -e "${WHITE_ON_GRAY} Ort ${NC} ${BASH_SOURCE[1]}:${BASH_LINENO[0]}" + echo + read -n 1 -s -r -p "Press any key to exit" + exit "$ec" +} +trap on_error ERR + shopt -s nullglob ############################################ @@ -424,7 +437,7 @@ build_sub_order_rank() { item="${item//[[:space:]]/}" [[ -z "$item" ]] && continue SUB_ORDER_RANK["$item"]=$i - ((i++)) + ((i+=1)) done } @@ -596,12 +609,20 @@ process_root() { log "Found MKVs: ${#mkvs[@]} under $root" [[ ${#mkvs[@]} -eq 0 ]] && return 0 + # ---- sort MKVs alphabetically (stable episode order) ---- + IFS=$'\n' mkvs=($(printf '%s\n' "${mkvs[@]}" | LC_ALL=C sort)) + unset IFS + + dbg "MKV Reihenfolge:" + for f in "${mkvs[@]}"; do dbg " - $(basename "$f")"; done + local processed=0 mkv="" for mkv in "${mkvs[@]}"; do mux_one_mkv "$mkv" - ((++processed)) + ((processed+=1)) done + log "Finished root: $root (processed $processed MKV(s))" }