impliedchaos / mopidy-bandcamp Goto Github PK
View Code? Open in Web Editor NEWMopidy backend for bandcamp
License: MIT License
Mopidy backend for bandcamp
License: MIT License
We'd suggest
sudo python3 -m pip install Mopidy-Bandcamp
in the install instructions. I know pip for python2 was recently deprecated but it's going to be hang around for a long time and people copy and pasting the command will find it doesn't work.
First thank you for this extension. Radio is on Mopidy life support this is the only extension that works! Also bandcamp is cool too.
Any idea for getting meta data from Bandcamp - connected to Icecast as streamer running Liquid soap log message:
[input_streamer:3] New metadata chunk ? -- Unknown - Unknown.
Currently search results will play mp3-128 streams, but this should play the mp3-v0 streams if the search result is in your collection.
Nice project,
I'm wondering if it could be possible to implement listening to followed artists new albums and wishlisted albums.
I have the opportunity to buy new albums for my collection about once a year, so it'd be nice to be able to save albums and artists to listen to.
If it's an easy implementation I could try to bend my python skills for it.
Hi @impliedchaos!
I'd like to thank you. I use this plugin often and I like it very much. I'm so glad Mopidy can play bandcamp music!
Thanks!
Just installed the plugin
all seems to work fine except images. where are they supposed to be stored?
seems that the method get_images is never called.
could you please help me to let it works? I'm using ncmpcpp
Mopidy-Bandcamp extension stopped working few weeks ago.
Here is an extract of the mopidy service journal:
nov. 10 11:43:52 argos mopidy[482]: ERROR [BandcampBackend-4] mopidy_bandcamp Failed to get collection
nov. 10 11:43:52 argos mopidy[482]: Traceback (most recent call last):
nov. 10 11:43:52 argos mopidy[482]: File "/usr/local/lib/python3.9/dist-packages/mopidy_bandcamp/library.py", line 46, in browse
nov. 10 11:43:52 argos mopidy[482]: data = self.backend.bandcamp.get_collection(
nov. 10 11:43:52 argos mopidy[482]: File "/usr/local/lib/python3.9/dist-packages/mopidy_bandcamp/bandcamp.py", line 136, in get_collection
nov. 10 11:43:52 argos mopidy[482]: self.fan_id = resp.json()["fan_id"]
nov. 10 11:43:52 argos mopidy[482]: KeyError: 'fan_id'
Installed version:
matthias@argos:~ $ python3 -m pip show mopidy mopidy-bandcamp
Name: Mopidy
Version: 3.4.2
Summary: Mopidy is an extensible music server written in Python
Home-page: https://mopidy.com/
Author: Stein Magnus Jodal
Author-email: [email protected]
License: Apache License, Version 2.0
Location: /usr/lib/python3/dist-packages
Requires:
Required-by: Mopidy-Local, Mopidy-Listenbrainz, Mopidy-Iris, Mopidy-InternetArchive, Mopidy-Bandcamp
---
Name: Mopidy-Bandcamp
Version: 1.1.5
Summary: Backend for listening to bandcamp
Home-page: https://github.com/impliedchaos/mopidy-bandcamp
Author: Dave Maez
Author-email: [email protected]
License: MIT License
Location: /usr/local/lib/python3.9/dist-packages
Requires: Pykka, setuptools, Mopidy
Required-by:
The bot created this issue to inform you that pyup.io has been set up on this repo.
Once you have closed it, the bot will open pull requests for updates as soon as they are available.
...
Add support for scraping an artist/album url so that you can easily add a bandcamp album via bandcamp:https://<artist>.bandcamp.com/<path>
Hey @impliedchaos!
First off, thanks SO MUCH for putting this together! This really connected the pieces for me, I've been using Mopidy for a couple of years, and not being able to play things off Bandcamp really made it a hassle for me sometimes. I just installed the plugin and tried adding my first album and it worked without any issues! Super awesome.
One question though - if you authenticate Bandcamp so that you'll be able to access your own collection, does it also mean you'll get the nice V0 streams, instead of the 128kbps ones [*]? I didn't find a mention of this in the documentation. Cheers, and looking forward to see progress on this!
Hi, I am not sure why I am seeing this and did not see another format to ask. I am not sure it is an "issue".
Problem summary:
When I browse in a Mopidy Frontend, Bancamp ext will add the correct URI to the playlist.
However, when using the Web Javascript (bookmark), or the 192.168.1.100:6680/bandcamp page to add, it results in a URI like: bandcamp:track:None-3763840907-1951117791.
More info:
Both Chromium and Firefox.
Both The JavaScript or entering using the 6680:/bandcamp webpage.
URL pointing to either looback IP or local IP
Every bandcamp page tried has the same result of bandcam:track:None-
JavaScript Bookmark URL:
javascript:s='http://192.168.1.100:6680/bandcamp/';f=document.createElement('form');f.action=s;i=document.createElement('input');i.type='hidden';i.name='url';i.value=window.location.href;f.appendChild(i);document.body.appendChild(f);f.submit();
Example From Bandcamp track URL:
https://jasonwebley.bandcamp.com/track/in-this-light
If using Mopidy Client Browse | Bandcamp the URI returned is:
bandcamp:track:2220410354-3763840907-1951117791
However, Using the Bandcamp ext Webpage (or bookmark) the URI returned is:
bandcamp:track:None-3763840907-1951117791
Steps and what is seen:
Click the JavaScript Bookmark while on URL above:
Browser warning page shows up:
The information you’re about to submit is not secure
Because this form is being submitted using a connection that’s not secure, your information will be visible to others.
Click [Send Anyway]
Popup Dialog:
192.168.1.100:6680/ says
URL has been added.
Click [OK]
Back In Mopidy Client (IRIS) Now Playing:
Track has been added to Queue.
Shows All correct info. EG:
In This Light
Jason Webley . In This Light - Live at Bear Creek 4:04
In Mopidy Client (IRIS) the tracks will not play.
Using the Client to see the URI with it will show:
Error: Not found
Could not find anything with URI bandcamp:track:None-3763840907-1951117791
We can also use Copy/Paste URI to see the same bad URI above. Used IRIS because other Front Ends like Musicbox_webclient and Muse have the same problem (as expected), but do not handle the bad URI in a way we can see it (both just fail to play, or will hang on tack info request).
Mopidy/Extensions/Python/Etc Versions:
Executable: /usr/bin/mopidy
Platform: Linux-5.10.35-v8+-aarch64-with-debian-10.9
Python: CPython 3.7.3 from /usr/lib/python3.7
Mopidy: 3.1.1 from /usr/lib/python3/dist-packages
---
Mopidy-Bandcamp: 1.1.4 from /usr/local/lib/python3.7/dist-packages
Pykka: 2.0.3 from /usr/lib/python3/dist-packages
Mopidy: 3.1.1 from /usr/lib/python3/dist-packages
setuptools: 54.2.0 from /usr/local/lib/python3.7/dist-packages
---
GStreamer: 1.14.4.0 from /usr/lib/python3/dist-packages/gi
Detailed information:
Python wrapper: python-gi 3.30.4
Relevant elements:
Found:
uridecodebin
souphttpsrc
appsrc
alsasink
osssink
oss4sink
pulsesink
id3demux
id3v2mux
lamemp3enc
mpegaudioparse
mpg123audiodec
vorbisdec
vorbisenc
vorbisparse
oggdemux
oggmux
oggparse
flacdec
flacparse
shout2send
Not found:
flump3dec
mad
setuptools: 54.2.0 from /usr/local/lib/python3.7/dist-packages
There are some artists that use custom domains with Bandcamp where it will redirect any URL's for that artist to their custom domain and thus stripping out the bandcamp.com domain.
There appears to be a check to verify that the web URL contains bandcamp.com and it will prevent a URL from being added if it doesn't contain bandcamp.com
mopidy-bandcamp/mopidy_bandcamp/web.py
Line 13 in 8a6c858
For example, if you try to add any music from Monstercat, you'll receive an "Invalid URL" error message.
Example URL: https://music.monstercat.com/track/move-back
Here is the documentation on how artists can setup custom domains for their music along with it notating that any bandcamp.com address will automatically redirect to their custom domain.
https://get.bandcamp.help/hc/en-us/articles/360007902973-How-do-I-set-up-a-custom-domain-on-Bandcamp-
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.