Compare commits
35 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
36c25b54c4 | ||
![]() |
d2bb684253 | ||
![]() |
8d01ba7501 | ||
![]() |
780469e2c9 | ||
![]() |
656767e249 | ||
![]() |
60113344e0 | ||
![]() |
170c7e6db8 | ||
![]() |
8ad3ffe826 | ||
![]() |
ae0ade98a5 | ||
![]() |
0269fa87f0 | ||
![]() |
170165e0fd | ||
![]() |
612493ba90 | ||
![]() |
b6be0f0430 | ||
![]() |
7ae0f1e216 | ||
![]() |
5953d73389 | ||
![]() |
604b17ea3a | ||
![]() |
70ca48b7cc | ||
![]() |
b407f0466d | ||
![]() |
e6c292f658 | ||
![]() |
ebe73cc4ea | ||
![]() |
9e4068f399 | ||
![]() |
fd822aad94 | ||
![]() |
4257369486 | ||
![]() |
d2fc1aff18 | ||
![]() |
79e7ea5973 | ||
![]() |
33e57b9e7f | ||
![]() |
58a7385186 | ||
![]() |
d60d600df2 | ||
![]() |
090c7c814c | ||
![]() |
b76631e98a | ||
![]() |
2633c841cd | ||
![]() |
e8d19066fb | ||
![]() |
7e7d6c673f | ||
![]() |
2cd18d931f | ||
![]() |
52de223b0f |
23
README.md
@@ -1,21 +1,23 @@
|
||||
README for mpdevil
|
||||
==================
|
||||
mpdevil is focused on playing your local music directly instead of managing playlists or playing network streams. So it neither supports saving playlists nor restoring them. Therefore mpdevil is mainly a music browser which aims to be easy to use. mpdevil dosen't store any client side database of your music library. Instead all tags and covers get presented to you in real time. So you'll never see any outdated information in your browser. mpdevil strongly relies on tags.
|
||||
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.
|
||||
|
||||

|
||||
|
||||
Features
|
||||
--------
|
||||
|
||||
- play songs without doubleclicking
|
||||
- search songs in your music library
|
||||
- manage multiple mpd servers
|
||||
- filter by genre
|
||||
- control with media keys
|
||||
- displays covers
|
||||
- sends notifications on title change
|
||||
- fetches lyrics from 'www.letras.mus.br'
|
||||
- display large covers
|
||||
- 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
|
||||
|
||||
See: https://github.com/SoongNoonien/mpdevil/wiki/Usage
|
||||
|
||||
@@ -59,7 +61,6 @@ Python modules:
|
||||
- gi (Gtk, Gio, Gdk, GdkPixbuf, Pango, GObject, GLib, Notify)
|
||||
- requests
|
||||
- bs4 (beautifulsoup)
|
||||
- dbus
|
||||
|
||||
Run:
|
||||
```bash
|
||||
@@ -74,5 +75,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 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/
|
||||
|
||||
|
1074
bin/mpdevil
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.7 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.7 KiB |
44
data/org.mpdevil.mpdevil.appdata.xml
Normal file
@@ -0,0 +1,44 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright 2020 Martin Wagner <martin.wagner.dev@gmail.com> -->
|
||||
<component type="desktop-application">
|
||||
<id>org.mpdevil.mpdevil</id>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>GPL-3.0</project_license>
|
||||
<name>mpdevil</name>
|
||||
<summary>A simple music browser for MPD</summary>
|
||||
<description>
|
||||
<p>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.</p>
|
||||
<ul>
|
||||
<li>display large covers</li>
|
||||
<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>
|
||||
</ul>
|
||||
</description>
|
||||
<releases>
|
||||
<release version="0.9.8" date="2020-12-27">
|
||||
<description>
|
||||
</description>
|
||||
</release>
|
||||
</releases>
|
||||
<launchable type="desktop-id">org.mpdevil.mpdevil.desktop</launchable>
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<image type="source" width="1016" height="1024">https://raw.githubusercontent.com/SoongNoonien/mpdevil/v0.9.7/screenshots/mainwindow_0.9.5.png</image>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
<url type="homepage">https://github.com/SoongNoonien/mpdevil</url>
|
||||
<url type="bugtracker">https://github.com/SoongNoonien/mpdevil/issues</url>
|
||||
<content_rating type="oars-1.1" />
|
||||
<provides>
|
||||
<binary>mpdevil</binary>
|
||||
</provides>
|
||||
<update_contact>martin.wagner.dev@gmail.com</update_contact>
|
||||
</component>
|
@@ -3,7 +3,7 @@ Name=mpdevil
|
||||
GenericName=MPD Client
|
||||
_Comment=A simple music browser for MPD
|
||||
Exec=mpdevil
|
||||
Icon=mpdevil
|
||||
Icon=org.mpdevil.mpdevil
|
||||
Terminal=false
|
||||
Type=Application
|
||||
StartupNotify=true
|
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<schemalist>
|
||||
<schema id="org.mpdevil" path="/org/mpdevil/">
|
||||
<schema id="org.mpdevil.mpdevil" path="/org/mpdevil/mpdevil/">
|
||||
<key type="b" name="maximize">
|
||||
<default>false</default>
|
||||
<summary>Maximize mpdevil on startup</summary>
|
@@ -1,4 +1,4 @@
|
||||
[encoding: UTF-8]
|
||||
bin/mpdevil
|
||||
data/mpdevil.desktop.in
|
||||
data/org.mpdevil.mpdevil.desktop.in
|
||||
|
||||
|
21
setup.py
@@ -4,22 +4,23 @@ import DistUtilsExtra.auto
|
||||
|
||||
DistUtilsExtra.auto.setup(
|
||||
name='mpdevil',
|
||||
version='0.9.6', # sync with bin/mpdevil
|
||||
version='0.9.8', # 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/icons/hicolor/16x16/apps/', ['data/icons/16x16/mpdevil.png']),
|
||||
('share/icons/hicolor/22x22/apps/', ['data/icons/22x22/mpdevil.png']),
|
||||
('share/icons/hicolor/24x24/apps/', ['data/icons/24x24/mpdevil.png']),
|
||||
('share/icons/hicolor/32x32/apps/', ['data/icons/32x32/mpdevil.png']),
|
||||
('share/icons/hicolor/48x48/apps/', ['data/icons/48x48/mpdevil.png']),
|
||||
('share/icons/hicolor/64x64/apps/', ['data/icons/64x64/mpdevil.png']),
|
||||
('share/icons/hicolor/128x128/apps/', ['data/icons/128x128/mpdevil.png']),
|
||||
('share/icons/hicolor/256x256/apps/', ['data/icons/256x256/mpdevil.png']),
|
||||
('share/icons/hicolor/scalable/apps/', ['data/icons/scalable/mpdevil.svg'])
|
||||
('share/metainfo/', ['data/org.mpdevil.mpdevil.appdata.xml']),
|
||||
('share/icons/hicolor/16x16/apps/', ['data/icons/16x16/org.mpdevil.mpdevil.png']),
|
||||
('share/icons/hicolor/22x22/apps/', ['data/icons/22x22/org.mpdevil.mpdevil.png']),
|
||||
('share/icons/hicolor/24x24/apps/', ['data/icons/24x24/org.mpdevil.mpdevil.png']),
|
||||
('share/icons/hicolor/32x32/apps/', ['data/icons/32x32/org.mpdevil.mpdevil.png']),
|
||||
('share/icons/hicolor/48x48/apps/', ['data/icons/48x48/org.mpdevil.mpdevil.png']),
|
||||
('share/icons/hicolor/64x64/apps/', ['data/icons/64x64/org.mpdevil.mpdevil.png']),
|
||||
('share/icons/hicolor/128x128/apps/', ['data/icons/128x128/org.mpdevil.mpdevil.png']),
|
||||
('share/icons/hicolor/256x256/apps/', ['data/icons/256x256/org.mpdevil.mpdevil.png']),
|
||||
('share/icons/hicolor/scalable/apps/', ['data/icons/scalable/org.mpdevil.mpdevil.svg'])
|
||||
],
|
||||
)
|
||||
|
||||
|