From 36c0519be1be72fb9ec151d4bb200e529724b3e4 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sun, 1 Jun 2025 22:16:06 -0500 Subject: adding any2flac convenience utility --- dotfiles/system/.local/bin/any2flac | 44 +++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100755 dotfiles/system/.local/bin/any2flac diff --git a/dotfiles/system/.local/bin/any2flac b/dotfiles/system/.local/bin/any2flac new file mode 100755 index 0000000..c2cc0a7 --- /dev/null +++ b/dotfiles/system/.local/bin/any2flac @@ -0,0 +1,44 @@ +#!/usr/bin/env bash +# Craig Jennings + + +function print_help { + echo "Converts an audio or video to flac audio and removes all metadata tags." + echo "This script requires ffmpeg and metaflac."; echo "" + echo "Usage: any2flac [filename]" + echo "Parameter: filename - name of the file to convert." +} + +# Check for help argument +if [ "$1" == "-h" ] || [ "$1" == "--help" ]; then + print_help + exit 0 +fi + +# Check if filename is passed +if [ $# -eq 0 ]; then + echo "Must name an audio file to convert. Exiting." + exit 1 +fi + +# Check for the existence of ffmpeg +if ! command -v ffmpeg &> /dev/null; then + echo "ffmpeg could not be found. Please install it first." + exit 1 +fi + +# Check for the existence of metaflac +if ! command -v metaflac &> /dev/null; then + echo "metaflac could not be found. Please install it first." + exit 1 +fi + +echo "Converting to flac format. This may take a while..." +# convert to flac +ffmpeg -i "$1" -vn -c:a flac "${1%.*}.flac" + +echo "Removing all tags." +# remove all tags +metaflac --remove-all-tags "${1%.*}.flac" + +echo ""; echo "Done." -- cgit v1.2.3