#1 Le 08/04/2022, à 01:41
- soujaa
[Résolu ] Aide pour KDE-cover-thumbnailer
Bonsoir, Bonjour à tous
J’ai trouvé un script Kde-cover-thumbnailerqui permet d’afficher dans dolphin (KDE) les couvertures d’albums de musique comme Cover-Thumbnailer pour XFCE.
Avec mes modestes connaissances, j’ai pu modifier le script original pour afficher les dossiers contenant les fichiers folder.jpg, front.png etc
J’ai besoin d’aide pour pourvoir afficher une miniature pour le dossier contenant des sous-dossiers.
En effet, je classe les albums par artistes. Ainsi je n’ai pas d'aperçu pour le dossier de l’artiste, mais j’ai un aperçu pour les différents albums de l’artiste. Je n’ai aucune préférence pour la miniature de l’album qui représentera l’artiste.
Merci de votre aide.
Script kde-cover-thumbnailer
#!/bin/bash
# = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
#
# KDE COVER THUMBNAILER
# 2011 by JaiBee (http://www.321tux.de)
# Licence: http://creativecommons.org/licenses/by/3.0/deed.de
#
# = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
#
# Das Skript erstellt ansprechende Ordner-Icons in CD-Hüllen-Optik
# aus den Grafiken cover.jpg/png bzw. folder.jpg/png [Dolphin (KDE)].
#
# Das Template "KDE-cover-thumbnailer-template.png" basiert auf "JEWEL CASE PSD FILE"
# von "LeMarquis":
# http://lemarquis.deviantart.com/art/JEWEL-CASE-PSD-FILE-69316052 (CC BY-ND 3.0)
#
# = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
#
# This script generates shining folder icons of cover.jpg/png or folder.jpg/png [Dolphin (KDE)].
#
# The template "KDE-cover-thumbnailer-template.png" is based upon "JEWEL CASE PSD FILE"
# by "LeMarquis":
# http://lemarquis.deviantart.com/art/JEWEL-CASE-PSD-FILE-69316052 (CC BY-ND 3.0)
#
# = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
DIR="$HOME/Musique/" # Arbeitsverzeichnis | working directory
TEMPL="$(dirname $(readlink -f $0) )/KDE-cover-thumbnailer-template.png" # absoluter Pfad zum Template | absolute path to template
CASE=".case.png" # Dateiname der generierten CD-Hülle | filename of generated jewel case
SIZE="96" # Größe der CD-Hülle | size of jewel case
# 16 / 22 / 32 / 48 / 64 / 80 / 96 /
# 112 / 128 / 144 / 160 / 176 / 192 / 208 / 224 / 240 / 256
IFS=$'\12' # nicht ändern | do not change
echo -e "\033[1;34mKDE COVER THUMBNAILER\033[0m\n2011 by JaiBee, http://www.321tux.de\n"
while getopts "rcuh" opt
do
case $opt in
r) # [-r] aktuelles Verzeichnis verwenden | use current directory
DIR=$(pwd) ;;
c) # [-c] Cover aus den ID3-Tags der ersten MP3-Datei eines Ordners extrahieren und in cover.jpg umbenennen
# Read ID3 tags of the first MP3 file in each folder and extract the cover; then rename it to cover.jpg
which eyeD3 > /dev/null || { echo "Sie benötigen das Programm \"eyeD3\", um die Cover zu extrahieren." && exit 1 ; }
echo "Extrahiere ggf. Cover aus den ID3-Tags"
# Ordner mit MP3-Dateien finden | find folders that contain MP3 files
for mp3dir in $(find "$DIR" -iname *.mp3 -exec dirname {} \; | uniq); do
# wenn noch keine cover.jpg im MP3-Ordner existiert | if no cover.jpg exists already
if ! [ -f "$mp3dir/cover.jpg" ]; then
# erste MP3-Datei im Ordner finden | find first MP3 file
mp3="$(ls -1 $mp3dir | grep .mp3 | head -n1)"
# Cover aus der Datei in den Ordner schreiben | extract cover
eyeD3 -i $mp3dir "$mp3dir/$mp3" > /dev/null
# .jpeg-Grafik, die in der letzten Minute geändert wurde (= das Cover) in cover.jpg umbenennen
# rename jpeg image that was last modified one minute ago to cover.jpg
find "$mp3dir" -iname *.jpeg -mmin 1 -exec mv {} "$mp3dir/cover.jpg" \;
fi
done ;;
u) read -p "Alle \"$CASE\" werden gelöscht und \".directory\" in \"$DIR\" werden zurückgesetzt [Enter]"
# [-u] CD-Hüllen entfernen | remove jewel cases
find "$DIR" -name "$CASE" -delete
# .directory zurücksetzen | reset .directory
for i in $(find $DIR -name .directory); do sed -i '/Icon=/d' "$i"; done
exit ;;
h) echo -e "\033[4moptionale Optionen:\033[0m"
echo " -r aktuelles Verzeichnis verwenden (\"$(pwd)\")"
echo " -c Cover aus den ID3-Tags auslesen und als cover.jpg speichern"
echo " -u Thumbnails entfernen"
echo " -h Hilfe anzeigen"
exit;;
?) ;;
esac
done
which convert composite > /dev/null || { echo "Sie benötigen das Programm \"imagemagick\" zur Ausführung dieses Skriptes." && exit 1 ; }
! [ -f "$TEMPL" ] && echo "ERROR: \"$TEMPL\" existiert nicht" && exit 1
# Cover finden | find covers
for i in $(find "$DIR" -iname cover.jpg -o -iname cover.png -o -iname folder.jpg -o -iname folder.png -iname Cover.jpg -o -iname Cover.png -iname Front.jpg -o -iname Front.png -o -iname front.jpg -o -iname front.png -o -iname cover.jpeg -o -iname cover.png -o -iname folder.jpeg -o -iname folder.png -iname Cover.jpeg -o -iname Cover.png -iname Front.jpeg -o -iname Front.png -o -iname front.jpeg -o -iname front.png); do
cd $(dirname $i)
TMP=".tmp.$(basename $i)" # temporäre Datei | temporary file
echo "Betrete $(pwd)"
if ! [ -f "$CASE" ]; then
echo " generiere Case"
# Cover verkleinern und Hintergrund vergrößern (2x) | shrink cover and resize background (2x)
convert "$i" -resize 220x217! -gravity east -extent 252x224 -gravity west -extent 256x224 "$TMP"
# Template und Cover zusammensetzen | composite template and modified cover
composite -gravity East "$TEMPL" "$TMP" "$CASE"
# CD-Hülle verkleinern | resize jewel case
convert "$CASE" -resize $SIZE -background transparent -gravity south -extent ${SIZE}x$SIZE "$CASE"
rm "$TMP"
fi
# .directory erstellen, falls die Datei noch nicht existiert | create .directory if it not exists already
if ! [ -f .directory ] ; then
echo " erstelle .directory"
echo -e "[Desktop Entry]\nIcon=./$CASE" > .directory
else
# falls existierende .directory nicht das gewünschte Icon enthält | if existing .directory doesn't contain desired icon
if ! grep -q "Icon=./$CASE" .directory; then
echo " bearbeite .directory"
# wenn .directory ein anderes Icon enthält, wird dieses ersetzt (&&), ansonsten (||) wird der korrekte Eintrag angehängt
# if .directory contains another icon: replace it (&&); else: attach right entry (||)
grep -q "Icon=" .directory && sed -i 's/^Icon=.*/Icon=.\/'$CASE'/g' .directory \
|| echo -e "\n[Desktop Entry]\nIcon=./$CASE" >> .directory
fi
fi
done
Dernière modification par soujaa (Le 11/04/2022, à 02:47)
Hors ligne
#2 Le 08/04/2022, à 10:52
- eric63
Re : [Résolu ] Aide pour KDE-cover-thumbnailer
Salut
il me semble qu’à la base il fallait copier une des images d’un des sous dossiers (pour avoir le choix de l’image) dans le dossier de base pour ça résolve le problème
mais il est vrai que ça ne répond pas à ta question par le script
Kubuntu 24.10 X11 Plasma 6.1.5 KDE 6.6.0 Qt 6.6.2 noyau 6.11.0-14 Asus B760+D4 i5-12400F 4.4Ghz DDR4 32Go nvidia RTX 3060 12GB
Utilisez les drivers libres avant d’ installer une brother avec le script de demonipuch
J’utilise le clavier french AFNOR
Hors ligne
#3 Le 08/04/2022, à 23:29
- soujaa
Re : [Résolu ] Aide pour KDE-cover-thumbnailer
Salut
Effectivement, çà marche quand je copie une image d'un sous dossier dans le dossier. Merci pour cette astuce. L’Idéal serait que le script le fasse par lui même. Mais si j’ai pas d’autre solution je me conterai de copier tous a la main.
Merci....
Alors j attends avant de mettre résolu
Dernière modification par soujaa (Le 08/04/2022, à 23:35)
Hors ligne
#4 Le 11/04/2022, à 02:45
- soujaa
Re : [Résolu ] Aide pour KDE-cover-thumbnailer
Salut
Et merci @ eric63. Je me suis finalement résolu a copier les images une a une.
Hors ligne
#5 Le 11/04/2022, à 09:17
- Hizoka
Re : [Résolu ] Aide pour KDE-cover-thumbnailer
Salut,
je me permets de te faire un lien vers un de mes topics : https://forum.ubuntu-fr.org/viewtopic.php?id=2066805
C'est un générateur de vignette générique qui te permet de faire ce que tu veux et bien plus.
Il faut des notions bash.
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#6 Le 11/05/2022, à 00:01
- soujaa
Re : [Résolu ] Aide pour KDE-cover-thumbnailer
Salut,
je me permets de te faire un lien vers un de mes topics : https://forum.ubuntu-fr.org/viewtopic.php?id=2066805
C'est un générateur de vignette générique qui te permet de faire ce que tu veux et bien plus.
Il faut des notions bash.
Salut.
J'ai déjà lu ce topic. Mais, il faut avouer que c'est très difficile pour moi de le comprendre. Je viens d'installer la nouvelle Kubuntu 22.04. J'ai encore une fois échoué a faire fonctionner le Keneric. Alors, je suis revenu au petit script tout simple de KDE-cover-thumbnailer.
Désolé...
Hors ligne
#7 Le 11/05/2022, à 10:04
- Hizoka
Re : [Résolu ] Aide pour KDE-cover-thumbnailer
Si c'est ton seul besoin et que ce script te convient, utilise le
Keneric permet d'aller beaucoup plus loin mais demande un peu de temps pour sa compréhension ainsi que quelques compétences en bash.
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne