Tue 9 May 2006
This is my second amaroK script: amaroKopete. This script changes Kopete global nickname with a customized name based on current song information, and optionally allows to use the cover as global photo. There are some similar amaroK scripts but these scripts doesn’t change the nickname and the name isn’t customizable, so I made this script.
The customized nickname is built with a variables set that contains the information about the current song.
2006-05-10 a las 3.55 pm
Uso Kopete-0.10.3, Kde-3.4.2b y tu plugin… ejecutando el shell script… obtengo lo sig.:
~/.kde/share/apps/amarok/scripts/amaroKopete> sh -x ./amaroKopete
++ dirname ./amaroKopete
+ BASEDIR=.
++ which kmdr-executor
+ KMDR=/opt/kde3/bin/kmdr-executor
+ [[ -z /opt/kde3/bin/kmdr-executor ]]
+ trap default 0 1 2 5 15
+ [[ -f amarokopeterc ]]
+ configure
+ /opt/kde3/bin/kmdr-executor ./configure.kmdr
+ source amarokopeterc
++ PATTERN=’%a %t’
++ COVER=1
++ DEFNICK=
++ DEFPIC=
+ ‘[’ 1 ‘]’
+ read input
++ echo
++ sed -e ’s/engineStateChange:\ //’
+ input=
+ case “$input” in
+ ‘[’ 1 ‘]’
+ read input
++ echo
++ sed -e ’s/engineStateChange:\ //’
+ input=
+ case “$input” in
+ ‘[’ 1 ‘]’
+ read input
++ default
++ dcop kopete KopeteIface setGlobalNickname ”
no such function
++ [[ 1 -ne 0 ]]
Es mi version de Kopete algo antigua p/el API que necesita el plugin?
Saludos.
2006-05-10 a las 3.56 pm
Disculpa, apenas envie el texto, observe el requerimiento de Kde-3.5.x
2006-05-10 a las 10.32 pm
Buenas, la verdad es que el requerimiento ese no es tampoco muy visible, en la versión 1.1 que acabo de subir ya comprueba el propio script que se tenga instalada una versión apropiada de KDE.
Es una pena que en versiones inferiores a 3.5 no funcione, llevaba tiempo queriendo hacer un script que hiciese exactamente eso, pero hasta que el Kopete de KDE 3.5 trajo la identidad global y la llamada dcop para modificar el nick no pude hacerlo, por lo que es imposible hacerlo compatible para una versión anterior de KDE.
2006-05-11 a las 10.19 am
Ese es el gran problema de la evolución… pero bueno, que le vamos a hacer
Felicidades por el script, esta noche lo pruebo.
2006-05-12 a las 4.12 pm
Bien, el plugin de Khertz hizo que me actualizara a KDE3.5, y estoy feliz del esfuerzo. Pero obtuve los sig. sintomas.
Si ejecuto el script desde Amarok… el uso de procesador sube a 99 %.
Si lo ejecuto desde el shell (en el mismo directorio donde reside), obtengo lo sig.:
~/.kde/share/apps/amarok/scripts/amaroKopete> sh -x ./amaroKopete
++ dirname ./amaroKopete
+ BASEDIR=.
++ which kmdr-executor
+ KMDR=/opt/kde3/bin/kmdr-executor
+ [[ -z /opt/kde3/bin/kmdr-executor ]]
+ trap default 0 1 2 5 15
+ [[ -f amarokopeterc ]]
+ source amarokopeterc
++ PATTERN=’%a %t’
++ COVER=1
++ DEFNICK=
++ DEFPIC=
+ ‘[’ 1 ‘]’
+ read input
—-> [en este punto no cambia de estado, aun cdo. cambie PAUSE, PLAY, etc.]
—-> [luego de ctrl + c]
++ default
++ dcop kopete KopeteIface setGlobalNickname ”
++ [[ 1 -ne 0 ]]
++ dcop kopete KopeteIface setGlobalPhoto ”
++ default
—-> [luego de ctrl + c… LOOP]
PREGUNTA.
Debo ejcutar el script desde un directorio en particular (ej. home/Amarok).
Ideas?
Gracias.
2006-05-12 a las 7.50 pm
El script DEBE ser ejecutado desde dentro del amaroK, ya que éste le envía los comandos al script a través del stdin, por lo que por mucho que cambies de canción no cambiará de estado (salvo que teclees a mano ‘playing’, ‘paused’, etc. en la consola donde lo ejecutaste).
Ya me había dado cuenta que en ocasiones aparecían procesos de más que llamaban al ’sed’ sin parar, subiendo por lo tanto la carga y creo que encontré el error. El problema era que tras capturar señal de apagado el script no finalizaba, por lo que quedaba colgado.
Intentaré publicar esta noche la versión 1.2, con esa corrección.
2006-05-12 a las 8.39 pm
Gracias… ya estuve probando… con el INPUT. Esperare con ansias la version 1.2.
Saludos.
2006-05-13 a las 10.47 am
Ya está disponible la versión 1.2, pruébala y me cuentas si soluciona el problema.
2006-05-19 a las 1.54 pm
Bien muchas gracias por tu mejora…., ahora obtengo el AWAY correctamente (con variantes segun la cuenta: ICQ, MSN, etc.), mi unico inconveniente es con el COVER (este no aparece y oobviamente tampoco es generado en el directorio ~/.kde/share/apps/amarok/scripts-data/amarokopetepics).
Intentare modificando levemente el script y asi intentar salir del problema.
Saludos.
2006-05-19 a las 1.56 pm
Me olvide mencionar otra obviedad… el uso del procesador se normalizo!
2006-05-20 a las 11.46 am
Pues es bastante raro que no te salga lo de la portada, mira si sale algún error en registro de salida del script. También puede ser porque no tengas bien la configuración, ejecuta el configurador y sal pulsando en aceptar (para que regenere el fichero de configuración). En el fichero ~/.kde/share/apps/amarok/scripts-data/amarokoperc debería aparecer la linea: ‘COVER=1′.
2006-05-22 a las 6.28 pm
Habia observado previamente que estuviera bien configurado el archivo… y lo esta (creo):
# amaroKopete Settings
PATTERN=”Estoy escuchando ‘%t’ por ‘%a’, pista ‘%b’ del album ‘%m’ (%y)”
COVER=1
DEFNICK=”"
DEFPIC=”"
No encuentro el registro de salida del script, lo modificare p/que genere un archivo/registro por mi conocido.
Gracias.
2006-05-22 a las 8.05 pm
No debería tener que ver con el que se generen las imágenes, pero DEFNICK y DEFPIC no deberían estar vacías, ya se deja de reproducir música el script intentará cambiar el el nick y el avatar a esos valores.
El registro de salida te lo da el propio amaroK, tienes que ir al gestor de scripts y pulsar sobre el amaroKopete con el botón derecho, ahí te aparecerá un menú con dos opciones y una de ellas será ver el registro de salida; si no hay problemas ese registro debería estar vacío.
En cualquier caso cuando te cambie el nick vete en el kopete al menú “Preferencias -> Configurar…”, en el apartado de “Identidad” selecciona la pestaña “Fotografía”, ¿que aparece ahí?
2006-05-22 a las 9.19 pm
OK, voy a revisar todo lo aconsejado y posteare lo experimentado. Gracias.
2006-05-23 a las 4.29 pm
Defini las variables DEFNICK y DEFPIC segun el dialogo de configuracion (no vacias). En cuanto al registro… no muestra errores (click derecho -desconocia-). Intente mediante Kopete y en la pestania Fotografia, sino defino nada… no aparece el archivo defpic.png en el directorio donde lo busca, si le asigno uno global aparece el archivo pero el por mi definido.
Durante el cambio de pistas no genera ninguna archivo en el directorio ‘/home/cleyes/.kde/share/apps/kopete/globalidentitiespictures ‘~/.kde/share/apps/kopete/globalidentitiespictures/’.
2006-05-23 a las 4.31 pm
Olvide mencionar, creo, que obtengo la data de la pista en reproduccion… pero solo falta el COVER (de todas maneras lo reconfirmo). Muchas gracias por la cooperacion.
2006-05-23 a las 10.07 pm
La verdad es que esto empieza a ser raro :P. Bueno, en esos directorios que nombras, los del kopete, no aparecerá nada con toda seguridad, las imágenes deberían aparecer en ~/.kde/share/apps/amarok/scripts-data/amarokopetepics/’, concretamente son:
~/.kde/share/apps/amarok/scripts-data/amarokopetepic/covpic.png
~/.kde/share/apps/amarok/scripts-data/amarokopetepic/defpic.png
donde covpic.png es la imagen de la portada y defpic.png es la imagen por defecto, comprueba si existe, también haz:
$ ls -la ~/.kde/share/apps/amarok/scripts-data/
para ver si todos los permisos los tienes correctos.
2006-05-26 a las 2.18 pm
Resultados:
yo@notebook:~> ls -l ~/.kde/share/apps/amarok/scripts-data/amarokopetepics/
total 16
-rw-r–r– 1 yo users 16006 2006-05-26 10:55 defpic.png
yo@notebook:~> ls -la ~/.kde/share/apps/amarok/scripts-data/
total 9
drwx—— 3 yo users 144 2006-05-23 16:22 .
drwx—— 8 yo users 888 2006-05-26 11:11 ..
drwxr-xr-x 2 yo users 80 2006-05-23 15:50 amarokopetepics
-rw-r–r– 1 yo users 179 2006-05-26 10:55 amarokopeterc
-rw-r–r– 1 yo users 118 2006-05-26 10:19 config.conf
Algo incorrecto?
2006-05-29 a las 10.10 am
Buenas, sí que hay algo incorrecto, no existe el fichero de la cubierta :?. Creo que el fallo era lo que me suponía, faltaba por escapar una variable, otro usuario me confirmó también que ese era el fallo. Te envío por correo la versión corregida (que ya está subida a kde-apps), pruébala y dime si soluciona el problema.
2006-05-29 a las 1.28 pm
Espero no ser redundante, pero el problema se refiere a los PATHs con espacios o caracteres no comunes?, cdo. busca y quiere convertir las COVERS?.
Ya que cdo. escuchaba archivos sin COVERs si aparece el corresp. en KOPETE.
Ya estoy instalando la nueva version.
Gracias.
2006-05-29 a las 2.10 pm
Exactamente, las variables de tipo cadena siempre las entrecomillo cuando trabajo con ellas, pero en la parte donde hago la conversión de la imagen se me pasó ponerle el entrecomillado, por eso fallaba.
2006-09-20 a las 7.32 am
Saludos, este script es bastante bueno… acabo de dejar un comentario en la sección de KDE-Apps:
Hasta ahorita se me ocurrió darme una vuelta por la página oficial.
Muchas gracias por escribir algo tan fácil de usar y tan divertido…
2006-09-20 a las 8.02 am
Buenas, gracias por el comentario. La verdad es que no había usado los streams de last.fm en el amarok hasta ayer mismo y no lo he probado con el amaroKopete, me imagino que debería poderse hacer, le echaré un vistazo al asunto, aunque me parece un poco fallo por parte de amaroK que no use las mismas llamadas DCOP cuando reproduce flujos de datos de last.fm.
2006-09-20 a las 10.44 am
Bueno, creo que me aventuré demasiado al acusar al amaroK, lo he estado mirando y lo que sucede es lo siguiente:
1.- Cuando se inicia una radio de last.fm, primero aparece el nombre del flujo y al par de segundos carga los metadatos de la canción, de forma que en el momento que inicia la música (que es cuando se actualiza el nick) aún no tiene la información de la pista y por esa razón muestra el nombre del flujo, si pausas la reproducción y seguidamente le das a continuar refrescará el título correctamente.
2.- El amaroKopete refresca el título cuando se termina una canción y comienza a reproducirse la siguiente, en los streams la pista es siempre la misma, nunca termina, por lo que no refresca el título entre canciones.
3.- Lo que si es achacable al amaroK es el problema de la carátula, la llamada DCOP que debería devolver la ruta de la imagen responde dando la ruta de la imagen por defecto ‘nocover’.
Respecto a los dos primeros puntos se puede cambiar la forma en la que el amaroKopete detecta el cambio de la canción. Actualmente funciona bajo el evento ‘playing’, que es el que envía cuando comienza una pista. Existe un evento ‘trackChange’ que cuando hice el programa deseché su uso ya que este evento surgía varias veces a lo largo de la canción haciendo cambios innecesarios de nick, pero se podría utilizar para que funcionase con los flujos de last.fm, asumiendo como inevitable los eventos redundantes.
Con el problema de la imagen, al no disponer de llamada DCOP que nos lo indique, ya había que hacer algo más ‘artesanal’, pero en principio también puede haber solución, ya que la imagen es guardada en el directorio base de la configuración local del amaroK bajo el nombre de ‘lastfm_image.png’ (aunque no se como quedará ya que esta imagen ya tiene puesta la transparencia para la sobre que usa el amaroK con las carátulas).
Bueno, ya identificados los problemas ahora toca buscar las soluciones y (si son viables) implementarlas :-P.
2006-09-20 a las 11.33 am
Acabo de publicar una nueva versión que ya soporta las flujos de Last.fm. Aún así hay algún problemilla con la imagen, al no disponer de llamada DCOP que me indique la imagen descargada de Last.fm voy a ciegas y no tengo forma directa de manipularla, por lo que cuando una canción del flujo no dispone de carátula, el script es incapaz de saberlo y muestra la última carátula que hubo disponible en el flujo.
2007-11-18 a las 11.50 am
Muy bueno tu script…. aunke tengo un problema k kizas sepas resolver…. (confianza k me tomo..)
resulta k me cambia el nick y la imagen pero solo en el kopete… pregunto al que esta al otro lado con el msn y me dice k el me ve con el mismo nick e imagen de siempre…
please.. sabes de k puede ser?
(tampoco te comas el coco, solo hace falta k me respondas si sabes la solucion de otros casos)
thanks a lot…
2007-11-18 a las 1.57 pm
Pues realmente no se por qué sucede, parece que es algo de la caché de ciertos clientes de MSN. He probado que otros usuarios de kopete si ven el cambio inmediatamente pero en otras ocasiones, a los usuarios del cliente oficial para windows no se les refresca el cambio. Supongo que es algo relacionado con la caché porque he notado que normalmente, cerrando y volviendo a abrir las ventanas en ambos lados se actualizan el nick y el avatar. En cualquier caso no es cosa del script, pasaría lo mismo si cambias el nick y el avatar directamente en el kopete.
Siento no poder ser de más ayuda, tal vez deberías contactar con los desarrolladores del kopete.