New Tool (3.4): Grid Pie

2.8 compatible version added to the Tools page:

http://tools.renoise.com/tools/grid-pie

Folks,

Appreciate this thread is pretty old, but this is a great add-in, and was almost perfect in what I was trying to achieve (using a Machine Jam as a controller). The problem I had with it was with “Grouped” tracks - the uploaded implementation just treated them as regular tracks in the matrix. I’ve therefore added a modification which allows you to create the same grids/matrixes, but treats tracks in a group as one.

8130 Screenshot 2018-07-09 14.31.30.png

Now bear in mind -

  • I’m still figuring out ReNoise (although I think it’s the best DAW I’ve ever used - perhaps from the nostalgia of using “trackers” in the days of my yoof)

  • This is my first time coding with Lua. In fact, I’ve never even heard of it until I started using ReNoise.

  • I’m still trying to figure out how to package this stuff up.

Anyway, attached is the main.lua if anybody wishes to examine it themselves. Much appreciate any feedback on this already fantastic add-on. Mods are in the “function build_interface()”, “function main(x, y, grouped)” and the obvious menu additions at the bottom of the file.

(There might be something else out there that does exactly what I’ve spent quite a fair few hours figuring out how to code. But balls to it - interesting learning experience, regardless!)

1 Like

This is my first time coding with Lua

Cool. Do you code in any other languages then? If you are familiar with GitHub, the source code is here:

https://github.com/renoise/xrnx/tree/master/Tools/com.renoise.GridPie.xrnx

You may want to also check out Duplex which has a souped up Grid Pie in it:

https://github.com/renoise/xrnx/blob/master/Tools/com.renoise.Duplex.xrnx/Duplex/Applications/GridPie.lua

https://www.renoise.com/tools/duplex

I’ll wait for others to give feedback. If none appears in the next few days please ping this thread again and i’ll review your changes. Grid Pie stand-alone is in “maintenance / patches welcome” mode these days…

Cheers.

Thanks for the quick reply, Conner. I’m a software dev by profession (C#, Javascript/Typescript blah blah blah) , but I’ve never got involved in public GitHub projects / branching etc.

Does Duplex support the functionality I added to Grid Pie? If not, do you want me to look into adding it?

A few more things to get my head around if so, but all fun and games :slight_smile:

Okay, had a look at “Duplex” - but seems to be kitted out towards specific types of controllers, rather than a “one fits all” solution. Please let me know if I’m wrong on this assumption.

In the mean time, I realise my original modifications to the “Grid Pie” code didn’t work correctly when the matrix was triggered by Midi controllers on group tracks. The attached version should address this.

At some point in the near future I’ll add this code to a branch on the Git repository. For now the the script is attached if anybody wishes to give it a go.

Okay, obtained the GitHub repo but wont make any mods there just yet.

One thing I can’t get my head around right now - is there any way to determine the Midi device and source key from any controller assignments using the “renoise.tool():add_midi_mapping” method? The “renoise.ScriptingTool.MidiMessage” class returned by the “invoke” function doesn’t really give me much information. “renoise.tool():has_midi_mapping” just gives me a boolean, and I can’t find another other similar method in the documentation.

The objective is I’d like to send SysEx messages to the controller to set the lights when the matrix buttons are triggered by the controller.

Appreciate any info you can provide, folks.

Hello all,

I’m enjoying the Grid Pie tool as a part of Duplex in Renoise 3.1.1.

When I use it with my monome grid 128 it works perfectly.

However, I have tried the Grid Pie tool with a monome grid 64 and the akai apc40, and it seems to work fine except for the fact that I cannot see where on the “grid” the different phrases I have available are. I can see them fine on the grid 128. For example, I’ll try to make a chart below this to show an example pattern matrix:

T1 T2 T3 T4

0 X

1 X X

2 X X

3

On the grid 128 I can see this layout, but on the grid 64 and the apc40 I cannot. It makes it much more difficult to use.

I’m on ubuntu linux 64-bit, I believe it’s version 18.

Any ideas???

Thanks.

On the grid 128 I can see this layout, but on the grid 64 and the apc40 I cannot.

While I have an 128, the 64 should be functionally the same so this is quite weird. But I’ll check.

For the APC 40, I believe you could try hacking the palette(link to github)

  • find the same file within the Duplex tool folder (Tools > Tool Browser > Right Click > Reveal…)

  • modify the file, save and restart.

The colors are defined as regular RGB colors which are then translated into the colors that the device can show.

And maybe I created the palette in a way that made some colors invisible?

If this really is the case, I would love to get your modifications so they could be integrated :slight_smile:

Is Grid Pie still being developed for the latest versions of Renoise, or…?

im having trouble with duplex gridpie version.

when im in record mode and switch patterns, it just randomly adds many many new patterns on the bottom. maybe this was intended as a way to record switching between patterns but it reall is broken. and i dont know how to turn it off unofrtunately

also it makes renoise randomly crash but it might also be another part of the gridpie duplex configuration for the launchpad

there is system behind it haha. so i enable record, and press something in gridpie. then when i dont change anything, it adds 4 new patterns, when i change something, it adds 5…
weird stuff. id love to know whats going on

Hi,

As discussed in GridPie - Akai Grid Color Feedback - #27 by spdk

If I replace/override the palette in the GridPieEffectNavigatorTransportMixer.lua, I get the right feedback (colors) on my apc40.

      palette = {
        out_of_bounds            = { color={0x00,0x00,0x00}, text="·", val=false },
        content_selected         = { color={0x00,0xFF,0x00}, text="·", val=true  },
        content_active           = { color={0xFF,0x00,0x00}, text="·", val=false },
        content_active_current   = { color={0xFF,0x00,0x00}, text="·", val=false },
        inactive_content         = { color={0xFF,0x00,0x00}, text="·", val=false },
        gridpie_current          = { color={0xFF,0xFF,0xFF}, text="·", val=false }
        },

I am bumping this topic about a script that I wrote 14 years ago because:

  • I got a new AKAI MPK mini so I am playing around with it again.
  • I made a V1 - I added a new feature: “Indicator lights” (and fixed a couple bugs)
  • The old tutorial video doesn’t explain anything? I’m guessing I made it while intoxicated…

Note: Controller not required, if you want to click with the mouse it’s OK.

Download page with new V1: Grid Pie | Renoise
GitHub Patch: Gridpie: New indicator lights, bugfixes by dac514 · Pull Request #161 · renoise/xrnx · GitHub
Tutorial:

2 Likes

Had mapped a 4 to 4 grid with my alesis v61 pads and was deleting some tracks & moving some track blocks in Renoise matrix around while running gridpie (probably not the best way to use the tool :));

"'C:\Users\pluge\AppData\Roaming\Renoise\V3.4.3\Scripts\Tools\com.renoise.GridPie.xrnx' failed to execute in one of its midi mapping functions. The MIDI mapping will be disabled to prevent further errors.

Please contact the author (Dac Chartrand [redacted]) for assistance…

main.lua:285: attempt to index local ‘dest’ (a nil value)
stack traceback:
main.lua:285: in function ‘toggler’
main.lua:721: in function main.lua:717"

I was trying to get grid pie to work next to the auto clone patterns tool (Auto Clone Patterns | Renoise). So when having enabled the other script, you’re choices in grid pie are remembered/recorded into new patterns. Unfortunately, the two don’t seem to work with each other as auto clone needs player position scrolling to be enabled. Perhaps they can work with each other and I’m doing something wrong?

Hey Djeroek, if the line numbers are correct, then the bug is happening here in the toggler function:

local dest = rns.patterns[GRIDPIE_IDX]
local lc = least_common(dest.number_of_lines, source.number_of_lines)

dest is supposed to be the last pattern, the special GRID_PIE pattern, but it looks like it was deleted, or the script lost track of the index somehow.

Not sure what I can do to fix it. Can you try adding this line under local local dest?

local dest = rns.patterns[GRIDPIE_IDX]
if dest == nil then return end -- new line here
local lc = least_common(dest.number_of_lines, source.number_of_lines)

This should stop the crash, but the thing is I’m not sure if the button will still work anymore? Like, will it auto-reconfigure? Maybe an observer will pick something up on a subsequent tick or something…

Gridpie needs it disabled. Its launches the UI in a way so that Renoise loops the last pattern, then it copies pattern matrix slots into the last pattern when you click on pad buttons. If the last pattern is moving it will lose track, because Gridpie does the setup only once on init. Sorry. :frowning:

1 Like

I uploaded a new version (replaced the version that was there with a new file).

It doesn’t fix the problem but it will now print an error to make it more clear what’s wrong:

Unexpected problem! Usually triggered by moving or deleting the special Grid Pie pattern, and Grid Pie needs to be restarted.

No worries, was looking for a way to jam and record the gridpie noodling into an arrangement using both the tools, consider it a feature request for whoever inspired to pick it up :slight_smile: .

Starting a new song / resetting the tool seems to have fixed the bug and I can use the tool without problems. Normal use will prevent the bug from happening anyway.

1 Like