Mopidy extension for playing music from SoundCloud.
Mopidy-SoundCloud is currently kept on life support by the Mopidy core developers. It is in need of a more dedicated maintainer.
If you want to be the maintainer of Mopidy-SoundCloud, please:
- Make 2-3 good pull requests improving any part of the project.
- Read and get familiar with all of the project's open issues.
- Send a pull request removing this section and adding yourself as the "Current maintainer" in the "Credits" section below. In the pull request description, please refer to the previous pull requests and state that you've familiarized yourself with the open issues.
As a maintainer, you'll be given push access to the repo and the authority to make releases to PyPI when you see fit.
Debian/Ubuntu/Raspbian: Install the mopidy-soundcloud
package from
apt.mopidy.com:
sudo apt-get install mopidy-soundcloud
Arch Linux: Install the mopidy-soundcloud
package from
AUR:
sudo yaourt -S mopidy-soundcloud
OS X: Install the mopidy-soundcloud
package from the
mopidy/mopidy Homebrew tap:
brew install mopidy-soundcloud
Else: Install the dependencies listed above yourself, and then install the package from PyPI:
pip install Mopidy-SoundCloud
If you're having trouble with audio playback from SoundCloud, make sure you
have the "ugly" plugin set from GStreamer installed for MP3 support. The
package is typically named gstreamer0.10-plugins-ugly
or similar, depending
on OS and distribution. The package isn't a strict requirement for Mopidy's
core, so you may be missing it.
You must register for a user account at http://www.soundcloud.com/
You need a SoundCloud authentication token for Mopidy from http://www.mopidy.com/authenticate
Add the authentication token to the
mopidy.conf
config file:[soundcloud] auth_token = 1-1111-1111111 explore_songs = 25
Use
explore_songs
to restrict the number of items returned.
- Original author: Janez Troha
- Current maintainer: None. Maintainer wanted, see section above.
- Contributors
- Fix
AttributeError: 'list' object has no attribute 'name'
when browsing tracks. (Fixes #43, #45, #59, PR #69) - Improved error handling. (Fixes #53, #71, #90, #95, PR #100)
- Merged oustanding pull requests implementing various API updates. (Fixes #79, #82, PR #100)
- Cached main API endpoint responses for 10 seconds.
- Cached stream links to reduce impact of API rate limit. (PR #100)
- Add
explore_songs
config to limit the number of results returned. (PR #100)
- Handle HTTP connection errors without a response. (PR #61)
- Ignore tracks without an URI. (Related to mopidy#1340, PR #62)
- Fix Unicode escape sequences in SoundCloud search queries by encoding as UTF-8. (Fixes #42, PR #55)
- Require Mopidy >= 1.0.
- Update to work with new playback API in Mopidy 1.0.
- Update to work with new backend search API in Mopidy 1.0.
- Add support for new explore api
- Add support for adding track by url
- Fix search parsing
- Support for adding playlists from liked section
- Fix for track parsing and empty artists field
- Add support for playing music from groups
- Update Soundcloud API endpoint
- Properly escape unsafe chars in URIs.
Deprecated
explore
andexplore_pages
config values.Extension is now using Mopidy's virtual filesystem to expose music from your SoundCloud account instead of fake playlists. See the "Browse" or "Files" option in your MPD client.
In the virtual file system you can browse:
- The "Stream" with tracks from the users you follow.
- All "Explore" sections.
- Your followers and their shared tracks.
- Your liked tracks.
- Your sets.
Add search support.
Add support for looking up music by SoundCloud URLs through searching for the URL as a file name.
- Updated extension and backend APIs to match Mopidy 0.18.
- Use proper logger namespaced to
mopidy_soundcloud
instead ofmopidy
. - Fix wrong use of
raise
when the SoundCloud API doesn't respond as expected.
- Don't cache the user request.
- Require Requests >= 2.0. (Fixes #3)
- Require Mopidy >= 0.14.
- Fix crash when SoundCloud returns 404 on track lookup. (Fixes #7)
- Add some tests.
- Import code from old repo.
- Handle authentication errors without crashing. (Fixes #3 and #4)