summaryrefslogtreecommitdiffstats
path: root/tools/metadata
blob: 6f43e0118bf21e81588bb49eda423fa35cb8e478 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#!/bin/bash
#
# Date:    2009-12-10
# Author:  Ole Kristian Lien
# License: GNU General Public License
#
# Adds metadata to video/audio

# todo: fiks csv ext.. kan ikke være hardkodet..
# video og lyd, blir dobbelt av comments.. ikke bra - hvis funker, split opp if-ene!!!
# utf8- øæå funker dårlig

EXT=`echo "$1"|awk -F . '{print $NF}'`
BASENAME=`basename $1 .$EXT`

WHAT=`./csv $2 $BASENAME.dv what`
DATE=`./csv $2 $BASENAME.dv date`
LOCATION=`./csv $2 $BASENAME.dv location`
GENRE=`./csv $2 $BASENAME.dv genre`
TITLE=`./csv $2 $BASENAME.dv title`
NAME=`./csv $2 $BASENAME.dv name`
LICENSE=`./csv $2 $BASENAME.dv license`
ORGANIZATION=`./csv $2 $BASENAME.dv organization`
CONTACT=`./csv $2 $BASENAME.dv contact`
LANGUAGE=`./csv $2 $BASENAME.dv language`

if [ -z "$1" ]; then
	echo "Usage: $0 <video/audio-file> [<csv-file>]"
	exit 1
fi

./require oggz-comment || { exit 1; } #oggz-tools
./require id3tool || { exit 1; }
#./require vorbiscomment #vorbis-tools

if [ $EXT == "ogg" ] || [ $EXT == "ogv" ] || [ $EXT == "spx" ] || [ $EXT == "flac" ]; then
	if [ "$2" ]; then

		mv $1 $BASENAME-old.$EXT

		if [ $LICENSE == "cc-by-sa-3.0-no" ]; then
			LICENSE="http://creativecommons.org/licenses/by-sa/3.0/no/"
		fi

		if [ $LANGUAGE == "no" ]; then
			LANGUAGE="Norsk"
		fi

		if [ $LANGUAGE == "en" ]; then
			LANGUAGE="Engelsk"
		fi

		if [ $EXT == "ogg" ]; then
			CONTENT="vorbis"
		elif [ $EXT == "ogv" ]; then
			CONTENT="theora"
		elif [ $EXT == "spx" ]; then
			CONTENT="speex"
		elif [ $EXT == "flac" ]; then
			CONTENT="flac"
		fi

		echo -n " * Writing Ogg ($CONTENT) metadata..."
		oggz-comment $BASENAME-old.$EXT -o $1 --content-type $CONTENT \
			TITLE="$TITLE" \
			ALBUM="$WHAT" \
			ARTIST="$NAME" \
			PERFORMER="$NAME" \
			COPYRIGHT="$ORGANIZATION" \
			LICENSE="$LICENSE" \
			ORGANIZATION="$ORGANIZATION" \
			GENRE="$GENRE" \
			DATE="$DATE" \
			LOCATION="$LOCATION" \
			CONTACT="$CONTACT" \
			LANGUAGE="$LANGUAGE" \
			PUBLISHER="$ORGANIZATION" 

		echo -e "OK!"
# rm, mv

	else
		oggz-comment -l $1
	fi


elif [ $EXT == "mp3" ]; then
        if [ "$2" ]; then
		YEAR=`echo $DATE| cut -c1-4`

# notes feltet er for kort..
#		if [ $LICENSE == "cc-by-sa-3.0-no" ]; then
#		        LICENSE="http://creativecommons.org/licenses/by-sa/3.0/no/"
#		fi

		echo -n " * Writing mp3 (ID3) metadata..."
		cp $1 $BASENAME-old.$EXT

		id3tool $1 \
			--set-title="$TITLE" \
			--set-album="$WHAT" \
			--set-artist="$NAME" \
			--set-year="$YEAR" \
			--set-note="$LICENSE" \
			--set-genre-word="Speech"

		echo -e "OK!"
	else
		id3tool $1
	fi

else
	echo "File format is not supported yet."
fi