Skip to content
This repository has been archived by the owner. It is now read-only.
Switch branches/tags
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

No longer maintained

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

Modus Labs

Touch DJ

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
  • Looping
  • 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 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

  1. Go into server directory
  2. npm install
  3. node app.js
  4. Point your browser or iPad to URL

MIDI Support

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