From 8dbef31519fea7755193eb0bd82b9a5af7074821 Mon Sep 17 00:00:00 2001 From: Martin Wagner Date: Mon, 18 May 2020 17:24:09 +0200 Subject: [PATCH] merged lyrics window into main cover --- bin/mpdevil.py | 82 +++++++++++------- data/org.mpdevil.gschema.xml | 9 +- po/de.po | 159 +++++++++++++++++------------------ po/mpdevil.pot | 152 ++++++++++++++++----------------- 4 files changed, 211 insertions(+), 191 deletions(-) diff --git a/bin/mpdevil.py b/bin/mpdevil.py index 453e13f..1c3decc 100644 --- a/bin/mpdevil.py +++ b/bin/mpdevil.py @@ -1734,6 +1734,22 @@ class Browser(Gtk.Box): self.main_cover.set_property("border-width", 3) self.playlist_view=PlaylistView(self.client, self.settings) + #lyrics button + self.lyrics_button=Gtk.ToggleButton(image=Gtk.Image.new_from_icon_name("media-view-subtitles-symbolic", Gtk.IconSize.LARGE_TOOLBAR)) + self.lyrics_button.set_tooltip_text(_("Show lyrics")) + self.lyrics_button.set_halign(2) + self.lyrics_button.set_valign(1) + style_context=self.lyrics_button.get_style_context() + provider=Gtk.CssProvider() + css=b"""* {opacity: 0.7;}""" + provider.load_from_data(css) + style_context.add_provider(provider, 800) + + #lyrics cover overlay + self.overlay=Gtk.Overlay() + self.overlay.add(self.main_cover) + self.overlay.add_overlay(self.lyrics_button) + #connect self.back_to_album_button.connect("clicked", self.back_to_album) self.search_button.connect("toggled", self.on_search_toggled) @@ -1741,6 +1757,7 @@ class Browser(Gtk.Box): self.settings.connect("changed::playlist-right", self.on_playlist_pos_settings_changed) self.client.emitter.connect("disconnected", self.on_disconnected) self.client.emitter.connect("reconnected", self.on_reconnected) + self.lyrics_button.connect("toggled", self.on_lyrics_toggled) #packing hbox=Gtk.Box(spacing=6) @@ -1759,9 +1776,10 @@ class Browser(Gtk.Box): self.box1.pack_start(Gtk.Separator.new(orientation=Gtk.Orientation.HORIZONTAL), False, False, 0) self.box1.pack_start(self.artist_view, True, True, 0) - self.box2=Gtk.Box(orientation=Gtk.Orientation.VERTICAL) - self.box2.pack_start(self.main_cover, False, False, 0) - self.box2.pack_start(self.playlist_view, True, True, 0) + self.paned0=Gtk.Paned.new(Gtk.Orientation.HORIZONTAL) + self.paned0.set_wide_handle(True) + self.paned0.pack1(self.overlay, False, False) + self.paned0.pack2(self.playlist_view, True, False) self.paned1=Gtk.Paned.new(Gtk.Orientation.HORIZONTAL) self.paned1.set_wide_handle(True) @@ -1773,7 +1791,7 @@ class Browser(Gtk.Box): self.paned1.pack2(self.stack, True, False) self.paned2.pack1(self.paned1, True, False) - self.paned2.pack2(self.box2, False, False) + self.paned2.pack2(self.paned0, False, False) self.load_settings() self.pack_start(self.paned2, True, True, 0) @@ -1781,11 +1799,13 @@ class Browser(Gtk.Box): self.on_playlist_pos_settings_changed() def save_settings(self): + self.settings.set_int("paned0", self.paned0.get_position()) self.settings.set_int("paned1", self.paned1.get_position()) self.settings.set_int("paned2", self.paned2.get_position()) self.playlist_view.save_settings() def load_settings(self): + self.paned0.set_position(self.settings.get_int("paned0")) self.paned1.set_position(self.settings.get_int("paned1")) self.paned2.set_position(self.settings.get_int("paned2")) @@ -1841,6 +1861,7 @@ class Browser(Gtk.Box): def on_reconnected(self, *args): self.back_to_album_button.set_sensitive(True) self.search_button.set_sensitive(True) + self.lyrics_button.set_sensitive(True) self.genre_select.set_sensitive(True) def on_disconnected(self, *args): @@ -1848,6 +1869,8 @@ class Browser(Gtk.Box): self.back_to_album_button.set_sensitive(False) self.search_button.set_active(False) self.search_button.set_sensitive(False) + self.lyrics_button.set_active(False) + self.lyrics_button.set_sensitive(False) self.genre_select.set_sensitive(False) def on_artists_changed(self, *args): @@ -1857,12 +1880,21 @@ class Browser(Gtk.Box): def on_playlist_pos_settings_changed(self, *args): if self.settings.get_boolean("playlist-right"): - self.box2.set_orientation(Gtk.Orientation.VERTICAL) + self.paned0.set_orientation(Gtk.Orientation.VERTICAL) self.paned2.set_orientation(Gtk.Orientation.HORIZONTAL) else: - self.box2.set_orientation(Gtk.Orientation.HORIZONTAL) + self.paned0.set_orientation(Gtk.Orientation.HORIZONTAL) self.paned2.set_orientation(Gtk.Orientation.VERTICAL) + def on_lyrics_toggled(self, widget): + if widget.get_active(): + size=self.settings.get_int("track-cover") + self.lyrics_win=LyricsWindow(self.client, self.settings, size, size) + self.overlay.add_overlay(self.lyrics_win) + self.overlay.reorder_overlay(self.lyrics_win, 0) + else: + self.lyrics_win.destroy() + class ProfileSettings(Gtk.Grid): def __init__(self, parent, settings): Gtk.Grid.__init__(self) @@ -2846,19 +2878,21 @@ class SearchWindow(FocusFrame): self.songs_view.populate(self.client.search("any", self.search_entry.get_text())) self.label.set_text(_("hits: %i") % (self.songs_view.count())) -class LyricsWindow(Gtk.Window): - def __init__(self, client, settings): - Gtk.Window.__init__(self, title=_("Lyrics")) - self.set_icon_name("mpdevil") - self.set_default_size(450, 800) +class LyricsWindow(Gtk.Frame): + def __init__(self, client, settings, width, height): + Gtk.Frame.__init__(self) + + style_context=self.get_style_context() + provider=Gtk.CssProvider() + css=b"""* {border: 0px; background-color: @theme_base_color; opacity: 0.9;}""" + provider.load_from_data(css) + style_context.add_provider(provider, 800) #adding vars self.settings=settings self.client=client #widgets - self.scroll=Gtk.ScrolledWindow() - self.scroll.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) self.label=Gtk.Label() self.label.set_selectable(True) self.label.set_yalign(0) @@ -2869,7 +2903,10 @@ class LyricsWindow(Gtk.Window): self.connect("destroy", self.remove_handlers) #packing + self.scroll=Gtk.ScrolledWindow() + self.scroll.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) self.scroll.add(self.label) + self.scroll.set_margin_start(5) self.add(self.scroll) self.show_all() @@ -2884,7 +2921,7 @@ class LyricsWindow(Gtk.Window): try: text=self.getLyrics(current_song["artist"], current_song["title"]) except: - text=_("not found") + text=_("lyrics not found") GLib.idle_add(self.label.set_text, text) def refresh(self, *args): @@ -2961,8 +2998,6 @@ class MainWindow(Gtk.ApplicationWindow): self.profiles.set_tooltip_text(_("Select profile")) self.control=ClientControl(self.client, self.settings) self.progress=SeekBar(self.client) - self.lyrics_button=Gtk.ToggleButton(image=Gtk.Image.new_from_icon_name("media-view-subtitles-symbolic", self.icon_size)) - self.lyrics_button.set_tooltip_text(_("Show lyrics")) self.play_opts=PlaybackOptions(self.client, self.settings) #menu @@ -2981,7 +3016,6 @@ class MainWindow(Gtk.ApplicationWindow): menu_button.set_image(image=Gtk.Image.new_from_icon_name("open-menu-symbolic", self.icon_size)) #connect - self.lyrics_button.connect("toggled", self.on_lyrics_toggled) self.settings.connect("changed::profiles", self.on_settings_changed) self.client.emitter.connect("playing_file_changed", self.on_file_changed) self.client.emitter.connect("disconnected", self.on_disconnected) @@ -2999,7 +3033,6 @@ class MainWindow(Gtk.ApplicationWindow): self.vbox.pack_start(self.action_bar, False, False, 0) self.action_bar.pack_start(self.control) self.action_bar.pack_start(self.progress) - self.action_bar.pack_start(self.lyrics_button) self.action_bar.pack_start(self.profiles) self.action_bar.pack_start(self.play_opts) self.action_bar.pack_end(menu_button) @@ -3035,28 +3068,15 @@ class MainWindow(Gtk.ApplicationWindow): self.progress.set_sensitive(True) self.control.set_sensitive(True) self.play_opts.set_sensitive(True) - self.lyrics_button.set_sensitive(True) self.browser.back_to_album() def on_disconnected(self, *args): self.dbus_service.release_name() - self.lyrics_button.set_active(False) self.set_title("mpdevil (not connected)") self.songid_playing=None self.progress.set_sensitive(False) self.control.set_sensitive(False) self.play_opts.set_sensitive(False) - self.lyrics_button.set_sensitive(False) - - def on_lyrics_toggled(self, widget): - if widget.get_active(): - if self.client.connected(): - def set_active(*args): - self.lyrics_button.set_active(False) - self.lyrics_win=LyricsWindow(self.client, self.settings) - self.lyrics_win.connect("destroy", set_active) - else: - self.lyrics_win.destroy() def on_key_press_event(self, widget, event): if event.keyval == 32: #space diff --git a/data/org.mpdevil.gschema.xml b/data/org.mpdevil.gschema.xml index 72df0f5..c7aface 100644 --- a/data/org.mpdevil.gschema.xml +++ b/data/org.mpdevil.gschema.xml @@ -11,14 +11,19 @@ Default height of window + + 350 + Default position of cover/playlist separator + + 246 - Default position of artist/album separator + Default position of artist/albums separator 598 - Default position of browser/playlist separator + Default position of paned1/paned0 separator diff --git a/po/de.po b/po/de.po index abfa54b..489ada9 100644 --- a/po/de.po +++ b/po/de.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-12 17:55+0200\n" -"PO-Revision-Date: 2020-05-12 17:56+0200\n" +"POT-Creation-Date: 2020-05-18 17:20+0200\n" +"PO-Revision-Date: 2020-05-18 17:21+0200\n" "Last-Translator: \n" "Language-Team: \n" "Language: de\n" @@ -18,231 +18,235 @@ msgstr "" "X-Generator: Poedit 2.2.4\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mpdevil.py:295 +#: mpdevil.py:261 msgid "Unknown Title" msgstr "Unbekannter Titel" -#: mpdevil.py:295 +#: mpdevil.py:261 msgid "Unknown Artist" msgstr "Unbekannter Interpret" -#: mpdevil.py:295 +#: mpdevil.py:261 msgid "Unknown Album" msgstr "Unbekanntes Album" -#: mpdevil.py:882 mpdevil.py:1499 mpdevil.py:2152 +#: mpdevil.py:922 mpdevil.py:1537 mpdevil.py:2222 msgid "No" msgstr "Nr." -#: mpdevil.py:887 mpdevil.py:1505 mpdevil.py:2152 +#: mpdevil.py:927 mpdevil.py:1543 mpdevil.py:2222 msgid "Title" msgstr "Titel" -#: mpdevil.py:892 mpdevil.py:1108 mpdevil.py:1508 mpdevil.py:2152 +#: mpdevil.py:932 mpdevil.py:1146 mpdevil.py:1546 mpdevil.py:2222 msgid "Artist" msgstr "Interpret" -#: mpdevil.py:897 mpdevil.py:1511 mpdevil.py:2152 +#: mpdevil.py:937 mpdevil.py:1549 mpdevil.py:2222 msgid "Album" msgstr "Album" -#: mpdevil.py:903 mpdevil.py:1514 mpdevil.py:2152 +#: mpdevil.py:943 mpdevil.py:1552 mpdevil.py:2222 msgid "Length" msgstr "Länge" -#: mpdevil.py:1022 +#: mpdevil.py:1060 msgid "all genres" msgstr "Alle Genres" -#: mpdevil.py:1106 +#: mpdevil.py:1144 msgid "Album Artist" msgstr "Albuminterpret" -#: mpdevil.py:1109 +#: mpdevil.py:1147 msgid "all artists" msgstr "Alle Interpreten" -#: mpdevil.py:1252 +#: mpdevil.py:1283 #, python-format msgid "%(total_tracks)i titles on %(discs)i discs (%(total_length)s)" msgstr "%(total_tracks)i Titel auf %(discs)i CDs (%(total_length)s)" -#: mpdevil.py:1254 mpdevil.py:1604 +#: mpdevil.py:1285 mpdevil.py:1635 #, python-format msgid "%(total_tracks)i titles (%(total_length)s)" msgstr "%(total_tracks)i Titel (%(total_length)s)" -#: mpdevil.py:1502 mpdevil.py:2152 +#: mpdevil.py:1540 mpdevil.py:2222 msgid "Disc" msgstr "CD" -#: mpdevil.py:1517 mpdevil.py:2152 +#: mpdevil.py:1555 mpdevil.py:2222 msgid "Year" msgstr "Jahr" -#: mpdevil.py:1520 mpdevil.py:2152 +#: mpdevil.py:1558 mpdevil.py:2222 msgid "Genre" msgstr "Genre" -#: mpdevil.py:1697 +#: mpdevil.py:1726 msgid "Back to current album" msgstr "Zurück zu aktuellem Album" -#: mpdevil.py:1699 mpdevil.py:2776 +#: mpdevil.py:1728 msgid "Search" msgstr "Suche" -#: mpdevil.py:1863 +#: mpdevil.py:1739 +msgid "Show lyrics" +msgstr "Zeige Liedtext" + +#: mpdevil.py:1933 msgid "Profile:" msgstr "Profil:" -#: mpdevil.py:1865 +#: mpdevil.py:1935 msgid "Name:" msgstr "Name:" -#: mpdevil.py:1867 +#: mpdevil.py:1937 msgid "Host:" msgstr "Host:" -#: mpdevil.py:1869 +#: mpdevil.py:1939 msgid "Password:" msgstr "Passwort:" -#: mpdevil.py:1871 +#: mpdevil.py:1941 msgid "Music lib:" msgstr "Musikverzeichnis:" -#: mpdevil.py:1958 +#: mpdevil.py:2028 msgid "Choose directory" msgstr "Verzeichnis Wählen" -#: mpdevil.py:1996 +#: mpdevil.py:2066 msgid "Main cover size:" msgstr "Größe des Haupt-Covers:" -#: mpdevil.py:2000 +#: mpdevil.py:2070 msgid "Album view cover size:" msgstr "Covergröße in Albumliste:" -#: mpdevil.py:2004 +#: mpdevil.py:2074 msgid "Button icon size:" msgstr "Symbolgröße der Knöpfe:" -#: mpdevil.py:2006 +#: mpdevil.py:2076 msgid "(restart required)" msgstr "(Neustart erforderlich)" -#: mpdevil.py:2017 +#: mpdevil.py:2087 msgid "Sort albums by:" msgstr "Sortiere Alben nach:" -#: mpdevil.py:2017 +#: mpdevil.py:2087 msgid "name" msgstr "Name" -#: mpdevil.py:2017 +#: mpdevil.py:2087 msgid "year" msgstr "Jahr" -#: mpdevil.py:2018 +#: mpdevil.py:2088 msgid "Position of playlist:" msgstr "Wiedergabelistenposition:" -#: mpdevil.py:2018 +#: mpdevil.py:2088 msgid "bottom" msgstr "unten" -#: mpdevil.py:2018 +#: mpdevil.py:2088 msgid "right" msgstr "rechts" -#: mpdevil.py:2034 +#: mpdevil.py:2104 msgid "View" msgstr "Ansicht" -#: mpdevil.py:2037 +#: mpdevil.py:2107 msgid "Behavior" msgstr "Verhalten" -#: mpdevil.py:2042 +#: mpdevil.py:2112 msgid "Show stop button" msgstr "Zeige Stopp-Knopf" -#: mpdevil.py:2043 +#: mpdevil.py:2113 msgid "Show initials in artist view" msgstr "Zeige Anfangsbuchstaben in Interpretenliste" -#: mpdevil.py:2044 +#: mpdevil.py:2114 msgid "Show tooltips in album view" msgstr "Zeige Tooltips in Albumliste" -#: mpdevil.py:2045 +#: mpdevil.py:2115 msgid "Use 'Album Artist' tag" msgstr "Benutze \"Album Artist\" Tag" -#: mpdevil.py:2046 +#: mpdevil.py:2116 msgid "Send notification on title change" msgstr "Sende Benachrichtigung bei Titelwechsel" -#: mpdevil.py:2047 +#: mpdevil.py:2117 msgid "Stop playback on quit" msgstr "Wiedergabe beim Beenden stoppen" -#: mpdevil.py:2048 +#: mpdevil.py:2118 msgid "Play selected albums and titles immediately" msgstr "Ausgewählte Alben und Titel sofort abspielen" -#: mpdevil.py:2124 +#: mpdevil.py:2194 msgid "Choose the order of information to appear in the playlist:" msgstr "" "Lege die Reihenfolge fest, in der Informationen in der Wiedergabeliste " "angezeigt werden sollen:" -#: mpdevil.py:2237 mpdevil.py:2937 +#: mpdevil.py:2307 mpdevil.py:3006 msgid "Settings" msgstr "Einstellungen" -#: mpdevil.py:2251 +#: mpdevil.py:2321 msgid "General" msgstr "Allgemein" -#: mpdevil.py:2252 +#: mpdevil.py:2322 msgid "Profiles" msgstr "Profile" -#: mpdevil.py:2253 +#: mpdevil.py:2323 msgid "Playlist" msgstr "Wiedergabeliste" -#: mpdevil.py:2524 +#: mpdevil.py:2574 msgid "Random mode" msgstr "Zufallsmodus" -#: mpdevil.py:2526 +#: mpdevil.py:2576 msgid "Repeat mode" msgstr "Dauerschleife" -#: mpdevil.py:2528 +#: mpdevil.py:2578 msgid "Single mode" msgstr "Einzelstückmodus" -#: mpdevil.py:2530 +#: mpdevil.py:2580 msgid "Consume mode" msgstr "Wiedergabeliste verbrauchen" -#: mpdevil.py:2620 +#: mpdevil.py:2670 msgid "Show additional information" msgstr "Zeige weitere Informationen" -#: mpdevil.py:2646 +#: mpdevil.py:2696 msgid "MPD-Tag" msgstr "MPD-Tag" -#: mpdevil.py:2650 +#: mpdevil.py:2700 msgid "Value" msgstr "Wert" -#: mpdevil.py:2672 +#: mpdevil.py:2732 #, python-format msgid "" "%(bitrate)s kb/s, %(frequency)s kHz, %(resolution)s bit, %(channels)s " @@ -251,63 +255,58 @@ msgstr "" "%(bitrate)s kb/s, %(frequency)s kHz, %(resolution)s bit, %(channels)s " "Kanäle, %(file_type)s" -#: mpdevil.py:2726 +#: mpdevil.py:2786 msgid "Stats" msgstr "Statistik" -#: mpdevil.py:2813 +#: mpdevil.py:2879 #, python-format msgid "hits: %i" msgstr "Treffer: %i" -#: mpdevil.py:2817 -msgid "Lyrics" -msgstr "Liedtext" - -#: mpdevil.py:2849 +#: mpdevil.py:2920 msgid "searching..." msgstr "suche..." -#: mpdevil.py:2853 -msgid "not found" -msgstr "nicht gefunden" +#: mpdevil.py:2924 +msgid "lyrics not found" +msgstr "Liedtext nicht gefunden" -#: mpdevil.py:2927 +#: mpdevil.py:2998 msgid "Select profile" msgstr "Profil auswählen" -#: mpdevil.py:2931 -msgid "Show lyrics" -msgstr "Zeige Liedtext" - -#: mpdevil.py:2936 +#: mpdevil.py:3005 msgid "Save window layout" msgstr "Fensterlayout speichern" -#: mpdevil.py:2938 +#: mpdevil.py:3007 msgid "Update database" msgstr "Datenbank aktualisieren" -#: mpdevil.py:2939 +#: mpdevil.py:3008 msgid "Server stats" msgstr "Serverstatistik" -#: mpdevil.py:2940 +#: mpdevil.py:3009 msgid "About" msgstr "Über" -#: mpdevil.py:2941 +#: mpdevil.py:3010 msgid "Quit" msgstr "Beenden" -#: mpdevil.py:2946 +#: mpdevil.py:3015 msgid "Menu" msgstr "Menü" -#: mpdevil.py:3103 +#: mpdevil.py:3164 msgid "A small MPD client written in python" msgstr "" +#~ msgid "Lyrics" +#~ msgstr "Liedtext" + #~ msgid "Tag" #~ msgstr "Tag" diff --git a/po/mpdevil.pot b/po/mpdevil.pot index 19f753f..f15cb92 100644 --- a/po/mpdevil.pot +++ b/po/mpdevil.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-12 17:55+0200\n" +"POT-Creation-Date: 2020-05-18 17:20+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,288 +17,284 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: mpdevil.py:295 +#: mpdevil.py:261 msgid "Unknown Title" msgstr "" -#: mpdevil.py:295 +#: mpdevil.py:261 msgid "Unknown Artist" msgstr "" -#: mpdevil.py:295 +#: mpdevil.py:261 msgid "Unknown Album" msgstr "" -#: mpdevil.py:882 mpdevil.py:1499 mpdevil.py:2152 +#: mpdevil.py:922 mpdevil.py:1537 mpdevil.py:2222 msgid "No" msgstr "" -#: mpdevil.py:887 mpdevil.py:1505 mpdevil.py:2152 +#: mpdevil.py:927 mpdevil.py:1543 mpdevil.py:2222 msgid "Title" msgstr "" -#: mpdevil.py:892 mpdevil.py:1108 mpdevil.py:1508 mpdevil.py:2152 +#: mpdevil.py:932 mpdevil.py:1146 mpdevil.py:1546 mpdevil.py:2222 msgid "Artist" msgstr "" -#: mpdevil.py:897 mpdevil.py:1511 mpdevil.py:2152 +#: mpdevil.py:937 mpdevil.py:1549 mpdevil.py:2222 msgid "Album" msgstr "" -#: mpdevil.py:903 mpdevil.py:1514 mpdevil.py:2152 +#: mpdevil.py:943 mpdevil.py:1552 mpdevil.py:2222 msgid "Length" msgstr "" -#: mpdevil.py:1022 +#: mpdevil.py:1060 msgid "all genres" msgstr "" -#: mpdevil.py:1106 +#: mpdevil.py:1144 msgid "Album Artist" msgstr "" -#: mpdevil.py:1109 +#: mpdevil.py:1147 msgid "all artists" msgstr "" -#: mpdevil.py:1252 +#: mpdevil.py:1283 #, python-format msgid "%(total_tracks)i titles on %(discs)i discs (%(total_length)s)" msgstr "" -#: mpdevil.py:1254 mpdevil.py:1604 +#: mpdevil.py:1285 mpdevil.py:1635 #, python-format msgid "%(total_tracks)i titles (%(total_length)s)" msgstr "" -#: mpdevil.py:1502 mpdevil.py:2152 +#: mpdevil.py:1540 mpdevil.py:2222 msgid "Disc" msgstr "" -#: mpdevil.py:1517 mpdevil.py:2152 +#: mpdevil.py:1555 mpdevil.py:2222 msgid "Year" msgstr "" -#: mpdevil.py:1520 mpdevil.py:2152 +#: mpdevil.py:1558 mpdevil.py:2222 msgid "Genre" msgstr "" -#: mpdevil.py:1697 +#: mpdevil.py:1726 msgid "Back to current album" msgstr "" -#: mpdevil.py:1699 mpdevil.py:2776 +#: mpdevil.py:1728 msgid "Search" msgstr "" -#: mpdevil.py:1863 +#: mpdevil.py:1739 +msgid "Show lyrics" +msgstr "" + +#: mpdevil.py:1933 msgid "Profile:" msgstr "" -#: mpdevil.py:1865 +#: mpdevil.py:1935 msgid "Name:" msgstr "" -#: mpdevil.py:1867 +#: mpdevil.py:1937 msgid "Host:" msgstr "" -#: mpdevil.py:1869 +#: mpdevil.py:1939 msgid "Password:" msgstr "" -#: mpdevil.py:1871 +#: mpdevil.py:1941 msgid "Music lib:" msgstr "" -#: mpdevil.py:1958 +#: mpdevil.py:2028 msgid "Choose directory" msgstr "" -#: mpdevil.py:1996 +#: mpdevil.py:2066 msgid "Main cover size:" msgstr "" -#: mpdevil.py:2000 +#: mpdevil.py:2070 msgid "Album view cover size:" msgstr "" -#: mpdevil.py:2004 +#: mpdevil.py:2074 msgid "Button icon size:" msgstr "" -#: mpdevil.py:2006 +#: mpdevil.py:2076 msgid "(restart required)" msgstr "" -#: mpdevil.py:2017 +#: mpdevil.py:2087 msgid "Sort albums by:" msgstr "" -#: mpdevil.py:2017 +#: mpdevil.py:2087 msgid "name" msgstr "" -#: mpdevil.py:2017 +#: mpdevil.py:2087 msgid "year" msgstr "" -#: mpdevil.py:2018 +#: mpdevil.py:2088 msgid "Position of playlist:" msgstr "" -#: mpdevil.py:2018 +#: mpdevil.py:2088 msgid "bottom" msgstr "" -#: mpdevil.py:2018 +#: mpdevil.py:2088 msgid "right" msgstr "" -#: mpdevil.py:2034 +#: mpdevil.py:2104 msgid "View" msgstr "" -#: mpdevil.py:2037 +#: mpdevil.py:2107 msgid "Behavior" msgstr "" -#: mpdevil.py:2042 +#: mpdevil.py:2112 msgid "Show stop button" msgstr "" -#: mpdevil.py:2043 +#: mpdevil.py:2113 msgid "Show initials in artist view" msgstr "" -#: mpdevil.py:2044 +#: mpdevil.py:2114 msgid "Show tooltips in album view" msgstr "" -#: mpdevil.py:2045 +#: mpdevil.py:2115 msgid "Use 'Album Artist' tag" msgstr "" -#: mpdevil.py:2046 +#: mpdevil.py:2116 msgid "Send notification on title change" msgstr "" -#: mpdevil.py:2047 +#: mpdevil.py:2117 msgid "Stop playback on quit" msgstr "" -#: mpdevil.py:2048 +#: mpdevil.py:2118 msgid "Play selected albums and titles immediately" msgstr "" -#: mpdevil.py:2124 +#: mpdevil.py:2194 msgid "Choose the order of information to appear in the playlist:" msgstr "" -#: mpdevil.py:2237 mpdevil.py:2937 +#: mpdevil.py:2307 mpdevil.py:3006 msgid "Settings" msgstr "" -#: mpdevil.py:2251 +#: mpdevil.py:2321 msgid "General" msgstr "" -#: mpdevil.py:2252 +#: mpdevil.py:2322 msgid "Profiles" msgstr "" -#: mpdevil.py:2253 +#: mpdevil.py:2323 msgid "Playlist" msgstr "" -#: mpdevil.py:2524 +#: mpdevil.py:2574 msgid "Random mode" msgstr "" -#: mpdevil.py:2526 +#: mpdevil.py:2576 msgid "Repeat mode" msgstr "" -#: mpdevil.py:2528 +#: mpdevil.py:2578 msgid "Single mode" msgstr "" -#: mpdevil.py:2530 +#: mpdevil.py:2580 msgid "Consume mode" msgstr "" -#: mpdevil.py:2620 +#: mpdevil.py:2670 msgid "Show additional information" msgstr "" -#: mpdevil.py:2646 +#: mpdevil.py:2696 msgid "MPD-Tag" msgstr "" -#: mpdevil.py:2650 +#: mpdevil.py:2700 msgid "Value" msgstr "" -#: mpdevil.py:2672 +#: mpdevil.py:2732 #, python-format msgid "" "%(bitrate)s kb/s, %(frequency)s kHz, %(resolution)s bit, %(channels)s " "channels, %(file_type)s" msgstr "" -#: mpdevil.py:2726 +#: mpdevil.py:2786 msgid "Stats" msgstr "" -#: mpdevil.py:2813 +#: mpdevil.py:2879 #, python-format msgid "hits: %i" msgstr "" -#: mpdevil.py:2817 -msgid "Lyrics" -msgstr "" - -#: mpdevil.py:2849 +#: mpdevil.py:2920 msgid "searching..." msgstr "" -#: mpdevil.py:2853 -msgid "not found" +#: mpdevil.py:2924 +msgid "lyrics not found" msgstr "" -#: mpdevil.py:2927 +#: mpdevil.py:2998 msgid "Select profile" msgstr "" -#: mpdevil.py:2931 -msgid "Show lyrics" -msgstr "" - -#: mpdevil.py:2936 +#: mpdevil.py:3005 msgid "Save window layout" msgstr "" -#: mpdevil.py:2938 +#: mpdevil.py:3007 msgid "Update database" msgstr "" -#: mpdevil.py:2939 +#: mpdevil.py:3008 msgid "Server stats" msgstr "" -#: mpdevil.py:2940 +#: mpdevil.py:3009 msgid "About" msgstr "" -#: mpdevil.py:2941 +#: mpdevil.py:3010 msgid "Quit" msgstr "" -#: mpdevil.py:2946 +#: mpdevil.py:3015 msgid "Menu" msgstr "" -#: mpdevil.py:3103 +#: mpdevil.py:3164 msgid "A small MPD client written in python" msgstr ""