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

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

Hello composers!!!

I’m building a more advanced tool that gathers comments by joule and Danoise to perfect this tool “Insert Groups & Tracks per Colors”. I have finally gathered all the necessary knowledge to build and probably abandon the development of versions 1 (through menus) and 2 (through floating windows).The new version is much better and perfected code.The new tool will havea single floating windowfor maximum control.It can be controlled entirely using the keyboard… or the mouse, of course.

It is already 90% complete. When it is finished I will share here.I’m really excited about the results.

Kind regards!

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!