Skip to content

mountainash/Mixcloud-Play

This branch is 129 commits ahead of temporaryna/MixCloud-Play:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9fd2330 Β· Mar 8, 2024
Sep 23, 2022
Oct 2, 2022
Apr 5, 2021
Mar 27, 2020
Mar 19, 2020
Jun 6, 2021
Feb 26, 2022
Jun 6, 2021
Jun 6, 2021
Mar 8, 2024
Mar 19, 2020
Oct 30, 2022
Apr 5, 2020
Mar 8, 2024
Mar 8, 2024
Jun 6, 2021
Mar 8, 2024
Feb 27, 2022
Mar 8, 2024
Mar 8, 2024

Repository files navigation

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

screenshot

Features

  1. Media Controls: βͺ ⏯️ ⏩ (βͺ requires Mixcloud PREMIUM or SELECT)
  2. Menu Bar track title
  3. Song info in OS Notifications
  4. Stores login in local keystore/keychain
  5. Last.fm Scrobbing (coming soon)

Enable Media Controls

To allow the media key events to be passed through to the app on macOS:

  1. open System Preferences
  2. open Security & Privacy
  3. scroll down and select Accessibility
  4. 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.

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

  1. Build the app fist docker-compose run --rm mixcloud-play
  2. docker run --rm -it -v $(pwd):/project electronuserland/builder:14-05.21 to enter bash inside the container
  3. npm install -g asar
  4. asar extract dist/mac/Mixcloud\ Play.app/Contents/Resources/app.asar app_contents will extract the MacOS "dist" contents to /app_contents/