Main Navigation

Main Content

DJ Template

DJ Template & custom APC-40 midi script Featured Image

Update: I am working on an update for Ableton 9 and this should be released shortly.

After months and months of hard work Version 1.0 of my new DJ Template for the APC-40 and Ableton is finally available to download. Along with a master Ableton file I have created Python custom midi scripts that add a whole load of new functionality to the APC-40 including:

  • Instant timed looping with the arm buttons (/16, /8, /4, /2, 1, 2, 4, 8. Use with shift for added loop control.)Quirkmsode DJ Template Guide Screenshot - APC40 Custom Loops
  • Vertical ‘Red Box’ Scene scrolling with the Cue Knob to quickly navigate your livesets. (Use with shift to change tempo)
  • Instant timed FX with the scene launch buttons (/16, /8, /4, /2, 1. Use with shift to change the FX including Repeats, Repeat Roll, Gater, Beat Masher, Filter Roll)Quirkmsode DJ Template Guide Screenshot - APC40 Custom Scene Launch FX
  • Maps the Device Control to a ton of cool FX (Including: Metalize, Filter Roll, Gater, Repeat Roll, Fade 2 Grey, Beat Masher)
    Quirkmsode DJ Template Guide Screenshot - APC40 Custom Device FX
  • Maps the Track Control section to an additional EQ and FX rack (Including Low, Mid, High, Gain, Filter, LFO Filter, Reverb Trail, Fade 2 Red)
    Quirkmsode DJ Template Guide Screenshot - APC40 Custom DJ EQ and FX
  • All FX racks come with cutoff and modifier knobs for maximum control of FX.
  • Use the Play button to reset the current tracks FX
  • Use the Stop button to reset all the tracks FX
  • Use Detail View to toggle from Loop mode to Cue mode. Cue mode allows you to change the functionality of the Cue Knob (Including: Cue, Scroll Scene, Enhanced Tempo Control, Scrub Clips, Change selected Clips Start/End Point)
  • Track Selection buttons auto select currently playing clip and can also toggle between Track and Clip Views to quickly see that tracks FX racks.
  • Template can be turned on/off using the Metronome button so can switch back to normal APC functionality at any point during set.
  • Template has been built to be flexible so if you don’t like the number of tracks or FX racks it uses you can simply delete them and the other features like instant looping, red box scrolling etc. will still work.
  • The Cross Fader is connected to a track loaded with scratch samples along with a scratch FX panel to simulate Traktors Gater effect, but with added functionality. (If you don’t like this you can simply delete it.)
    Quirkmsode DJ Template Guide Screenshot - APC40 Custom Scratch FX

Template breakdown

Basically it’s an 8 track template that has:

  • 4 tracks for ‘Decks’
  • 2 tracks for inputs (I feed 2 Traktor decks in, but they could be used for anything and also create space on the APC so it’s easy to differentiate between decks and acapellas)
  • 1 track for Acapellas
  • 1 track for X-Fader effects


  • You turn the DJ Template on by pushing the Metronome button.
  • The Track Select buttons will automatically display the currently playing clip (If there is one playing). You can also toggle between clip and track view by pushing the track select button for the currently selected track. (I found myself toggling between these views a lot and found it easier having this functionality here.)
  • The DJ EQ and FX Rack is automatically mapped onto the Track Control Encoders for each track.
  • The ‘Detail View’ button toggles between Loops and Utility Modes. These modes affect the Arm buttons as outlined below:
    • Loop Mode:

      The Arm buttons activate instant loops at varying lengths, pushing shift plus the Arm buttons will activate various loop functions like increase/decrease loop size, move loop etc.

    • Util Mode:

      The Arm buttons toggle the different Cue (encoder) Modes, pushing shift plus the Arm buttons will activate various loop functions like increase/decrease loop size, move loop etc. The Cue Modes are as follows:

      • Cue Mode One: Headphone Cue | With Shift: Tempo
      • Cue Mode Two (Default): Scroll Scene | With Shift: Tempo
      • Cue Mode Three: Loop Size | With Shift: Move Loop
      • Cue Mode Four: Move Start | With Shift: Move End
      • Cue Mode Five: Zoom Clip ( doesn’t work yet :-( ) | With Shift: Scrub Clip
  • The ‘Play’ button resets all FX and EQ on the currently selected track.
  • The ‘Stop’ button resets all FX and EQ on all tracks in the template.
  • The ‘Scene Launch’ buttons toggle different values for the chosen effect (parameter) on the Scene Effects Rack. Holding shift and pushing a ‘Scene Launch’ button will choose a different effect (parameter). The ‘Stop All Clips’ button acts as a modifier for the effects, this includes changing the pitch and altering delay, it depends on the chosen effect. Using shift with the ‘Stop All Clips’ button toggles the scene launch buttons between Hold and Momentary. The Scene Launch Buttons are as follows:
    • Scene Launch 1: 1Bar | With Shift: Select Repeat Roll FX
    • Scene Launch 2: /2 Bar | With Shift: Select Repeats FX
    • Scene Launch 3: /4 Bar | With Shift: Select Gater FX
    • Scene Launch 4: /8 Bar | With Shift: Select Beat Masher FX
    • Scene Launch 5: /16 Bar | With Shift: Select Filter Roll FX
    • Stop All Clips: Modify FX | With Shift: Toggle between Hold and Momentary
  • Loads of different FX to play around with. The Cutoff is linked between the two racks so you can bleed the effects in and out nicely. The modifier parameter affects each FX in it’s own way including changing the pitch, freezing the echo and altering delay
  • Track 8 is where the Scratcher Rack lives. I have included 4 samples that can be used, but any sound can be added and played around with. To use you just need to start a sample on track 8, make sure the volume fader is fully up and then use the cross fader to bring the sound in by sliding to the right. use the Parameters on the Scratcher Rack to mess around with the sound and create some cool and experimental scratch sounds.

Installation Instructions

  • Download and Unzip the latest version of the template.
  • Navigate to ‘Quirksmode DJ Template’ > ‘Midi Scripts’ and move the ‘APC40_Quirksmode’ folder to Ableton’s MIDI Remote Scripts folder…
    • For Mac this is located in /path/to/ableton/Live x.x.x/ > Right click > Show package contents. Navigate to contents/app-resources/MIDI Remote Scripts
    • For Windows this is located in /path/to/ableton/Live x.x.x/Resources/MIDI/Remote Scripts
  • Navigate to ‘Quirksmode DJ Template’ > ‘Quirksmode DJ Template Project’ and open the Ableton file ‘Quirksmode DJ Template.als’.
  • In Ableton goto Preferences > Midi Settings > Select APC40_Quirksmode from the drop down list. If this has worked you should see the red selection square.
  • Turn on the DJ Template by pushing the Metronome button.

Known Problems (still need to fix)

  • If you turn the DJ Template on and then off again, the Send controls don’t work.
  • In fact, just turning the DJ Template on breaks the send controls. I have chosen not to use them for this so it’s not a problem, but I am still keen to fix this and look into ways of implementing them.
  • Pushing shift turns on the Zoomer, I have had to move this to the 5th column, which can affect the lights if there are clips there (for my template there is not, but I still want to fix this)
  • When instant looping if you set it to /16 Bar and then release it will not be quantised properly and go out of sync. To avoid this problem for now you just need to set it back to 1 Bar and then release that.
  • Launching a clip can cause the track/clip view to toggle if you are not set up properly. To fix this you just need to turn off ‘Select on Launch’ in Abletons preferences.
  • Instant Loop lights can sometimes get left on for the Track, I need to find a way to remove these or at least offer a clear all loops button.
  • I am not 100% sure I have set the template up for cueing properly, any advice you have on this is much appreciated.

What next…

  • Add a button that toggles EQ mode. EQ mode basically takes over both the Track Control and Device Control encoders and effectively turns it into a giant 4 channel mixer EQ section (like the DJM-800 with Gain, High, Mid and Low). I can add 2 more buttons that toggle the tracks between 1-4 and 5-8. This will allow for smooth EQ mixing between tracks without having to keep changing tracks all the time.
  • Integrate the Template with Hanz’s midi scripts (with his permission)
  • Fix all the above problems
  • Possibly move the Cue Modes to the device control buttons for much easier access and leave the Arm buttons exclusively for Looping.

Massive thanks to…

  • Will Marshall, his incredible DJ Template and online tutorials were the reason I bought an APC-40, they helped me massively when creating this template.
  • Hanz Petrov, his website taught me everything I needed to learn about coding midi scripts for Python.
  • Darren Cowley, check out his online tutorials and Max4Live Devices, they are brilliant, especially the Isotonic. He also provided me loads of awesome FX which I am massively grateful for.
  • Apologies if I have missed anyone, get in touch and will add you to the list :-)
comments powered by Disqus

Sub Footer