New Tool (3.1): "Insert Groups & Tracks per Colors" (x16)

UPDATE: This double tool has no further development.I have built a much better tool: GT16-Colors , directly related to these tools. Please,visit the following topic:

Tool GT16-Colors :https://forum.renoise.com/t/new-tool-3-1-gt16-colors-v1-2a1-updated-12-june-2017/46473

GT16-Color is much better!!! Enjoy!

=================================================================================

=================================================================================

=================================================================================

=================================================================================

Tool: Insert Groups & Tracks per Colors (Updated to V2.0 “floating windows”)

6791 00-16-Colors-500x500.png

Introducing “Insert Groups & Tracks per Colors”

Insert and order new Groups & Tracks with 16 Colors to select in Pattern Editor. Create your distribution of Groups & Tracks according to colors before or during its musical composition. The colors have been specially selected to combine well.In essence, it is another way take advantage different colors.

Quickstat

  • Download and install the tool.
  • Select Pattern Editor, and after, select a track (or group if this exist).
  • With mouse, select the New Menu: “Insert Groups & Tracks per Colors \ …”
  • Insert your selection.
  • The insertion is always in right of the track or group selected.
  • Erase Tracks left over (Renoise starts with 8 Tracks).
  • Enjoy!

Warning: use with moderation!!! Some options add many tracks with one click only, you think about you need before using…

Version 1.0 “dropdown menu”

6792 ulneiz.GroupsTracksColors.v1.png

Versión 2.0 “floating windows” NEW!

[sharedmedia=core:attachments:6818]

Features:

  • Speed and same color : Specially designed to assemble multiple Tracks & Groups of the same color quickly.
  • Stepwise construction : Specially designed to createsmall or large groups of tracks of the same color.
  • 16 Colors :Aqua, Black, Blue, Brown, Gold, Gray, Green, Orange, Pale Pink, Pink, Pistachio, Red, Sky Blue, Violet, White & Yellow.
  • Multiple options : In Total, this menu or window include: 560 options of individual colors (35 per color), and 26 options of combined colors.
  • New hierarchy of Groups (3 levels): “Main Group”, “Group”, “SubGroup”. The colors are more vivid… (Remember: Renoise allows 5 levels).
  • New treatment of Tracks : Tracks sorted per pairs… Odd Track lighter color; Pair Trackdarkercolor.Use to add the same type of instruments.
  • Combined Colors : Includes multiple color combinations of Tracks and Groups (menu “Insert Groups & Tracks per Colors \ …Combined \ …”).
  • Best visual classification : 3+2 levels of intensity of the colors to clearly differentiate the tracks of the groups.
  • Options brute force : Include a some brute options,warned the tagline: …Heavy!!! Please, use with moderation (You can include up to 180 tracks with one click,only PCs powerful).
  • FX Columns : All Fx Columns are collapsed, except options of insert a individual “Main Group” or “Group”.
  • Note Columns : All Note Columns named “Note” are renamed: Note 01,Note 02,Note 03,Note 04,Note 05,Note 06,Note 07,Note 08,Note 09,Note 10,Note 11,Note 12.
  • New Aux Track : Aux Track included, always collapsed.
  • Safe : Neither option destroys, always adds.
  • Main.lua archive : Script LUAcustomizablein some options.You need knowledge of language…

Example bright colors in individual Main Groups:

6795 01-Individual Main-Group.png

Download the tool (XRNX) & theme (XRNC)

Some screenshots:

If you want to see the look of the tool more widely,you can download the following ZIP package:

Screenshots of tool “Insert Groups & Tracks per Colors”:6796 ulneiz.GroupsTracksColors.Screenshots.zip

Enjoy!

[sharedmedia=core:attachments:6815]

6798 05-Group_SubGroup.png

6799 06-SubGroup_Tracks.png

A reminder of some related keyboard commands in Pattern Editor

  • Ctrl + D : duplicate track or group
  • Ctrl + Shift + T : erase track selected
  • Ctrl + Shift + G : erase group selected (and all tracks containing)
  • Ctrl + Shift + K : collapse or expand track or group selected
  • … use the new menu with mousefor the rest.Build in moderation!

NOTES: please, if you find any errors, write in this thread then…

Thanks and enjoy!

Raul my man, you are a hero.
You should join the dev theme.
I’m serious.

Raul my man, you are a hero.
You should join the dev theme.
I’m serious.

Thanks Roppenzo! :slight_smile:

This is incredible, thanks so much for making and sharing it.

Only had a quick try so far but it seemed such a powerful tool.

Quite an interesting tool Raul, kudos for creating it. B) It’s really inspiring to see how Renoise can be extended and modded with a little time and effort.

Cheers.

That’s a lot of menus. Maybe you could think of consending this into a simple GUI?

That’s a lot of menus. Maybe you could think of consending this into a simple GUI?

Hi joule.Yes of course.In factI have that in mind,a floating window with a mesh of 16 colors for selection and options to choose number of groups and tracksand a multiplier.Or something like that. It would be very simple.But I have not enough knowledge yet to create it.

I think the best would be integrated into the advanced options panel inside Pattern Editor, on the right,separated within the panel:

6801 advanced pattern editor for colors.png

…separately from other options clearly.I do not know if possible.The floating window does not convince me completely.

There are many menus, but at least all the options involve a mouse click.It is a solution that creates for me and I want to share with the community.I’m sure even the code can be optimized much more.

By the way, still pending the script for “Explode Pitches To Octaves”.This one really like it to be perfect.Can you take a look? Please!!! I have also intend to share when completed.

There are many menus, but at least all the options involve a mouse click

It’s really OK with a deep menu system as long as you don’t need to use it all the time.

But, for what it’s worth, you could create a floating dialog that is triggered via a keyboard shortcut, and offer full keyboard integration for the dialog itself.

So a fully “mouse-free” workflow is also possible :smiley:

Btw: always loved that goldblue theme. Very pleasant to work with.

It’s really OK with a deep menu system as long as you don’t need to use it all the time.

Actually, you can create a extensivetemplate of groups and tracks for compositing in a few steps.When you finished composition, erasing tracks left over and ready.

There might even be a menu of specific templates for different styles :orchestral, dance, rock, electronic…with the colors and names of the tracks already prepared.One click and you have a template prepared to compose on the spot, and not 8 single tracks without colors. Distribution, colors and names, all in one.

But, for what it’s worth, you could create a floating dialog that is triggered via a keyboard shortcut, and offer full keyboard integration for the dialog itself.

So a fully “mouse-free” workflow is also possible :smiley:

Btw: always loved that goldblue theme. Very pleasant to work with.

I am not able to build.Someone dared?Any improvement for speed is welcome, always!

Btw: always loved that goldblue theme. Very pleasant to work with.

Thank you!Add in next version of Renoise. :slight_smile:

This is incredible, thanks so much for making and sharing it.

Only had a quick try so far but it seemed such a powerful tool.

Quite an interesting tool Raul, kudos for creating it. B) It’s really inspiring to see how Renoise can be extended and modded with a little time and effort.

Cheers.

Thank!While not perfect, it is useful.I’m glad they can use…

Tool: Insert Groups & Tracks per Colors V2 “floating windows”

[sharedmedia=core:attachments:6791]

NEW! I created a new version 2.0 of " Insert Groups & Tracks per Colors",based in " floating window".

You can do the same as version 1.0.This is their aspect: :slight_smile:

6818 ulneiz.GroupsTracksColors.v2.png

Download the tool (XRNX)

Version: 1.0 “dropdown menu” (Tested in Renoise 3.1): Comment #1

Version: 2.0 “floating windows” (Tested in Renoise 3.1): 6817 ulneiz.GroupsTracksColors.v2.xrnx NEW!

6815 04-Main-Group_Group_SubGroup.png

[sharedmedia=core:attachments:6798]

[sharedmedia=core:attachments:6799]

NOTES: please, if you find any errors, write in this thread then…

Of course, enjoy!

That’s a lot of menus. Maybe you could think of consending this into a simple GUI?

Version 2.0 released of “floating windows” ! :slight_smile:

Danoise,I need help in LUA, please.I have a small problem with the button “accept” (or select, or ok, or intro…)and space or enter key of keyboard.

For example, with this code:

local res = renoise.app():show_custom_prompt ( 'Preselect a Option...' , view , { 'Select', 'Cancel' } );
     if res == 'Select' then
        if menu_x4.value == 1 then main_groups_colors() end -- 1 Main Grousp
        if menu_x4.value == 2 then groups_colors() end -- 2 Groups
        if menu_x4.value == 3 then subgroups_colors() end -- 3 SubGroups
        if menu_x4.value == 4 then tracks_colors() end -- 4 Track
        if menu_x4.value == 5 then combined_colors() end -- 5 Combined
     end

The “space key” and the “enter key” of keyboard works.It is the typical two buttons to Accept and Cancel.

But by adding a third button (‘Undo’), as in this code:

local res = renoise.app():show_custom_prompt ( 'Preselect a Option for Combined Colors...' , view , { 'Select', 'Undo', 'Cancel' } );
     if res == 'Select' then
        if menu_x4.value == 1 then main_groups_combined() end -- 1 Main Grousp
        if menu_x4.value == 2 then groups_combined() end -- 2 Groups
        if menu_x4.value == 3 then subgroups_combined() end -- 3 SubGroups
        if menu_x4.value == 4 then tracks_combined() end -- 4 Track
     end
     if res == 'Undo' then all_colors()
     end

The space key and enter key of keyboard does not work. :mellow:

Is there any way to fix it?

All this code is in the toolulneiz.GroupsTracksColors.v2.xrnxin main.lua

It is a small detail that can work faster with the tool, using the keyboard and mouse simultaneously…

Hmm, I haven’t actually tried it, but it sounds like the API is a little clever with the default “two button” prompt and automatically assigns keyboard shortcuts. With three buttons, perhaps it stops doing this?

But if you look at the viewbuilder docs, you’ll see that the ‘show_custom_prompt’ actually has an additional argument which allows you to specify your very own keyboard handler.
So you can basically make it behave in (almost) any way you like.

Try to add the following to your code, and you’ll be able to see what arguments are passed to the keyhandler:

local fn_keyhandler = function(dialog,key)

 -- print the value of key to the console
 rprint(key)

 -- uncomment to pass key on to Renoise
 -- return key
end

renoise.app():show_custom_prompt ( 'Preselect a Option for Combined Colors...' , view , { 'Select', 'Undo', 'Cancel' },fn_keyhandler);

Hmm, I haven’t actually tried it, but it sounds like the API is a little clever with the default “two button” prompt and automatically assigns keyboard shortcuts. With three buttons, perhaps it stops doing this?

But if you look at the viewbuilder docs, you’ll see that the ‘show_custom_prompt’ actually has an additional argument which allows you to specify your very own keyboard handler.
So you can basically make it behave in (almost) any way you like.

Try to add the following to your code, and you’ll be able to see what arguments are passed to the keyhandler:

local fn_keyhandler = function(dialog,key)

-- print the value of key to the console
rprint(key)

-- uncomment to pass key on to Renoise
-- return key
end

renoise.app():show_custom_prompt ( 'Preselect a Option for Combined Colors...' , view , { 'Select', 'Undo', 'Cancel' },fn_keyhandler);

For example, if I want to assign a specific key (the “Q” or “Ctrl+Q”)to the button “Select”

How would the exact function code?

For example, if I want to assign a specific key (the “Q” or “Ctrl+Q”)to the button “Select”

It’s easy to check for the key being pressed. I guess you already added the code above and saw the output in the scripting console?
But pressing the key does not trigger a button as such. You will have to store the pressed key in a variable too.

local choice_via_shortcut = nil
local fn_keyhandler = function(dialog,key)
 if (key.character == "q") then
  choice_via_shortcut = "Select"
  dialog:close()
 end
end
local choice_via_button = renoise.app():show_custom_prompt ( 'Title' , view , { 'Select', 'Undo', 'Cancel' },fn_keyhandler);

Now you can check both choice_via_shortcut and choice_via_button

Note that choosing to close the dialog will set choice_via_button to “Cancel”, so you need to check the shortcut before checking the button

if choice_via_shortcut then
  -- user pressed some key
else
  -- respond to pressed button
end

Hope this helps!

Thanks Danoise!

I will experiment with the code… :slight_smile:

It’s easy to check for the key being pressed. I guess you already added the code above and saw the output in the scripting console?
But pressing the key does not trigger a button as such. You will have to store the pressed key in a variable too.

local choice_via_shortcut = nil
local fn_keyhandler = function(dialog,key)
if (key.character == "q") then
choice_via_shortcut = "Select"
dialog:close()
end
end
local choice_via_button = renoise.app():show_custom_prompt ( 'Title' , view , { 'Select', 'Undo', 'Cancel' },fn_keyhandler);

Now you can check both choice_via_shortcut and choice_via_button

Note that choosing to close the dialog will set choice_via_button to “Cancel”, so you need to check the shortcut before checking the button

if choice_via_shortcut then
-- user pressed some key
else
-- respond to pressed button
end

Hope this helps!

Hi Danoise. In the case of two tables and a switch with two values,how I can change a switchthe value 1 to value 2 with a key?

The switch

vb:switch { items = { 'item-01', 'item-02'}, value = 1, id = 'main_switch', notifier = function(new_index) show_tab(new_index) end }

The keyhandler

local function keyhandler(dialog, key)
    -- print the value of key to the console
    rprint(key)

  if (key.character == '1') then 
              choice_via_shortcut = 'Item-01-tab' show_tab(1) ¿¿¿"switch(main_switch).value=1"???
  end

Pressing the key 1 in the keyboard, change to tab 1 correcly ( show_tab(1)), but it does not change correctly the switch associated witch the tab1 ( ¿¿¿“switch(main_switch).value=1”??? ) How would the code?


| Item 1 | Item 2 | <------------------------SWITCH (value 1 and 2)

|||_________

| |

| Table 1 & Table 2 permutables | Table 1 (Item 1)

| | Table 2 (Item 2)

| |

|______________________________|

Thanks in advance!

Pressing the key 1 in the keyboard, change to tab 1 correcly ( show_tab(1)), but it does not change correctly the switch associated witch the tab1

Mmm, I guess you have a working ‘show_tab’ function somewhere that show/hides the respective tables (or “racks”, in Viewbuilder parlor) ?
Because then, assuming that the indices are 1 and 2 then all you really need to do is to add a statement in that function that sets the value of your switch component.

vb.views["main_switch"].value = my_index

Yeeeees. Solved!!! ^_^Thank you very much!!!

Can you help me with this other issue?:https://forum.renoise.com/t/solved-help-lua-a-button-in-floating-window-to-jump-tracks-in-patte/46344