summaryrefslogtreecommitdiffstats
path: root/flac2alac.sh
blob: ec28172908165385d33d7cf3f93dd363016b2f80 (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
#!/bin/sh

# Copyright (C) 2009 Elliott Baron

# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

function usage {
	echo "usage: $0 [-c cover_art] flac_file..."
	exit 0
}

if [ "$1" == "-c" ]; then
	if [ $# -ge 2 ]; then
		cover=$2
		shift 2
	else
		usage
	fi
fi
if [ $# -eq 0 ]; then
	usage
fi

basedir=`dirname $0`

for i in "$@"
do
	# Convert from FLAC to ALAC
	flac=$i
	alac=`basename "$flac" .flac`.m4a
	ffmpeg -y -i "$flac" -acodec alac "$alac"
	rc=$?
	if [ $rc -ne 0 ]; then
		exit $rc
	fi
	# Migrate tags
	$basedir/alac_copy_tags.py "$flac" "$alac"
	rc=$?
	if [ $rc -ne 0 ]; then
		exit $rc
	fi
	# Embed Album Art
	if [ ! -z "$cover" ]; then
		$basedir/alac_embed_art.py "$cover" "$alac"
		rc=$?
		if [ $rc -ne 0 ]; then
			exit $rc
		fi
	fi
done