GridPie - Akai Grid Color Feedback

Hi,

I have an Akai APC40 hooked up to GridPie. My Akai grid can output yellow, red and green. The grid buttons on the Akai light up yellow if a corresponding track is active. But all the other grid buttons stay black, so the inactive, but also the inactive with content. Now I don’t know what button to push on the next pattern, it could be empty, or not, I can’t tell the difference by the color.

I’d rather have something like all my tracks with content are red and the ones playing green. That way I know that the black buttons are empty.

Does your GridPie also output only one color? Can somebody help me to fix this?

Thanks!

Pictures say more then words.

The GridPie GUI screenshot below, shows the colorscheme: Yellow for active tracks, red for inactive tracks, black for empty tracks. I would like to see that feedback on my Akai too. I didn’t realize I needed these colors until I start jamming today :slight_smile: Renoise could be a live performance beast.

gridpie

I found a mismatch with variable names of the palette in GridPieEffectNavigatorTransportMixer.lua and names in GridPie.lua that it is referencing.

But then again, I’m probably mistaken, the n00b I am :wink:

I checked the other effects+mixer+whatever for the APC40 and that one gives the feedback in the grid lights, so I’m going to try to find how it does that, and try to applie it to the gridpie code, but any help would be very welcome. Cheers.

Also a noob, I tried diving into this issue as well and seemed to come up with nothing. If you’re looking for someone to help test, let me know! Not sure how the scripts initiate the colors. I agree, it would make it super fun if you could determine where your patterns are!

1 Like

I’m just going to post my findings here, as an archive and maybe someone sees something to help me with.

Relevant Files

GridPie.lua
The Generic File where all the GridPie magic happens is Duplex.Application.GridPie.lua This is also where I find a palette and code that resembles states of buttons with their colors. Except I don’t know if that is for the Duplex GUI in Renoise or the APC40, or both.

GridPieEffectNavigatorTransportMixer.lua
This file is apc40 specific and combines 5 applications from the generic applications directory and binds the applications to the various parts of the apc40 controller. So GridPie to the grid matrix, the Mixer app to the faders and so on… This file also has a palette (color binding) for Gridpie, but it doesn’t do much, if I delete the block, functionality stays the same in the GUI and on the APC40.

APC40.lua
And we find apc40.lua. it extends the device class and has only 1 function to get the color config (number of colors?) from/for the apc40.

Does anybody know, if rgb color show up on other controllers like the Novation Launchpad?

I’ve never gotten any color feedback from grid pie with the launchpad.
would be great if it did, tho!

1 Like

Buying a launchpad isn’t the easy way out then :slight_smile: Thanks for the info.

I think I need to figure out how to change color on the apc40 from a script. After that find the code that colors the buttons on the gui and paste in some code there that does the same for the apc40 device. The logic for active, inactive buttons and their colors is already there for the gui.

hope you can figure it out!

I’ve posted this thread on the discord too, hoping someone might be able to chime in there as it relates to this!

E: And not sure if you’ve seen this before. It’s the sysex/communcations manual for the APC40 mk1: https://www.akaipro.de/sites/default/files/2018-01/APC40_Communications_Protocol_rev_1.pdf_1db97c1fdba23bacf47df0f9bf64e913.pdf

1 Like

Thanks, that could be handy! Although I hope I don’t have to use it, I’m affraid I brick my apc40 sending wrong sysex messages :slightly_smiling_face:

What I found out today: I tested all the different button states GridPie.default_palette to see which ones are relevant to using GridPie for live performing.

content_selected
These slots have content and are currently playing, these slots are yellow in the gui.

content_active
These slots have content, but are not currently playing, these slots are red in the gui

gridpie_alias
That is the lower row of slots, which holds the alias pattern, where the playing tracks/slots are combined. These slots are green.

In the GridPie.lua I now find gripie_alias set as the color for the gui, when the function GridPie:paint_cell(cell,x,y) is invoked. Now we need to find out how to set the led color for the control surface in this if statement.

> if is_alias then
>         cell:set(self.palette.gridpie_alias)

Have you seen this yet?

1 Like

I’ve read most of the 3.0 and 2.8 threads. But didn’t see this, interesting, thanks.

The post claims that the functionality is already there, but the colors only don’t show up on the apc and some other device, because of wrong configuration of the palette in GridPieEffectNavigatorTransportMixer.lua Cool, that could be much easier to fix.

Could be that is has somethig to do, with the apc only having three colors, I read that somewhere too.

Just read that the apc40 only has two colors, red and green, both lit make it yellow. The function in apc40.lua probably covers this.

So is the key to the issue somehow the relationship between the APC40.lua file and the GridPieEffectNavigatorTransportMixer.lua file? Noticed there was some sysex definitiions in the APC40lua file and then it defines the colors:

function APC40:output_boolean(pt,xarg,ui_obj)

  local value = nil

  local color = self:quantize_color(pt.color)
  -- use the local colorspace if it's available
  local colorspace = xarg.colorspace or self.colorspace
  if (colorspace[1]>1) then
    -- clip launch buttons can have multiple colors
    local red = (pt.color[1]==0xff)
    local green = (pt.color[2]==0xff)
    if red and green then
      value = 5 -- yellow
    elseif red then
      value = 3 -- red
    elseif green then
      value = 1 -- green
    else
      value = 0 -- turned off
    end
  else
    -- normal LED buttons are monochrome
    value = (pt.val == true) and xarg.maximum or xarg.minimum
  end

  return value

end
1 Like

I’ve got it working. I’ve got green buttons for active tracks and red for inactive with content and the rest is black/off :slight_smile:

If you go to application/gridpie.lua and search the default_palette and change the colors like this:

content _active = {0x00, 0xff, 0x00}
inatctive_content = {0xff, 0x00, 0x00}

content_active will be green, because only the second led, will be lit, inactive_content will have red, because the first led is lit, and if you make any combination of more 0x,ff in one set, it will be yellow.

You should already be good to go. I’ll figure out a tidier place to edit this in a more apc40 specific file.

ps I’m not sure if the if colors are correct with the code, I’ll update when I’m more confident about what to fill out :slight_smile:

1 Like

Oh hell yeah, going to test it when I get home!!

I believe @danoise was talking about rolling out an update to include some user fixes so this should definitely be included once you tidy it up :slight_smile:

If you replace the whole palette block from …/APC40/Configurations/GridPieEffectNavigatorTransportMixer.lua in the with the block below, it works for me.

      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 }
        },
1 Like