I usually use the same track colours for the same instruments and often have similar names for the tracks and buses. However, I find colouring the tracks quite time-consuming and therefore I have extended the LUA script Trackorganizer a little.
The colouring of tracks, busses, groups and VCAs can now be done automatically based on tags. In addition, the colours and their assignment can be configured. This configuration is saved and is thus available to every session.
I have added an EditorHook skript, which applies the coloring rules to added tracks/channels. This way, the correct colours are already assigned when a strip is created.
You first need to copy all three scripts in the users script-directory. The location is operating system dependent and can be found here: The Ardour Manual, paragraph âManaging Scriptsâ. Then start ardour and open Edit->Lua Scripts->Scrip Manager.
In the tab âAction Scriptsâ select one Line âAction xâ (The first four lines will add the action to the 4 upper right buttons in the ardour main window).
Then select âAdd/Setâ and in the âShortcutâ drop down seach for âMixer Strip Configurationâ. (I would recommend a position on one of the first four lines)
Then click the Button âAddâ. Repeat the same for âSettings for Mixer Strip Configurationâ. You wonât need this cript so often, so you can use a position beginning with 5.
You can âCallâ the scripts right here.
Then swich to the âAction Hookâ tab, Click âNew Hookâ, select âColoring Strip When Added Hookâ and click âaddâ again.
Nice idea and execution of it @holgerd. Thanks for sharing.
The first four lines will add the action to the 4 upper right buttons in the ardour main window
âŚ
I would recommend a position on one of the first four lines
âŚ
You wonât need this cript so often, so you can use a position beginning with 5
Just to add to that: four buttons are shown by default but itâs possible to show up to twelve of them.
After all, thereâs one question again.
If a script is âconnectedâ to one of the upper right buttons,
a shortcut char or an icon is shown on the button.
How/where can i change it if two buttons show the same char ?
Is it possible to move the buttons to another place in the menu
where i would like to have them ?
Hi Harry, itâs not possible to change the icon in Ardour. However, an Icon can be included in the script, but this has to be drawn âline by lineâ, which is a lot of effort.
If someone sends me a simple design, I can try and see if I can get it to work. I myself unfortunately have neither an idea for it, nor the talent
Regarding movin the Buttons: No idea!
The script can also use text for the button icon, instead of a drawn icon. There are some examples in the sample scripts, e.g. remove_unknown_procs.lua and preare_record_example.lua.
Below is what I use, adjusting those four âconfigurationâ lines as neededâŚ
function icon (params) return function (ctx, width, height, fg)
-- configuration
local iconText = "Hi" -- the text to display
local iconFont = "ArdourMono" -- the font to use, e.g. "Liberation Sans Narrow" for a narrower one
local iconFontScale = 0.5 -- the size of the text; smaller number = smaller text
local iconColor = fg -- the color. fg is the Ardour skin's foreground color, e.g. white. Can use custom RGBA value, e.g. 0xff0000ff = red, 0x0000ffff = blue.
local txt = Cairo.PangoLayout (ctx, iconFont.." ".. math.ceil(math.min(width, height) * iconFontScale) .. "px")
txt:set_text (iconText)
local tw, th = txt:get_pixel_size ()
ctx:move_to (.5 * (width - tw), .5 * (height - th))
ctx:set_source_rgba(ARDOUR.LuaAPI.color_to_rgba (iconColor))
txt:show_in_cairo_context (ctx)
end end
@HarryR if the script you are talking about truly is using a âcharacterâ (text) then look for that character in the scriptâs icon function and replace it with what you want. E.g. If the button is shown the letter A then look for âAâ (including the quotes) and change it to âBâ or whatever. Alternatively, replace that entire icon function with the above and set its configuration section. Either way, after that, unassign the script from the button then reassign it (a refresh might be needed first) to see the new icon on the button.