New Tool (2.8) Duplex: Grid Pie

Hey Mooko. When you switch, you are actually restarting the application, so it’s true that Grid Pie is resetting each time it’s started.
But what you are suggesting should be possible, it would require that Grid Pie is initially performing a “song scan” to locate which slots are enabled.

I’m currently investigating how to make Grid Pie integrate better in a Duplex setup, so thanks for the idea.

Right, another update for Grid Pie.

Now, you should be able to map the application to other devices than the Launchpad, since you can now control X/Y position with a fader/knob.
See the LPD8 configuration for an example of how to do it (oh, and LPD8 owners, please take a look here)

The bug, where the held button was deactivated when released, is gone, and holding a button now copies the pattern (much faster!!)

I’ve also done some tweaks in order to make the usage more smooth. For example:

  • Hitting “play” will force the playback to begin in the GRID PIE pattern.
  • When “follow_pos” is enabled, follow playback will be disabled at all times
  • The application will shut down in an orderly fashion when you load a new song, or delete the GRID PIE pattern
  • You can MUTE/OFF tracks, and Grid Pie will leave them alone

Download the release here

I can’t seem to get this to work on the LPD8. I press and hold a button, nothing different happens than a regular press. Am I doing it wrong?

I was expecting the playback to start right away?

Can’t figure out how to revert song to the original “no Xs” state. Tried deleting the pattern. Didn’t do anything.

Everything else seems to work.

Good stuff.

The instant playback, to me, seemed very obtrusive. I’m like, take a deep breath, hit start - a willfull act. I never enabled autostart in Renoise for the same reason. But let’s make it optional!

As for the reverting of mutes, I completely missed that feature…time to revisit your script :slight_smile:

Grid Pie Duplex version, bug:

Copy all patterns doesn’t do correct polyrhythm copy.

Open Demosong - BeatsSlaughter vs Tenda - Psydrums.
Launch GridPie Duplex
Select Pattern 2
“Click and Hold” to copy entire pattern
Select Pattern 4
Single Click to Copy Track 3

Other tracks expanded to match.

Other tracks are truncated.

Thanks, I’ll look at it right away (was working on it already )

Edit: fixed. I’ll just finish what I’m working on and release a new version soon.

Edit2: new version available on SVN or from here

I’m trying to make this Duplex version of Gridpie work with TouchOSC, but it’s my first attempt at lua and I don’t know what I’m doing.
I have created GridPie.lua to go alongside MixerTransportMatrix.lua here: and have modified TouchOSC.lua to include this file. Duplex accepts this file without throwing any errors and in the interface of Duplex, the TouchOSC GridPie buttons work as intended, however, my TouchOSC app on my iPod does not trigger the buttons. If I select Mixer Transport Matrix from Duplex the iPod works fine so I know it’s not a connection issue. Could you please tell me what I need to add/fix to make this work?


Hey phooka,
Unfortunately, TouchOSC’s grid component doesn’t transmit any button-release event, that’s why nothing is happening…but you could make a custom TouchOSC layout with “pushbuttons” instead

As quick fix, you can also open GridPie.lua (the application) and search/replace “on_release” with “on_press”

Note to self: we need an option in Grid Pie for devices with no release/hold events.

This quick fix worked like a charm, thank you.

Hi !!!
I try the new beta and gridpie reset all trhe tracks when i switch mixer configuration (or other) to gridpie… but when I switch gridpie to mixer (or effect or other configuration ) no problem…

I try to find in the script but it’s too hard for me … :panic:
I create a switch configuration for replacing the start and loop button (ok work perfect) but that’s all for me (and my little script language )…

And excuse me for my english!!! :huh:

Hey Mooko, I have to give you the same reply as I gave you a week ago:

The reason that Mixer, Effect etc. seem to “remember” their settings is simply, that they are designed to represent the current state in Renoise (the selected track, device etc.). Grid Pie, on the other hand, is doing stuff temporarily.
The solution to your problem will require modifications to Grid Pie. Stay tuned for updates…

Ok thank you so much Mr Danoise!!!
Wait & see :unsure:

I’m really loving this…

I agree, Conner did something wonderful when he came up with the idea for this tool :slight_smile:
Also, don’t be afraid to suggest new features - for example, I’d like to see scheduled triggering (wait until pattern reach it’s end, or X number of beats)

I’d like to add that this is not really an issue anymore - Grid Pie (the Duplex port) is now actively setting the playback position to the GRID PIE pattern, so it’s actually possible to create and manipulate blockloops even when follow_pos is enabled. You’re still missing out on visual feedback on the current position, though.


Hi, I need your help again. :rolleyes:

Now I try to make GridPie config for APC, but it seems that the button colors are different from the normal configs. Although I tried to edit it by myself somehow, I don’t yet understand the way…

2618 apc-gridpie.png

[Duplex Browser] >> [APC]

  • Muted slot [dark red] >> [not lit]
  • Selected slot [yellow] >> [yellow]
  • Selected blank slot [orange] >> [red]

But I want them to be lit like,

  • Muted slot >> [red]
  • Selected slot >> [yellow]
  • Selected blank slot >> [red blink (or green?)]

[from the APC protocol pdf]

0=off, 1=green, 2=green blink, 3=red, 4=red blink, 5=yellow, 6=yellow blink, 7-127=green  

Where and how can I edit them??

Okay, first thing I notice is the dark red color in the virtual control surface. AFAIK, the APC can produce only the following three colors for those buttons

Yellow = 1,1,0
Red = 1,0,0
Green 0,1,0

But the colorspace for those buttons on the APC20 have been defined as 2,2,0 in the control-map. That’s actually wrong, isn’t it - it should be just 1,1,0 ?
If you try and change that, the virtual control surface should only display colors that the APC is actually capable of…

As for the application’s colors, this is actually quite easy to change - if you open GridPie.lua and look for “palette”, you’ll find the colors specified as RGB values. Try and experiment?

self.palette = {  
out_of_bounds = {  
selected_filled = {  
selected_empty = {  
empty = {  
filled = {  

Once you find a set of colors you like, just PM me and I’ll make some code so we can define the palette especially for the APC. Right now Grid Pie comes with a palette which is primarily good for the Launchpad + monochrome devices. APC is sort of inbetween But it’s hugely useful to be able to see where there’s content and not.

Hmm? if I change that to 1,1,0, all the color of APC’s matrix are lit in green. So I cannot use red and yellow. Setting that as 2,2,0 works fine here (I don’t know what exactly it means though). :huh:

And I think this color specification is good for APC’s GridPie (it’s no problem that “selected_empty” does not be lit, isn’t it??).

 self.palette = {  
 out_of_bounds = {  
 selected_filled = {  
 selected_empty = {  
 empty = {  
 filled = {  

If we look at the original Grid Pie script, it only has ON and OFF states. I think any device should respect that…
IMHO a selected slot should always be lit, no matter if it’s empty or not. Otherwise, how can you see that you are toggling it?

So, I guess the following could look really ugly but be more functional ?

selected_empty = {

I’m OK with this though, then can it be set to too??
Currently, “selected_empty” in Matrix config does not be lit too (therefore I suggested also in GridPie to be not lit).

But Grid Pie isn’t the Matrix, they perform different jobs. You are right that the matrix have “dead spots” (which doesn’t do anything when pressed), but think about what’s actually happening:

→ In the Matrix app, I’m simply toggling the state of an empty matrix slot. In other words, it has no consequence
→ In Grid Pie, I copy that particular pattern-track to the GRID PIE pattern. Since the track might include automation data, it does something.

So, in Grid Pie it’s actually always important to see which are enabled and which ones that aren’t.
Finally, it’s also how Grid Pie works on devices with no color. Good point is to keep the device configurations consistent.

Maybe I’m a bit fuzzy about the details. Don’t worry. These are opinions (what stuff looks & works nicely is a personal matter), but I trust you to understand why they makes sense as the default values.

But I’ll make it a feature in Duplex to customize the colors on a device-config basis. For instance if I for some reason wanted the Monome Mixer colors to be inverted (when all buttons is lit, it’s a very bright controller, I can tell you!!), I would become able to specify this in my monome-mixer config. And eventually, maybe even visually, via some palette UI.