Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/03/2010, à 19:40

Lapogne71

[Script] pour générer récursivement des playlist m3u

Je fais profiter d'un script que j'ai écrit pour générer une playlist m3u dans chaque répertoire de ma "collection" d'albums mp3/ogg/flac. (en attendant que le format libre xspf soit mieux géré par les outils disponibles).

Lien pour le script : dir-to-m3u_0.01.sh

Et une petite capture :

dir-to-m3u.png


Pour rappeler comment utiliser ce script :

- copier le script dans le dossier contenant les dossiers à traiter
- ouvrir un terminal et se placer dans ce dossier
- exécuter la commande

bash nom_du_script.sh

Je ne gère pas les chemins dans mon script, il faut donc le copier dans le dossier contenant les dossiers à traiter ... (ce qui évite aussi d'avoir à entrer des chemins en argument dans la ligne de commande)

Hors ligne

#2 Le 22/03/2014, à 09:54

cinaptix

Re : [Script] pour générer récursivement des playlist m3u

Je déterre un peu ce post pour remercier l'auteur de ce script qui fonctionne parfaitement.


↔ Libriste radicalisé depuis mai 2007 ↔
① - Xubuntu 20.04 - CM Gigabyte GA-B85M-D3H - Pentium G3420 à 3,2 Ghz - RAM 8 Go à 1600 Mhz - SSD 64 Go + HDD 500 Go.
② - Raspberry Pi 3 (Raspbian Stretch) — ③ - Tablette Lenovo 10' (Android 10) — ④ - Smartphone Honor 9A (dégooglisé)

Hors ligne

#3 Le 30/12/2020, à 02:20

l e . n o x

Re : [Script] pour générer récursivement des playlist m3u

cinaptix a écrit :

Je déterre un peu ce post pour remercier l'auteur de ce script qui fonctionne parfaitement.

+1

#!/bin/bash

VERSION="v0.01"

#---------------------------------------------------------------------------------------
# Ce script permet de lancer en boucle l'utilitaire "fapg" qui génére
# des playlists au format m3u (entre autres...)
# Pour supprimer tout les m3u si on veut relancer le script avec d'autres paramètres :
# find . -name '*.m3u' -type f -print -exec rm {} \;
#---------------------------------------------------------------------------------------


# ici c'est les couleurs du texte affiché dans le shell
RED="\\033[1;31m" 
NORMAL="\\033[0;39m" 
BLUE="\\033[1;36m"
GREEN="\\033[1;32m"

# le nom que l'on veut donner à la playlist
NOM_FICHIER_M3U="00-PLAYLIST.m3u"

#---------------------------------------------------------------------------------------
echo
echo -e "$GREEN $0 $NORMAL	$VERSION"
echo

echo "----------------------------------------------------------
 Ce script permet de lancer en boucle l'utilitaire fapg
 qui génére des playlists au format m3u (entre autres...)
----------------------------------------------------------"

# On vérifie si l'utilitaire fapg est bien installé
chemin=`which fapg 2> /dev/null`
if [ -z "$chemin" ] ; then
	echo -e "$RED ERREUR : fapg n'est pas installé, veuillez l'installer en tapant : "
	echo
	echo -e "$BLUE 	  sudo apt-get install fapg "
	echo
	echo -e "$RED 	==> sortie du programme "
	echo
	echo -e "$NORMAL "
	exit 1
fi


echo 
echo -e $GREEN "Pour supprimer récursivement tout les m3u (si on veut
 modifier le script et le relancer) : "$NORMAL
echo
echo -e $RED "     find . -name '*.m3u' -type f -print -exec rm {} \; "$NORMAL
echo

# recupere la liste des repertoires à scanner
RACINE=`pwd`
echo -e $BLUE "Dossier racine : $GREEN$RACINE" $NORMAL
echo
echo -e $RED "Playlists crées dans les répertoires suivants : " $NORMAL
echo

#DEBUG read toto

find * -type d |
    while read dir
    do
#DEBUG	echo "$dir"

#	va dans chaque repertoire pour scanner les fichiers audio
	cd "$RACINE/$dir"
	
# 	compte le nombre de mp3/ogg, puis de flac (en attendant que fapg supporte flac)
	NBR_MP3=`ls *.mp3 2>/dev/null | wc -l`
	NBR_OGG=`ls *.ogg 2>/dev/null | wc -l`
	NBR_FLAC=`ls *.flac 2>/dev/null | wc -l`

#	genere la liste dans le repertoire et ecrit le nom du répertoire à l'écran

#	pour les albums en mp3
	if [ $NBR_MP3 -gt 0 ];then
#		fapg --output="$dir".m3u .
		fapg --output=$NOM_FICHIER_M3U .
		echo -e -n $BLUE "MP3  : "$NORMAL
		pwd
	fi
	
	if [ $NBR_OGG -gt 0 ];then

#		fapg --output="$dir".m3u .
		fapg --output=$NOM_FICHIER_M3U .
		echo -e -n $BLUE "OGG  : "$NORMAL
		pwd
	fi
	
#	pour les albums en flac
	if [ $NBR_FLAC -gt 0 ];then
		ls *.flac > $NOM_FICHIER_M3U
		echo -e -n $BLUE "FLAC : "$NORMAL
		pwd
	fi
	
    done
echo
exit 0

Zik Fan : " Vous seul savez mieux que quiconque comment organiser votre bibliothèque musicale ! "

Linux, y a moins bien.
Mais c'est plus cher. ;O)

Hors ligne

#4 Le 30/12/2020, à 08:34

Watael

Re : [Script] pour générer récursivement des playlist m3u

cadeau : vu que c'est les Fêtes, et que le script fait de jolies couleurs, je n'en dirai rien.

EDIT : finalement, je ne dirai pas rien, parce qu'il y a, entre autres, ça :

		ls *.flac > $NOM_FICHIER_M3U

et ça, après avoir lancé deux fois fapg (c'est une fois de trop), ça écrase le fichier .m3u précédemment créer pour les .ogg et les .mp3
en plus d'utiliser ls, et de ne pas mettre les Développements de variables entre guillemets.

on pourrait se contenter d'un "simple" : find ./ -type f \( -iname '*.mp3' -o -iname "*.ogg' -o -iname '*.flac' \) -execdir fapg -o 00-playlist.m3u {} \;, non ?

EDIT2 : et puis, allez ! un petit coup pour la route : déterrer une discussion vieille de 6 ans pour afficher un script aussi... coloré hmm

Dernière modification par Watael (Le 30/12/2020, à 11:18)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne