# Kontakt 4: menu customising



## tonewill (Jan 15, 2014)

Hello Chaps,
Is there anything that can be done to customise the Kontakt 4 menu? I know some of you are good at finding workarounds in Kontakt.

I want to create a menu that effectively has 3 or 4 columns of text. Aligning text seems to be a problem as the font used is not fixed-width. Is there a way to create a graphic with all the text and somehow overlay the drop-down menu and still be able to click individual items?

Probably not, but thought I should ask anyway.

Many thanks.


----------



## ScoringFilm (Jan 15, 2014)

Not possible I'm afraid.

J


----------



## tonewill (Jan 15, 2014)

Right okay, thanks for replying anyway.


----------



## mk282 (Jan 15, 2014)

Only if you're going to use up a loooot of ui_buttons... Quite an ordeal. Not impossible to build your own custom menu, but it's a big chore.


----------



## Raptor4 (Jan 15, 2014)

tonewill @ Wed Jan 15 said:


> Right okay, thanks for replying anyway.


Do not be disappointed - there is some workaround I guess :shock: .
There are lots of "Magic" tricks which can be done with the UI Menus - if you a good UI graphic designer and scripter as well  .
I have made lots of tricks like that, though I have not tried your scenario yet. Anyway I have a little idea:
For example:
1. If you need 3 columns and 3 rows you can create 9 buttons to emulate a custom UI table (you can create 9 custom graphical design buttons with 6 statues for each one so they can react on mouse click, on mouse over etc.). 
2. You will need one more "Master" button which will behave as a main UI Menu. This button will be visible on init ony (the Table ones must be hidden).
3. It's a good idea to create an Array to store the Table Button UI Ids so you can use loop to be able to hide/show the Table (Buttons) etc. You can use one Array for the all Instrument UIs (you may need to hide some UI parameters when show the Table as well). It's a good idea to use some "Math" to move the Buttons by "Px" on init automatically to be able to control proper Table cells placement according to your Graphical design prototype.
4. You can create one more Text Array where you store the Table Cell names. In this case your Table buttons must be "Plain" without any text so you can type any text at any time using the KSP.
5. Here is the action... When you click the visible Master Button (Menu style) you show the Table via loop - i.e the 9th buttons which behave as Table cells. Now you move the mouse over the Table (note, if you have 6 button statues the target cell can be highlighted on mouse over). The moment you click the target cell you will perform an UI Callback for that button/cell after that the CB will perform the NI action you want followed by "Hide" all Table buttons loop which will hide the Table custom menu buttons after the click.

Right now I'm on a dead line of a midi Javascript Toolkit release and do not have time to mess with KSP, but this must work in theory - there are lots of experts here who can assist you as well. The idea can be used for making a normal UI menu as well with custom flip items which react on mouse over, down etc.

*EDIT*: Mario gave the same idea above while I was typing (no details though) :roll: ... Anyway I leave my post here for those who are interested in that. 
Cheers
____________________
www.audiogrocery.com


----------



## tonewill (Jan 16, 2014)

Thanks a lot mk282 and Raptor4.

Yes, that's the sort of workaround I mean, something I wouldn't have thought of. Fortunately, it's not as complicated as I made it sound in my initial post. When I said I wanted 3 or 4 columns, that was just for the text layout not a separate item for each column. In other words, I would only need one button per row.

I'll give it some thought and see if it's worth doing. It may be just enough to try and align the text in a normal menu as best as I can, though it's a pain.

Thanks again for all the help.


----------



## mk282 (Jan 16, 2014)

Actually no - you will need to have one button for each entry if you want columns... At least if each column is supposed to be a clickable entry. Wasn't that what you wanted to do, and if not, what would be the purpose of columns then?


----------



## Raptor4 (Jan 16, 2014)

tonewill @ Thu Jan 16 said:


> When I said I wanted 3 or 4 columns, that was just for the text layout not a separate item for each column. In other words, I would only need one button per row.


In this scenario you do not need buttons at all... You can create a standard UI Menu with say 4 items (each menu item behaves as a row) and 3 UI labels (or 6 labels - to emulate non-clickable columns). You can name the menu items accordingly - for example:
"Text/OFF" itx 0;
"Row 1" idx 1;
"Row 2" idx 2;
"Row3" idx 3;

You hide the labels during init (this is equivalent of Menu = 0 idx as well). When you select the "Row 1" (you show the top row label/text and hide the opposite ones). Here you can show the text row for a while (2, or 3 seconds) as dynamic label (see this thread here), or you can leave it shown constantly until you select another row in the menu (you hide the opposite rows) or choose the "Text/OFF" idx 0 in the menu.
_____________________
www.audiogrocery.com


----------



## tonewill (Jan 18, 2014)

Thanks Raptor4, I appreciate your help.


----------

