Mixcloud-Play
Mixcloud-Play copied to clipboard
Mixcloud macOS desktop app with media controls, track title in menu bar & notifications
Mixcloud Play
Application wrapper for Mixcloud
Mixcloud Play is the missing desktop experience for Mixcloud.com with support for media controls and showing current track in menu bar. Enjoy listening to hours of new music...
Download for Mac
Features
- Media Controls: ⏪ ⏯️ ⏩ (⏪ requires Mixcloud PREMIUM or SELECT)
- Menu Bar track title
- Song info in OS Notifications
- Stores login in local keystore/keychain
- Last.fm Scrobbing (coming soon)
Enable Media Controls
To allow the media key events to be passed through to the app on macOS:
- open System Preferences
- open Security & Privacy
- scroll down and select Accessibility
- Use
+
or drag&drop in the Mixcloud Play.app
Open the app and try using the media keys.
Development
Building
npm install
npm run build
OR
npm run start
Use the compile macOS .app with Chromium Dev Tools and some extra debugging enabled:
npm run build:debug
Docker Compose
docker-compose build
docker-compose run --rm mixcloud-play {any command here}
Built app will output to ./dist/mac/Mixcloud Play.app
Auto Update Publishing (Github)
Publish app updates is set-up as per the GithubOptions for Electron Builds Auto Update.
- Update the app version number in both
package*.json
files.
export GH_TOKEN={token_with_repo_scope}
npm run publish
A release in the specified GitHub repo should be drafted and ready for release.
Development Tips
Asar Extraction
Linking/locating files inside the build can be hard to know what's going on inside the app.asar
(inside Electron). Us the following commands to extract the contents of the .asar.
- Build the app fist
docker-compose run --rm mixcloud-play
-
docker run --rm -it -v $(pwd):/project electronuserland/builder:14-05.21
to enter bash inside the container -
npm install -g asar
-
asar extract dist/mac/Mixcloud\ Play.app/Contents/Resources/app.asar app_contents
will extract the MacOS "dist" contents to/app_contents/