Buying a launchpad isn’t the easy way out then 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.
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
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)
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.
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
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
If you replace the whole palette block from …/APC40/Configurations/GridPieEffectNavigatorTransportMixer.lua in the with the block below, it works for me.
Thanks. We need to still configure more colors maybe. Because for example, when I push a button under the active patterns, double buttons are lit and I don’t know why it’s doing that, could be a wrong color assigned or some feature that I don’t know off
If you replace the whole palette block from …/APC40/Configurations/GridPieEffectNavigatorTransportMixer.lua in the with the block below, it works for me.
Hmmm, I’m still not seeing inactive content on the akai apc40:
The blue pattern doesn’t display on the apc40 has having content and remains unlit. Maybe I’m not modifying the lua file correctly. Here’s what I have: