106 Commits

Author SHA1 Message Date
Martin Wagner
b0a083b9f4 preparations for 1.5.1 2021-12-30 19:59:56 +01:00
Martin Wagner
710fdb44fe fixed translations of .ui files with flatpak 2021-12-30 19:56:14 +01:00
Martin Wagner
69e1ee1749 preparations for 1.5.0 2021-12-30 17:32:47 +01:00
Martin Wagner
20b8f5eb4c nl translation fix 2021-12-30 17:16:26 +01:00
Martin Wagner
d5f643eab8 fixed translation build 2021-12-30 01:23:29 +01:00
Martin Wagner
e746812c7d simplified locale settings 2021-12-29 17:20:52 +01:00
Martin Wagner
efabfca7d8 use gresource 2021-12-29 16:48:42 +01:00
Martin Wagner
fac7a3f6e3 switched to meson 2021-12-29 14:03:25 +01:00
Martin Wagner
39922e7c05 fixed mini player mode 2021-12-29 12:56:24 +01:00
Martin Wagner
4f9a8a3f35 reduced UI blocking with large collections 2021-12-22 21:17:08 +01:00
Martin Wagner
90c9628616 fixed overwrite 2021-12-21 20:14:56 +01:00
Martin Wagner
4bba0fca98 removed "use-album-artist" 2021-12-21 19:06:01 +01:00
Martin Wagner
432957e291 reworked browser to support "*sort" tags 2021-12-21 19:04:03 +01:00
Martin Wagner
237bd3bd92 preparations for 1.4.1 2021-11-13 14:13:02 +01:00
Martin Wagner
84490555b5 added missing coords conversion 2021-11-07 19:54:39 +01:00
Martin Wagner
c986da58f6 removed inelegant try/except 2021-11-07 17:27:58 +01:00
Martin Wagner
74989364fe fixed popover placing 2021-11-07 17:15:45 +01:00
Martin Wagner
e416dbffeb unified signal naming in EventEmitter 2021-10-30 21:58:35 +02:00
Martin Wagner
a6a580a7a6 removed duplicated code in AlbumList 2021-10-30 21:51:37 +02:00
Martin Wagner
ba40cd2ec3 simplified focus dependent keybindings 2021-10-30 21:49:01 +02:00
Martin Wagner
b7acd134d7 increased minimum version of python-mpd2 2021-10-24 18:56:25 +02:00
Martin Wagner
79a20043ba fixed screenshot path in readme 2021-10-24 18:23:34 +02:00
Martin Wagner
15b880bb85 preparations for 1.4.0 2021-10-24 18:22:18 +02:00
Martin Wagner
8092307de0 new default window dimensions 2021-10-24 10:01:28 +02:00
Martin Wagner
6854439b80 fixed visibility of AudioFormat 2021-10-24 09:37:27 +02:00
Martin Wagner
528c9b1e1e updated Dutch translation 2021-10-24 08:52:57 +02:00
Martin Wagner
0e51742094 small translation fix 2021-10-23 13:04:25 +02:00
Martin Wagner
f275769330 added single mode oneshot shortcut 2021-10-23 12:35:51 +02:00
Martin Wagner
eacf64c2b1 osd: moved margin to revealer 2021-10-23 12:19:10 +02:00
Martin Wagner
65c16e294a set gobject properties on init 2021-10-23 11:59:18 +02:00
Martin Wagner
bb29e203ed removed unneeded selfs in SeekBar 2021-10-23 11:16:07 +02:00
Martin Wagner
c87a29e261 simplified some ScrolledWindows 2021-10-23 11:13:26 +02:00
Martin Wagner
d16e036cd6 use "child=" instead of ".add" 2021-10-23 11:08:24 +02:00
Martin Wagner
b3d655b9e3 fixed some variable names 2021-10-23 10:47:34 +02:00
Martin Wagner
22258a7e9a harmonized overlaid controls 2021-10-23 09:46:21 +02:00
Martin Wagner
a6ad83758c removed custom keyboard focus indication 2021-10-23 09:42:57 +02:00
Martin Wagner
7aacf9b064 changed position of genre filter in ShortcutsWindow 2021-10-21 10:11:30 +02:00
Martin Wagner
cbe9cdd939 updated german translation 2021-10-21 10:04:03 +02:00
Martin Wagner
cd735399bc removed custom css from SeekBar 2021-10-21 09:54:06 +02:00
Martin Wagner
bb9b0a1a55 simplified some css settings 2021-10-21 09:48:44 +02:00
Martin Wagner
75300a7ca5 fixed setup.py 2021-10-21 09:44:43 +02:00
Martin Wagner
5bf8db6b02 moved genre button to main menu 2021-10-21 09:43:38 +02:00
Martin Wagner
d8dc01e19a removed close button from ConnectionNotify 2021-10-20 22:57:47 +02:00
Martin Wagner
f7fc3f1121 fixed stop shortcut 2021-10-20 22:53:20 +02:00
Martin Wagner
517ad519ad made "enqueue" mode more consistent 2021-10-20 22:48:38 +02:00
Martin Wagner
0d027d375d fixed lyrics and genre icons 2021-10-20 22:42:58 +02:00
Martin Wagner
7952a666f1 added database update indicator 2021-10-19 15:23:04 +02:00
Martin Wagner
59af81866f reworked genre filter 2021-10-06 18:03:14 +02:00
Martin Wagner
a4eba33bdc simplified some mini player logic 2021-10-04 18:02:18 +02:00
Martin Wagner
8170401ec4 split playlist and cover 2021-10-04 17:35:51 +02:00
Martin Wagner
cf4b867a7e fixed can_focus 2021-10-03 20:47:39 +02:00
Martin Wagner
76122bf6f9 split browser and search 2021-10-03 18:15:41 +02:00
Martin Wagner
5daa298f48 simplified paned settings 2021-10-02 14:48:32 +02:00
Martin Wagner
5ab26c4a4c changed search window dimensions 2021-10-02 13:58:18 +02:00
Martin Wagner
cdf06961db removed confusing multi value tags from the GUI 2021-09-26 16:06:40 +02:00
Martin Wagner
11e3699d28 reworked "SearchWindow" to use threading 2021-09-24 18:45:58 +02:00
Martin Wagner
3bb968a772 removed unneeded newline 2021-09-23 17:20:09 +02:00
Martin Wagner
860786108e untangled some GLib.idle_add calls 2021-09-23 17:14:55 +02:00
Martin Wagner
6bb0d7a3b1 fixed cover loading for ".CUE" files 2021-09-22 23:23:02 +02:00
Martin Wagner
f9bf2856ae removed "icons" from MainWindow 2021-09-14 16:54:12 +02:00
Martin Wagner
a497150088 "_back_to_current_album": disable genre filter when nothing is playing 2021-09-14 14:50:22 +02:00
Martin Wagner
65f88ff861 cleared unused translations 2021-09-14 14:42:52 +02:00
Martin Wagner
8c7da9a44b replaced "Settings" by "Preferences" 2021-09-14 14:39:08 +02:00
Martin Wagner
c174d74763 improved main menu 2021-09-14 13:46:18 +02:00
Martin Wagner
fba420d48e reordered settings tabs 2021-09-14 13:04:46 +02:00
Martin Wagner
76b60e89fb removed some unneeded "no-show-all" 2021-09-14 12:58:40 +02:00
Martin Wagner
99ea046d08 Reworked profiles to support proper socket connection 2021-09-13 17:08:05 +02:00
Martin Wagner
4245b40b3d reworked "AlbumWindow" to use "threading" 2021-09-09 15:53:09 +02:00
Martin Wagner
52d2eebede small style fix in "Settings" 2021-08-21 14:38:05 +02:00
Martin Wagner
7e1fd49b85 removed unneeded "mini-player" property of "Settings" 2021-08-21 14:33:15 +02:00
Martin Wagner
f460bd2cd4 updated translations 2021-08-21 00:31:33 +02:00
Martin Wagner
d8bdbbb4be reworked gschema 2021-08-21 00:28:36 +02:00
Martin Wagner
362251bff7 simplified profile settings 2021-08-21 00:23:04 +02:00
Martin Wagner
91f5fe29eb fixed spacing in "SeekBar" 2021-08-16 16:09:48 +02:00
Martin Wagner
5abb3ec175 animated settings stack transition 2021-08-15 23:05:38 +02:00
Martin Wagner
759a077043 reworked "GeneralSettings" 2021-08-15 20:58:56 +02:00
Martin Wagner
a2b0db71d2 avoid rounding errors in "VolumeButton" 2021-08-14 13:53:34 +02:00
Martin Wagner
00abbd1495 small cleanups 2021-08-13 22:05:14 +02:00
Martin Wagner
526b423da3 moved "albumartist" fallback to "Song" 2021-08-11 17:04:06 +02:00
Martin Wagner
145fa071b5 added missing space in notify 2021-08-09 17:18:57 +02:00
Martin Wagner
5022578a1e use "Narrow no-break space"
https://teams.pages.gitlab.gnome.org/Design/hig-www/guidelines/typography.html
2021-08-07 11:06:22 +02:00
Martin Wagner
cc1b34c4b7 fixed custom regex 2021-08-05 23:24:18 +02:00
Martin Wagner
e5120c4336 removed unneeded ".join" 2021-08-05 22:58:28 +02:00
Martin Wagner
ddc0da3b8e fixed search in AlbumPopover 2021-08-05 22:54:48 +02:00
Martin Wagner
723d92ced4 removed unneeded __init__ 2021-08-05 22:22:12 +02:00
Martin Wagner
1d74f466a4 reduced the use of "playlistinfo" 2021-08-05 20:42:41 +02:00
Martin Wagner
0584f007fd fixed type errors with song["file"] 2021-08-05 20:33:50 +02:00
Martin Wagner
81c2cb9467 allow negative durations 2021-08-05 19:32:23 +02:00
Martin Wagner
47b16118c2 typographical fixes 2021-08-05 17:18:55 +02:00
Martin Wagner
5619142e58 added a fallback string to "Duration" 2021-08-05 16:46:34 +02:00
Martin Wagner
c67a759b22 remove unneeded notify close 2021-08-04 23:34:57 +02:00
Martin Wagner
67e8c3ece5 denested "if" in Song 2021-08-04 23:34:00 +02:00
Martin Wagner
68720a41bd removed some simple "except:" 2021-08-04 17:38:12 +02:00
Martin Wagner
116935ad34 use bool interpretation of strings lists and dicts 2021-08-04 17:23:42 +02:00
Martin Wagner
1f5caed276 removed ClientHelper 2021-08-04 17:07:21 +02:00
Martin Wagner
bad33333bf removed "readcomments" 2021-08-04 14:28:55 +02:00
Martin Wagner
5e0c61109c shrank ClientHelper 2021-08-04 14:03:33 +02:00
Martin Wagner
19acf66a16 changed title fallback 2021-08-03 20:16:46 +02:00
Martin Wagner
2e879d9a77 increased stripe_size in SearchWindow 2021-08-03 20:06:57 +02:00
Martin Wagner
7a42fc9042 restrict tagtypes where possible 2021-08-03 20:05:07 +02:00
Martin Wagner
19c436fc07 replaced "append" by "insert_with_valuesv" for performance
https://mail.gnome.org/archives/python-hackers-list/2014-January/msg00004.html
2021-08-03 18:00:42 +02:00
Martin Wagner
c878a90be1 removed .cue "range" workaround 2021-08-01 14:27:45 +02:00
Martin Wagner
fee94028aa improved window title with missing tags 2021-08-01 14:22:38 +02:00
Martin Wagner
83f941f354 don't reject some elapsed values 2021-08-01 13:56:49 +02:00
Martin Wagner
0e6a90b98a use GLib.markup_escape_text 2021-07-26 14:01:06 +02:00
Martin Wagner
968158dede slightly improved cover loading (#39) 2021-07-25 18:22:37 +02:00
36 changed files with 3143 additions and 3200 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
/builddir

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_1.3.0.png)
![ScreenShot](screenshots/mainwindow_1.4.0.png)
Features
--------
@@ -54,14 +54,14 @@ Building
--------
Build dependencies:
- DistUtilsExtra
- meson
Dependencies:
- Gtk3
- Python3
Python modules:
- mpd (python-mpd2 >=1.0)
- mpd (python-mpd2 >=1.1)
- gi (Gtk, Gio, Gdk, GdkPixbuf, Pango, GObject, GLib, Notify)
- requests
- bs4 (beautifulsoup)
@@ -70,8 +70,9 @@ Run:
```bash
git clone https://github.com/SoongNoonien/mpdevil.git
cd mpdevil
sudo python3 setup.py install
sudo glib-compile-schemas /usr/share/glib-2.0/schemas
meson builddir --prefix=/usr/local
sudo ninja -C builddir install
sudo glib-compile-schemas /usr/local/share/glib-2.0/schemas
sudo gtk-update-icon-cache
sudo update-desktop-database
```

16
data/AboutDialog.ui Normal file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<object class="GtkAboutDialog" id="about_dialog">
<property name="modal">True</property>
<property name="program_name">mpdevil</property>
<property name="version">1.5.1</property>
<property name="comments" translatable="yes">A simple music browser for MPD</property>
<property name="authors">Martin Wagner</property>
<property name="translator_credits">Martin de Reuver
Martin Wagner</property>
<property name="website">https://github.com/SoongNoonien/mpdevil</property>
<property name="copyright">Copyright © 2020-2021 Martin Wagner</property>
<property name="license_type">gpl-3-0</property>
<property name="logo_icon_name">org.mpdevil.mpdevil</property>
</object>
</interface>

257
data/ShortcutsWindow.ui Normal file
View File

@@ -0,0 +1,257 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<object class="GtkShortcutsWindow" id="shortcuts_window">
<property name="modal">False</property>
<child>
<object class="GtkShortcutsSection">
<property name="visible">True</property>
<property name="section-name">shortcuts</property>
<child>
<object class="GtkShortcutsGroup">
<property name="visible">True</property>
<property name="title" translatable="yes">General</property>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes">Open online help</property>
<property name="accelerator">F1</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes">Open shortcuts window</property>
<property name="accelerator">&lt;Control&gt;question</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes">Open menu</property>
<property name="accelerator">F10</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes">Update database</property>
<property name="accelerator">F5</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes">Quit</property>
<property name="accelerator">&lt;Control&gt;q</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkShortcutsGroup">
<property name="visible">True</property>
<property name="title" translatable="yes">Window</property>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes">Cycle through profiles</property>
<property name="accelerator">&lt;Control&gt;p</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes">Cycle through profiles in reversed order</property>
<property name="accelerator">&lt;Shift&gt;&lt;Control&gt;p</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes">Toggle mini player</property>
<property name="accelerator">&lt;Control&gt;m</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes">Toggle genre filter</property>
<property name="accelerator">&lt;Control&gt;g</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes">Toggle lyrics</property>
<property name="accelerator">&lt;Control&gt;l</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes">Toggle search</property>
<property name="accelerator">&lt;Control&gt;f</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes">Back to current album</property>
<property name="accelerator">Escape</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkShortcutsGroup">
<property name="visible">True</property>
<property name="title" translatable="yes">Playback</property>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes">Play/Pause</property>
<property name="accelerator">space</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes">Stop</property>
<property name="accelerator">&lt;Shift&gt;space</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes">Stop after current title</property>
<property name="accelerator">&lt;Control&gt;space</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes">Next title</property>
<property name="accelerator">KP_Add</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes">Previous title</property>
<property name="accelerator">KP_Subtract</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes">Seek forward</property>
<property name="accelerator">KP_Multiply</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes">Seek backward</property>
<property name="accelerator">KP_Divide</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes">Toggle repeat mode</property>
<property name="accelerator">&lt;Control&gt;r</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes">Toggle random mode</property>
<property name="accelerator">&lt;Control&gt;s</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes">Toggle single mode</property>
<property name="accelerator">&lt;Control&gt;1</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes">Toggle consume mode</property>
<property name="accelerator">&lt;Control&gt;o</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkShortcutsGroup">
<property name="visible">True</property>
<property name="title" translatable="yes">Search, Album Dialog, Album List and Artist List</property>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes">Enqueue selected item</property>
<property name="accelerator">&lt;Control&gt;e</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes">Append selected item</property>
<property name="subtitle" translatable="yes">Middle-click</property>
<property name="accelerator">&lt;Control&gt;plus</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes">Play selected item immediately</property>
<property name="subtitle" translatable="yes">Double-click</property>
<property name="accelerator">&lt;Control&gt;Return</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes">Show additional information</property>
<property name="subtitle" translatable="yes">Right-click</property>
<property name="accelerator">&lt;Control&gt;i Menu</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkShortcutsGroup">
<property name="visible">True</property>
<property name="title" translatable="yes">Playlist</property>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes">Remove selected song</property>
<property name="subtitle" translatable="yes">Middle-click</property>
<property name="accelerator">Delete</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes">Clear playlist</property>
<property name="accelerator">&lt;Shift&gt;Delete</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes">Show additional information</property>
<property name="subtitle" translatable="yes">Right-click</property>
<property name="accelerator">&lt;Control&gt;i Menu</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</interface>

View File

Before

Width:  |  Height:  |  Size: 8.6 KiB

After

Width:  |  Height:  |  Size: 8.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg width="16" height="16" version="1.1" viewBox="0 0 4.2333 4.2333" xmlns="http://www.w3.org/2000/svg">
<path transform="scale(.26458)" d="m1 1v2h8v-2h-8zm12 0v8.1719a3 3 0 0 0-1-0.17188 3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3v-11h-2zm-12 4v2h10v-2h-10zm0 4v2h6v-2h-6zm0 4v2h6v-2h-6z" fill="#2e3436" stroke-linecap="round" stroke-width=".99391"/>
</svg>

After

Width:  |  Height:  |  Size: 456 B

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

View File

Before

Width:  |  Height:  |  Size: 657 B

After

Width:  |  Height:  |  Size: 657 B

21
data/meson.build Normal file
View File

@@ -0,0 +1,21 @@
i18n.merge_file(
input: 'org.mpdevil.mpdevil.desktop.in',
output: 'org.mpdevil.mpdevil.desktop',
type: 'desktop',
po_dir: '../po',
install: true,
install_dir: join_paths(get_option('datadir'), 'applications')
)
gnome.compile_resources(
'mpdevil', 'mpdevil.gresource.xml',
gresource_bundle: true,
source_dir: '.',
install_dir: resources_dir,
install: true
)
install_data('org.mpdevil.mpdevil.appdata.xml', install_dir: join_paths(get_option('datadir'), 'metainfo'))
install_data('org.mpdevil.mpdevil.gschema.xml', install_dir: join_paths(get_option('datadir'), 'glib-2.0/schemas'))
install_subdir('icons', install_dir: get_option('datadir'))

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/org/mpdevil/mpdevil">
<file>AboutDialog.ui</file>
<file>ShortcutsWindow.ui</file>
</gresource>
</gresources>

View File

@@ -23,12 +23,12 @@
</ul>
</description>
<releases>
<release version="1.3.0" date="2021-07-24"/>
<release version="1.5.1" date="2021-12-30"/>
</releases>
<launchable type="desktop-id">org.mpdevil.mpdevil.desktop</launchable>
<screenshots>
<screenshot type="default">
<image type="source" width="1058" height="1089">https://raw.githubusercontent.com/SoongNoonien/mpdevil/v1.3.0/screenshots/mainwindow_1.3.0.png</image>
<image type="source" width="1082" height="1049">https://raw.githubusercontent.com/SoongNoonien/mpdevil/v1.4.0/screenshots/mainwindow_1.4.0.png</image>
</screenshot>
</screenshots>
<url type="homepage">https://github.com/SoongNoonien/mpdevil</url>

View File

@@ -1,11 +1,10 @@
[Desktop Entry]
Name=mpdevil
GenericName=MPD Client
_Comment=A simple music browser for MPD
Comment=A simple music browser for MPD
Exec=mpdevil
Icon=org.mpdevil.mpdevil
Terminal=false
Type=Application
StartupNotify=true
Categories=Audio;AudioVideo;Player;GTK

View File

@@ -1,177 +1,160 @@
<?xml version="1.0" encoding="UTF-8"?>
<schemalist>
<schema id="org.mpdevil.mpdevil" path="/org/mpdevil/mpdevil/">
<key type="b" name="maximize">
<default>false</default>
<summary>Maximize mpdevil on startup</summary>
<description></description>
</key>
<key type="i" name="width">
<default>1006</default>
<summary>Default width of window</summary>
<description></description>
</key>
<key type="i" name="height">
<default>990</default>
<summary>Default height of window</summary>
<description></description>
</key>
<key type="i" name="paned0">
<default>370</default>
<summary>Default position of cover/playlist separator</summary>
<description></description>
</key>
<key type="i" name="paned1">
<default>246</default>
<summary>Default position of artist/albums separator</summary>
<description></description>
</key>
<key type="i" name="paned2">
<default>572</default>
<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>
<description></description>
</key>
<key type="i" name="track-cover">
<default>370</default>
<summary>Size of main cover</summary>
<description></description>
</key>
<key type="i" name="icon-size">
<default>24</default>
<summary>Size of icons in main control bar</summary>
<description></description>
</key>
<key type="b" name="use-csd">
<default>true</default>
<summary>Use Client-side decoration</summary>
<description></description>
</key>
<key type="b" name="show-stop">
<default>true</default>
<summary>Show stop button</summary>
<description></description>
</key>
<key type="b" name="show-audio-format">
<default>true</default>
<summary>Show audio format</summary>
<description></description>
</key>
<key type="b" name="show-lyrics-button">
<default>true</default>
<summary>Show lyrics button</summary>
<description></description>
</key>
<key type="b" name="sort-albums-by-year">
<default>true</default>
<summary>Sort albums by year</summary>
<description></description>
</key>
<key type="b" name="send-notify">
<default>false</default>
<summary>Send notification on title change</summary>
<description></description>
</key>
<key type="b" name="stop-on-quit">
<default>false</default>
<summary>Stop playback on quit</summary>
<description></description>
</key>
<key type="b" name="force-mode">
<default>false</default>
<summary>Play selected albums directly</summary>
<description></description>
</key>
<key type="b" name="use-album-artist">
<default>true</default>
<summary>Use 'Album Artist' tag to group albums</summary>
<description></description>
</key>
<key type="b" name="mpris">
<default>true</default>
<summary>Provide MPRIS</summary>
<description></description>
</key>
<key type="b" name="rewind-mode">
<default>false</default>
<summary>Classic previous button behavior</summary>
<description></description>
</key>
<key type="ai" name="column-permutation">
<default>[0, 1, 2, 3, 4, 5, 6, 7]</default>
<summary>Column order in playlist</summary>
<description></description>
</key>
<key type="ab" name="column-visibilities">
<default>[true, false, true, true, true, true, false, false]</default>
<summary>Visibility of columns in playlist</summary>
<description></description>
</key>
<key type="ai" name="column-sizes">
<default>[33, 0, 203, 153, 174, 0, 0, 0]</default>
<summary>Sizes of columns in playlist</summary>
<description></description>
</key>
<key type="b" name="playlist-right">
<default>false</default>
<summary>Move playlist to the right</summary>
<description></description>
</key>
<key type="i" name="active-profile">
<default>0</default>
<summary>Active profile</summary>
<description></description>
</key>
<key type="as" name="profiles">
<default>["default"]</default>
<summary>List of profile names</summary>
<description></description>
</key>
<key type="as" name="hosts">
<default>["localhost"]</default>
<summary>List of hosts</summary>
<description></description>
</key>
<key type="ai" name="ports">
<default>[6600]</default>
<summary>List of ports</summary>
<description></description>
</key>
<key type="as" name="passwords">
<default>[""]</default>
<summary>List of passwords</summary>
<description></description>
</key>
<key type="as" name="paths">
<default>[""]</default>
<summary>List of library paths</summary>
<description></description>
</key>
<key type="as" name="regex">
<default>[""]</default>
<summary>List of cover regex</summary>
<description></description>
</key>
<key type="i" name="refresh-interval">
<default>100</default>
<summary>Main refresh interval</summary>
<description>
This setting should only be used if you know what you are doing!
It controls the time in msec. between two status requests to MPD.
Too high values (long time) will make mpdevil very slow in terms
of showing the latest status of MPD (e.g. current song).
Too low values (short time) can cause gui blocks making mpdevil
unresponsive and cpu intensive.
</description>
</key>
</schema>
<schema id="org.mpdevil.mpdevil" path="/org/mpdevil/mpdevil/">
<child name="profile1" schema="org.mpdevil.mpdevil.profile"/>
<child name="profile2" schema="org.mpdevil.mpdevil.profile"/>
<child name="profile3" schema="org.mpdevil.mpdevil.profile"/>
<key type="b" name="maximize">
<default>false</default>
<summary>Maximize mpdevil on startup</summary>
</key>
<key type="i" name="width">
<default>1030</default>
<summary>Default width of window</summary>
</key>
<key type="i" name="height">
<default>950</default>
<summary>Default height of window</summary>
</key>
<key type="i" name="paned0">
<default>350</default>
<summary>Default position of cover/playlist separator</summary>
</key>
<key type="i" name="paned1">
<default>226</default>
<summary>Default position of artist/albums separator</summary>
</key>
<key type="i" name="paned2">
<default>551</default>
<summary>Default position of paned1/paned0 separator</summary>
</key>
<key type="i" name="paned3">
<default>196</default>
<summary>Default position of genre/artist separator</summary>
</key>
<key type="b" name="genre-filter">
<default>false</default>
<summary>Show genre filter</summary>
</key>
<key type="b" name="mini-player">
<default>false</default>
<summary>Start player in mini player mode</summary>
</key>
<key type="i" name="album-cover">
<default>180</default>
<summary>Size of covers in album view</summary>
</key>
<key type="i" name="track-cover">
<default>350</default>
<summary>Size of main cover</summary>
</key>
<key type="i" name="icon-size">
<default>24</default>
<summary>Size of icons in main control bar</summary>
</key>
<key type="b" name="use-csd">
<default>true</default>
<summary>Use Client-side decoration</summary>
</key>
<key type="b" name="show-stop">
<default>true</default>
<summary>Show stop button</summary>
</key>
<key type="b" name="show-audio-format">
<default>true</default>
<summary>Show audio format</summary>
</key>
<key type="b" name="show-lyrics-button">
<default>true</default>
<summary>Show lyrics button</summary>
</key>
<key type="b" name="sort-albums-by-year">
<default>true</default>
<summary>Sort albums by year</summary>
</key>
<key type="b" name="send-notify">
<default>false</default>
<summary>Send notification on title change</summary>
</key>
<key type="b" name="stop-on-quit">
<default>false</default>
<summary>Stop playback on quit</summary>
</key>
<key type="b" name="force-mode">
<default>false</default>
<summary>Play selected albums directly</summary>
</key>
<key type="b" name="mpris">
<default>true</default>
<summary>Provide MPRIS</summary>
</key>
<key type="b" name="rewind-mode">
<default>false</default>
<summary>Classic previous button behavior</summary>
</key>
<key type="ai" name="column-permutation">
<default>[0, 1, 2, 3, 4, 5, 6, 7]</default>
<summary>Column order in playlist</summary>
</key>
<key type="ab" name="column-visibilities">
<default>[true, false, true, true, true, true, false, false]</default>
<summary>Visibility of columns in playlist</summary>
</key>
<key type="ai" name="column-sizes">
<default>[33, 0, 217, 173, 186, 0, 0, 0]</default>
<summary>Sizes of columns in playlist</summary>
</key>
<key type="b" name="playlist-right">
<default>false</default>
<summary>Move playlist to the right</summary>
</key>
<key type="i" name="active-profile">
<range min="0" max="2"/>
<default>0</default>
<summary>Active profile</summary>
</key>
<key type="i" name="refresh-interval">
<default>100</default>
<summary>Main refresh interval</summary>
<description>
This setting should only be used if you know what you are doing!
It controls the time in msec. between two status requests to MPD.
Too high values (long time) will make mpdevil very slow in terms
of showing the latest status of MPD (e.g. current song).
Too low values (short time) can cause gui blocks making mpdevil
unresponsive and cpu intensive.
</description>
</key>
</schema>
<schema id="org.mpdevil.mpdevil.profile">
<key type="b" name="socket-connection">
<default>false</default>
<summary>Connect via Unix domain socket</summary>
</key>
<key type="s" name="socket">
<default>""</default>
<summary>Unix domain socket</summary>
</key>
<key type="s" name="host">
<default>"localhost"</default>
<summary>Hostname or IP address</summary>
</key>
<key type="i" name="port">
<range min="0" max="65535"/>
<default>6600</default>
<summary>Network port</summary>
</key>
<key type="s" name="password">
<default>""</default>
<summary>Password</summary>
</key>
<key type="s" name="path">
<default>""</default>
<summary>Music library path</summary>
</key>
<key type="s" name="regex">
<default>""</default>
<summary>Cover regex</summary>
</key>
</schema>
</schemalist>

10
meson.build Normal file
View File

@@ -0,0 +1,10 @@
project('mpdevil', version: '1.5.1')
i18n = import('i18n')
gnome = import('gnome')
resources_dir = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name())
subdir('data')
subdir('src')
subdir('po')

1
po/LINGUAS Normal file
View File

@@ -0,0 +1 @@
de nl

4
po/POTFILES Normal file
View File

@@ -0,0 +1,4 @@
src/mpdevil.py
data/org.mpdevil.mpdevil.desktop.in
data/AboutDialog.ui
data/ShortcutsWindow.ui

View File

@@ -1,4 +0,0 @@
[encoding: UTF-8]
bin/mpdevil
data/org.mpdevil.mpdevil.desktop.in

770
po/de.po

File diff suppressed because it is too large Load Diff

1
po/meson.build Normal file
View File

@@ -0,0 +1 @@
i18n.gettext('mpdevil', preset: 'glib')

View File

@@ -1,14 +1,14 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# This file is distributed under the same license as the mpdevil package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Project-Id-Version: mpdevil\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-07-20 20:16+0200\n"
"POT-Creation-Date: 2021-12-30 01:19+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"
@@ -18,525 +18,561 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
#: mpdevil:448
#: src/mpdevil.py:490
#, python-brace-format
msgid "{days} day"
msgid_plural "{days} days"
msgstr[0] ""
msgstr[1] ""
#: mpdevil:467
#: src/mpdevil.py:527
#, python-brace-format
msgid "{channels} channel"
msgid_plural "{channels} channels"
msgstr[0] ""
msgstr[1] ""
#: mpdevil:499
msgid "Unknown Title"
msgstr ""
#: mpdevil:965
msgid "Main cover size:"
msgstr ""
#: mpdevil:966
msgid "Album view cover size:"
msgstr ""
#: mpdevil:967
msgid "Action bar icon size:"
msgstr ""
#: mpdevil:977
msgid "Use Client-side decoration"
msgstr ""
#: mpdevil:978
msgid "Show stop button"
msgstr ""
#: mpdevil:979
msgid "Show audio format"
msgstr ""
#: mpdevil:980
msgid "Show lyrics button"
msgstr ""
#: mpdevil:981
msgid "Place playlist at the side"
msgstr ""
#: mpdevil:982
msgid "Use “Album Artist” tag"
msgstr ""
#: mpdevil:983
msgid "Send notification on title change"
msgstr ""
#: mpdevil:984
msgid "Stop playback on quit"
msgstr ""
#: mpdevil:985
msgid "Play selected albums and titles immediately"
msgstr ""
#: mpdevil:986
msgid "Sort albums by year"
msgstr ""
#: mpdevil:987
msgid "Support “MPRIS”"
msgstr ""
#: mpdevil:988
msgid "Rewind via previous button"
msgstr ""
#: mpdevil:996
msgid "<b>View</b>"
msgstr ""
#: mpdevil:997
msgid "<b>Behavior</b>"
msgstr ""
#: mpdevil:1011 mpdevil:1022
#: src/mpdevil.py:1005
msgid "(restart required)"
msgstr ""
#: mpdevil:1044
msgid "_Connect"
#: src/mpdevil.py:1051
msgid "Use Client-side decoration"
msgstr ""
#: mpdevil:1055
#: src/mpdevil.py:1052
msgid "Show stop button"
msgstr ""
#: src/mpdevil.py:1053
msgid "Show audio format"
msgstr ""
#: src/mpdevil.py:1054
msgid "Show lyrics button"
msgstr ""
#: src/mpdevil.py:1055
msgid "Place playlist at the side"
msgstr ""
#: src/mpdevil.py:1061
msgid "Main cover size"
msgstr ""
#: src/mpdevil.py:1062
msgid "Album view cover size"
msgstr ""
#: src/mpdevil.py:1063
msgid "Action bar icon size"
msgstr ""
#: src/mpdevil.py:1073
msgid "Support “MPRIS”"
msgstr ""
#: src/mpdevil.py:1074
msgid "Sort albums by year"
msgstr ""
#: src/mpdevil.py:1075
msgid "Send notification on title change"
msgstr ""
#: src/mpdevil.py:1076
msgid "Play selected albums and titles immediately"
msgstr ""
#: src/mpdevil.py:1077
msgid "Rewind via previous button"
msgstr ""
#: src/mpdevil.py:1078
msgid "Stop playback on quit"
msgstr ""
#: src/mpdevil.py:1105
msgid "Choose directory"
msgstr ""
#: src/mpdevil.py:1118
msgid "Connect via Unix domain socket"
msgstr ""
#: src/mpdevil.py:1137
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:1059
msgid "Profile:"
#: src/mpdevil.py:1142
msgid "Socket:"
msgstr ""
#: mpdevil:1060
#: src/mpdevil.py:1144
msgid "Host:"
msgstr ""
#: mpdevil:1061
#: src/mpdevil.py:1146
msgid "Password:"
msgstr ""
#: mpdevil:1062
#: src/mpdevil.py:1147
msgid "Music lib:"
msgstr ""
#: mpdevil:1063
#: src/mpdevil.py:1149
msgid "Cover regex:"
msgstr ""
#: mpdevil:1167
msgid "Choose directory"
#: src/mpdevil.py:1173 src/mpdevil.py:3569
msgid "Profile 1"
msgstr ""
#: mpdevil:1194
#: src/mpdevil.py:1174 src/mpdevil.py:3569
msgid "Profile 2"
msgstr ""
#: src/mpdevil.py:1175 src/mpdevil.py:3569
msgid "Profile 3"
msgstr ""
#. connect button
#: src/mpdevil.py:1179 src/mpdevil.py:3451
msgid "Connect"
msgstr ""
#. label
#: src/mpdevil.py:1204
msgid "Choose the order of information to appear in the playlist:"
msgstr ""
#: mpdevil:1211 mpdevil:1751 mpdevil:1877 mpdevil:2838
#. fill store
#: src/mpdevil.py:1221 src/mpdevil.py:1641 src/mpdevil.py:1840
#: src/mpdevil.py:2461
msgid "No"
msgstr ""
#: mpdevil:1211 mpdevil:2839
#: src/mpdevil.py:1221 src/mpdevil.py:2462
msgid "Disc"
msgstr ""
#: mpdevil:1211 mpdevil:1754 mpdevil:1882 mpdevil:2840 mpdevil:2954
#: mpdevil:2956
#: src/mpdevil.py:1221 src/mpdevil.py:1644 src/mpdevil.py:1671
#: src/mpdevil.py:1841 src/mpdevil.py:2463 src/mpdevil.py:2556
#: src/mpdevil.py:2558
msgid "Title"
msgstr ""
#: mpdevil:1211 mpdevil:1888 mpdevil:2841
#: src/mpdevil.py:1221 src/mpdevil.py:1842 src/mpdevil.py:2464
msgid "Artist"
msgstr ""
#: mpdevil:1211 mpdevil:1894 mpdevil:2842
#: src/mpdevil.py:1221 src/mpdevil.py:1843 src/mpdevil.py:2465
msgid "Album"
msgstr ""
#: mpdevil:1211 mpdevil:1757 mpdevil:1900 mpdevil:2843
#: src/mpdevil.py:1221 src/mpdevil.py:1648 src/mpdevil.py:1844
#: src/mpdevil.py:2466
msgid "Length"
msgstr ""
#: mpdevil:1211 mpdevil:2844
#: src/mpdevil.py:1221 src/mpdevil.py:2467
msgid "Year"
msgstr ""
#: mpdevil:1211 mpdevil:2845
#: src/mpdevil.py:1221 src/mpdevil.py:2468
msgid "Genre"
msgstr ""
#: mpdevil:1301 mpdevil:1303 mpdevil:3721 mpdevil:3814
msgid "Settings"
#: src/mpdevil.py:1305 src/mpdevil.py:1307 src/mpdevil.py:3452
#: src/mpdevil.py:3561
msgid "Preferences"
msgstr ""
#: mpdevil:1316 mpdevil:1325 mpdevil:3658
msgid "General"
#: src/mpdevil.py:1321 src/mpdevil.py:1332
msgid "View"
msgstr ""
#: mpdevil:1317 mpdevil:1326 mpdevil:3825
msgid "Profiles"
#: src/mpdevil.py:1322 src/mpdevil.py:1333
msgid "Behavior"
msgstr ""
#: mpdevil:1318 mpdevil:1327 mpdevil:3662
#: src/mpdevil.py:1323 src/mpdevil.py:1334 data/ShortcutsWindow.ui:228
msgid "Playlist"
msgstr ""
#: mpdevil:1344
#: src/mpdevil.py:1324 src/mpdevil.py:1335
msgid "Profiles"
msgstr ""
#: src/mpdevil.py:1352
msgid "Stats"
msgstr ""
#: mpdevil:1354
#: src/mpdevil.py:1361
msgid "<b>Protocol:</b>"
msgstr ""
#: mpdevil:1355
#: src/mpdevil.py:1362
msgid "<b>Uptime:</b>"
msgstr ""
#: mpdevil:1356
#: src/mpdevil.py:1363
msgid "<b>Playtime:</b>"
msgstr ""
#: mpdevil:1357
#: src/mpdevil.py:1364
msgid "<b>Artists:</b>"
msgstr ""
#: mpdevil:1358
#: src/mpdevil.py:1365
msgid "<b>Albums:</b>"
msgstr ""
#: mpdevil:1359
#: src/mpdevil.py:1366
msgid "<b>Songs:</b>"
msgstr ""
#: mpdevil:1360
#: src/mpdevil.py:1367
msgid "<b>Total Playtime:</b>"
msgstr ""
#: mpdevil:1361
#: src/mpdevil.py:1368
msgid "<b>Database Update:</b>"
msgstr ""
#: mpdevil:1385
msgid "A simple music browser for MPD"
msgstr ""
#: mpdevil:1494
#. open-with button
#: src/mpdevil.py:1416
msgid "Open with…"
msgstr ""
#: mpdevil:1509 mpdevil:1811
#: src/mpdevil.py:1426 src/mpdevil.py:1703
msgid "Append"
msgstr ""
#: mpdevil:1510 mpdevil:1812
#: src/mpdevil.py:1427 src/mpdevil.py:1704
msgid "Play"
msgstr ""
#: mpdevil:1511 mpdevil:1813
#: src/mpdevil.py:1428 src/mpdevil.py:1705
msgid "Enqueue"
msgstr ""
#: mpdevil:1529
#: src/mpdevil.py:1445
msgid "MPD-Tag"
msgstr ""
#: mpdevil:1532
#: src/mpdevil.py:1448
msgid "Value"
msgstr ""
#: mpdevil:1686
#: src/mpdevil.py:1579
msgid "_Append"
msgstr ""
#: mpdevil:1686
#: src/mpdevil.py:1579
msgid "Add all titles to playlist"
msgstr ""
#: mpdevil:1687
#: src/mpdevil.py:1580
msgid "_Play"
msgstr ""
#: mpdevil:1687
#: src/mpdevil.py:1580
msgid "Directly play all titles"
msgstr ""
#: mpdevil:1688
#: src/mpdevil.py:1581
msgid "_Enqueue"
msgstr ""
#: mpdevil:1688
#: src/mpdevil.py:1581
msgid ""
"Append all titles after the currently playing track and clear the playlist "
"from all other songs"
msgstr ""
#: mpdevil:1952
msgid "all tags"
msgstr ""
#: mpdevil:1976
#, python-brace-format
msgid "{hits} hit"
msgid_plural "{hits} hits"
msgstr[0] ""
msgstr[1] ""
#: mpdevil:2116
msgid "all genres"
msgstr ""
#: mpdevil:2141
msgid "all artists"
msgstr ""
#: mpdevil:2367
#, python-brace-format
msgid "{number} songs on {discs} discs ({duration})"
msgstr ""
#: mpdevil:2370 mpdevil:3056
#: src/mpdevil.py:1670 src/mpdevil.py:2652
#, python-brace-format
msgid "{number} song ({duration})"
msgid_plural "{number} songs ({duration})"
msgstr[0] ""
msgstr[1] ""
#: mpdevil:2509 mpdevil:3681
msgid "Back to current album"
#: src/mpdevil.py:1773
#, python-brace-format
msgid "{hits} hit"
msgid_plural "{hits} hits"
msgstr[0] ""
msgstr[1] ""
#: src/mpdevil.py:1892
msgid "all tags"
msgstr ""
#: mpdevil:2511
msgid "Search"
#: src/mpdevil.py:2024
msgid "all genres"
msgstr ""
#: mpdevil:2514
msgid "Filter by genre"
#: src/mpdevil.py:2050
msgid "all artists"
msgstr ""
#: mpdevil:2704
msgid "searching…"
msgstr ""
#: mpdevil:2709
msgid "connection error"
msgstr ""
#: mpdevil:2711
msgid "lyrics not found"
msgstr ""
#: mpdevil:2816
#: src/mpdevil.py:2683
msgid "Scroll to current song"
msgstr ""
#: mpdevil:3117
msgid "Show lyrics"
#: src/mpdevil.py:2785
msgid "searching…"
msgstr ""
#: mpdevil:3219 mpdevil:3220
#: src/mpdevil.py:2790
msgid "connection error"
msgstr ""
#: src/mpdevil.py:2792
msgid "lyrics not found"
msgstr ""
#: src/mpdevil.py:2899
msgid "Lyrics"
msgstr ""
#: src/mpdevil.py:2990 src/mpdevil.py:2991
#, python-brace-format
msgid "{number} song"
msgid_plural "{number} songs"
msgstr[0] ""
msgstr[1] ""
#: mpdevil:3434
#: src/mpdevil.py:3196
msgid "Repeat mode"
msgstr ""
#: mpdevil:3435
#: src/mpdevil.py:3197
msgid "Random mode"
msgstr ""
#: mpdevil:3436
#: src/mpdevil.py:3198
msgid "Single mode"
msgstr ""
#: mpdevil:3437
#: src/mpdevil.py:3199
msgid "Consume mode"
msgstr ""
#: mpdevil:3659
msgid "Window"
#: src/mpdevil.py:3421
msgid "Updating Database…"
msgstr ""
#: mpdevil:3660
msgid "Playback"
msgstr ""
#: mpdevil:3661
msgid "Search, Album Dialog, Album List and Artist List"
msgstr ""
#: mpdevil:3671
msgid "Open online help"
msgstr ""
#: mpdevil:3672
msgid "Open shortcuts window"
msgstr ""
#: mpdevil:3673
msgid "Open menu"
msgstr ""
#: mpdevil:3674 mpdevil:3820
msgid "Update database"
msgstr ""
#: mpdevil:3675 mpdevil:3818
msgid "Quit"
msgstr ""
#: mpdevil:3676
msgid "Cycle through profiles"
msgstr ""
#: mpdevil:3677
msgid "Cycle through profiles in reversed order"
msgstr ""
#: mpdevil:3678
msgid "Toggle mini player"
msgstr ""
#: mpdevil:3679
msgid "Toggle lyrics"
msgstr ""
#: mpdevil:3680
msgid "Toggle search"
msgstr ""
#: mpdevil:3682
msgid "Play/Pause"
msgstr ""
#: mpdevil:3683
msgid "Stop"
msgstr ""
#: mpdevil:3684
msgid "Next title"
msgstr ""
#: mpdevil:3685
msgid "Previous title"
msgstr ""
#: mpdevil:3686
msgid "Seek forward"
msgstr ""
#: mpdevil:3687
msgid "Seek backward"
msgstr ""
#: mpdevil:3688
msgid "Toggle repeat mode"
msgstr ""
#: mpdevil:3689
msgid "Toggle random mode"
msgstr ""
#: mpdevil:3690
msgid "Toggle single mode"
msgstr ""
#: mpdevil:3691
msgid "Toggle consume mode"
msgstr ""
#: mpdevil:3692
msgid "Enqueue selected item"
msgstr ""
#: mpdevil:3693
msgid "Append selected item"
msgstr ""
#: mpdevil:3693 mpdevil:3696
msgid "Middle-click"
msgstr ""
#: mpdevil:3694
msgid "Play selected item immediately"
msgstr ""
#: mpdevil:3694
msgid "Double-click"
msgstr ""
#: mpdevil:3695 mpdevil:3698
msgid "Show additional information"
msgstr ""
#: mpdevil:3695 mpdevil:3698
msgid "Right-click"
msgstr ""
#: mpdevil:3696
msgid "Remove selected song"
msgstr ""
#: mpdevil:3697
msgid "Clear playlist"
msgstr ""
#: mpdevil:3720
msgid "Connect"
msgstr ""
#: mpdevil:3741
#: src/mpdevil.py:3473
#, python-brace-format
msgid "Connection to “{profile}” ({host}:{port}) failed"
msgid "Connection to “{socket}” failed"
msgstr ""
#: mpdevil:3815
msgid "Keyboard shortcuts"
#: src/mpdevil.py:3475
#, python-brace-format
msgid "Connection to “{host}:{port}” failed"
msgstr ""
#: mpdevil:3816
#: src/mpdevil.py:3546
msgid "Search"
msgstr ""
#: src/mpdevil.py:3549 data/ShortcutsWindow.ui:99
msgid "Back to current album"
msgstr ""
#: src/mpdevil.py:3562
msgid "Keyboard Shortcuts"
msgstr ""
#: src/mpdevil.py:3563
msgid "Help"
msgstr ""
#: mpdevil:3817
msgid "About"
#: src/mpdevil.py:3564
msgid "About mpdevil"
msgstr ""
#: mpdevil:3821
msgid "Server stats"
#: src/mpdevil.py:3566
msgid "Update Database"
msgstr ""
#: mpdevil:3826
msgid "Mini player"
#: src/mpdevil.py:3567
msgid "Server Stats"
msgstr ""
#: mpdevil:3831
#: src/mpdevil.py:3574
msgid "Mini Player"
msgstr ""
#: src/mpdevil.py:3575
msgid "Genre Filter"
msgstr ""
#: src/mpdevil.py:3585
msgid "Menu"
msgstr ""
#: mpdevil:3882 mpdevil:3884
#: src/mpdevil.py:3638 src/mpdevil.py:3640
msgid "connecting…"
msgstr ""
#: mpdevil:4049
#: src/mpdevil.py:3797
msgid "Debug mode"
msgstr ""
#: data/org.mpdevil.mpdevil.desktop.in:3
msgid "mpdevil"
msgstr ""
#: data/org.mpdevil.mpdevil.desktop.in:4
msgid "MPD Client"
msgstr ""
#: data/org.mpdevil.mpdevil.desktop.in:5 data/AboutDialog.ui:7
msgid "A simple music browser for MPD"
msgstr ""
#: data/ShortcutsWindow.ui:12
msgid "General"
msgstr ""
#: data/ShortcutsWindow.ui:16
msgid "Open online help"
msgstr ""
#: data/ShortcutsWindow.ui:23
msgid "Open shortcuts window"
msgstr ""
#: data/ShortcutsWindow.ui:30
msgid "Open menu"
msgstr ""
#: data/ShortcutsWindow.ui:37
msgid "Update database"
msgstr ""
#: data/ShortcutsWindow.ui:44
msgid "Quit"
msgstr ""
#: data/ShortcutsWindow.ui:53
msgid "Window"
msgstr ""
#: data/ShortcutsWindow.ui:57
msgid "Cycle through profiles"
msgstr ""
#: data/ShortcutsWindow.ui:64
msgid "Cycle through profiles in reversed order"
msgstr ""
#: data/ShortcutsWindow.ui:71
msgid "Toggle mini player"
msgstr ""
#: data/ShortcutsWindow.ui:78
msgid "Toggle genre filter"
msgstr ""
#: data/ShortcutsWindow.ui:85
msgid "Toggle lyrics"
msgstr ""
#: data/ShortcutsWindow.ui:92
msgid "Toggle search"
msgstr ""
#: data/ShortcutsWindow.ui:108
msgid "Playback"
msgstr ""
#: data/ShortcutsWindow.ui:112
msgid "Play/Pause"
msgstr ""
#: data/ShortcutsWindow.ui:119
msgid "Stop"
msgstr ""
#: data/ShortcutsWindow.ui:126
msgid "Stop after current title"
msgstr ""
#: data/ShortcutsWindow.ui:133
msgid "Next title"
msgstr ""
#: data/ShortcutsWindow.ui:140
msgid "Previous title"
msgstr ""
#: data/ShortcutsWindow.ui:147
msgid "Seek forward"
msgstr ""
#: data/ShortcutsWindow.ui:154
msgid "Seek backward"
msgstr ""
#: data/ShortcutsWindow.ui:161
msgid "Toggle repeat mode"
msgstr ""
#: data/ShortcutsWindow.ui:168
msgid "Toggle random mode"
msgstr ""
#: data/ShortcutsWindow.ui:175
msgid "Toggle single mode"
msgstr ""
#: data/ShortcutsWindow.ui:182
msgid "Toggle consume mode"
msgstr ""
#: data/ShortcutsWindow.ui:191
msgid "Search, Album Dialog, Album List and Artist List"
msgstr ""
#: data/ShortcutsWindow.ui:195
msgid "Enqueue selected item"
msgstr ""
#: data/ShortcutsWindow.ui:202
msgid "Append selected item"
msgstr ""
#: data/ShortcutsWindow.ui:203 data/ShortcutsWindow.ui:233
msgid "Middle-click"
msgstr ""
#: data/ShortcutsWindow.ui:210
msgid "Play selected item immediately"
msgstr ""
#: data/ShortcutsWindow.ui:211
msgid "Double-click"
msgstr ""
#: data/ShortcutsWindow.ui:218 data/ShortcutsWindow.ui:247
msgid "Show additional information"
msgstr ""
#: data/ShortcutsWindow.ui:219 data/ShortcutsWindow.ui:248
msgid "Right-click"
msgstr ""
#: data/ShortcutsWindow.ui:232
msgid "Remove selected song"
msgstr ""
#: data/ShortcutsWindow.ui:240
msgid "Clear playlist"
msgstr ""

745
po/nl.po
View File

@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-07-20 20:16+0200\n"
"PO-Revision-Date: 2021-07-20 20:17+0200\n"
"POT-Creation-Date: 2021-12-30 01:19+0100\n"
"PO-Revision-Date: 2021-12-30 17:16+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: nl\n"
@@ -18,101 +18,89 @@ msgstr ""
"X-Generator: Poedit 2.3.1\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: mpdevil:448
#: src/mpdevil.py:490
#, python-brace-format
msgid "{days} day"
msgid_plural "{days} days"
msgstr[0] "{days} dag"
msgstr[1] "{days} dagen"
#: mpdevil:467
#: src/mpdevil.py:527
#, python-brace-format
msgid "{channels} channel"
msgid_plural "{channels} channels"
msgstr[0] "{channels} kanaal"
msgstr[1] "{channels} kanalen"
#: mpdevil:499
msgid "Unknown Title"
msgstr "Onbekende titel"
#: mpdevil:965
msgid "Main cover size:"
msgstr "Grootte albumhoes:"
#: mpdevil:966
msgid "Album view cover size:"
msgstr "Hoesgrootte in albumlijst:"
#: mpdevil:967
msgid "Action bar icon size:"
msgstr "Grootte iconen werkbalk:"
#: mpdevil:977
msgid "Use Client-side decoration"
msgstr "Gebruik vensterdecoratie van mpdevil"
#: mpdevil:978
msgid "Show stop button"
msgstr "Toon stopknop"
#: mpdevil:979
msgid "Show audio format"
msgstr "Toon audioformaat"
#: mpdevil:980
msgid "Show lyrics button"
msgstr "Toon songtekstknop"
#: mpdevil:981
msgid "Place playlist at the side"
msgstr "Plaats afspeellijst aan de zijkant"
#: mpdevil:982
msgid "Use “Album Artist” tag"
msgstr "Gebruik tag „Album Artist”"
#: mpdevil:983
msgid "Send notification on title change"
msgstr "Verstuur een melding bij titelwisseling"
#: mpdevil:984
msgid "Stop playback on quit"
msgstr "Stop afspelen bij afsluiten"
#: mpdevil:985
msgid "Play selected albums and titles immediately"
msgstr "Geselecteerde albums en titels direct afspelen"
#: mpdevil:986
msgid "Sort albums by year"
msgstr "Sorteer albums op jaar"
#: mpdevil:987
msgid "Support “MPRIS”"
msgstr "Ondersteun „MPRIS”"
#: mpdevil:988
msgid "Rewind via previous button"
msgstr "Terugspoelen met „vorige” knop"
#: mpdevil:996
msgid "<b>View</b>"
msgstr "<b>Beeld</b>"
#: mpdevil:997
msgid "<b>Behavior</b>"
msgstr "<b>Gedrag</b>"
#: mpdevil:1011 mpdevil:1022
#: src/mpdevil.py:1005
msgid "(restart required)"
msgstr "(herstart vereist)"
#: mpdevil:1044
msgid "_Connect"
msgstr "_Verbinden"
#: src/mpdevil.py:1051
msgid "Use Client-side decoration"
msgstr "Gebruik vensterdecoratie van mpdevil"
#: mpdevil:1055
#: src/mpdevil.py:1052
msgid "Show stop button"
msgstr "Toon stopknop"
#: src/mpdevil.py:1053
msgid "Show audio format"
msgstr "Toon audioformaat"
#: src/mpdevil.py:1054
msgid "Show lyrics button"
msgstr "Toon songtekstknop"
#: src/mpdevil.py:1055
msgid "Place playlist at the side"
msgstr "Plaats afspeellijst aan de zijkant"
#: src/mpdevil.py:1061
msgid "Main cover size"
msgstr "Grootte albumhoes"
#: src/mpdevil.py:1062
msgid "Album view cover size"
msgstr "Hoesgrootte in albumlijst"
#: src/mpdevil.py:1063
msgid "Action bar icon size"
msgstr "Grootte iconen werkbalk"
#: src/mpdevil.py:1073
msgid "Support “MPRIS”"
msgstr "Ondersteun „MPRIS”"
#: src/mpdevil.py:1074
msgid "Sort albums by year"
msgstr "Sorteer albums op jaar"
#: src/mpdevil.py:1075
msgid "Send notification on title change"
msgstr "Verstuur een melding bij titelwisseling"
#: src/mpdevil.py:1076
msgid "Play selected albums and titles immediately"
msgstr "Geselecteerde albums en titels direct afspelen"
#: src/mpdevil.py:1077
msgid "Rewind via previous button"
msgstr "Terugspoelen met „vorige” knop"
#: src/mpdevil.py:1078
msgid "Stop playback on quit"
msgstr "Stop afspelen bij afsluiten"
#: src/mpdevil.py:1105
msgid "Choose directory"
msgstr "Kies een map"
#: src/mpdevil.py:1118
msgid "Connect via Unix domain socket"
msgstr "Verbinden via Unix domain socket"
#: src/mpdevil.py:1137
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 "
@@ -122,168 +110,188 @@ msgstr ""
"met deze regex wordt getoond. %AlbumArtist% en %Album% worden vervangen door "
"de bijbehorende tags van het muziekbestand."
#: mpdevil:1059
msgid "Profile:"
msgstr "Profiel:"
#: src/mpdevil.py:1142
msgid "Socket:"
msgstr "Socket:"
#: mpdevil:1060
#: src/mpdevil.py:1144
msgid "Host:"
msgstr "Host:"
#: mpdevil:1061
#: src/mpdevil.py:1146
msgid "Password:"
msgstr "Wachtwoord:"
#: mpdevil:1062
#: src/mpdevil.py:1147
msgid "Music lib:"
msgstr "Muziekmap:"
#: mpdevil:1063
#: src/mpdevil.py:1149
msgid "Cover regex:"
msgstr "Regex albumhoes:"
#: mpdevil:1167
msgid "Choose directory"
msgstr "Kies een map"
#: src/mpdevil.py:1173 src/mpdevil.py:3569
msgid "Profile 1"
msgstr "Profiel 1"
#: mpdevil:1194
#: src/mpdevil.py:1174 src/mpdevil.py:3569
msgid "Profile 2"
msgstr "Profiel 2"
#: src/mpdevil.py:1175 src/mpdevil.py:3569
msgid "Profile 3"
msgstr "Profiel 3"
#. connect button
#: src/mpdevil.py:1179 src/mpdevil.py:3451
msgid "Connect"
msgstr "Verbinden"
#. label
#: src/mpdevil.py:1204
msgid "Choose the order of information to appear in the playlist:"
msgstr "Kies de volgorde van de informatie getoond in de afspeellijst:"
#: mpdevil:1211 mpdevil:1751 mpdevil:1877 mpdevil:2838
#. fill store
#: src/mpdevil.py:1221 src/mpdevil.py:1641 src/mpdevil.py:1840
#: src/mpdevil.py:2461
msgid "No"
msgstr "Nr"
#: mpdevil:1211 mpdevil:2839
#: src/mpdevil.py:1221 src/mpdevil.py:2462
msgid "Disc"
msgstr "Disc"
#: mpdevil:1211 mpdevil:1754 mpdevil:1882 mpdevil:2840 mpdevil:2954
#: mpdevil:2956
#: src/mpdevil.py:1221 src/mpdevil.py:1644 src/mpdevil.py:1671
#: src/mpdevil.py:1841 src/mpdevil.py:2463 src/mpdevil.py:2556
#: src/mpdevil.py:2558
msgid "Title"
msgstr "Titel"
#: mpdevil:1211 mpdevil:1888 mpdevil:2841
#: src/mpdevil.py:1221 src/mpdevil.py:1842 src/mpdevil.py:2464
msgid "Artist"
msgstr "Artiest"
#: mpdevil:1211 mpdevil:1894 mpdevil:2842
#: src/mpdevil.py:1221 src/mpdevil.py:1843 src/mpdevil.py:2465
msgid "Album"
msgstr "Album"
#: mpdevil:1211 mpdevil:1757 mpdevil:1900 mpdevil:2843
#: src/mpdevil.py:1221 src/mpdevil.py:1648 src/mpdevil.py:1844
#: src/mpdevil.py:2466
msgid "Length"
msgstr "Lengte"
#: mpdevil:1211 mpdevil:2844
#: src/mpdevil.py:1221 src/mpdevil.py:2467
msgid "Year"
msgstr "Jaar"
#: mpdevil:1211 mpdevil:2845
#: src/mpdevil.py:1221 src/mpdevil.py:2468
msgid "Genre"
msgstr "Genre"
#: mpdevil:1301 mpdevil:1303 mpdevil:3721 mpdevil:3814
msgid "Settings"
msgstr "Instellingen"
#: src/mpdevil.py:1305 src/mpdevil.py:1307 src/mpdevil.py:3452
#: src/mpdevil.py:3561
msgid "Preferences"
msgstr "Voorkeuren"
#: mpdevil:1316 mpdevil:1325 mpdevil:3658
msgid "General"
msgstr "Algemeen"
#: src/mpdevil.py:1321 src/mpdevil.py:1332
msgid "View"
msgstr "Beeld"
#: mpdevil:1317 mpdevil:1326 mpdevil:3825
msgid "Profiles"
msgstr "Profielen"
#: src/mpdevil.py:1322 src/mpdevil.py:1333
msgid "Behavior"
msgstr "Gedrag"
#: mpdevil:1318 mpdevil:1327 mpdevil:3662
#: src/mpdevil.py:1323 src/mpdevil.py:1334 data/ShortcutsWindow.ui:228
msgid "Playlist"
msgstr "Afspeellijst"
#: mpdevil:1344
#: src/mpdevil.py:1324 src/mpdevil.py:1335
msgid "Profiles"
msgstr "Profielen"
#: src/mpdevil.py:1352
msgid "Stats"
msgstr "Statistieken"
#: mpdevil:1354
#: src/mpdevil.py:1361
msgid "<b>Protocol:</b>"
msgstr "<b>Protocol:</b>"
#: mpdevil:1355
#: src/mpdevil.py:1362
msgid "<b>Uptime:</b>"
msgstr "<b>Uptime:</b>"
#: mpdevil:1356
#: src/mpdevil.py:1363
msgid "<b>Playtime:</b>"
msgstr "<b>Afspeeltijd:</b>"
#: mpdevil:1357
#: src/mpdevil.py:1364
msgid "<b>Artists:</b>"
msgstr "<b>Artiesten:</b>"
#: mpdevil:1358
#: src/mpdevil.py:1365
msgid "<b>Albums:</b>"
msgstr "<b>Albums:</b>"
#: mpdevil:1359
#: src/mpdevil.py:1366
msgid "<b>Songs:</b>"
msgstr "<b>Titels:</b>"
#: mpdevil:1360
#: src/mpdevil.py:1367
msgid "<b>Total Playtime:</b>"
msgstr "<b>Totale speelduur:</b>"
#: mpdevil:1361
#: src/mpdevil.py:1368
msgid "<b>Database Update:</b>"
msgstr "<b>Database bijgewerkt:</b>"
#: mpdevil:1385
msgid "A simple music browser for MPD"
msgstr "Een simpele muziekspeler voor MPD"
#: mpdevil:1494
#. open-with button
#: src/mpdevil.py:1416
msgid "Open with…"
msgstr "Openen met…"
#: mpdevil:1509 mpdevil:1811
#: src/mpdevil.py:1426 src/mpdevil.py:1703
msgid "Append"
msgstr "Toevoegen"
#: mpdevil:1510 mpdevil:1812
#: src/mpdevil.py:1427 src/mpdevil.py:1704
msgid "Play"
msgstr "Afspelen"
#: mpdevil:1511 mpdevil:1813
#: src/mpdevil.py:1428 src/mpdevil.py:1705
msgid "Enqueue"
msgstr "In wachtrij plaatsen"
#: mpdevil:1529
#: src/mpdevil.py:1445
msgid "MPD-Tag"
msgstr "MPD-Tag"
#: mpdevil:1532
#: src/mpdevil.py:1448
msgid "Value"
msgstr "Waarde"
#: mpdevil:1686
#: src/mpdevil.py:1579
msgid "_Append"
msgstr "_Toevoegen"
#: mpdevil:1686
#: src/mpdevil.py:1579
msgid "Add all titles to playlist"
msgstr "Voeg alle titels toe aan de afspeellijst"
#: mpdevil:1687
#: src/mpdevil.py:1580
msgid "_Play"
msgstr "_Afspelen"
#: mpdevil:1687
#: src/mpdevil.py:1580
msgid "Directly play all titles"
msgstr "Alle titels direct afspelen"
#: mpdevil:1688
#: src/mpdevil.py:1581
msgid "_Enqueue"
msgstr "_In wachtrij plaatsen"
#: mpdevil:1688
#: src/mpdevil.py:1581
msgid ""
"Append all titles after the currently playing track and clear the playlist "
"from all other songs"
@@ -291,317 +299,294 @@ msgstr ""
"Alle titels toevoegen na de nu spelende titel en alle overige titels uit de "
"afspeellijst verwijderen"
#: mpdevil:1952
msgid "all tags"
msgstr "alle tags"
#: mpdevil:1976
#, python-brace-format
msgid "{hits} hit"
msgid_plural "{hits} hits"
msgstr[0] "{hits} hit"
msgstr[1] "{hits} treffers"
#: mpdevil:2116
msgid "all genres"
msgstr "alle genres"
#: mpdevil:2141
msgid "all artists"
msgstr "alle artiesten"
#: mpdevil:2367
#, python-brace-format
msgid "{number} songs on {discs} discs ({duration})"
msgstr "{number} nummers op {discs} cds ({duration})"
#: mpdevil:2370 mpdevil:3056
#: src/mpdevil.py:1670 src/mpdevil.py:2652
#, python-brace-format
msgid "{number} song ({duration})"
msgid_plural "{number} songs ({duration})"
msgstr[0] "{number} nummer ({duration})"
msgstr[1] "{number} nummers ({duration})"
#: mpdevil:2509 mpdevil:3681
msgid "Back to current album"
msgstr "Terug naar huidige album"
#: src/mpdevil.py:1773
#, python-brace-format
msgid "{hits} hit"
msgid_plural "{hits} hits"
msgstr[0] "{hits} hit"
msgstr[1] "{hits} treffers"
#: mpdevil:2511
msgid "Search"
msgstr "Zoeken"
#: src/mpdevil.py:1892
msgid "all tags"
msgstr "alle tags"
#: mpdevil:2514
msgid "Filter by genre"
msgstr "Filter op genre"
#: src/mpdevil.py:2024
msgid "all genres"
msgstr "alle genres"
#: mpdevil:2704
msgid "searching…"
msgstr "bezig met zoeken"
#: src/mpdevil.py:2050
msgid "all artists"
msgstr "alle artiesten"
#: mpdevil:2709
msgid "connection error"
msgstr "verbindingsfout"
#: mpdevil:2711
msgid "lyrics not found"
msgstr "geen songtekst gevonden"
#: mpdevil:2816
#: src/mpdevil.py:2683
msgid "Scroll to current song"
msgstr "Naar de huidige titel scrollen"
#: mpdevil:3117
msgid "Show lyrics"
msgstr "Toon songtekst"
#: src/mpdevil.py:2785
msgid "searching…"
msgstr "bezig met zoeken…"
#: mpdevil:3219 mpdevil:3220
#: src/mpdevil.py:2790
msgid "connection error"
msgstr "verbindingsfout"
#: src/mpdevil.py:2792
msgid "lyrics not found"
msgstr "geen songtekst gevonden"
#: src/mpdevil.py:2899
msgid "Lyrics"
msgstr "Songtekst"
#: src/mpdevil.py:2990 src/mpdevil.py:2991
#, python-brace-format
msgid "{number} song"
msgid_plural "{number} songs"
msgstr[0] "{number} nummer"
msgstr[1] "{number} nummers"
#: mpdevil:3434
#: src/mpdevil.py:3196
msgid "Repeat mode"
msgstr "Herhaalmodus"
#: mpdevil:3435
#: src/mpdevil.py:3197
msgid "Random mode"
msgstr "Willekeurige modus"
#: mpdevil:3436
#: src/mpdevil.py:3198
msgid "Single mode"
msgstr "Enkele modus"
#: mpdevil:3437
#: src/mpdevil.py:3199
msgid "Consume mode"
msgstr "Verbruiksmodus"
#: mpdevil:3659
msgid "Window"
msgstr "Venster"
#: src/mpdevil.py:3421
msgid "Updating Database…"
msgstr "Database bijwerken…"
#: mpdevil:3660
msgid "Playback"
msgstr "Afspelen"
#: mpdevil:3661
msgid "Search, Album Dialog, Album List and Artist List"
msgstr "Zoeken, Albumdialoog, Albumlijst en Artiestenlijst"
#: mpdevil:3671
msgid "Open online help"
msgstr "Online hulp openen"
#: mpdevil:3672
msgid "Open shortcuts window"
msgstr "Venster met sneltoetsen openen"
#: mpdevil:3673
msgid "Open menu"
msgstr "Menu openen"
#: mpdevil:3674 mpdevil:3820
msgid "Update database"
msgstr "Database bijwerken"
#: mpdevil:3675 mpdevil:3818
msgid "Quit"
msgstr "Stoppen"
#: mpdevil:3676
msgid "Cycle through profiles"
msgstr "Profielen doorlopen"
#: mpdevil:3677
msgid "Cycle through profiles in reversed order"
msgstr "Profielen doorlopen in omgekeerde volgorde"
#: mpdevil:3678
msgid "Toggle mini player"
msgstr "Omschakelen naar minispeler"
#: mpdevil:3679
msgid "Toggle lyrics"
msgstr "Omschakelen naar songtekst"
#: mpdevil:3680
msgid "Toggle search"
msgstr "Omschakelen naar zoeken"
#: mpdevil:3682
msgid "Play/Pause"
msgstr "Afspelen/Pauzeren"
#: mpdevil:3683
msgid "Stop"
msgstr "Stoppen"
#: mpdevil:3684
msgid "Next title"
msgstr "Volgende titel"
#: mpdevil:3685
msgid "Previous title"
msgstr "Vorige titel"
#: mpdevil:3686
msgid "Seek forward"
msgstr "Vooruit spoelen"
#: mpdevil:3687
msgid "Seek backward"
msgstr "Achteruit spoelen"
#: mpdevil:3688
msgid "Toggle repeat mode"
msgstr "Omschakelen naar herhaalmodus"
#: mpdevil:3689
msgid "Toggle random mode"
msgstr "Omschakelen naar willekeurige modus"
#: mpdevil:3690
msgid "Toggle single mode"
msgstr "Omschakelen naar enkele modus"
#: mpdevil:3691
msgid "Toggle consume mode"
msgstr "Omschakelen naar verbruiksmodus"
#: mpdevil:3692
msgid "Enqueue selected item"
msgstr "Geselecteerde item in wachtrij plaatsen"
#: mpdevil:3693
msgid "Append selected item"
msgstr "Geselecteerde item toevoegen"
#: mpdevil:3693 mpdevil:3696
msgid "Middle-click"
msgstr "Middelklik"
#: mpdevil:3694
msgid "Play selected item immediately"
msgstr "Geselecteerde item direct afspelen"
#: mpdevil:3694
msgid "Double-click"
msgstr "Dubbelklik"
#: mpdevil:3695 mpdevil:3698
msgid "Show additional information"
msgstr "Toon extra informatie"
#: mpdevil:3695 mpdevil:3698
msgid "Right-click"
msgstr "Rechtsklik"
#: mpdevil:3696
msgid "Remove selected song"
msgstr "Geselecteerde titel verwijderen"
#: mpdevil:3697
msgid "Clear playlist"
msgstr "Afspeellijst legen"
#: mpdevil:3720
msgid "Connect"
msgstr "Verbinden"
#: mpdevil:3741
#: src/mpdevil.py:3473
#, python-brace-format
msgid "Connection to “{profile}” ({host}:{port}) failed"
msgstr "Verbinding met „{profile}” ({host}:{port}) mislukt"
msgid "Connection to “{socket}” failed"
msgstr "Verbinding met „{socket}” mislukt"
#: mpdevil:3815
msgid "Keyboard shortcuts"
#: src/mpdevil.py:3475
#, python-brace-format
msgid "Connection to “{host}:{port}” failed"
msgstr "Verbinding met „{host}:{port}” mislukt"
#: src/mpdevil.py:3546
msgid "Search"
msgstr "Zoeken"
#: src/mpdevil.py:3549 data/ShortcutsWindow.ui:99
msgid "Back to current album"
msgstr "Terug naar huidige album"
#: src/mpdevil.py:3562
msgid "Keyboard Shortcuts"
msgstr "Sneltoetsen"
#: mpdevil:3816
#: src/mpdevil.py:3563
msgid "Help"
msgstr "Hulp"
#: mpdevil:3817
msgid "About"
msgstr "Over"
#: src/mpdevil.py:3564
msgid "About mpdevil"
msgstr "Over mpdevil"
#: mpdevil:3821
msgid "Server stats"
#: src/mpdevil.py:3566
msgid "Update Database"
msgstr "Database bijwerken"
#: src/mpdevil.py:3567
msgid "Server Stats"
msgstr "Serverstatistieken"
#: mpdevil:3826
msgid "Mini player"
#: src/mpdevil.py:3574
msgid "Mini Player"
msgstr "Minispeler"
#: mpdevil:3831
#: src/mpdevil.py:3575
msgid "Genre Filter"
msgstr "Genrefilter"
#: src/mpdevil.py:3585
msgid "Menu"
msgstr "Menu"
#: mpdevil:3882 mpdevil:3884
#: src/mpdevil.py:3638 src/mpdevil.py:3640
msgid "connecting…"
msgstr "verbinding maken…"
#: mpdevil:4049
#: src/mpdevil.py:3797
msgid "Debug mode"
msgstr "Debugmodus"
#, python-brace-format
#~ msgid "{titles} title"
#~ msgid_plural "{titles} titles"
#~ msgstr[0] "{titles} titel"
#~ msgstr[1] "{titles} titels"
#: data/org.mpdevil.mpdevil.desktop.in:3
msgid "mpdevil"
msgstr "mpdevil"
#~ msgid "Secondary icon size:"
#~ msgstr "Grootte overige iconen:"
#: data/org.mpdevil.mpdevil.desktop.in:4
msgid "MPD Client"
msgstr "MPD Client"
#~ msgid "Name:"
#~ msgstr "Naam:"
#: data/org.mpdevil.mpdevil.desktop.in:5 data/AboutDialog.ui:7
msgid "A simple music browser for MPD"
msgstr "Een simpele muziekspeler voor MPD"
#, python-brace-format
#~ msgid "on {discs} discs"
#~ msgstr "op {discs} discs"
#: data/ShortcutsWindow.ui:12
msgid "General"
msgstr "Algemeen"
#~ msgid "Show initials in artist view"
#~ msgstr "Toon beginletters in artiestenlijst"
#: data/ShortcutsWindow.ui:16
msgid "Open online help"
msgstr "Online hulp openen"
#~ msgid "Play selected item (next)"
#~ msgstr "Geselecteerde item afspelen (volgende)"
#: data/ShortcutsWindow.ui:23
msgid "Open shortcuts window"
msgstr "Venster met sneltoetsen openen"
#~ msgid "Left-click"
#~ msgstr "Linksklik"
#: data/ShortcutsWindow.ui:30
msgid "Open menu"
msgstr "Menu openen"
#~ msgid "Sort albums in chronological order"
#~ msgstr "Sorteer albums in chronologische volgorde"
#: data/ShortcutsWindow.ui:37
msgid "Update database"
msgstr "Database bijwerken"
#~ msgid "name"
#~ msgstr "naam"
#: data/ShortcutsWindow.ui:44
msgid "Quit"
msgstr "Stoppen"
#~ msgid "year"
#~ msgstr "jaar"
#: data/ShortcutsWindow.ui:53
msgid "Window"
msgstr "Venster"
#~ msgid "Position of playlist:"
#~ msgstr "Positie afspeellijst:"
#: data/ShortcutsWindow.ui:57
msgid "Cycle through profiles"
msgstr "Profielen doorlopen"
#~ msgid "bottom"
#~ msgstr "onder"
#: data/ShortcutsWindow.ui:64
msgid "Cycle through profiles in reversed order"
msgstr "Profielen doorlopen in omgekeerde volgorde"
#~ msgid "right"
#~ msgstr "rechts"
#: data/ShortcutsWindow.ui:71
msgid "Toggle mini player"
msgstr "Omschakelen naar minispeler"
#~ msgid "Show tooltips in album view"
#~ msgstr "Toon tooltip in albumlijst"
#: data/ShortcutsWindow.ui:78
msgid "Toggle genre filter"
msgstr "Genrefilter aan/uitzetten"
#~ msgid "Save window layout"
#~ msgstr "Vensterindeling opslaan"
#: data/ShortcutsWindow.ui:85
msgid "Toggle lyrics"
msgstr "Omschakelen naar songtekst"
#, 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}"
#: data/ShortcutsWindow.ui:92
msgid "Toggle search"
msgstr "Omschakelen naar zoeken"
#~ msgid "Close"
#~ msgstr "Afsluiten"
#: data/ShortcutsWindow.ui:108
msgid "Playback"
msgstr "Afspelen"
#: data/ShortcutsWindow.ui:112
msgid "Play/Pause"
msgstr "Afspelen/Pauzeren"
#: data/ShortcutsWindow.ui:119
msgid "Stop"
msgstr "Stoppen"
#: data/ShortcutsWindow.ui:126
msgid "Stop after current title"
msgstr "Stop na huidige titel"
#: data/ShortcutsWindow.ui:133
msgid "Next title"
msgstr "Volgende titel"
#: data/ShortcutsWindow.ui:140
msgid "Previous title"
msgstr "Vorige titel"
#: data/ShortcutsWindow.ui:147
msgid "Seek forward"
msgstr "Vooruit spoelen"
#: data/ShortcutsWindow.ui:154
msgid "Seek backward"
msgstr "Achteruit spoelen"
#: data/ShortcutsWindow.ui:161
msgid "Toggle repeat mode"
msgstr "Omschakelen naar herhaalmodus"
#: data/ShortcutsWindow.ui:168
msgid "Toggle random mode"
msgstr "Omschakelen naar willekeurige modus"
#: data/ShortcutsWindow.ui:175
msgid "Toggle single mode"
msgstr "Omschakelen naar enkele modus"
#: data/ShortcutsWindow.ui:182
msgid "Toggle consume mode"
msgstr "Omschakelen naar verbruiksmodus"
#: data/ShortcutsWindow.ui:191
msgid "Search, Album Dialog, Album List and Artist List"
msgstr "Zoeken, Albumdialoog, Albumlijst en Artiestenlijst"
#: data/ShortcutsWindow.ui:195
msgid "Enqueue selected item"
msgstr "Geselecteerde item in wachtrij plaatsen"
#: data/ShortcutsWindow.ui:202
msgid "Append selected item"
msgstr "Geselecteerde item toevoegen"
#: data/ShortcutsWindow.ui:203 data/ShortcutsWindow.ui:233
msgid "Middle-click"
msgstr "Middelklik"
#: data/ShortcutsWindow.ui:210
msgid "Play selected item immediately"
msgstr "Geselecteerde item direct afspelen"
#: data/ShortcutsWindow.ui:211
msgid "Double-click"
msgstr "Dubbelklik"
#: data/ShortcutsWindow.ui:218 data/ShortcutsWindow.ui:247
msgid "Show additional information"
msgstr "Toon extra informatie"
#: data/ShortcutsWindow.ui:219 data/ShortcutsWindow.ui:248
msgid "Right-click"
msgstr "Rechtsklik"
#: data/ShortcutsWindow.ui:232
msgid "Remove selected song"
msgstr "Geselecteerde titel verwijderen"
#: data/ShortcutsWindow.ui:240
msgid "Clear playlist"
msgstr "Afspeellijst legen"
#~ msgid "Use “Album Artist” tag"
#~ msgstr "Gebruik tag „Album Artist”"
#~ msgid "Filter by genre"
#~ msgstr "Filter op genre"
#~ msgid "Show lyrics"
#~ msgstr "Toon songtekst"

View File

@@ -1,4 +1,4 @@
beautifulsoup4
requests
python-mpd2 >=1.0
python-mpd2 >=1.1
PyGObject

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

@@ -1,29 +0,0 @@
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import DistUtilsExtra.auto
DistUtilsExtra.auto.setup(
name='mpdevil',
version='1.3.0', # sync with bin/mpdevil
author="Martin Wagner",
author_email="martin.wagner.dev@gmail.com",
description=('A simple music browser for MPD'),
url="https://github.com/SoongNoonien/mpdevil",
license='GPL-3.0',
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/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-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']),
],
)

10
src/meson.build Normal file
View File

@@ -0,0 +1,10 @@
conf = configuration_data()
conf.set('RESOURCES_DIR', resources_dir)
conf.set('LOCALE_DIR', join_paths(get_option('prefix'), get_option('datadir'), 'locale'))
configure_file(
input: 'mpdevil.py',
output: 'mpdevil',
configuration: conf,
install_dir: join_paths(get_option('prefix'), get_option('bindir'))
)

File diff suppressed because it is too large Load Diff