cheat codes

a sample playground for norns

v1.2.2: April 8, 2020 <~~ click for docs supplement

adds:

  • crow per-pad output, as discussed with @shellfritsch. on grid, put a bank into pad focus mode and you’ll see a bright LED under the bottom right corner of the bank. toggle it on/off to send a crow pulse when that pad is pressed. grid-ALT + that toggle to switch all pads at once.
  • arc pattern save, as discussed with @laborcamp. no menu item, super straightforward. if you save a collection with an arc pattern on any encoder, it will save with your collection. if you load a collection that had arc patterns on any encoder, they will restore.

changes:

  • to make room for crow-pad output, the arc selector for filter has turned into a three-finger press on the first three arc pads. this feels like an improvement overall!

v1.2.1: April 1, 2020

improved:

  • params menu overhaul. cleaner, better flow!
  • arc now has two modes – passive and active.
    • passive: recorded gestures won’t affect currently selected pad unless the currently selected pad is the pad that was selected during gesture recording
    • active: recorded gestures will change currently selected pad to whichever pad was selected during gesture recording
  • MIDI can now control pad selection, rate, panning, level, start point and end point

added:

  • tons of hooks for bi-directional OSC, which led to a TouchOSC iPad interface for cheat codes! opens up a ton of new possibilities for when you don’t have grid or arc handy.

fixed:

  • LED turn-off timer for one-shot recording mode

v1.2: March 19, 2020

a massive improvement on timing.

nb. this is a deceptively huge update. I have tested restoring pre-1.2 collections a ton, but if you have a bunch of collections saved, I recommend backing up we > dust > data > cheat_codes with your preferred norns file management tool before updating. you won’t need to do anything with them after that, but it’d be good to have on hand.

[timing] tutorial:

thanks to @edison’s absolutely insane good vibes, I completely rewrote all the old linearization/quantization/snap-to-blah-blah stuff and arrived at four clean modes of nudging your Patterns in and out of time.

thanks to @ypxkap’s clear-eyed and -hearted thoughts, we’ve got focus mode for grid, which lets you latch a single pad for editing while your Patterns play. oh, also, grid-ALT + the third key in Zilchmo row 4 will make the duration of every pad in the bank 1/16th at the current BPM.

thanks to @deru’s energy + patience, we’ve got streamlined Live buffer save + restore and all the delays should be sending the right wet/dry levels when enveloped.

thanks to @swhic’s wisdom, we’ve got some Pattern randomizing! shuffle an existing Pattern or build a sequence on-demand!

a summary of changes:

  • complete rewrite of [timing] modes, including massive clocking improvements for tempo-synced Pattern recording (got rid of all that vague linearization and snap stuff)
  • MIDI clock out, MIDI clock in, and crow handling are all greatly improved
  • Pattern shuffle: cut up and jumble your current grid Pattern
  • random Pattern generation: create a grid Pattern in the current [timing] mode, on-demand
  • focus mode, which allows a single pad to remain in editing focus while grid or arc Patterns play
  • copy/paste now lives in focus mode
  • arc recording completely re-written – now, arc is aware of what pad received which adjustments and playback will only affect that pad
  • live buffer save/restore no longer requires extra steps! all taken care of with the save Live buffers? param
  • added a reset/clear crow param function, in case crow stuff gets wonky
  • crow input 1 toggles Live recording on/off
  • fixed some residual delay-centric [level] issues
  • fixed PARAMS: delay send , which now moves in 0.1 chunks (rather than binary on/off)
  • changed K1 long press on [loops] page to a toggle, instead of needing to hold
  • probably a ton of small things, all in the manual!

Requirements

  • norns (200328 or later)
  • grid strongly encouraged, not required
  • arc strongly encouraged, not required
  • TouchOSC for iPad strongly encouraged, not required

Documentation

200318-cheatcodesmanual.pdf (9.4 MB)
cheat codes manual - osc supplement.pdf (598.8 KB)
cheat codes 200408 revision.pdf (179.1 KB)

Download

cheat codes

Available in the maiden project manager as cheat_codes (commit 06cb3ad ).
nb. do not rename the cheat_codes folder! it must have an underscore.
Don’t see it? Please refresh using the refresh button next to the community header.

TouchOSC template

cheat_codes.touchosc (3.5 KB)

56 Likes

Lol, this all sounds so good. Could we eventually just have a Cheat Codes Playlist on Soundcloud or something?

2 Likes

THIS IS AS INCREDIBLE AS ALWAYS.
Thank you @dan_derks! :facepunch:

2 Likes

EFF YES
this is a serious upgrade @dan_derks !
thanks for taking suggestions bro…
and thanks for creating this noise playground…

1 Like

just in time as i’m finishing up editing down my meandering 38 minute v1.1.1.1etc magnum opus to a marginally less meandering 16 minute magnum opus.

although i just realized that i still have not touched the meta sequencer at all so actually moving toooo fast!

edit:
video is really cool. can’t place the effect. is it stills combined or a random frame/stutter effect? or is the html5 player just freaking out on my laptop?

3 Likes

What is an opus without being magnum! I’m really excited to hear some serious Cheat Codes tracks.

1 Like

also, @dan_derks super dope video jam man!!! hell yes!

1 Like

This is amazing! Thank you so much for your time, vision, and generosity. :black_heart:

2 Likes

thanks for the good vibes y’all — excited to see what you make with it.

will be doing some talking tutorials, plz lmk if i can help with anything. also, hope everyone is safe and feeling as well as they can right now

12 Likes

dan, you’re amazing. thanks to you & all the contributors for this unbelievable instrument. :heart:

2 Likes

Thanks again Dan! this update feels really complete. Its such a fun instrument.
One q/comment - If I have an entire bank pointing to a clip, and then clear/delete the corresponding live buffer, it seems to clear the clip. Further, I cannot then load the same clip into that clip slot but I can load a different sample into that clip slot.

1 Like

hey ya @dan_derks!

thanks a million for the update!

running into a weird one…
when adjusting the 4th knob on the ARC for the delay…it’s moving the loop area of Buffer A and also ARC knob 1 at the top.
it also doesn’t move the pointer LED on itself.
it stays locked in place.

holding Alt doesn’t make a difference either.

hmmm…
it looks like the bottom ARC knob is just locked to the top knob.
it even makes changes to knob one when i change knob one to control filter.

1 Like

Amazing stuff! Appreciated @dan_derks !

1 Like

thankyou! awesome update

1 Like

This is incredible Dan. Thank you so so so much to all the folks that put so much effort into CC. :blue_heart:

1 Like

Had issues switching from Cheat Codes v1.2 to Islands. When I loaded Islands I got this error:

Summary

matron REPL

# script load: /home/we/dust/code/islands/islands.lua

# cleanup

# script clear

pset >> write: /home/we/dust/data/system.pset

# script run

loading engine: MT7

lua:

/home/we/dust/code/cheat_codes/cheat_codes.lua:1331: attempt to call a nil value (global ‘grid_redraw’)

stack traceback:

/home/we/dust/code/cheat_codes/cheat_codes.lua:1331: in field ‘event’

/home/we/norns/lua/core/metro.lua:169: in function </home/we/norns/lua/core/metro.lua:166>

lua:

/home/we/dust/code/cheat_codes/cheat_codes.lua:1331: attempt to call a nil value (global ‘grid_redraw’)

stack traceback:

/home/we/dust/code/cheat_codes/cheat_codes.lua:1331: in field ‘event’

/home/we/norns/lua/core/metro.lua:169: in function </home/we/norns/lua/core/metro.lua:166>
1 Like

this seems like an issue with metros not getting cleaned up. (cheatcodes uses a lot of metros.)

system is supposed to get this done automatically on script cleanup, but i guess possible race condition (metro callback events are already in main event queue)

opened issue with notes

3 Likes

it is really wild how many great ideas folks have contributed just by asking if a thing is possible. i appreciate the patience and willingness to go back and forth with me to negotiate how I can best implement them (and in some cases, why I’m unsure). it truly feels so humbling to have folks connect with the script’s point of view. thank you for the energy :revolving_hearts:

lol, apologies! easy fix, will have it pushed today :slight_smile:

ah, tracked this down, bad softcut call on my end. but it led to a quick thing for @zebra: I remember buffer_clear_region_channel(ch, start, dur) got fixed in 200218, but it’s still not working as expected for me. it just doesn’t clear the specified area, but weaver looks good. :confused:

4 Likes

I really really needed to print this.

16 Likes

I truly do not understand why I didn’t think of doing this. Hahaha.