i’ve been attempting to build the newest bits as close to Functional Programming as I can get with my current skillset. or, Desperate and Determined, depending on where in the code you’re looking :wink:

1 Like

@Quasi i’m going to be giving a talk for babycastles in the next couple weeks about the process of getting ideas out of your head and into reality. i’ll shoot you a link to that if you’re interested. it is a very messy and - if you do it right - fun experience! also check out the arcologies launch stream for some more visuals about how that came to be.

4 Likes

I also recommend the Maps streams for functional programming music madness. this one opened a lot of doors for me:

2 Likes

@tyleretters Yes please send me a link I’d love to listen to that!!

2 Likes

btw, @DuellingAnts helped uncover that if you don’t re-load the beta between loading collections, tasks like rnd generators (and honestly probably some of the other clock things) don’t get reset and some of the last collection’s stuff will continue running in the background. it’s known, it’s just last on the list. but the list is getting shorter!! :sweat_smile:

1 Like

beta 4

delay improvements

UI

overall, improved [delays] menu nav:

  • E1: switch between L and R
  • E2: navigate
  • E3: change value of selected parameter
  • K3: toggle between menu headers + parameters
  • K1: if the on-screen “feedback” param is selected, K1 hold time is 0.01 and 0% feedback immediately jumps to 100% / > 0% feedback immediately drops to 0% while held, allowing performative delay cuts
    • @CarlosUnch, this is the “quick on/off” function the grid uses that felt right at home on the norns hardware, lmk how this feels! i am still working on a “L+R” control screen which will allow you to do this to both

new grid feature

added grid controls for reverse delay @ (3,3) and (6,3) (@MatthewAshmore, great call!!)


found the mult lane buttons outside of the rate keys.

(DOPE, yes, they are there but not documented cuz there are no docs yet, but glad you found them!)


MIDI touchups

FIXED:

  • midi echo now works when used with grid (@Quasi , thank you for the testing and additional details!)
  • midi mapping now accurately adjusts parameters in manual control PARAMS menu
  • renamed “MIDI setup” to “MIDI keyboard setup” in PARAMS
  • standalone midicheat.lua file (housekeeping note)

general UI improvements

norns

  • reduced K1 hold time to 0.1s globally (@CarlosUnch, so super glad you asked about this!!)
  • longer-named collections now resize font when loading (@DuellingAnts sent me a collection that had a reasonable number of characters and it looked weird when loading :slight_smile: )

grid

  • zilchmos used to run on metros, it was weird. this also meant that you couldn’t execute two of the same row at the same time across banks. now, you can!
  • added recorded_zilch_zero(bank) to turn off rad-sauce-recorded zilchmos (housekeeping note)
  • WIP: began translating all LED levels to 4-step and grayscale, selectable in PARAMS > GRID > LED style (not yet completed)

@Quasi, still super floored by your story!! thank you for your generosity of positivity, tales, and time :revolving_hearts: super curious what came of the documenting you did at the school?? would love to see any material you can share!! a half-decade back when i thought internet handles were important, i landed on jai lai bookie, a misspelling from my edition of Naked Lunch that felt like it fit.

8 Likes

AMAZING! Love it. The navigation between L and R is much much more fluid now. L+R will be welcomed :slight_smile:

There’s an odd behavior though, once you use the jump with K1, normal values other than 0 or 100% can’t be set with the encoder, only for the jump. […] still playing over this and for some reason is back to normal. I’ll update about this once I find a reproducible pattern.

I see an advantage over the grid here, you can do smooth fade outs of the delay feedback with the encoder. Not that someone with the grid doesn’t have encoders :wink:

The thing I’m missing now it’s a more controllable send as well, but I don’t see an easy way to implement it with three banks and two channels. 16n it is, that take us to…

Would be possible to map two or more parameters with one CC#? I want to control all (a,b,c,in) L sends with one fader and another for R. MIDI learn now overwrites previous mappings.

It feels so much better now, thanks!

Random param: semitone offset still has a ghost param at th bottom under scale.

doooope, glad you got some time with it already!! thank you for the great ideas and feedback :revolving_hearts:

does this mean that if you perform the K1 jump you can’t set the feedback with the encoder again? otherwise, the current logic behind the jump is to either drop/jump to 0% or 100% exclusively – if the current val is 0%, jump to 100%; if the current val is not 0%, drop to 0%.

that’s the system default behavior, but i can cook up a single parameter to control all three, so you can map that single entry with one fader.

apologies, i honestly lost track of this because it wasn’t previously logged as a github issue. i put it in there last night, but if you (or anyone) finds reproducible issues, it makes it so so much easier to track what everyone is finding if it’s logged as an issue (please! thank u!) :sparkles:

2 Likes

This seems too specific for you to code. I’ll be wanting different macros down the line, so I better learn how to do it myself. Master send can be useful for more people tho! Please, let me know which line on the script you create it so I have an example to follow.

Yes, BUT it never happened again after several tries of abusively jumping and moving the encoder. Let’s forget it for now. It’s working as you describe.

Sorry about that, I’ll use github for reporting bugs from now on.

1 Like

Not sure if this is a bug or a specific only to me issue. I have the most recent Norns shield and all other programs respond as they should with all encoders and buttons.

Issue:
CC Beta 4 loads perfectly but K1 is very sporadic in getting back to the Norns interface to edit CC Prams, make selections etc. Sporadic = Sometimes it works with a very quick double tap other times it’s a single tap and other times neither. This is the first beta that I’ve had this issue.

Anyone else having this issue? Regardless I will log it on git hub so Dan is aware of it.

It works as always except for feedback on delay, that overwrites the function to jump.

Btw, @dan_derks, may be nicer just on feedback to eliminate de 0.1s hold so it works with even shorter pulses. For the rest of interactions 0.1s works great!

Hi,

today there was a bit of time to play with cheat codes. Long time no see… I tried to use the beta 4 but K1 seems to give up its function to lead back to the levels/tape/home/parmams page. The only way to cope with that is to login into Fates and reboot. I do not see any obvious error (but with regard to my low level of expertise this does not mean anything).

This is what Maiden says on loading beta 4

script load: /home/we/dust/code/cheat_codes2-beta4/cheat_codes.lua

cleanup

script clear

ERROR (i2c/hp) failed to write
including /home/we/dust/code/cheat_codes2-beta4/lib/cc_pattern_time.lua
including /home/we/dust/code/cheat_codes2-beta4/lib/help_menus.lua
including /home/we/dust/code/cheat_codes2-beta4/lib/main_menu.lua
including /home/we/dust/code/cheat_codes2-beta4/lib/encoder_actions.lua
including /home/we/dust/code/cheat_codes2-beta4/lib/arc_actions.lua
including /home/we/dust/code/cheat_codes2-beta4/lib/zilchmos.lua
including /home/we/dust/code/cheat_codes2-beta4/lib/start_up.lua
including /home/we/dust/code/cheat_codes2-beta4/lib/grid_actions.lua
including /home/we/dust/code/cheat_codes2-beta4/lib/easing.lua
including /home/we/dust/code/cheat_codes2-beta4/lib/midicheat.lua
including /home/we/dust/code/cheat_codes2-beta4/lib/arp_actions.lua
including /home/we/dust/code/cheat_codes2-beta4/lib/rnd_actions.lua
including /home/we/dust/code/cheat_codes2-beta4/lib/cc_musicutil.lua
including /home/we/dust/code/cheat_codes2-beta4/lib/delay.lua
including /home/we/dust/code/cheat_codes2-beta4/lib/euclid.lua
including /home/we/dust/code/cheat_codes2-beta4/lib/midicheat.lua
pset >> write: /home/we/dust/data/system.pset

script run

reading PMAP /home/we/dust/data/cheat_codes2-beta4/cheat_codes/cheat_codes.pmap
m.read: /home/we/dust/data/cheat_codes2-beta4/cheat_codes/cheat_codes.pmap not read.
Engine.register_commands; count: 0
___ engine commands ___
___ polls ___
amp_in_l
amp_in_r
amp_out_l
amp_out_r
cpu_avg
cpu_peak
pitch_in_l
pitch_in_r

script init

pset >> read: /home/we/dust/data/cheat_codes2-beta4/cheat_codes/cheat_codes-01.pset
pset :: /home/we/dust/data/cheat_codes2-beta4/cheat_codes/cheat_codes-01.pset not read.
ERROR (i2c/hp) failed to write
ERROR (i2c/hp) failed to write
output[1] initialized
output[2] initialized
output[3] initialized
output[4] initialized

So I played with the beta3-hotfix, trying to get acquainted with all the wonderful stuff, also to start gradually bringing my cheat cheat up to date (which will take a while).

There is one question so far and I apologize if this has been addressed in this thread or elsewhere and I just did not notice (please point me into the right direction if this has been done already):

I checked out the different timing options and also messed around with random patterns. While doing this I noticed that there seems to be some kind of interaction (?) between recorded patterns and random ones (not sure if this is true). The effect is that once I let CC create random patterns, if I stop the pattern, after some time (I assume it is the distro value so e. g. one or two bars) the pattern (the prevously recorded? the recent random?) plays again automatically. The only way to stop the pattern is to delete it (alt + pattern grid key). I would expect something like that:

  • record patterns persist until the are deleted and can be started/stopped with the pattern grid key
  • a random pattern overwrites a manually recorded one
  • random patterns can be created be setting CC and pushing alt + r button
  • as the pattern key lights up I assume I can use this to stop the random pattern (does not seem to work)

Might it be that there is a mode where recorded and random patterns for one buffer coexist and can be chained?? In which cases do patterns automatically start to play (besides after recording which is obvious)?

Is this a gross misunderstading of the implemented functionality on my side? I would be very grateful for some enlightenment.

hey hey!

the random pattern issues you mentioned are a mix of zero documentation and that some parts are indeed broken and a known issue, though not publicly logged. could you please post it to the github issues so i can report progress on its eventual fix?

everything you outlined is spot on for expectations, some componentsjust literally don’t work as i haven’t had time to focus on it yet :slight_smile:

re: k1, this was experimental — i reduced the hold time from 500ms to 100ms, so that is going to completely shift how you interact with norns. i think it is wayyy more playable in script, but you do just have to do the quickest press on k1 possible to get to the system menus. there is a github issue logged for it (thanks @Quasi!) with some proposed solutions, feel free to add any additional thoughts there :revolving_hearts:

2 Likes

@dan_derks, thanks!

Also for the hint to Github, I definitely will go there and have a look every time I find something or am confused about whatever.

I am not really sure of what to report concerning the pattern issue, I can paste what I have written here but this is not a proper bug report, is it? Would this be enough as a reminder and link for further investigation/progress report?

1 Like

that’ll do ! if you can outline steps to repro, so i can remember and cut to it quickly, that’d be dope :sparkling_heart:

edit: thanks for the clear ticket @mbutz !! super appreciated :slight_smile:

1 Like

Ohhhh yeahhhh!!! At some slower speeds and longer delay times that reverse is a blast!! Very nice!

1 Like

On the delay page of the monome I see 7,12 is the arp latch key. can you add the loop option right above that or is it there and I’m missing it.

Edit. Orrrrr even add the zzz to the delay page?
zz
z

Would be awesome to have the zilch be available in the delay page. Just for playability’s sake.

But for the record as is… this version of CC is so satisfying ANY further requests from me are merely just that. It’s so playable already.

2 Likes

on the list! :hugs:

2 Likes

sorry, i was road tripping all day (in ohio rn! edit: we have been taking covid very seriously and are happy to see most of the necessary stops along the way doing well by folks. just realized that without context, this could be read as “woo, super fun road trip without any care for reality or consequences!”) and wasn’t able to spend the proper time on replies :slight_smile:

once the on-norns random pattern stuff is sorted out, this is exactly what the meta sequencer is for! i need to do some video of this and will once the release is out (apologies that it’s vague how to navigate that page), but you can save patterns on the meta page and recall them on the clock using the meta sequencer — random patterns, played patterns, and arps! the settings for each is retained and recalled, so you can have a free-floating pattern going and then recall a quantized pattern and then recall a random pattern and then recall an arc config and then go back to the free pattern.

1 Like

No worries. I was totally satiesfied with your previous reply already :wink:

Oh yes. I have checked this out a while ago. This is a very nice feature indeed!

When I encountered the automatic playback I was just thinking that besides the meta sequencer there was something else going on; but now I know that’s more of a bug than a feature and so I am able to ‘recalibrate’ my expectations and understanding of what’s going on. Thanks!