Mix is a small Elm app for building a DJ playlist from a track library. It finds tracks with a close BPM and compatible musical key, then shows the best matches first.
- Search or browse the Library.
- Select a track to see its matches.
- Use Add to place a track at the end of the Playlist.
- Select any playlist track to find the next match.
- Use Remove to take a track out of the Playlist.
- Give a playlist a name and choose Save to keep multiple playlists; use the menu to load one later.
- Use Export Markdown to download the ordered playlist as
mix-playlist.md.
The playlist also shows the pitch change at the start and end of each track. Your current playlist and named playlists are saved automatically in your browser and restored the next time you open the app.
- Press
1,2, or3to open Library, Playlist, or Matches. - Press
/to search the Library. - Use
Up/KandDown/Jto move between tracks. - Press
Enterto select a track andAto add it. - Press
DeleteorBackspaceto remove the current Playlist track. - Press
?to open the shortcut guide andEscapeto close or clear.
Install the project packages, then start the development server:
yarn
yarn devOpen http://localhost:3001.
src/Main.elmcontains the app state, matching logic, and views.static/index.htmlcontains the page shell and styles.static/tracks.jsoncontains the track library.
The app uses Elm 0.19.2 and Webpack 5.