diff --git a/README b/README new file mode 100644 index 0000000..f529a50 --- /dev/null +++ b/README @@ -0,0 +1,26 @@ +================== +*** EditVorbis *** +================== +A shell script to allow you to edit vorbis tags using your favorite +editor. + +# Dependencies +-------------- +To use this script you will require the `vorbiscomment' tool. + +# Installation +-------------- +To install, you can use the `install.sh' script. This will install the +script as `$PREFIX/bin/editvorbis'. `$PREFIX' is an environment variable +that can be set, and is assigned to `/usr' by default (you may want to +use `/usr/local' instead). + +# Usage +------- +Run the script with the `-h' option to get help information. + +# License +--------- +This script is licensed under the terms and conditions of the GNU +Affero General Public License version 3 or greater (see +`LICENSE' file for more information). diff --git a/README.md b/README.md deleted file mode 100644 index b6262f5..0000000 --- a/README.md +++ /dev/null @@ -1,13 +0,0 @@ -EditVorbis -========== -Edit vorbis tags using your favorite editor, you'll need to install `vorbiscomment`. - -Usage ------ -``` -editvorbis my_song.ogg -``` - -License -------- -This script is licensed under the terms and conditions of the [GNU Affero General Public License version 3 or greater](/LICENSE). diff --git a/editvorbis.sh b/editvorbis.sh index 71b3c93..7bf6fef 100755 --- a/editvorbis.sh +++ b/editvorbis.sh @@ -16,8 +16,62 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -mkdir -p /tmp/editvorbis/ -vorbiscomment "$1" > /tmp/editvorbis/comment.txt -$EDITOR /tmp/editvorbis/comment.txt -vorbiscomment -w -c /tmp/editvorbis/comment.txt "$1" -rm -rf /tmp/editvorbis/ +# constants +APPNAME="editvorbis" +VERSION="v2.0" + +# helper functions +function print_usage { + echo "Usage: $0 " + echo "Usage: $0 -h | -v" +} + +function print_info { + echo "$APPNAME $VERSION" + echo "Script for editing vorbis tags with your favorite editor." +} + +# check number of arguments +if [ $# -ne 1 ]; then + echo "Wrong number of arguments." + print_usage + exit 1 +fi + +# show help information +if [ "$1" == "-h" ]; then + print_info + print_usage + echo " File to edit tags." + echo " -h Show this help information." + echo " -v Show script version." + exit 0 +fi + +# print version +if [ "$1" == "-v" ]; then + echo "$APPNAME $VERSION" + exit 0 +fi + +# check if vorbiscomment is installed +command -v vorbiscomment > /dev/null +if [ $? == 1 ]; then + echo "Could not find vorbiscomment command in your PATH. Maybe it's not installed?" + exit 1 +fi + +# check if the file exists +if [ ! -f $1 ]; then + echo "Regular file $1 does not exist." + exit 1 +fi + +TMPDIR="/tmp/editvorbis" +TAGFILE="$TMPDIR/$1.txt" + +mkdir -p $TMPDIR +vorbiscomment "$1" > "$TAGFILE" +$EDITOR "$TAGFILE" +vorbiscomment -w -c "$TAGFILE" "$1" +rm -rf $TMPDIR