[cheat codes 2] (rev 220517: LTS6.1)

can someone confirm working with Launchpad Mini MK1 or MK2?

others should offer direct experience, but the launchpad compatibility is defined by midigrid, which seems to support mk1 mini’s and up: Norns: alternative grids - #453 by 2197

(the alternative grids / midigrid thread might be a better resource for compatibility q’s — as a rule if it works with midigrid, it’ll work with cheat codes)


I bought the MusicHack space course, but stayed up too late last night trying to figure out how to get my audio routed to Zoom that I overslept. The question I had was how I change the bpm in both transport and tap tempo? Whenever I change the tempo by moving E2, E3, or tap it in, the tempo always defaults back to 120.

1 Like

thanks again for the great session and hopefully you are taking a CC break for a bit!

…but when you are back and refreshed. i am still having trouble with CC sending midi cc commands to my op-z. i believe you said to turn off midi echo in the parameters/midi note/op-z page. i have enable midi control set to off, midi echo off and even scrolled down to the zilchmo section and selected “no” for bank (a),(b),© midi zilchmo.

any ideas what to try next possibly? thanks!

1 Like

oh no, sorry to hear you got waylaid!

ah! what’s your clock source? if you’re set to be driven by MIDI clock or crow, norns won’t adjust the tempo manually – it requires the tempo to change at the source.

i typically keep cheat codes on internal clock and just route MIDI clock out to my external devices. under PARAMS > transport, you’ll find a MIDI clock out tree which allows you to send MIDI clock from cheat codes to any or all of your connected devices. you can also send transport start/stop messages from cheat codes, so everything starts and stops at the same time :slight_smile:

lmk if you have any other q’s! i’ll likely just make some videos for this sort of stuff setup :sparkles:


no worries, happy to help!

here are the settings that would cause MIDI CC output from cheat codes:

  • PARAMS > MIDI note/OP-Z setup > enable MIDI control? yes
  • PARAMS > MIDI note/OP-Z setup > enable MIDI echo? yes
  • PARAMS > MIDI encoder setup > enable MIDI enc control? yes
  • PARAMS > MIDI encoder setup > enable MIDI enc echo? yes
  • PARAMS > pad to note setup > if any of the MIDI dest's are the OP-Z then…
    • nav back to the main cheat codes menu and hold K1 until you see the context menu, then press K3. in each tab, check to make sure that the CC column doesn’t have a value for any pad.

feel free to DM for further troubleshooting!


Normally I work with grid/arc combination and I was out only with the norns and the iPad, tried to learn more your fantastic CC-enviroment. So my idea is - in “edit-mode” - with the touchosc-layout to adjust via an encoder the start/endpoints and position of the sample and level of each pad/ sample.
Your third comment about virtual navigation would be very handy and a extension to the grid/arc combi.

hi @dan_derks, so it turns out to be really easy to get the push working with midigrid, all the hard work already done. There are a few considerations, but before I get to that there was one issue with using midigrid + push with cc2, on load it failed with an exception saying no grid:rotation function.

As far as I can tell there is indeed no grid:rotation in midigrid, so what am I missing? I implemented a do nothing version in midigrid and everything worked as expected. I sure I must be missing something simple here.

1 Like

oh, woahhh i am super excited for this!

this came up before and i feel like it’s a good time to maybe split the alternative grids thread into specific discussion about @JaggedNZ 's incredible work updating the midigrid library: GitHub - jaggednz/midigrid: A helper library for midi grids and monome norns. funny enough, there’s also a do nothing in this updated library :slight_smile:. for monome grids, this is a function which allows the user to change the rotation of their device, if they want the USB cable to come from another side. likely wouldn’t be useful for Push, as the orientation is fixed.

if you’re not seeing grid:rotation, then it sounds like you might be working from @beepboop 's original library, which laid fantastic foundation but hasn’t been updated in almost a year.

please lmk if i can do any additional testing or help with anything at all!

also, thank you to the folks who advocated for adding a threshold mechanism to live recording – it is indeed super helpful and will be released tomorrow (edit: added one small other new thing, just want to test, one more day!)!



I can confirm that my version of midigrid “stubs” the rotation function to avoid this error.

Yes, this has crossed my mind in the past, I think with all the attention (and confusion) the script is getting I should just do it, thanks for the prompt Dan.


Maybe this threshold should be part of norns?

1 Like

Finally found some time to really dig into CC2 and well, I’m really impressed this is so much fun!!!
I hadn’t touched this script since some time. Last time I fiddled with it it was still CC1 and I was using the TouchOSC layout to control it. But that wasn’t much fun for me. Me and the iPad we just don’t get along well. So it’s really cool that I can just use any MIDI controller now! And that the pattern functionality is now easily accessible via the norns UI!
It’s of course quite dauting at first, and I think I’ll have quite a bit of learning to do, but everything makes so much more sense now! Really awesome job!
Also I guess I’ll have to get something with more buttons soon.


@dan_derks yes it seems I had indeed forked the wrong repo, ahhh bit silly on my part…

Anyway, forked the correct one and the changes were even simplier due to some refactoring @JaggedNZ had done. I’ve checked it with CC2 and seems to work great. I’ve created a pull request and the forked repo is here. As the changes were very simply I don’t see anything that could effect existing Launchpads, but I don’t personally have one that can be tested.

Next is to see how and if it would make sense to extend midigrid to have a standard way of exposing the additional controls on the push, i.e. the mass of other buttons, that people can hook into if they want too. I’m assuming that other ‘grid’ controllers also have these.


although i have not seen dan’s implementation (of “begin capture to softcut buffer when input amplitude reaches threshold”), i assume it uses the APIs that we have supplied for such purposes and are incontrovertibly part of norns as opposed to part of some other thing.

we could probably refine that capability with more dedicated and lower-level functions. particularly a delay buffer before the softcut capture but not before the input analysis. this however would require contributions at a lower level of the system.


Is there a video or other online resource that will help me to understand how macros work? I can’t figure them out, but it seems like something I’d like to explore!

1 Like

Hi @papernoise ! I very quickly made this to explain the macros page. I was confused at first because I messed up the numbers on top (1-8 - these are your 8 available Macros) with the big number to the left (this shows the currently selected parameter within the Macro)

The grey text line at the bottom tells you (which Macro you’re on) (which parameter you’ve selected within that macro)
You’ll need to activate each parameter with k1 + e3 (in my picture the parameter rate is currently inactive)

Macros are really fun! It’s a great performance feature/way to explore new territories etc. The concept is basically that multiple parameters is controlled simultaneously with the same gesture, ie mapped to a fader on an external midi device etc.
You can map each macro to an external controller: in params, scroll all the way down to macros >

This m4l device is kind of similar (very fun) and the video will showcase what it does Max for Live Device: JSM Cartographer - YouTube

edit: to find the macros page: while on the main page of CC, press and hold k1, k2


Hi thank you very much! I just found out how to actually find the macro page! Now everything is a lot more clear! :smiley:

btw. @DuellingAnts, I’ve caught up yesterday with some of the videos posted here, and yours were really inspiring and helpful! Thanks a lot for making them!


@DuellingAnts super super helpful, thank you!

@papernoise , in case you missed the macros intro post, the visual Hans shared is a wonderful illustration – i just wanted to highlight:

  • though activating each individual parameter with K1 + E3 is a good way to selectively toggle individual components, you can also use K1(hold)+K2 to toggle all slots active/inactive
  • once you’ve programmed your macros, use K1(hold)+K3 to toggle between programming and performance modes
    • E1 will scroll across your different macro banks, as in programming mode, and E3 will adjust the selected macro (or just map a MIDI device to any macro under the params menu)
  • in performance mode, K3 seeds random value to currently selected macro

macros get some coverage in the Music Hackspace workshop video i’ll be editing this week, so many more video resources soon! icymi, here’s a full intro course to getting oriented to cheat codes (and largely without a grid): https://musichackspace.org/events/getting-started-with-cheat-codes-2-a-sample-playground-for-monome-norns-live-session


I’m just catching up and yes I guess I did miss it. Thanks for the heads up!
I guess the “spoiler arrows” confused me, though I should just have looked more thoroughly. Though I have to say that it’s all very easy to understand once one knows how to reach the macros page, which was the big of info I was missing. Got that now though! :slight_smile:
When you say “macro bank” you mean the individual macro, don’t you? Or am I missing something else.
I.e. as far as I have understood. There’s 8 macros, and each macro can control up to 8 parameters with varying ranges and curves. Is that correct?

Need to catch up with your videos as well! THough I wanted to get a general feel for it first.

1 Like