[cheat codes 2] (rev 220524: LTS6.2)

oh, wowowowowow – i deleted IG from my phone a few weeks ago, so totally missed these. unbelievably rad, @DuellingAnts. super humbling to see expressions like this from such a brilliant + empathetic sound voyager. the playful way you used arps in the first video is super inspiring. you’ve put so much care and attention into this script, i really can’t thank you enough :revolving_hearts: :sparkling_heart:


absolutely - and thank you for the kind words!

thanks a lot dan! «playing» the arps is one of my favorite techniques. a very nice way to introduce synced variations


Going thru the wonderful [cheat codes 2 workshops: two video courses] and have a few questions:

  1. How come if a pattern is on, stopping the transport doesn’t stop the pattern? (clock is set to source: internal, so there’s no external MIDI trickery going on). More accurately: it seems to stop the patterns for a moment, then they just continue playing again shortly after, at what seems to be the next bar. (the transport continues flashing “X.X” indicating it’s stopped)

  2. On the Arps section: It says that if “arp N hold style” is set to “last pressed” (rather than “additive”) in PARAMS, that pressing a new grid pad while arp is in “hold” mode will replace the running arp with the new pressed pad(s). Instead, I’m seeing it always behave as “additive” no matter what my PARAMS are set as (for my saved collection). Even with a fresh collection, I can get it behaving as expected (with correct “last pressed” behavior), until I use the “ALT+pad to remove a pad from the arp” gesture. That gesture does successfully remove a pad from the arp, but seems to switch the arp into “additive” mode and it cannot be switched out of that mode

  3. Finally: when saving patterns & arps in the metasequencer, is it intentional that if you are saving an arp to a metasqeuencer slot, you have to clear any saved pattern (ALT+zilchmo1) before you can save the arp? I find that if i record a pattern, save it metasequencer slot 1, then pause the pattern, turn on arp, hold an arp, save it to metasequencer slot 2, then when i toggle back and forth between metasequencer slot 1 and slot 2, it’s always the saved pattern. only if i ALT+zilchmo1 to clear the pattern (not just pause it) before punching in the arp and saving it does it properly let me switch between them in the metasequencer

These little hiccups aside, I’m super happy I took these last few days to really dig in to CC2. So many great little features you can get lost in! Definitely have some little starter snippets that will make it on to my next album :raised_hands:


hi hi! hope all’s well :slight_smile:

thank you for identifying these snags! i just pushed some changes for q’s 2+3, if you wanna update through maiden – this is the 211124: LTS4 release.

  1. this is not intentional + i’m not able to reproduce this issue on my side – if it persists with the new version, lmk!
  2. ah, yep! the arp pad removal gesture was also triggering the ‘pad up’ counter, which put the arp’s awareness of how many keys were currently held down to -1. should be fixed now :hammer_and_wrench:
  3. this led to some general metasequencer clean-up, thanks for asking! in LTS4, save priority is as follows:
    • if grid pattern is recorded + playing: grid pattern saves
    • if grid pattern is recorded but dormant + arp is playing: arp saves
    • if both have data but both are dormant: grid pattern saves

stoked to hear what you cooked up for the next album!! thank you for engaging with the script + helping identify these hiccups!


Wow, that was fast! I can no longer reproduce any of the issues. Thanks so much!

I did have a random bug where banks A & B worked fine with both patterns and arps, but bank C wouldn’t play any arps (patterns were fine). I can’t reproduce it now, though, so… gonna just chalk it up to gremlins. Thanks again for the awesome work!!


rad, let’s call it ready then!

rev 211124: LTS4

a few new features + fixes – mega thanks to @Clashley1 + @DuellingAnts + @21echoes for the warm + helpful testing <333



  • pad press live-quantization
    • head over to PARAMS > timing + patterns + arps and you’ll find a live-quantize pads setting!
    • flip it on for bank pad presses to be quantized to the next 1/16th beat at the current bpm
    • patterns also filter through this mechanism, so that should give a bit of flexibility when changing tempo on an already-recorded pattern
  • metronome click
    • on main page, hold K2 and you’ll see the transport appear – use E1 to scroll over to CLICK and press K3 to toggle an audible metronome click on/off
    • don’t hear it when it’s on? make sure the ‘engine’ level is turned up on your norns levels page. it won’t bleed into live buffer recording :slight_smile:
  • adjustable fade time
    • by default, pads have 10ms of fade time on their start + end, which softens discontinuities in the waveform and allows for clickless cutting – when working with percussive material, this setting can be too aggressive on transients, so there’s an option to reduce the fade per-bank! (this addresses @tournesol’s transient q’s above)
    • head to PARAMS > loops + buffers > banks and you’ll find fade time – 10ms to 0ms


  • Faderfox EC4 support! (thank you @MentalSandal !!)
    • MIDI Fighter Twister mode can also be accessed with the EC4
  • 64-sized grids now have pattern saving page
    • on a 64-sized grid, hold ALT + press the top-right key (8,1) to get to a pattern management page
    • row 2: bank a, row 3: bank b, row 4: bank c
    • if either a grid pattern or arp is currently loaded in a bank, a quick hold on any pad in the corresponding row will save that pattern or arp there for recall
    • tap a saved pad to load the pattern saved there
    • ALT+hold a saved pad to clear the pattern saved there
  • midi-mappable pattern management
    • intended to help folks with footswitches be able to load patterns on-the-fly. inspired by convo with @yorke
    • head to PARAMS > pattern management > iterative load to map a MIDI CC to trigger iterative cycling of saved patterns (next/prev)
    • this also means folks using the TouchOSC template can save/recall patterns (these commands are also OSC addressable)
  • arc 2 support (for 64-sized grids only)
    • under PARAMS > grid/arc, you’ll find an arc size parameter
    • arc will display parameters for the currently-selected bank (64 grids have a bank-focus mechanism that 128’s don’t need / have)
    • bottom encoder: changes which parameter the top encoder affects (loop window, loop start, loop end, filter tilt, level, panning)
    • ALT + top encoder movement proliferates adjustment to all pads


  • arc now respects the loops enc resolution param (thx for the report, @jeffreypierce!)
  • lots of little pattern-launching gremlins on the metaseq page have been sussed out and banished
  • arp pad removal no longer puts ‘keys held’ into a negative state
  • cleaned up some parameter default states to create a better first-touch experience
  • bars pattern mode has also been updated for more predictable behavior when cancelling a recording and a little bit of timing forgiveness if you hit a pad just as the recording starts

Oh, looking forward to testing the ec4 stuff…
Does this mean that the new version with timestretching is out soon as well? :slight_smile:


i’d like to get beta testing on cheat codes yellow started in the next two weeks, so i’ll be sure to hit you up :slight_smile:


!!Yes!! Thanks for that. I was just going to ask how I to …

EDIT: Mmh. To early, my rejoicing. I really have no idea how to set this up (I do know how to midi map parameters but I don’t know how to make use of the ‘MFT mode’) and didn’t find anything here either. I’d be grateful for some hints…

1 Like

twenty characters of hell yes please!!

1 Like

humbly paging @MentalSandal for the assist on this, as I don’t have an EC4 myself :slight_smile:

1 Like

Oh yes, thanks, I will.

I cannot help completely, but how far I got:
In the midi encoder settings, I chose the EC4, enabled midi echo to make sure that the states get pushed, if you choose an empty set up on your ec4, grp1 is midichannel 1, so it works with bank A, grp2 is midichannel 2, so it works with bank B, …grp 3, channel 3, bank c.
However I find that I can change the values but once I hit the max (eg pad 16 or cutoff fully open) of an encoder, I cannot dial back to negative values. I need to see if there are special settings in the midi twister template if I can open it without the actual hardware and then see if there is something else to the settings /EDIT: cannot open anything in the editor without the hardware… ) but maybe I am only getting some oddness due to some conflict with the ec4 which I previously mapped to some macros, maybe I need to delete my pset.

So, if anyone can send a screenshot of the mfs template settings, it might help, if not, I probably will delete my pset and see if I get the expected behaviour then.


That sounds very musical I haven’t even thought to try that.

So so thankful to be considered :pray: very grateful for cheat codes 2 support for 64 and arc 2. It is absolutely beautiful and inspiring.

Cheat codes yellow :star_struck: it’s gunna do my taxes for me.

1 Like

Thanks! I will check this out.

Recently I also mapped some of the params to try out EC4 with CC and there was also some weird stuff going on - quite similar to what you are describing (values going up even if I turned the encoder backwards). I’ll post as soon as I have any results worthwhile to report…

Ah, ok, never had that issue before. So, maybe try with midi enc setting and see if it just works for you.
In the end, I might just delete my pset tomorrow and try to see if it helps and then also do a template with “labels” for the EC4 which is the nicest thing about it. :slight_smile:

1 Like

Thanks for this update Dan, so excited to try it out!

Here is the template to send to the EC4, it contains the midi mappings that correspond to the MFT.
cc2.syx (179.4 KB)

Warning: sending sysex templates to the EC4 will replace all your existing setups.
Please backup your templates before, and if you’d like to append this setup to your configuration, the manual way is probably best. Page 2 and 3 have the same mappings, except page 2 goes from CC 16 to 31 and page 3 CC 32 to 47.

The EC4 should be detected automatically by CC2, if the MFT mode is enabled, no need to add any midi mapping to your Norns.

It’s setup like this:

As you can see, it’s similar to the MFT layout. But because this controller can’t send push and turn values simultaneously, I had to add 2 buttons on the bottom left: Focus and Shift.

If you press Focus + and turn encoder Pad1 (first encoder of the first row), you can scan through each pad in focus mode, like on the grid.
If you press Shift and turn any other encoder with a secondary function (like Bank filter cutoff/Pad filter cutoff), you will be able to modify that secondary function. It’s worth mentionning that you should be able to use shift mode while in focus mode too, but that’s a kind of a 2 handed combo :smiley:


Thanks! This works very well.

1 Like

Hey @MentalSandal,

I did not yet manage to load your CC midi file without overwriting all my other setups and groups. I can send and save a single FF group but as soon as I receive a sysex file (I am using SysEx Librarian on MacOS) I loaded you CC setup and have deleted all other setups on FF.

I could not find any information in the Faderfox manual how to do this. Can you possibly help?

@mbutz I’m really sorry to hear it’s been overwriting your mappings, I hope it didn’t cause you too much trouble :frowning:

I’ve never imported templates on my EC4 so I wasn’t aware of this.
Have you tried the online editor? Faderfox EC4 Editor
I think it lets you choose where/what you want to import/export.

IIRC I’ve only exported one setup (SE01) containing the 3 groups necessary. If your mappings were on this setup, then this would explain why they got wiped.
Do you have any backups you could send on a different setup page?