ohhh, this sounds really fun! Clock in sounds useful as well. I will add these to my list :smiley:


Hey there @Justmat.

I’ve started working (slowly) on a few enhancemens to Foulplay. What’s your current thinking on a v2?

I’m happy to tinker away on my own version independently, but thought I’d check in to see if it was on your radar at all.

1 Like

I have some vague plans, but haven’t started on anything. I really like @Puscha’s pattern shifting idea, and there are a few other things that I’ll eventually do. What sort of things are you working on? I am always open to PRs!

1 Like

Cool. I’ve got a few things coming together now, focused on grid-based performance enhancements, using the unused buttons on the right of the grid.

So far I’ve added a global probability function, and some sample reverse tricks which actually turned out rather nice.

I think I’ll mock up the grid UI and bounce it off you before I go full PR.

What I’d really love though is different (or additional) effects in ack, e.g. bit crush, resonator, etc. Well beyond my sc chops though.


I have no current plans for the rest of the grid space, and global prob and sample tricks sound fun too :slight_smile:

I can take a look at adding more effects, but it might be above my SC skills as well :sweat_smile:

1 Like

Here’s where I’m headed. Basically adding buttons on the right that I can mash on while jamming, to save digging through params on the norns while I’m performing.


It might be better if the track speed & probability buttons behaved like an ALT button, ie. press and hold, and select the speed/prob rather than cycling.

1 Like

This looks excellent!

edit to add… I’ve been looking at Ack, and adding bit crush would be really easy :slight_smile:

Cool. I’ll do some work on this over the Easter break, and will pop up with some PR’s when ready.

I’ve thought about this, and specifically want something that’s very easy to understand and manipulate while doing other things (e.g. playing guitar / modular at the same time). It’s all an experiment, but initially I like the idea of being able to just poke one button that cycles through a small set of musically useful values, without having to remember the necessary Vulcan Mind Meld finger fu.

Once I’ve got a few more things implemented I can play around and see if it pans out.

1 Like

I have added bit crushing to ack/foulplay! The code is here, and @jah, if this is something you’re into I’m happy to make a PR!

Otherwise, I will probably make a foulplay specific fork of Ack, something like what I did with and, for mangle :sweat_smile:


Sure - create a PR and I’ll take a look at (and listen to) it.


1 Like

It is done. Thanks for taking a look!

Nice one. Will try it soon.

I got a few things done today, so PRs coming soonIsh.

I’m new to git(hub). Is it better if I do individual PRs for each separate enhancement, or just one with a bunch together, given everything is in a single lua file?

1 Like

I usually try to keep things separate, makes tracking down bugs a bit easier. :slight_smile: That said, if you are working on several related enhancements, I could see them living in the same PR.

1 Like

Here’s my code and updated quick ref, before I do a PR, for those that want to play with it first.

A few things still todo:

  • I noticed there’s no use of t.prob in the existing nor and xor code. need to look further and fix as appropriate
  • testing needed of how loop start / end manipulation relates to speed / reverse
  • track rotation logic seems weird, need to examine more closely

foulplay.lua (33.5 KB)


I’ll take a look today!

Looking back through the foulplay code is giving me some cringe over here lol So much refactoring can/should be done :sweat_smile: In my defense, it is/was some of the first code I wrote… refactoring foulplay is definitely on my list now lol.


This gets better and better! Love euclidean sequencers…midi out? (I know i gave already asked!)

Already has midi out :slight_smile:

20 chars of apologies for not having realized ! Thanks

1 Like


can’t wait to test drive this!