Capítol 7. Varis

Temes que no encaixaven en cap altre lloc, com una Barra d'ànim, l'Amarok en altres plataformes, solució de problemes, problemes habituals i PMF:

La barra d'ànim

La Barra d'ànim us mostra l'«estat d'ànim» d'una peça, que podeu utilitzar per a esbrinar quan passa alguna cosa interessant a la cançó.

Per tal que l'Amarok mostri barres d'ànim de la música, necessitareu el programa Moodbar (vegeu més avall les baixades i els paquets binaris).

El paquet Moodbar requereix el GStreamer i diversos connectors depenent dels tipus de fitxer que utilitzeu (vegeu Tipus de fitxer compatibles). No necessitareu el paquet «phonon-backend-gstreamer» per a crear fitxers «.mood».

Hi ha dues parts a la implementació nova de la Barra d'ànim: el paquet Moodbar, que conté un programa que pren un fitxer de música i genera un fitxer «.mood», i la implementació del codi font de l'Amarok, que executa el binari i mostra la Barra d'ànim. El paquet Moodbar depèn de les biblioteques del GStreamer. Sense el paquet Moodbar, l'Amarok no pot generar les barres d'ànim de la música.

Com a alternativa, hi ha un script nou que crearà fitxers de barra d'ànim per a les peces en una llista de reproducció de l'Amarok això és una excepció a l'anterior. L'script no necessita més que l'Amarok per a funcionar, però només crea els fitxers «.mood» quan es reprodueixen a la Llista de reproducció.

La Barra d'ànim és gràcies al treball de Gavin Wood i Simon O'Keefe, que van dissenyar els algoritmes; el seu document original és aquí.

Resum dels requisits

  • El binari Moodbar, en el vostre PATH (s'ha de llistar en executar which moodbar des d'una consola). Recordeu configurar el paquet Moodbar amb el camí adequat, p. ex., construir i instal·lar amb les ordres ./autogen.sh --prefix=`pkg-config --variable=prefix gstreamer-1.0` && make && sudo make install

  • La biblioteca GStreamer 1.0 i els connectors per als formats que voleu que pugui analitzar la Barra d'ànim. (Una versió anterior basada en el GStreamer 0.10 també està disponible per a algunes distribucions)

  • La biblioteca Transformada de Fourier més ràpida de l'Oest (fftw.org) FFTW versió 3.0 o superior (almenys una versió de coma flotant de precisió simple - libfftw3f). Si la vostra plataforma no us proporciona això o heu de compilar la vostra pròpia versió, recordeu configurar el paquet FFTW amb ./configure --enable-single

  • Una versió de l'Amarok amb una opció Usa els estats d'ànim a la secció General de la pantalla de configuració. Això vol dir 1.4.4 o superior en la sèrie 1.4 o 2.2.2 o superior en la sèrie 2.x.

Nota

Els sistemes amb gestors de paquets haurien d'instal·lar automàticament els connectors GStreamer i FFTW juntament amb el paquet Moodbar si estan disponibles; aquesta informació es proporciona principalment per a les persones que vulguin o necessitin compilar des del codi font o instal·lar manualment els paquets, o on les instruccions específiques de la distribució estan obsoletes i encara no hi ha cap paquet actualitzat de la barra d'ànim.

Ús

Actualment, els fitxers «.mood» cal que es generin manualment. L'Amarok no pot fer-ho per vós. Per a fer això per a tota la vostra col·lecció, utilitzeu l'script de generació de fitxers Script de generació de barra d'ànim descrit a continuació.

Per a activar la visualització de barres d'ànim a l'Amarok, activeu-ho en la configuració: ArranjamentConfigura l'AmarokGeneralMostra la barra d'ànim en el control lliscant de progrés. Les barres d'ànim haurien d'aparèixer ara als controls lliscants de la peça a la finestra del reproductor i la Llista de reproducció; també hi haurà un camp d'ànim que podeu afegir als formats de la llista de reproducció.

Instal·lació

Baixada del codi font

Publicació més recent: moodbar-0.1.4.tar.gz. Aquest és el paquet de codi font del «moodbar», que conté el programa Moodbar (que genera fitxers «.mood» a partir de fitxers de música), i un connector del GStreamer que fa el treball. El paquet Moodbar necessita el GStreamer 1.0.* instal·lat, més la versió 1.0.* de diversos connectors. Assegureu-vos d'instal·lar el paquet Moodbar al mateix prefix que el GStreamer. Seguiu les instruccions del resum del capítol de requisits. La 0.1.4 és una bifurcació del codi font original de la 0.1.2, actualitzada per a utilitzar el GStreamer 1.0. El codi font antic de la 0.1.2 ja no està disponible de manera fiable en línia, però els paquets podrien estar encara disponibles en algunes distribucions.

Si trobeu algun error, envieu un informe d'error a bugs.kde.org.

Paquets de Debian

Nota

Aquesta secció conté les instruccions antigues per al GStreamer 0.10 basat en el «moodbar» versió 0.1.2, podrien ser obsolets.

Ara està disponible un paquet per a Moodbar en Debian inestable. Executeu simplement apt-get install moodbar. És probable que també vulgueu instal·lar gstreamer0.10-plugins-ugly, gstreamer0.10-plugins-good i gstreamer0.10-plugins-bad per al suport de formats.

Paquets de Kubuntu i Ubuntu

Nota

Aquesta secció conté les instruccions antigues per al GStreamer 0.10 basat en el «moodbar» versió 0.1.2, podrien ser obsolets.

Hi ha disponible un paquet per a Moodbar al repositori oficial de paquets; només assegureu-vos que la secció «universe» està activada (la qual hauria d'estar-ho de manera predeterminada de totes maneres). Instal·leu el paquet «moodbar» amb el vostre gestor preferit de paquets (Kpackagekit,Aptitude,Adept,Synaptic). És probable que també vulgueu instal·lar el gstreamer0.10-plugins-ugly, gstreamer0.10-plugins-good, i gstreamer0.10-plugins-bad per al suport de format.

O, per a instal·lar, enganxeu això al Firefox o el Konqueror i premeu Retorn.

apt://moodbar,gstreamer0.10-plugins-ugly,gstreamer0.10-plugins-good,gstreamer0.10-plugins-bad?section=universe?refresh=yep

«ebuilds» de Gentoo

Nota

Aquesta secció conté les instruccions antigues per al GStreamer 0.10 basat en el «moodbar» versió 0.1.2, podrien ser obsolets.

El Moodbar està disponible al Portage, simplement emerge moodbar. Ja no es requereixen «ebuilds» no oficials.

Construccions RPM

Nota

Aquesta secció conté les instruccions antigues per al GStreamer 0.10 basat en el «moodbar» versió 0.1.2, podrien ser obsolets

Si sou un usuari de distribucions basades en «rpm», podeu construir un .rpm utilitzant «rpmbuild» amb l'última

gstreamer-plugins-moodbar.spec. El paquet binari aviat estarà disponible per a la distribució PLD-linux.

Fedora

Nota

Aquesta secció conté les instruccions antigues per al GStreamer 0.10 basat en el «moodbar» versió 0.1.2, podrien ser obsolets.

Al Fedora 7 i superior (fins a 16 en el moment d'escriure-ho) el Moodbar és disponible en els repositoris predeterminats. Simplement instal·leu-lo amb la IGU del PackageKit o amb l'ordre següent del «yum»:

yum install moodbar

Paquets openSUSE

La versió 0.1.4 basada en el GStreamer 1.0 està disponible al repositori KDE:Extra per a l'openSUSE Leap 42.3 i posterior. Una versió 0.1.2 anterior basada en el GStreamer 0.10 també està disponible al repositori principal per a algunes versions de l'openSUSE.

Per a més detalls sobre com afegir repositoris, vegeu el wiki de l'openSUSE.

Instal·lació d'1 clic per a l'openSUSE: només cal triar la vostra versió i el procediment d'instal·lació farà la resta:

Paquets de Mandriva

Nota

Aquesta secció conté les instruccions antigues per al GStreamer 0.10 basat en el «moodbar» versió 0.1.2, podrien ser obsolets.

En primer lloc, cal afegir els repositoris PLF, així que visiteu easyurpmi.zarb.org i afegiu-los a la llista de repositoris.

Llavors simplement instal·leu els paquets següents:

  • gstreamer0.10-moodbar

  • gstreamer0.10-plugins-ugly

  • gstreamer0.10-plugins-good

  • gstreamer0.10-plugins-bad

Arch Linux®

Nota

Aquesta secció conté les instruccions antigues per al GStreamer 0.10 basat en el «moodbar» versió 0.1.2, podrien ser obsolets.

Hi ha un PKGBUILD per al Moodbar en el Repositori d'usuari d'Arch (AUR) disponible aquí.

Per a obtenir més informació sobre l'AUR i el funcionament amb els PKGBUILD, vegeu les Directrius d'usuari d'AUR.

FreeBSD

Nota

Aquesta secció conté les instruccions antigues per al GStreamer 0.10 basat en el «moodbar» versió 0.1.2, podrien ser obsolets.

Hi ha una adaptació: audio/gstreamer-plugins-moodbar aquí.

Per a instal·lar l'adaptació: cd /usr/ports/audio/gstreamer-plugins-moodbar/ && make install clean

Per a afegir el paquet: pkg_add -r gstreamer-plugins-moodbar

Script de generació de fitxers de la Barra d'ànim

Aquí hi ha un script bash senzill que afegirà fitxers «.mood» a tota la col·lecció. Afegeix fitxers d'estat d'ànim per a tots els fitxers que coincideixen amb les extensions del directori actual i tots els subdirectoris, així que és millor que s'executi des de la base del vostre directori de música.

#!/bin/bash
 DIR=${1:-.}
 LAST=~/.moodbar-lastreadsong
 C_RET=0
 control_c()        # executa si l'usuari prem control-c
 {
   echo "" > "$LAST"
   echo "Exiting..."
   exit
 }
 if [ -e "$LAST" ]; then
   read filetodelete < "$LAST"
   rm "$filetodelete" "$LAST"
 fi
 exec 9< <(find "$DIR" -type f -regextype posix-awk -iregex '.*\.(mp3|ogg|flac|wma)') # potser cal afegir m4a i mp4
 while read i
 do
   TEMP="${i%.*}.mood"
   OUTF=`echo "$TEMP" | sed 's#\(.*\)/\([^,]*\)#\1/.\2#'`
   trap 'control_c "$OUTF"' INT
   if [ ! -e "$OUTF" ]
     moodbar -o "$OUTF" "$i"
   fi
 done <&9
 exec 9<&-
 exit $C_RET

Copieu i enganxeu l'anterior en un fitxer de text anomenat «moodbar.sh» al vostre directori de música i executeu les ordres següents:

cd /camí/a/música bash moodbar.sh

Alternativament, si l'anterior no funciona, podeu intentar:

chmod +x moodbar.sh ./moodbar.sh

Això pot trigar molta estona en col·leccions grans! Tingueu en compte que les barres d'ànim no apareixeran a l'Amarok fins que l'Amarok torni a explorar la col·lecció. Els fitxers mood generats seran fitxers amb punt (és a dir, prefixats amb un punt), o fitxers ocults, així que tingueu això en compte si no podeu trobar cap fitxer d'ànim generat.

Basat en l'script anterior, una alternativa per a les CPU multinucli:

#!/bin/bash
 NUMCPU="$(grep ^processor /proc/cpuinfo | wc -l)"
 find . -type f -regextype posix-awk -iregex '.*\.(mp3|ogg|flac|wma)' | while read i ; do
        while [ `jobs -p | wc -l` -ge $NUMCPU ] ; do
                sleep 0.1
        done
        TEMP="${i%.*}.mood"
        OUTF=`echo "$TEMP" | sed 's#\(.*\)/\([^,]*\)#\1/.\2#'`
        if [ ! -e "$OUTF" ] ; then
                moodbar -o "$OUTF" "$i" &
        fi
 done

Solució de problemes

  • Si l'executable de la Barra d'ànim dona un error de bus, això gairebé sempre significa que no pot descodificar (o no pot trobar) el fitxer. Doneu un cop d'ull als tipus de fitxer admesos a continuació per a les idees sobre les quals s'han d'instal·lar els connectors del GStreamer. També podeu provar l'ordre següent per a provar si el GStreamer pot descodificar el fitxer:gst-launch-1.0 filesrc location=[file] ! decodebin ! fakesink

  • Si esteu utilitzant el connector «ffmpeg» per a descodificar «mp3», també podeu rebre errors misteriosos de bus. La solució és deixar d'utilitzar el connector «ffmpeg», ja que falla força: useu «mad» en el seu lloc.

  • Si l'executable de la Barra d'ànim diu que no pot trobar un element, és a dir, dona un missatge d'error com

    No s'ha pogut crear un element del tipus «fftwspectrum», si us plau, instal·leu-lo.

    , això normalment significa que no estan instal·lats els connectors necessaris (vegeu la llista de connectors aquí), o que no heu instal·lat el paquet Moodbar en el mateix prefix que el GStreamer. Si la libmoodbar.so i la libgstdecodebin.so no estan en el mateix directori, llavors el paquet Moodbar no està instal·lat en el mateix prefix que el GStreamer. Llegiu al fitxer INSTALL les instruccions sobre com configurar correctament el paquet «moodbar». Alternativament, si sabeu què esteu fent, pot ser més fàcil donar un cop d'ull a la variable d'entorn GST_PLUGIN_PATH.

  • Si us pregunteu per què la Barra d'ànim no funciona, o bé no funciona res o no funciona per a un fitxer en particular, executeu l'ordre de sota, on [fitxer] és un fitxer de música:moodbar -o test.mood [fitxer]. Per a generar una vista prèvia d'imatge de prova, es pot utilitzar l'ordre:gst-launch-1.0 filesrc location=[file] ! decodebin ! audioconvert ! fftwspectrum ! moodbar height=50 max-width=300 ! pngenc ! filesink location=mood.png

  • Si teniu instal·lades diverses versions del GStreamer, assegureu-vos que tots els connectors necessaris estan instal·lats per a la versió 1.0.*. Les versions diferents no poden utilitzar els connectors d'altres.

Tipus de fitxers compatibles

Necessitareu diversos connectors del GStreamer per a habilitar la Barra d'ànim per a analitzar els fitxers. Aquesta és una llista dels connectors que necessitareu; assegureu-vos d'instal·lar la versió 1.0.* de cada connector:

Tipus de fitxerConnector requeritNota

Tot

gstreamer-1.0.*, gst-plugins-base, gst-plugins-good

 

mp3

gst-plugins-mad (a gst-plugins-ugly)

El connector ffmpeg té problemes; no l'utilitzeu per a mp3

ogg

gst-plugins-vorbis, gst-plugins-ogg

 

flac

gst-plugins-flac

 

mp4

gst-plugins-faad, gst-plugins-bad

 

musepack

gst-plugins-musepack

 

wma

gst-plugins-ffmpeg

 

Captures de pantalla

La barra d'ànim en el control lliscant de progrés a l'Amarok 2

La barra d'ànim en el control lliscant de progrés a l'Amarok 2