Pour changer les options du plugins, il y a plusieurs solutions, aucune aussi facile qu'avec rhythmbox malheureusement. Le principal problème qu'il n'y a pas une solutions qui marchera que gmb tourne ou non, à moins de faire un script qui combine 2 solutions évidement.
- si gmb ne tourne pas : le plus simple est de remplacer l'option dans le fichier gmbrc :
perl -wnpi -e 'if (m/PLUGIN_AUDIOSCROBBLER_USER:/) {$_="PLUGIN_AUDIOSCROBBLER_USER: user\n"} elsif (m/PLUGIN_AUDIOSCROBBLER_PASS:/) {$_="PLUGIN_AUDIOSCROBBLER_PASS: pass\n"} ' ~/.config/gmusicbrowser/gmbrc
- si gmb "tourne"
(Y a pas un autre mot pour ça ? à part "en cours d'exécution", c'est vrai que "tourne" est pas si différent de "running")Il faut exécuter ces 3 instructions :
$::Options{PLUGIN_AUDIOSCROBBLER_USER}="user";
$::Options{PLUGIN_AUDIOSCROBBLER_PASS}="pass";
GMB::Plugin::AUDIOSCROBBLER::userpass_changed();
ça peut être fait avec :
echo 'RunPerlCode($::Options{PLUGIN_AUDIOSCROBBLER_USER}="user"; $::Options{PLUGIN_AUDIOSCROBBLER_PASS}="pass"; GMB::Plugin::AUDIOSCROBBLER::userpass_changed();)' > ~/.config/gmusicbrowser/gmusicbrowser.fifo
(ou en passant par DBus)
ça peut aussi être fait avec un bouton dans layout, par exemple :
Button0(text=exemple, activate=RunPerlCode($::Options{PLUGIN_AUDIOSCROBBLER_USER}="user"; $::Options{PLUGIN_AUDIOSCROBBLER_PASS}="pass"; GMB::Plugin::AUDIOSCROBBLER::userpass_changed();))
(on peut mettre une icône avec l'option stock=)
ça serait encore mieux de faire 1 ou 2 toggle bouton qui bascule entre les 2, mais ça demande quelques lignes de code ailleurs que dans le layout
QuoteEt au passage, j'aimerais également scrobbler sur mon compte libre.fm en même temps que sur last.fm.
Pour ça, il suffit de faire une copie du plugin, et de remplacer les 3 "AUDIOSCROBBLER" par autre chose (pas besoin d'être des majuscules), ainsi que le "audioscrobbler.queue" (nom du fichier pour sauvegarder les scrobbles non envoyés) tout ça est au début du plugin.
Il faut bien sûr remplacer tout les "AUDIOSCROBBLER" dans les instructions ci-dessus et exécuter les instructions pour chaque plugins.
D'ailleurs ça peut aussi être une solution pour les 2 comptes, faire des plugins différents pour chaque compte, dans ce cas il faut utiliser les instructions :
::DeactivatePlugin('AUDIOSCROBBLER');
::ActivatePlugin('AUDIOSCROBBLER2');
C'est à dire : RunPerlCode(::DeactivatePlugin('AUDIOSCROBBLER'); ::ActivatePlugin('AUDIOSCROBBLER2');)
Ça a l'avantage d'utiliser des files d'attentes différentes pour soumettre les scrobbles, et donc d'éviter des mélanges s'il reste des chanson non-soumises lors du changement.
N'hésite pas à me demander plus de détails.