Code Monkey home page Code Monkey logo

miniplayer's People

Contributors

aaw3 avatar an-prata avatar bartkl avatar chebro avatar epos95 avatar guardkenzie avatar s-walrus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

miniplayer's Issues

Error when trying to build

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.

Put some beats on! message

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!".

KeyError: 'artist'

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).

[Question] Is mpd's port hardcoded?

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)?

AUR package fails to build

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... 

UnboundLocalError: local variable 'error' referenced before assignment

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"

Cannot install ueberzug from PyPi.

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')

Suggestion for album art display

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 🙇

XDG paths support

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!

Support for MPD `albumart` command

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.

  1. Is that correct?
  2. Would you be interested in adding it?

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

No Album Art

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/"

Puts some beats on! Message

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)

Repeat text always shows up when miniplayer is started and is not updated if changed outside miniplayer

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.

'utf-8' codec can't decode byte 0xdd in position 55: invalid continuation byte

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

No album art in the virtual terminal

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

Can you help me?
IMG_6162

Alacritty doesnt show cover art

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

Reset color data when program exits

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

  • running miniplayer, colors get applied based on artwork:
    image

  • running ncmpcpp, colors which miniplayer applied persist:
    image

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?

Playlist not populating if ending on a /

If the command line string ends on a / character, the playlist is not populated as expected.

Example

Executing

artist TWRP/

does nothing while

artist TWRP

works as expected.

A config option to show only the album artwork

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?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.