I’m being needy at this point but any thought on having synced / quantized looping with w/ delay or w/ tape? would be very cool to have a dual looping system. regardless, this instrument is a work of art in and of itself!

2 Likes

So good! Macros are just what I was looking for but was unsure about. The transport sounds like it might fix some undesired sync idiosyncrasies too. Cant wait to dig in. Really the possibilities are extraordinary

1 Like

…and I can’t wait to try it!

Thank you so much for this amazingly comprehensive update, Dan!

3 Likes

Thanks for an extensive update @dan_derks ! I’ve been waiitng for midigrid support before diving in (being slightly intimidated by the complexity, I must admit), and will do so once I have a good amount of time available to really get to grips with cheat codes. Love the option to switch the LED styles too - really useful with the Launchpads.

I currently have two Launchpad Mini Mk3s set up with midigrid and they work fine as a 128 grid using include "midigrid/lib/midigrid in the relevant place in various scripts (eg awake). With the latest update to cheat codes, setting midigrid? to yes and grid size to 64 works, and the illuminated buttons on one Launchpad are mirrored on the other - pushing buttons on either lights up the same point on both. Switching grid size to 128 freezes both Launchpads until the setting is changed back to 64 and the illuminated buttons remain mirrored on both Launchpads.

I tried changing line 19 of cheat_codes_2.lua from

local grid = util.file_exists(_path.code.."midigrid") and include "midigrid/lib/midigrid" or grid

to

local grid = util.file_exists(_path.code.."midigrid") and include "midigrid/lib/mg_128" or grid

and with grid size set to 64, one Launchpad serves as a single page while the other is blank (as expected). However, when setting grid size to 128, while the two launchpads now light up as one grid, the button placements are off but do seem to respond* when pressed:
:

*I say seem here because I’ve not yet tried getting sound out of it due to time considerations, but that’s the next step.

1 Like

amazing update, cheat codes is very inspirational and powerful!
i also have a question regarding midigrid. will it work with an old launchpad s? i’m trying to set it up but without any success. been reading the alternative grids thread too for help, but can’t figure it out. i’ve sucessfully installed midigrid and restarted norns, flipped midigrid to yes in cc2. the launchpad appears under system - devices - midi, so i know a connection is established. are there any steps i’m missing, or is the launchpad s simply not supported?

EDIT: with some minor tweaks to midigrid, it now works with launchpad s!

1 Like

stoked folks are already digging in! :hugs: :sparkles:

awesome, super glad to hear this! the midigrid layer is designed for a single launchpad in 64 mode, so if that’s workin’ then we’re in business :slight_smile:

re: 128 with two launchpads, you changed the correct line – the script assumes that the standard midigrid library is installed, but doesn’t look for variants like mg_128. this is because…

that’s actually just where the split is for the first 64 pads on a standard vertical 128 (unless by button placements you mean pressing a pad doesn’t perform the action associated with the pad). the two launchpad / mg_128 approach isn’t ergonomic for this script, because the gap between the two devices cuts through the second bank. so, for now, i’d recommend sticking with one launchpad and midigrid in 64 config.

a quick scan of the alternative grids thread didn’t surface any talk about the launchpad s, so i’m assuming not – it might take a little bit of hacking on the midigrid library, but the device itself might also not support the developer mode that the newer devices do. the folks on that thread have been super helpful, so it might be worthwhile to check in with them :slight_smile:

lol, mayyyyybe? at this point, i’d say there’s some interesting stuff to explore via crow pulses-per-pad triggering teletype control over w/ – but agreed, would be wild :slight_smile:

4 Likes

Great script update! Looking forward to the workshop end of Feb :slight_smile:

One question: is it possible to use a Korg nano kontrol 2 (with monome 256) to map some parameters of the app?

1 Like

yeah! absolutely – there are a ton of mappable parameters under the manual control section of the PARAMS, as well as the 8 macros (under the macros section of the PARAMS). i think the new macros system is particularly fun for controlling many parameters at once – once you establish your macros, you can use the built-in norns system mapping mechanism to establish control over these parameters: control + clock - docs

Thanks Dan
Will learn how to use the build-in norns system mapping then :slight_smile:

1 Like

oh! yeah, you’re in for a treat :slight_smile: it’s a really fluid system.

mappings also get saved as you make them, per script, so you’ll not need to do anything special to have those persist across sessions.

1 Like

Thanks @dan_derks ! That explains it - for now I’ll stick to 64 in that case, and actually try to figure out how to use the script too. Thanks as ever for all the wonderful work and your rapid responses to questions.

3 Likes

By the way this can be great with CC2 maybe?

3 Likes

ooooh amazing idea - will try this with my Crow

1 Like

Quick question about how midi note messages are sent when a pad is pressed…

When a pad is pressed does the pad immediately send a note on/off message?
It seems like this is what is happening but I was wondering if this behavior could be altered to hold the note on message as long as the pad is held down then send the note off message when the pad is released? Thanks!

1 Like

good q!

currently, note length per pad will default to the arp duration set for that pad (hold K1 on the [arps] screen to toggle between bank and pad durations). this seemed like the best interim solution to avoid introducing a new performance gesture, especially one that couldn’t be recorded as played – the pattern recorders only capture pad presses, not releases, since one of the original core ideas for the sampler side of cheat codes was rooted in playing through slices as either 1-shots or loops.

the next update’s focus is going to be rewriting the pattern recorder mechanism, which will support pad presses as two discrete events (press and release), which will also offer a third mode for sample playback – momentary.

so, on the roadmap!

oh, that would be a fun instrument to sample into cheat codes! i always have a blast importing small riffs using instrument VSTs

1 Like

Fair enough and that makes total sense now!

Also, midi sync is rocking now with Norns following the OP-Z’s midi clock and stop/start messages perfectly. :clap:t2:

1 Like

There is some odd behaviour of the parameters menu scrolling after script runs for some time. Encoder functions normally on other sections of the script and outside of it

1 Like

i’ve noticed this occasionally, but haven’t been able to reliably repro – i think it just has to do with a race condition re: the custom key hold times on some of the menus. if you hit K2 to back out of the parameters to the EDIT/PSET/MAP screen and re-enter the EDIT section with K3, it should clear up fine :slight_smile:

under normal circumstances, this type of header-jumping is actually a feature, if you press k3 on any of the parameter headings :sparkles:

1 Like

I tried but unfortunately no luck. Will see if it will go back to normal after rebooting the script as soon as I finish working with it.

1 Like

maybe try using encoder 1 to navigate around the system menus a bit too? it does clear up easily, i just can’t remember the exact combo, apologies! if this continues to be problematic, any steps to reproduce the onset of the issue will help :revolving_hearts:

edit: ah! @Moneo , i was able to repro – it’s a weird one, though. using E1 to navigate away from the parameters and back clears it up.

1 Like