guardkenzie / miniplayer Goto Github PK
View Code? Open in Web Editor NEWA curses based mpd client with basic functionality and album art.
License: MIT License
A curses based mpd client with basic functionality and album art.
License: MIT License
Hi, I'm the maintainer of the AUR package; I'm having issues building the package, either with python setup.py build
or with python -m build --wheel
:
error: Multiple top-level packages discovered in a flat-layout: ['img', 'miniplayer'].
To avoid accidental inclusion of unwanted files or directories,
setuptools will not proceed with this build.
If you are trying to create a single distribution with multiple packages
on purpose, you should not rely on automatic discovery.
Instead, consider the following options:
1. set up custom discovery (`find` directive with `include` or `exclude`)
2. use a `src-layout`
3. explicitly set `py_modules` or `packages` with a list of names
To find more information, look for "package discovery" on setuptools docs.
Ubuntu 18.04.5 user here on an old 32 bit laptop. So maybe it's the reason of the problem.
I installed miniplayer via sudo python3 setup.py install. Log:
running install
running bdist_egg
running egg_info
writing miniplayer.egg-info/PKG-INFO
writing dependency_links to miniplayer.egg-info/dependency_links.txt
writing requirements to miniplayer.egg-info/requires.txt
writing top-level names to miniplayer.egg-info/top_level.txt
reading manifest file 'miniplayer.egg-info/SOURCES.txt'
writing manifest file 'miniplayer.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-i686/egg
running install_lib
warning: install_lib: 'build/lib' does not exist -- no Python modules to install
creating build/bdist.linux-i686/egg
creating build/bdist.linux-i686/egg/EGG-INFO
installing scripts to build/bdist.linux-i686/egg/EGG-INFO/scripts
running install_scripts
running build_scripts
creating build/bdist.linux-i686/egg/EGG-INFO/scripts
copying build/scripts-3.6/miniplayer -> build/bdist.linux-i686/egg/EGG-INFO/scripts
changing mode of build/bdist.linux-i686/egg/EGG-INFO/scripts/miniplayer to 755
copying miniplayer.egg-info/PKG-INFO -> build/bdist.linux-i686/egg/EGG-INFO
copying miniplayer.egg-info/SOURCES.txt -> build/bdist.linux-i686/egg/EGG-INFO
copying miniplayer.egg-info/dependency_links.txt -> build/bdist.linux-i686/egg/EGG-INFO
copying miniplayer.egg-info/requires.txt -> build/bdist.linux-i686/egg/EGG-INFO
copying miniplayer.egg-info/top_level.txt -> build/bdist.linux-i686/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating 'dist/miniplayer-1.1.1-py3.6.egg' and adding 'build/bdist.linux-i686/egg' to it
removing 'build/bdist.linux-i686/egg' (and everything under it)
Processing miniplayer-1.1.1-py3.6.egg
Removing /usr/local/lib/python3.6/dist-packages/miniplayer-1.1.1-py3.6.egg
Copying miniplayer-1.1.1-py3.6.egg to /usr/local/lib/python3.6/dist-packages
miniplayer 1.1.1 is already the active version in easy-install.pth
Installing miniplayer script to /usr/local/bin
Installed /usr/local/lib/python3.6/dist-packages/miniplayer-1.1.1-py3.6.egg
Processing dependencies for miniplayer==1.1.1
Searching for ueberzug==18.1.7
Best match: ueberzug 18.1.7
Adding ueberzug 18.1.7 to easy-install.pth file
Installing ueberzug script to /usr/local/bin
Using /usr/local/lib/python3.6/dist-packages
Searching for Pillow==6.2.1
Best match: Pillow 6.2.1
Adding Pillow 6.2.1 to easy-install.pth file
Using /home/itook/.local/lib/python3.6/site-packages
Searching for pixcat==0.1.4
Best match: pixcat 0.1.4
Processing pixcat-0.1.4-py3.6.egg
pixcat 0.1.4 is already the active version in easy-install.pth
Installing pixcat script to /usr/local/bin
Using /usr/local/lib/python3.6/dist-packages/pixcat-0.1.4-py3.6.egg
Searching for ffmpeg-python==0.2.0
Best match: ffmpeg-python 0.2.0
Processing ffmpeg_python-0.2.0-py3.6.egg
ffmpeg-python 0.2.0 is already the active version in easy-install.pth
Using /usr/local/lib/python3.6/dist-packages/ffmpeg_python-0.2.0-py3.6.egg
Searching for python-mpd2==3.0.4
Best match: python-mpd2 3.0.4
Processing python_mpd2-3.0.4-py3.6.egg
python-mpd2 3.0.4 is already the active version in easy-install.pth
Using /usr/local/lib/python3.6/dist-packages/python_mpd2-3.0.4-py3.6.egg
Searching for psutil==5.7.3
Best match: psutil 5.7.3
Adding psutil 5.7.3 to easy-install.pth file
Using /usr/local/lib/python3.6/dist-packages
Searching for docopt==0.6.2
Best match: docopt 0.6.2
Adding docopt 0.6.2 to easy-install.pth file
Using /usr/local/lib/python3.6/dist-packages
Searching for python-xlib==0.29
Best match: python-xlib 0.29
Adding python-xlib 0.29 to easy-install.pth file
Using /usr/local/lib/python3.6/dist-packages
Searching for attrs==20.3.0
Best match: attrs 20.3.0
Adding attrs 20.3.0 to easy-install.pth file
Using /usr/local/lib/python3.6/dist-packages
Searching for requests==2.18.4
Best match: requests 2.18.4
Adding requests 2.18.4 to easy-install.pth file
Using /usr/lib/python3/dist-packages
Searching for dataclasses==0.8
Best match: dataclasses 0.8
Processing dataclasses-0.8-py3.6.egg
dataclasses 0.8 is already the active version in easy-install.pth
Using /usr/local/lib/python3.6/dist-packages/dataclasses-0.8-py3.6.egg
Searching for blessed==1.17.12
Best match: blessed 1.17.12
Processing blessed-1.17.12-py3.6.egg
blessed 1.17.12 is already the active version in easy-install.pth
Using /usr/local/lib/python3.6/dist-packages/blessed-1.17.12-py3.6.egg
Searching for future==0.18.2
Best match: future 0.18.2
Processing future-0.18.2-py3.6.egg
future 0.18.2 is already the active version in easy-install.pth
Installing futurize script to /usr/local/bin
Installing pasteurize script to /usr/local/bin
Using /usr/local/lib/python3.6/dist-packages/future-0.18.2-py3.6.egg
Searching for six==1.15.0
Best match: six 1.15.0
Adding six 1.15.0 to easy-install.pth file
Using /home/itook/.local/lib/python3.6/site-packages
Searching for wcwidth==0.2.5
Best match: wcwidth 0.2.5
Processing wcwidth-0.2.5-py3.6.egg
wcwidth 0.2.5 is already the active version in easy-install.pth
Using /usr/local/lib/python3.6/dist-packages/wcwidth-0.2.5-py3.6.egg
Finished processing dependencies for miniplayer==1.1.1
The config file is not created by default on /home/itook/.config/miniplayer/config so I created the directory and moved the sample config to it and renamed as "config". Then I edited it with adding my music directory.
When I execute the command miniplayer I only see the message "Put some beats on!".
Description:
I recently setup mpd with ncmpcpp client, and I found your repo yesterday, but there seems to be a problem here, I've tried playing a song with no album art and I'm faced with a KeyError:
miniplayer
Traceback (most recent call last):
File "/sbin/miniplayer", line 502, in loop
self.handleKeypress()
File "/sbin/miniplayer", line 271, in handleKeypress
if self.checkSongUpdate() == 1:
File "/sbin/miniplayer", line 241, in checkSongUpdate
self.artist = song["artist"]
KeyError: 'artist'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/sbin/miniplayer", line 536, in <module>
player.loop()
File "/usr/lib/python3.9/site-packages/ueberzug/lib/v0/__init__.py", line 378, in decorator
return function(*args, canvas=self, **kwargs)
File "/sbin/miniplayer", line 530, in loop
if error:
UnboundLocalError: local variable 'error' referenced before assignment
I'm using the AUR package. I've tried switching the image_method
(obviously didn't help because I have no album art).
After installing, I get :
Traceback (most recent call last):
File "/usr/bin/miniplayer", line 476, in <module>
player = Player()
File "/usr/bin/miniplayer", line 70, in __init__
self.client.connect("localhost", 6600)
File "/usr/lib/python3.9/site-packages/mpd/base.py", line 755, in connect
self._sock = self._connect_tcp(host, port)
File "/usr/lib/python3.9/site-packages/mpd/base.py", line 716, in _connect_tcp
raise err
File "/usr/lib/python3.9/site-packages/mpd/base.py", line 709, in _connect_tcp
sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
From this, it looks to me like it's trying to use the default mpd port, which is 6600. However, I have it configured on port 6602 instead; could you add this through a configuration option (or ask mpd for it, not sure if that's possible)?
The AUR package doesnt build. Im not sure if this is a local issue or not.
Preparing...
Cloning miniplayer-git build files...
Checking miniplayer-git dependencies...
Cloning python-ffmpeg build files...
Checking python-ffmpeg dependencies...
Cloning python-pixcat build files...
Checking python-pixcat dependencies...
Cloning python-ueberzug-git build files...
Checking python-ueberzug-git dependencies...
Cloning python-dataclasses build files...
Checking python-dataclasses dependencies...
Resolving dependencies...
Checking inter-conflicts...
Checking keyring...
Checking integrity...
Loading packages files...
Checking file conflicts...
Checking available disk space...
Installing python-wcwidth (0.2.5-3)...
Installing python-blessed (1.18.0-1)...
Installing python-attrs (20.3.0-3)...
Installing python-iniconfig (1.1.1-1)...
Installing python-more-itertools (8.7.0-1)...
Installing python-zipp (3.4.1-1)...
Installing python-importlib-metadata (4.0.1-1)...
Installing python-pluggy (0.13.1-4)...
Installing python-apipkg (1.5-5)...
Installing python-py (1.10.0-1)...
Installing python-pytest (6.2.3-1)...
Installing python-pytest-runner (5.2-3)...
Installing python-mpd2 (3.0.4-1)...
Installing python-xlib (0.29-1)...
Installing python-ansiwrap (0.8.4-3)...
Installing python-pytest-mock (3.1.1-1)...
Installing python-future (0.18.2-5)...
Installing python-psutil (5.8.0-1)...
Running post-transaction hooks...
Arming ConditionNeedsUpdate...
Building python-dataclasses...
==> Making package: python-dataclasses 0.8-1 (Fri 07 May 2021 12:32:07 PM IST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Found dataclasses-0.8.tar.gz
==> Validating source files with sha256sums...
dataclasses-0.8.tar.gz ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
-> Extracting dataclasses-0.8.tar.gz with bsdtar
==> Starting build()...
==> Entering fakeroot environment...
==> Starting package()...
running install
running build
running build_py
creating build
creating build/lib
copying dataclasses.py -> build/lib
running install_lib
creating /var/tmp/pamac-build-kami/python-dataclasses/pkg/python-dataclasses/usr
creating /var/tmp/pamac-build-kami/python-dataclasses/pkg/python-dataclasses/usr/lib
creating /var/tmp/pamac-build-kami/python-dataclasses/pkg/python-dataclasses/usr/lib/python3.9
creating /var/tmp/pamac-build-kami/python-dataclasses/pkg/python-dataclasses/usr/lib/python3.9/site-packages
copying build/lib/dataclasses.py -> /var/tmp/pamac-build-kami/python-dataclasses/pkg/python-dataclasses/usr/lib/python3.9/site-packages
byte-compiling /var/tmp/pamac-build-kami/python-dataclasses/pkg/python-dataclasses/usr/lib/python3.9/site-packages/dataclasses.py to dataclasses.cpython-39.pyc
writing byte-compilation script '/tmp/tmp6usdl1rw.py'
/usr/bin/python /tmp/tmp6usdl1rw.py
removing /tmp/tmp6usdl1rw.py
running install_egg_info
running egg_info
writing dataclasses.egg-info/PKG-INFO
writing dependency_links to dataclasses.egg-info/dependency_links.txt
writing top-level names to dataclasses.egg-info/top_level.txt
adding license file 'LICENSE.txt' (matched pattern 'LICEN[CS]E*')
reading manifest file 'dataclasses.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'dataclasses.egg-info/SOURCES.txt'
Copying dataclasses.egg-info to /var/tmp/pamac-build-kami/python-dataclasses/pkg/python-dataclasses/usr/lib/python3.9/site-packages/dataclasses-0.8-py3.9.egg-info
running install_scripts
==> Tidying install...
-> Removing libtool files...
-> Purging unwanted files...
-> Removing static library files...
-> Stripping unneeded symbols from binaries and libraries...
-> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "python-dataclasses"...
-> Generating .PKGINFO file...
-> Generating .BUILDINFO file...
-> Generating .MTREE file...
-> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: python-dataclasses 0.8-1 (Fri 07 May 2021 12:32:09 PM IST)
==> Cleaning up...
Building python-ffmpeg...
==> Making package: python-ffmpeg 0.2.0-2 (Fri 07 May 2021 12:32:10 PM IST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Found python-ffmpeg-0.2.0.tar.gz
==> Validating source files with sha256sums...
python-ffmpeg-0.2.0.tar.gz ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
-> Extracting python-ffmpeg-0.2.0.tar.gz with bsdtar
==> Starting build()...
running build
running build_py
creating build
creating build/lib
creating build/lib/ffmpeg
copying ffmpeg/_view.py -> build/lib/ffmpeg
copying ffmpeg/_probe.py -> build/lib/ffmpeg
copying ffmpeg/__init__.py -> build/lib/ffmpeg
copying ffmpeg/_run.py -> build/lib/ffmpeg
copying ffmpeg/dag.py -> build/lib/ffmpeg
copying ffmpeg/nodes.py -> build/lib/ffmpeg
copying ffmpeg/_ffmpeg.py -> build/lib/ffmpeg
copying ffmpeg/_filters.py -> build/lib/ffmpeg
copying ffmpeg/_utils.py -> build/lib/ffmpeg
==> Starting check()...
============================= test session starts ==============================
platform linux -- Python 3.9.4, pytest-6.2.3, py-1.10.0, pluggy-0.13.1
rootdir: /var/tmp/pamac-build-kami/python-ffmpeg/src/ffmpeg-python-0.2.0, configfile: pytest.ini, testpaths: ffmpeg/tests
plugins: mock-3.1.1
collected 60 items
ffmpeg/tests/test_ffmpeg.py ............................................ [ 73%]
................ [100%]
=============================== warnings summary ===============================
../../../../../../usr/lib/python3.9/site-packages/past/builtins/misc.py:45
/usr/lib/python3.9/site-packages/past/builtins/misc.py:45: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
from imp import reload
ffmpeg/tests/test_ffmpeg.py:31
/var/tmp/pamac-build-kami/python-ffmpeg/src/ffmpeg-python-0.2.0/ffmpeg/tests/test_ffmpeg.py:31: DeprecationWarning: invalid escape sequence \:
assert ffmpeg._utils.escape_chars('a:b', ':') == 'a\:b'
ffmpeg/tests/test_ffmpeg.py::test__output__video_size[video_size0]
/var/tmp/pamac-build-kami/python-ffmpeg/src/ffmpeg-python-0.2.0/ffmpeg/_run.py:140: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working
video_size, collections.Iterable
ffmpeg/tests/test_ffmpeg.py::test__get_filter_complex_input
ffmpeg/tests/test_ffmpeg.py::test__multi_output_edge_label_order
/var/tmp/pamac-build-kami/python-ffmpeg/src/ffmpeg-python-0.2.0/ffmpeg/tests/test_ffmpeg.py:722: FutureWarning: Possible nested set at position 20
m = re.search(r'\[([^]]+)\]{}(?=[[;]|$)'.format(name), flt)
-- Docs: https://docs.pytest.org/en/stable/warnings.html
======================== 60 passed, 5 warnings in 1.07s ========================
==> Entering fakeroot environment...
==> Starting package()...
running install
running install_lib
creating /var/tmp/pamac-build-kami/python-ffmpeg/pkg/python-ffmpeg/usr
creating /var/tmp/pamac-build-kami/python-ffmpeg/pkg/python-ffmpeg/usr/lib
creating /var/tmp/pamac-build-kami/python-ffmpeg/pkg/python-ffmpeg/usr/lib/python3.9
creating /var/tmp/pamac-build-kami/python-ffmpeg/pkg/python-ffmpeg/usr/lib/python3.9/site-packages
creating /var/tmp/pamac-build-kami/python-ffmpeg/pkg/python-ffmpeg/usr/lib/python3.9/site-packages/ffmpeg
copying build/lib/ffmpeg/_view.py -> /var/tmp/pamac-build-kami/python-ffmpeg/pkg/python-ffmpeg/usr/lib/python3.9/site-packages/ffmpeg
copying build/lib/ffmpeg/_probe.py -> /var/tmp/pamac-build-kami/python-ffmpeg/pkg/python-ffmpeg/usr/lib/python3.9/site-packages/ffmpeg
copying build/lib/ffmpeg/__init__.py -> /var/tmp/pamac-build-kami/python-ffmpeg/pkg/python-ffmpeg/usr/lib/python3.9/site-packages/ffmpeg
copying build/lib/ffmpeg/_run.py -> /var/tmp/pamac-build-kami/python-ffmpeg/pkg/python-ffmpeg/usr/lib/python3.9/site-packages/ffmpeg
copying build/lib/ffmpeg/dag.py -> /var/tmp/pamac-build-kami/python-ffmpeg/pkg/python-ffmpeg/usr/lib/python3.9/site-packages/ffmpeg
copying build/lib/ffmpeg/nodes.py -> /var/tmp/pamac-build-kami/python-ffmpeg/pkg/python-ffmpeg/usr/lib/python3.9/site-packages/ffmpeg
copying build/lib/ffmpeg/_ffmpeg.py -> /var/tmp/pamac-build-kami/python-ffmpeg/pkg/python-ffmpeg/usr/lib/python3.9/site-packages/ffmpeg
copying build/lib/ffmpeg/_filters.py -> /var/tmp/pamac-build-kami/python-ffmpeg/pkg/python-ffmpeg/usr/lib/python3.9/site-packages/ffmpeg
copying build/lib/ffmpeg/_utils.py -> /var/tmp/pamac-build-kami/python-ffmpeg/pkg/python-ffmpeg/usr/lib/python3.9/site-packages/ffmpeg
byte-compiling /var/tmp/pamac-build-kami/python-ffmpeg/pkg/python-ffmpeg/usr/lib/python3.9/site-packages/ffmpeg/_view.py to _view.cpython-39.pyc
byte-compiling /var/tmp/pamac-build-kami/python-ffmpeg/pkg/python-ffmpeg/usr/lib/python3.9/site-packages/ffmpeg/_probe.py to _probe.cpython-39.pyc
byte-compiling /var/tmp/pamac-build-kami/python-ffmpeg/pkg/python-ffmpeg/usr/lib/python3.9/site-packages/ffmpeg/__init__.py to __init__.cpython-39.pyc
byte-compiling /var/tmp/pamac-build-kami/python-ffmpeg/pkg/python-ffmpeg/usr/lib/python3.9/site-packages/ffmpeg/_run.py to _run.cpython-39.pyc
byte-compiling /var/tmp/pamac-build-kami/python-ffmpeg/pkg/python-ffmpeg/usr/lib/python3.9/site-packages/ffmpeg/dag.py to dag.cpython-39.pyc
byte-compiling /var/tmp/pamac-build-kami/python-ffmpeg/pkg/python-ffmpeg/usr/lib/python3.9/site-packages/ffmpeg/nodes.py to nodes.cpython-39.pyc
byte-compiling /var/tmp/pamac-build-kami/python-ffmpeg/pkg/python-ffmpeg/usr/lib/python3.9/site-packages/ffmpeg/_ffmpeg.py to _ffmpeg.cpython-39.pyc
byte-compiling /var/tmp/pamac-build-kami/python-ffmpeg/pkg/python-ffmpeg/usr/lib/python3.9/site-packages/ffmpeg/_filters.py to _filters.cpython-39.pyc
byte-compiling /var/tmp/pamac-build-kami/python-ffmpeg/pkg/python-ffmpeg/usr/lib/python3.9/site-packages/ffmpeg/_utils.py to _utils.cpython-39.pyc
writing byte-compilation script '/tmp/tmpfz0azgwn.py'
/usr/bin/python /tmp/tmpfz0azgwn.py
removing /tmp/tmpfz0azgwn.py
running install_egg_info
running egg_info
creating ffmpeg_python.egg-info
writing ffmpeg_python.egg-info/PKG-INFO
writing dependency_links to ffmpeg_python.egg-info/dependency_links.txt
writing requirements to ffmpeg_python.egg-info/requires.txt
writing top-level names to ffmpeg_python.egg-info/top_level.txt
writing manifest file 'ffmpeg_python.egg-info/SOURCES.txt'
adding license file 'LICENSE' (matched pattern 'LICEN[CS]E*')
reading manifest file 'ffmpeg_python.egg-info/SOURCES.txt'
writing manifest file 'ffmpeg_python.egg-info/SOURCES.txt'
Copying ffmpeg_python.egg-info to /var/tmp/pamac-build-kami/python-ffmpeg/pkg/python-ffmpeg/usr/lib/python3.9/site-packages/ffmpeg_python-0.2.0-py3.9.egg-info
running install_scripts
==> Tidying install...
-> Removing empty directories...
-> Removing libtool files...
-> Purging unwanted files...
-> Removing static library files...
-> Stripping unneeded symbols from binaries and libraries...
-> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "python-ffmpeg"...
-> Generating .PKGINFO file...
-> Generating .BUILDINFO file...
-> Generating .MTREE file...
-> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: python-ffmpeg 0.2.0-2 (Fri 07 May 2021 12:32:14 PM IST)
==> Cleaning up...
Checking keyring...
Checking integrity...
Loading packages files...
Checking file conflicts...
Checking available disk space...
Installing python-dataclasses (0.8-1)...
Installing python-ffmpeg (0.2.0-2)...
Running post-transaction hooks...
Arming ConditionNeedsUpdate...
Building python-pixcat...
==> Making package: python-pixcat 0.1.4-4 (Fri 07 May 2021 12:32:16 PM IST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Found pixcat-0.1.4.tar.gz
==> Validating source files with sha512sums...
pixcat-0.1.4.tar.gz ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
-> Extracting pixcat-0.1.4.tar.gz with bsdtar
==> Starting build()...
running build
running build_py
creating build
creating build/lib
creating build/lib/pixcat
copying pixcat/data.py -> build/lib/pixcat
copying pixcat/__init__.py -> build/lib/pixcat
copying pixcat/image.py -> build/lib/pixcat
copying pixcat/__about__.py -> build/lib/pixcat
copying pixcat/__main__.py -> build/lib/pixcat
copying pixcat/terminal.py -> build/lib/pixcat
copying pixcat/cli.py -> build/lib/pixcat
running egg_info
writing pixcat.egg-info/PKG-INFO
writing dependency_links to pixcat.egg-info/dependency_links.txt
writing entry points to pixcat.egg-info/entry_points.txt
writing requirements to pixcat.egg-info/requires.txt
writing top-level names to pixcat.egg-info/top_level.txt
reading manifest file 'pixcat.egg-info/SOURCES.txt'
writing manifest file 'pixcat.egg-info/SOURCES.txt'
==> Entering fakeroot environment...
==> Starting package()...
running install
running install_lib
creating /var/tmp/pamac-build-kami/python-pixcat/pkg/python-pixcat/usr
creating /var/tmp/pamac-build-kami/python-pixcat/pkg/python-pixcat/usr/lib
creating /var/tmp/pamac-build-kami/python-pixcat/pkg/python-pixcat/usr/lib/python3.9
creating /var/tmp/pamac-build-kami/python-pixcat/pkg/python-pixcat/usr/lib/python3.9/site-packages
creating /var/tmp/pamac-build-kami/python-pixcat/pkg/python-pixcat/usr/lib/python3.9/site-packages/pixcat
copying build/lib/pixcat/data.py -> /var/tmp/pamac-build-kami/python-pixcat/pkg/python-pixcat/usr/lib/python3.9/site-packages/pixcat
copying build/lib/pixcat/__init__.py -> /var/tmp/pamac-build-kami/python-pixcat/pkg/python-pixcat/usr/lib/python3.9/site-packages/pixcat
copying build/lib/pixcat/image.py -> /var/tmp/pamac-build-kami/python-pixcat/pkg/python-pixcat/usr/lib/python3.9/site-packages/pixcat
copying build/lib/pixcat/__about__.py -> /var/tmp/pamac-build-kami/python-pixcat/pkg/python-pixcat/usr/lib/python3.9/site-packages/pixcat
copying build/lib/pixcat/__main__.py -> /var/tmp/pamac-build-kami/python-pixcat/pkg/python-pixcat/usr/lib/python3.9/site-packages/pixcat
copying build/lib/pixcat/terminal.py -> /var/tmp/pamac-build-kami/python-pixcat/pkg/python-pixcat/usr/lib/python3.9/site-packages/pixcat
copying build/lib/pixcat/cli.py -> /var/tmp/pamac-build-kami/python-pixcat/pkg/python-pixcat/usr/lib/python3.9/site-packages/pixcat
byte-compiling /var/tmp/pamac-build-kami/python-pixcat/pkg/python-pixcat/usr/lib/python3.9/site-packages/pixcat/data.py to data.cpython-39.pyc
byte-compiling /var/tmp/pamac-build-kami/python-pixcat/pkg/python-pixcat/usr/lib/python3.9/site-packages/pixcat/__init__.py to __init__.cpython-39.pyc
byte-compiling /var/tmp/pamac-build-kami/python-pixcat/pkg/python-pixcat/usr/lib/python3.9/site-packages/pixcat/image.py to image.cpython-39.pyc
byte-compiling /var/tmp/pamac-build-kami/python-pixcat/pkg/python-pixcat/usr/lib/python3.9/site-packages/pixcat/__about__.py to __about__.cpython-39.pyc
byte-compiling /var/tmp/pamac-build-kami/python-pixcat/pkg/python-pixcat/usr/lib/python3.9/site-packages/pixcat/__main__.py to __main__.cpython-39.pyc
byte-compiling /var/tmp/pamac-build-kami/python-pixcat/pkg/python-pixcat/usr/lib/python3.9/site-packages/pixcat/terminal.py to terminal.cpython-39.pyc
byte-compiling /var/tmp/pamac-build-kami/python-pixcat/pkg/python-pixcat/usr/lib/python3.9/site-packages/pixcat/cli.py to cli.cpython-39.pyc
writing byte-compilation script '/tmp/tmpljrum171.py'
/usr/bin/python /tmp/tmpljrum171.py
removing /tmp/tmpljrum171.py
running install_egg_info
running egg_info
writing pixcat.egg-info/PKG-INFO
writing dependency_links to pixcat.egg-info/dependency_links.txt
writing entry points to pixcat.egg-info/entry_points.txt
writing requirements to pixcat.egg-info/requires.txt
writing top-level names to pixcat.egg-info/top_level.txt
reading manifest file 'pixcat.egg-info/SOURCES.txt'
writing manifest file 'pixcat.egg-info/SOURCES.txt'
Copying pixcat.egg-info to /var/tmp/pamac-build-kami/python-pixcat/pkg/python-pixcat/usr/lib/python3.9/site-packages/pixcat-0.1.4-py3.9.egg-info
running install_scripts
Installing pixcat script to /var/tmp/pamac-build-kami/python-pixcat/pkg/python-pixcat/usr/bin
==> Tidying install...
-> Removing libtool files...
-> Purging unwanted files...
-> Removing static library files...
-> Stripping unneeded symbols from binaries and libraries...
-> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "python-pixcat"...
-> Generating .PKGINFO file...
-> Generating .BUILDINFO file...
-> Generating .MTREE file...
-> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: python-pixcat 0.1.4-4 (Fri 07 May 2021 12:32:18 PM IST)
==> Cleaning up...
Building python-ueberzug-git...
==> Making package: python-ueberzug-git 18.1.5.a8ac9c3-1 (Fri 07 May 2021 12:32:20 PM IST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Updating ueberzug git repo...
Fetching origin
==> Validating source files with md5sums...
ueberzug ... Skipped
==> Removing existing $srcdir/ directory...
==> Extracting sources...
-> Creating working copy of ueberzug git repo...
Cloning into 'ueberzug'...
done.
Switched to a new branch 'makepkg'
==> Removing existing $pkgdir/ directory...
==> Starting build()...
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.9
creating build/lib.linux-x86_64-3.9/ueberzug
copying ueberzug/batch.py -> build/lib.linux-x86_64-3.9/ueberzug
copying ueberzug/version.py -> build/lib.linux-x86_64-3.9/ueberzug
copying ueberzug/thread.py -> build/lib.linux-x86_64-3.9/ueberzug
copying ueberzug/xutil.py -> build/lib.linux-x86_64-3.9/ueberzug
copying ueberzug/tmux_util.py -> build/lib.linux-x86_64-3.9/ueberzug
copying ueberzug/library.py -> build/lib.linux-x86_64-3.9/ueberzug
copying ueberzug/conversion.py -> build/lib.linux-x86_64-3.9/ueberzug
copying ueberzug/__init__.py -> build/lib.linux-x86_64-3.9/ueberzug
copying ueberzug/loading.py -> build/lib.linux-x86_64-3.9/ueberzug
copying ueberzug/action.py -> build/lib.linux-x86_64-3.9/ueberzug
copying ueberzug/__main__.py -> build/lib.linux-x86_64-3.9/ueberzug
copying ueberzug/process.py -> build/lib.linux-x86_64-3.9/ueberzug
copying ueberzug/query_windows.py -> build/lib.linux-x86_64-3.9/ueberzug
copying ueberzug/terminal.py -> build/lib.linux-x86_64-3.9/ueberzug
copying ueberzug/ui.py -> build/lib.linux-x86_64-3.9/ueberzug
copying ueberzug/pattern.py -> build/lib.linux-x86_64-3.9/ueberzug
copying ueberzug/layer.py -> build/lib.linux-x86_64-3.9/ueberzug
copying ueberzug/geometry.py -> build/lib.linux-x86_64-3.9/ueberzug
copying ueberzug/files.py -> build/lib.linux-x86_64-3.9/ueberzug
copying ueberzug/parser.py -> build/lib.linux-x86_64-3.9/ueberzug
copying ueberzug/scaling.py -> build/lib.linux-x86_64-3.9/ueberzug
creating build/lib.linux-x86_64-3.9/ueberzug/lib
copying ueberzug/lib/__init__.py -> build/lib.linux-x86_64-3.9/ueberzug/lib
creating build/lib.linux-x86_64-3.9/ueberzug/lib/v0
copying ueberzug/lib/v0/__init__.py -> build/lib.linux-x86_64-3.9/ueberzug/lib/v0
running egg_info
creating ueberzug.egg-info
writing ueberzug.egg-info/PKG-INFO
writing dependency_links to ueberzug.egg-info/dependency_links.txt
writing entry points to ueberzug.egg-info/entry_points.txt
writing requirements to ueberzug.egg-info/requires.txt
writing top-level names to ueberzug.egg-info/top_level.txt
writing manifest file 'ueberzug.egg-info/SOURCES.txt'
adding license file 'LICENSE' (matched pattern 'LICEN[CS]E*')
reading manifest file 'ueberzug.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'ueberzug.egg-info/SOURCES.txt'
creating build/lib.linux-x86_64-3.9/ueberzug/X
copying ueberzug/X/X.c -> build/lib.linux-x86_64-3.9/ueberzug/X
copying ueberzug/X/X.h -> build/lib.linux-x86_64-3.9/ueberzug/X
copying ueberzug/X/Xshm.c -> build/lib.linux-x86_64-3.9/ueberzug/X
copying ueberzug/X/Xshm.h -> build/lib.linux-x86_64-3.9/ueberzug/X
copying ueberzug/X/display.c -> build/lib.linux-x86_64-3.9/ueberzug/X
copying ueberzug/X/display.h -> build/lib.linux-x86_64-3.9/ueberzug/X
copying ueberzug/X/math.h -> build/lib.linux-x86_64-3.9/ueberzug/X
copying ueberzug/X/python.h -> build/lib.linux-x86_64-3.9/ueberzug/X
copying ueberzug/X/util.h -> build/lib.linux-x86_64-3.9/ueberzug/X
copying ueberzug/X/window.c -> build/lib.linux-x86_64-3.9/ueberzug/X
copying ueberzug/X/window.h -> build/lib.linux-x86_64-3.9/ueberzug/X
copying ueberzug/lib/lib.sh -> build/lib.linux-x86_64-3.9/ueberzug/lib
running build_ext
building 'ueberzug.X' extension
creating build/temp.linux-x86_64-3.9
creating build/temp.linux-x86_64-3.9/ueberzug
creating build/temp.linux-x86_64-3.9/ueberzug/X
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2,-D_GLIBCXX_ASSERTIONS -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fPIC -Iueberzug/X -I/usr/include/python3.9 -c ueberzug/X/X.c -o build/temp.linux-x86_64-3.9/ueberzug/X/X.o
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2,-D_GLIBCXX_ASSERTIONS -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fPIC -Iueberzug/X -I/usr/include/python3.9 -c ueberzug/X/Xshm.c -o build/temp.linux-x86_64-3.9/ueberzug/X/Xshm.o
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2,-D_GLIBCXX_ASSERTIONS -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fPIC -Iueberzug/X -I/usr/include/python3.9 -c ueberzug/X/display.c -o build/temp.linux-x86_64-3.9/ueberzug/X/display.o
ueberzug/X/display.c:214:1: warning: ‘Display_get_screen_height’ defined but not used [-Wunused-function]
214 | Display_get_screen_height(DisplayObject *self, void *closure) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2,-D_GLIBCXX_ASSERTIONS -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fPIC -Iueberzug/X -I/usr/include/python3.9 -c ueberzug/X/window.c -o build/temp.linux-x86_64-3.9/ueberzug/X/window.o
gcc -pthread -shared -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -fno-semantic-interposition -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2,-D_GLIBCXX_ASSERTIONS -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection build/temp.linux-x86_64-3.9/ueberzug/X/X.o build/temp.linux-x86_64-3.9/ueberzug/X/Xshm.o build/temp.linux-x86_64-3.9/ueberzug/X/display.o build/temp.linux-x86_64-3.9/ueberzug/X/window.o -L/usr/lib -lX11 -lXext -lXRes -o build/lib.linux-x86_64-3.9/ueberzug/X.cpython-39-x86_64-linux-gnu.so
/usr/bin/ld: build/temp.linux-x86_64-3.9/ueberzug/X/Xshm.o:/var/tmp/pamac-build-kami/python-ueberzug-git/src/ueberzug/ueberzug/X/display.h:27: multiple definition of `DisplayType'; build/temp.linux-x86_64-3.9/ueberzug/X/X.o:/var/tmp/pamac-build-kami/python-ueberzug-git/src/ueberzug/ueberzug/X/display.h:27: first defined here
/usr/bin/ld: build/temp.linux-x86_64-3.9/ueberzug/X/Xshm.o:/var/tmp/pamac-build-kami/python-ueberzug-git/src/ueberzug/ueberzug/X/Xshm.c:279: multiple definition of `ImageType'; build/temp.linux-x86_64-3.9/ueberzug/X/X.o:/var/tmp/pamac-build-kami/python-ueberzug-git/src/ueberzug/ueberzug/X/Xshm.h:6: first defined here
/usr/bin/ld: build/temp.linux-x86_64-3.9/ueberzug/X/display.o:/var/tmp/pamac-build-kami/python-ueberzug-git/src/ueberzug/ueberzug/X/display.h:27: multiple definition of `DisplayType'; build/temp.linux-x86_64-3.9/ueberzug/X/X.o:/var/tmp/pamac-build-kami/python-ueberzug-git/src/ueberzug/ueberzug/X/display.h:27: first defined here
/usr/bin/ld: build/temp.linux-x86_64-3.9/ueberzug/X/window.o:/var/tmp/pamac-build-kami/python-ueberzug-git/src/ueberzug/ueberzug/X/display.h:27: multiple definition of `DisplayType'; build/temp.linux-x86_64-3.9/ueberzug/X/X.o:/var/tmp/pamac-build-kami/python-ueberzug-git/src/ueberzug/ueberzug/X/display.h:27: first defined here
/usr/bin/ld: build/temp.linux-x86_64-3.9/ueberzug/X/window.o:/var/tmp/pamac-build-kami/python-ueberzug-git/src/ueberzug/ueberzug/X/window.c:299: multiple definition of `WindowType'; build/temp.linux-x86_64-3.9/ueberzug/X/X.o:/var/tmp/pamac-build-kami/python-ueberzug-git/src/ueberzug/ueberzug/X/window.h:6: first defined here
collect2: error: ld returned 1 exit status
error: command '/usr/bin/gcc' failed with exit code 1
==> ERROR: A failure occurred in build().
Aborting...
Hi,
Now on Manjaro, on a 64-bit system, after installing miniplayer via yay -S, I can't execute miniplayer:
Traceback (most recent call last):
File "/usr/bin/miniplayer", line 794, in loop
self.draw()
File "/usr/bin/miniplayer", line 751, in draw
self.drawPlaylist()
File "/usr/bin/miniplayer", line 622, in drawPlaylist
f"{playlist_item['artist']} - {playlist_item['title']}"[:self.playlist_window_width - 1],
KeyError: 'artist'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/bin/miniplayer", line 828, in <module>
player.loop()
File "/usr/lib/python3.9/site-packages/ueberzug/lib/v0/__init__.py", line 378, in decorator
return function(*args, canvas=self, **kwargs)
File "/usr/bin/miniplayer", line 822, in loop
if error:
UnboundLocalError: local variable 'error' referenced before assignment
I tried to install miniplayer using pip but I received the same message as I received in another laptop (see this issue).
My miniplayer config:
cat /home/itook/.config/miniplayer/config
[player]
music_directory = /home/itook/Musica
font_width = 11
font_height = 24
image_method = ueberzug
volume_step = 5
auto_close = false
album_art_only = false
show_playlist = true
[mpd]
host = localhost
port = 6601
# pass = example
# [keybindings]
> = next_track
< = last_track
+ = volume_up
- = volume_down
p = play_pause
q = quit
h = help
i = toggle_info
cat .mpd/config:
music_directory "~/Musica/"
playlist_directory "~/Musica/"
db_file "~/.mpd/mpd.db"
log_file "~/.mpd/mpd.log"
pid_file "~/.mpd/mpd.pid"
state_file "~/.mpd/mpdstate"
audio_output {
type "pulse"
name "pulse audio"
}
audio_output {
type "fifo"
name "my_fifo"
path "/tmp/mpd.fifo"
format "44100:16:2"
}
bind_to_address "127.0.0.1"
port "6601"
I cannot find any suitable package for that dependency.
I am running Fedora 37 with Linux kernel 6.0.10
Can someone help me?
Relevant error message:
Could not find suitable distribution for Requirement.parse('ueberzug')
I thought this would fit better in "Discussions" but it seems to be disabled.
I just recently came across this project and going through, I noticed the limited support for album art display e.g the range of supported terminal emulators and image aspect ratio, amongst other things.
I'm the maintainer of term-image. Without much ado, I believe it has quite a lot to offer for the purpose at hand. It's still in active development and there's a lot more features on the way.
NOTE: It's still on version zero, meaning the API isn't stable yet and might change across minor versions, so it would be advisable to pin the dependency to a specific minor version if you decide to go ahead with it.
Finally, I'll appreciate your suggestions/contributions towards improving the project.
Thank you 🙇
Hi!
I've checked source code, and it seems that it uses hardcoded config path.
It would be nice if miniplayer read config from XDG config dir instead.
Thanks!
Hey,
Still loving the miniplayer :). Sadly, my setup has changed to use MPD's native albumart
command for fetching the album art, and as far as I can see miniplayer doesn't support fetching its album art from there.
I should be able to contribute a PR if you're interested (I did the HTTP album art stuff a while ago, remember? :)), although it may take some time (busy).
Bart
Thanks for this project! I'm a kitty + mpd user so this is perfect for me! 😄
I've just installed, configured and fired up the player. The general functionality seems to be working well however I'm not seeing album art. I've confirmed that the track I'm listening to has artwork embedded. I've also updated my configuration to point at my music directory (mirroring mpd/mpc config):
[player]
music_directory = "~/Music/iTunes/iTunes Music/Music/"
Miniplayer just shows Puts some beats on message. Mpd service is up and running other mpd clients are also working fine.
System Info:
OS: Manjaro Linux x86_64
Kernel: 5.12.9-1-MANJARO
Shell: zsh 5.8
WM: i3
my miniplayer default config
[player]
music_directory = ~/Music
font_width = 11
font_height = 24
image_method = pixcat
volume_step = 5
auto_close = false
album_art_only = false
show_playlist = true
[mpd]
host = localhost
port = 6600
mpd conifg
music_directory "/Music"
playlist_directory "/.config/mpd/playlists"
db_file "/.config/mpd/database"
log_file "syslog"
state_file "/.config/mpd/state"
bind_to_address "127.0.0.1"
port "6600"
auto_update "yes"
input {
plugin "curl"
}
audio_output {
type "pulse"
name "My Pulse Output"
}
Also tried changing locahost to 127.0.0.1 in miniplayer config as well and other mpd clients like ncmpcpp also working!
Originally posted by @c0dysharma in #5 (comment)
I've notced that when I launch miniplayer, the repeat_string
is displayed in the bottom left corner, suggesting that repeat has been toggled on. This doesn't appear to have any real effect, however. Any idea what might be causing this string to be displayed when launched?
Looking at lines 230-237 seem to suggest a check if repeat mode is enabled by the MPD client and to reflect as much in Miniplayer.
I've checked to see if changes are indeed being made to the client by having miniplayer
and ncmpcpp
open at the same time - if I have focus on ncmpcpp
and press the 'r' key, nothing happens to miniplayer
yet oddly enough, when I toggle the 'r' key on miniplayer
, both windows indicate a message telling me repeat mode is active.
Not sure if this is a bug or a faulty configuration on my end, but I can't seem to narrow it down if it is the latter case.
Hello,
i try to run but come across error
output
❯ miniplayer
Traceback (most recent call last):
File "/home/ahloi/.local/bin/miniplayer", line 455, in loop
self.handleKeypress()
File "/home/ahloi/.local/bin/miniplayer", line 263, in handleKeypress
if self.checkSongUpdate() == 1:
File "/home/ahloi/.local/bin/miniplayer", line 220, in checkSongUpdate
song = self.client.currentsong()
File "/usr/lib/python3.9/site-packages/mpd/base.py", line 435, in mpd_command
return wrapper(self, name, args, callback)
File "/usr/lib/python3.9/site-packages/mpd/base.py", line 498, in _execute
return retval()
File "/usr/lib/python3.9/site-packages/mpd/base.py", line 420, in command_callback
res = function(self, self._read_lines())
File "/usr/lib/python3.9/site-packages/mpd/base.py", line 360, in _parse_object
objs = list(self._parse_objects(lines))
File "/usr/lib/python3.9/site-packages/mpd/base.py", line 206, in _parse_objects
for key, value in self._parse_pairs(lines)
:
File "/usr/lib/python3.9/site-packages/mpd/base.py", line 201, in _parse_pairs
for line in lines:
File "/usr/lib/python3.9/site-packages/mpd/base.py", line 552, in _read_lines
line = self._read_line()
File "/usr/lib/python3.9/site-packages/mpd/base.py", line 534, in _read_line
line = self._rbfile.readline().decode("utf-8")
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xdd in position 55: invalid continuation byte
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/ahloi/.local/bin/miniplayer", line 487, in <module>
player.loop()
File "/home/ahloi/.local/bin/miniplayer", line 482, in loop
if error:
UnboundLocalError: local variable 'error' referenced before assignment
~
❯
this happened both build install (miniplayer-git on arch repo and PyPi)
any help is appreciated, thanks
Hi!
In the Config file, if I set any size, nothing changes. A 5 "monitors are unreadable small letters.
The other problem is that the covers do not appear.
My Music folder:
/ MNT / Music / Blues
/ MNT / Music / Rock
/ MNT / Music / Jazz
The setting is:
[art]
Image_method = ueberzug
Music_directory = / MNT / Music
http_base_url = http://192.168.1.2:88
http_cover_filenames = cover.jpg
Config option to allow miniplayer to automatically quit once playlist ends would be a nice enhancement.
Alacritty with ueberzug doesn't showed the cover art and with pixcat crashed
I know that a song I'm listening to has an embedded art. The others functionality work fine, but I'm not seeing the album art
image_method = ueberzug
music_directory = ~/mus
opt info:
alacritty 0.9.0 (fed349aa)
ueberzug 18.1.9
pixcat 0.1.4
Hey again, I noticed that when I have colors set to auto
in the config file, these colors tend to persist and bleed into other TUI apps that are launched from within the same terminal, ie ncmpcpp
I'm not 100% on this, but I believe ColorThief applies colors via escape sequences, which would probably explain why this happens. I suspect that if there is a way to clear all color values set by miniplayer once the program exits that this would no longer occur. Would sourcing colors from xresources upon exit be a good idea?
What do you think?
If the command line string ends on a /
character, the playlist is not populated as expected.
Executing
artist TWRP/
does nothing while
artist TWRP
works as expected.
Configurable keybinds would be nice to implement.
Hey there,
Love the simplicity of this program! I'm primarily using this as a scratchpad window to quickly show album artwork, and I feel like it is a really nice companion program to something like ncmpcpp
.
It might be neat to add a config option to show the artwork only; no progress indicator/track info.
Perhaps the track information can be used as the window title itself while there is an active track playing, rather than simply displaying 'miniplayer'.
I'm thinking this addition might be potentially useful for people who use a multiplexer with other minimal mpd clients -- i.e. a tmux session with individual panes for ncmpcpp, miniplayer, etc. - this way they could simply use miniplayer as a way to display artwork only, and still retain the ability to use it as a standalone application with track changing, pausing, etc. via the keybinds.
Before I take a stab at it myself I thought I'd pitch the idea to see what you think?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.