Colorable GUI blocks (besides buttons)?

Hey all, I’m working on a tool to give zoomed-out views of the struct of a song in renoise. (see below)

To acheive this I have a popup window where I redraw the tracks x patterns with their blocks.

my question is: am I missing some sort of vb:object that can be drawn in a grid and colored? — right now it seems that the only thing I can use to grid ‘images’ in the GUI (grids of colorable blocks) is buttons; textfields, aligners, etc all have their respective ‘styles’ but non can have their colors set directly like buttons.

I’d rather use something more low impact than a button, because I don’t need them to be buttons; just a display - would even be open to color text for an ASCII grid type display.

any thoughts?

5 Likes

This minimap is looking pretty neat!

Are you sure buttons are “high impact”? Have you experienced any performance issues using them? Are you using buttons for the empty space as well?

I am not aware of any drawing API in Renoise but you could always write bitmap images and load them as a single button/image I suppose. Something like this will make it easier:

1 Like

This minimap is looking pretty neat!

Thanks!

Are you sure buttons are “high impact”? Have you experienced any performance issues using them? Are you using buttons for the empty space as well?

quick A/b tests show they’re not causing worse performance issues than i already have with renoise GUI loading when quickly changing scenes, but i just assumed they might be more overhead - the empty spaces are vb:columns turned back with ‘style’

but you could always write bitmap images

yah was trying to think of a crafty way around this, but I get the colors directly from the tracks / as buttons they are scalable (as i might add a concealed menu for options)

Anyways thanks!

1 Like

in Renoise APi u can’t colorise any bitmaps and buttons, they use Theme Colors.

In my experience, the button object within the API is “nimble” enough to render colors.

In order for your tool GUI to load as quickly as possible, rendering multiple buttons will not be a problem, but iteration functions can be used to check whether a button should exist or not and assign a color to it. If you want to optimize the loading performance of your tool GUI, optimize the data selection functions as much as possible. The views are fast enough in general, as long as it shows the minimum number of objects possible.

Can you share your progress?