Ras' a écritPoste directement sur le topic son créateur regardera
C'est fait 🙂
Sinon, je viens de trouver 2 scripts bash qui fonctionnent, le problème c'est qu'on dirait que ça télécharge un album aléatoirement, et je ne vois pas ce qu'il faut modifier pour prendre en compte un album en particulier...
Voici :
Script flacmendo
#!/bin/bash
# deps: bash, curl, sed, metaflac, jq
# remember to insert your own application client id (see CLIENTID below)
# to get an application client id register at http://developer.jamendo.com
set -e
set -u
function filtername() {
tr -cs "[:alnum:] \-&\(\)\?!" _
}
function j() {
echo -n "$1" | jq -r "$2"
}
CLIENTID="YOUR_CLIENT_ID"
ALBUMID=$(echo "$1" | sed -e 's/.\+\/list\/a\([0-9]\+\)\/.\+$/\1/')
BASEURL="http://api.jamendo.com/v3.0"
JSON=$(curl -s "$BASEURL/albums/tracks?client_id=$CLIENTID&format=json&limit=1&id=$ALBUMID&imagesize=500&audioformat=flac")
DATA=$(j "$JSON" '.results[0]')
IMGURL=$(j "$DATA" '.image')
ARTIST=$(j "$DATA" '.artist_name')
ALBUM=$(j "$DATA" '.name')
RELEASEDATE=$(j "$DATA" '.releasedate')
ALBUMDIR=$(echo -n "$ARTIST - $ALBUM" | filtername)
TRACKS=$(j "$JSON" '.results[0].tracks')
LENGTH=$(j "$TRACKS" '.|length')
PADLENGTH=$(printf %02d $LENGTH)
echo "$ARTIST - $ALBUM"
echo "Creating directory..."
mkdir -p "$ALBUMDIR"
cd "$ALBUMDIR"
echo "Saving album cover..."
curl -s -z folder.jpg -o folder.jpg "$IMGURL"
for ((i=0; i<$LENGTH; i++)); do
TRACK=$(j "$TRACKS" ".[$i]")
NAME=$(j "$TRACK" '.name')
POS=$(printf "%02d\n" $(j "$TRACK" '.position'))
FILENAME=$(echo -n "$POS - $ARTIST - $NAME" | filtername)".flac"
FILEURL=$(j "$TRACK" '.audiodownload')
LICENSEURL=$(j "$TRACK" '.license_ccurl')
echo "Downloading \"$NAME\"..."
curl --progress-bar -o "$FILENAME" "$FILEURL"
echo -ne "\r\033[1A\033[0K\r"
metaflac --remove-all-tags \
--set-tag="ARTIST=$ARTIST" \
--set-tag="TITLE=$NAME" \
--set-tag="ALBUM=$ALBUM" \
--set-tag="LICENSE=$LICENSEURL" \
--set-tag="COPYRIGHT=$LICENSEURL" \
--set-tag="TRACKNUMBER=$POS" \
--set-tag="TRACKTOTAL=$PADLENGTH" \
--set-tag="DATE=$RELEASEDATE" \
--set-tag="DISCNUMBER=1" \
--import-picture-from="folder.jpg" \
"$FILENAME"
done
Script jamendo-dl
#!/bin/bash
# Download Jamendo album (single tracks not supported yet) in FLAC format (YA RLY!)
inurl="$1"
albumid="`echo "$inurl" | sed -e 's/.\+\/list\/a\([0-9]\+\)\/.\+$/\1/'`"
foldername="`echo "$inurl" | sed -e 's/.\+\/list\/a\([0-9]\+\)\/\(.\+\)$/\1_\2/'`"
# get metadata
artist_name="`wget -O - -q "http://api.jamendo.com/get2/artist_name/album/plain/?album_id=$albumid"`"
album_name="`wget -O - -q "http://api.jamendo.com/get2/name/album/plain/?album_id=$albumid"`"
#echo "$albumid $foldername" #debug
targetdir="./$foldername"
mkdir -p "$targetdir"
trackn=1
( wget -O - -q "http://api.jamendo.com/get2/stream+name/track/plain/album_track/?n=100&order=numalbum_asc&streamencoding=flac&album_id=$albumid"; echo '' ) | while read track_url track_name; do
#sleep 2
if [ "x$track_url" == "x" ]; then
break
fi
track_name_safe="`echo "$track_name" | tr -c 'a-zA-Z0-9' '_'`"
tracknp=$trackn
if [ $trackn -lt 10 ]; then
tracknp=0$trackn
fi
trackfile="$targetdir/${tracknp}_${track_name_safe}.flac"
wget -c -O $trackfile "$track_url"
# set metadata
metaflac --set-tag="TITLE=$track_name" --set-tag="ARTIST=$artist_name"\
--set-tag="ALBUM=$album_name" --set-tag="TRACKNUMBER=$trackn" $trackfile
trackn=$[$trackn+1]
done