[MPD] Mise à jour de la bdd en daemon (résolu)

Applications multimedia / jeux
galactose
archer
Messages : 135
Inscription : dim. 01 juil. 2007, 14:55

[MPD] Mise à jour de la bdd en daemon (résolu)

Message par galactose »

Bonjour,

J'ai un petit problème avec MPD. En effet je n'arrivais pas à mettre à jour la base de données à partir d'Ario alors j'ai essayé avec Sonata et rien. J'ai donc lancé un petit mpd --create-db qui m'a retourné une erreur comme quoi mpd était déjà lancé (enfin, que le port 6600 était déjà utilisé). Etant donné que c'est la 1ère fois que je l'utilise en daemon, j'ignorais cela. Donc pas de problème, /etc/rc.d/mpd stop et mpd --create-db, et hop !

Cependant, j'aimerais savoir s'il est possible de mettre la base de données à jour à partir d'un client une fois MPD lancé en daemon.

De plus auparavant, j'utilisais mpd sans le démarrer en daemon. Et je pouvais mettre la base à jour comme je voulais. Là, quand je lance mpd --create-db tout se passe comme si mpd était lancé en daemon : je peux le stopper, le redémarrer, et il marche avec le fichier /etc/mpd.conf. Comment cela se fait-il ? Surtout que du coup, une fois mpd --create-db lancé, je suis obligé de stopper mpd pour rafraîchir la base... Et en plus, je pensais qu'il fallait être en root pour lancer un daemon :?

Et je tiens à préciser que chercher sur google quelque chose sur le comportement d'un programme en daemon qui comporte justement le mot "daemon" dans son nom, c'est pas évident :roll:

Autre question, pas du tout importante : de quoi ai-je besoin pour afficher les notifications avec libnotify ? J'ai libnotify, mpd-libnotify et les dépendances installées, et j'ai activé libnotify dans les greffons de Ario. Et pourtant, rien ne s'affiche au changement de chanson (alors que ça marche avec tooltip). Y a-t-il un paquet caché dont j'ai besoin ?
Dernière modification par galactose le jeu. 17 juin 2010, 17:29, modifié 1 fois.
Avatar de l’utilisateur
veka
archer
Messages : 141
Inscription : sam. 21 nov. 2009, 11:36

Re: [MPD] Mise à jour de la bdd en daemon

Message par veka »

Bonjour galactose,

Il me semble que le principe même de MPD est de fonctionner comme une pair client-serveur.
Le serveur étant le programme MPD et le client étant le lecteur que tu utilise (ario, sonata, mpc, ncmpc, ... ) .
Il est souvent possible de séléctionné une option (chez le client) qui stop MPD a l'arret du client, mais le fonctionnement "standard" de MPD est bien un daemon.

Voila j'éspère ne pas avoir dit de bétise.

En se qui concerne ton problème de mise a jour de base de donée, je te conseil l'installation de mpc (client en ligne de commande pour MPD).

Code : Tout sélectionner

sudo pacman -S mpc
Et voici quelque commande de mpc :

Code : Tout sélectionner

Mise a jour de la base de données : mpc update
Lancer la lecture : mpc play
Jouer la chanson précédente : mpc next
Jouer la chanson suivante : mpc prev
Lecture si Pause ou Stop. Pause si Lecture : mpc toggle
Stopper la lecture : mpc stop
Volume +5% : mpc volume +5 
Volume -15% : mpc volume -15
...
Ps :
Cependant, j'aimerais savoir s'il est possible de mettre la base de données à jour à partir d'un client une fois MPD lancé en daemon.
Biensur tout les clients que j'ai testé le peuvent mais il est vrai que je n'ai jamais testé ario.
galactose
archer
Messages : 135
Inscription : dim. 01 juil. 2007, 14:55

Re: [MPD] Mise à jour de la bdd en daemon

Message par galactose »

Salut !

En fait je ne me suis pas très bien exprimé et tu n'as pas bien saisi mon problème.

Auparavant j'utilisais mpd en le lançant en ligne de commande. Je n'avais alors aucun problème. Mais j'ai voulu changer et lancer mpd en daemon dans mon rc.conf, de façon à ce qu'il soit toujours en marche dès le démarrage du pc. J'ai donc un /etc/mpd.conf comme ceci :

Code : Tout sélectionner

#################################################################################
# Fichiers et dossiers :
#
music_directory "/mnt/files/Olivier/Music"
playlist_directory "/home/olivier/.mpd/playlists"
db_file "/home/olivier/.mpd/mpd.db"
log_file "/home/olivier/.mpd/mpd.log"
error_file "/home/olivier/.mpd/mpd-error.log"
pid_file "/home/olivier/.mpd/mpd.pid"
#################################################################################


#################################################################################
# Connexion (facultatif) :
#
port "6600"

zeroconf_enabled		"yes"
zeroconf_name			"Music Player"
#################################################################################


#################################################################################
# Authentification (facultatif) :
#
user "olivier"

#password "mon_pass@read,add,control,admin"

default_permissions "read,add,control,admin"
#################################################################################
Auparavant la ligne password était active et default_permissions était à "read", mais j'ai changé ça parce que je pensais que le problème pouvait venir de là.

Et justement mon problème est que le seul moyen d'updater la base de données une fois mpd lancé en daemon, c'est de faire :

Code : Tout sélectionner

# /etc/rc.d/mpd stop
$ mpd --create-db
Et dans ce cas, la base est mise à jour et mpd est de nouveau lancé comme un daemon. D'ailleurs lancer mpd --create-db en user ne me permet pas non plus de rafraîchir la base de données par la suite, sauf en retapant ces deux commandes.

Quand j'update la base avec Ario, Sonata et mpc, il ne se passe rien. Et aucune erreur ne s'affiche dans mon terminal...

Evidemment, j'ai les droits utilisateur en lecture/écriture/exécution sur tous les fichiers concernés (j'ai même essayé un chmod 777 sur mpd.db et ça n'a rien changé...).

Une petite idée please ? :wink:


[EDIT] En fait si je supprime des dossiers ou que j'en ajoute, la mise à jour de la base marche très bien. Ce qui ne marche pas, c'est si je modifie les tags ID3 de mes fichiers... normal ??

[Re-EDIT] en fait une fois le problème bien identifié, ça a été simplissime de chercher une réponse sur le site de MPD. En fait le scanner de MPD scanne les fichiers dont la date de modification a été changée depuis le dernier scan : autrement dit les nouveaux fichiers, les fichiers supprimés, et les fichiers modifiés.

Hors le problème est que bon nombre d'éditeurs de tags conservent la date de dernière modification des fichiers, ce qui les rend invisibles lors de la mise à jour de la bdd avec MPD. Je ne sais pas pour les autres mais pour moi dans easytag il a suffit de modifier l'option "conserver la date de modification" dans les options, et maintenant tout roule :twisted:

Merci quand même :wink:
Avatar de l’utilisateur
CroK
Elfe
Messages : 607
Inscription : dim. 26 juil. 2009, 14:27
Localisation : France > Auxerre

Re: [MPD] Mise à jour de la bdd en daemon (résolu)

Message par CroK »

Pour update la db (en utilisant ncmpcpp) on peut appuyer sur la touche u.
Save the penguins, burn the flags ! -- c[] <- beeeeeeeeer!
nordinatueur
newbie
Messages : 1
Inscription : sam. 05 févr. 2011, 10:52

Re: [MPD] Mise à jour de la bdd en daemon (résolu)

Message par nordinatueur »

J'arrive tard, mais sinon

Code : Tout sélectionner

mpc update <dossier>
permet de mettre à jour un dossier...
où <dossier> est le chemin relatif du dossier par rapport au dossier de musiques.
De plus, pour ce que je connais de sonata, il permet de mettre à jour certains dossier (ce doit être pareil pour les autres) et lorsqu'il change les tags ID3, il les met directement à jour.
Répondre