m3utospl
m3utospl
a pour but de transformer une liste de lecture au format m3u
dans le format spl
. Tout comme mp3cover et mp3resample, il peut servir pour transformer des fichiers mp3 pour les rendre plus pratiques à utiliser sur un lecteur mp3 comme le YP-P2 de Samsung.
m3utospl
est distribué sous licence libre CeCILL.
Une fois le fichier téléchargé, vous devez
sudo mv m3utospl /usr/local/bin/
sudo chmod +x /usr/local/bin/m3utospl
Ce logiciel nécessite l'utilisation de l'utilitaire unix2dos
, installable sous Ubuntu ou Debian par
sudo aptitude install tofrodos
$ m3utospl -h Usage : m3utospl fichier.m3u [rep_local] [rep_lect] m3utospl -h Transforme une liste de lecture fichier.m3u en un format fichier.spl, compatible avec certains lecteurs mp3. Le fichier fichier.m3u n'est pas modifié. Dans le fichier spl, le répertoire racine des fichiers musicaux sur l'ordinateur rep_local est remplacé par son équivalent sur le lecteur mp3 rep_lect. Les séparateurs de répertoires sont transformés en séparateurs Windows \, le fichier spl est encodé en UTF-16 et les retours à la ligne sont transformés grâce à l'utilitaire unix2dos qui doit donc être installé. Valeurs actuelles par défaut : rep_local : /home/musique/ rep_lect : /music/
#!/bin/bash # This software is governed by the CeCILL license under French law and # abiding by the rules of distribution of free software. You can use, # modify and/ or redistribute the software under the terms of the CeCILL # license as circulated by CEA, CNRS and INRIA at the following URL # "http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt". # # Ce logiciel est régi par la licence CeCILL soumise au droit français et # respectant les principes de diffusion des logiciels libres. Vous pouvez # utiliser, modifier et/ou redistribuer ce programme sous les conditions # de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA # à l'adresse "http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt". # # Copyright Cyril Ravat, <ravat@free.fr> (2007-2009) # Website : http://www.cyril-ravat.fr/scripts/mp3utospl.php # Help : m3utospl -h # Répertoire "racine" des fichiers musicaux sur l'ordinateur REP_LOCAL="/home/musique/" # Répertoire "racine" des fichiers musicaux sur le lecteur mp3 REP_LECT="/music/" if [ "$1" == "-h" ]; then echo -e "Usage : $(basename "$0") \033[1mfichier.m3u\033[0m [\033[1mrep_local\033[0m] [\033[1mrep_lect\033[0m]" echo " $(basename "$0") -h" echo echo -e "Transforme une liste de lecture \033[1mfichier.m3u\033[0m en un format fichier.spl, compatible" echo -e "avec certains lecteurs mp3." echo echo -e "Le fichier \033[1mfichier.m3u\033[0m n'est pas modifié. Dans le fichier spl, le répertoire" echo -e "racine des fichiers musicaux sur l'ordinateur \033[1mrep_local\033[0m est remplacé par son" echo -e "équivalent sur le lecteur mp3 \033[1mrep_lect\033[0m." echo "Les séparateurs de répertoires sont transformés en séparateurs Windows \, le" echo "fichier spl est encodé en UTF-16 et les retours à la ligne sont transformés" echo -e "grâce à l'utilitaire \033[1munix2dos\033[0m qui doit donc être installé." echo echo "Valeurs actuelles par défaut :" echo -e "\033[1mrep_local\033[0m : $REP_LOCAL" echo -e "\033[1mrep_lect\033[0m : $REP_LECT" echo exit 0 fi # Vérifications de l'existence du fichier mp3 et de unix2dos [ ! -e "$1" ] && echo "Le fichier $1 n'existe pas." && exit 1 if [ -z `which unix2dos` ]; then echo -e "L'utilitaire \033[1munix2dos\033[0m n'existe pas. Il faut installer le paquet \033[1mtofrodos\033[0m." exit 1 fi # Définition des variables PLAYLIST="${1%.m3u}.spl" TMP=/tmp/$RANDOM [ -n "$2" ] && REP_LOCAL="$2" [ -n "$3" ] && REP_LECT="$3" REP_LOCAL=$(echo "${REP_LOCAL%/}/" | tr '/' '|') REP_LECT=$(echo "${REP_LECT%/}/" | tr '/' '|') # Dans fichier.spl, l'entête, le corps et le pied de liste echo -e "SPL PLAYLIST\nVERSION 1.00\n" > "$PLAYLIST" cat "$1" >> "$PLAYLIST" echo -ne "\n\nEND PLAYLIST" >> "$PLAYLIST" # Remplacement des répertoires sed -i "s/\//|/g ; s/$REP_LOCAL/$REP_LECT/ ; s/|/\\\\/g" "$PLAYLIST" # Transformations unix2dos "$PLAYLIST" iconv -f latin1 -t utf16 "$PLAYLIST" > $TMP mv $TMP "$PLAYLIST"