Skip to content

SilverWolf32/ed-jukebox

Repository files navigation

ED Jukebox

A companion app for Elite: Dangerous that makes your favorite soundtrack responsive to in-game events.

Status

  • Playlist loading, saving, and track organization
  • Journal reading
  • Playback control (shortcuts don't work on Mac)
  • Playback position remembered per-category
  • Up Next queue / history remembered per-category
  • Playlist import/export
  • App packaging
Unimplemented:
  • Playlist mass import/export
    • As a workaround, you can access the Electron browser's developer tools (⌥⌘I on Mac, ⇧⌃I on Windows) and dig around in the local storage. But that's a pain, and it doesn't seem to work in release builds.

Build setup

# install dependencies
npm install

# (if you changed any Less files)
# compile the Less files into CSS
# This assumes you have less installed: npm install [-g] less
# ** this script assumes a sh-style shell **
less.sh

# run it for testing; app will be called "electron" and be missing the icon
npm start

# (if you changed the icon .iconset file)
#
# copy the app icon from icon/ into build/, including
# making .icns file for Mac if iconutil is available
#
# the Windows icon is copied from icon/icon.iconset/icon_512@2x.png
#
# ** this script assumes a sh-style shell **
npm run make-icon

# build and package the standalone app
npm run dist
# you can build the Windows version on Linux using Wine, if you're so inclined
npm run dist-win

If you're on Windows, you'll also need to see Build Setup for Windows.

Build setup for Windows

To build a packaged .exe for Windows, you need to run npm run dist from Windows CMD. (If you run it from within WSL, you'll get a Linux build.)

This means you need to install Node on Windows itself.

You should probably run npm install from Windows CMD as well.

If running npm run dist crashes from Windows CMD, run npm run dist-winspaces instead. NPM on Windows seems to crash if you have spaces in your home folder name; the dist-win script works around that by bypassing NPM and running electron-builder directly.

(Optional, but helpful for CSS) Getting WSL -- Windows Subsystem for Linux

Microsoft has official instructions for installing WSL.

  • Open PowerShell as root (right-click > Run as Administrator, not simply as an admin user) and run this:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Dependencies

Runtime dependencies

Compile time dependencies

How it works

Elite writes game events to a "journal" file as they happen, which is used by third-party tools such as EDMC. This app uses the Music journal event to decide which tracks to play.

License

ED Jukebox is in the public domain. You can use it under the terms of the Unlicense (it contains a fallback for when the public domain is not available) or the MIT license, your choice.

This does not apply to anything in app/icons/octicons. Those are MIT-licensed.