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 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

1649378419.png

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 23.10 - WAYLAND- 64 bits + backports bêta = plasma 5.27.10 KDE 5.112.0 Qt 5.15.10 et noyau 6.5.0-17  4x intel i5-4570 3.2Ghz 12Go nvidia GTX 1060 6GB 3écrans
Comment installer une brother avec le script de demonipuch

J’utilise le clavier french AFNOR de chez LDLC c‘est fort

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 big_smile

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

Hizoka a écrit :

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 smile

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