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

Ohhh thanks :wink:…I missed that part !!

2 Likes

if ya haven’t found it yet I’ll link this here for ya

mlr & cheat codes have a small bit of overlap - it’s less dense feature-wise & might be better suited for 64 grid play, but certainly different possibilities. cheats is also well set-up for no-grids or midi stuff depending on your style : )

5 Likes

I agree with @andrew albeit I must say that I don’t have the skill to edit anything…
But: just one bank with the 128’ bottom row on the 64’ one could be really playable.

1 Like

just a quick note that i spun up a 64-sized interface for the main performance page today, it’ll be released in the next few days :slight_smile: thank you @sademik for the bump!

10 Likes

thanks! i actually stumbled across this a little while back, but appreciate you linking it here nonetheless for others to find : )

awesome! can’t wait to play with it. out of curiosity, will it have the bottom row of controls in order to swap pages? thanks!!

1 Like

Hi Dan. Would it be possible to think about a non-grid interface? I’m thinking about Novation Launchpad, for example… if you could map all controls to standard midi CC or standard OSC maybe people can develop at least an input interface (I know that lightning values are important for feedback but for example Launchpad can cope with them).
I’m telling this to you because Grid is still very expensive and even DIY options like Neotrellis are difficult to achieve (and don’t work on norns shield). Thanks!

2 Likes

@beepboop seems to have made a lib (midigrid) that providing an abstraction layer so that various grid-like MIDI controllers could be supported with the standard norns grid APIs.

That’s the most straightforward way to support this I guess.

More details/discussion in the alternative grids thread.

1 Like

i guess i’m curious what’s missing? currently, every pad can be called up via MIDI or OSC and there are a number of zilchmo functions accessible through both. there’s also a Midi Fighter Twister template that’s a fully playable interface with LED feedback. the grid interface is just one form of control – i typically use the Max for Live device (to call up pads) and the Midi Fighter Twister (to adjust parameters) these days :sparkles:

you can also map MIDI CC’s through the parameters menu to get full control of the delay performance gestures. i’ll be re-adding the manual control parameters as well, as discussed above, so that’ll definitely help :rainbow:

all to say, you should currently be able to plug in any piece of hardware that sends MIDI over USB and have access to a bunch of control over cheat codes (certain Launchpads do this, right? please lmk if you’re not able to plug one in and jam). you can even record these MIDI patterns with the [timing] menu, same as grid. happy to address anything that’s missing, though! the goal of cheat codes 2 is to provide numerous access points to these ideas. please let me know if you run into any specific troubles or need additional parameters opened :slight_smile:

maybe getting these set up + using them would be a good video session?

here are the relevant pages from the docs:




6 Likes

Hi Dan, my fault, I wasn’t aware about this documentation (maybe this part is new and I tried CC before). I was able to use awesome TouchOSC template by @okyeron but it’s not working everywhere due to some proprietary coding in grid support.
However, I will try what you posted, obviously a video session would be good!
I have also to test using what @eigen writes about midigrid… to me (but I’m not in the mind who creates script) it would be a plus to have native (i.e. “choose the hardware to be used and I switch libraries internally”) support of hw other than grid.
It’s not your fault, but it’s more than usual to find lots of scripts that works ONLY by grid (i.e. one of the norns killer app, TAKT) and this is a pity (to me).
Thanks anyway and sure I’ll try interfacing Launchpad/other midi myself.

Thanks! …see my answer to Dan below.

Would it be totally wack to allow for envelope duration to sync to bpm divisions? Was thinking about this now that you can sync bpm from a pad’s loop duration.

2 Likes

@dan_derks, this is all simply amazing. Cheers to everyone involved!

If anyone is looking to have a printed copy of the manual, here is a printer-friendly inverted pdf. I printed it double sided with 2 pages per sheet to put in a binder and it worked out great. CC2_Inverted.pdf (6.2 MB)

16 Likes

Veering ever so slightly off topic to mention that these are apparently on sale right now.

2 Likes

just in case confirmation helps embolden, this is how cheat codes 2 works – when you flip on the MIDI control, the script actively changes modes (eg. the pattern recording + arps look for MIDI notes from the source specified). if you connect a Midi Fighter Twister and boot the script, the script will auto-configure all settings to match. there’s on-screen feedback to confirm the connected hardware, as well :slight_smile:

additional thoughts on script design

what you bring up is really interesting, though, and it’s a necessary accommodation for commercial products (eg. nearly all industry-standard connections are facilitated by norns) – but scripts are community expressions, built from a contributor’s needs and further shaped by their ability/availability to accommodate community feedback. adding full support for additional hardware requires reimagining performance gestures for interfaces that the contributor might not need or even have access to.

from a design perspective, the grid is such an open canvas that it often deeply inspires how the script functions – cheat codes 1 began as “i want to play this type of interface: vertical orientation, three 4x4 banks of pads, right-angle multi-finger area)” + “i want it to be able to make these sounds (@brin’s loose leaf ).”

this seems true of many grid-centric scripts – the 128 becomes such a deep component of the script’s DNA. adding new methods of control can require re-design of the fundamental interactions. i’m really glad i spent the time adding these to cheat codes 2, but i also think it’s a tough proposition for folks with limited resources to make what are functionally different versions of their scripts for each of these paradigms.

one of the central goals of norns is to allow folks to collaborate on code, to modify + remix, to customize small snippets to play a role in a larger collection of tools. what i’ve learned is that building scripts as collections of functions allows people to roll their own controls – but when we get to the scope of scripts like Takt / cheat codes / arcologies / etc, where you’re looking at full composition environments, it becomes very hard to do this (esp. for novice-yet-spirited folks like myself).

all to say, i do feel that there are a lot of opportunities for monome to help facilitate examples for easy integration of additional hardware in the scripting process. Midi Fighter Twister, for example, is a really solid stand-in for arc control, but it took me a while to wrap my head around how to integrate it into the script. the parameters menu is a really good place to focus some brainstorming – https://github.com/monome/norns/issues/1248. thank you for the dialogue!


this could be cool! i’ll add it to the backlog :gem:

@hypnosapien, thank you!! this is super rad and really helpful :fire:

6 Likes

(I’m pretty sure that this have been covered before. If so, feel free to remit me to the posts discussing that, please.) Could someone tell me how to link CC with Ableton Live? Which are the possibilities? Which is the master and which the slave? Can audio flow in any direction (CC --> Ableton, Ableton --> CC)? Is there any additional hardware required?

1 Like

hi hi!

you have two clock options:

  • wireless clock syncing using Link (bi-directional sync that does not have a leader/follower)
  • standard clock syncing using a MIDI interface capable of handling two hosts

using a MIDI interface just for Live + CC2 clocking is my least favorite option because Link is so much more flexible and is wireless. if using a MIDI interface, though, norns lets you choose which is leader and which is follower – see more info here. to set norns as a follower, set the clock source to MIDI – to set it as a leader, keep the source internal and set midi out to the device you’d like norns to lead. (also, just a friendly note that master/slave terminology is no longer used in this community and has been replaced by leader/follower :slight_smile: )

CC2 doesn’t really care too much about your clock source – it’ll perform the exact same regardless of whether you’re using the internal clock, Link, or MIDI (or crow!) it just automatically adjusts to whatever your clock is and everything follows (arps, rnd’s, euclid, distro pattern recording, delay timebases, etc).

you have two control data options:

  • wireless Live -> CC2 control using the Max for Live device (no communication from CC2 back to Live, no extra hardware needed)
  • standard MIDI control using a MIDI interface capable of handling two hosts (if you turn on MIDI echo in the params, you can get some weird fun stuff from CC2 back to Live, but generally this is Live -> CC2)

only one audio option for realtime audio shuttling between CC2 + Live:

  • audio is the same as with any norns script – you need an audio interface in order to run norns outputs into Live, though you can just use a Hosa stereo cable to run Live’s outputs into norns via your computer’s headphone jack :slight_smile:

if you have any specific “how do i wire things up to do ___?” questions, i’m happy to help guide! :sparkles:

5 Likes

I’d say another option for audio is to record to tape and then transfer the tape into Ableton. It’s not exactly flowing into Ableton but you would save on not needing an audio interface. This would remove the need of syncing clocks too. But I work mainly without a beat so don’t listen to my advice. :partying_face:

2 Likes

wow the MFT integration is so good! no arc here so this is a bit of a revelation as far as opening up the capabilities of cc2 (and is already giving me ideas for other script uses/customizations).

1 Like

daydreaming about crow functionality, it would be super sweet if a pad could be assigned to output a trigger/gate to different crow outputs. is that per chance what crow_pad_execute is involved with?

2 Likes