diff options
author | Andreas Obergrusberger <tradiaz@yahoo.de> | 2006-08-07 09:20:11 +0000 |
---|---|---|
committer | Andreas Obergrusberger <tradiaz@yahoo.de> | 2006-08-07 09:20:11 +0000 |
commit | 87c94100402472fe1178a1d3cfb47d3cae57befd (patch) | |
tree | ef0c7dcdf6f1d2a6cd8a381e76ceab0000afa69f | |
parent | 62bc8509633aa4f843bd10e0b5c8ccf1b63c2072 (diff) | |
download | mpd-87c94100402472fe1178a1d3cfb47d3cae57befd.tar.gz mpd-87c94100402472fe1178a1d3cfb47d3cae57befd.tar.xz mpd-87c94100402472fe1178a1d3cfb47d3cae57befd.zip |
lots of cool stuff!
git-svn-id: https://svn.musicpd.org/ncmpc/branches/tradiaz@4577 09075e82-0dd4-0310-85a5-a0d7c8717e4f
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | po/da.po | 62 | ||||
-rw-r--r-- | po/de.po | 66 | ||||
-rw-r--r-- | po/es.po | 62 | ||||
-rw-r--r-- | po/fr.po | 62 | ||||
-rwxr-xr-x | po/gl.po | 62 | ||||
-rw-r--r-- | po/ncmpc.pot | 60 | ||||
-rw-r--r-- | po/no.po | 62 | ||||
-rw-r--r-- | po/ru.po | 62 | ||||
-rw-r--r-- | po/sv.po | 62 | ||||
-rw-r--r-- | src/command.c | 4 | ||||
-rw-r--r-- | src/command.h | 1 | ||||
-rw-r--r-- | src/screen_help.c | 1 | ||||
-rw-r--r-- | src/screen_lyrics.c | 359 |
14 files changed, 569 insertions, 362 deletions
@@ -1,3 +1,9 @@ +2006-09-7 Andreas Obergrusberger <tradiaz@yahoo.de> + * bugfixes in lyrics screen + * ncmpc can now load and save lyrics + loading and saving is compatible with gmpc's ~/.lyrics + * language updates for template and german file + 2006-09-6 Andreas Obergrusberger <tradiaz@yahoo.de> * fixed a bug in the lyrics screen that made the first texte line not show up @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ncmpc 0.11.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-08-05 20:19+0000\n" +"POT-Creation-Date: 2006-08-07 09:10+0000\n" "PO-Revision-Date: 2006-03-31 02:27+0100\n" "Last-Translator: Mikkel Kirkgaard Nielsen <ncmpc@mikini.dk>\n" "Language-Team: da <da@li.org>\n" @@ -488,22 +488,31 @@ msgstr "" msgid "Interrupt retrieval" msgstr "" -#: src/screen_help.c:218 +#: src/screen_help.c:136 +msgid "Explicitly download lyrics" +msgstr "" + +#: src/screen_help.c:219 msgid "Help" msgstr "Hjælp" -#: src/screen_lyrics.c:421 +#: src/screen_lyrics.c:481 msgid "Lyrics [No connection]" msgstr "" -#: src/screen_lyrics.c:422 +#: src/screen_lyrics.c:482 msgid "Lyrics [Not found]" msgstr "" -#: src/screen_lyrics.c:423 +#: src/screen_lyrics.c:485 msgid "Lyrics [retrieving]" msgstr "" +#: src/screen_lyrics.c:567 +#, fuzzy +msgid "Lyrics saved!" +msgstr "Afspilningsliste" + #: src/command.c:71 msgid "Key configuration screen" msgstr "Taste konfigurations skærm" @@ -694,80 +703,85 @@ msgstr "Afspilningsliste" msgid "Interrupt action" msgstr "" -#: src/command.c:218 +#: src/command.c:197 +#, fuzzy +msgid "Update Lyrics" +msgstr "Opdater skærm" + +#: src/command.c:220 msgid "Undefined" msgstr "Udefineret" -#: src/command.c:220 +#: src/command.c:222 msgid "Space" msgstr "Mellemrum" -#: src/command.c:222 +#: src/command.c:224 msgid "Enter" msgstr "Retur" -#: src/command.c:224 +#: src/command.c:226 msgid "Backspace" msgstr "" -#: src/command.c:226 +#: src/command.c:228 msgid "Delete" msgstr "" -#: src/command.c:228 +#: src/command.c:230 msgid "Up" msgstr "" -#: src/command.c:230 +#: src/command.c:232 msgid "Down" msgstr "Ned" -#: src/command.c:232 +#: src/command.c:234 msgid "Left" msgstr "Venstre" -#: src/command.c:234 +#: src/command.c:236 msgid "Right" msgstr "Højre" -#: src/command.c:236 +#: src/command.c:238 msgid "Home" msgstr "" -#: src/command.c:238 +#: src/command.c:240 msgid "End" msgstr "" -#: src/command.c:240 +#: src/command.c:242 msgid "PageDown" msgstr "" -#: src/command.c:242 +#: src/command.c:244 msgid "PageUp" msgstr "" -#: src/command.c:244 +#: src/command.c:246 msgid "Tab" msgstr "" -#: src/command.c:246 +#: src/command.c:248 msgid "Shift+Tab" msgstr "" -#: src/command.c:248 +#: src/command.c:250 msgid "Esc" msgstr "" -#: src/command.c:250 +#: src/command.c:252 msgid "Insert" msgstr "" -#: src/command.c:500 +#: src/command.c:502 #, c-format msgid "Key %s assigned to %s and %s (press %s for the key editor)" msgstr "Tast %s bundet til kommando %s og %s (tryk på %s for at redigere)" -#: src/command.c:507 src/command.c:514 +#: src/command.c:509 src/command.c:516 #, c-format msgid "Error: Key %s assigned to %s and %s !!!\n" msgstr "Fel: Tasten %s er bundet til både %s og %s !!!\n" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ncmpc 0.11.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-08-05 20:19+0000\n" +"POT-Creation-Date: 2006-08-07 09:10+0000\n" "PO-Revision-Date: 2004-07-08 21:16+0200\n" "Last-Translator: Ingmar Gebert\n" "Language-Team: de <de@li.org>\n" @@ -66,7 +66,7 @@ msgstr "" #: src/screen.c:249 #, fuzzy msgid ":Lyrics " -msgstr ":Playlist " +msgstr ":Texte " #: src/screen.c:254 msgid "Volume n/a " @@ -473,7 +473,7 @@ msgstr "Auswählen und abspielen" #: src/screen_help.c:131 #, fuzzy msgid "Keys - Lyrics screen" -msgstr "Tasten - Playlistenanzeige" +msgstr "Tasten - Liedtexteanzeige" #: src/screen_help.c:133 msgid "View Lyrics" @@ -487,22 +487,31 @@ msgstr "Text (neu) laden" msgid "Interrupt retrieval" msgstr "Laden unterbrechen" -#: src/screen_help.c:218 +#: src/screen_help.c:136 +msgid "Explicitly download lyrics" +msgstr "Texte explizit herunterladen" + +#: src/screen_help.c:219 msgid "Help" msgstr "Hilfe" -#: src/screen_lyrics.c:421 +#: src/screen_lyrics.c:481 msgid "Lyrics [No connection]" msgstr "Liedtext [keine Verbindung]" -#: src/screen_lyrics.c:422 +#: src/screen_lyrics.c:482 msgid "Lyrics [Not found]" msgstr "Liedtext [Text nicht gefunden]" -#: src/screen_lyrics.c:423 +#: src/screen_lyrics.c:485 msgid "Lyrics [retrieving]" msgstr "Liedtexte [Lade...]" +#: src/screen_lyrics.c:567 +#, fuzzy +msgid "Lyrics saved!" +msgstr "Text gespeichert!" + #: src/command.c:71 msgid "Key configuration screen" msgstr "Tastenkonfigurationsanzeige" @@ -693,80 +702,85 @@ msgstr "Liedtextanzeige" msgid "Interrupt action" msgstr "Kommando Unterbrechen" -#: src/command.c:218 +#: src/command.c:197 +#, fuzzy +msgid "Update Lyrics" +msgstr "Aktulaisiere Text" + +#: src/command.c:220 msgid "Undefined" msgstr "Undefiniert" -#: src/command.c:220 +#: src/command.c:222 msgid "Space" msgstr "Leertaste" -#: src/command.c:222 +#: src/command.c:224 msgid "Enter" msgstr "Enter" -#: src/command.c:224 +#: src/command.c:226 msgid "Backspace" msgstr "Backspace" -#: src/command.c:226 +#: src/command.c:228 msgid "Delete" msgstr "Entf" -#: src/command.c:228 +#: src/command.c:230 msgid "Up" msgstr "Oben" -#: src/command.c:230 +#: src/command.c:232 msgid "Down" msgstr "Unten" -#: src/command.c:232 +#: src/command.c:234 msgid "Left" msgstr "Links" -#: src/command.c:234 +#: src/command.c:236 msgid "Right" msgstr "Rechts" -#: src/command.c:236 +#: src/command.c:238 msgid "Home" msgstr "Pos1" -#: src/command.c:238 +#: src/command.c:240 msgid "End" msgstr "Ende" -#: src/command.c:240 +#: src/command.c:242 msgid "PageDown" msgstr "Bild ab" -#: src/command.c:242 +#: src/command.c:244 msgid "PageUp" msgstr "Bild auf" -#: src/command.c:244 +#: src/command.c:246 msgid "Tab" msgstr "Tab" -#: src/command.c:246 +#: src/command.c:248 msgid "Shift+Tab" msgstr "Shift+Tab" -#: src/command.c:248 +#: src/command.c:250 msgid "Esc" msgstr "Esc" -#: src/command.c:250 +#: src/command.c:252 msgid "Insert" msgstr "Einfg" -#: src/command.c:500 +#: src/command.c:502 #, c-format msgid "Key %s assigned to %s and %s (press %s for the key editor)" msgstr "Taste %s ist %s und %s zugeordnet (drücke %s für den Tasteneditor)" -#: src/command.c:507 src/command.c:514 +#: src/command.c:509 src/command.c:516 #, c-format msgid "Error: Key %s assigned to %s and %s !!!\n" msgstr "Fehler: Taste %s ist %s und %s zugeordnet !!!\n" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ncmpc 0.11.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-08-05 20:19+0000\n" +"POT-Creation-Date: 2006-08-07 09:10+0000\n" "PO-Revision-Date: 2004-07-15 05:28+0200\n" "Last-Translator: Jose Cedeno <cedenoj@gmail.com>\n" "Language-Team: es <es@li.org>\n" @@ -483,22 +483,31 @@ msgstr "" msgid "Interrupt retrieval" msgstr "" -#: src/screen_help.c:218 +#: src/screen_help.c:136 +msgid "Explicitly download lyrics" +msgstr "" + +#: src/screen_help.c:219 msgid "Help" msgstr "Ayuda" -#: src/screen_lyrics.c:421 +#: src/screen_lyrics.c:481 msgid "Lyrics [No connection]" msgstr "" -#: src/screen_lyrics.c:422 +#: src/screen_lyrics.c:482 msgid "Lyrics [Not found]" msgstr "" -#: src/screen_lyrics.c:423 +#: src/screen_lyrics.c:485 msgid "Lyrics [retrieving]" msgstr "" +#: src/screen_lyrics.c:567 +#, fuzzy +msgid "Lyrics saved!" +msgstr "Ventana de lista de canciones" + #: src/command.c:71 msgid "Key configuration screen" msgstr "Ventana para configurar combinaciones de teclas" @@ -690,80 +699,85 @@ msgstr "Ventana de lista de canciones" msgid "Interrupt action" msgstr "" -#: src/command.c:218 +#: src/command.c:197 +#, fuzzy +msgid "Update Lyrics" +msgstr "Actualizar la ventana" + +#: src/command.c:220 msgid "Undefined" msgstr "Indefinido" -#: src/command.c:220 +#: src/command.c:222 msgid "Space" msgstr "Space" -#: src/command.c:222 +#: src/command.c:224 msgid "Enter" msgstr "Enter" -#: src/command.c:224 +#: src/command.c:226 msgid "Backspace" msgstr "backspace" -#: src/command.c:226 +#: src/command.c:228 msgid "Delete" msgstr "Borrar" -#: src/command.c:228 +#: src/command.c:230 msgid "Up" msgstr "Arriba" -#: src/command.c:230 +#: src/command.c:232 msgid "Down" msgstr "Abajo" -#: src/command.c:232 +#: src/command.c:234 msgid "Left" msgstr "Izquierda" -#: src/command.c:234 +#: src/command.c:236 msgid "Right" msgstr "Derecha" -#: src/command.c:236 +#: src/command.c:238 msgid "Home" msgstr "Inicio" -#: src/command.c:238 +#: src/command.c:240 msgid "End" msgstr "Fin" -#: src/command.c:240 +#: src/command.c:242 msgid "PageDown" msgstr "Pagina siguiente" -#: src/command.c:242 +#: src/command.c:244 msgid "PageUp" msgstr "Pagina anterior" -#: src/command.c:244 +#: src/command.c:246 msgid "Tab" msgstr "Tab" -#: src/command.c:246 +#: src/command.c:248 msgid "Shift+Tab" msgstr "Shift+Tab" -#: src/command.c:248 +#: src/command.c:250 msgid "Esc" msgstr "Exc" -#: src/command.c:250 +#: src/command.c:252 msgid "Insert" msgstr "Insert" -#: src/command.c:500 +#: src/command.c:502 #, c-format msgid "Key %s assigned to %s and %s (press %s for the key editor)" msgstr "Tecla %s asignada a %s y %s (pressiona %s para el editor de teclas)" -#: src/command.c:507 src/command.c:514 +#: src/command.c:509 src/command.c:516 #, c-format msgid "Error: Key %s assigned to %s and %s !!!\n" msgstr "Error: Tecla %s asignada a %s y %s !!!\n" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ncmpc 0.11.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-08-05 20:19+0000\n" +"POT-Creation-Date: 2006-08-07 09:10+0000\n" "PO-Revision-Date: 2005-01-19 15:15+0100\n" "Last-Translator: Yann Cézard <eesprit@free.fr>\n" "Language-Team: fr <fr@li.org>\n" @@ -490,22 +490,31 @@ msgstr "" msgid "Interrupt retrieval" msgstr "" -#: src/screen_help.c:218 +#: src/screen_help.c:136 +msgid "Explicitly download lyrics" +msgstr "" + +#: src/screen_help.c:219 msgid "Help" msgstr "Aide" -#: src/screen_lyrics.c:421 +#: src/screen_lyrics.c:481 msgid "Lyrics [No connection]" msgstr "" -#: src/screen_lyrics.c:422 +#: src/screen_lyrics.c:482 msgid "Lyrics [Not found]" msgstr "" -#: src/screen_lyrics.c:423 +#: src/screen_lyrics.c:485 msgid "Lyrics [retrieving]" msgstr "" +#: src/screen_lyrics.c:567 +#, fuzzy +msgid "Lyrics saved!" +msgstr "Ecran de Liste de lecture" + #: src/command.c:71 msgid "Key configuration screen" msgstr "Ecran de configuration des touches" @@ -697,81 +706,86 @@ msgstr "Ecran de Liste de lecture" msgid "Interrupt action" msgstr "" -#: src/command.c:218 +#: src/command.c:197 +#, fuzzy +msgid "Update Lyrics" +msgstr "Mettre à jour l'écran" + +#: src/command.c:220 msgid "Undefined" msgstr "Indéfini" -#: src/command.c:220 +#: src/command.c:222 msgid "Space" msgstr "Espace" -#: src/command.c:222 +#: src/command.c:224 msgid "Enter" msgstr "Entrée" -#: src/command.c:224 +#: src/command.c:226 msgid "Backspace" msgstr "Backspace" -#: src/command.c:226 +#: src/command.c:228 msgid "Delete" msgstr "Suppr" -#: src/command.c:228 +#: src/command.c:230 msgid "Up" msgstr "Haut" -#: src/command.c:230 +#: src/command.c:232 msgid "Down" msgstr "Bas" -#: src/command.c:232 +#: src/command.c:234 msgid "Left" msgstr "Gauche" -#: src/command.c:234 +#: src/command.c:236 msgid "Right" msgstr "Droite" -#: src/command.c:236 +#: src/command.c:238 msgid "Home" msgstr "Début" -#: src/command.c:238 +#: src/command.c:240 msgid "End" msgstr "Fin" -#: src/command.c:240 +#: src/command.c:242 msgid "PageDown" msgstr "PageBas" -#: src/command.c:242 +#: src/command.c:244 msgid "PageUp" msgstr "PageHaut" -#: src/command.c:244 +#: src/command.c:246 msgid "Tab" msgstr "Tab" -#: src/command.c:246 +#: src/command.c:248 msgid "Shift+Tab" msgstr "Shift+Tab" -#: src/command.c:248 +#: src/command.c:250 msgid "Esc" msgstr "Echap" -#: src/command.c:250 +#: src/command.c:252 msgid "Insert" msgstr "Inser" -#: src/command.c:500 +#: src/command.c:502 #, c-format msgid "Key %s assigned to %s and %s (press %s for the key editor)" msgstr "" "La touche %s est assignée à %s (appuyez sur %s pour l'éditeur de touches)" -#: src/command.c:507 src/command.c:514 +#: src/command.c:509 src/command.c:516 #, c-format msgid "Error: Key %s assigned to %s and %s !!!\n" msgstr "Erreur: La touche %s est assignée à %s et à %s !!!\n" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: ncmpc SVN\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-08-05 20:19+0000\n" +"POT-Creation-Date: 2006-08-07 09:10+0000\n" "PO-Revision-Date: 2006-02-26 23:13+0100\n" "Last-Translator: Johám-LuÃs Miguéns Vila <galiza.ceive@gmail.com>\n" "Language-Team: galician\n" @@ -489,22 +489,31 @@ msgstr "" msgid "Interrupt retrieval" msgstr "" -#: src/screen_help.c:218 +#: src/screen_help.c:136 +msgid "Explicitly download lyrics" +msgstr "" + +#: src/screen_help.c:219 msgid "Help" msgstr "Ajuda" -#: src/screen_lyrics.c:421 +#: src/screen_lyrics.c:481 msgid "Lyrics [No connection]" msgstr "" -#: src/screen_lyrics.c:422 +#: src/screen_lyrics.c:482 msgid "Lyrics [Not found]" msgstr "" -#: src/screen_lyrics.c:423 +#: src/screen_lyrics.c:485 msgid "Lyrics [retrieving]" msgstr "" +#: src/screen_lyrics.c:567 +#, fuzzy +msgid "Lyrics saved!" +msgstr "Écrã da lista" + #: src/command.c:71 msgid "Key configuration screen" msgstr "Écrã da configuraçom dos atalhos" @@ -695,81 +704,86 @@ msgstr "Écrã da lista" msgid "Interrupt action" msgstr "" -#: src/command.c:218 +#: src/command.c:197 +#, fuzzy +msgid "Update Lyrics" +msgstr "Actualizar o écrã" + +#: src/command.c:220 msgid "Undefined" msgstr "Nom definido" -#: src/command.c:220 +#: src/command.c:222 msgid "Space" msgstr "Espaço" -#: src/command.c:222 +#: src/command.c:224 msgid "Enter" msgstr "Enter" -#: src/command.c:224 +#: src/command.c:226 msgid "Backspace" msgstr "Backspace" -#: src/command.c:226 +#: src/command.c:228 msgid "Delete" msgstr "Supr" -#: src/command.c:228 +#: src/command.c:230 msgid "Up" msgstr "Arriba" -#: src/command.c:230 +#: src/command.c:232 msgid "Down" msgstr "Abaixo" -#: src/command.c:232 +#: src/command.c:234 msgid "Left" msgstr "Esquerda" -#: src/command.c:234 +#: src/command.c:236 msgid "Right" msgstr "Direita" -#: src/command.c:236 +#: src/command.c:238 msgid "Home" msgstr "Home" -#: src/command.c:238 +#: src/command.c:240 msgid "End" msgstr "Fim" -#: src/command.c:240 +#: src/command.c:242 msgid "PageDown" msgstr "Re. Pág." -#: src/command.c:242 +#: src/command.c:244 msgid "PageUp" msgstr "Av. Pág." -#: src/command.c:244 +#: src/command.c:246 msgid "Tab" msgstr "Tab" -#: src/command.c:246 +#: src/command.c:248 msgid "Shift+Tab" msgstr "Shift+Tab" -#: src/command.c:248 +#: src/command.c:250 msgid "Esc" msgstr "Esc" -#: src/command.c:250 +#: src/command.c:252 msgid "Insert" msgstr "Insert" -#: src/command.c:500 +#: src/command.c:502 #, c-format msgid "Key %s assigned to %s and %s (press %s for the key editor)" msgstr "" "A tecla %s assignou-se a %s e a %s (preme %s para ir ao editor de atalhos)" -#: src/command.c:507 src/command.c:514 +#: src/command.c:509 src/command.c:516 #, c-format msgid "Error: Key %s assigned to %s and %s !!!\n" msgstr "Erro: a tecla %s assignou-se a %s e a %s !!!\n" diff --git a/po/ncmpc.pot b/po/ncmpc.pot index db6d909ff..bb1929217 100644 --- a/po/ncmpc.pot +++ b/po/ncmpc.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-08-05 20:19+0000\n" +"POT-Creation-Date: 2006-08-07 09:10+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -479,22 +479,30 @@ msgstr "" msgid "Interrupt retrieval" msgstr "" -#: src/screen_help.c:218 +#: src/screen_help.c:136 +msgid "Explicitly download lyrics" +msgstr "" + +#: src/screen_help.c:219 msgid "Help" msgstr "" -#: src/screen_lyrics.c:421 +#: src/screen_lyrics.c:481 msgid "Lyrics [No connection]" msgstr "" -#: src/screen_lyrics.c:422 +#: src/screen_lyrics.c:482 msgid "Lyrics [Not found]" msgstr "" -#: src/screen_lyrics.c:423 +#: src/screen_lyrics.c:485 msgid "Lyrics [retrieving]" msgstr "" +#: src/screen_lyrics.c:567 +msgid "Lyrics saved!" +msgstr "" + #: src/command.c:71 msgid "Key configuration screen" msgstr "" @@ -683,80 +691,84 @@ msgstr "" msgid "Interrupt action" msgstr "" -#: src/command.c:218 -msgid "Undefined" +#: src/command.c:197 +msgid "Update Lyrics" msgstr "" #: src/command.c:220 -msgid "Space" +msgid "Undefined" msgstr "" #: src/command.c:222 -msgid "Enter" +msgid "Space" msgstr "" #: src/command.c:224 -msgid "Backspace" +msgid "Enter" msgstr "" #: src/command.c:226 -msgid "Delete" +msgid "Backspace" msgstr "" #: src/command.c:228 -msgid "Up" +msgid "Delete" msgstr "" #: src/command.c:230 -msgid "Down" +msgid "Up" msgstr "" #: src/command.c:232 -msgid "Left" +msgid "Down" msgstr "" #: src/command.c:234 -msgid "Right" +msgid "Left" msgstr "" #: src/command.c:236 -msgid "Home" +msgid "Right" msgstr "" #: src/command.c:238 -msgid "End" +msgid "Home" msgstr "" #: src/command.c:240 -msgid "PageDown" +msgid "End" msgstr "" #: src/command.c:242 -msgid "PageUp" +msgid "PageDown" msgstr "" #: src/command.c:244 -msgid "Tab" +msgid "PageUp" msgstr "" #: src/command.c:246 -msgid "Shift+Tab" +msgid "Tab" msgstr "" #: src/command.c:248 -msgid "Esc" +msgid "Shift+Tab" msgstr "" #: src/command.c:250 +msgid "Esc" +msgstr "" + +#: src/command.c:252 msgid "Insert" msgstr "" -#: src/command.c:500 +#: src/command.c:502 #, c-format msgid "Key %s assigned to %s and %s (press %s for the key editor)" msgstr "" -#: src/command.c:507 src/command.c:514 +#: src/command.c:509 src/command.c:516 #, c-format msgid "Error: Key %s assigned to %s and %s !!!\n" msgstr "" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ncmpc 0.11.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-08-05 20:19+0000\n" +"POT-Creation-Date: 2006-08-07 09:10+0000\n" "PO-Revision-Date: 2004-06-05 18:16+0200\n" "Last-Translator: Ole R. Thorsen <ole.rth@gmail.com>\n" "Language-Team: no <no@li.org>\n" @@ -486,22 +486,31 @@ msgstr "" msgid "Interrupt retrieval" msgstr "" -#: src/screen_help.c:218 +#: src/screen_help.c:136 +msgid "Explicitly download lyrics" +msgstr "" + +#: src/screen_help.c:219 msgid "Help" msgstr "Hjelp" -#: src/screen_lyrics.c:421 +#: src/screen_lyrics.c:481 msgid "Lyrics [No connection]" msgstr "" -#: src/screen_lyrics.c:422 +#: src/screen_lyrics.c:482 msgid "Lyrics [Not found]" msgstr "" -#: src/screen_lyrics.c:423 +#: src/screen_lyrics.c:485 msgid "Lyrics [retrieving]" msgstr "" +#: src/screen_lyrics.c:567 +#, fuzzy +msgid "Lyrics saved!" +msgstr "Spilleliste" + #: src/command.c:71 msgid "Key configuration screen" msgstr "Tastaturkonfigurasjon" @@ -692,80 +701,85 @@ msgstr "Spilleliste" msgid "Interrupt action" msgstr "" -#: src/command.c:218 +#: src/command.c:197 +#, fuzzy +msgid "Update Lyrics" +msgstr "Oppdater" + +#: src/command.c:220 msgid "Undefined" msgstr "Ikke Definert" -#: src/command.c:220 +#: src/command.c:222 msgid "Space" msgstr "Mellomrom" -#: src/command.c:222 +#: src/command.c:224 msgid "Enter" msgstr "" -#: src/command.c:224 +#: src/command.c:226 msgid "Backspace" msgstr "" -#: src/command.c:226 +#: src/command.c:228 msgid "Delete" msgstr "Del" -#: src/command.c:228 +#: src/command.c:230 msgid "Up" msgstr "Opp" -#: src/command.c:230 +#: src/command.c:232 msgid "Down" msgstr "Ned" -#: src/command.c:232 +#: src/command.c:234 msgid "Left" msgstr "Venstrepil" -#: src/command.c:234 +#: src/command.c:236 msgid "Right" msgstr "Høyrepil" -#: src/command.c:236 +#: src/command.c:238 msgid "Home" msgstr "" -#: src/command.c:238 +#: src/command.c:240 msgid "End" msgstr "" -#: src/command.c:240 +#: src/command.c:242 msgid "PageDown" msgstr "" -#: src/command.c:242 +#: src/command.c:244 msgid "PageUp" msgstr "" -#: src/command.c:244 +#: src/command.c:246 msgid "Tab" msgstr "" -#: src/command.c:246 +#: src/command.c:248 msgid "Shift+Tab" msgstr "" -#: src/command.c:248 +#: src/command.c:250 msgid "Esc" msgstr "" -#: src/command.c:250 +#: src/command.c:252 msgid "Insert" msgstr "Ins" -#: src/command.c:500 +#: src/command.c:502 #, c-format msgid "Key %s assigned to %s and %s (press %s for the key editor)" msgstr "%s tildelt kommandoen %s og %s (trykk %s for å rette)" -#: src/command.c:507 src/command.c:514 +#: src/command.c:509 src/command.c:516 #, c-format msgid "Error: Key %s assigned to %s and %s !!!\n" msgstr "Feil: Tasten %s er tildelt både %s og %s !!!\n" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ncmpc 0.11.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-08-05 20:19+0000\n" +"POT-Creation-Date: 2006-08-07 09:10+0000\n" "PO-Revision-Date: 2004-12-29 09:40+0200\n" "Last-Translator: Alexey Ivanov aka LexxTheFox <lexx@orenubrg.rfn.ru>\n" "Language-Team: ru <ru@li.org>\n" @@ -488,22 +488,31 @@ msgstr "" msgid "Interrupt retrieval" msgstr "" -#: src/screen_help.c:218 +#: src/screen_help.c:136 +msgid "Explicitly download lyrics" +msgstr "" + +#: src/screen_help.c:219 msgid "Help" msgstr "ðÏÍÏÝØ" -#: src/screen_lyrics.c:421 +#: src/screen_lyrics.c:481 msgid "Lyrics [No connection]" msgstr "" -#: src/screen_lyrics.c:422 +#: src/screen_lyrics.c:482 msgid "Lyrics [Not found]" msgstr "" -#: src/screen_lyrics.c:423 +#: src/screen_lyrics.c:485 msgid "Lyrics [retrieving]" msgstr "" +#: src/screen_lyrics.c:567 +#, fuzzy +msgid "Lyrics saved!" +msgstr "üËÒÁÎ ðÌÅÊÌÉÓÔÁ" + #: src/command.c:71 msgid "Key configuration screen" msgstr "üËÒÁÎ ÎÁÓÔÒÏÊËÉ ËÌÁ×ÉÛ" @@ -694,80 +703,85 @@ msgstr "üËÒÁÎ ðÌÅÊÌÉÓÔÁ" msgid "Interrupt action" msgstr "" -#: src/command.c:218 +#: src/command.c:197 +#, fuzzy +msgid "Update Lyrics" +msgstr "ïÂÎÏ×ÉÔØ ÜËÒÁÎ" + +#: src/command.c:220 msgid "Undefined" msgstr "îÅ ÚÁÄÁÎÏ" -#: src/command.c:220 +#: src/command.c:222 msgid "Space" msgstr "ðÒÏÂÅÌ" -#: src/command.c:222 +#: src/command.c:224 msgid "Enter" msgstr "÷×ÏÄ" -#: src/command.c:224 +#: src/command.c:226 msgid "Backspace" msgstr "Backspace" -#: src/command.c:226 +#: src/command.c:228 msgid "Delete" msgstr "Delete" -#: src/command.c:228 +#: src/command.c:230 msgid "Up" msgstr "÷×ÅÒÈ" -#: src/command.c:230 +#: src/command.c:232 msgid "Down" msgstr "÷ÎÉÚ" -#: src/command.c:232 +#: src/command.c:234 msgid "Left" msgstr "÷ÌÅ×Ï" -#: src/command.c:234 +#: src/command.c:236 msgid "Right" msgstr "÷ÐÒÁ×Ï" -#: src/command.c:236 +#: src/command.c:238 msgid "Home" msgstr "Home" -#: src/command.c:238 +#: src/command.c:240 msgid "End" msgstr "End" -#: src/command.c:240 +#: src/command.c:242 msgid "PageDown" msgstr "PageDown" -#: src/command.c:242 +#: src/command.c:244 msgid "PageUp" msgstr "PageUp" -#: src/command.c:244 +#: src/command.c:246 msgid "Tab" msgstr "Tab" -#: src/command.c:246 +#: src/command.c:248 msgid "Shift+Tab" msgstr "Shift+Tab" -#: src/command.c:248 +#: src/command.c:250 msgid "Esc" msgstr "Esc" -#: src/command.c:250 +#: src/command.c:252 msgid "Insert" msgstr "Insert" -#: src/command.c:500 +#: src/command.c:502 #, c-format msgid "Key %s assigned to %s and %s (press %s for the key editor)" msgstr "ëÌÁ×ÉÛÁ %s ÎÁÚÎÁÞÅÎÁ ÄÌÑ %s É %s (%s - ÒÅÄÁËÔÏÒ ËÌÁ×ÉÛ)" -#: src/command.c:507 src/command.c:514 +#: src/command.c:509 src/command.c:516 #, c-format msgid "Error: Key %s assigned to %s and %s !!!\n" msgstr "ïÛÉÂËÁ: ëÌÁ×ÉÛÁ %s ÎÁÚÎÁÞÅÎÁ ÄÌÑ %s É %s !!!\n" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ncmpc 0.11.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-08-05 20:19+0000\n" +"POT-Creation-Date: 2006-08-07 09:10+0000\n" "PO-Revision-Date: 2004-06-05 18:16+0200\n" "Last-Translator: Kalle Wallin <kaw@linux.se>\n" "Language-Team: sv <sv@li.org>\n" @@ -486,22 +486,31 @@ msgstr "" msgid "Interrupt retrieval" msgstr "" -#: src/screen_help.c:218 +#: src/screen_help.c:136 +msgid "Explicitly download lyrics" +msgstr "" + +#: src/screen_help.c:219 msgid "Help" msgstr "Hjälp" -#: src/screen_lyrics.c:421 +#: src/screen_lyrics.c:481 msgid "Lyrics [No connection]" msgstr "" -#: src/screen_lyrics.c:422 +#: src/screen_lyrics.c:482 msgid "Lyrics [Not found]" msgstr "" -#: src/screen_lyrics.c:423 +#: src/screen_lyrics.c:485 msgid "Lyrics [retrieving]" msgstr "" +#: src/screen_lyrics.c:567 +#, fuzzy +msgid "Lyrics saved!" +msgstr "Spellista" + #: src/command.c:71 msgid "Key configuration screen" msgstr "Tangentdefinitioner" @@ -692,80 +701,85 @@ msgstr "Spellista" msgid "Interrupt action" msgstr "" -#: src/command.c:218 +#: src/command.c:197 +#, fuzzy +msgid "Update Lyrics" +msgstr "Updatera" + +#: src/command.c:220 msgid "Undefined" msgstr "Ej definerad" -#: src/command.c:220 +#: src/command.c:222 msgid "Space" msgstr "Mellanslag" -#: src/command.c:222 +#: src/command.c:224 msgid "Enter" msgstr "" -#: src/command.c:224 +#: src/command.c:226 msgid "Backspace" msgstr "" -#: src/command.c:226 +#: src/command.c:228 msgid "Delete" msgstr "Del" -#: src/command.c:228 +#: src/command.c:230 msgid "Up" msgstr "Uppåtpil" -#: src/command.c:230 +#: src/command.c:232 msgid "Down" msgstr "Nedåtpil" -#: src/command.c:232 +#: src/command.c:234 msgid "Left" msgstr "Vänsterpil" -#: src/command.c:234 +#: src/command.c:236 msgid "Right" msgstr "Högerpil" -#: src/command.c:236 +#: src/command.c:238 msgid "Home" msgstr "" -#: src/command.c:238 +#: src/command.c:240 msgid "End" msgstr "" -#: src/command.c:240 +#: src/command.c:242 msgid "PageDown" msgstr "" -#: src/command.c:242 +#: src/command.c:244 msgid "PageUp" msgstr "" -#: src/command.c:244 +#: src/command.c:246 msgid "Tab" msgstr "" -#: src/command.c:246 +#: src/command.c:248 msgid "Shift+Tab" msgstr "" -#: src/command.c:248 +#: src/command.c:250 msgid "Esc" msgstr "" -#: src/command.c:250 +#: src/command.c:252 msgid "Insert" msgstr "Ins" -#: src/command.c:500 +#: src/command.c:502 #, c-format msgid "Key %s assigned to %s and %s (press %s for the key editor)" msgstr "%s tilldelat kommandona %s och %s (tryck på %s och korrigera)" -#: src/command.c:507 src/command.c:514 +#: src/command.c:509 src/command.c:516 #, c-format msgid "Error: Key %s assigned to %s and %s !!!\n" msgstr "Fel: Tangenten %s är tilldelad både %s och %s !!!\n" diff --git a/src/command.c b/src/command.c index 9802fc387..2f0ece1d9 100644 --- a/src/command.c +++ b/src/command.c @@ -191,8 +191,10 @@ static command_definition_t cmds[] = #ifdef ENABLE_LYRICS_SCREEN { {'7', F7, 0 }, 0, CMD_SCREEN_LYRICS, "screen-lyrics", N_("Lyrics screen") }, - { {ESC, 0, 0 }, 0, CMD_INTERRUPT, "screen-lyrics", + { {ESC, 0, 0 }, 0, CMD_INTERRUPT, "lyrics-interrupt", N_("Interrupt action") }, + { {'u', 0, 0 }, 0, CMD_LYRICS_UPDATE, "lyrics-update", + N_("Update Lyrics") }, #endif diff --git a/src/command.h b/src/command.h index fd8c47c9a..86db34ce9 100644 --- a/src/command.h +++ b/src/command.h @@ -53,6 +53,7 @@ typedef enum CMD_SCREEN_CLOCK, CMD_SCREEN_HELP, CMD_SCREEN_LYRICS, + CMD_LYRICS_UPDATE, CMD_INTERRUPT, CMD_QUIT } command_t; diff --git a/src/screen_help.c b/src/screen_help.c index 90032cf9a..2fd675ea9 100644 --- a/src/screen_help.c +++ b/src/screen_help.c @@ -133,6 +133,7 @@ static help_text_row_t help_text[] = { 0, CMD_SCREEN_LYRICS, N_("View Lyrics") }, { 0, CMD_SELECT, N_("(Re)load lyrics") }, { 0, CMD_INTERRUPT, N_("Interrupt retrieval") }, + { 0, CMD_LYRICS_UPDATE, N_("Explicitly download lyrics") }, #endif { 0, CMD_NONE, NULL }, {-1, CMD_NONE, NULL } diff --git a/src/screen_lyrics.c b/src/screen_lyrics.c index d941967ea..8afd41274 100644 --- a/src/screen_lyrics.c +++ b/src/screen_lyrics.c @@ -30,6 +30,7 @@ #include "config.h" #ifndef DISABLE_LYRICS_SCREEN +#include <sys/stat.h> #include "ncmpc.h" #include "options.h" #include "mpdclient.h" @@ -37,11 +38,13 @@ #include "screen.h" #include "screen_utils.h" #include "easy_download.h" +#include "lyrics_screen.h" #include "strfsong.h" -#define LEOSLYRICS_SEARCH_URL "http://api.leoslyrics.com/api_search.php?auth=QuodLibet&artist=%s&songtitle=%s" + +#define LEOSLYRICS_SEARCH_URL "http://api.leoslyrics.com/api_search.php?auth=ncmpc&artist=%s&songtitle=%s" -#define LEOSLYRICS_CONTENT_URL "http://api.leoslyrics.com/api_lyrics.php?auth=QuodLibet&hid=%s" +#define LEOSLYRICS_CONTENT_URL "http://api.leoslyrics.com/api_lyrics.php?auth=ncmpc&hid=%s" #define CREDITS "Lyrics provided by www.LeosLyrics.com" typedef struct _formed_text @@ -51,6 +54,13 @@ typedef struct _formed_text int val; } formed_text; +typedef struct _retrieval_spec +{ + mpdclient_t *client; + int way; +} retrieval_spec; + + XML_Parser parser, contentp; static int lyrics_text_rows = -1; @@ -72,10 +82,10 @@ wasting 3 bits doesn't mean being a fat memory hog like kde.... does it? */ static void lyrics_paint(screen_t *screen, mpdclient_t *c); -void get_text_line(formed_text *text, int num, char *dest, int len) +int get_text_line(formed_text *text, int num, char *dest, int len) { memset(dest, '\0', len*sizeof(char)); - if(num >= text->lines->len-1) return; + if(num >= text->lines->len-1) return -1; int linelen; if(num == 0) { @@ -98,6 +108,8 @@ void get_text_line(formed_text *text, int num, char *dest, int len) } dest[linelen] = '\n'; dest[linelen+1] = '\0'; + + return 0; } void add_text_line(formed_text *dest, const char *src, int len) @@ -138,95 +150,9 @@ void formed_text_init(formed_text *text) text->val = 0; } -/* -char *check_lyr_hd(char *artist, char *title, int how) -{ //checking whether for lyrics file existence and proper access - static char path[1024]; - snprintf(path, 1024, "%s/.lyrics/%s/%s.lyric", - getenv("HOME"), artist, title); - - if(g_access(path, how) != 0) return NULL; - return path; -} - -int get_lyr_hd(char *artist, char *title) -{ - char *path = check_lyr_hd(artist, title, R_OK); - if(path == NULL) return -1; - - FILE *lyr_file; - lyr_file = fopen(path, "r"); - if(lyr_file == NULL) return -1; - - char *buf = NULL; - char **line = &buf; - size_t n = 0; - - while(1) - { - n = getline(line, &n, lyr_file); - if( n < 1 || *line == NULL || feof(lyr_file) != 0 ) return 0; - add_text_line(&lyr_text, *line, n+1); - free(*line); - *line = NULL; n = 0; - } - - return 0; -} - -int store_lyr_hd() -{ - char artist[512]; - char title[512]; - static char path[1024]; - FILE *lyr_file; - - get_text_line(&lyr_text, 0, artist, 512); - get_text_line(&lyr_text, 1, title, 512); - artist[strlen(artist)-2] = '\0'; - title[strlen(title)-2] = '\0'; - - snprintf(path, 1024, "%s/.lyrics/%s/%s.lyric", - getenv("HOME"), artist, title); - - if (check_lyr_hd(artist, title, F_OK) == 0) lyr_file = fopen(path, "w"); - else lyr_file = fopen(path, "xw"); - if(lyr_file == NULL) return -1; - - int i; - char line_buf[1024]; - - for(i = 2; i <= lyr_text.text->len; i++) - { - get_text_line(&lyr_text, i, line_buf, 0); - fputs(line_buf, lyr_file); - } - fclose(lyr_file); - return 0; -} - -*/ -void check_repaint() -{ - if(screen_get_id("lyrics") == get_cur_mode_id())lyrics_paint(NULL, NULL); -} - -int check_dl_progress(void *clientp, double dltotal, double dlnow, - double ultotal, double ulnow) -{ - if(g_timer_elapsed(dltime, NULL) >= options.lyrics_timeout || lock == 4) - { - formed_text_init(&lyr_text); - return -1; - } - - return 0; -} - - static void check_content(void *data, const char *name, const char **atts) -{ +{ if(strstr(name, "text") != NULL) { @@ -286,39 +212,24 @@ static void fetch_text(void *userData, const XML_Char *s, int len) } } -gpointer get_lyr(void *c) +int check_dl_progress(void *clientp, double dltotal, double dlnow, + double ultotal, double ulnow) { - mpd_Status *status = ((mpdclient_t*)c)->status; - mpd_Song *cur = ((mpdclient_t*)c)->song; - mpdclient_update((mpdclient_t*)c); - - if(!(IS_PAUSED(status->state)||IS_PLAYING(status->state))) - { - formed_text_init(&lyr_text); - return NULL; + if(g_timer_elapsed(dltime, NULL) >= options.lyrics_timeout || lock == 4) + { + while (1)fprintf(stderr,"hihffo!"); + formed_text_init(&lyr_text); + return -1; } - + + return 0; +} + + +int check_lyr_http(char *artist, char *title, char *url) +{ char url_avail[256]; - char url_hid[256]; - char artist[MAX_SONGNAME_LENGTH]; - char title[MAX_SONGNAME_LENGTH]; - lock = 2; - result = 0; - - if(dltime == NULL) dltime = g_timer_new(); - - strfsong(artist, MAX_SONGNAME_LENGTH, "%artist%", cur); - strfsong(title, MAX_SONGNAME_LENGTH, "%title%", cur); - - //write header.. - formed_text_init(&lyr_text); - add_text_line(&lyr_text, artist, 0); - add_text_line(&lyr_text, title, 0); - add_text_line(&lyr_text, "", 0); - add_text_line(&lyr_text, "", 0); - - //if(get_lyr_hd(artist, title) == 0) return &lyr_text; - + //this replacess the whitespaces with '+' g_strdelimit(artist, " ", '+'); g_strdelimit(title, " ", '+'); @@ -330,39 +241,180 @@ gpointer get_lyr(void *c) easy_download_struct lyr_avail = {NULL, 0,-1}; g_timer_start(dltime); - if(!easy_download(url_avail, &lyr_avail, check_dl_progress)) return NULL; + if(!easy_download(url_avail, &lyr_avail, check_dl_progress)) return -1; g_timer_stop(dltime); //we gotta parse that stuff with expat parser = XML_ParserCreate(NULL); - XML_SetUserData(parser, NULL); + XML_SetUserData(parser, NULL); - int state = 0; - XML_SetElementHandler(parser, check_search_response, end_tag); XML_SetCharacterDataHandler(parser, check_search_success); - XML_Parse(parser, lyr_avail.data, strlen(lyr_avail.data), state); + XML_Parse(parser, lyr_avail.data, strlen(lyr_avail.data), 0); XML_ParserFree(parser); - if(!(result & 4)) return NULL; //check whether lyrics found - easy_download_struct lyr_content = {NULL, 0,-1}; - snprintf(url_hid, 512, LEOSLYRICS_CONTENT_URL, hid); + if(!(result & 4)) return -1; //check whether lyrics found + snprintf(url, 512, LEOSLYRICS_CONTENT_URL, hid); + + return 0; +} +int get_lyr_http(char *artist, char *title) +{ + char url_hid[256]; + if(dltime == NULL) dltime = g_timer_new(); + + if(check_lyr_http(artist, title, url_hid) != 0) return -1; + easy_download_struct lyr_content = {NULL, 0,-1}; g_timer_continue(dltime); - if(!(easy_download(url_hid, &lyr_content, check_dl_progress))) return NULL; + if(!(easy_download(url_hid, &lyr_content, check_dl_progress))) return -1; g_timer_stop(dltime); contentp = XML_ParserCreate(NULL); XML_SetUserData(contentp, NULL); XML_SetElementHandler(contentp, check_content, end_tag); XML_SetCharacterDataHandler(contentp, fetch_text); - XML_Parse(contentp, lyr_content.data, strlen(lyr_content.data), state); + XML_Parse(contentp, lyr_content.data, strlen(lyr_content.data), 0); XML_ParserFree(contentp); + + return 0; + +} +FILE *create_lyr_file(char *artist, char *title) +{ + char path[1024]; + + snprintf(path, 1024, "%s/.lyrics", + getenv("HOME")); + if(g_access(path, W_OK) != 0) if(mkdir(path, S_IRWXU) != 0) return NULL; + + snprintf(path, 1024, "%s/.lyrics/%s", + getenv("HOME"), artist); + if(g_access(path, W_OK) != 0) if(mkdir(path, S_IRWXU) != 0) return NULL; + + snprintf(path, 1024, "%s/.lyrics/%s/%s.lyric", + getenv("HOME"), artist, title); + + FILE *file = fopen(path, "w"); +} + +char *check_lyr_hd(char *artist, char *title, int how) +{ //checking whether for lyrics file existence and proper access + static char path[1024]; + snprintf(path, 1024, "%s/.lyrics/%s/%s.lyric", + getenv("HOME"), artist, title); + + if(g_access(path, how) != 0) return NULL; + + return path; +} + + +int get_lyr_hd(char *artist, char *title) +{ + char *path = check_lyr_hd(artist, title, R_OK); + if(path == NULL) return -1; + + FILE *lyr_file; + lyr_file = fopen(path, "r"); + if(lyr_file == NULL) return -1; + + char *buf = NULL; + char **line = &buf; + size_t n = 0; + + while(1) + { + n = getline(line, &n, lyr_file); + if( n < 1 || *line == NULL || feof(lyr_file) != 0 ) return 0; + add_text_line(&lyr_text, *line, n+1); + free(*line); + *line = NULL; n = 0; + } + + return 0; +} + +int store_lyr_hd() +{ + char artist[512]; + char title[512]; + static char path[1024]; + FILE *lyr_file; + + get_text_line(&lyr_text, 0, artist, 512); + get_text_line(&lyr_text, 1, title, 512); + artist[strlen(artist)-1] = '\0'; + title[strlen(title)-1] = '\0'; + + snprintf(path, 1024, "%s/.lyrics/%s/%s.lyric", + getenv("HOME"), artist, title); + lyr_file = create_lyr_file(artist, title); + if(lyr_file == NULL) return -1; + int i; + char line_buf[1024]; + + for(i = 4; i <= lyr_text.text->len; i++) + { + if(get_text_line(&lyr_text, i, line_buf, 1024) == -1); + fputs(line_buf, lyr_file); + } + fclose(lyr_file); + return 0; +} + + +void check_repaint() +{ + if(screen_get_id("lyrics") == get_cur_mode_id())lyrics_paint(NULL, NULL); +} + + +gpointer get_lyr(void *c) +{ + mpd_Status *status = ((retrieval_spec*)c)->client->status; + mpd_Song *cur = ((retrieval_spec*)c)->client->song; + //mpdclient_update((mpdclient_t*)c); + + if(!(IS_PAUSED(status->state)||IS_PLAYING(status->state))) + { + formed_text_init(&lyr_text); + return NULL; + } + + + char artist[MAX_SONGNAME_LENGTH]; + char title[MAX_SONGNAME_LENGTH]; + lock = 2; + result = 0; + + formed_text_init(&lyr_text); + + strfsong(artist, MAX_SONGNAME_LENGTH, "%artist%", cur); + strfsong(title, MAX_SONGNAME_LENGTH, "%title%", cur); + + //write header.. + formed_text_init(&lyr_text); + add_text_line(&lyr_text, artist, 0); + add_text_line(&lyr_text, title, 0); + add_text_line(&lyr_text, "", 0); + add_text_line(&lyr_text, "", 0); + + if (((retrieval_spec*)c)->way == 1) + { + if(get_lyr_http(artist, title) != 0) return NULL; + } + else{ + if(get_lyr_hd(artist, title) != 0) + { + if(get_lyr_http(artist, title) != 0) return NULL; + } + else result |= 1; + } lw->start = 0; check_repaint(); - - lock = 1; + lock = 1; return &lyr_text; } @@ -370,10 +422,9 @@ static char * list_callback(int index, int *highlight, void *data) { static char buf[512]; - int linelen; - + //i think i'ts fine to write it into the 1st line... - if((index == lyr_text.lines->len && lyr_text.lines->len != 3)|| + if((index == lyr_text.lines->len && lyr_text.lines->len > 4)|| ((lyr_text.lines->len == 0 ||lyr_text.lines->len == 4) && index == 0)) { @@ -382,11 +433,12 @@ list_callback(int index, int *highlight, void *data) } if(index < 2 && lyr_text.lines->len > 4) *highlight=3; - else if(index >= lyr_text.lines->len) + else if(index >= lyr_text.lines->len || + ( index < 4 && index != 0 && lyr_text.lines->len < 5)) { return ""; } - //if(index >1) index--; + get_text_line(&lyr_text, index, buf, 512); return buf; } @@ -420,10 +472,17 @@ lyrics_exit(void) static char * lyrics_title(char *str, size_t size) { - if(lyr_text.lines->len == 4){ - if(lock == 1 && !(result & 2)) return _("Lyrics [No connection]"); - if(lock == 1 && !(result & 4)) return _("Lyrics [Not found]"); - if(lock == 2) return _("Lyrics [retrieving]"); + if(lyr_text.lines->len == 4) + { + if(lock == 1) + { + if(!(result & 1)) + { + if(!(result & 2)) return _("Lyrics [No connection]"); + if(!(result & 4)) return _("Lyrics [Not found]"); + } + } + if(lock == 2) return _("Lyrics [retrieving]"); } /*if(lyr_text.lines->len > 2) { @@ -462,6 +521,8 @@ static int lyrics_cmd(screen_t *screen, mpdclient_t *c, command_t cmd) { lw->repaint=1; + static retrieval_spec spec; + char *msg; switch(cmd) { case CMD_LIST_NEXT: @@ -493,11 +554,23 @@ lyrics_cmd(screen_t *screen, mpdclient_t *c, command_t cmd) lw->start = 0; return 1; case CMD_SELECT: - g_thread_create(get_lyr, c, FALSE, NULL); + spec.client = c; + spec.way = 0; + g_thread_create(get_lyr, &spec, FALSE, NULL); return 1; case CMD_INTERRUPT: if(lock > 1) lock = 4; return 1; + case CMD_ADD: + if(lock > 0 && lock != 4) + { + if(store_lyr_hd() == 0) screen_status_message (_("Lyrics saved!")); + } + return 1; + case CMD_LYRICS_UPDATE: + spec.client = c; + spec.way = 1; + g_thread_create(get_lyr, &spec, FALSE, NULL); default: break; } |