Heinrich Schwietering schrieb:
Das mit liblyrics klappt bei dir? Den Strang hatten wir irgendwann aufgegeben, weil die "Content-Mafia" da was gegen hatte, sprich: Die Lyrics nicht mehr ohne weiteres greifbar waren.
Nein, aber die Installation klappt 😉 Es fetcht einfach nichts...
http://www.lastfm.es/user/mtapoja/journal/2009/09/06/2zq38z_liblyrics_is_unusable_now...
Man könnte etwas in dieser Art verwenden:
artist="Alicia Keys"; title="Jane Doe"; lynx --dump http://lyrics.wikia.com/$(echo $artist|sed -e 's/\ /_/g'):$(echo $title|sed -e 's/\ /_/g')|sed -n '/23\]phone\ Send/,/24\]phone\ Send/p' |egrep -v \[[0-9]{2}\]
#!/bin/bash
echo -e "\nfetchsong fetches song lyrics of Artist:SongTitle.\n\nUsage: fetchsong \"ARTIST\" \"TITLE\"\n"
artist=$1;
title=$2;
URL="http://lyrics.wikia.com/$(echo "$artist"|sed -e 's/\ /_/g' -e "s/'/\'/g"):$(echo "$title"|sed -e 's/\ /_/g' -e "s/'/\'/g")";
echo -e "\n$URL\n";
lynx --dump "$URL" |\
sed -n '/\]phone\ Send/,/\]phone\ Send/p' |\
egrep -v \[[0-9]{2}\];
exit
Man könnte die encodierten Zeichen in der Adresszeile auch ähnlich hier konvertieren. Im Beispiel werden nur Leerzeichen und ' berücksichtigt.
Ich habe mal thelastripper selbst gebaut:
http://forum.ubuntuusers.de/post/2192700/
mkdir -p ~/download/thelastripper/
cd ~/download/thelastripper/
sudo aptitude build-dep thelastripper
sudo aptitude install libtagc0-dev libtag1-dev build-essential
wget http://thelastripper.googlecode.com/svn/branches/Debian/TheLastRipper-1.4.1/thelastripper_1.4.1-1.dsc
wget http://thelastripper.googlecode.com/svn/branches/Debian/TheLastRipper-1.4.1/thelastripper_1.4.1-1.diff.gz
wget http://thelastripper.googlecode.com/svn/branches/Debian/TheLastRipper-1.4.1/thelastripper_1.4.1.orig.tar.gz
dpkg-source -x *.dsc
cd thelastripper-1.4.1/
fakeroot debian/rules binary
sudo dpkg -i ../thelastripper_1.4.1-1_all.deb
Da aptitude build-dep das hier ausgibt:
Unable to find the source package for "thelastripper".
gebe ich mal ein paar Hinweise, welche Pakete beim bauen fehlen könnten. Ich hatte nämlich Probleme mit taglib-sharp:
pkg-config --exists --print-errors "taglib-sharp"
Hier also noch ein paar Pakete, die hier installiert sind:
$ COLUMNS=130 dpkg -l libgtk2.0-cil-dev libglib2.0-cil-dev mono-gmcs mono-2.0-devel mono-devel libtagc0-dev libtag1-dev|grep ^ii
ii libglib2.0-cil-dev 2.12.9-4 CLI binding for the GLib utility library 2.12
ii libgtk2.0-cil-dev 2.12.9-4 CLI binding for the GTK+ toolkit 2.12
ii libtag1-dev 1.6.3-0ubuntu1 TagLib Audio Meta-Data Library [development]
ii libtagc0-dev 1.6.3-0ubuntu1 TagLib Audio Meta-Data Library (C bindings) [development]
ii mono-2.0-devel 2.4.4~svn151842-1ubuntu4 Mono development tools for CLI 2.0
ii mono-devel 2.4.4~svn151842-1ubuntu4 Mono development tools
ii mono-gmcs 2.4.4~svn151842-1ubuntu4 Mono C# 2.0 and C# 3.0 compiler for CLI 2.0
Eventuell braucht es auch noch die ein oder andere developer-version dieser Pakete:
$ apt-cache depends thelastripper
thelastripper
Depends: gnome-icon-theme
Depends: xdg-utils
Depends: mono-runtime
Depends: libglib2.0-cil
Depends: libgtk2.0-cil
Depends: libmono-corlib2.0-cil
Depends: libmono-posix2.0-cil
Depends: libmono-system2.0-cil
Depends: libtaglib2.0-cil
Das Logo fehlt in dem Paket:
wget http://thelastripper.com/logo1.png
theLastRipper 1.4.1 macht hier allerdings die gleichen Probleme:
$ thelastripper/usr/bin/mp3gain
LastManager.ParseHandshake() Unknown key: info_message Value:
LastManager.ParseHandshake() Unknown key: fingerprint_upload_url Value: http://ws.audioscrobbler.com/fingerprint/upload.php
LastManager.ParseHandshake() Unknown key: permit_bootstrap Value: 0
LastManager.ParseHandshake() Unknown key: freetrial Value: 0
get 'Icky Thump' (Icky Thump) from 'The White Stripes'
System.Net.WebException: Error getting response stream (ReadDone2): ReceiveFailure ---> System.Exception: at System.Net.WebConnection.HandleError(WebExceptionStatus st, System.Exception e, System.String where)
at System.Net.WebConnection.ReadDone(IAsyncResult result)
at System.Net.Sockets.Socket+SocketAsyncResult.Complete()
at System.Net.Sockets.Socket+Worker.Receive()
at System.Net.WebConnection.HandleError (WebExceptionStatus st, System.Exception e, System.String where) [0x00000]
--- End of inner exception stack trace ---
at System.Net.HttpWebRequest.EndGetResponse (IAsyncResult asyncResult) [0x00000]
at System.Net.HttpWebRequest.GetResponse () [0x00000]
at LibLastRip.LastManager.StartRecording (Boolean newStation) [0x00000]
Ich interpretiere nun mal, dass folgende Zeilen
LastManager.ParseHandshake() Unknown key: permit_bootstrap Value: 0
LastManager.ParseHandshake() Unknown key: freetrial Value: 0
[...]
System.Net.WebException: Error getting response stream (ReadDone2): ReceiveFailure
[...]
at System.Net.HttpWebRequest.GetResponse () [0x00000]
bedeuten, dass die Last.Fm API mit nichts Antwortet und dieser leere String die exception auslöst. Das sollte vielleicht von thelastripper aufgefangen werden, und als verständliche Fehlermeldung zurückgegeben werden.
Hat denn jemand thelastripper 1.4.1 erfolgreich mit Abo am Laufen? Inzwischen glaube ich auch nicht mehr, dass es sich um einen mono-bug handeln könnte.
Wie ist denn das zu verstehen, dass vagalume-safesong ohne Abo funktioniert? Läuft das über einen vagalume-last.fm-abonennten über den dann alle Installationen gehen?