dylanaraps / bum Goto Github PK
View Code? Open in Web Editor NEW๐ต Download and display album art for mpd/mopidy tracks.
License: MIT License
๐ต Download and display album art for mpd/mopidy tracks.
License: MIT License
Hi,
Thx for this good program, under archlinux i got with python3
โฏ bum --cache_dir=/home/cyril/.covers/
Traceback (most recent call last):
File "/usr/bin/bum", line 11, in <module>
load_entry_point('bum==0.1.3', 'console_scripts', 'bum')()
File "/usr/lib/python3.7/site-packages/bum/__main__.py", line 69, in main
song.get_art(args.cache_dir, args.size, client)
File "/usr/lib/python3.7/site-packages/bum/song.py", line 34, in get_art
file_name = cache_dir / file_name
TypeError: unsupported operand type(s) for /: 'str' and 'str'
Hey there,
I'm looking to use bum to download album art covers and feed them into Conky. The master branch version of bum works fine for me with Conky, but the pypi version does not have this function.
When I get the error "error: Couldn't find album art for ..." the last successfully downloaded album art is still the current.jpg in the cache folder which in most or many cases will not be the correct image.
It would be great to have a default image stating "no album art" for such cases.
Something that would be cool, is if the program could set the album art as your wallpaper. I scripted something that does that but its sorta glitchy atm.
Installing and running bum on macOS works fine but a mpv window doesn't show up. I think it's related to this issue?
song dictionary doesn't have to contain the key album (when the song doesn't belong to an album) which results in a KeyError in several places in the program.
I just recently installed and gave it a test.
Whenever bum tries to switch cover art, it displays the following:
album: Using release-id: 098060d4-ba3c-469d-88b0-08642261c7ab
album: Swapped art to Daft Punk, Discovery.
Traceback (most recent call last):
File "/usr/bin/bum", line 33, in <module>
sys.exit(load_entry_point('bum==0.1.3', 'console_scripts', 'bum')())
File "/usr/lib/python3.9/site-packages/bum/__main__.py", line 77, in main
client.send_idle()
AttributeError: 'MPDClient' object has no attribute 'send_idle'```
My mpd client is ncmpcpp.
Hi
I could not install using pip3 for some pip errors on Debian testing. So I used the source "python3 setup.py install"
This is what I am getting when I try to run it.
Traceback (most recent call last):
File "/usr/local/bin/bum", line 11, in
load_entry_point('bum==0.1.3', 'console_scripts', 'bum')()
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 480, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 2693, in load_entry_point
return ep.load()
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 2324, in load
return self.resolve()
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 2330, in resolve
module = import(self.module_name, fromlist=['name'], level=0)
File "", line 971, in _find_and_load
File "", line 955, in _find_and_load_unlocked
File "", line 656, in _load_unlocked
File "", line 626, in _load_backward_compatible
File "/usr/local/lib/python3.6/dist-packages/bum-0.1.3-py3.6.egg/bum/main.py", line 14, in
File "", line 971, in _find_and_load
File "", line 955, in _find_and_load_unlocked
File "", line 656, in _load_unlocked
File "", line 626, in _load_backward_compatible
File "/usr/local/lib/python3.6/dist-packages/bum-0.1.3-py3.6.egg/bum/song.py", line 6, in
File "/usr/local/lib/python3.6/dist-packages/mpd.py", line 399
except socket.error, err:
^
SyntaxError: invalid syntax
In some cases a downloaded, single song (in this case, Dark all Day by GUNSHIP grabbed from BandCamp) may not have an "album" associated with it.
This causes a hard fail where it's assumed "album" exists, for example in brainz.py
:
data = mus.search_releases(artist=song["artist"],
release=song["album"],
limit=1)
This can be fixed by using "title" in lieu of "album", and this seems to correctly fetch the album art too:
artist = song.get("artist")
title = song.get("title")
album = song.get("album", title)
data = mus.search_releases(artist=artist,
release=album,
limit=1)
I'm happy to do a PR to fix this, but can anyone think of instances where this might fail?
The custom port is not working anymore.
In brainz.py, if it fails to connect to musicbrainz.org it will immediately retry by recursively calling the get_cover
function. This would effectively lock up the process, repeatedly hitting musicbrainz.org in case of network or service issues.
I've put together a naive fix for this, which you can find here- pimoroni@0dbe807
Would you be interested in a PR?
It would be nice to have a command line flag to avoid running bum as a server, and to only fetch the album artwork of the current track and then exit.
Hey Dylan! It would be great to have the option to connect to a non-localhost server. I found localhost hardcoded into song.py, changing it to one of my MPD server IPs seems to work.
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.