Skip to content

Modus-Logo-Long-BlackCreated with Sketch.

  • Services
  • Work
  • Blog
  • Resources

    OUR RESOURCES

    Innovation Podcast

    Explore transformative innovation with industry leaders.

    Guides & Playbooks

    Implement leading digital innovation with our strategic guides.

    Practical guide to building an effective AI strategy
  • Who we are

    Our story

    Learn about our values, vision, and commitment to client success.

    Open Source

    Discover how we contribute to and benefit from the global open source ecosystem.

    Careers

    Join our dynamic team and shape the future of digital transformation.

    How we built our unique culture
  • Let's talk
  • EN
  • FR

Touch DJ – A Sencha Touch DJ App

Published on July 30, 2013
Last Updated on November 30, 2022
Application Development

During the DJing with Sencha Touch talk at SenchaCon 2013 we finally unveiled and demonstrated Touch DJ.

Overview

Touch DJ is a full fledged DJ app. It takes inspiration from existing DJ hardware and desktop DJ software (such as Traktor and Serato Scratch Live).

The app implements the following features:

  • 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
  • External MIDI Support
    • Control App Functions from any MIDI Device / Software
    • Includes Sample TouchOSC Layout

Screenshots

Screenshot_4

iOS Simulator Screen shot Jul 3, 2013 1.09.13 AM

iOS Simulator Screen shot Jul 3, 2013 1.21.17 AM

Development

The app was written using Sencha Touch 2.2 on the front-end and Node.js to serve the static content, support the Track Browser as well as the MIDI communication via WebSockets.

The client was also supported by the following 3rd party libraries:

  • Wavesurfer.js
    • Real-time Waveform Display
  • Dragdealer.js
    • Touch enabled Slider
  • JavaScript ID3 Reader
    • Parse ID3 Metadata and CoverArt from MP3 files

This application would not have been possible without the HTML5 Web Audio API. The Web Audio API was used to handle the playing of the audio tracks, implementing a 3 Band Equalizer, Channel Volume Control & Meter, as well as the Crossfader.

This is what the Audio Routing Graph looks like for the Touch DJ app:

senchacon presentation.024

Source

Touch DJ is available in open source under the MIT license. Feel free to fork the repo:

Touch DJ on GitHub

Posted in Application Development
Share this

Stan Bershadskiy

Stan Bershadskiy specializes in all things JavaScript with vast knowledge in Sencha frameworks. Recently, he has directed his focus towards React Native and has co-authored The React Native Cookbook. Stan is located in New York City and can be found presenting at conferences around the country. During his time with Modus Create, Stan filled the role of Architect.
Follow

Related Posts

  • Sencha Touch 2.0
    Sencha Touch 2 Touch Events Re-firing

    While generally we try to avoid native browser alert() and confirm() we sometimes have no…

  • Sencha Touch 2.0
    Sencha Touch 2 Touch Events Re-firing

    While generally we try to avoid native browser alert() and confirm() we sometimes have no…

Want more insights to fuel your innovation efforts?

Sign up to receive our monthly newsletter and exclusive content about digital transformation and product development.

What we do

Our services
AI and data
Product development
Design and UX
IT modernization
Platform and MLOps
Developer experience
Security

Our partners
Atlassian
AWS
GitHub
Other partners

Who we are

Our story
Careers
Open source

Our work

Our case studies

Our resources

Blog
Innovation podcast
Guides & playbooks

Connect with us

Get monthly insights on AI adoption

© 2025 Modus Create, LLC

Privacy PolicySitemap
Scroll To Top
  • Services
  • Work
  • Blog
  • Resources
    • Innovation Podcast
    • Guides & Playbooks
  • Who we are
    • Our story
    • Careers Old
  • Let’s talk
  • EN
  • FR