Compare commits
No commits in common. "d75283f0a030a7eb24aad9fe55f682e99f759d78" and "39a341d1939e32d2f0f1f7c713ace5c35440ad2d" have entirely different histories.
d75283f0a0
...
39a341d193
2 changed files with 5 additions and 31 deletions
|
@ -6,8 +6,7 @@ zusammenführt. Metadaten (Autor, Serie, Titel, Jahr, Sprecher:in) werden aus
|
||||||
der Ordnerstruktur extrahiert und als Tags gesetzt. Die Ergebnisse werden unter
|
der Ordnerstruktur extrahiert und als Tags gesetzt. Die Ergebnisse werden unter
|
||||||
`out/` abgelegt.
|
`out/` abgelegt.
|
||||||
|
|
||||||
> Das Skript startet `m4b-tool` über docker (`docker run -it --rm -u $(id -u):$(id -g) -v "$(pwd)":/mnt sandreas/m4b-tool:latest`) oder
|
> Das Skript startet `m4b-tool` über Nix (`nix run github:sandreas/m4b-tool#m4b-tool-libfdk`).
|
||||||
> Nix (`nix run github:sandreas/m4b-tool#m4b-tool-libfdk`).
|
|
||||||
|
|
||||||
## Inhaltsverzeichnis
|
## Inhaltsverzeichnis
|
||||||
|
|
||||||
|
@ -29,7 +28,7 @@ der Ordnerstruktur extrahiert und als Tags gesetzt. Die Ergebnisse werden unter
|
||||||
|
|
||||||
## Voraussetzungen
|
## Voraussetzungen
|
||||||
|
|
||||||
- Nix oder docker installiert (für den Aufruf von `m4b-tool` via `docker run` oder `nix run`)
|
- Nix installiert (für den Aufruf von `m4b-tool` via `nix run`)
|
||||||
- Audio‑Quellen in unterstützten Formaten: `mp3`, `m4a`, `m4b`, `aac`, `flac`, `wav`, `ogg`
|
- Audio‑Quellen in unterstützten Formaten: `mp3`, `m4a`, `m4b`, `aac`, `flac`, `wav`, `ogg`
|
||||||
- Bash (unter macOS/Linux vorhanden)
|
- Bash (unter macOS/Linux vorhanden)
|
||||||
|
|
||||||
|
|
31
to-m4b.sh
31
to-m4b.sh
|
@ -4,12 +4,11 @@ set -eufo pipefail
|
||||||
|
|
||||||
# CONSTANTS
|
# CONSTANTS
|
||||||
declare -r script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
declare -r script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
declare -a m4b_tool_bin
|
|
||||||
|
|
||||||
# VARS
|
# VARS
|
||||||
LEADING_ZEROES=2
|
LEADING_ZEROES=2
|
||||||
SRC=""
|
SRC="${script_dir}/src"
|
||||||
OUT=""
|
OUT="${script_dir}/out"
|
||||||
|
|
||||||
# FUNCTIONS
|
# FUNCTIONS
|
||||||
parse-vars() {
|
parse-vars() {
|
||||||
|
@ -179,7 +178,7 @@ m4b-merge() {
|
||||||
fi
|
fi
|
||||||
args+=("--output-file=${output_file}" -- "${source_dir}")
|
args+=("--output-file=${output_file}" -- "${source_dir}")
|
||||||
|
|
||||||
"${m4b_tool_bin[@]}" "${args[@]}"
|
nix run github:sandreas/m4b-tool#m4b-tool-libfdk -- "${args[@]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
|
@ -226,28 +225,4 @@ main() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Argument parser: select backend (docker|nix) and set paths
|
|
||||||
case "${1-}" in
|
|
||||||
nix)
|
|
||||||
m4b_tool_bin=(nix run github:sandreas/m4b-tool#m4b-tool-libfdk --)
|
|
||||||
SRC="${script_dir}/src"
|
|
||||||
OUT="${script_dir}/out"
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
docker|"")
|
|
||||||
m4b_tool_bin=(docker run -it --rm -u $(id -u):$(id -g) -v "$(pwd)":/mnt sandreas/m4b-tool:latest)
|
|
||||||
SRC="./src"
|
|
||||||
OUT="./out"
|
|
||||||
[[ "${1-}" == docker ]] && shift || true
|
|
||||||
;;
|
|
||||||
-h|--help)
|
|
||||||
echo "Usage: $0 [docker|nix]" >&2
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Unknown mode '$1'. Use 'docker' or 'nix'." >&2
|
|
||||||
exit 2
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
main "$@"
|
main "$@"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue