211 Commits

Author SHA1 Message Date
Martin Wagner
f3cc6c0680 decreased max_width_chars of search_entry 2022-02-24 13:53:21 +01:00
Martin Wagner
6740cf0bd5 updated features list 2022-02-24 13:15:32 +01:00
Martin Wagner
30e7dab546 preparations for 1.6.0 2022-02-24 13:10:37 +01:00
Martin Wagner
0af65bbe5b changed defaults to match the new playlist style 2022-02-24 12:50:40 +01:00
Martin Wagner
a46aa1e97c updated translations 2022-02-23 18:46:06 +01:00
Martin Wagner
7621b77b16 changed tooltip_text of popover_button 2022-02-23 18:31:05 +01:00
Martin Wagner
f248a63d9a fixed sensitivity of add_button 2022-02-23 18:25:01 +01:00
Martin Wagner
da99808f10 use standard keybindings in PlaylistsPopover 2022-02-23 17:04:40 +01:00
Martin Wagner
f7a5befbcf avoid refresh in PlaylistsPopover 2022-02-23 12:08:54 +01:00
Martin Wagner
941bbf7220 fixed scrolling in PlaylistsPopover 2022-02-22 20:20:40 +01:00
Martin Wagner
662d755d64 added missing wrapper 2022-02-22 19:09:39 +01:00
Martin Wagner
cc4faa29c9 use treeview in PlaylistsPopover 2022-02-22 19:03:55 +01:00
Martin Wagner
934dcfc4d1 added PlaylistPopover 2022-02-22 12:57:46 +01:00
Martin Wagner
6c2dbfebfd expand playlist name entry 2022-02-22 10:58:46 +01:00
Martin Wagner
c28e0b9a37 enqueue playlists by default 2022-02-22 10:54:27 +01:00
Martin Wagner
edd58937c6 added playlists duration 2022-02-22 10:39:49 +01:00
Martin Wagner
6ecea2f415 removed SearchWindow close signal 2022-02-20 16:23:40 +01:00
Martin Wagner
a735c650e5 fixed wrong mpris metadata 2022-02-20 16:21:20 +01:00
Martin Wagner
a35b67865a fixed typo 2022-02-19 23:52:50 +01:00
Martin Wagner
93545af49c fixed PlaylistsPopover name 2022-02-19 23:44:16 +01:00
Martin Wagner
0e0ad6091d right align length column 2022-02-19 23:42:35 +01:00
Martin Wagner
645bb42f1c fixed ui stale without fixed-height-mode 2022-02-19 23:38:37 +01:00
Martin Wagner
0d95fc6ee0 use a better icon for playlists management 2022-02-18 23:36:14 +01:00
Martin Wagner
ed41297dee fixed sorting 2022-02-17 17:45:08 +01:00
Martin Wagner
c483f8ff0b added tooltip 2022-02-17 09:53:16 +01:00
Martin Wagner
6802406558 added basic stored playlist management 2022-02-17 09:45:02 +01:00
Martin Wagner
464b1118bc added missing genre filter 2022-02-13 23:06:03 +01:00
Martin Wagner
d80604b250 ignore multiple *sort tags 2022-02-13 22:15:54 +01:00
Martin Wagner
15987d5ed6 added Bulgarian translation by Georgi Kamenov 2022-02-11 19:19:29 +01:00
Martin Wagner
f50dfbd83b changed button style in SongPopover 2022-02-11 17:48:54 +01:00
Martin Wagner
2b491b2307 fixed spacing in profile settings 2022-02-11 17:01:03 +01:00
Martin Wagner
2accd050d2 use fixed_height_mode in playlist and search 2022-02-11 16:57:28 +01:00
Martin Wagner
3eb849f105 reworked SongsView 2022-02-11 16:38:34 +01:00
Martin Wagner
66f3a7709c row spacing 2022-02-08 21:21:31 +01:00
Martin Wagner
6f230ccacf removed custom sorting 2022-02-08 21:15:42 +01:00
Martin Wagner
b524efc817 simplified _on_song_changed in MainWindow 2022-02-01 20:08:08 +01:00
Martin Wagner
3ff526d964 unified markup generation 2022-02-01 19:51:07 +01:00
Martin Wagner
f2e332f1cc adopt new playlist style in search window 2022-02-01 19:14:59 +01:00
Martin Wagner
d602fd7c04 Revert "use fixed height mode in playlist"
This reverts commit 719817747d.
2022-01-31 18:57:55 +01:00
Martin Wagner
719817747d use fixed height mode in playlist 2022-01-31 18:49:19 +01:00
Martin Wagner
a2c9bdd374 fixed album name in window title 2022-01-31 00:09:17 +01:00
Martin Wagner
3ba7b8dfb6 removed unneeded ellipsize 2022-01-31 00:02:35 +01:00
Martin Wagner
8b269c6473 fixed font weight 2022-01-30 23:58:32 +01:00
Martin Wagner
532e93bf8b reworked playlist 2022-01-30 23:56:33 +01:00
Martin Wagner
e72ccd6c9a updated copyright 2022-01-16 22:46:48 +01:00
Martin Wagner
b72ec08b8f use tnum font attr where needed 2022-01-16 22:45:03 +01:00
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
Martin Wagner
f0789d7170 preparations for 1.3.0 2021-07-24 14:21:14 +02:00
Martin Wagner
e905abb794 fixed typo 2021-07-24 12:22:46 +02:00
Martin Wagner
95cdf2e686 use 'f""' syntax 2021-07-24 12:13:09 +02:00
Martin Wagner
c520e43bd4 use "window" feature of search command 2021-07-23 17:29:35 +02:00
Martin Wagner
9d7b618a1c use isinstance 2021-07-22 19:42:49 +02:00
Martin Wagner
6ccd853d82 added missing genre filter 2021-07-22 19:25:55 +02:00
Martin Wagner
14d4766283 fixed unusable search (#38) 2021-07-21 18:36:26 +02:00
Martin Wagner
86caa2ccb0 Merge pull request #35 from dgcampea/bitrate
Handle unknown bitrates
2021-07-21 11:46:16 +02:00
dgcampea
f0cfc240fa AudioFormat:
Display unknown bitrates as "-- kbps"
  Use str instead of float for bitrate
2021-07-20 23:33:44 +01:00
Martin Wagner
3bcffa8bcd translation update 2021-07-20 20:17:56 +02:00
Martin Wagner
1b20f0347e removed unneeded ".new()" calls 2021-07-19 22:41:32 +02:00
Martin Wagner
a01972691e unified some arguments 2021-07-19 22:33:54 +02:00
Martin Wagner
dd04775148 added requirements.txt 2021-07-19 22:09:24 +02:00
Martin Wagner
839e6c43d4 Merge pull request #34 from dgcampea/fix
Uninitialize libnotify before quitting
2021-07-19 19:02:02 +02:00
dgcampea
bc17670fc0 Uninitialize libnotify before quitting 2021-07-19 17:19:48 +01:00
Martin Wagner
bee7cf8e8f replaced " = " by "=" 2021-07-18 22:39:35 +02:00
Martin Wagner
98a71297d6 Merge pull request #33 from dgcampea/notify
reduce notification spam
2021-07-18 22:36:22 +02:00
dgcampea
d97a1f1a53 reduce notification spam 2021-07-18 21:27:21 +01:00
Martin Wagner
f46a789111 fixed next/prev-button tooltips 2021-07-17 14:15:31 +02:00
Martin Wagner
8c75b510d5 simplified play button icon change 2021-07-17 14:07:04 +02:00
Martin Wagner
5d2edb9abb use more Gio binds 2021-07-17 13:58:19 +02:00
Martin Wagner
ca39c3bed0 fixed "_on_show_audio_format_changed" 2021-07-16 20:37:44 +02:00
Martin Wagner
46f36f4a4a small fix in AudioFormat 2021-07-16 20:29:37 +02:00
Martin Wagner
e91604e170 translation update 2021-07-16 20:28:02 +02:00
Martin Wagner
f99519db82 made AudioFormat optional 2021-07-16 20:07:52 +02:00
Martin Wagner
6f2d6e797f small cleanup 2021-07-16 19:46:39 +02:00
Martin Wagner
06f0c0804f removed action bar in playlist window 2021-07-16 19:39:48 +02:00
Martin Wagner
975e0470ae don't show "AudioType" when format is empty 2021-07-04 22:42:12 +02:00
Martin Wagner
eb1d4cfd7f fixed "SearchWindow" 2021-07-04 19:38:05 +02:00
Martin Wagner
eb26e7c9ec replaced "-" by "•" in "AlbumPopover" 2021-07-04 18:41:13 +02:00
Martin Wagner
63135b23cb fixed popdown of popovers 2021-07-04 18:37:14 +02:00
Martin Wagner
8e3aa47dc5 revert file type detection in "AudioType" 2021-07-04 17:24:36 +02:00
Martin Wagner
a84cdf34b6 use "•" in window title instead of "-" 2021-07-04 16:52:12 +02:00
Martin Wagner
1e7a010bec use "locale.str" to convert float to str 2021-07-04 16:26:18 +02:00
Martin Wagner
734836711f fixed sorting in SelectionList (#32) 2021-07-03 15:05:56 +02:00
Martin Wagner
b7d027edf6 fixed MPDActionGroup action state on reconnect 2021-06-27 22:38:09 +02:00
Martin Wagner
4deaadd1cf added debug mode 2021-06-27 19:43:18 +02:00
Martin Wagner
94cb95e1f7 small performance improvements 2021-06-27 19:08:32 +02:00
Martin Wagner
11ec902319 improved icon autosizing 2021-06-25 23:21:06 +02:00
Martin Wagner
e505416036 improved "GenreSelect" (#31) 2021-06-24 21:24:22 +02:00
Martin Wagner
d665263366 use "rewind-mode" in MPRIS interface 2021-06-12 22:37:37 +02:00
Martin Wagner
0bee26c7c1 added "rewind-mode" for previous button 2021-06-12 09:38:57 +02:00
Martin Wagner
e08f0232ff improved metadata formatting in SongPopover 2021-06-07 18:40:25 +02:00
Martin Wagner
66bf9c310a ignore broken covers fetched via mpd 2021-06-02 21:34:01 +02:00
Martin Wagner
8c0c1fe59e preparations for 1.2.1 2021-05-04 17:29:20 +02:00
Martin Wagner
364faf67be added force mode to "back_to_current_album_button" 2021-05-02 14:42:01 +02:00
Martin Wagner
7cd76f34bb removed tooltips in ArtistPopover 2021-04-25 19:40:43 +02:00
Martin Wagner
113d07a70a fixed single mode oneshot indicator with some themes 2021-04-25 19:33:44 +02:00
Martin Wagner
1e5b894d82 fixed mem leak 2021-04-25 19:00:54 +02:00
Martin Wagner
5815ca79a7 fixed styling of OutputPopover 2021-04-25 17:08:22 +02:00
Martin Wagner
d54cf001d7 changed oneshot single mode indication 2021-04-25 11:54:33 +02:00
Martin Wagner
3bdf185788 fixed button packing issue 2021-04-24 11:42:35 +02:00
Martin Wagner
87786099ea provide settings button on connection error 2021-04-24 11:03:46 +02:00
Martin Wagner
60afc4e412 fixed PlaybackOptions 2021-04-24 10:24:59 +02:00
Martin Wagner
b32a065b66 removed "search-focus-changed" signal 2021-04-23 22:06:13 +02:00
Martin Wagner
1660f26fa5 avoid multiple implementations of simple mpd commands 2021-04-23 21:29:46 +02:00
Martin Wagner
3474c027f5 fixed connect_button 2021-04-23 16:17:37 +02:00
Martin Wagner
4d1b20f7a5 internal cleanups in SettingsDialog 2021-04-23 15:30:08 +02:00
Martin Wagner
3caac937b7 reworked ProfileSettings 2021-04-22 23:40:51 +02:00
39 changed files with 6223 additions and 5657 deletions

1
.gitignore vendored Normal file
View File

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

View File

@@ -4,6 +4,7 @@ Maintainer:
Translators:
Martin Wagner <martin.wagner.dev@gmail.com> (German)
Martin de Reuver <martin@reuf.nl> (Dutch)
Georgi Kamenov (Bulgarian)
Gentoo ebuild:
Martin Wagner <martin.wagner.dev@gmail.com>

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.1.0.png)
![ScreenShot](screenshots/mainwindow_1.6.0.png)
Features
--------
@@ -11,13 +11,9 @@ Features
- play songs without doubleclick
- lyrics from 'www.letras.mus.br'
- MPRIS interface (based on mpDris2)
- notifications on title change
- basic queue manipulation (move and delete single tracks)
- search songs
- filter by genre
- media keys support
- many shortcuts
- manage multiple mpd servers
- basic queue manipulation (move and delete single tracks)
- save and load playlists
See: https://github.com/SoongNoonien/mpdevil/wiki/Usage
@@ -54,14 +50,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 +66,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
```
@@ -79,5 +76,5 @@ sudo update-desktop-database
Translation
-----------
Mpdevil is currently available in English, German and Dutch. If you speek another language you can easily translate mpdevil by using `poedit`. Just import `po/mpdevil.pot` from this repo into `poedit`. To test your translation copy the new `.po` file into the `po` directory of your cloned mpdevil repo and proceed as described in the Building section. To get your translation integrated into mpdevil just send me an e-mail or create a pull request. Link to `poedit`: https://poedit.net/
Mpdevil is currently available in English, German, Dutch and Bulgarian. If you speek another language you can easily translate mpdevil by using `poedit`. Just import `po/mpdevil.pot` from this repo into `poedit`. To test your translation copy the new `.po` file into the `po` directory of your cloned mpdevil repo and proceed as described in the Building section. To get your translation integrated into mpdevil just send me an e-mail or create a pull request. Link to `poedit`: https://poedit.net/

File diff suppressed because it is too large Load Diff

17
data/AboutDialog.ui Normal file
View File

@@ -0,0 +1,17 @@
<?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.6.0</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
Georgi Kamenov
Martin Wagner</property>
<property name="website">https://github.com/SoongNoonien/mpdevil</property>
<property name="copyright">Copyright © 2020-2022 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

@@ -13,22 +13,18 @@
<li>play songs without doubleclick</li>
<li>fetch lyrics</li>
<li>MPRIS interface</li>
<li>notifications on title change</li>
<li>basic queue manipulation (move and delete single tracks)</li>
<li>search songs</li>
<li>filter by genre</li>
<li>media keys support</li>
<li>many shortcuts</li>
<li>manage multiple mpd servers</li>
<li>basic queue manipulation (move and delete single tracks)</li>
<li>save and load playlists</li>
</ul>
</description>
<releases>
<release version="1.2.0" date="2021-04-21"/>
<release version="1.6.0" date="2022-02-24"/>
</releases>
<launchable type="desktop-id">org.mpdevil.mpdevil.desktop</launchable>
<screenshots>
<screenshot type="default">
<image type="source" width="1008" height="1039">https://raw.githubusercontent.com/SoongNoonien/mpdevil/v1.1.0/screenshots/mainwindow_1.1.0.png</image>
<image type="source" width="1121" height="790">https://raw.githubusercontent.com/SoongNoonien/mpdevil/v1.6.0/screenshots/mainwindow_1.6.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,160 +1,105 @@
<?xml version="1.0" encoding="UTF-8"?>
<schemalist>
<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>
<description></description>
</key>
<key type="i" name="width">
<default>1006</default>
<default>1069</default>
<summary>Default width of window</summary>
<description></description>
</key>
<key type="i" name="height">
<default>990</default>
<default>691</default>
<summary>Default height of window</summary>
<description></description>
</key>
<key type="i" name="paned0">
<default>370</default>
<default>350</default>
<summary>Default position of cover/playlist separator</summary>
<description></description>
</key>
<key type="i" name="paned1">
<default>246</default>
<default>177</default>
<summary>Default position of artist/albums separator</summary>
<description></description>
</key>
<key type="i" name="paned2">
<default>572</default>
<default>718</default>
<summary>Default position of paned1/paned0 separator</summary>
<description></description>
</key>
<key type="i" name="paned3">
<default>177</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>
<description></description>
</key>
<key type="i" name="album-cover">
<default>170</default>
<default>160</default>
<summary>Size of covers in album view</summary>
<description></description>
</key>
<key type="i" name="track-cover">
<default>370</default>
<default>350</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="i" name="icon-size-sec">
<default>16</default>
<summary>Size of icons in secondary control bars</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>
</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="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 type="b" name="rewind-mode">
<default>false</default>
<summary>Classic previous button behavior</summary>
</key>
<key type="b" name="playlist-right">
<default>false</default>
<default>true</default>
<summary>Move playlist to the right</summary>
<description></description>
</key>
<key type="i" name="active-profile">
<range min="0" max="2"/>
<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>
@@ -169,4 +114,35 @@
</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.6.0')
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 bg

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

582
po/bg.po Normal file
View File

@@ -0,0 +1,582 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the mpdevil package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: mpdevil\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-02-23 18:31+0100\n"
"PO-Revision-Date: 2022-02-23 18:45+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: bg\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.3.1\n"
"X-Poedit-Bookmarks: -1,-1,-1,-1,30,-1,-1,-1,-1,-1\n"
#: src/mpdevil.py:501
#, python-brace-format
msgid "{days} day"
msgid_plural "{days} days"
msgstr[0] "{days} ден"
msgstr[1] "{days} дни"
#: src/mpdevil.py:538
#, python-brace-format
msgid "{channels} channel"
msgid_plural "{channels} channels"
msgstr[0] "{channels} канал"
msgstr[1] "{channels} канали"
#: src/mpdevil.py:1008
msgid "(restart required)"
msgstr "(необходим е рестарт)"
#: src/mpdevil.py:1054
msgid "Use Client-side decoration"
msgstr "Използвай декорация от Клиентска страна"
#: src/mpdevil.py:1055
msgid "Show stop button"
msgstr "Покажи бутон стоп"
#: src/mpdevil.py:1056
msgid "Show audio format"
msgstr "Покажи аудио формат"
#: src/mpdevil.py:1057
msgid "Show lyrics button"
msgstr "Покажи бутон за лирики"
#: src/mpdevil.py:1058
msgid "Place playlist at the side"
msgstr "Постави плейлитът на страни"
#: src/mpdevil.py:1064
msgid "Main cover size"
msgstr "Големина на главната обложка"
#: src/mpdevil.py:1065
msgid "Album view cover size"
msgstr "Големина за основна облечка"
#: src/mpdevil.py:1066
msgid "Action bar icon size"
msgstr "Големина за иконите на бутоните"
#: src/mpdevil.py:1076
msgid "Support “MPRIS”"
msgstr "Поддръжка на “MPRIS”"
#: src/mpdevil.py:1077
msgid "Sort albums by year"
msgstr "Сортирай албумите по година"
#: src/mpdevil.py:1078
msgid "Send notification on title change"
msgstr "Прати известие при промяна на заглавие"
#: src/mpdevil.py:1079
msgid "Play selected albums and titles immediately"
msgstr "Възпроизведи избраните албуми и заглавия веднага"
#: src/mpdevil.py:1080
msgid "Rewind via previous button"
msgstr "Пренавий чрез бутон назад"
#: src/mpdevil.py:1081
msgid "Stop playback on quit"
msgstr "Прекрати възпроизвеждането при изход"
#: src/mpdevil.py:1108
msgid "Choose directory"
msgstr "Избери директория"
#: src/mpdevil.py:1121
msgid "Connect via Unix domain socket"
msgstr "Свържи чрез Unix domain socket"
#: src/mpdevil.py:1140
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 ""
"Ще бъдат показани първата картина в същата директория като съвпадение на "
"този регулярен израз. %AlbumArtist% и %Album% ще бъдат заместени от "
"съответстващите тагове от песента."
#: src/mpdevil.py:1145
msgid "Socket:"
msgstr "Сокет:"
#: src/mpdevil.py:1147
msgid "Host:"
msgstr "Хост:"
#: src/mpdevil.py:1149
msgid "Password:"
msgstr "Парола:"
#: src/mpdevil.py:1150
msgid "Music lib:"
msgstr "Музикална библиотека:"
#: src/mpdevil.py:1152
msgid "Cover regex:"
msgstr "Обложка - регулярен израз:"
#: src/mpdevil.py:1176 src/mpdevil.py:3586
msgid "Profile 1"
msgstr "Профил 1"
#: src/mpdevil.py:1177 src/mpdevil.py:3586
msgid "Profile 2"
msgstr "Профил 2"
#: src/mpdevil.py:1178 src/mpdevil.py:3586
msgid "Profile 3"
msgstr "Профил 3"
#. connect button
#: src/mpdevil.py:1182 src/mpdevil.py:3469
msgid "Connect"
msgstr "Свържи"
#: src/mpdevil.py:1205 src/mpdevil.py:1207 src/mpdevil.py:3470
#: src/mpdevil.py:3578
msgid "Preferences"
msgstr "Предпочитания"
#: src/mpdevil.py:1220 src/mpdevil.py:1230
msgid "View"
msgstr "Поглед"
#: src/mpdevil.py:1221 src/mpdevil.py:1231
msgid "Behavior"
msgstr "Държане"
#: src/mpdevil.py:1222 src/mpdevil.py:1232
msgid "Profiles"
msgstr "Профиле"
#: src/mpdevil.py:1249
msgid "Stats"
msgstr "Статистика"
#: src/mpdevil.py:1258
msgid "<b>Protocol:</b>"
msgstr "<b>Протокол:</b>"
#: src/mpdevil.py:1259
msgid "<b>Uptime:</b>"
msgstr "<b>Време на работа:</b>"
#: src/mpdevil.py:1260
msgid "<b>Playtime:</b>"
msgstr "<b>Време на възпроизвеждане:</b>"
#: src/mpdevil.py:1261
msgid "<b>Artists:</b>"
msgstr "<b>Артисти:</b>"
#: src/mpdevil.py:1262
msgid "<b>Albums:</b>"
msgstr "<b>Албуми:</b>"
#: src/mpdevil.py:1263
msgid "<b>Songs:</b>"
msgstr "<b>Песни::</b>"
#: src/mpdevil.py:1264
msgid "<b>Total Playtime:</b>"
msgstr "<b>Цялостно време на възпроизвеждане:</b>"
#: src/mpdevil.py:1265
msgid "<b>Database Update:</b>"
msgstr "<b>Базата с данни се актуализира:</b>"
#. open-with button
#: src/mpdevil.py:1313
msgid "Open with…"
msgstr "Отвори със…"
#: src/mpdevil.py:1323 src/mpdevil.py:1569 src/mpdevil.py:2289
msgid "Append"
msgstr "Добави"
#: src/mpdevil.py:1324 src/mpdevil.py:1570 src/mpdevil.py:2290
msgid "Play"
msgstr "Свири"
#: src/mpdevil.py:1325 src/mpdevil.py:1571 src/mpdevil.py:2291
msgid "Enqueue"
msgstr "На опашката"
#: src/mpdevil.py:1344
msgid "MPD-Tag"
msgstr "MPD-Етикет"
#: src/mpdevil.py:1347
msgid "Value"
msgstr "Стойност"
#: src/mpdevil.py:1424 src/mpdevil.py:2498
msgid "No"
msgstr "№"
#. the order of weight_set and weight seems to be important here
#: src/mpdevil.py:1425 src/mpdevil.py:2500
msgid "Title"
msgstr "Заглавие"
#: src/mpdevil.py:1426 src/mpdevil.py:2501
msgid "Length"
msgstr "Дължина"
#: src/mpdevil.py:1439
msgid "Add all titles to playlist"
msgstr "Добави всички заглавия към плейлист"
#: src/mpdevil.py:1440
msgid "Directly play all titles"
msgstr "Директно възпроизведи всички заглавия"
#: src/mpdevil.py:1441
msgid ""
"Append all titles after the currently playing track and clear the playlist "
"from all other songs"
msgstr ""
"Добави всички заглавия след песента която се възпроизвежда и изчисти от "
"всички други песни"
#: src/mpdevil.py:1538 src/mpdevil.py:2379 src/mpdevil.py:2662
#, python-brace-format
msgid "{number} song ({duration})"
msgid_plural "{number} songs ({duration})"
msgstr[0] "{number} песен ({duration})"
msgstr[1] "{number} песни ({duration})"
#: src/mpdevil.py:1637
#, python-brace-format
msgid "{hits} hit"
msgid_plural "{hits} hits"
msgstr[0] "{hits} попадение"
msgstr[1] "{hits} попадения"
#: src/mpdevil.py:1722
msgid "all tags"
msgstr "всички тагове"
#: src/mpdevil.py:1854
msgid "all genres"
msgstr "всички жанрове"
#: src/mpdevil.py:1880
msgid "all artists"
msgstr "всички артисти"
#: src/mpdevil.py:2299
msgid "Save"
msgstr "Запазване"
#: src/mpdevil.py:2303
msgid "Delete"
msgstr "Изтриване"
#: src/mpdevil.py:2427 data/ShortcutsWindow.ui:240
msgid "Clear playlist"
msgstr "Изчисти плейлист"
#: src/mpdevil.py:2693
msgid "Scroll to current song"
msgstr "Превъртане до моментната песен"
#: src/mpdevil.py:2704
msgid "Playlists"
msgstr "Плейлисти"
#: src/mpdevil.py:2800
msgid "searching…"
msgstr "търсене…"
#: src/mpdevil.py:2805
msgid "connection error"
msgstr "грешка при свързване"
#: src/mpdevil.py:2807
msgid "lyrics not found"
msgstr "лириките не са намерени"
#: src/mpdevil.py:2913
msgid "Lyrics"
msgstr "Лирики"
#: src/mpdevil.py:3004 src/mpdevil.py:3005
#, python-brace-format
msgid "{number} song"
msgid_plural "{number} songs"
msgstr[0] "{number} песен"
msgstr[1] "{number} песни"
#: src/mpdevil.py:3214
msgid "Repeat mode"
msgstr "Повтарящ режим"
#: src/mpdevil.py:3215
msgid "Random mode"
msgstr "Случаен режим"
#: src/mpdevil.py:3216
msgid "Single mode"
msgstr "Единичен режим"
#: src/mpdevil.py:3217
msgid "Consume mode"
msgstr "Консумиращ режим"
#: src/mpdevil.py:3439
msgid "Updating Database…"
msgstr "Актуализиране на базата с данни…"
#: src/mpdevil.py:3491
#, python-brace-format
msgid "Connection to “{socket}” failed"
msgstr "Свързването със “{socket}” се провали"
#: src/mpdevil.py:3493
#, python-brace-format
msgid "Connection to “{host}:{port}” failed"
msgstr "Свързването със “{host}:{port}” се провали"
#: src/mpdevil.py:3563
msgid "Search"
msgstr "Търси"
#: src/mpdevil.py:3566 data/ShortcutsWindow.ui:99
msgid "Back to current album"
msgstr "Обратно в моментния албум"
#: src/mpdevil.py:3579
msgid "Keyboard Shortcuts"
msgstr "Преки пътища на клавиатурата"
#: src/mpdevil.py:3580
msgid "Help"
msgstr "Помощ"
#: src/mpdevil.py:3581
msgid "About mpdevil"
msgstr "За mpdevil"
#: src/mpdevil.py:3583
msgid "Update Database"
msgstr "Актуализирай базата с данни"
#: src/mpdevil.py:3584
msgid "Server Stats"
msgstr "Статистика на сървърът"
#: src/mpdevil.py:3591
msgid "Mini Player"
msgstr "Мини Плеър"
#: src/mpdevil.py:3592
msgid "Genre Filter"
msgstr "Филтър на Жанрове"
#: src/mpdevil.py:3602
msgid "Menu"
msgstr "Меню"
#: src/mpdevil.py:3655 src/mpdevil.py:3657
msgid "connecting…"
msgstr "свързване…"
#: src/mpdevil.py:3811
msgid "Debug mode"
msgstr "Debug режим"
#: data/org.mpdevil.mpdevil.desktop.in:3
msgid "mpdevil"
msgstr "mpdevil"
#: data/org.mpdevil.mpdevil.desktop.in:4
msgid "MPD Client"
msgstr "MPD Клиент"
#: data/org.mpdevil.mpdevil.desktop.in:5 data/AboutDialog.ui:7
msgid "A simple music browser for MPD"
msgstr "Опростен музикален браузър за MPD"
#: 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:228
msgid "Playlist"
msgstr "Плейлист"
#: data/ShortcutsWindow.ui:232
msgid "Remove selected song"
msgstr "Премахни избраната песен"
#~ msgid "Choose the order of information to appear in the playlist:"
#~ msgstr "Избери подредбата на информация която се показва в плейлист:"
#~ msgid "Disc"
#~ msgstr "Диск"
#~ msgid "Artist"
#~ msgstr "Артист"
#~ msgid "Album"
#~ msgstr "Албум"
#~ msgid "Year"
#~ msgstr "Година"
#~ msgid "Genre"
#~ msgstr "Жанр"
#~ msgid "_Append"
#~ msgstr "_Добави"
#~ msgid "_Play"
#~ msgstr "_Свири"
#~ msgid "_Enqueue"
#~ msgstr "_На опашката"

884
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-04-20 17:46+0200\n"
"POT-Creation-Date: 2022-02-23 18:31+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,509 +18,532 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
#: mpdevil:442
#: src/mpdevil.py:501
#, python-brace-format
msgid "{days} day"
msgid_plural "{days} days"
msgstr[0] ""
msgstr[1] ""
#: mpdevil:477
msgid "Unknown Title"
msgstr ""
#: mpdevil:938
msgid "Main cover size:"
msgstr ""
#: mpdevil:939
msgid "Album view cover size:"
msgstr ""
#: mpdevil:940
msgid "Action bar icon size:"
msgstr ""
#: mpdevil:941
msgid "Secondary icon size:"
msgstr ""
#: mpdevil:954
msgid "Use Client-side decoration"
msgstr ""
#: mpdevil:955
msgid "Show stop button"
msgstr ""
#: mpdevil:956
msgid "Show lyrics button"
msgstr ""
#: mpdevil:957
msgid "Place playlist at the side"
msgstr ""
#: mpdevil:958
msgid "Use “Album Artist” tag"
msgstr ""
#: mpdevil:959
msgid "Send notification on title change"
msgstr ""
#: mpdevil:960
msgid "Stop playback on quit"
msgstr ""
#: mpdevil:961
msgid "Play selected albums and titles immediately"
msgstr ""
#: mpdevil:962
msgid "Sort albums by year"
msgstr ""
#: mpdevil:963
msgid "Support “MPRIS”"
msgstr ""
#: mpdevil:975
msgid "<b>View</b>"
msgstr ""
#: mpdevil:976
msgid "<b>Behavior</b>"
msgstr ""
#: mpdevil:996 mpdevil:1006
msgid "(restart required)"
msgstr ""
#: mpdevil:1046
msgid "_Connect"
msgstr ""
#: mpdevil:1062
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:1067
msgid "Profile:"
msgstr ""
#: mpdevil:1068
msgid "Name:"
msgstr ""
#: mpdevil:1069
msgid "Host:"
msgstr ""
#: mpdevil:1070
msgid "Password:"
msgstr ""
#: mpdevil:1071
msgid "Music lib:"
msgstr ""
#: mpdevil:1072
msgid "Cover regex:"
msgstr ""
#: mpdevil:1207
msgid "Choose directory"
msgstr ""
#: mpdevil:1236
msgid "Choose the order of information to appear in the playlist:"
msgstr ""
#: mpdevil:1253 mpdevil:1783 mpdevil:1910 mpdevil:2907
msgid "No"
msgstr ""
#: mpdevil:1253 mpdevil:2908
msgid "Disc"
msgstr ""
#: mpdevil:1253 mpdevil:1786 mpdevil:1915 mpdevil:2909
msgid "Title"
msgstr ""
#: mpdevil:1253 mpdevil:1921 mpdevil:2910
msgid "Artist"
msgstr ""
#: mpdevil:1253 mpdevil:1927 mpdevil:2911
msgid "Album"
msgstr ""
#: mpdevil:1253 mpdevil:1789 mpdevil:1933 mpdevil:2912
msgid "Length"
msgstr ""
#: mpdevil:1253 mpdevil:2913
msgid "Year"
msgstr ""
#: mpdevil:1253 mpdevil:2914
msgid "Genre"
msgstr ""
#: mpdevil:1369 mpdevil:1371 mpdevil:3853
msgid "Settings"
msgstr ""
#: mpdevil:1384 mpdevil:1393 mpdevil:3700
msgid "General"
msgstr ""
#: mpdevil:1385 mpdevil:1394 mpdevil:3864
msgid "Profiles"
msgstr ""
#: mpdevil:1386 mpdevil:1395 mpdevil:3704
msgid "Playlist"
msgstr ""
#: mpdevil:1408
msgid "Stats"
msgstr ""
#: mpdevil:1418
msgid "<b>Protocol:</b>"
msgstr ""
#: mpdevil:1419
msgid "<b>Uptime:</b>"
msgstr ""
#: mpdevil:1420
msgid "<b>Playtime:</b>"
msgstr ""
#: mpdevil:1421
msgid "<b>Artists:</b>"
msgstr ""
#: mpdevil:1422
msgid "<b>Albums:</b>"
msgstr ""
#: mpdevil:1423
msgid "<b>Songs:</b>"
msgstr ""
#: mpdevil:1424
msgid "<b>Total Playtime:</b>"
msgstr ""
#: mpdevil:1425
msgid "<b>Database Update:</b>"
msgstr ""
#: mpdevil:1449
msgid "A simple music browser for MPD"
msgstr ""
#: mpdevil:1529
msgid "Open with…"
msgstr ""
#: mpdevil:1544 mpdevil:1843
msgid "Append"
msgstr ""
#: mpdevil:1545 mpdevil:1844
msgid "Play"
msgstr ""
#: mpdevil:1546 mpdevil:1845
msgid "Enqueue"
msgstr ""
#: mpdevil:1564
msgid "MPD-Tag"
msgstr ""
#: mpdevil:1567
msgid "Value"
msgstr ""
#: mpdevil:1718
msgid "_Append"
msgstr ""
#: mpdevil:1718 mpdevil:1843
msgid "Add all titles to playlist"
msgstr ""
#: mpdevil:1719
msgid "_Play"
msgstr ""
#: mpdevil:1719 mpdevil:1844
msgid "Directly play all titles"
msgstr ""
#: mpdevil:1720
msgid "_Enqueue"
msgstr ""
#: mpdevil:1720 mpdevil:1845
msgid ""
"Append all titles after the currently playing track and clear the playlist "
"from all other songs"
msgstr ""
#: mpdevil:1981
msgid "all tags"
msgstr ""
#: mpdevil:2005
#, python-brace-format
msgid "{hits} hit"
msgid_plural "{hits} hits"
msgstr[0] ""
msgstr[1] ""
#: mpdevil:2074
msgid "all genres"
msgstr ""
#: mpdevil:2169
msgid "all artists"
msgstr ""
#: mpdevil:2400 mpdevil:3009 mpdevil:3284 mpdevil:3285
#, python-brace-format
msgid "{titles} title"
msgid_plural "{titles} titles"
msgstr[0] ""
msgstr[1] ""
#: mpdevil:2402
#, python-brace-format
msgid "on {discs} discs"
msgstr ""
#: mpdevil:2551 mpdevil:3723
msgid "Back to current album"
msgstr ""
#: mpdevil:2553
msgid "Search"
msgstr ""
#: mpdevil:2715
msgid "searching..."
msgstr ""
#: mpdevil:2720
msgid "connection error"
msgstr ""
#: mpdevil:2722
msgid "lyrics not found"
msgstr ""
#: mpdevil:2765
#: src/mpdevil.py:538
#, python-brace-format
msgid "{channels} channel"
msgid_plural "{channels} channels"
msgstr[0] ""
msgstr[1] ""
#: mpdevil:2881
msgid "Scroll to current song"
#: src/mpdevil.py:1008
msgid "(restart required)"
msgstr ""
#: mpdevil:2889 mpdevil:3739
msgid "Clear playlist"
#: src/mpdevil.py:1054
msgid "Use Client-side decoration"
msgstr ""
#: mpdevil:3177
msgid "Show lyrics"
#: src/mpdevil.py:1055
msgid "Show stop button"
msgstr ""
#: mpdevil:3486
msgid "Random mode"
#: src/mpdevil.py:1056
msgid "Show audio format"
msgstr ""
#: mpdevil:3488
msgid "Repeat mode"
#: src/mpdevil.py:1057
msgid "Show lyrics button"
msgstr ""
#: mpdevil:3490
msgid "Single mode"
#: src/mpdevil.py:1058
msgid "Place playlist at the side"
msgstr ""
#: mpdevil:3492
msgid "Consume mode"
#: src/mpdevil.py:1064
msgid "Main cover size"
msgstr ""
#: mpdevil:3701
msgid "Window"
#: src/mpdevil.py:1065
msgid "Album view cover size"
msgstr ""
#: mpdevil:3702
msgid "Playback"
#: src/mpdevil.py:1066
msgid "Action bar icon size"
msgstr ""
#: mpdevil:3703
msgid "Search, Album Dialog, Album List and Artist List"
#: src/mpdevil.py:1076
msgid "Support “MPRIS”"
msgstr ""
#: mpdevil:3713
msgid "Open online help"
#: src/mpdevil.py:1077
msgid "Sort albums by year"
msgstr ""
#: mpdevil:3714
msgid "Open shortcuts window"
#: src/mpdevil.py:1078
msgid "Send notification on title change"
msgstr ""
#: mpdevil:3715
msgid "Open menu"
#: src/mpdevil.py:1079
msgid "Play selected albums and titles immediately"
msgstr ""
#: mpdevil:3716 mpdevil:3859
msgid "Update database"
#: src/mpdevil.py:1080
msgid "Rewind via previous button"
msgstr ""
#: mpdevil:3717 mpdevil:3857
msgid "Quit"
#: src/mpdevil.py:1081
msgid "Stop playback on quit"
msgstr ""
#: mpdevil:3718
msgid "Cycle through profiles"
#: src/mpdevil.py:1108
msgid "Choose directory"
msgstr ""
#: mpdevil:3719
msgid "Cycle through profiles in reversed order"
#: src/mpdevil.py:1121
msgid "Connect via Unix domain socket"
msgstr ""
#: mpdevil:3720
msgid "Toggle mini player"
#: src/mpdevil.py:1140
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:3721
msgid "Toggle lyrics"
#: src/mpdevil.py:1145
msgid "Socket:"
msgstr ""
#: mpdevil:3722
msgid "Toggle search"
#: src/mpdevil.py:1147
msgid "Host:"
msgstr ""
#: mpdevil:3724
msgid "Play/Pause"
#: src/mpdevil.py:1149
msgid "Password:"
msgstr ""
#: mpdevil:3725
msgid "Stop"
#: src/mpdevil.py:1150
msgid "Music lib:"
msgstr ""
#: mpdevil:3726
msgid "Next title"
#: src/mpdevil.py:1152
msgid "Cover regex:"
msgstr ""
#: mpdevil:3727
msgid "Previous title"
#: src/mpdevil.py:1176 src/mpdevil.py:3586
msgid "Profile 1"
msgstr ""
#: mpdevil:3728
msgid "Seek forward"
#: src/mpdevil.py:1177 src/mpdevil.py:3586
msgid "Profile 2"
msgstr ""
#: mpdevil:3729
msgid "Seek backward"
#: src/mpdevil.py:1178 src/mpdevil.py:3586
msgid "Profile 3"
msgstr ""
#: mpdevil:3730
msgid "Toggle repeat mode"
msgstr ""
#: mpdevil:3731
msgid "Toggle random mode"
msgstr ""
#: mpdevil:3732
msgid "Toggle single mode"
msgstr ""
#: mpdevil:3733
msgid "Toggle consume mode"
msgstr ""
#: mpdevil:3734
msgid "Enqueue selected item"
msgstr ""
#: mpdevil:3735
msgid "Append selected item"
msgstr ""
#: mpdevil:3735 mpdevil:3738
msgid "Middle-click"
msgstr ""
#: mpdevil:3736
msgid "Play selected item immediately"
msgstr ""
#: mpdevil:3736
msgid "Double-click"
msgstr ""
#: mpdevil:3737 mpdevil:3740
msgid "Show additional information"
msgstr ""
#: mpdevil:3737 mpdevil:3740
msgid "Right-click"
msgstr ""
#: mpdevil:3738
msgid "Remove selected song"
msgstr ""
#: mpdevil:3762
#. connect button
#: src/mpdevil.py:1182 src/mpdevil.py:3469
msgid "Connect"
msgstr ""
#: mpdevil:3780
#: src/mpdevil.py:1205 src/mpdevil.py:1207 src/mpdevil.py:3470
#: src/mpdevil.py:3578
msgid "Preferences"
msgstr ""
#: src/mpdevil.py:1220 src/mpdevil.py:1230
msgid "View"
msgstr ""
#: src/mpdevil.py:1221 src/mpdevil.py:1231
msgid "Behavior"
msgstr ""
#: src/mpdevil.py:1222 src/mpdevil.py:1232
msgid "Profiles"
msgstr ""
#: src/mpdevil.py:1249
msgid "Stats"
msgstr ""
#: src/mpdevil.py:1258
msgid "<b>Protocol:</b>"
msgstr ""
#: src/mpdevil.py:1259
msgid "<b>Uptime:</b>"
msgstr ""
#: src/mpdevil.py:1260
msgid "<b>Playtime:</b>"
msgstr ""
#: src/mpdevil.py:1261
msgid "<b>Artists:</b>"
msgstr ""
#: src/mpdevil.py:1262
msgid "<b>Albums:</b>"
msgstr ""
#: src/mpdevil.py:1263
msgid "<b>Songs:</b>"
msgstr ""
#: src/mpdevil.py:1264
msgid "<b>Total Playtime:</b>"
msgstr ""
#: src/mpdevil.py:1265
msgid "<b>Database Update:</b>"
msgstr ""
#. open-with button
#: src/mpdevil.py:1313
msgid "Open with…"
msgstr ""
#: src/mpdevil.py:1323 src/mpdevil.py:1569 src/mpdevil.py:2289
msgid "Append"
msgstr ""
#: src/mpdevil.py:1324 src/mpdevil.py:1570 src/mpdevil.py:2290
msgid "Play"
msgstr ""
#: src/mpdevil.py:1325 src/mpdevil.py:1571 src/mpdevil.py:2291
msgid "Enqueue"
msgstr ""
#: src/mpdevil.py:1344
msgid "MPD-Tag"
msgstr ""
#: src/mpdevil.py:1347
msgid "Value"
msgstr ""
#: src/mpdevil.py:1424 src/mpdevil.py:2498
msgid "No"
msgstr ""
#. the order of weight_set and weight seems to be important here
#: src/mpdevil.py:1425 src/mpdevil.py:2500
msgid "Title"
msgstr ""
#: src/mpdevil.py:1426 src/mpdevil.py:2501
msgid "Length"
msgstr ""
#: src/mpdevil.py:1439
msgid "Add all titles to playlist"
msgstr ""
#: src/mpdevil.py:1440
msgid "Directly play all titles"
msgstr ""
#: src/mpdevil.py:1441
msgid ""
"Append all titles after the currently playing track and clear the playlist "
"from all other songs"
msgstr ""
#: src/mpdevil.py:1538 src/mpdevil.py:2379 src/mpdevil.py:2662
#, python-brace-format
msgid "Connection to “{profile}” ({host}:{port}) failed"
msgid "{number} song ({duration})"
msgid_plural "{number} songs ({duration})"
msgstr[0] ""
msgstr[1] ""
#: src/mpdevil.py:1637
#, python-brace-format
msgid "{hits} hit"
msgid_plural "{hits} hits"
msgstr[0] ""
msgstr[1] ""
#: src/mpdevil.py:1722
msgid "all tags"
msgstr ""
#: mpdevil:3854
msgid "Keyboard shortcuts"
#: src/mpdevil.py:1854
msgid "all genres"
msgstr ""
#: mpdevil:3855
#: src/mpdevil.py:1880
msgid "all artists"
msgstr ""
#: src/mpdevil.py:2299
msgid "Save"
msgstr ""
#: src/mpdevil.py:2303
msgid "Delete"
msgstr ""
#: src/mpdevil.py:2427 data/ShortcutsWindow.ui:240
msgid "Clear playlist"
msgstr ""
#: src/mpdevil.py:2693
msgid "Scroll to current song"
msgstr ""
#: src/mpdevil.py:2704
msgid "Playlists"
msgstr ""
#: src/mpdevil.py:2800
msgid "searching…"
msgstr ""
#: src/mpdevil.py:2805
msgid "connection error"
msgstr ""
#: src/mpdevil.py:2807
msgid "lyrics not found"
msgstr ""
#: src/mpdevil.py:2913
msgid "Lyrics"
msgstr ""
#: src/mpdevil.py:3004 src/mpdevil.py:3005
#, python-brace-format
msgid "{number} song"
msgid_plural "{number} songs"
msgstr[0] ""
msgstr[1] ""
#: src/mpdevil.py:3214
msgid "Repeat mode"
msgstr ""
#: src/mpdevil.py:3215
msgid "Random mode"
msgstr ""
#: src/mpdevil.py:3216
msgid "Single mode"
msgstr ""
#: src/mpdevil.py:3217
msgid "Consume mode"
msgstr ""
#: src/mpdevil.py:3439
msgid "Updating Database…"
msgstr ""
#: src/mpdevil.py:3491
#, python-brace-format
msgid "Connection to “{socket}” failed"
msgstr ""
#: src/mpdevil.py:3493
#, python-brace-format
msgid "Connection to “{host}:{port}” failed"
msgstr ""
#: src/mpdevil.py:3563
msgid "Search"
msgstr ""
#: src/mpdevil.py:3566 data/ShortcutsWindow.ui:99
msgid "Back to current album"
msgstr ""
#: src/mpdevil.py:3579
msgid "Keyboard Shortcuts"
msgstr ""
#: src/mpdevil.py:3580
msgid "Help"
msgstr ""
#: mpdevil:3856
msgid "About"
#: src/mpdevil.py:3581
msgid "About mpdevil"
msgstr ""
#: mpdevil:3860
msgid "Server stats"
#: src/mpdevil.py:3583
msgid "Update Database"
msgstr ""
#: mpdevil:3865
msgid "Mini player"
#: src/mpdevil.py:3584
msgid "Server Stats"
msgstr ""
#: mpdevil:3870
#: src/mpdevil.py:3591
msgid "Mini Player"
msgstr ""
#: src/mpdevil.py:3592
msgid "Genre Filter"
msgstr ""
#: src/mpdevil.py:3602
msgid "Menu"
msgstr ""
#: mpdevil:3920 mpdevil:3922
#: src/mpdevil.py:3655 src/mpdevil.py:3657
msgid "connecting…"
msgstr ""
#: src/mpdevil.py:3811
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:228
msgid "Playlist"
msgstr ""
#: data/ShortcutsWindow.ui:232
msgid "Remove selected song"
msgstr ""

807
po/nl.po
View File

@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-04-20 17:46+0200\n"
"PO-Revision-Date: 2021-04-20 17:47+0200\n"
"POT-Creation-Date: 2022-02-23 18:31+0100\n"
"PO-Revision-Date: 2022-02-23 18:35+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: nl\n"
@@ -18,90 +18,89 @@ msgstr ""
"X-Generator: Poedit 2.3.1\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: mpdevil:442
#: src/mpdevil.py:501
#, python-brace-format
msgid "{days} day"
msgid_plural "{days} days"
msgstr[0] "{days} dag"
msgstr[1] "{days} dagen"
#: mpdevil:477
msgid "Unknown Title"
msgstr "Onbekende titel"
#: src/mpdevil.py:538
#, python-brace-format
msgid "{channels} channel"
msgid_plural "{channels} channels"
msgstr[0] "{channels} kanaal"
msgstr[1] "{channels} kanalen"
#: mpdevil:938
msgid "Main cover size:"
msgstr "Grootte albumhoes:"
#: mpdevil:939
msgid "Album view cover size:"
msgstr "Hoesgrootte in albumlijst:"
#: mpdevil:940
msgid "Action bar icon size:"
msgstr "Grootte iconen werkbalk:"
#: mpdevil:941
msgid "Secondary icon size:"
msgstr "Grootte overige iconen:"
#: mpdevil:954
msgid "Use Client-side decoration"
msgstr "Gebruik vensterdecoratie van mpdevil"
#: mpdevil:955
msgid "Show stop button"
msgstr "Toon stopknop"
#: mpdevil:956
msgid "Show lyrics button"
msgstr "Toon songtekstknop"
#: mpdevil:957
msgid "Place playlist at the side"
msgstr "Plaats afspeellijst aan de zijkant"
#: mpdevil:958
msgid "Use “Album Artist” tag"
msgstr "Gebruik tag \"Album Artist\""
#: mpdevil:959
msgid "Send notification on title change"
msgstr "Verstuur een melding bij titelwisseling"
#: mpdevil:960
msgid "Stop playback on quit"
msgstr "Stop afspelen bij afsluiten"
#: mpdevil:961
msgid "Play selected albums and titles immediately"
msgstr "Geselecteerde albums en titels direct afspelen"
#: mpdevil:962
msgid "Sort albums by year"
msgstr "Sorteer albums op jaar"
#: mpdevil:963
msgid "Support “MPRIS”"
msgstr "Ondersteun \"MPRIS\""
#: mpdevil:975
msgid "<b>View</b>"
msgstr "<b>Beeld</b>"
#: mpdevil:976
msgid "<b>Behavior</b>"
msgstr "<b>Gedrag</b>"
#: mpdevil:996 mpdevil:1006
#: src/mpdevil.py:1008
msgid "(restart required)"
msgstr "(herstart vereist)"
#: mpdevil:1046
msgid "_Connect"
msgstr "_Verbinden"
#: src/mpdevil.py:1054
msgid "Use Client-side decoration"
msgstr "Gebruik vensterdecoratie van mpdevil"
#: mpdevil:1062
#: src/mpdevil.py:1055
msgid "Show stop button"
msgstr "Toon stopknop"
#: src/mpdevil.py:1056
msgid "Show audio format"
msgstr "Toon audioformaat"
#: src/mpdevil.py:1057
msgid "Show lyrics button"
msgstr "Toon songtekstknop"
#: src/mpdevil.py:1058
msgid "Place playlist at the side"
msgstr "Plaats afspeellijst aan de zijkant"
#: src/mpdevil.py:1064
msgid "Main cover size"
msgstr "Grootte albumhoes"
#: src/mpdevil.py:1065
msgid "Album view cover size"
msgstr "Hoesgrootte in albumlijst"
#: src/mpdevil.py:1066
msgid "Action bar icon size"
msgstr "Grootte iconen werkbalk"
#: src/mpdevil.py:1076
msgid "Support “MPRIS”"
msgstr "Ondersteun „MPRIS”"
#: src/mpdevil.py:1077
msgid "Sort albums by year"
msgstr "Sorteer albums op jaar"
#: src/mpdevil.py:1078
msgid "Send notification on title change"
msgstr "Verstuur een melding bij titelwisseling"
#: src/mpdevil.py:1079
msgid "Play selected albums and titles immediately"
msgstr "Geselecteerde albums en titels direct afspelen"
#: src/mpdevil.py:1080
msgid "Rewind via previous button"
msgstr "Terugspoelen met „vorige” knop"
#: src/mpdevil.py:1081
msgid "Stop playback on quit"
msgstr "Stop afspelen bij afsluiten"
#: src/mpdevil.py:1108
msgid "Choose directory"
msgstr "Kies een map"
#: src/mpdevil.py:1121
msgid "Connect via Unix domain socket"
msgstr "Verbinden via Unix domain socket"
#: src/mpdevil.py:1140
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 "
@@ -111,171 +110,143 @@ msgstr ""
"met deze regex wordt getoond. %AlbumArtist% en %Album% worden vervangen door "
"de bijbehorende tags van het muziekbestand."
#: mpdevil:1067
msgid "Profile:"
msgstr "Profiel:"
#: src/mpdevil.py:1145
msgid "Socket:"
msgstr "Socket:"
#: mpdevil:1068
msgid "Name:"
msgstr "Naam:"
#: mpdevil:1069
#: src/mpdevil.py:1147
msgid "Host:"
msgstr "Host:"
#: mpdevil:1070
#: src/mpdevil.py:1149
msgid "Password:"
msgstr "Wachtwoord:"
#: mpdevil:1071
#: src/mpdevil.py:1150
msgid "Music lib:"
msgstr "Muziekmap:"
#: mpdevil:1072
#: src/mpdevil.py:1152
msgid "Cover regex:"
msgstr "Regex albumhoes:"
#: mpdevil:1207
msgid "Choose directory"
msgstr "Kies een map"
#: src/mpdevil.py:1176 src/mpdevil.py:3586
msgid "Profile 1"
msgstr "Profiel 1"
#: mpdevil:1236
msgid "Choose the order of information to appear in the playlist:"
msgstr "Kies de volgorde van de informatie getoond in de afspeellijst:"
#: src/mpdevil.py:1177 src/mpdevil.py:3586
msgid "Profile 2"
msgstr "Profiel 2"
#: mpdevil:1253 mpdevil:1783 mpdevil:1910 mpdevil:2907
msgid "No"
msgstr "Nr"
#: src/mpdevil.py:1178 src/mpdevil.py:3586
msgid "Profile 3"
msgstr "Profiel 3"
#: mpdevil:1253 mpdevil:2908
msgid "Disc"
msgstr "Disc"
#. connect button
#: src/mpdevil.py:1182 src/mpdevil.py:3469
msgid "Connect"
msgstr "Verbinden"
#: mpdevil:1253 mpdevil:1786 mpdevil:1915 mpdevil:2909
msgid "Title"
msgstr "Titel"
#: src/mpdevil.py:1205 src/mpdevil.py:1207 src/mpdevil.py:3470
#: src/mpdevil.py:3578
msgid "Preferences"
msgstr "Voorkeuren"
#: mpdevil:1253 mpdevil:1921 mpdevil:2910
msgid "Artist"
msgstr "Artiest"
#: src/mpdevil.py:1220 src/mpdevil.py:1230
msgid "View"
msgstr "Beeld"
#: mpdevil:1253 mpdevil:1927 mpdevil:2911
msgid "Album"
msgstr "Album"
#: src/mpdevil.py:1221 src/mpdevil.py:1231
msgid "Behavior"
msgstr "Gedrag"
#: mpdevil:1253 mpdevil:1789 mpdevil:1933 mpdevil:2912
msgid "Length"
msgstr "Lengte"
#: mpdevil:1253 mpdevil:2913
msgid "Year"
msgstr "Jaar"
#: mpdevil:1253 mpdevil:2914
msgid "Genre"
msgstr "Genre"
#: mpdevil:1369 mpdevil:1371 mpdevil:3853
msgid "Settings"
msgstr "Instellingen"
#: mpdevil:1384 mpdevil:1393 mpdevil:3700
msgid "General"
msgstr "Algemeen"
#: mpdevil:1385 mpdevil:1394 mpdevil:3864
#: src/mpdevil.py:1222 src/mpdevil.py:1232
msgid "Profiles"
msgstr "Profielen"
#: mpdevil:1386 mpdevil:1395 mpdevil:3704
msgid "Playlist"
msgstr "Afspeellijst"
#: mpdevil:1408
#: src/mpdevil.py:1249
msgid "Stats"
msgstr "Statistieken"
#: mpdevil:1418
#: src/mpdevil.py:1258
msgid "<b>Protocol:</b>"
msgstr "<b>Protocol:</b>"
#: mpdevil:1419
#: src/mpdevil.py:1259
msgid "<b>Uptime:</b>"
msgstr "<b>Uptime:</b>"
#: mpdevil:1420
#: src/mpdevil.py:1260
msgid "<b>Playtime:</b>"
msgstr "<b>Afspeeltijd:</b>"
#: mpdevil:1421
#: src/mpdevil.py:1261
msgid "<b>Artists:</b>"
msgstr "<b>Artiesten:</b>"
#: mpdevil:1422
#: src/mpdevil.py:1262
msgid "<b>Albums:</b>"
msgstr "<b>Albums:</b>"
#: mpdevil:1423
#: src/mpdevil.py:1263
msgid "<b>Songs:</b>"
msgstr "<b>Titels:</b>"
#: mpdevil:1424
#: src/mpdevil.py:1264
msgid "<b>Total Playtime:</b>"
msgstr "<b>Totale speelduur:</b>"
#: mpdevil:1425
#: src/mpdevil.py:1265
msgid "<b>Database Update:</b>"
msgstr "<b>Database bijgewerkt:</b>"
#: mpdevil:1449
msgid "A simple music browser for MPD"
msgstr "Een simpele muziekspeler voor MPD"
#: mpdevil:1529
#. open-with button
#: src/mpdevil.py:1313
msgid "Open with…"
msgstr "Openen met…"
#: mpdevil:1544 mpdevil:1843
#: src/mpdevil.py:1323 src/mpdevil.py:1569 src/mpdevil.py:2289
msgid "Append"
msgstr "Toevoegen"
#: mpdevil:1545 mpdevil:1844
#: src/mpdevil.py:1324 src/mpdevil.py:1570 src/mpdevil.py:2290
msgid "Play"
msgstr "Afspelen"
#: mpdevil:1546 mpdevil:1845
#: src/mpdevil.py:1325 src/mpdevil.py:1571 src/mpdevil.py:2291
msgid "Enqueue"
msgstr "In wachtrij plaatsen"
#: mpdevil:1564
#: src/mpdevil.py:1344
msgid "MPD-Tag"
msgstr "MPD-Tag"
#: mpdevil:1567
#: src/mpdevil.py:1347
msgid "Value"
msgstr "Waarde"
#: mpdevil:1718
msgid "_Append"
msgstr "_Toevoegen"
#: src/mpdevil.py:1424 src/mpdevil.py:2498
msgid "No"
msgstr "Nr"
#: mpdevil:1718 mpdevil:1843
#. the order of weight_set and weight seems to be important here
#: src/mpdevil.py:1425 src/mpdevil.py:2500
msgid "Title"
msgstr "Titel"
#: src/mpdevil.py:1426 src/mpdevil.py:2501
msgid "Length"
msgstr "Lengte"
#: src/mpdevil.py:1439
msgid "Add all titles to playlist"
msgstr "Voeg alle titels toe aan de afspeellijst"
#: mpdevil:1719
msgid "_Play"
msgstr "_Afspelen"
#: mpdevil:1719 mpdevil:1844
#: src/mpdevil.py:1440
msgid "Directly play all titles"
msgstr "Alle titels direct afspelen"
#: mpdevil:1720
msgid "_Enqueue"
msgstr "_In wachtrij plaatsen"
#: mpdevil:1720 mpdevil:1845
#: src/mpdevil.py:1441
msgid ""
"Append all titles after the currently playing track and clear the playlist "
"from all other songs"
@@ -283,297 +254,337 @@ msgstr ""
"Alle titels toevoegen na de nu spelende titel en alle overige titels uit de "
"afspeellijst verwijderen"
#: mpdevil:1981
msgid "all tags"
msgstr "alle tags"
#: src/mpdevil.py:1538 src/mpdevil.py:2379 src/mpdevil.py:2662
#, python-brace-format
msgid "{number} song ({duration})"
msgid_plural "{number} songs ({duration})"
msgstr[0] "{number} nummer ({duration})"
msgstr[1] "{number} nummers ({duration})"
#: mpdevil:2005
#: src/mpdevil.py:1637
#, python-brace-format
msgid "{hits} hit"
msgid_plural "{hits} hits"
msgstr[0] "{hits} hit"
msgstr[1] "{hits} treffers"
#: mpdevil:2074
#: src/mpdevil.py:1722
msgid "all tags"
msgstr "alle tags"
#: src/mpdevil.py:1854
msgid "all genres"
msgstr "alle genres"
#: mpdevil:2169
#: src/mpdevil.py:1880
msgid "all artists"
msgstr "alle artiesten"
#: mpdevil:2400 mpdevil:3009 mpdevil:3284 mpdevil:3285
#, python-brace-format
msgid "{titles} title"
msgid_plural "{titles} titles"
msgstr[0] "{titles} titel"
msgstr[1] "{titles} titels"
#: src/mpdevil.py:2299
msgid "Save"
msgstr "Opslaan"
#: mpdevil:2402
#, python-brace-format
msgid "on {discs} discs"
msgstr "op {discs} discs"
#: src/mpdevil.py:2303
msgid "Delete"
msgstr "Verwijderen"
#: mpdevil:2551 mpdevil:3723
msgid "Back to current album"
msgstr "Terug naar huidige album"
#: mpdevil:2553
msgid "Search"
msgstr "Zoeken"
#: mpdevil:2715
msgid "searching..."
msgstr "bezig met zoeken..."
#: mpdevil:2720
msgid "connection error"
msgstr "verbindingsfout"
#: mpdevil:2722
msgid "lyrics not found"
msgstr "geen songtekst gevonden"
#: mpdevil:2765
#, python-brace-format
msgid "{channels} channel"
msgid_plural "{channels} channels"
msgstr[0] "{channels} kanaal"
msgstr[1] "{channels} kanalen"
#: mpdevil:2881
msgid "Scroll to current song"
msgstr "Naar de huidige titel scrollen"
#: mpdevil:2889 mpdevil:3739
#: src/mpdevil.py:2427 data/ShortcutsWindow.ui:240
msgid "Clear playlist"
msgstr "Afspeellijst legen"
#: mpdevil:3177
msgid "Show lyrics"
msgstr "Toon songtekst"
#: src/mpdevil.py:2693
msgid "Scroll to current song"
msgstr "Naar de huidige titel scrollen"
#: mpdevil:3486
msgid "Random mode"
msgstr "Willekeurige modus"
#: src/mpdevil.py:2704
msgid "Playlists"
msgstr "Afspeellijsten"
#: mpdevil:3488
#: src/mpdevil.py:2800
msgid "searching…"
msgstr "bezig met zoeken…"
#: src/mpdevil.py:2805
msgid "connection error"
msgstr "verbindingsfout"
#: src/mpdevil.py:2807
msgid "lyrics not found"
msgstr "geen songtekst gevonden"
#: src/mpdevil.py:2913
msgid "Lyrics"
msgstr "Songtekst"
#: src/mpdevil.py:3004 src/mpdevil.py:3005
#, python-brace-format
msgid "{number} song"
msgid_plural "{number} songs"
msgstr[0] "{number} nummer"
msgstr[1] "{number} nummers"
#: src/mpdevil.py:3214
msgid "Repeat mode"
msgstr "Herhaalmodus"
#: mpdevil:3490
#: src/mpdevil.py:3215
msgid "Random mode"
msgstr "Willekeurige modus"
#: src/mpdevil.py:3216
msgid "Single mode"
msgstr "Enkele modus"
#: mpdevil:3492
#: src/mpdevil.py:3217
msgid "Consume mode"
msgstr "Verbruiksmodus"
#: mpdevil:3701
msgid "Window"
msgstr "Venster"
#: src/mpdevil.py:3439
msgid "Updating Database…"
msgstr "Database bijwerken…"
#: mpdevil:3702
msgid "Playback"
msgstr "Afspelen"
#: mpdevil:3703
msgid "Search, Album Dialog, Album List and Artist List"
msgstr "Zoeken, Albumdialoog, Albumlijst en Artiestenlijst"
#: mpdevil:3713
msgid "Open online help"
msgstr "Online hulp openen"
#: mpdevil:3714
msgid "Open shortcuts window"
msgstr "Venster met sneltoetsen openen"
#: mpdevil:3715
msgid "Open menu"
msgstr "Menu openen"
#: mpdevil:3716 mpdevil:3859
msgid "Update database"
msgstr "Database bijwerken"
#: mpdevil:3717 mpdevil:3857
msgid "Quit"
msgstr "Stoppen"
#: mpdevil:3718
msgid "Cycle through profiles"
msgstr "Profielen doorlopen"
#: mpdevil:3719
msgid "Cycle through profiles in reversed order"
msgstr "Profielen doorlopen in omgekeerde volgorde"
#: mpdevil:3720
msgid "Toggle mini player"
msgstr "Omschakelen naar minispeler"
#: mpdevil:3721
msgid "Toggle lyrics"
msgstr "Omschakelen naar songtekst"
#: mpdevil:3722
msgid "Toggle search"
msgstr "Omschakelen naar zoeken"
#: mpdevil:3724
msgid "Play/Pause"
msgstr "Afspelen/Pauzeren"
#: mpdevil:3725
msgid "Stop"
msgstr "Stoppen"
#: mpdevil:3726
msgid "Next title"
msgstr "Volgende titel"
#: mpdevil:3727
msgid "Previous title"
msgstr "Vorige titel"
#: mpdevil:3728
msgid "Seek forward"
msgstr "Vooruit spoelen"
#: mpdevil:3729
msgid "Seek backward"
msgstr "Achteruit spoelen"
#: mpdevil:3730
msgid "Toggle repeat mode"
msgstr "Omschakelen naar herhaalmodus"
#: mpdevil:3731
msgid "Toggle random mode"
msgstr "Omschakelen naar willekeurige modus"
#: mpdevil:3732
msgid "Toggle single mode"
msgstr "Omschakelen naar enkele modus"
#: mpdevil:3733
msgid "Toggle consume mode"
msgstr "Omschakelen naar verbruiksmodus"
#: mpdevil:3734
msgid "Enqueue selected item"
msgstr "Geselecteerde item in wachtrij plaatsen"
#: mpdevil:3735
msgid "Append selected item"
msgstr "Geselecteerde item toevoegen"
#: mpdevil:3735 mpdevil:3738
msgid "Middle-click"
msgstr "Middelklik"
#: mpdevil:3736
msgid "Play selected item immediately"
msgstr "Geselecteerde item direct afspelen"
#: mpdevil:3736
msgid "Double-click"
msgstr "Dubbelklik"
#: mpdevil:3737 mpdevil:3740
msgid "Show additional information"
msgstr "Toon extra informatie"
#: mpdevil:3737 mpdevil:3740
msgid "Right-click"
msgstr "Rechtsklik"
#: mpdevil:3738
msgid "Remove selected song"
msgstr "Geselecteerde titel verwijderen"
#: mpdevil:3762
msgid "Connect"
msgstr "Verbinden"
#: mpdevil:3780
#: src/mpdevil.py:3491
#, 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:3854
msgid "Keyboard shortcuts"
#: src/mpdevil.py:3493
#, python-brace-format
msgid "Connection to “{host}:{port}” failed"
msgstr "Verbinding met „{host}:{port}” mislukt"
#: src/mpdevil.py:3563
msgid "Search"
msgstr "Zoeken"
#: src/mpdevil.py:3566 data/ShortcutsWindow.ui:99
msgid "Back to current album"
msgstr "Terug naar huidige album"
#: src/mpdevil.py:3579
msgid "Keyboard Shortcuts"
msgstr "Sneltoetsen"
#: mpdevil:3855
#: src/mpdevil.py:3580
msgid "Help"
msgstr "Hulp"
#: mpdevil:3856
msgid "About"
msgstr "Over"
#: src/mpdevil.py:3581
msgid "About mpdevil"
msgstr "Over mpdevil"
#: mpdevil:3860
msgid "Server stats"
#: src/mpdevil.py:3583
msgid "Update Database"
msgstr "Database bijwerken"
#: src/mpdevil.py:3584
msgid "Server Stats"
msgstr "Serverstatistieken"
#: mpdevil:3865
msgid "Mini player"
#: src/mpdevil.py:3591
msgid "Mini Player"
msgstr "Minispeler"
#: mpdevil:3870
#: src/mpdevil.py:3592
msgid "Genre Filter"
msgstr "Genrefilter"
#: src/mpdevil.py:3602
msgid "Menu"
msgstr "Menu"
#: mpdevil:3920 mpdevil:3922
#: src/mpdevil.py:3655 src/mpdevil.py:3657
msgid "connecting…"
msgstr "verbinding maken…"
#~ msgid "Show initials in artist view"
#~ msgstr "Toon beginletters in artiestenlijst"
#: src/mpdevil.py:3811
msgid "Debug mode"
msgstr "Debugmodus"
#~ msgid "Play selected item (next)"
#~ msgstr "Geselecteerde item afspelen (volgende)"
#: data/org.mpdevil.mpdevil.desktop.in:3
msgid "mpdevil"
msgstr "mpdevil"
#~ msgid "Left-click"
#~ msgstr "Linksklik"
#: data/org.mpdevil.mpdevil.desktop.in:4
msgid "MPD Client"
msgstr "MPD Client"
#~ msgid "Sort albums in chronological order"
#~ msgstr "Sorteer albums in chronologische volgorde"
#: data/org.mpdevil.mpdevil.desktop.in:5 data/AboutDialog.ui:7
msgid "A simple music browser for MPD"
msgstr "Een simpele muziekspeler voor MPD"
#~ msgid "name"
#~ msgstr "naam"
#: data/ShortcutsWindow.ui:12
msgid "General"
msgstr "Algemeen"
#~ msgid "year"
#~ msgstr "jaar"
#: data/ShortcutsWindow.ui:16
msgid "Open online help"
msgstr "Online hulp openen"
#~ msgid "Position of playlist:"
#~ msgstr "Positie afspeellijst:"
#: data/ShortcutsWindow.ui:23
msgid "Open shortcuts window"
msgstr "Venster met sneltoetsen openen"
#~ msgid "bottom"
#~ msgstr "onder"
#: data/ShortcutsWindow.ui:30
msgid "Open menu"
msgstr "Menu openen"
#~ msgid "right"
#~ msgstr "rechts"
#: data/ShortcutsWindow.ui:37
msgid "Update database"
msgstr "Database bijwerken"
#~ msgid "Show tooltips in album view"
#~ msgstr "Toon tooltip in albumlijst"
#: data/ShortcutsWindow.ui:44
msgid "Quit"
msgstr "Stoppen"
#~ msgid "Save window layout"
#~ msgstr "Vensterindeling opslaan"
#: data/ShortcutsWindow.ui:53
msgid "Window"
msgstr "Venster"
#, 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:57
msgid "Cycle through profiles"
msgstr "Profielen doorlopen"
#, python-brace-format
#~ msgid "{titles} titles on {discs} discs ({length})"
#~ msgstr "{titles} titels op {discs} discs ({length})"
#: data/ShortcutsWindow.ui:64
msgid "Cycle through profiles in reversed order"
msgstr "Profielen doorlopen in omgekeerde volgorde"
#~ msgid "Close"
#~ msgstr "Afsluiten"
#: data/ShortcutsWindow.ui:71
msgid "Toggle mini player"
msgstr "Omschakelen naar minispeler"
#: data/ShortcutsWindow.ui:78
msgid "Toggle genre filter"
msgstr "Genrefilter aan/uitzetten"
#: data/ShortcutsWindow.ui:85
msgid "Toggle lyrics"
msgstr "Omschakelen naar songtekst"
#: data/ShortcutsWindow.ui:92
msgid "Toggle search"
msgstr "Omschakelen naar zoeken"
#: 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:228
msgid "Playlist"
msgstr "Afspeellijst"
#: data/ShortcutsWindow.ui:232
msgid "Remove selected song"
msgstr "Geselecteerde titel verwijderen"
#~ msgid "Choose the order of information to appear in the playlist:"
#~ msgstr "Kies de volgorde van de informatie getoond in de afspeellijst:"
#~ msgid "Disc"
#~ msgstr "Disc"
#~ msgid "Artist"
#~ msgstr "Artiest"
#~ msgid "Album"
#~ msgstr "Album"
#~ msgid "Year"
#~ msgstr "Jaar"
#~ msgid "Genre"
#~ msgstr "Genre"
#~ msgid "_Append"
#~ msgstr "_Toevoegen"
#~ msgid "_Play"
#~ msgstr "_Afspelen"
#~ msgid "_Enqueue"
#~ msgstr "_In wachtrij plaatsen"
#~ msgid "Use “Album Artist” tag"
#~ msgstr "Gebruik tag „Album Artist”"
#~ msgid "Filter by genre"
#~ msgstr "Filter op genre"
#~ msgid "Show lyrics"
#~ msgstr "Toon songtekst"

4
requirements.txt Normal file
View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 944 KiB

View File

@@ -1,29 +0,0 @@
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import DistUtilsExtra.auto
DistUtilsExtra.auto.setup(
name='mpdevil',
version='1.2.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'))
)

3877
src/mpdevil.py Executable file

File diff suppressed because it is too large Load Diff