[DEPRECATED] This repository is no longer maintained
While this project is fully functional, the dependencies are no longer up to date. You are still welcome to explore, learn, and use the code provided here.
We have many more inspiring projects for you at Modus Labs.
Touch DJ is a Mobile DJ App targeted for tablet resolutions implemented in Sencha Touch 2.2.
- Two CDJ-style audio decks
- Real Time Waveform Display
- Play / Cue
- Pitch Adjustment
- Pitch Bending
- 2 Channel Audio Mixer
- 3 Band Equalizer (High, Mid, Low)
- Channel Volume Control
- Channel Volume Meters
- Deck Transport Buttons
- Track Browser
- Display Track Metadata and Cover Art
- Deck Load Buttons
How to Run
Node.js & Npm is required
This set of instructions adapted from https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager will install the latest stable NodeJS on an Ubuntu system, along with the required librtmidi library:
sudo apt-get update sudo apt-get install librtmidi-dev python-software-properties python g++ make sudo add-apt-repository ppa:chris-lea/node.js sudo apt-get update sudo apt-get install nodejs sudo ln -s /usr/bin/nodejs /usr/local/bin/node
MP3 Files need to be added to /tracks directory
- Go into server directory
- Point your browser or iPad to URL
MIDI Support is enabled via WebSocket connection through the Node.js server.
To begin sending MIDI messages to the client make sure you open a MIDI Connection between the MIDI Controller and your computer. (Audio MIDI Setup in Mac)
After the MIDI connection is opened, then you can start the Node.js server and run the app.
MIDI Messages are emitted to all connected clients.
Licensed under the MIT License.
See license.txt for more information