So I got the impression that you folks found Radial Menu pretty exciting. Prepare to need a new pair of underwear.
We've got custom colors. We've got adjustable everything. We've got context sensitive menus. We've got a pile of different action modes. We've got a sexy new setup script for getting it all, er, set up.
Oh, and this:
Yeah. That thing that Dora tells the fox not to do.
Presenting...
Radial Menu 2
This time it's personal. Ized. Personalized. This time it's per.... You get the idea.
Getting Started:
Not everyone likes as much text as I do. If that's you, here! Have a video!
Features:
Provides a pop-up "quick menu", similar to how most FPS games handle weapon selection these days.
Pretty much any Reaper action, custom action, or script can be assigned to a menu button.
Create as many menus, submenus, and buttons as you want. Well, 16 buttons per menu, but only a weirdo needs more than that.
Buttons for toggle actions (Options: Toggle metronome, etc) will light up appropriately if their action is toggled On.
Context sensitive; open a different set of menus when the mouse cursor is over the TCP vs MCP vs Arrange. There are over 20 contexts available, or you can opt for broader categories.
Buttons can be activated via Swipe gestures, just like answering your iPhone or trying to pick up strangers on Tinder. When swiping into a submenu, the window will be reopened at your mouse cursor.
Buttons can be set to repeat their action for as long as the mouse is held down - nudging volume faders, etc.
Buttons can be set to perform an action multiple times per mouse-click - "insert three new tracks", etc.
Both of these ^ can be combined, and are compatible with custom actions and user scripts
Buttons can also be activated by hovering over them with the mouse.
Buttons can have key binds assigned, for an all-keyboard workflow if you want.
Several different behaviors for the script's shortcut key.
Custom colors for every individual button if you really feel like going to the trouble. I wouldn't want to.
A handy-dandy setup script with a help screen, tooltips, and 50% more Vitamin C than the leading brand. Messing around with text files to change settings is for filthy peasants.
Installation:
The script is available via ReaPack or, if you'd rather do things the hard way, download and install both of these scripts *in the same folder*: Lokasenna_Radial Menu.lua Lokasenna_Radial Menu Setup.lua
(right-click the link, choose Save As, put the files in your Reaper/Scripts folder or wherever you want, then use the Load button in the Reaper's action list to find them)
Installing with ReaPack will also get you an example menu file that can be imported in the Setup script (in the same folder as the scripts). If you installed manually, grab the example file here: Lokasenna_Radial Menu - example settings.txt
Instructions:
By default, Radial Menu will look for the "example settings" file mentioned above, which is included if you installed via ReaPack. If that file isn't found, you'll have to run the Setup script and set up (see what I did there?) some menus of your own before Radial Menu will be of any use to you.
Assign 'Lokasenna_Radial Menu.lua' to the shortcut key of your choice. There are some technical limitations on WHAT shortcut key you choose - see below.
Holding down your shortcut key will bring up the menu, letting go of your shortcut key will close it.
Click on buttons to do stuff, or click any empty space (technically, anywhere that doesn't make one of the buttons light up) to go back to the original menu.
See the Setup script's Help tab for further explanation of the various settings. I tried to be thorough.
Seriously, look at the Help tab. I spent several hours figuring out how to make the text automatically wrap to fit the window; the least you could do is read through what I put there. :P
Shortcut key restrictions:
Because of how the script figures out what key you're holding, there are a few rules you'll have to follow.
Known to work: All of the English letters, all of the numbers, F1-12.
Shift+ will only work with letters - no Shift+3, or Shift+[, etc. I'm not sure about non-English characters like 'é'.
Ctrl+, Alt+, and Win+ should work with any key.
Certain keys/characters like tilde ('~') will open the window but not close it. I've been told it's an issue with how the OS passes those characters to Reaper, so you'll have to use something else. Sorry.
If the window is rapidly opening and closing, that's a separate issue that I SHOULD be able to fix. Please let me know what key combination you're using, and what OS you're on. Bonus points if you can install this script here, run it, and tell me what numbers it's showing when you press that key combination.
Notes:
Reaper switches to a different set of key bindings when you're in the MIDI Editor. You can assign Radial Menu manually in the MIDI Editor's action list, or just assign your shortcut to Misc: Pass through key to main window. It'll use the same menus and settings either way.
Any Reaper action or script that takes focus away from Radial Menu's window will interfere with the key detection, causing Radial Menu to go "hey, you let go of the key!" and close. There's nothing I can do about this at present, so you may wish to use one of the alternate shortcut key modes in the Options tab.
Settings are stored in a text file right next to the two scripts. Feel free to edit it directly - there are instructions at the top of the file.
I haven't tried, but if you had a script loaded in the Action List you should be able to right-click, get the command ID, and paste that into a Radial Menu item.
The API function I'm using doesn't work with scripts. I'll look, but I don't think there's a different function that would.
Also, I just found a typo that kept the script from actually storing your actions. Fixing now. Also also, adding actions to submenus was putting the label on the wrong item. Fixed as well. Apparently I write code the same way I write forum/FB posts - type it out, post it, then have to go back and edit a billion tiny mistakes after the fact. :/
I haven't tried, but if you had a script loaded in the Action List you should be able to right-click, get the command ID, and paste that into a Radial Menu item.
The API function I'm using doesn't work with scripts. I'll look, but I don't think there's a different function that would.
Also, I just found a typo that kept the script from actually storing your actions. Fixing now. Also also, adding actions to submenus was putting the label on the wrong item. Fixed as well. Apparently I write code the same way I write forum/FB posts - type it out, post it, then have to go back and edit a billion tiny mistakes after the fact. :/
Thank you for this ligthning-fast answer and almost ligthning-fast edit
Regarding my question, don't worry about that, I've found another way around for my own script
And now, I'm thinking about all the other cool things I can do with your Radial Menu !
Once again, thank you for all your hard work, it's really useful to me, you can't even imagine
The API function I'm using doesn't work with scripts. I'll look, but I don't think there's a different function that would.
The textual command IDs must be converted with NamedCommandLookup before they can be used with Main_OnCommand:
Code:
local userinput = "_RSf9af5a881a603f63b4ac8574e6736996fc85eaf5"
-- local userinput = 1234
local runtime_id = reaper.NamedCommandLookup(userinput)
if runtime_id > 0 then -- if the script/action is loaded
reaper.Main_OnCommand(runtime_id, 0)
end
(The support for running scripts using Main_OnCommand was added in v5.12)
Let me know if you find bugs, have questions, think it's a stupid idea, whatever. Enjoy.
Although I'm a very light user (doubt I'll ever actually need this) I had to try it and I think it is a very cool idea!
In earlier version (1.65) I could simply use "A" key to show the menu, but now (v1.93) it flickers like crazy as if it is just opening & closing 2x a sec, so tried Control+W and menu displays normally again.
Also, Any reason why you haven't implemented the code by cfillion in post #6 (seems like a no brainer)?. I used it when testing v1.65 and seemed to work just fine.
In earlier version (1.65) I could simply use "A" key to show the menu, but now (v1.93) it flickers like crazy as if it is just opening & closing 2x a sec, so tried Control+W and menu displays normally again.
There were a bunch of changes the other day because it was doing that (flickering and not working) with anything OTHER than just a single key. It shouldn't be doing that for a key by itself.
Nothing is fixed, but it will display a few status messages while it's flickering. Copy/paste that for me if you please, and try to note if any of the values are changing back and forth while the script flickers.
Quote:
Also, Any reason why you haven't implemented the code by cfillion in post #6 (seems like a no brainer)?. I used it when testing v1.65 and seemed to work just fine.
I added it shortly after he posted that example. Just checked 1.93 and it's working fine here.
Just curious,is it possible to make some kind of pie menu with tkinter for reaper?
Sorry for off topic
I've ask that
Quote:
10-08-2013, 04:30 AM
imagion if someone like my good buddy Lokasenna helped me then,but half of this magical stuff would not be possible then,and btw I've learned A LOT more about lua from Lokasenna in this project than anything else. But that backfired with my wild (read weird) ideas and Lokasennas patience
There were a bunch of changes the other day because it was doing that (flickering and not working) with anything OTHER than just a single key. It shouldn't be doing that for a key by itself.
Nothing is fixed, but it will display a few status messages while it's flickering. Copy/paste that for me if you please, and try to note if any of the values are changing back and forth while the script flickers.
Using debug version set to "A" key, There is no flickering.
Press and hold "A", menu is shown and also error window shows,..
518: attempt to concatenate a nil value (local 'mod_str')
Press and release "A", menu shown, menu closes, console window shows,..
cur_char = 0.0
key_down = 0.0
0.70633193197864
Let me know if you find bugs, have questions, think it's a stupid idea, whatever. Enjoy.
Hey Lokasenna-this is going to be brilliant for some(if not all) reaper users.
Not sure if your aware of blender,or how pie menus was implemented there(python I think)= maybe you can learn something from them modding guys there.
Not sure which version of radial menu is most current,but 1 I just used seemed to not 'programme right'-- user errors probably-not completely intuitive for basic user as myself.
Hoping this type of tool actually gets proper performance tweaks being part of core programme might make better sense for some of these powerfull scripts??
Cannot give enough credit for all the ideas and workdone by reaper scripters/coders.
Cockos should reward these things-imo.
Great jobs so far-ty.
Was it actually crashing, or just not behaving the way you expected? What were you trying to do?
Not crashing,was flashing a bit to begin but got stable.
Tried to programme,but labelling and id was being placed in a previous slot- weird..
Using v5.33 - February 6 2017 win10/64^
Description: Radial Menu
Version: 1.93
Author: Lokasenna
Not crashing,was flashing a bit to begin but got stable.
I'm still trying to sort out the flashing - we were having some trouble with modifier keys confusing the script. What key shortcut are you using?
Quote:
Tried to programme,but labelling and id was being placed in a previous slot- weird..
That's an odd one; I don't think anyone else has had that happen. I'll look into it.
Quote:
Have a view on this script>
I'd love to have something that sexy, but I'm fairly limited in terms of what I can do graphically. ReaScript doesn't offer any sort of GUI on its own, so I'm drawing everything from scratch (a line here, a circle here, etc), and we don't have a way to make the window transparent or remove the title bar.
Images are possible, but also a lot more work. Maybe way down the road when the script is feature-complete and not crashing on everyone, we'll see.
Tried to programme,but labelling and id was being placed in a previous slot- weird..
Are you using official (Lokasenna's) script or mine (this sometimes happened with my mods but I've fixed that)? I think its best that I remove all of my script just to avoid confusion with everything here
About the titlebar - years ago i wrote this Autohotkey script for this reason - to remove the titlebars from almost any given window. It worked in Cubase for the outside and inside windows, so may be you can find something usefull there.
There is the AHK code
Code:
#Persistent
#SingleInstance
SetWinDelay,2
setTimer, CloseTitle, 100
return
CloseTitle:
WinGet, active, ID, A
WinGet, Style, Style, ahk_id %active%
If (Style & 0x400000)
{
WinSet, Style, -0x400000, ahk_id %active%
WinSet, Style, +0x800000, ahk_id %active%
return
}
CoordMode,Mouse
LWIN & LButton::
SetTimer, CloseTitle, Off
MouseGetPos,KDE_X1,KDE_Y1,KDE_id
WinGet,KDE_Win,MinMax,ahk_id %KDE_id%
If KDE_Win
return
; Get the initial window position.
WinGetPos,KDE_WinX1,KDE_WinY1,,,ahk_id %KDE_id%
Loop
{
GetKeyState,KDE_Button,LButton,P ; Break if button has been released.
If KDE_Button = U
{ setTimer, CloseTitle, On
break
}
MouseGetPos,KDE_X2,KDE_Y2 ; Get the current mouse position.
KDE_X2 -= KDE_X1 ; Obtain an offset from the initial mouse position.
KDE_Y2 -= KDE_Y1
KDE_WinX2 := (KDE_WinX1 + KDE_X2) ; Apply this offset to the window position.
KDE_WinY2 := (KDE_WinY1 + KDE_Y2)
WinMove,ahk_id %KDE_id%,,%KDE_WinX2%,%KDE_WinY2% ; Move the window to the new position.
}
return
LWIN & RButton::
MouseGetPos,KDE_X1,KDE_Y1,KDE_id
WinGet,KDE_Win,MinMax,ahk_id %KDE_id%
If KDE_Win
return
; Get the initial window position.
WinGetPos,KDE_WinX1,KDE_WinY1,,,ahk_id %KDE_id%
WinClose, ahk_id %KDE_id%
return
LWIN & F1::
suspend
Suspend, On
setTimer, CloseTitle, Off
return
LWIN & F2::
suspend
suspend, Off
SetTimer, CloseTitle, On
return
LWIN & F3::
suspend
suspend, On
WinGet, active, ID, A
WinSet, Style, ^0x400000, ahk_id %active%
return
and this is a link to the original Gearslutz thread with some info and instructions.
I'd love to have something that sexy, but I'm fairly limited in terms of what I can do graphically.
Yep! adding icons would be cool as such. I think all the guys n girls are doing very well with tool set provided. =)
Transparency is much loved here.
Looking forward to perfection
Is there any information posted how to change an item in your Ramenu?
Quote:
Originally Posted by nofish
Run the action "Script: Lokasenna_Radial Menu Setup.lua", it should open the Setup window which has a "Help" tab.
This script is amazing, but even after finding and attempting to use "Script: Lokasenna_Radial Menu Setup.lua", it is still a bit confusing to figure out how to change things.
I naturally want to click the item in the radial menu to select it for editing, but that runs the action instead. It took me a bit to see the status-bar at the bottom saying 'shift-click to edit'.
I think it would be a lot easier if it was 'click to edit' when in setup, and 'shift click to run action' instead. We are in setup after all, the main usage is going to be editing the menu, not running the actions.
p.s. Seriously, I mean this script is amazing. This is probably the coolest thing I've seen in any audio application. If you have a donation method, I'd gladly send you a beer's worth or two.
Edit: I'm an idiot. There's a donate button right in setup. Oops. These colours don't work too well for me
You've been donated, thank you.
Last edited by Robert Randolph; 04-03-2017 at 07:52 AM.
I wanted change "record arm all tracks" to "record arm selected tracks"
So I typed that in the box that opened, now the function that did arm all tracks does nothing.
I looked at the help screen as some one said, there was no useful information there.
I wanted change "record arm all tracks" to "record arm selected tracks"
So I typed that in the box that opened, now the function that did arm all tracks does nothing.
I looked at the help screen as some one said, there was no useful information there.
????
Did you change both the button's label (the text is just a label) and the action command?
(That particular action requires SWS. If you don't have it, you can just enter "9" for Toggle record arm for selected tracks)
I do apologize if the documentation isn't clear. Since I wrote the script it all makes sense to me, so it's hard to tell which things will be unclear for a new user.
I really wish I knew how to do video capture and make YouTube tutorials.
If you wanna try it out, OBS Studio Is a really easy to use open source screen capture program that I'm pretty sure can export h264 videos natively (which is the format you'll use for youtube). Sharex is also very powerful (and just all around a very handy tool). It's just a bit annoying because by default it's set to share whatever you capture with the world instantly, so you need to make sure to dig into the settings and turn off uploading by default.
Beware of spending a whole day making the tutorial though. It's really easy for time to just fly by as you try to get the perfect run.
I think it would be a lot easier if it was 'click to edit' when in setup, and 'shift click to run action' instead. We are in setup after all, the main usage is going to be editing the menu, not running the actions.
So I got the impression that you folks found Radial Menu pretty exciting. Prepare to need a new pair of underwear.
We've got custom colors. We've got adjustable everything. We've got context sensitive menus. We've got a pile of different action modes. We've got a sexy new setup script for getting it all, er, set up.
Oh, and this:
Yeah. That thing that Dora tells the fox not to do.
Presenting...
Radial Menu 2
This time it's personal. Ized. Personalized. This time it's per.... You get the idea.
Getting Started:
Not everyone likes as much text as I do. If that's you, here! Have a video!
Features:
Provides a pop-up "quick menu", similar to how most FPS games handle weapon selection these days.
Pretty much any Reaper action, custom action, or script can be assigned to a menu button.
Create as many menus, submenus, and buttons as you want. Well, 16 buttons per menu, but only a weirdo needs more than that.
Buttons for toggle actions (Options: Toggle metronome, etc) will light up appropriately if their action is toggled On.
Context sensitive; open a different set of menus when the mouse cursor is over the TCP vs MCP vs Arrange. There are over 20 contexts available, or you can opt for broader categories.
Buttons can be activated via Swipe gestures, just like answering your iPhone or trying to pick up strangers on Tinder. When swiping into a submenu, the window will be reopened at your mouse cursor.
Buttons can be set to repeat their action for as long as the mouse is held down - nudging volume faders, etc.
Buttons can be set to perform an action multiple times per mouse-click - "insert three new tracks", etc.
Both of these ^ can be combined, and are compatible with custom actions and user scripts
Buttons can also be activated by hovering over them with the mouse.
Buttons can have key binds assigned, for an all-keyboard workflow if you want.
Several different behaviors for the script's shortcut key.
Custom colors for every individual button if you really feel like going to the trouble. I wouldn't want to.
A handy-dandy setup script with a help screen, tooltips, and 50% more Vitamin C than the leading brand. Messing around with text files to change settings is for filthy peasants.
Installation:
The script is available via ReaPack or, if you'd rather do things the hard way, download and install both of these scripts *in the same folder*: Lokasenna_Radial Menu.lua Lokasenna_Radial Menu Setup.lua
(right-click the link, choose Save As, put the files in your Reaper/Scripts folder or wherever you want, then use the Load button in the Reaper's action list to find them)
Installing with ReaPack will also get you an example menu file that can be imported in the Setup script (in the same folder as the scripts). If you installed manually, grab the example file here: Lokasenna_Radial Menu - example settings.txt
Instructions:
By default, Radial Menu will look for the "example settings" file mentioned above, which is included if you installed via ReaPack. If that file isn't found, you'll have to run the Setup script and set up (see what I did there?) some menus of your own before Radial Menu will be of any use to you.
Assign 'Lokasenna_Radial Menu.lua' to the shortcut key of your choice. There are some technical limitations on WHAT shortcut key you choose - see below.
Holding down your shortcut key will bring up the menu, letting go of your shortcut key will close it.
Click on buttons to do stuff, or click any empty space (technically, anywhere that doesn't make one of the buttons light up) to go back to the original menu.
See the Setup script's Help tab for further explanation of the various settings. I tried to be thorough.
Seriously, look at the Help tab. I spent several hours figuring out how to make the text automatically wrap to fit the window; the least you could do is read through what I put there. :P
Shortcut key restrictions:
Because of how the script figures out what key you're holding, there are a few rules you'll have to follow.
Known to work: All of the English letters, all of the numbers, F1-12.
Shift+ will only work with letters - no Shift+3, or Shift+[, etc. I'm not sure about non-English characters like 'é'.
Ctrl+, Alt+, and Win+ should work with any key.
Certain keys/characters like tilde ('~') will open the window but not close it. I've been told it's an issue with how the OS passes those characters to Reaper, so you'll have to use something else. Sorry.
If the window is rapidly opening and closing, that's a separate issue that I SHOULD be able to fix. Please let me know what key combination you're using, and what OS you're on. Bonus points if you can install this script here, run it, and tell me what numbers it's showing when you press that key combination.
Notes:
Reaper switches to a different set of key bindings when you're in the MIDI Editor. You can assign Radial Menu manually in the MIDI Editor's action list, or just assign your shortcut to Misc: Pass through key to main window. It'll use the same menus and settings either way.
Any Reaper action or script that takes focus away from Radial Menu's window will interfere with the key detection, causing Radial Menu to go "hey, you let go of the key!" and close. There's nothing I can do about this at present, so you may wish to use one of the alternate shortcut key modes in the Options tab.
Settings are stored in a text file right next to the two scripts. Feel free to edit it directly - there are instructions at the top of the file.
I'm setting radial up for context, when using as context can the menu be like the track menu in the default startup menu with one item opening the menu below the current menu.
I'm setting radial up for context, when using as context can the menu be like the track menu in the default startup menu with one item opening the menu below the current menu.
If I understand the question, yes - any button in Radial Menu can open a submenu. You can create new menus on the first tab, and then put (I think*) "menu 123" instead of an action ID as the command for one of your buttons in another menu.
* It's been a while; the Help tab will have all of the available commands.
thanks to AdmiralBumblebees inspiring article (https://www.admiralbumblebee.com/mus...nu-system.html) I am just revisiting my settings and want to switch hard to RadialMenu as main interface for the most used actions.
But the context sensitive feature is of course also killer.
One little detail, I believe, could be enhanced:
For mouse modifiers we have the ability to differentiate between upper and lower half of an item. It would be cool to have the same for RadialMenu.
Concrete: Add an additional entry in the context menu tab of RadialMenus settings - item lower half.
Great idea, and I think it's actually possible with some recent additions Cockos made to the script API. I'll add it to my to-do list, but unfortunately the list is already pretty long and I don't have any time to work on it right now. Some day.
Great idea, and I think it's actually possible with some recent additions Cockos made to the script API. I'll add it to my to-do list, but unfortunately the list is already pretty long and I don't have any time to work on it right now. Some day.
Thanks for the consideration! RadialMenu is pretty complete for me, it's a brilliant addition for Reaper. Of course it's always possible to find something to improve on.