From c4d96716c05c41a3b18f2326cb588cd19246da5f Mon Sep 17 00:00:00 2001 From: zachir Date: Fri, 12 Aug 2022 04:30:51 -0500 Subject: initial commit --- tagmp3 | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100755 tagmp3 (limited to 'tagmp3') diff --git a/tagmp3 b/tagmp3 new file mode 100755 index 0000000..6ecb6f8 --- /dev/null +++ b/tagmp3 @@ -0,0 +1,79 @@ +#!/sbin/sh + +FILENAME=`echo $@ | rev | cut -d' ' -f1 | rev` + +# check for flags +for i in $@; do + case "$i" in + "-"*) unset ARTISTFLAG ALBUMFLAG SONGFLAG + ;; + esac + [ -n "$ARTISTFLAG" ] && ARTISTNAME="$ARTISTNAME $i" + [ -n "$ALBUMFLAG" ] && ALBUMNAME="$ALBUMNAME $i" + [ -n "$SONGFLAG" ] && SONGNAME="$SONGNAME $i" + [ -n "$TRACKFLAG" ] && TRACKNUMBER="$i" && unset TRACKFLAG + [ -n "$YEARFLAG" ] && YEARNUMBER="$i" && unset YEARFLAG + case "$i" in + "-a") + ARTISTFLAG="y" + ;; + "-A") + ALBUMFLAG="y" + ;; + "-t") + SONGFLAG="y" + ;; + "-T") + TRACKFLAG="y" + ;; + "-y") + YEARFLAG="y" + ;; + esac +done + +ARTISTNAME=`echo $ARTISTNAME | sed 's/^ //'` +ALBUMNAME=`echo $ALBUMNAME | sed 's/^ //'` +SONGNAME=`echo $SONGNAME | sed 's/^ //'` + +# guess artist name from title +ARTISTNAME_GUESS=`echo "$FILENAME" | cut -d'-' -f1 | sed 's/_*$//;s/_/ /g'` + +# guess album name from title +ALBUMNAME_GUESS=`echo "$FILENAME" | cut -d'-' -f2 | sed 's/^_*//;s/_*$//;s/_/ /g'` + +# guess track number from title +TRACKNUMBER_GUESS=`echo "$FILENAME" | cut -d'-' -f3 | cut -d'_' -f2` + +# guess song name from title +SONGNAME_GUESS=`echo "$FILENAME" | cut -d'-' -f3 | sed 's/^_[0-9]*_//;s/_/ /g;s/\.mp3$//'` + +# get the artist name input +[ -z "$ARTISTNAME" ] && echo "Input the Artist name:\nGuessed name is $ARTISTNAME_GUESS" && read ARTISTNAME +[ -z "$ARTISTNAME" ] && ARTISTNAME="$ARTISTNAME_GUESS" + +echo "$ARTISTNAME" + +# get the album name input +[ -z "$ALBUMNAME" ] && printf "Input the Album name:\nGuessed name is %s" "$ALBUMNAME_GUESS" && read ALBUMNAME +[ -z "$ALBUMNAME" ] && ALBUMNAME="$ALBUMNAME_GUESS" + +echo "$ALBUMNAME" + +# get the track number input +[ -z "$TRACKNUMBER" ] && printf "Input the track number:\nGuessed number is %s" "$TRACKNUMBER_GUESS" && read TRACKNUMBER +[ -z "$TRACKNUMBER" ] && TRACKNUMBER="$TRACKNUMBER_GUESS" + +echo "$TRACKNUMBER" + +# get the song name input +[ -z "$SONGNAME" ] && printf "Input the song name:\nGuessed name is %s" "$SONGNAME_GUESS" && read SONGNAME +[ -z "$SONGNAME" ] && SONGNAME="$SONGNAME_GUESS" + +echo "$SONGNAME" + +# get the year input +[ -z "$YEARNUMBER" ] && echo "Input the year number:" && read YEARNUMBER +[ ! -z "$YEARNUMBER" ] && mid3v2 -y "$YEARNUMBER" $FILENAME +# set tags for file +mid3v2 -a "$ARTISTNAME" -A "$ALBUMNAME" -t "$SONGNAME" -T "$TRACKNUMBER" $FILENAME -- cgit v1.2.3