24 Commits

Author SHA1 Message Date
Martin Wagner
2d6b83a94e preparations for 1.1.0 2021-02-13 12:03:08 +01:00
Martin Wagner
7610178497 removed empty tooltips 2021-02-13 11:56:16 +01:00
Martin Wagner
dedcca7bc4 changed default settings 2021-02-13 11:48:17 +01:00
Martin Wagner
95386b05bc removed separator 2021-02-12 21:48:54 +01:00
Martin Wagner
7c5f0b4fbf changed order of check buttons in settings window 2021-02-12 21:26:32 +01:00
Martin Wagner
8217a87f13 small formulation change 2021-02-12 17:00:06 +01:00
Martin Wagner
432a4d4425 dutch translation update 2021-02-12 09:34:02 +01:00
Martin Wagner
15ed338062 german translation update 2021-02-11 22:20:35 +01:00
Martin Wagner
6fc61f37e0 removed "combo_settings" from settings window 2021-02-11 19:09:12 +01:00
Martin Wagner
f07d7a3448 removed show-album-view-tooltips key 2021-02-11 18:10:39 +01:00
Martin Wagner
576bc088e9 remember mini player state 2021-02-08 17:49:45 +01:00
Martin Wagner
a5b2ad16dc fixed paned positions restoring 2021-02-08 09:32:55 +01:00
Martin Wagner
27b4efb49f improved column sizing in playlist window 2021-02-07 19:27:06 +01:00
Martin Wagner
b2cab7b188 removed unneeded vars 2021-02-07 19:14:38 +01:00
Martin Wagner
c4734d80b7 automatically save window layout 2021-02-07 19:05:30 +01:00
Martin Wagner
3ecb93b7b9 added mpd specific icons 2021-02-07 12:23:16 +01:00
Martin Wagner
4a0b6a0350 added symbolic app icon 2021-02-07 10:03:45 +01:00
Martin Wagner
7916112432 allow moving the miniplayer by dragging the cover 2021-02-04 21:33:51 +01:00
Martin Wagner
4e8ae30201 icon style fixes 2021-02-01 20:41:00 +01:00
Martin Wagner
a5a53032f2 small fix in german translation 2021-01-23 12:45:58 +01:00
Martin Wagner
24d5bd1ca3 fixed AudioType 2021-01-16 23:06:04 +01:00
Martin Wagner
959dc9b5ad improved sigular plural handling in translations 2021-01-16 14:55:06 +01:00
Martin Wagner
e8191eab7c preparations for 1.0.0 2021-01-02 11:49:04 +01:00
Martin Wagner
5db00fcd27 fixed release order in appdata file 2021-01-01 22:00:59 +01:00
23 changed files with 784 additions and 735 deletions

View File

@@ -2,7 +2,7 @@ README for mpdevil
==================
Mpdevil is a simple music browser for the Music Player Daemon (MPD) which is focused on playing local music without the need of managing playlists. Instead of maintaining a client side database of your music library mpdevil loads all tags and covers on demand. So you'll never see any outdated information in the browser. Mpdevil strongly relies on tags.
![ScreenShot](screenshots/mainwindow_0.9.5.png)
![ScreenShot](screenshots/mainwindow_1.1.0.png)
Features
--------

View File

@@ -29,13 +29,12 @@ import datetime
import os
import sys
import re
import gettext
gettext.textdomain("mpdevil")
from gettext import gettext as _, ngettext, textdomain, bindtextdomain
textdomain("mpdevil")
if os.path.isfile("/.flatpak-info"): # test for flatpak environment
gettext.bindtextdomain("mpdevil", "/app/share/locale")
_=gettext.gettext
bindtextdomain("mpdevil", "/app/share/locale")
VERSION="0.9.9" # sync with setup.py
VERSION="1.1.0" # sync with setup.py
COVER_REGEX=r"^\.?(album|cover|folder|front).*\.(gif|jpeg|jpg|png)$"
@@ -434,9 +433,13 @@ class MPRISInterface: # TODO emit Seeked if needed
class ClientHelper():
def seconds_to_display_time(seconds):
raw_time_string=str(datetime.timedelta(seconds=seconds))
stript_time_string=raw_time_string.lstrip("0").lstrip(":")
return stript_time_string.replace(":", "") # use 'ratio' as delimiter
delta=datetime.timedelta(seconds=seconds)
if delta.days > 0:
days=ngettext("{days} day", "{days} days", delta.days).format(days=delta.days)
time_string=days+", "+str(datetime.timedelta(seconds=delta.seconds))
else:
time_string=str(delta).lstrip("0").lstrip(":")
return time_string.replace(":", "") # use 'ratio' as delimiter
def song_to_str_dict(song): # converts tags with multiple values to comma separated strings
return_song={}
@@ -809,25 +812,6 @@ class GeneralSettings(Gtk.Box):
self._settings.connect("changed::{}".format(key), self._on_int_settings_changed, int_settings[key][1])
)
# combo_settings
combo_settings={}
combo_settings_data=[
(_("Sort albums by:"), _("name"), _("year"), "sort-albums-by-year"),
(_("Position of playlist:"), _("bottom"), _("right"), "playlist-right")
]
for label, vfalse, vtrue, key in combo_settings_data:
combo_settings[key]=(Gtk.Label(label=label, xalign=0), Gtk.ComboBoxText(entry_text_column=0))
combo_settings[key][1].append_text(vfalse)
combo_settings[key][1].append_text(vtrue)
if self._settings.get_boolean(key):
combo_settings[key][1].set_active(1)
else:
combo_settings[key][1].set_active(0)
combo_settings[key][1].connect("changed", self._on_combo_changed, key)
self._settings_handlers.append(
self._settings.connect("changed::{}".format(key), self._on_combo_settings_changed, combo_settings[key][1])
)
# check buttons
check_buttons={}
check_buttons_data=[
@@ -835,13 +819,13 @@ class GeneralSettings(Gtk.Box):
(_("Show stop button"), "show-stop"),
(_("Show lyrics button"), "show-lyrics-button"),
(_("Show initials in artist view"), "show-initials"),
(_("Show tooltips in album view"), "show-album-view-tooltips"),
(_("Place playlist at the side"), "playlist-right"),
(_("Use “Album Artist” tag"), "use-album-artist"),
(_("Send notification on title change"), "send-notify"),
(_("Stop playback on quit"), "stop-on-quit"),
(_("Play selected albums and titles immediately"), "force-mode")
(_("Play selected albums and titles immediately"), "force-mode"),
(_("Sort albums by year"), "sort-albums-by-year"),
]
for label, key in check_buttons_data:
check_buttons[key]=Gtk.CheckButton(label=label)
check_buttons[key].set_active(self._settings.get_boolean(key))
@@ -862,22 +846,10 @@ class GeneralSettings(Gtk.Box):
view_grid.attach_next_to(int_settings["album-cover"][0], int_settings["track-cover"][0], Gtk.PositionType.BOTTOM, 1, 1)
view_grid.attach_next_to(int_settings["icon-size"][0], int_settings["album-cover"][0], Gtk.PositionType.BOTTOM, 1, 1)
view_grid.attach_next_to(int_settings["icon-size-sec"][0], int_settings["icon-size"][0], Gtk.PositionType.BOTTOM, 1, 1)
view_grid.attach_next_to(combo_settings["playlist-right"][0], int_settings["icon-size-sec"][0], Gtk.PositionType.BOTTOM, 1, 1)
view_grid.attach_next_to(int_settings["track-cover"][1], int_settings["track-cover"][0], Gtk.PositionType.RIGHT, 1, 1)
view_grid.attach_next_to(int_settings["album-cover"][1], int_settings["album-cover"][0], Gtk.PositionType.RIGHT, 1, 1)
view_grid.attach_next_to(int_settings["icon-size"][1], int_settings["icon-size"][0], Gtk.PositionType.RIGHT, 1, 1)
view_grid.attach_next_to(int_settings["icon-size-sec"][1], int_settings["icon-size-sec"][0], Gtk.PositionType.RIGHT, 1, 1)
view_grid.attach_next_to(combo_settings["playlist-right"][1], combo_settings["playlist-right"][0], Gtk.PositionType.RIGHT, 1, 1)
# behavior grid
behavior_grid=Gtk.Grid(row_spacing=6, column_spacing=12)
behavior_grid.set_margin_start(12)
behavior_grid.add(combo_settings["sort-albums-by-year"][0])
behavior_grid.attach_next_to(
combo_settings["sort-albums-by-year"][1],
combo_settings["sort-albums-by-year"][0],
Gtk.PositionType.RIGHT, 1, 1
)
# connect
self.connect("destroy", self._remove_handlers)
@@ -891,14 +863,14 @@ class GeneralSettings(Gtk.Box):
self.pack_start(check_buttons["show-stop"], False, False, 0)
self.pack_start(check_buttons["show-lyrics-button"], False, False, 0)
self.pack_start(check_buttons["show-initials"], False, False, 0)
self.pack_start(check_buttons["show-album-view-tooltips"], False, False, 0)
self.pack_start(check_buttons["playlist-right"], False, False, 0)
self.pack_start(view_grid, False, False, 0)
self.pack_start(behavior_heading, False, False, 0)
self.pack_start(check_buttons["use-album-artist"], False, False, 0)
self.pack_start(check_buttons["sort-albums-by-year"], False, False, 0)
self.pack_start(check_buttons["send-notify"], False, False, 0)
self.pack_start(check_buttons["stop-on-quit"], False, False, 0)
self.pack_start(check_buttons["force-mode"], False, False, 0)
self.pack_start(behavior_grid, False, False, 0)
self.pack_start(check_buttons["stop-on-quit"], False, False, 0)
def _remove_handlers(self, *args):
for handler in self._settings_handlers:
@@ -907,25 +879,12 @@ class GeneralSettings(Gtk.Box):
def _on_int_settings_changed(self, settings, key, entry):
entry.set_value(settings.get_int(key))
def _on_combo_settings_changed(self, settings, key, combo):
if settings.get_boolean(key):
combo.set_active(1)
else:
combo.set_active(0)
def _on_check_settings_changed(self, settings, key, button):
button.set_active(settings.get_boolean(key))
def _on_int_changed(self, widget, key):
self._settings.set_int(key, int(widget.get_value()))
def _on_combo_changed(self, box, key):
active=box.get_active()
if active == 0:
self._settings.set_boolean(key, False)
else:
self._settings.set_boolean(key, True)
def _on_toggled(self, widget, key):
self._settings.set_boolean(key, widget.get_active())
@@ -1893,7 +1852,8 @@ class SearchWindow(Gtk.Box):
song["human_duration"], song["file"],
int_track
])
self._hits_label.set_text(_("{num} hits").format(num=self._songs_view.count()))
hits=self._songs_view.count()
self._hits_label.set_text(ngettext("{hits} hit", "{hits} hits", hits).format(hits=hits))
if self._songs_view.count() == 0:
self._action_bar.set_sensitive(False)
else:
@@ -2086,8 +2046,7 @@ class AlbumWindow(FocusFrame):
self._sort_settings()
# iconview
self._iconview=Gtk.IconView(model=self._store, item_width=0, pixbuf_column=0, markup_column=1)
self._tooltip_settings()
self._iconview=Gtk.IconView(model=self._store, item_width=0, pixbuf_column=0, markup_column=1, tooltip_column=3)
# scroll
scroll=Gtk.ScrolledWindow()
@@ -2107,7 +2066,6 @@ class AlbumWindow(FocusFrame):
self._client.emitter.connect("update", self._clear)
self._client.emitter.connect("disconnected", self._on_disconnected)
self._client.emitter.connect("reconnected", self._on_reconnected)
self._settings.connect("changed::show-album-view-tooltips", self._tooltip_settings)
self._settings.connect("changed::sort-albums-by-year", self._sort_settings)
self._settings.connect("changed::album-cover", self._on_cover_size_changed)
self._settings.connect("changed::use-album-artist", self._clear)
@@ -2152,12 +2110,6 @@ class AlbumWindow(FocusFrame):
elif not self.scroll_to_current_album in self._pending:
self._pending.append(self.scroll_to_current_album)
def _tooltip_settings(self, *args):
if self._settings.get_boolean("show-album-view-tooltips"):
self._iconview.set_tooltip_column(3)
else:
self._iconview.set_tooltip_column(-1)
def _sort_settings(self, *args):
if self._settings.get_boolean("sort-albums-by-year"):
self._store.set_sort_column_id(5, Gtk.SortType.ASCENDING)
@@ -2219,17 +2171,16 @@ class AlbumWindow(FocusFrame):
for i, album in enumerate(albums):
# tooltip
length_human_readable=ClientHelper.calc_display_length(album["songs"])
titles=len(album["songs"])
discs=album["songs"][-1].get("disc", 1)
if type(discs) == list:
discs=int(discs[0])
else:
discs=int(discs)
tooltip=ngettext("{titles} title", "{titles} titles", titles).format(titles=titles)
if discs > 1:
tooltip=_("{titles} titles on {discs} discs ({length})").format(
titles=len(album["songs"]), discs=discs, length=length_human_readable)
else:
tooltip=_("{titles} titles ({length})").format(
titles=len(album["songs"]), length=length_human_readable)
tooltip=" ".join((tooltip, _("on {discs} discs").format(discs=discs)))
tooltip=" ".join((tooltip, "({length})".format(length=length_human_readable)))
# album label
if album["year"] == "":
display_label="<b>{}</b>".format(album["album"])
@@ -2306,7 +2257,7 @@ class AlbumWindow(FocusFrame):
artist=self._store[path][6]
v=self._scroll_vadj.get_value()
h=self._scroll_hadj.get_value()
pop=AlbumPopover(self._client, self._settings, album, artist, year, widget, int(event.x-h), int(event.y-v))
pop=AlbumPopover(self._client, self._settings, album, artist, year, widget, event.x-h, event.y-v)
pop.popup()
self._button_event=(None, None)
@@ -2351,7 +2302,7 @@ class Browser(Gtk.Paned):
__gsignals__={"search_focus_changed": (GObject.SignalFlags.RUN_FIRST, None, (bool,))}
def __init__(self, client, settings):
super().__init__(orientation=Gtk.Orientation.HORIZONTAL) # paned1
super().__init__(orientation=Gtk.Orientation.HORIZONTAL)
# adding vars
self._client=client
@@ -2404,10 +2355,6 @@ class Browser(Gtk.Paned):
box1.pack_start(self._artist_window, True, True, 0)
self.pack1(box1, False, False)
self.pack2(self._stack, True, False)
self.set_position(self._settings.get_int("paned1"))
def save_settings(self):
self._settings.set_int("paned1", self.get_position())
def _back_to_current_album(self, *args):
def callback():
@@ -2460,10 +2407,15 @@ class Browser(Gtk.Paned):
self.search_button.set_active(False)
def _on_mini_player(self, obj, typestring):
visibility=not(obj.get_property("mini-player"))
self.set_property("visible", visibility)
self.back_to_current_album_button.set_property("visible", visibility)
self.search_button.set_property("visible", visibility)
state=obj.get_property("mini-player")
self.set_property("no-show-all", state)
self.back_to_current_album_button.set_property("no-show-all", state)
self.search_button.set_property("no-show-all", state)
self.set_property("visible", not(state))
self.back_to_current_album_button.set_property("visible", not(state))
self.search_button.set_property("visible", not(state))
if not state:
self.show_all()
######################
# playlist and cover #
@@ -2579,7 +2531,7 @@ class AudioType(Gtk.Label):
# adding vars
self._client=client
self._init_vars()
self.freq, self.res, self.chan, self.brate, self.file_type=(0, 0, 0, 0, "")
# connect
self._client.emitter.connect("audio", self._on_audio)
@@ -2590,18 +2542,15 @@ class AudioType(Gtk.Label):
def clear(self, *args):
self.set_text("")
self._init_vars()
def _init_vars(self):
self.freq=0
self.res=0
self.chan=0
self.brate=0
self.file_type=""
self.freq, self.res, self.chan, self.brate, self.file_type=(0, 0, 0, 0, "")
def _refresh(self, *args):
string=_("{bitrate} kb/s, {frequency} kHz, {resolution} bit, {channels} channels, {file_type}").format(
bitrate=self.brate, frequency=self.freq, resolution=self.res, channels=self.chan, file_type=self.file_type)
try:
int_chan=int(self.chan)
except:
int_chan=0
channels=ngettext("{channels} channel", "{channels} channels", int_chan).format(channels=self.chan)
string="{} kb/s, {} kHz, {} bit, {}, {}".format(self.brate, self.freq, self.res, channels, self.file_type)
self.set_text(string)
def _on_audio(self, emitter, freq, res, chan):
@@ -2638,31 +2587,29 @@ class CoverEventBox(Gtk.EventBox):
# connect
self._button_press_event=self.connect("button-press-event", self._on_button_press_event)
self._settings.connect("notify::mini-player", self._on_mini_player)
def _on_button_press_event(self, widget, event):
if self._client.connected():
song=ClientHelper.song_to_first_str_dict(self._client.wrapped_call("currentsong"))
if song != {}:
try:
artist=song[self._settings.get_artist_type()]
except:
artist=song.get("artist", "")
album=song.get("album", "")
album_year=song.get("date", "")
if event.button == 1 and event.type == Gdk.EventType.BUTTON_PRESS:
self._client.wrapped_call("album_to_playlist", album, artist, album_year)
elif event.button == 2 and event.type == Gdk.EventType.BUTTON_PRESS:
self._client.wrapped_call("album_to_playlist", album, artist, album_year, "append")
elif event.button == 3 and event.type == Gdk.EventType.BUTTON_PRESS:
pop=AlbumPopover(self._client, self._settings, album, artist, album_year, widget, int(event.x), int(event.y))
pop.popup()
def _on_mini_player(self, obj, typestring):
if obj.get_property("mini-player"):
self.handler_block(self._button_press_event)
if self._settings.get_property("mini-player"):
if event.button == 1 and event.type == Gdk.EventType.BUTTON_PRESS:
window=self.get_toplevel()
window.begin_move_drag(1, event.x_root, event.y_root, Gdk.CURRENT_TIME)
else:
self.handler_unblock(self._button_press_event)
if self._client.connected():
song=ClientHelper.song_to_first_str_dict(self._client.wrapped_call("currentsong"))
if song != {}:
try:
artist=song[self._settings.get_artist_type()]
except:
artist=song.get("artist", "")
album=song.get("album", "")
album_year=song.get("date", "")
if event.button == 1 and event.type == Gdk.EventType.BUTTON_PRESS:
self._client.wrapped_call("album_to_playlist", album, artist, album_year)
elif event.button == 2 and event.type == Gdk.EventType.BUTTON_PRESS:
self._client.wrapped_call("album_to_playlist", album, artist, album_year, "append")
elif event.button == 3 and event.type == Gdk.EventType.BUTTON_PRESS:
pop=AlbumPopover(self._client, self._settings, album, artist, album_year, widget, event.x, event.y)
pop.popup()
class MainCover(Gtk.Frame):
def __init__(self, client, settings):
@@ -2765,11 +2712,11 @@ class PlaylistWindow(Gtk.Box):
Gtk.TreeViewColumn(_("Year"), renderer_text, text=6, weight=9),
Gtk.TreeViewColumn(_("Genre"), renderer_text, text=7, weight=9)
)
for column in self._columns:
for i, column in enumerate(self._columns):
column.set_property("resizable", True)
column.set_property("sizing", Gtk.TreeViewColumnSizing.FIXED)
column.set_min_width(30)
column.connect("notify::fixed-width", self._on_column_width, i)
self._load_settings()
# scroll
@@ -2825,13 +2772,8 @@ class PlaylistWindow(Gtk.Box):
self.pack_start(self._frame, True, True, 0)
self.pack_end(action_bar, False, False, 0)
def save_settings(self): # only saves the column sizes
columns=self._treeview.get_columns()
permutation=self._settings.get_value("column-permutation").unpack()
sizes=[0] * len(permutation)
for i in range(len(permutation)):
sizes[permutation[i]]=columns[i].get_width()
self._settings.set_value("column-sizes", GLib.Variant("ai", sizes))
def _on_column_width(self, obj, typestring, pos):
self._settings.array_modify("ai", "column-sizes", pos, obj.get_property("fixed-width"))
def _load_settings(self, *args):
columns=self._treeview.get_columns()
@@ -2860,7 +2802,8 @@ class PlaylistWindow(Gtk.Box):
self._playlist_info.set_text("")
else:
length_human_readable=ClientHelper.calc_display_length(songs)
self._playlist_info.set_text(_("{titles} titles ({length})").format(titles=len(songs), length=length_human_readable))
titles=ngettext("{titles} title", "{titles} titles", len(songs)).format(titles=len(songs))
self._playlist_info.set_text(" ".join((titles, "({length})".format(length=length_human_readable))))
def _scroll_to_selected_title(self, *args):
treeview, treeiter=self._selection.get_selected()
@@ -3011,8 +2954,12 @@ class PlaylistWindow(Gtk.Box):
self._treeview.set_sensitive(True)
def _on_mini_player(self, obj, typestring):
visibility=not(obj.get_property("mini-player"))
self.set_property("visible", visibility)
if obj.get_property("mini-player"):
self.set_property("no-show-all", True)
self.set_property("visible", False)
else:
self.set_property("no-show-all", False)
self.show_all()
class CoverPlaylistWindow(Gtk.Paned):
def __init__(self, client, settings):
@@ -3068,13 +3015,8 @@ class CoverPlaylistWindow(Gtk.Paned):
overlay.add_overlay(self._lyrics_button_revealer)
self.pack1(overlay, False, False)
self.pack2(self._playlist_window, True, False)
self.set_position(self._settings.get_int("paned0"))
self._on_settings_changed() # hide lyrics button
def save_settings(self):
self._settings.set_int("paned0", self.get_position())
self._playlist_window.save_settings()
def _on_reconnected(self, *args):
self.lyrics_button.set_sensitive(True)
@@ -3146,8 +3088,10 @@ class PlaybackControl(Gtk.ButtonBox):
song=int(self._client.wrapped_call("status")["song"])
elapsed=ClientHelper.calc_display_length(songs[:song])
rest=ClientHelper.calc_display_length(songs[song+1:])
self._prev_button.set_tooltip_text(_("{titles} titles ({length})").format(titles=song, length=elapsed))
self._next_button.set_tooltip_text(_("{titles} titles ({length})").format(titles=(len(songs)-(song+1)), length=rest))
elapsed_titles=ngettext("{titles} title", "{titles} titles", song).format(titles=song)
rest_titles=ngettext("{titles} title", "{titles} titles", (len(songs)-(song+1))).format(titles=(len(songs)-(song+1)))
self._prev_button.set_tooltip_text(" ".join((elapsed_titles, "({length})".format(length=elapsed))))
self._next_button.set_tooltip_text(" ".join((rest_titles, "({length})".format(length=rest))))
except:
self._prev_button.set_tooltip_text("")
self._next_button.set_tooltip_text("")
@@ -3350,15 +3294,16 @@ class PlaybackOptions(Gtk.Box):
# widgets
icons={}
for icon_name in ("media-playlist-shuffle-symbolic","media-playlist-repeat-symbolic","zoom-original-symbolic","edit-cut-symbolic"):
for icon_name in ("media-playlist-shuffle-symbolic","media-playlist-repeat-symbolic",
"org.mpdevil.mpdevil-single-symbolic","org.mpdevil.mpdevil-consume-symbolic"):
icons[icon_name]=AutoSizedIcon(icon_name, "icon-size", self._settings)
self._random_button=Gtk.ToggleButton(image=icons["media-playlist-shuffle-symbolic"], tooltip_text=_("Random mode"))
self._random_button.set_can_focus(False)
self._repeat_button=Gtk.ToggleButton(image=icons["media-playlist-repeat-symbolic"], tooltip_text=_("Repeat mode"))
self._repeat_button.set_can_focus(False)
self._single_button=Gtk.ToggleButton(image=icons["zoom-original-symbolic"], tooltip_text=_("Single mode"))
self._single_button=Gtk.ToggleButton(image=icons["org.mpdevil.mpdevil-single-symbolic"], tooltip_text=_("Single mode"))
self._single_button.set_can_focus(False)
self._consume_button=Gtk.ToggleButton(image=icons["edit-cut-symbolic"], tooltip_text=_("Consume mode"))
self._consume_button=Gtk.ToggleButton(image=icons["org.mpdevil.mpdevil-consume-symbolic"], tooltip_text=_("Consume mode"))
self._consume_button.set_can_focus(False)
self._volume_button=Gtk.VolumeButton(use_symbolic=True, size=self._settings.get_gtk_icon_size("icon-size"))
self._volume_button.set_can_focus(False)
@@ -3474,8 +3419,12 @@ class PlaybackOptions(Gtk.Box):
self._volume_refresh(None, -1)
def _on_mini_player(self, obj, typestring):
visibility=not(obj.get_property("mini-player"))
self._button_box.set_property("visible", visibility)
if obj.get_property("mini-player"):
self._button_box.set_property("no-show-all", True)
self._button_box.set_property("visible", False)
else:
self._button_box.set_property("no-show-all", False)
self._button_box.show_all()
def _on_icon_size_changed(self, *args):
self._volume_button.set_property("size", self._settings.get_gtk_icon_size("icon-size"))
@@ -3676,15 +3625,13 @@ class MainWindow(Gtk.ApplicationWindow):
self._client=client
self._settings=settings
self._use_csd=self._settings.get_boolean("use-csd")
self._tmp_saved_size=None # needed to restore size after leaving mini player mode
self._tmp_saved_maximized=None # needed to restore maximize state after leaving mini player mode
# MPRIS
dbus_service=MPRISInterface(self, self._client, self._settings)
# actions
simple_actions_data=(
"save","settings","stats","help","menu",
"settings","stats","help","menu",
"toggle-lyrics","back-to-current-album","toggle-search",
"profile-next","profile-prev"
)
@@ -3706,6 +3653,7 @@ class MainWindow(Gtk.ApplicationWindow):
else:
icons={"open-menu-symbolic": AutoSizedIcon("open-menu-symbolic", "icon-size", self._settings)}
self._paned=Gtk.Paned()
self._browser=Browser(self._client, self._settings)
self._cover_playlist_window=CoverPlaylistWindow(self._client, self._settings)
playback_control=PlaybackControl(self._client, self._settings)
@@ -3728,7 +3676,6 @@ class MainWindow(Gtk.ApplicationWindow):
menu=Gio.Menu()
menu.append_submenu(_("Profiles"), self._profiles_submenu)
menu.append(_("Mini player"), "win.mini-player")
menu.append(_("Save window layout"), "win.save")
menu.append_section(None, mpd_subsection)
menu.append_section(None, subsection)
@@ -3754,15 +3701,18 @@ class MainWindow(Gtk.ApplicationWindow):
self._client.emitter.connect("disconnected", self._on_disconnected)
self._client.emitter.connect("reconnected", self._on_reconnected)
self._browser.connect("search_focus_changed", self._on_search_focus_changed)
# auto save window state and size
self.connect("size-allocate", self._on_size_allocate)
self._settings.bind("maximize", self, "is-maximized", Gio.SettingsBindFlags.SET)
# save and restore mini player
self._settings.bind("mini-player", self._settings, "mini-player", Gio.SettingsBindFlags.DEFAULT)
# packing
self._paned2=Gtk.Paned()
self._paned2.set_position(self._settings.get_int("paned2"))
self._on_playlist_pos_changed() # set orientation
self._paned2.pack1(self._browser, True, False)
self._paned2.pack2(self._cover_playlist_window, False, False)
self._paned.pack1(self._browser, True, False)
self._paned.pack2(self._cover_playlist_window, False, False)
vbox=Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
vbox.pack_start(self._paned2, True, True, 0)
vbox.pack_start(self._paned, True, True, 0)
vbox.pack_start(action_bar, False, False, 0)
overlay=Gtk.Overlay()
overlay.add(vbox)
@@ -3775,7 +3725,6 @@ class MainWindow(Gtk.ApplicationWindow):
self._header_bar.pack_end(self._menu_button)
self._header_bar.pack_end(self._browser.search_button)
else:
action_bar.pack_start(Gtk.Separator.new(orientation=Gtk.Orientation.VERTICAL))
action_bar.pack_start(self._menu_button)
self.add(overlay)
self._client.emitter.emit("disconnected") # bring player in defined state
@@ -3787,6 +3736,15 @@ class MainWindow(Gtk.ApplicationWindow):
self.show_all()
while Gtk.events_pending(): # ensure window is visible
Gtk.main_iteration_do(True)
# restore paned settings when window is visible (fixes a bug when window is maximized)
self._cover_playlist_window.set_position(self._settings.get_int("paned0"))
self._browser.set_position(self._settings.get_int("paned1"))
self._paned.set_position(self._settings.get_int("paned2"))
# auto save paned positions
self._cover_playlist_window.connect("notify::position", self._on_paned_position, "paned0")
self._browser.connect("notify::position", self._on_paned_position, "paned1")
self._paned.connect("notify::position", self._on_paned_position, "paned2")
# start client
def callback(*args):
@@ -3803,15 +3761,6 @@ class MainWindow(Gtk.ApplicationWindow):
def _on_toggle_search(self, action, param):
self._browser.search_button.set_active(not(self._browser.search_button.get_active()))
def _on_save(self, action, param):
size=self.get_size()
self._settings.set_int("width", size[0])
self._settings.set_int("height", size[1])
self._settings.set_boolean("maximize", self.is_maximized())
self._browser.save_settings()
self._cover_playlist_window.save_settings()
self._settings.set_int("paned2", self._paned2.get_position())
def _on_settings(self, action, param):
settings=SettingsDialog(self, self._client, self._settings)
settings.run()
@@ -3868,34 +3817,35 @@ class MainWindow(Gtk.ApplicationWindow):
notify.show()
def _on_reconnected(self, *args):
for action in ("save","stats","toggle-lyrics","back-to-current-album","toggle-search"):
for action in ("stats","toggle-lyrics","back-to-current-album","toggle-search"):
self.lookup_action(action).set_enabled(True)
def _on_disconnected(self, *args):
self.set_title("mpdevil")
if self._use_csd:
self._header_bar.set_subtitle("")
for action in ("save","stats","toggle-lyrics","back-to-current-album","toggle-search"):
for action in ("stats","toggle-lyrics","back-to-current-album","toggle-search"):
self.lookup_action(action).set_enabled(False)
def _on_search_focus_changed(self, obj, focus):
self._mpd_action_group.lookup_action("toggle-play").set_enabled(not(focus))
def _on_size_allocate(self, widget, rect):
if not self.is_maximized() and not self._settings.get_property("mini-player"):
size=self.get_size()
self._settings.set_int("width", size[0])
self._settings.set_int("height", size[1])
def _on_paned_position(self, obj, typestring, key):
self._settings.set_int(key, obj.get_position())
def _on_mini_player(self, obj, typestring):
if obj.get_property("mini-player"):
self.lookup_action("save").set_enabled(False)
self._tmp_saved_size=self.get_size()
self._tmp_saved_miximized=self.is_maximized()
if self._tmp_saved_miximized:
if self.is_maximized():
self.unmaximize()
self.resize(1,1)
else:
self.lookup_action("save").set_enabled(True)
self.resize(self._tmp_saved_size[0], self._tmp_saved_size[1])
if self._tmp_saved_miximized:
self.maximize()
self._tmp_saved_size=None
self._tmp_saved_maximized=None
self.resize(self._settings.get_int("width"), self._settings.get_int("height"))
def _on_cursor_watch(self, obj, typestring):
if obj.get_property("cursor-watch"):
@@ -3907,10 +3857,10 @@ class MainWindow(Gtk.ApplicationWindow):
def _on_playlist_pos_changed(self, *args):
if self._settings.get_boolean("playlist-right"):
self._cover_playlist_window.set_orientation(Gtk.Orientation.VERTICAL)
self._paned2.set_orientation(Gtk.Orientation.HORIZONTAL)
self._paned.set_orientation(Gtk.Orientation.HORIZONTAL)
else:
self._cover_playlist_window.set_orientation(Gtk.Orientation.HORIZONTAL)
self._paned2.set_orientation(Gtk.Orientation.VERTICAL)
self._paned.set_orientation(Gtk.Orientation.VERTICAL)
def _refresh_profiles_menu(self, *args):
self._profiles_submenu.remove_all()
@@ -3984,4 +3934,3 @@ class mpdevil(Gtk.Application):
if __name__ == "__main__":
app=mpdevil()
app.run(sys.argv)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16" height="16" version="1.1" viewBox="0 0 4.2333 4.2333" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<metadata>
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title/>
</cc:Work>
</rdf:RDF>
</metadata>
<path d="m2.0102 0.52917a1.5875 1.5875 0 0 1 1.5875 1.5875 1.5875 1.5875 0 0 1-1.5875 1.5875 1.5875 1.5875 0 0 1-1.3746-0.79375l1.3746-0.79375-1.3746-0.79375a1.5875 1.5875 0 0 1 1.3746-0.79375zm-0.14779 0.52917a0.26458 0.26458 0 0 0-0.14263 0.035657 0.26458 0.26458 0 0 0-0.096635 0.36122 0.26458 0.26458 0 0 0 0.36122 0.096635 0.26458 0.26458 0 0 0 0.096635-0.36122 0.26458 0.26458 0 0 0-0.21859-0.13229z" fill="#2e3436" stroke-linecap="round" stroke-width=".25194"/>
</svg>

After

Width:  |  Height:  |  Size: 980 B

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16" height="16" version="1.1" viewBox="0 0 4.2333 4.2333" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<metadata>
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title/>
</cc:Work>
</rdf:RDF>
</metadata>
<path transform="scale(.26458)" d="m8.4023 2a6 6 0 0 0-6 6 6 6 0 0 0 6 6 6 6 0 0 0 5.1953-3l-5.1953-3 5.1953-3a6 6 0 0 0-5.1953-3zm0.55859 2a1 1 0 0 1 0.53906 0.13477 1 1 0 0 1 0.36523 1.3652 1 1 0 0 1-1.3652 0.36523 1 1 0 0 1-0.36523-1.3652 1 1 0 0 1 0.82617-0.5z" fill="#2e3436" stroke-linecap="round" stroke-width=".9522"/>
</svg>

After

Width:  |  Height:  |  Size: 838 B

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="15.982" height="16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<metadata>
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title/>
</cc:Work>
</rdf:RDF>
</metadata>
<path d="m7.9902 2a6 6 0 0 0-5.9902 5.6914v0.62891a6 6 0 0 0 5.9902 5.6797 6 6 0 0 0 6-6 6 6 0 0 0-6-6zm-0.99023 3h2v6h-2v-4h-1v-1c0.694 0 1-0.348 1-1z" fill="#2e3436"/>
</svg>

After

Width:  |  Height:  |  Size: 657 B

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16" height="16" version="1.1" viewBox="0 0 4.2333 4.2333" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<metadata>
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title/>
</cc:Work>
</rdf:RDF>
</metadata>
<g transform="translate(-156.79 -48.192)">
<path transform="matrix(.26458 0 0 .26458 156.79 48.192)" d="m4.1621 0s-1.8317 4.1425-0.50781 9.791a22.525 23.103 0 0 0-3.6543 5.5703v0.63867h2.5234a19.982 20.495 0 0 1 2.0664-3.3125h0.0039062c0.44122 1.0742 1.008 2.1855 1.7266 3.3125h9.6797v-6.1543a17.886 17.886 0 0 0-4.5488 1.8223c-1.1979-0.89234-2.2001-1.8385-3.0391-2.791a19.982 20.495 0 0 1 7.5879-3.5469v-2.6621a22.525 23.103 0 0 0-9.1621 4.1504c-2.3946-3.6216-2.6738-6.8184-2.6738-6.8184h-0.0019531z" fill="#2e3436" stroke-linecap="round" stroke-width=".053119"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -1,5 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<linearGradient id="linearGradient871">
<stop stop-opacity=".5" offset="0"/>
<stop stop-opacity=".1" offset=".5"/>
<stop stop-opacity=".5" offset="1"/>
</linearGradient>
<linearGradient id="linearGradient904" x1="142" x2="238" y1="74.998" y2="74.998" gradientTransform="matrix(.26458 0 0 .26458 123.45 54.013)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient871"/>
<linearGradient id="linearGradient912" x1="157.72" x2="189.71" y1="58.908" y2="58.908" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient871"/>
<linearGradient id="linearGradient1026" x1="195.81" x2="197.92" y1="69.668" y2="69.668" gradientTransform="translate(-11.506 4.4716)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient871"/>
<linearGradient id="linearGradient1030" x1="195.81" x2="197.92" y1="69.668" y2="69.668" gradientTransform="matrix(-1 0 0 1 358.94 4.4716)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient871"/>
<linearGradient id="linearGradient1043" x1="146.99" x2="161.99" y1="83.478" y2="83.478" gradientTransform="matrix(.26458 0 0 .26458 147.53 49.338)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient871"/>
<linearGradient id="linearGradient1047" x1="146.99" x2="161.99" y1="83.478" y2="83.478" gradientTransform="matrix(-.26458 0 0 .26458 199.91 49.338)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient871"/>
<linearGradient id="linearGradient885" x1="144.82" x2="154.08" y1="51.721" y2="51.721" gradientTransform="translate(16.728 4.9575)" gradientUnits="userSpaceOnUse">
<stop stop-opacity=".4" offset="0"/>
<stop stop-opacity=".1" offset=".5"/>
<stop stop-opacity=".5" offset="1"/>
</linearGradient>
<linearGradient id="linearGradient889" x1="144.82" x2="154.08" y1="51.721" y2="51.721" gradientTransform="matrix(-1 0 0 1 330.71 4.9575)" gradientUnits="userSpaceOnUse">
<stop stop-opacity=".4" offset="0"/>
<stop stop-opacity=".1" offset=".5"/>
<stop stop-opacity=".5" offset="1"/>
</linearGradient>
</defs>
<metadata>
<rdf:RDF>
<cc:Work rdf:about="">
@@ -10,47 +33,34 @@
</rdf:RDF>
</metadata>
<g transform="translate(-156.79 -48.192)">
<path d="m173.69 50.573a15.994 16.404 0 0 0-15.965 16.404h1.8056a14.188 14.552 0 0 1 14.08-14.552 14.188 14.552 0 0 1 0.10852 0 14.188 14.552 0 0 1 14.188 14.552h1.8061a15.994 16.404 0 0 0-15.994-16.404 15.994 16.404 0 0 0-0.0289 0z" opacity=".3" stroke-linecap="round" stroke-width=".037717"/>
<path d="m173.69 50.044a15.994 16.404 0 0 0-15.965 16.404h1.8056a14.188 14.552 0 0 1 14.08-14.552 14.188 14.552 0 0 1 0.10852 0 14.188 14.552 0 0 1 14.188 14.552h1.8061a15.994 16.404 0 0 0-15.994-16.404 15.994 16.404 0 0 0-0.0289 0z" fill="#3d3846" stroke-linecap="round" stroke-width=".037717"/>
<path d="m173.61 51.367a14.188 14.552 0 0 0-14.079 14.552h-1.7973a15.994 16.404 0 0 0-8e-3 0.52917h1.8056a14.188 14.552 0 0 1 14.08-14.552 14.188 14.552 0 0 1 0.10852 0 14.188 14.552 0 0 1 14.188 14.552h1.8061a15.994 16.404 0 0 0-8e-3 -0.52917h-1.7978a14.188 14.552 0 0 0-14.188-14.552 14.188 14.552 0 0 0-0.10852 0 14.188 14.552 0 0 1-5.2e-4 0z" fill="url(#linearGradient912)" stroke-linecap="round" stroke-width=".037717"/>
<g>
<path d="m173.69 50.044a15.994 16.404 0 0 0-15.965 16.404h8e-3a15.994 16.404 0 0 1 15.957-15.875 15.994 16.404 0 0 1 0.0289 0 15.994 16.404 0 0 1 15.986 15.875h8e-3a15.994 16.404 0 0 0-15.994-16.404 15.994 16.404 0 0 0-0.0289 0z" fill="#fff" opacity=".1" stroke-linecap="round" stroke-width=".037717"/>
<path d="m162.25 48.986s-2.7703 6.254 2.6891 12.965l5.8685-2.7602c-7.9486-3.3925-8.5576-10.204-8.5576-10.204z" opacity=".2"/>
<path d="m162.25 48.457s-2.7703 6.254 2.6891 12.965l5.8685-2.7602c-7.9486-3.3925-8.5576-10.204-8.5576-10.204z" fill="#c01c28"/>
<path d="m185.19 48.986s2.7703 6.254-2.6891 12.965l-5.8685-2.7602c7.9486-3.3925 8.5576-10.204 8.5576-10.204z" opacity=".2"/>
<path d="m161.56 51.936c-0.10501 2.4408 0.46065 5.8972 3.3796 9.4852l5.8684-2.76c-0.39365-0.16801-0.76447-0.34666-1.1229-0.5302l-4.7454 2.2319c-2.5193-3.0967-3.2844-6.0943-3.3796-8.4269z" fill="url(#linearGradient885)"/>
<path d="m185.19 48.457s2.7703 6.254-2.6891 12.965l-5.8685-2.7602c7.9486-3.3925 8.5576-10.204 8.5576-10.204z" fill="#c01c28"/>
<path transform="matrix(.26458 0 0 .26458 156.79 48.192)" d="m107.34 1s-2.3018 25.746-32.344 38.568l2.166 1.0176c27.975-13.105 30.178-37.586 30.178-37.586s2.4572 5.5725 2.6387 14.197c0.20388-9.7558-2.6387-16.197-2.6387-16.197z" fill="#fffefe" opacity=".1"/>
<circle transform="rotate(12.584)" cx="184.43" cy="28.813" r="12.7" opacity=".2"/>
<path d="m162.25 48.457s0.609 6.812 8.5576 10.205l-0.57309 0.26924c-7.4018-3.4675-7.9845-9.9446-7.9845-9.9446s-0.65013 1.4744-0.69815 3.7564c-0.0539-2.5812 0.69815-4.2855 0.69815-4.2855z" fill="#fffefe" opacity=".1"/>
<path d="m185.88 51.936c0.10501 2.4408-0.46065 5.8972-3.3796 9.4852l-5.8684-2.76c0.39365-0.16801 0.76447-0.34666 1.1229-0.5302l4.7454 2.2319c2.5193-3.0967 3.2844-6.0943 3.3796-8.4269z" fill="url(#linearGradient889)"/>
<circle transform="rotate(12.584)" cx="184.31" cy="28.296" r="12.7" fill="#e01b24"/>
<path d="m173.67 55.071a12.7 12.7 0 0 0-12.345 9.9332 12.7 12.7 0 0 0-0.30179 3.0272 12.7 12.7 0 0 1 0.30179-2.498 12.7 12.7 0 0 1 15.162-9.6284 12.7 12.7 0 0 1 9.9301 12.135 12.7 12.7 0 0 0-9.9301-12.664 12.7 12.7 0 0 0-2.8169-0.30489z" fill="#fff" opacity=".1"/>
<path d="m161.03 67.241a12.7 12.7 0 0 0 9.9224 12.925 12.7 12.7 0 0 0 15.162-9.6284 12.7 12.7 0 0 0 0.29403-3.2949 12.7 12.7 0 0 1-0.29403 2.2366 12.7 12.7 0 0 1-15.162 9.6284 12.7 12.7 0 0 1-9.9224-11.867z" fill="url(#linearGradient904)"/>
<circle cx="172.13" cy="69.888" r=".79375" opacity=".4"/>
<circle cx="175.31" cy="69.888" r=".79375" opacity=".4"/>
</g>
<path d="m181.92 64.332c0 1.8995-1.5395 3.4396-3.4396 3.4396-1.8995 0-3.4396-1.5401-3.4396-3.4396 0-1.8995 1.5401-3.4396 3.4396-3.4396 1.9001 0 3.4396 1.5401 3.4396 3.4396z" fill="#f6f5f4"/>
<g>
<g>
<circle cx="172.13" cy="70.417" r=".79375" opacity=".3"/>
<circle cx="175.31" cy="70.417" r=".79375" opacity=".3"/>
<circle cx="178.48" cy="65.39" r="3.4396" opacity=".2"/>
<circle cx="178.48" cy="64.861" r="3.4396" fill="#f6f5f4"/>
<circle cx="168.96" cy="65.39" r="3.4396" opacity=".2"/>
<circle cx="168.96" cy="64.861" r="3.4396" fill="#f6f5f4"/>
<circle cx="178.22" cy="63.802" r="1.5875" fill="#241f31"/>
<circle cx="168.69" cy="63.802" r="1.5875" fill="#241f31"/>
<path transform="matrix(.26458 0 0 .26458 156.79 48.192)" d="m69.949 81a3 3 0 0 0-2.9492 3 3 3 0 0 0 0.042969 0.50195 3 3 0 0 1 2.957-2.502 3 3 0 0 1 2.957 2.498 3 3 0 0 0 0.042969-0.49805 3 3 0 0 0-3-3 3 3 0 0 0-0.050781 0z" opacity=".3"/>
<path d="m172.12 69.623a0.79375 0.79375 0 0 0-0.78031 0.79375 0.79375 0.79375 0 0 0 0.0114 0.13281 0.79375 0.79375 0 0 1 0.78238-0.66198 0.79375 0.79375 0 0 1 0.78238 0.66094 0.79375 0.79375 0 0 0 0.0114-0.13178 0.79375 0.79375 0 0 0-0.79375-0.79375 0.79375 0.79375 0 0 0-0.0134 0z" opacity=".3"/>
<circle cx="178.22" cy="63.273" r="1.5875" fill="#241f31"/>
<path d="m172.4 64.332c0 1.8995-1.5395 3.4396-3.4396 3.4396-1.8995 0-3.4396-1.5401-3.4396-3.4396 0-1.8995 1.5401-3.4396 3.4396-3.4396 1.9001 0 3.4396 1.5401 3.4396 3.4396z" fill="#f6f5f4"/>
<circle cx="168.69" cy="63.273" r="1.5875" fill="#241f31"/>
</g>
<path d="m169.95 71.211c-3.1753 0.04728-2.4014 1.419-2.9983 2.5048-0.29211 0.53135 0.422-0.06077 1.2252-0.80047 1.263 1.9524 3.5805 3.7996 7.6435 2.3347-3.622-0.25777-5.8309-1.5312-7.1556-2.7967 0.66518-0.6314 1.2852-1.2423 1.2852-1.2423z" opacity=".4"/>
<path d="m161.02 60.204v15.135s-0.25743-0.09764-0.39066-0.13303c-0.65036-0.17255-1.39-0.07614-1.9848-0.38276-0.32991-0.17009-0.60935-0.45083-0.79371-0.76449-0.26875-0.45726-0.3681-0.83192-0.44542-1.3501-0.20943-1.4036-0.34842-2.7238-0.35396-4.6762v-0.5219c6e-3 -1.9524 0.14453-3.273 0.35396-4.6767 0.0773-0.51818 0.17667-0.89233 0.44542-1.3496 0.18436-0.31367 0.4638-0.5944 0.79371-0.7645 0.59475-0.30662 1.3344-0.21021 1.9848-0.38276 0.13323-0.03538 0.39066-0.13302 0.39066-0.13302z" fill="#3d3846"/>
<path d="m162.07 59.834c-0.34403 5.04e-4 -1.0521 0.37002-1.0521 0.37002v15.135s0.7081 0.36951 1.0521 0.37002c0.34403 5.11e-4 0.54179-0.12749 0.71262-0.43627 0.17083-0.30878 0.35792-0.67862 0.35192-1.8119l-5.2e-4 -0.36135h5.2e-4v-10.656h-5.2e-4l5.2e-4 -0.36135c6e-3 -1.1332-0.18109-1.5031-0.35192-1.8119-0.17083-0.30878-0.36859-0.43678-0.71262-0.43627z" fill="#9a9996"/>
<path d="m186.42 60.204v15.135s0.25743-0.09764 0.39066-0.13303c0.65036-0.17255 1.39-0.07614 1.9848-0.38276 0.32991-0.17009 0.60935-0.45083 0.79371-0.76449 0.26875-0.45726 0.3681-0.83192 0.44542-1.3501 0.20943-1.4036 0.34842-2.7238 0.35396-4.6762v-0.5219c-6e-3 -1.9524-0.14453-3.273-0.35396-4.6767-0.0773-0.51818-0.17667-0.89233-0.44542-1.3496-0.18436-0.31367-0.4638-0.5944-0.79371-0.7645-0.59475-0.30662-1.3344-0.21021-1.9848-0.38276-0.13323-0.03538-0.39066-0.13302-0.39066-0.13302z" fill="#3d3846"/>
<path d="m185.37 59.834c0.34403 5.04e-4 1.0521 0.37002 1.0521 0.37002v15.135s-0.7081 0.36951-1.0521 0.37002c-0.34403 5.11e-4 -0.54179-0.12749-0.71262-0.43627-0.17083-0.30878-0.35792-0.67862-0.35192-1.8119l5.2e-4 -0.36135h-5.2e-4v-10.656h5.2e-4l-5.2e-4 -0.36135c-6e-3 -1.1332 0.18109-1.5031 0.35192-1.8119 0.17083-0.30878 0.36859-0.43678 0.71262-0.43627z" fill="#9a9996"/>
<path d="m184.3 72.57v0.36122l5.1e-4 -0.36122zm0 0.36122v0.16795h5.1e-4l-5.1e-4 0.36122c-6e-3 1.1332 0.18108 1.5035 0.35191 1.8123 0.17083 0.30878 0.36859 0.43666 0.71262 0.43615 0.34403-5.04e-4 1.0521-0.37 1.0521-0.37v-0.52917s-0.7081 0.3695-1.0521 0.37c-0.34403 5.11e-4 -0.54179-0.12737-0.71262-0.43615-0.17083-0.30878-0.35791-0.67905-0.35191-1.8123z" fill="url(#linearGradient1026)"/>
<path d="m163.13 72.57v0.36122l-5.1e-4 -0.36122zm0 0.36122v0.16795h-5.1e-4l5.1e-4 0.36122c6e-3 1.1332-0.18108 1.5035-0.35191 1.8123-0.17083 0.30878-0.36859 0.43666-0.71262 0.43615-0.34403-5.04e-4 -1.0521-0.37-1.0521-0.37v-0.52917s0.7081 0.3695 1.0521 0.37c0.34403 5.11e-4 0.54179-0.12737 0.71262-0.43615 0.17083-0.30878 0.35791-0.67905 0.35191-1.8123z" fill="url(#linearGradient1030)"/>
<path d="m190.39 67.51c-6e-3 1.9481-0.14483 3.2672-0.35398 4.669-0.0773 0.51818-0.1767 0.89253-0.44545 1.3498-0.18436 0.31366-0.46384 0.59472-0.79375 0.76481-0.59475 0.30662-1.334 0.21038-1.9844 0.38292-0.13323 0.03539-0.39067 0.13281-0.39067 0.13281v0.52917s0.25744-0.09742 0.39067-0.13281c0.65036-0.17255 1.3896-0.07631 1.9844-0.38292 0.32991-0.17009 0.60939-0.45115 0.79375-0.76481 0.26875-0.45726 0.36813-0.83161 0.44545-1.3498 0.20943-1.4036 0.34844-2.7238 0.35398-4.6762z" fill="url(#linearGradient1043)"/>
<path d="m157.05 67.51c6e-3 1.9481 0.14483 3.2672 0.35398 4.669 0.0773 0.51818 0.1767 0.89253 0.44545 1.3498 0.18436 0.31366 0.46384 0.59472 0.79375 0.76481 0.59475 0.30662 1.334 0.21038 1.9844 0.38292 0.13323 0.03539 0.39067 0.13281 0.39067 0.13281v0.52917s-0.25744-0.09742-0.39067-0.13281c-0.65036-0.17255-1.3896-0.07631-1.9844-0.38292-0.32991-0.17009-0.60939-0.45115-0.79375-0.76481-0.26875-0.45726-0.36813-0.83161-0.44545-1.3498-0.20943-1.4036-0.34844-2.7238-0.35398-4.6762z" fill="url(#linearGradient1047)"/>
</g>
<g transform="translate(-3.3391 -25.538)">
<path d="m188.71 85.901c-0.34403-5.19e-4 -0.54174 0.12927-0.71257 0.44235-0.17083 0.31308-0.3579 0.68807-0.3519 1.8371l5.2e-4 0.36639h-5.2e-4v10.583h5.2e-4l-5.2e-4 0.3669c-6e-3 1.149 0.18107 1.524 0.3519 1.8371s0.36854 0.44236 0.71257 0.44184c0.34403-5.1e-4 1.0521-0.37466 1.0521-0.37466v0.11059s0.25742-0.099 0.39065-0.13488c0.65036-0.17495 1.39-0.0772 1.9848-0.38809 0.32991-0.17245 0.60935-0.45711 0.79371-0.77514 0.26875-0.46363 0.3681-0.84351 0.44542-1.3689 0.20943-1.4232 0.34843-2.7617 0.35397-4.7413v-0.52917c-6e-3 -1.9796-0.14454-3.3186-0.35397-4.7418-0.0773-0.5254-0.17667-0.90476-0.44542-1.3684-0.18436-0.31804-0.4638-0.60268-0.79371-0.77515-0.59475-0.31089-1.3344-0.21314-1.9848-0.38809-0.13323-0.03587-0.39065-0.13488-0.39065-0.13488v0.11007s-0.70804-0.37466-1.0521-0.37517z" opacity=".2"/>
<path d="m189.76 85.637v15.346s0.25743-0.099 0.39066-0.13488c0.65036-0.17495 1.39-0.0772 1.9848-0.38809 0.32991-0.17246 0.60935-0.45711 0.79371-0.77514 0.26875-0.46363 0.3681-0.84351 0.44542-1.3689 0.20943-1.4232 0.34842-2.7617 0.35396-4.7413v-0.52917c-6e-3 -1.9796-0.14453-3.3186-0.35396-4.7418-0.0773-0.5254-0.17667-0.90476-0.44542-1.3684-0.18436-0.31804-0.4638-0.60269-0.79371-0.77515-0.59475-0.31089-1.3344-0.21314-1.9848-0.38809-0.13323-0.03587-0.39066-0.13488-0.39066-0.13488z" fill="#3d3846"/>
<path d="m188.71 85.372c-0.34403-5.19e-4 -0.54174 0.12927-0.71257 0.44235-0.17083 0.31308-0.35789 0.68807-0.35189 1.8371l5.1e-4 0.36638h-5.1e-4v10.583h5.1e-4l-5.1e-4 0.3669c-6e-3 1.149 0.18106 1.524 0.35189 1.8371s0.36854 0.44235 0.71257 0.44183c0.34403-5.1e-4 1.0521-0.37465 1.0521-0.37465v-15.125s-0.70804-0.37466-1.0521-0.37517z" fill="#9a9996"/>
<path d="m188.71 85.372c-0.34404-5.19e-4 -0.54175 0.12927-0.71257 0.44235-0.17083 0.31308-0.3579 0.68807-0.3519 1.8371l5.2e-4 0.36639h-5.2e-4v0.16278c-6e-3 -1.149 0.18107-1.524 0.3519-1.8371 0.17082-0.31308 0.36853-0.44287 0.71257-0.44235 0.34403 5.11e-4 1.0521 0.37517 1.0521 0.37517v-0.52917s-0.70804-0.37466-1.0521-0.37517zm-1.0645 2.8086v0.36639h5.2e-4z" fill="#fff" opacity=".2"/>
<path d="m189.76 85.637v0.52917s0.25743 0.09901 0.39065 0.13488c0.65036 0.17495 1.39 0.0772 1.9848 0.38809 0.32991 0.17246 0.60934 0.45711 0.7937 0.77515 0.26875 0.46363 0.36813 0.84299 0.44542 1.3684 0.20944 1.4232 0.34796 2.7622 0.35396 4.7418v-0.52917c-6e-3 -1.9796-0.14452-3.3186-0.35396-4.7418-0.0773-0.5254-0.17667-0.90476-0.44542-1.3684-0.18436-0.31804-0.46379-0.60269-0.7937-0.77515-0.59476-0.31089-1.3344-0.21314-1.9848-0.38809-0.13322-0.03587-0.39065-0.13488-0.39065-0.13488z" fill="#fff" opacity=".1"/>
</g>
<g transform="matrix(-1 0 0 1 350.78 -25.538)">
<path d="m188.71 85.901c-0.34403-5.19e-4 -0.54174 0.12927-0.71257 0.44235-0.17083 0.31308-0.3579 0.68807-0.3519 1.8371l5.2e-4 0.36639h-5.2e-4v10.583h5.2e-4l-5.2e-4 0.3669c-6e-3 1.149 0.18107 1.524 0.3519 1.8371s0.36854 0.44236 0.71257 0.44184c0.34403-5.1e-4 1.0521-0.37466 1.0521-0.37466v0.11059s0.25742-0.099 0.39065-0.13488c0.65036-0.17495 1.39-0.0772 1.9848-0.38809 0.32991-0.17245 0.60935-0.45711 0.79371-0.77514 0.26875-0.46363 0.3681-0.84351 0.44542-1.3689 0.20943-1.4232 0.34843-2.7617 0.35397-4.7413v-0.52917c-6e-3 -1.9796-0.14454-3.3186-0.35397-4.7418-0.0773-0.5254-0.17667-0.90476-0.44542-1.3684-0.18436-0.31804-0.4638-0.60268-0.79371-0.77515-0.59475-0.31089-1.3344-0.21314-1.9848-0.38809-0.13323-0.03587-0.39065-0.13488-0.39065-0.13488v0.11007s-0.70804-0.37466-1.0521-0.37517z" opacity=".2"/>
<path d="m189.76 85.637v15.346s0.25743-0.099 0.39066-0.13488c0.65036-0.17495 1.39-0.0772 1.9848-0.38809 0.32991-0.17246 0.60935-0.45711 0.79371-0.77514 0.26875-0.46363 0.3681-0.84351 0.44542-1.3689 0.20943-1.4232 0.34842-2.7617 0.35396-4.7413v-0.52917c-6e-3 -1.9796-0.14453-3.3186-0.35396-4.7418-0.0773-0.5254-0.17667-0.90476-0.44542-1.3684-0.18436-0.31804-0.4638-0.60269-0.79371-0.77515-0.59475-0.31089-1.3344-0.21314-1.9848-0.38809-0.13323-0.03587-0.39066-0.13488-0.39066-0.13488z" fill="#3d3846"/>
<path d="m188.71 85.372c-0.34403-5.19e-4 -0.54174 0.12927-0.71257 0.44235-0.17083 0.31308-0.35789 0.68807-0.35189 1.8371l5.1e-4 0.36638h-5.1e-4v10.583h5.1e-4l-5.1e-4 0.3669c-6e-3 1.149 0.18106 1.524 0.35189 1.8371s0.36854 0.44235 0.71257 0.44183c0.34403-5.1e-4 1.0521-0.37465 1.0521-0.37465v-15.125s-0.70804-0.37466-1.0521-0.37517z" fill="#9a9996"/>
<path d="m188.71 85.372c-0.34404-5.19e-4 -0.54175 0.12927-0.71257 0.44235-0.17083 0.31308-0.3579 0.68807-0.3519 1.8371l5.2e-4 0.36639h-5.2e-4v0.16278c-6e-3 -1.149 0.18107-1.524 0.3519-1.8371 0.17082-0.31308 0.36853-0.44287 0.71257-0.44235 0.34403 5.11e-4 1.0521 0.37517 1.0521 0.37517v-0.52917s-0.70804-0.37466-1.0521-0.37517zm-1.0645 2.8086v0.36639h5.2e-4z" fill="#fff" opacity=".2"/>
<path d="m189.76 85.637v0.52917s0.25743 0.09901 0.39065 0.13488c0.65036 0.17495 1.39 0.0772 1.9848 0.38809 0.32991 0.17246 0.60934 0.45711 0.7937 0.77515 0.26875 0.46363 0.36813 0.84299 0.44542 1.3684 0.20944 1.4232 0.34796 2.7622 0.35396 4.7418v-0.52917c-6e-3 -1.9796-0.14452-3.3186-0.35396-4.7418-0.0773-0.5254-0.17667-0.90476-0.44542-1.3684-0.18436-0.31804-0.46379-0.60269-0.7937-0.77515-0.59476-0.31089-1.3344-0.21314-1.9848-0.38809-0.13322-0.03587-0.39065-0.13488-0.39065-0.13488z" fill="#fff" opacity=".1"/>
</g>
<path d="m169.95 71.565c-3.1753 0.04728-2.4014 1.419-2.9983 2.5048-0.29211 0.53135 0.422-0.06077 1.2252-0.80047 1.263 1.9524 3.5805 3.7996 7.6435 2.3347-3.622-0.25777-5.8309-1.5312-7.1556-2.7967 0.66518-0.6314 1.2852-1.2423 1.2852-1.2423z" opacity=".29966"/>
<path d="m169.95 71.565c-3.1753 0.04728-2.4014 1.419-2.9983 2.5048-0.10728 0.19514-0.0779 0.23786 0.0408 0.17828 0.49788-1.0351-0.0815-2.2821 2.6712-2.4061 0.0552-0.05415 0.28628-0.27699 0.28628-0.27699zm-1.1446 1.371c-0.0709 0.0678-0.0678 0.06684-0.14056 0.13591 1.2446 1.1891 3.2705 2.3848 6.5148 2.7389 0.20894-0.06021 0.42181-0.12776 0.64079-0.20671-3.4991-0.24902-5.6768-1.446-7.0151-2.6681z" opacity=".29966"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

View File

@@ -23,13 +23,12 @@
</ul>
</description>
<releases>
<release version="0.9.8" date="2020-12-27"/>
<release version="0.9.9" date="2021-01-01"/>
<release version="1.1.0" date="2021-02-13"/>
</releases>
<launchable type="desktop-id">org.mpdevil.mpdevil.desktop</launchable>
<screenshots>
<screenshot type="default">
<image type="source" width="1016" height="1024">https://raw.githubusercontent.com/SoongNoonien/mpdevil/v0.9.7/screenshots/mainwindow_0.9.5.png</image>
<image type="source" width="1008" height="1039">https://raw.githubusercontent.com/SoongNoonien/mpdevil/v1.1.0/screenshots/mainwindow_1.1.0.png</image>
</screenshot>
</screenshots>
<url type="homepage">https://github.com/SoongNoonien/mpdevil</url>

View File

@@ -31,6 +31,11 @@
<summary>Default position of paned1/paned0 separator</summary>
<description></description>
</key>
<key type="b" name="mini-player">
<default>false</default>
<summary>Start player in mini player mode</summary>
<description></description>
</key>
<key type="i" name="album-cover">
<default>170</default>
<summary>Size of covers in album view</summary>
@@ -52,7 +57,7 @@
<description></description>
</key>
<key type="b" name="use-csd">
<default>false</default>
<default>true</default>
<summary>Use Client-side decoration</summary>
<description></description>
</key>
@@ -71,11 +76,6 @@
<summary>Show initial letters in artist-view</summary>
<description></description>
</key>
<key type="b" name="show-album-view-tooltips">
<default>true</default>
<summary>Show tooltips in album-view</summary>
<description></description>
</key>
<key type="b" name="sort-albums-by-year">
<default>true</default>
<summary>Sort albums by year</summary>

383
po/de.po
View File

@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-01 12:34+0100\n"
"PO-Revision-Date: 2021-01-01 14:33+0100\n"
"POT-Creation-Date: 2021-02-12 16:57+0100\n"
"PO-Revision-Date: 2021-02-12 16:58+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: de\n"
@@ -18,103 +18,90 @@ msgstr ""
"X-Generator: Poedit 2.3.1\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: mpdevil:471
#: mpdevil:438
#, python-brace-format
msgid "{days} day"
msgid_plural "{days} days"
msgstr[0] "{days} Tag"
msgstr[1] "{days} Tage"
#: mpdevil:473
msgid "Unknown Title"
msgstr "Unbekannter Titel"
#: mpdevil:795
#: mpdevil:802
msgid "Main cover size:"
msgstr "Größe des Haupt-Covers:"
#: mpdevil:796
#: mpdevil:803
msgid "Album view cover size:"
msgstr "Covergröße in Albumliste:"
#: mpdevil:797
#: mpdevil:804
msgid "Action bar icon size:"
msgstr "Symbolgröße Aktionsleiste:"
#: mpdevil:798
#: mpdevil:805
msgid "Secondary icon size:"
msgstr "Sekundäre Symbolgröße:"
#: mpdevil:811
msgid "Sort albums by:"
msgstr "Sortiere Alben nach:"
#: mpdevil:811
msgid "name"
msgstr "Name"
#: mpdevil:811
msgid "year"
msgstr "Jahr"
#: mpdevil:812
msgid "Position of playlist:"
msgstr "Wiedergabelistenposition:"
#: mpdevil:812
msgid "bottom"
msgstr "unten"
#: mpdevil:812
msgid "right"
msgstr "rechts"
#: mpdevil:830
#: mpdevil:818
msgid "Use Client-side decoration"
msgstr "Benutze „Client-side decoration“"
msgstr "„Client-side decoration“ benutzen"
#: mpdevil:831
#: mpdevil:819
msgid "Show stop button"
msgstr "Zeige Stopp-Knopf"
msgstr "Stopp-Knopf anzeigen"
#: mpdevil:832
#: mpdevil:820
msgid "Show lyrics button"
msgstr "Zeige Liedtext-Knopf"
msgstr "Liedtext-Knopf anzeigen"
#: mpdevil:833
#: mpdevil:821
msgid "Show initials in artist view"
msgstr "Zeige Anfangsbuchstaben in Interpretenliste"
msgstr "Anfangsbuchstaben in Interpretenliste anzeigen"
#: mpdevil:834
msgid "Show tooltips in album view"
msgstr "Zeige Tooltips in Albumliste"
#: mpdevil:822
msgid "Place playlist at the side"
msgstr "Wiedergabeliste seitlich anzeigen"
#: mpdevil:835
#: mpdevil:823
msgid "Use “Album Artist” tag"
msgstr "Benutze „Album Artist“ Tag"
msgstr "„Album Artist“ Tag benutzen"
#: mpdevil:836
#: mpdevil:824
msgid "Send notification on title change"
msgstr "Sende Benachrichtigung bei Titelwechsel"
msgstr "Über Titelwechsel benachrichtigen"
#: mpdevil:837
#: mpdevil:825
msgid "Stop playback on quit"
msgstr "Wiedergabe beim Beenden stoppen"
#: mpdevil:838
#: mpdevil:826
msgid "Play selected albums and titles immediately"
msgstr "Ausgewählte Alben und Titel sofort abspielen"
#: mpdevil:851
#: mpdevil:827
msgid "Sort albums by year"
msgstr "Alben nach Jahr sortieren"
#: mpdevil:839
msgid "<b>View</b>"
msgstr "<b>Ansicht</b>"
#: mpdevil:852
#: mpdevil:840
msgid "<b>Behavior</b>"
msgstr "<b>Verhalten</b>"
#: mpdevil:884
#: mpdevil:860
msgid "(restart required)"
msgstr "(Neustart erforderlich)"
#: mpdevil:946
#: mpdevil:909
msgid "_Connect"
msgstr "_Verbinden"
#: mpdevil:962
#: mpdevil:925
msgid ""
"The first image in the same directory as the song file matching this regex "
"will be displayed. %AlbumArtist% and %Album% will be replaced by the "
@@ -124,161 +111,161 @@ msgstr ""
"regulären Ausdruck entspricht, wird angezeigt. %AlbumArtist% und %Album% "
"werden durch die entsprechenden Tags des Liedes ersetzt."
#: mpdevil:967
#: mpdevil:930
msgid "Profile:"
msgstr "Profil:"
#: mpdevil:968
#: mpdevil:931
msgid "Name:"
msgstr "Name:"
#: mpdevil:969
#: mpdevil:932
msgid "Host:"
msgstr "Host:"
#: mpdevil:970
#: mpdevil:933
msgid "Password:"
msgstr "Passwort:"
#: mpdevil:971
#: mpdevil:934
msgid "Music lib:"
msgstr "Musikverzeichnis:"
#: mpdevil:972
#: mpdevil:935
msgid "Cover regex:"
msgstr "Cover-Regex:"
#: mpdevil:1107
#: mpdevil:1070
msgid "Choose directory"
msgstr "Verzeichnis wählen"
#: mpdevil:1140
#: mpdevil:1101
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:1157 mpdevil:1703 mpdevil:1799 mpdevil:2753
#: mpdevil:1118 mpdevil:1671 mpdevil:1766 mpdevil:2706
msgid "No"
msgstr "Nr."
#: mpdevil:1157 mpdevil:2754
#: mpdevil:1118 mpdevil:2707
msgid "Disc"
msgstr "CD"
#: mpdevil:1157 mpdevil:1706 mpdevil:1804 mpdevil:2755
#: mpdevil:1118 mpdevil:1674 mpdevil:1771 mpdevil:2708
msgid "Title"
msgstr "Titel"
#: mpdevil:1157 mpdevil:1810 mpdevil:2756
#: mpdevil:1118 mpdevil:1777 mpdevil:2709
msgid "Artist"
msgstr "Interpret"
#: mpdevil:1157 mpdevil:1816 mpdevil:2757
#: mpdevil:1118 mpdevil:1783 mpdevil:2710
msgid "Album"
msgstr "Album"
#: mpdevil:1157 mpdevil:1710 mpdevil:1822 mpdevil:2758
#: mpdevil:1118 mpdevil:1678 mpdevil:1789 mpdevil:2711
msgid "Length"
msgstr "Länge"
#: mpdevil:1157 mpdevil:2759
#: mpdevil:1118 mpdevil:2712
msgid "Year"
msgstr "Jahr"
#: mpdevil:1157 mpdevil:2760
#: mpdevil:1118 mpdevil:2713
msgid "Genre"
msgstr "Genre"
#: mpdevil:1273 mpdevil:1275 mpdevil:3714
#: mpdevil:1234 mpdevil:1236 mpdevil:3666
msgid "Settings"
msgstr "Einstellungen"
#: mpdevil:1288 mpdevil:1297 mpdevil:3560
#: mpdevil:1249 mpdevil:1258 mpdevil:3513
msgid "General"
msgstr "Allgemein"
#: mpdevil:1289 mpdevil:1298 mpdevil:3725
#: mpdevil:1250 mpdevil:1259 mpdevil:3677
msgid "Profiles"
msgstr "Profile"
#: mpdevil:1290 mpdevil:1299 mpdevil:3564
#: mpdevil:1251 mpdevil:1260 mpdevil:3517
msgid "Playlist"
msgstr "Wiedergabeliste"
#: mpdevil:1313
#: mpdevil:1273
msgid "Stats"
msgstr "Statistik"
#: mpdevil:1323
#: mpdevil:1283
msgid "<b>Protocol:</b>"
msgstr "<b>Protokoll:</b>"
#: mpdevil:1324
#: mpdevil:1284
msgid "<b>Uptime:</b>"
msgstr "<b>Uptime:</b>"
#: mpdevil:1325
#: mpdevil:1285
msgid "<b>Playtime:</b>"
msgstr "<b>Wiedergabezeit:</b>"
#: mpdevil:1326
#: mpdevil:1286
msgid "<b>Artists:</b>"
msgstr "<b>Künstler:</b>"
#: mpdevil:1327
#: mpdevil:1287
msgid "<b>Albums:</b>"
msgstr "<b>Alben:</b>"
#: mpdevil:1328
#: mpdevil:1288
msgid "<b>Songs:</b>"
msgstr "<b>Titel:</b>"
#: mpdevil:1329
#: mpdevil:1289
msgid "<b>Total Playtime:</b>"
msgstr "<b>Gesamt Wiedergabezeit:</b>"
msgstr "<b>Gesamtwiedergabezeit:</b>"
#: mpdevil:1330
#: mpdevil:1290
msgid "<b>Database Update:</b>"
msgstr "<b>Datenbankaktualisierung:</b>"
#: mpdevil:1355
#: mpdevil:1314
msgid "A simple music browser for MPD"
msgstr "Ein einfacher Musikbrowser für MPD"
#: mpdevil:1461
msgid "MPD-Tag"
msgstr "MPD-Tag"
#: mpdevil:1464
msgid "Value"
msgstr "Wert"
#: mpdevil:1490
#: mpdevil:1412
msgid "Open with…"
msgstr "Öffnen mit…"
#: mpdevil:1596
#: mpdevil:1430
msgid "MPD-Tag"
msgstr "MPD-Tag"
#: mpdevil:1433
msgid "Value"
msgstr "Wert"
#: mpdevil:1564
msgid "_Append"
msgstr "_Anhängen"
#: mpdevil:1598
#: mpdevil:1566
msgid "Add all titles to playlist"
msgstr "Alle Titel der Wiedergabeliste anhängen"
#: mpdevil:1599
#: mpdevil:1567
msgid "_Play"
msgstr "Ab_spielen"
#: mpdevil:1601
#: mpdevil:1569
msgid "Directly play all titles"
msgstr "Alle Titel sofort abspielen"
#: mpdevil:1602
#: mpdevil:1570
msgid "_Enqueue"
msgstr "_Einreihen"
#: mpdevil:1604
#: mpdevil:1572
msgid ""
"Append all titles after the currently playing track and clear the playlist "
"from all other songs"
@@ -286,259 +273,301 @@ msgstr ""
"Alle Titel hinter dem aktuellen Stück einreihen und die weitere "
"Wiedergabeliste leeren"
#: mpdevil:1860
#: mpdevil:1827
msgid "all tags"
msgstr "Alle Tags"
#: mpdevil:1888
#: mpdevil:1856
#, python-brace-format
msgid "{num} hits"
msgstr "{num} Treffer"
msgid "{hits} hit"
msgid_plural "{hits} hits"
msgstr[0] "{hits} Treffer"
msgstr[1] "{hits} Treffer"
#: mpdevil:1926
#: mpdevil:1894
msgid "all genres"
msgstr "Alle Genres"
#: mpdevil:2028
#: mpdevil:1996
msgid "all artists"
msgstr "Alle Interpreten"
#: mpdevil:2220
#: mpdevil:2180 mpdevil:2805 mpdevil:3091 mpdevil:3092
#, python-brace-format
msgid "{titles} titles on {discs} discs ({length})"
msgstr "{titles} Titel auf {discs} CDs ({length})"
msgid "{titles} title"
msgid_plural "{titles} titles"
msgstr[0] "{titles} Titel"
msgstr[1] "{titles} Titel"
#: mpdevil:2223 mpdevil:2857 mpdevil:3144 mpdevil:3145
#: mpdevil:2182
#, python-brace-format
msgid "{titles} titles ({length})"
msgstr "{titles} Titel ({length})"
msgid "on {discs} discs"
msgstr "auf {discs} CDs"
#: mpdevil:2363 mpdevil:3583
#: mpdevil:2322 mpdevil:3536
msgid "Back to current album"
msgstr "Zurück zu aktuellem Album"
#: mpdevil:2365
#: mpdevil:2324
msgid "Search"
msgstr "Suche"
#: mpdevil:2542
#: mpdevil:2500
msgid "searching..."
msgstr "suche..."
#: mpdevil:2547
#: mpdevil:2505
msgid "connection error"
msgstr "Verbindungsfehler"
#: mpdevil:2549
#: mpdevil:2507
msgid "lyrics not found"
msgstr "Liedtext nicht gefunden"
#: mpdevil:2597
#: mpdevil:2552
#, python-brace-format
msgid ""
"{bitrate} kb/s, {frequency} kHz, {resolution} bit, {channels} channels, "
"{file_type}"
msgstr ""
"{bitrate} kb/s, {frequency} kHz, {resolution} bit, {channels} Kanäle, "
"{file_type}"
msgid "{channels} channel"
msgid_plural "{channels} channels"
msgstr[0] "{channels} Kanal"
msgstr[1] "{channels} Kanäle"
#: mpdevil:2727
#: mpdevil:2680
msgid "Scroll to current song"
msgstr "Gehe zu aktuellem Lied"
#: mpdevil:2735 mpdevil:3599
#: mpdevil:2688 mpdevil:3552
msgid "Clear playlist"
msgstr "Wiedergabeliste leeren"
#: mpdevil:3029
#: mpdevil:2982
msgid "Show lyrics"
msgstr "Zeige Liedtext"
#: mpdevil:3351
#: mpdevil:3300
msgid "Random mode"
msgstr "Zufallsmodus"
#: mpdevil:3353
#: mpdevil:3302
msgid "Repeat mode"
msgstr "Dauerschleife"
#: mpdevil:3355
#: mpdevil:3304
msgid "Single mode"
msgstr "Einzelstückmodus"
#: mpdevil:3357
#: mpdevil:3306
msgid "Consume mode"
msgstr "Wiedergabeliste verbrauchen"
#: mpdevil:3561
#: mpdevil:3514
msgid "Window"
msgstr "Fenster"
#: mpdevil:3562
#: mpdevil:3515
msgid "Playback"
msgstr "Wiedergabe"
#: mpdevil:3563
#: mpdevil:3516
msgid "Search, Album Dialog and Album List"
msgstr "Suche, Albumdialog und Albumliste"
#: mpdevil:3573
#: mpdevil:3526
msgid "Open online help"
msgstr "Onlinehilfe öffnen"
#: mpdevil:3574
#: mpdevil:3527
msgid "Open shortcuts window"
msgstr "Tastenkürzelfenster öffnen"
#: mpdevil:3575
#: mpdevil:3528
msgid "Open menu"
msgstr "Menü öffnen"
#: mpdevil:3576 mpdevil:3720
#: mpdevil:3529 mpdevil:3672
msgid "Update database"
msgstr "Datenbank aktualisieren"
#: mpdevil:3577 mpdevil:3718
#: mpdevil:3530 mpdevil:3670
msgid "Quit"
msgstr "Beenden"
#: mpdevil:3578
#: mpdevil:3531
msgid "Cycle through profiles"
msgstr "Profile durchschalten"
#: mpdevil:3579
#: mpdevil:3532
msgid "Cycle through profiles in reversed order"
msgstr "Profile rückwärts durchschalten"
#: mpdevil:3580
#: mpdevil:3533
msgid "Toggle mini player"
msgstr "Miniplayer ein-/ausschalten"
#: mpdevil:3581
#: mpdevil:3534
msgid "Toggle lyrics"
msgstr "Liedtext ein-/ausblenden"
#: mpdevil:3582
#: mpdevil:3535
msgid "Toggle search"
msgstr "Suche ein-/ausblenden"
#: mpdevil:3584
#: mpdevil:3537
msgid "Play/Pause"
msgstr "Wiedergabe/Pause"
#: mpdevil:3585
#: mpdevil:3538
msgid "Stop"
msgstr "Stopp"
#: mpdevil:3586
#: mpdevil:3539
msgid "Next title"
msgstr "Nächster Titel"
#: mpdevil:3587
#: mpdevil:3540
msgid "Previous title"
msgstr "Vorheriger Titel"
#: mpdevil:3588
#: mpdevil:3541
msgid "Seek forward"
msgstr "Vorspulen"
#: mpdevil:3589
#: mpdevil:3542
msgid "Seek backward"
msgstr "Zurückspulen"
#: mpdevil:3590
#: mpdevil:3543
msgid "Toggle repeat mode"
msgstr "Dauerschleife ein-/ausschalten"
#: mpdevil:3591
#: mpdevil:3544
msgid "Toggle random mode"
msgstr "Zufallsmodus ein-/ausschalten"
#: mpdevil:3592
#: mpdevil:3545
msgid "Toggle single mode"
msgstr "Einzelstückmodus ein-/ausschalten"
#: mpdevil:3593
#: mpdevil:3546
msgid "Toggle consume mode"
msgstr "Wiedergabeliste verbrauchen ein-/ausschalten"
#: mpdevil:3594
#: mpdevil:3547
msgid "Play selected item (next)"
msgstr "Ausgewähltes Element (als Nächstes) abspielen"
#: mpdevil:3594
#: mpdevil:3547
msgid "Left-click"
msgstr "Linksklick"
#: mpdevil:3595
#: mpdevil:3548
msgid "Append selected item"
msgstr "Ausgewähltes Element anhängen"
#: mpdevil:3595 mpdevil:3598
#: mpdevil:3548 mpdevil:3551
msgid "Middle-click"
msgstr "Mittelklick"
#: mpdevil:3596
#: mpdevil:3549
msgid "Play selected item immediately"
msgstr "Ausgewähltes Element sofort abspielen"
#: mpdevil:3596
#: mpdevil:3549
msgid "Double-click"
msgstr "Doppelklick"
#: mpdevil:3597 mpdevil:3600
#: mpdevil:3550 mpdevil:3553
msgid "Show additional information"
msgstr "Zeige weitere Informationen"
#: mpdevil:3597 mpdevil:3600
#: mpdevil:3550 mpdevil:3553
msgid "Right-click"
msgstr "Rechtsklick"
#: mpdevil:3598
#: mpdevil:3551
msgid "Remove selected song"
msgstr "Ausgewählten Titel entfernen"
#: mpdevil:3624
#: mpdevil:3577
msgid "Connect"
msgstr "Verbinden"
#: mpdevil:3642
#: mpdevil:3595
#, python-brace-format
msgid "Connection to “{profile}” ({host}:{port}) failed"
msgstr "Verbindung zu „{profile}“ ({host}:{port}) fehlgeschlagen"
#: mpdevil:3715
#: mpdevil:3667
msgid "Keyboard shortcuts"
msgstr "Tastenkürzel"
#: mpdevil:3716
#: mpdevil:3668
msgid "Help"
msgstr "Hilfe"
#: mpdevil:3717
#: mpdevil:3669
msgid "About"
msgstr "Über"
#: mpdevil:3721
#: mpdevil:3673
msgid "Server stats"
msgstr "Serverstatistik"
#: mpdevil:3726
#: mpdevil:3678
msgid "Mini player"
msgstr "Miniplayer"
#: mpdevil:3727
msgid "Save window layout"
msgstr "Fensterlayout speichern"
#: mpdevil:3732
#: mpdevil:3683
msgid "Menu"
msgstr "Menü"
#: mpdevil:3783 mpdevil:3785
#: mpdevil:3734 mpdevil:3736
msgid "connecting…"
msgstr "verbinden…"
#~ msgid "Sort albums in chronological order"
#~ msgstr "Alben chronologisch sortieren"
#~ msgid "name"
#~ msgstr "Name"
#~ msgid "year"
#~ msgstr "Jahr"
#~ msgid "Position of playlist:"
#~ msgstr "Wiedergabelistenposition:"
#~ msgid "bottom"
#~ msgstr "unten"
#~ msgid "right"
#~ msgstr "rechts"
#~ msgid "Show tooltips in album view"
#~ msgstr "Zeige Tooltips in Albumliste"
#~ msgid "Save window layout"
#~ msgstr "Fensterlayout speichern"
#, python-brace-format
#~ msgid ""
#~ "{bitrate} kb/s, {frequency} kHz, {resolution} bit, {channels} channels, "
#~ "{file_type}"
#~ msgstr ""
#~ "{bitrate} kb/s, {frequency} kHz, {resolution} bit, {channels} Kanäle, "
#~ "{file_type}"
#, python-brace-format
#~ msgid "{titles} titles on {discs} discs ({length})"
#~ msgstr "{titles} Titel auf {discs} CDs ({length})"
#, python-brace-format
#~ msgid "{titles} titles ({length})"
#~ msgstr "{titles} Titel ({length})"
#, python-brace-format
#~ msgid "{num} hits"
#~ msgstr "{num} Treffer"
#~ msgid "Close"
#~ msgstr "Schließen"
@@ -562,10 +591,6 @@ msgstr "verbinden…"
#~ msgid "not connected"
#~ msgstr "nicht verbunden"
#, python-format
#~ msgid "hits: %i"
#~ msgstr "Treffer: %i"
#~ msgid "Add"
#~ msgstr "Hinzufügen"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-01 12:34+0100\n"
"POT-Creation-Date: 2021-02-12 16:57+0100\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"
@@ -16,515 +16,503 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
#: mpdevil:471
#: mpdevil:438
#, python-brace-format
msgid "{days} day"
msgid_plural "{days} days"
msgstr[0] ""
msgstr[1] ""
#: mpdevil:473
msgid "Unknown Title"
msgstr ""
#: mpdevil:795
#: mpdevil:802
msgid "Main cover size:"
msgstr ""
#: mpdevil:796
#: mpdevil:803
msgid "Album view cover size:"
msgstr ""
#: mpdevil:797
#: mpdevil:804
msgid "Action bar icon size:"
msgstr ""
#: mpdevil:798
#: mpdevil:805
msgid "Secondary icon size:"
msgstr ""
#: mpdevil:811
msgid "Sort albums by:"
msgstr ""
#: mpdevil:811
msgid "name"
msgstr ""
#: mpdevil:811
msgid "year"
msgstr ""
#: mpdevil:812
msgid "Position of playlist:"
msgstr ""
#: mpdevil:812
msgid "bottom"
msgstr ""
#: mpdevil:812
msgid "right"
msgstr ""
#: mpdevil:830
#: mpdevil:818
msgid "Use Client-side decoration"
msgstr ""
#: mpdevil:831
#: mpdevil:819
msgid "Show stop button"
msgstr ""
#: mpdevil:832
#: mpdevil:820
msgid "Show lyrics button"
msgstr ""
#: mpdevil:833
#: mpdevil:821
msgid "Show initials in artist view"
msgstr ""
#: mpdevil:834
msgid "Show tooltips in album view"
#: mpdevil:822
msgid "Place playlist at the side"
msgstr ""
#: mpdevil:835
#: mpdevil:823
msgid "Use “Album Artist” tag"
msgstr ""
#: mpdevil:836
#: mpdevil:824
msgid "Send notification on title change"
msgstr ""
#: mpdevil:837
#: mpdevil:825
msgid "Stop playback on quit"
msgstr ""
#: mpdevil:838
#: mpdevil:826
msgid "Play selected albums and titles immediately"
msgstr ""
#: mpdevil:851
#: mpdevil:827
msgid "Sort albums by year"
msgstr ""
#: mpdevil:839
msgid "<b>View</b>"
msgstr ""
#: mpdevil:852
#: mpdevil:840
msgid "<b>Behavior</b>"
msgstr ""
#: mpdevil:884
#: mpdevil:860
msgid "(restart required)"
msgstr ""
#: mpdevil:946
#: mpdevil:909
msgid "_Connect"
msgstr ""
#: mpdevil:962
#: mpdevil:925
msgid ""
"The first image in the same directory as the song file matching this regex "
"will be displayed. %AlbumArtist% and %Album% will be replaced by the "
"corresponding tags of the song."
msgstr ""
#: mpdevil:967
#: mpdevil:930
msgid "Profile:"
msgstr ""
#: mpdevil:968
#: mpdevil:931
msgid "Name:"
msgstr ""
#: mpdevil:969
#: mpdevil:932
msgid "Host:"
msgstr ""
#: mpdevil:970
#: mpdevil:933
msgid "Password:"
msgstr ""
#: mpdevil:971
#: mpdevil:934
msgid "Music lib:"
msgstr ""
#: mpdevil:972
#: mpdevil:935
msgid "Cover regex:"
msgstr ""
#: mpdevil:1107
#: mpdevil:1070
msgid "Choose directory"
msgstr ""
#: mpdevil:1140
#: mpdevil:1101
msgid "Choose the order of information to appear in the playlist:"
msgstr ""
#: mpdevil:1157 mpdevil:1703 mpdevil:1799 mpdevil:2753
#: mpdevil:1118 mpdevil:1671 mpdevil:1766 mpdevil:2706
msgid "No"
msgstr ""
#: mpdevil:1157 mpdevil:2754
#: mpdevil:1118 mpdevil:2707
msgid "Disc"
msgstr ""
#: mpdevil:1157 mpdevil:1706 mpdevil:1804 mpdevil:2755
#: mpdevil:1118 mpdevil:1674 mpdevil:1771 mpdevil:2708
msgid "Title"
msgstr ""
#: mpdevil:1157 mpdevil:1810 mpdevil:2756
#: mpdevil:1118 mpdevil:1777 mpdevil:2709
msgid "Artist"
msgstr ""
#: mpdevil:1157 mpdevil:1816 mpdevil:2757
#: mpdevil:1118 mpdevil:1783 mpdevil:2710
msgid "Album"
msgstr ""
#: mpdevil:1157 mpdevil:1710 mpdevil:1822 mpdevil:2758
#: mpdevil:1118 mpdevil:1678 mpdevil:1789 mpdevil:2711
msgid "Length"
msgstr ""
#: mpdevil:1157 mpdevil:2759
#: mpdevil:1118 mpdevil:2712
msgid "Year"
msgstr ""
#: mpdevil:1157 mpdevil:2760
#: mpdevil:1118 mpdevil:2713
msgid "Genre"
msgstr ""
#: mpdevil:1273 mpdevil:1275 mpdevil:3714
#: mpdevil:1234 mpdevil:1236 mpdevil:3666
msgid "Settings"
msgstr ""
#: mpdevil:1288 mpdevil:1297 mpdevil:3560
#: mpdevil:1249 mpdevil:1258 mpdevil:3513
msgid "General"
msgstr ""
#: mpdevil:1289 mpdevil:1298 mpdevil:3725
#: mpdevil:1250 mpdevil:1259 mpdevil:3677
msgid "Profiles"
msgstr ""
#: mpdevil:1290 mpdevil:1299 mpdevil:3564
#: mpdevil:1251 mpdevil:1260 mpdevil:3517
msgid "Playlist"
msgstr ""
#: mpdevil:1313
#: mpdevil:1273
msgid "Stats"
msgstr ""
#: mpdevil:1323
#: mpdevil:1283
msgid "<b>Protocol:</b>"
msgstr ""
#: mpdevil:1324
#: mpdevil:1284
msgid "<b>Uptime:</b>"
msgstr ""
#: mpdevil:1325
#: mpdevil:1285
msgid "<b>Playtime:</b>"
msgstr ""
#: mpdevil:1326
#: mpdevil:1286
msgid "<b>Artists:</b>"
msgstr ""
#: mpdevil:1327
#: mpdevil:1287
msgid "<b>Albums:</b>"
msgstr ""
#: mpdevil:1328
#: mpdevil:1288
msgid "<b>Songs:</b>"
msgstr ""
#: mpdevil:1329
#: mpdevil:1289
msgid "<b>Total Playtime:</b>"
msgstr ""
#: mpdevil:1330
#: mpdevil:1290
msgid "<b>Database Update:</b>"
msgstr ""
#: mpdevil:1355
#: mpdevil:1314
msgid "A simple music browser for MPD"
msgstr ""
#: mpdevil:1461
msgid "MPD-Tag"
msgstr ""
#: mpdevil:1464
msgid "Value"
msgstr ""
#: mpdevil:1490
#: mpdevil:1412
msgid "Open with…"
msgstr ""
#: mpdevil:1596
#: mpdevil:1430
msgid "MPD-Tag"
msgstr ""
#: mpdevil:1433
msgid "Value"
msgstr ""
#: mpdevil:1564
msgid "_Append"
msgstr ""
#: mpdevil:1598
#: mpdevil:1566
msgid "Add all titles to playlist"
msgstr ""
#: mpdevil:1599
#: mpdevil:1567
msgid "_Play"
msgstr ""
#: mpdevil:1601
#: mpdevil:1569
msgid "Directly play all titles"
msgstr ""
#: mpdevil:1602
#: mpdevil:1570
msgid "_Enqueue"
msgstr ""
#: mpdevil:1604
#: mpdevil:1572
msgid ""
"Append all titles after the currently playing track and clear the playlist "
"from all other songs"
msgstr ""
#: mpdevil:1860
#: mpdevil:1827
msgid "all tags"
msgstr ""
#: mpdevil:1888
#: mpdevil:1856
#, python-brace-format
msgid "{num} hits"
msgstr ""
msgid "{hits} hit"
msgid_plural "{hits} hits"
msgstr[0] ""
msgstr[1] ""
#: mpdevil:1926
#: mpdevil:1894
msgid "all genres"
msgstr ""
#: mpdevil:2028
#: mpdevil:1996
msgid "all artists"
msgstr ""
#: mpdevil:2220
#: mpdevil:2180 mpdevil:2805 mpdevil:3091 mpdevil:3092
#, python-brace-format
msgid "{titles} titles on {discs} discs ({length})"
msgid "{titles} title"
msgid_plural "{titles} titles"
msgstr[0] ""
msgstr[1] ""
#: mpdevil:2182
#, python-brace-format
msgid "on {discs} discs"
msgstr ""
#: mpdevil:2223 mpdevil:2857 mpdevil:3144 mpdevil:3145
#, python-brace-format
msgid "{titles} titles ({length})"
msgstr ""
#: mpdevil:2363 mpdevil:3583
#: mpdevil:2322 mpdevil:3536
msgid "Back to current album"
msgstr ""
#: mpdevil:2365
#: mpdevil:2324
msgid "Search"
msgstr ""
#: mpdevil:2542
#: mpdevil:2500
msgid "searching..."
msgstr ""
#: mpdevil:2547
#: mpdevil:2505
msgid "connection error"
msgstr ""
#: mpdevil:2549
#: mpdevil:2507
msgid "lyrics not found"
msgstr ""
#: mpdevil:2597
#: mpdevil:2552
#, python-brace-format
msgid ""
"{bitrate} kb/s, {frequency} kHz, {resolution} bit, {channels} channels, "
"{file_type}"
msgstr ""
msgid "{channels} channel"
msgid_plural "{channels} channels"
msgstr[0] ""
msgstr[1] ""
#: mpdevil:2727
#: mpdevil:2680
msgid "Scroll to current song"
msgstr ""
#: mpdevil:2735 mpdevil:3599
#: mpdevil:2688 mpdevil:3552
msgid "Clear playlist"
msgstr ""
#: mpdevil:3029
#: mpdevil:2982
msgid "Show lyrics"
msgstr ""
#: mpdevil:3351
#: mpdevil:3300
msgid "Random mode"
msgstr ""
#: mpdevil:3353
#: mpdevil:3302
msgid "Repeat mode"
msgstr ""
#: mpdevil:3355
#: mpdevil:3304
msgid "Single mode"
msgstr ""
#: mpdevil:3357
#: mpdevil:3306
msgid "Consume mode"
msgstr ""
#: mpdevil:3561
#: mpdevil:3514
msgid "Window"
msgstr ""
#: mpdevil:3562
#: mpdevil:3515
msgid "Playback"
msgstr ""
#: mpdevil:3563
#: mpdevil:3516
msgid "Search, Album Dialog and Album List"
msgstr ""
#: mpdevil:3573
#: mpdevil:3526
msgid "Open online help"
msgstr ""
#: mpdevil:3574
#: mpdevil:3527
msgid "Open shortcuts window"
msgstr ""
#: mpdevil:3575
#: mpdevil:3528
msgid "Open menu"
msgstr ""
#: mpdevil:3576 mpdevil:3720
#: mpdevil:3529 mpdevil:3672
msgid "Update database"
msgstr ""
#: mpdevil:3577 mpdevil:3718
#: mpdevil:3530 mpdevil:3670
msgid "Quit"
msgstr ""
#: mpdevil:3578
#: mpdevil:3531
msgid "Cycle through profiles"
msgstr ""
#: mpdevil:3579
#: mpdevil:3532
msgid "Cycle through profiles in reversed order"
msgstr ""
#: mpdevil:3580
#: mpdevil:3533
msgid "Toggle mini player"
msgstr ""
#: mpdevil:3581
#: mpdevil:3534
msgid "Toggle lyrics"
msgstr ""
#: mpdevil:3582
#: mpdevil:3535
msgid "Toggle search"
msgstr ""
#: mpdevil:3584
#: mpdevil:3537
msgid "Play/Pause"
msgstr ""
#: mpdevil:3585
#: mpdevil:3538
msgid "Stop"
msgstr ""
#: mpdevil:3586
#: mpdevil:3539
msgid "Next title"
msgstr ""
#: mpdevil:3587
#: mpdevil:3540
msgid "Previous title"
msgstr ""
#: mpdevil:3588
#: mpdevil:3541
msgid "Seek forward"
msgstr ""
#: mpdevil:3589
#: mpdevil:3542
msgid "Seek backward"
msgstr ""
#: mpdevil:3590
#: mpdevil:3543
msgid "Toggle repeat mode"
msgstr ""
#: mpdevil:3591
#: mpdevil:3544
msgid "Toggle random mode"
msgstr ""
#: mpdevil:3592
#: mpdevil:3545
msgid "Toggle single mode"
msgstr ""
#: mpdevil:3593
#: mpdevil:3546
msgid "Toggle consume mode"
msgstr ""
#: mpdevil:3594
#: mpdevil:3547
msgid "Play selected item (next)"
msgstr ""
#: mpdevil:3594
#: mpdevil:3547
msgid "Left-click"
msgstr ""
#: mpdevil:3595
#: mpdevil:3548
msgid "Append selected item"
msgstr ""
#: mpdevil:3595 mpdevil:3598
#: mpdevil:3548 mpdevil:3551
msgid "Middle-click"
msgstr ""
#: mpdevil:3596
#: mpdevil:3549
msgid "Play selected item immediately"
msgstr ""
#: mpdevil:3596
#: mpdevil:3549
msgid "Double-click"
msgstr ""
#: mpdevil:3597 mpdevil:3600
#: mpdevil:3550 mpdevil:3553
msgid "Show additional information"
msgstr ""
#: mpdevil:3597 mpdevil:3600
#: mpdevil:3550 mpdevil:3553
msgid "Right-click"
msgstr ""
#: mpdevil:3598
#: mpdevil:3551
msgid "Remove selected song"
msgstr ""
#: mpdevil:3624
#: mpdevil:3577
msgid "Connect"
msgstr ""
#: mpdevil:3642
#: mpdevil:3595
#, python-brace-format
msgid "Connection to “{profile}” ({host}:{port}) failed"
msgstr ""
#: mpdevil:3715
#: mpdevil:3667
msgid "Keyboard shortcuts"
msgstr ""
#: mpdevil:3716
#: mpdevil:3668
msgid "Help"
msgstr ""
#: mpdevil:3717
#: mpdevil:3669
msgid "About"
msgstr ""
#: mpdevil:3721
#: mpdevil:3673
msgid "Server stats"
msgstr ""
#: mpdevil:3726
#: mpdevil:3678
msgid "Mini player"
msgstr ""
#: mpdevil:3727
msgid "Save window layout"
msgstr ""
#: mpdevil:3732
#: mpdevil:3683
msgid "Menu"
msgstr ""
#: mpdevil:3783 mpdevil:3785
#: mpdevil:3734 mpdevil:3736
msgid "connecting…"
msgstr ""

357
po/nl.po
View File

@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-01 12:34+0100\n"
"PO-Revision-Date: 2021-01-01 12:35+0100\n"
"POT-Creation-Date: 2021-02-12 16:57+0100\n"
"PO-Revision-Date: 2021-02-12 16:59+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: nl\n"
@@ -18,103 +18,90 @@ msgstr ""
"X-Generator: Poedit 2.3.1\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: mpdevil:471
#: mpdevil:438
#, python-brace-format
msgid "{days} day"
msgid_plural "{days} days"
msgstr[0] "{days} dag"
msgstr[1] "{days} dagen"
#: mpdevil:473
msgid "Unknown Title"
msgstr "Onbekende titel"
#: mpdevil:795
#: mpdevil:802
msgid "Main cover size:"
msgstr "Grootte albumhoes:"
#: mpdevil:796
#: mpdevil:803
msgid "Album view cover size:"
msgstr "Hoesgrootte in albumlijst:"
#: mpdevil:797
#: mpdevil:804
msgid "Action bar icon size:"
msgstr "Grootte iconen werkbalk:"
#: mpdevil:798
#: mpdevil:805
msgid "Secondary icon size:"
msgstr "Grootte overige iconen:"
#: mpdevil:811
msgid "Sort albums by:"
msgstr "Albums sorteren op:"
#: mpdevil:811
msgid "name"
msgstr "naam"
#: mpdevil:811
msgid "year"
msgstr "jaar"
#: mpdevil:812
msgid "Position of playlist:"
msgstr "Positie afspeellijst:"
#: mpdevil:812
msgid "bottom"
msgstr "onder"
#: mpdevil:812
msgid "right"
msgstr "rechts"
#: mpdevil:830
#: mpdevil:818
msgid "Use Client-side decoration"
msgstr "Gebruik vensterdecoratie van mpdevil"
#: mpdevil:831
#: mpdevil:819
msgid "Show stop button"
msgstr "Toon stopknop"
#: mpdevil:832
#: mpdevil:820
msgid "Show lyrics button"
msgstr "Toon songtekstknop"
#: mpdevil:833
#: mpdevil:821
msgid "Show initials in artist view"
msgstr "Toon beginletters in artiestenlijst"
#: mpdevil:834
msgid "Show tooltips in album view"
msgstr "Toon tooltip in albumlijst"
#: mpdevil:822
msgid "Place playlist at the side"
msgstr "Plaats afspeellijst aan de zijkant"
#: mpdevil:835
#: mpdevil:823
msgid "Use “Album Artist” tag"
msgstr "Gebruik tag \"Album Artist\""
#: mpdevil:836
#: mpdevil:824
msgid "Send notification on title change"
msgstr "Verstuur een melding bij titelwisseling"
#: mpdevil:837
#: mpdevil:825
msgid "Stop playback on quit"
msgstr "Stop afspelen bij afsluiten"
#: mpdevil:838
#: mpdevil:826
msgid "Play selected albums and titles immediately"
msgstr "Geselecteerde albums en titels direct afspelen"
#: mpdevil:851
#: mpdevil:827
msgid "Sort albums by year"
msgstr "Sorteer albums op jaar"
#: mpdevil:839
msgid "<b>View</b>"
msgstr "<b>Beeld</b>"
#: mpdevil:852
#: mpdevil:840
msgid "<b>Behavior</b>"
msgstr "<b>Gedrag</b>"
#: mpdevil:884
#: mpdevil:860
msgid "(restart required)"
msgstr "(herstart vereist)"
#: mpdevil:946
#: mpdevil:909
msgid "_Connect"
msgstr "_Verbinden"
#: mpdevil:962
#: mpdevil:925
msgid ""
"The first image in the same directory as the song file matching this regex "
"will be displayed. %AlbumArtist% and %Album% will be replaced by the "
@@ -124,159 +111,159 @@ msgstr ""
"met deze regex wordt getoond. %AlbumArtist% en %Album% worden vervangen door "
"de bijbehorende tags van het muziekbestand."
#: mpdevil:967
#: mpdevil:930
msgid "Profile:"
msgstr "Profiel:"
#: mpdevil:968
#: mpdevil:931
msgid "Name:"
msgstr "Naam:"
#: mpdevil:969
#: mpdevil:932
msgid "Host:"
msgstr "Host:"
#: mpdevil:970
#: mpdevil:933
msgid "Password:"
msgstr "Wachtwoord:"
#: mpdevil:971
#: mpdevil:934
msgid "Music lib:"
msgstr "Muziekmap:"
#: mpdevil:972
#: mpdevil:935
msgid "Cover regex:"
msgstr "Regex albumhoes:"
#: mpdevil:1107
#: mpdevil:1070
msgid "Choose directory"
msgstr "Kies een map"
#: mpdevil:1140
#: mpdevil:1101
msgid "Choose the order of information to appear in the playlist:"
msgstr "Kies de volgorde van de informatie getoond in de afspeellijst:"
#: mpdevil:1157 mpdevil:1703 mpdevil:1799 mpdevil:2753
#: mpdevil:1118 mpdevil:1671 mpdevil:1766 mpdevil:2706
msgid "No"
msgstr "Nr"
#: mpdevil:1157 mpdevil:2754
#: mpdevil:1118 mpdevil:2707
msgid "Disc"
msgstr "Disc"
#: mpdevil:1157 mpdevil:1706 mpdevil:1804 mpdevil:2755
#: mpdevil:1118 mpdevil:1674 mpdevil:1771 mpdevil:2708
msgid "Title"
msgstr "Titel"
#: mpdevil:1157 mpdevil:1810 mpdevil:2756
#: mpdevil:1118 mpdevil:1777 mpdevil:2709
msgid "Artist"
msgstr "Artiest"
#: mpdevil:1157 mpdevil:1816 mpdevil:2757
#: mpdevil:1118 mpdevil:1783 mpdevil:2710
msgid "Album"
msgstr "Album"
#: mpdevil:1157 mpdevil:1710 mpdevil:1822 mpdevil:2758
#: mpdevil:1118 mpdevil:1678 mpdevil:1789 mpdevil:2711
msgid "Length"
msgstr "Lengte"
#: mpdevil:1157 mpdevil:2759
#: mpdevil:1118 mpdevil:2712
msgid "Year"
msgstr "Jaar"
#: mpdevil:1157 mpdevil:2760
#: mpdevil:1118 mpdevil:2713
msgid "Genre"
msgstr "Genre"
#: mpdevil:1273 mpdevil:1275 mpdevil:3714
#: mpdevil:1234 mpdevil:1236 mpdevil:3666
msgid "Settings"
msgstr "Instellingen"
#: mpdevil:1288 mpdevil:1297 mpdevil:3560
#: mpdevil:1249 mpdevil:1258 mpdevil:3513
msgid "General"
msgstr "Algemeen"
#: mpdevil:1289 mpdevil:1298 mpdevil:3725
#: mpdevil:1250 mpdevil:1259 mpdevil:3677
msgid "Profiles"
msgstr "Profielen"
#: mpdevil:1290 mpdevil:1299 mpdevil:3564
#: mpdevil:1251 mpdevil:1260 mpdevil:3517
msgid "Playlist"
msgstr "Afspeellijst"
#: mpdevil:1313
#: mpdevil:1273
msgid "Stats"
msgstr "Statistieken"
#: mpdevil:1323
#: mpdevil:1283
msgid "<b>Protocol:</b>"
msgstr "<b>Protocol:</b>"
#: mpdevil:1324
#: mpdevil:1284
msgid "<b>Uptime:</b>"
msgstr "<b>Uptime:</b>"
#: mpdevil:1325
#: mpdevil:1285
msgid "<b>Playtime:</b>"
msgstr "<b>Afspeeltijd:</b>"
#: mpdevil:1326
#: mpdevil:1286
msgid "<b>Artists:</b>"
msgstr "<b>Artiesten:</b>"
#: mpdevil:1327
#: mpdevil:1287
msgid "<b>Albums:</b>"
msgstr "<b>Albums:</b>"
#: mpdevil:1328
#: mpdevil:1288
msgid "<b>Songs:</b>"
msgstr "<b>Titels:</b>"
#: mpdevil:1329
#: mpdevil:1289
msgid "<b>Total Playtime:</b>"
msgstr "<b>Totale speelduur:</b>"
#: mpdevil:1330
#: mpdevil:1290
msgid "<b>Database Update:</b>"
msgstr "<b>Database bijgewerkt:</b>"
#: mpdevil:1355
#: mpdevil:1314
msgid "A simple music browser for MPD"
msgstr "Een simpele muziekspeler voor MPD"
#: mpdevil:1461
msgid "MPD-Tag"
msgstr "MPD-Tag"
#: mpdevil:1464
msgid "Value"
msgstr "Waarde"
#: mpdevil:1490
#: mpdevil:1412
msgid "Open with…"
msgstr "Openen met…"
#: mpdevil:1596
#: mpdevil:1430
msgid "MPD-Tag"
msgstr "MPD-Tag"
#: mpdevil:1433
msgid "Value"
msgstr "Waarde"
#: mpdevil:1564
msgid "_Append"
msgstr "_Toevoegen"
#: mpdevil:1598
#: mpdevil:1566
msgid "Add all titles to playlist"
msgstr "Voeg alle titels toe aan de afspeellijst"
#: mpdevil:1599
#: mpdevil:1567
msgid "_Play"
msgstr "_Afspelen"
#: mpdevil:1601
#: mpdevil:1569
msgid "Directly play all titles"
msgstr "Alle titels direct afspelen"
#: mpdevil:1602
#: mpdevil:1570
msgid "_Enqueue"
msgstr "_In wachtrij plaatsen"
#: mpdevil:1604
#: mpdevil:1572
msgid ""
"Append all titles after the currently playing track and clear the playlist "
"from all other songs"
@@ -284,258 +271,292 @@ msgstr ""
"Alle titels toevoegen na de nu spelende titel en alle overige titels uit de "
"afspeellijst verwijderen"
#: mpdevil:1860
#: mpdevil:1827
msgid "all tags"
msgstr "alle tags"
#: mpdevil:1888
#: mpdevil:1856
#, python-brace-format
msgid "{num} hits"
msgstr "{num} hits"
msgid "{hits} hit"
msgid_plural "{hits} hits"
msgstr[0] "{hits} hit"
msgstr[1] "{hits} treffers"
#: mpdevil:1926
#: mpdevil:1894
msgid "all genres"
msgstr "alle genres"
#: mpdevil:2028
#: mpdevil:1996
msgid "all artists"
msgstr "alle artiesten"
#: mpdevil:2220
#: mpdevil:2180 mpdevil:2805 mpdevil:3091 mpdevil:3092
#, python-brace-format
msgid "{titles} titles on {discs} discs ({length})"
msgstr "{titles} titels op {discs} discs ({length})"
msgid "{titles} title"
msgid_plural "{titles} titles"
msgstr[0] "{titles} titel"
msgstr[1] "{titles} titels"
#: mpdevil:2223 mpdevil:2857 mpdevil:3144 mpdevil:3145
#: mpdevil:2182
#, python-brace-format
msgid "{titles} titles ({length})"
msgstr "{titles} titels ({length})"
msgid "on {discs} discs"
msgstr "op {discs} discs"
#: mpdevil:2363 mpdevil:3583
#: mpdevil:2322 mpdevil:3536
msgid "Back to current album"
msgstr "Terug naar huidige album"
#: mpdevil:2365
#: mpdevil:2324
msgid "Search"
msgstr "Zoeken"
#: mpdevil:2542
#: mpdevil:2500
msgid "searching..."
msgstr "bezig met zoeken..."
#: mpdevil:2547
#: mpdevil:2505
msgid "connection error"
msgstr "verbindingsfout"
#: mpdevil:2549
#: mpdevil:2507
msgid "lyrics not found"
msgstr "geen songtekst gevonden"
#: mpdevil:2597
#: mpdevil:2552
#, python-brace-format
msgid ""
"{bitrate} kb/s, {frequency} kHz, {resolution} bit, {channels} channels, "
"{file_type}"
msgstr ""
"{bitrate} kb/s, {frequency} kHz, {resolution} bit, {channels} kanalen, "
"{file_type}"
msgid "{channels} channel"
msgid_plural "{channels} channels"
msgstr[0] "{channels} kanaal"
msgstr[1] "{channels} kanalen"
#: mpdevil:2727
#: mpdevil:2680
msgid "Scroll to current song"
msgstr "Naar de huidige titel scrollen"
#: mpdevil:2735 mpdevil:3599
#: mpdevil:2688 mpdevil:3552
msgid "Clear playlist"
msgstr "Afspeellijst legen"
#: mpdevil:3029
#: mpdevil:2982
msgid "Show lyrics"
msgstr "Toon songtekst"
#: mpdevil:3351
#: mpdevil:3300
msgid "Random mode"
msgstr "Willekeurige modus"
#: mpdevil:3353
#: mpdevil:3302
msgid "Repeat mode"
msgstr "Herhaalmodus"
#: mpdevil:3355
#: mpdevil:3304
msgid "Single mode"
msgstr "Enkele modus"
#: mpdevil:3357
#: mpdevil:3306
msgid "Consume mode"
msgstr "Verbruiksmodus"
#: mpdevil:3561
#: mpdevil:3514
msgid "Window"
msgstr "Venster"
#: mpdevil:3562
#: mpdevil:3515
msgid "Playback"
msgstr "Afspelen"
#: mpdevil:3563
#: mpdevil:3516
msgid "Search, Album Dialog and Album List"
msgstr "Zoeken, Albumdialoog en Albumlijst"
#: mpdevil:3573
#: mpdevil:3526
msgid "Open online help"
msgstr "Online hulp openen"
#: mpdevil:3574
#: mpdevil:3527
msgid "Open shortcuts window"
msgstr "Venster met sneltoetsen openen"
#: mpdevil:3575
#: mpdevil:3528
msgid "Open menu"
msgstr "Menu openen"
#: mpdevil:3576 mpdevil:3720
#: mpdevil:3529 mpdevil:3672
msgid "Update database"
msgstr "Database bijwerken"
#: mpdevil:3577 mpdevil:3718
#: mpdevil:3530 mpdevil:3670
msgid "Quit"
msgstr "Stoppen"
#: mpdevil:3578
#: mpdevil:3531
msgid "Cycle through profiles"
msgstr "Profielen doorlopen"
#: mpdevil:3579
#: mpdevil:3532
msgid "Cycle through profiles in reversed order"
msgstr "Profielen doorlopen in omgekeerde volgorde"
#: mpdevil:3580
#: mpdevil:3533
msgid "Toggle mini player"
msgstr "Omschakelen naar minispeler"
#: mpdevil:3581
#: mpdevil:3534
msgid "Toggle lyrics"
msgstr "Omschakelen naar songtekst"
#: mpdevil:3582
#: mpdevil:3535
msgid "Toggle search"
msgstr "Omschakelen naar zoeken"
#: mpdevil:3584
#: mpdevil:3537
msgid "Play/Pause"
msgstr "Afspelen/Pauzeren"
#: mpdevil:3585
#: mpdevil:3538
msgid "Stop"
msgstr "Stoppen"
#: mpdevil:3586
#: mpdevil:3539
msgid "Next title"
msgstr "Volgende titel"
#: mpdevil:3587
#: mpdevil:3540
msgid "Previous title"
msgstr "Vorige titel"
#: mpdevil:3588
#: mpdevil:3541
msgid "Seek forward"
msgstr "Vooruit spoelen"
#: mpdevil:3589
#: mpdevil:3542
msgid "Seek backward"
msgstr "Achteruit spoelen"
#: mpdevil:3590
#: mpdevil:3543
msgid "Toggle repeat mode"
msgstr "Omschakelen naar herhaalmodus"
#: mpdevil:3591
#: mpdevil:3544
msgid "Toggle random mode"
msgstr "Omschakelen naar willekeurige modus"
#: mpdevil:3592
#: mpdevil:3545
msgid "Toggle single mode"
msgstr "Omschakelen naar enkele modus"
#: mpdevil:3593
#: mpdevil:3546
msgid "Toggle consume mode"
msgstr "Omschakelen naar verbruiksmodus"
#: mpdevil:3594
#: mpdevil:3547
msgid "Play selected item (next)"
msgstr "Geselecteerde item afspelen (volgende)"
#: mpdevil:3594
#: mpdevil:3547
msgid "Left-click"
msgstr "Linksklik"
#: mpdevil:3595
#: mpdevil:3548
msgid "Append selected item"
msgstr "Geselecteerde item toevoegen"
#: mpdevil:3595 mpdevil:3598
#: mpdevil:3548 mpdevil:3551
msgid "Middle-click"
msgstr "Middelklik"
#: mpdevil:3596
#: mpdevil:3549
msgid "Play selected item immediately"
msgstr "Geselecteerde item direct afspelen"
#: mpdevil:3596
#: mpdevil:3549
msgid "Double-click"
msgstr "Dubbelklik"
#: mpdevil:3597 mpdevil:3600
#: mpdevil:3550 mpdevil:3553
msgid "Show additional information"
msgstr "Toon extra informatie"
#: mpdevil:3597 mpdevil:3600
#: mpdevil:3550 mpdevil:3553
msgid "Right-click"
msgstr "Rechtsklik"
#: mpdevil:3598
#: mpdevil:3551
msgid "Remove selected song"
msgstr "Geselecteerde titel verwijderen"
#: mpdevil:3624
#: mpdevil:3577
msgid "Connect"
msgstr "Verbinden"
#: mpdevil:3642
#: mpdevil:3595
#, python-brace-format
msgid "Connection to “{profile}” ({host}:{port}) failed"
msgstr "Verbinding met “{profile}” ({host}:{port}) mislukt"
#: mpdevil:3715
#: mpdevil:3667
msgid "Keyboard shortcuts"
msgstr "Sneltoetsen"
#: mpdevil:3716
#: mpdevil:3668
msgid "Help"
msgstr "Hulp"
#: mpdevil:3717
#: mpdevil:3669
msgid "About"
msgstr "Over"
#: mpdevil:3721
#: mpdevil:3673
msgid "Server stats"
msgstr "Serverstatistieken"
#: mpdevil:3726
#: mpdevil:3678
msgid "Mini player"
msgstr "Minispeler"
#: mpdevil:3727
msgid "Save window layout"
msgstr "Vensterindeling opslaan"
#: mpdevil:3732
#: mpdevil:3683
msgid "Menu"
msgstr "Menu"
#: mpdevil:3783 mpdevil:3785
#: mpdevil:3734 mpdevil:3736
msgid "connecting…"
msgstr "verbinding maken…"
#~ msgid "Sort albums in chronological order"
#~ msgstr "Sorteer albums in chronologische volgorde"
#~ msgid "name"
#~ msgstr "naam"
#~ msgid "year"
#~ msgstr "jaar"
#~ msgid "Position of playlist:"
#~ msgstr "Positie afspeellijst:"
#~ msgid "bottom"
#~ msgstr "onder"
#~ msgid "right"
#~ msgstr "rechts"
#~ msgid "Show tooltips in album view"
#~ msgstr "Toon tooltip in albumlijst"
#~ msgid "Save window layout"
#~ msgstr "Vensterindeling opslaan"
#, python-brace-format
#~ msgid ""
#~ "{bitrate} kb/s, {frequency} kHz, {resolution} bit, {channels} channels, "
#~ "{file_type}"
#~ msgstr ""
#~ "{bitrate} kb/s, {frequency} kHz, {resolution} bit, {channels} kanalen, "
#~ "{file_type}"
#, python-brace-format
#~ msgid "{titles} titles on {discs} discs ({length})"
#~ msgstr "{titles} titels op {discs} discs ({length})"
#~ msgid "Close"
#~ msgstr "Afsluiten"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1013 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

@@ -4,7 +4,7 @@ import DistUtilsExtra.auto
DistUtilsExtra.auto.setup(
name='mpdevil',
version='0.9.9', # sync with bin/mpdevil
version='1.1.0', # sync with bin/mpdevil
author="Martin Wagner",
author_email="martin.wagner.dev@gmail.com",
description=('A simple music browser for MPD'),
@@ -13,14 +13,17 @@ DistUtilsExtra.auto.setup(
data_files=[
('share/metainfo/', ['data/org.mpdevil.mpdevil.appdata.xml']),
('share/icons/hicolor/16x16/apps/', ['data/icons/16x16/org.mpdevil.mpdevil.png']),
('share/icons/hicolor/22x22/apps/', ['data/icons/22x22/org.mpdevil.mpdevil.png']),
('share/icons/hicolor/24x24/apps/', ['data/icons/24x24/org.mpdevil.mpdevil.png']),
('share/icons/hicolor/32x32/apps/', ['data/icons/32x32/org.mpdevil.mpdevil.png']),
('share/icons/hicolor/48x48/apps/', ['data/icons/48x48/org.mpdevil.mpdevil.png']),
('share/icons/hicolor/64x64/apps/', ['data/icons/64x64/org.mpdevil.mpdevil.png']),
('share/icons/hicolor/128x128/apps/', ['data/icons/128x128/org.mpdevil.mpdevil.png']),
('share/icons/hicolor/256x256/apps/', ['data/icons/256x256/org.mpdevil.mpdevil.png']),
('share/icons/hicolor/scalable/apps/', ['data/icons/scalable/org.mpdevil.mpdevil.svg'])
('share/icons/hicolor/scalable/apps/', ['data/icons/scalable/org.mpdevil.mpdevil.svg']),
('share/icons/hicolor/scalable/apps/', ['data/icons/scalable/org.mpdevil.mpdevil-symbolic.svg']),
('share/icons/hicolor/scalable/status/', ['data/icons/scalable/org.mpdevil.mpdevil-single-symbolic.svg']),
('share/icons/hicolor/scalable/status/', ['data/icons/scalable/org.mpdevil.mpdevil-consume-symbolic.svg']),
('share/icons/hicolor/scalable/status/', ['data/icons/scalable/org.mpdevil.mpdevil-consume-symbolic-rtl.svg']),
],
)