Compare commits
4 commits
39a341d193
...
d75283f0a0
Author | SHA1 | Date | |
---|---|---|---|
d75283f0a0 | |||
56c08bc184 | |||
20514b8d8e | |||
4caa040cf8 |
2 changed files with 31 additions and 5 deletions
|
@ -6,7 +6,8 @@ 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 Nix (`nix run github:sandreas/m4b-tool#m4b-tool-libfdk`).
|
> Das Skript startet `m4b-tool` über docker (`docker run -it --rm -u $(id -u):$(id -g) -v "$(pwd)":/mnt sandreas/m4b-tool:latest`) oder
|
||||||
|
> Nix (`nix run github:sandreas/m4b-tool#m4b-tool-libfdk`).
|
||||||
|
|
||||||
## Inhaltsverzeichnis
|
## Inhaltsverzeichnis
|
||||||
|
|
||||||
|
@ -28,7 +29,7 @@ der Ordnerstruktur extrahiert und als Tags gesetzt. Die Ergebnisse werden unter
|
||||||
|
|
||||||
## Voraussetzungen
|
## Voraussetzungen
|
||||||
|
|
||||||
- Nix installiert (für den Aufruf von `m4b-tool` via `nix run`)
|
- Nix oder docker installiert (für den Aufruf von `m4b-tool` via `docker run` oder `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,11 +4,12 @@ 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="${script_dir}/src"
|
SRC=""
|
||||||
OUT="${script_dir}/out"
|
OUT=""
|
||||||
|
|
||||||
# FUNCTIONS
|
# FUNCTIONS
|
||||||
parse-vars() {
|
parse-vars() {
|
||||||
|
@ -178,7 +179,7 @@ m4b-merge() {
|
||||||
fi
|
fi
|
||||||
args+=("--output-file=${output_file}" -- "${source_dir}")
|
args+=("--output-file=${output_file}" -- "${source_dir}")
|
||||||
|
|
||||||
nix run github:sandreas/m4b-tool#m4b-tool-libfdk -- "${args[@]}"
|
"${m4b_tool_bin[@]}" "${args[@]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
|
@ -225,4 +226,28 @@ 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