diff options
| author | Craig Jennings <c@cjennings.net> | 2025-06-01 22:16:06 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2025-06-01 22:16:06 -0500 |
| commit | 36c0519be1be72fb9ec151d4bb200e529724b3e4 (patch) | |
| tree | b039346bef3d531aa491e56e91a7112c9ace6d60 /dotfiles | |
| parent | d29dfe04d1f6504c258623d2d8151e7a612e2892 (diff) | |
adding any2flac convenience utility
Diffstat (limited to 'dotfiles')
| -rwxr-xr-x | dotfiles/system/.local/bin/any2flac | 44 |
1 files changed, 44 insertions, 0 deletions
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 <c@cjennings.net> + + +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." |
