[cheat codes 2] (rev 230319: LTS11 - nb!)

cheat codes 2

a sample playground

hard requirements:

norns (221214 or later)


  • grid (64 or 128, all editions – 256 works too, just half-used)
  • arc (made for 4-encoder)
  • OP-Z (setup notes)
  • Midi Fighter Twister: cc-mft.mfs (2.2 KB)
  • Launchpad, Push 2, or other device supported by midigrid
  • TouchOSC to run the cheat codes 2 template – many thanks to @CarlosUnch for helping revise the cc1 template for cc2!
  • any device which sends midi
  • max for live: cc-osc.amxd (8.1 MB)
  • crow
  • Just Friends

main docs <~~~ click


now available in maiden (make sure to refresh the community catalog!)


patch 201222 (Dec 22 2020): MIDI notes + Just Friends voices


  • MIDI note output!
  • Just Friends voice output!
  • a TON of mappable MIDI triggers + mods in params!
  • random recording probability per live segment
  • feedback % per live segment


  • control pads from either a single external MIDI channel or multiple external MIDI channels (previously was only multiple) – this fixes issues related to Launchpad + Midi Fighter button-boxes. thank you for debugging help @leolodreamland + @fourhoarder
  • arps other than fwd now restart correctly after being paused! thank you for the report, @sno!
  • live segment recording behaves more predictably when using random triggering (oxymoron, I know, but previous behavior was buggy)

more here

patch 201203 (Dec 03 2020): lowercase alt fix
  • lowercase alt can perform focus hold (ty @bloc + @mei)
  • if MFT doesn’t have a port, ignore it until one is assigned (ty @mattlowery)
patch 201129 (Nov 29 2020): midi CC hotfix
  • restored OP-Z encoder control over parameters
patches 201128 (Nov 28 2020) + 201126: 64 grid compatibility, fixes: Live rec, arc


  • 64 grid support (see PARAMS > GRID): main performance and delay pages! more controls to come.

  • 1-shot Live rec latency offset: if you’re recording into cheat codes from another computer’s DAW, you’ll likely see some latency in 1-shot mode. this is expected, so the latency offset parameter allows you to compensate for this in 10ms increments, up to 1 second. ymmv, but an easy way to determine a good value to is record in 1-shot mode without this compensation and see how many 0.01s increments it takes to align an auto-chopped pad to the start of the recorded sample. match the latency compensation to this number of increments and you’ll be set for the rest of the session!
  • brought back manual control parameters for folks wishing to map a static slider to current pad’s start/end points
  • laid the foundation for a # submenu to the [loops] menu, not accessible in this update tho :slight_smile:


  • arc window parameter now calculate correctly
  • Live rec behaviors (loop or 1-shot) are unique per Live segment
  • changing rec loop encoder resolution snaps all segments to appropriate values
  • auto-slice zilchmo gesture now checks for pads’ segment assignment and auto-chops pads appropriately to the segment’s start and end points (previously, was just checking with the current rec focus start/end points)
  • more fluid buffer jumping
patch 201119 (Nov 19 2020)


  • arc LEDs now scale appropriately across all buffers (thank you @swhic!)
  • arc movements now update waveform
  • arc pattern recorder can switch between foci
    • E2 on timing > arc patterns > loop(w) switches between loop(w), loop(s), and loop(e)
  • arc pattern playback can have variable rate
    • after recording an arc pattern, hold K1 on timing > arc patterns to reveal pattern playback rate
    • use E3 while holding K1 to adjust playback rate (1/10th speed to 10x)


  • 1x works on all pads in non-focus mode
  • focus hold unlocks crow pad toggle
    • bright key next to zilchmo 3 when in focus hold mode
    • determines whether a pad execution should send a pulse out of the crow output, if timing > pad pattern > crow pulse is set to pads)
  • fixed some local alt issues (thank you @bloc!)

more to come…

cheat codes 2 was built with encouragement, feedback, insight, and ideas from many.
specific thanks is due to:

  • @tyleretters for helping me build the yet-to-be-released docs website (more on this soon) and talking through life every few weeks
  • @mbutz for establishing such clear methods of grid docs, which served as the backbone to the PDF above
  • @DuellingAnts, @glia, @CarlosUnch, @yoyosandshoes, @zanderraymond, @MatthewAshmore, @Quasi, @andrew, @ypxkap, @PaulFe, @Olivier, @edison, @pfig, @noiserock, and everybody else who tested, contributed feedback, gave encouragement, and shared artifacts while this script was coming together, falling apart, stalling out, ramping up, and finally released. each of you has a fingerprint on this thing. i’m so thankful for your time + warmth.
  • @tehn + @zebra for initiating norns, developing softcut, and building the patterns of musical inquiry and creative code that have inspired so so so many artists to build, deconstruct, and share. i am deeply grateful for each of your work. you’ve improved + impacted my life so much :revolving_hearts: for those who are able, please buy a few coffees for ezra. cheat codes wouldn’t exist without softcut, which ezra built.

Haven’t even tried the script yet…I’m just here to applaud the fantastic documentation! :heart:


And the zoom!


Holy Zilchmo, Dan, this is impressive!! The docs looks great! Waveforms! Congratulations!

Can’t wait to dig in!
A cool aspect of Cheat Codes, and of this community as a whole, is the openess and willingness to share and listen to ideas while continuing to develop the tools. I already feel a personal connection to Cheat Codes from following the development process and using the platform extensively.

The way you include, help out, share and inspire is unique. Thank you! Hope I can buy you a coffee some day


very excited to dig into this. nice work on the docs!

1 Like

:astonished: can’t wait to try this, the docs look amazing! :pray: :clap: :raised_hands:

1 Like

I purposely refrained from downloading any of the beta versions of CC2 so today is a glorious moment. Thanks Dan. I can’t wait to dive in!


Thanks so much for this! Can’t wait to get home and load it on my norns!

For now I’ll just be reading the documentation, it looks amazing! Thank you so much.

1 Like

20 characters of woooooooow! :black_heart:

1 Like

Hi. Fantastic!! Wonderful work… And for grayscale too is so great :wink: I have one issue though - I can’t seem to move the endpoint and window with LIVE 2 and 3! Or am I missing something?

1 Like

Can’t imagine the work behind Documentation alone. Really excited with M4L device and waveforms!
Thanks a thousand times @dan_derks Dan and everyone else that have had input in any form.


ah! sorry about that. bug, logged: https://github.com/dndrks/cheat_codes_2/issues/36 (it’s end points with either clip 2/3 or live 2/3)

will have a fix by end of day! fixed!

thank you for all the kind words everybody! stoked to see what y’all make :slight_smile:


Super! No need to say sorry :wink: I’ll just play around with L1!!

1 Like

Amazing work Dan! Thank you for letting us test this script!

1 Like

ahhh that videos so good!!


Oh! I listened to this video earlier whilst I was changing the case on my shield.

I didn’t think anything of the significance of it at the time. I just listened to nice ambient music that YouTube suggested to me.

Looking forward to getting into this. Thanks. :slight_smile:

1 Like

i am so excited to give this a go, i could cry.

there are not enough words to describe how important this script has become to me in the past year. it has been such a joy to watch it grow and change and get better and better with each version. consistently becoming more and more of a tool that i couldn’t imagine what i’d do without. the grid interface has become extension of my hand.
— all of this is too good, dan, you’re too good. thank you for all of your hard work and for sharing. i am always learning, and always growing in proximity to your work!


I can’t wait to have more time to sit down with the best bandmate/co-composer/sound psychiatrist one could ever ask for. The old pal CC. Congrats @dan_derks. What an amazing feat this is. Thank you!


woah this is super deep, should take me a while to get to grips with this as a live tool over the last one, which i was still working out! super super dope, i doff my cap!

first thing i tried tho:
mf-twister script keeps hanging the utility when i try and import!

1 Like

And I can´t find ‘manual control params’. Or it’s just not implemented yet?