Right, did that and the Radial Menu is opening now, with the default menus. When I open the user settings file, it's completely blank. Any idea why that happened or if I can restore the settings?
Renaming the file back to what it was would restore the settings, but it would seem that your original file is somehow corrupt; thus why it's crashing when it tries to load.
Weird, I didn't do any editing by hand and now my original file is totally empty, which sucks since I put a bunch of time into making the menus (I'm going to back up from now on!) It stopped working right in the middle of a project so I'm not sure what caused it.
The bug was actually when you pressed G with nothing assigned to the center button.
Updated to 2.7.3, it should just stare blankly at you now instead of crashing.
That is better, thank you.
A question: Should it be closing the menu if you press any un-assigned key? That behaviour is a bit annoying if you are 3-4 layers deep and you fat-finger something.
A request: Would it be possible to have just a 'propagate center button' function as well?
Last edited by Robert Randolph; 07-23-2017 at 10:19 AM.
A question: Should it be closing the menu if you press any un-assigned key? That behaviour is a bit annoying if you are 3-4 layers deep and you fat-finger something.
That's the intended behavior as is, yes. Running the script in "just leave the window open" mode will close the menu on any keypress that doesn't have a bind. I can look at adding a toggle for that though.
Quote:
A request: Would it be possible to have just a 'propagate center button' function as well?
You mean for the key bind, right? That would seem sensible. Reasonable, even - nay, doable.
What an amazing script! Absolutely mindblowing. Will definitely get a lot of use out of this.
There is one problem I have, however, and it makes the radial menu unusable for me (for now, maybe I'm doing something wrong)
It works when arrange view is focused (pops up like it's supposed to).
However, it doesn't pop up above the midi editor when it's focused. It doesn't matter where the midi editor is. I've had it on a seperate monitor, doesn't work. Had the midi editor docked, doesn't work. Only when I click in the arrange view does it pop up. Strange thing is, though, that after clicking in the arrange view, it does pop up over the docked midi editor, but not over the midi editor when it has been moved to the second screen. Alas, even in the docked midi editor, if I click anywhere in there, it doesn't show unless I click in the arrange view again.
I have no clue as to wether I'm doing something wrong. If anybody could help me with this, much appreciated.
For the MIDI editor you have different set of shortcuts in the action list. Look there. Top right you can choose the context. Then reassign the radial menu script...
- The MIDI editor has its own set of key bindings, so you need to either assign Radial Menu to a key there or just assign your existing Radial Menu key to the action Misc: Pass through key to main window in the MIDI Editor's actions list.
- Be aware that, for MIDI-related actions, you'll have to add 'midi' to the command string in Radial Menu. i.e:
12345 -> midi 12345
This is so Reaper knows you want MIDI action 12345 instead of the normal action list.
- The MIDI editor has its own set of key bindings, so you need to either assign Radial Menu to a key there or just assign your existing Radial Menu key to Misc: Pass through key to main window
- Be aware that, for MIDI-related actions, you'll have to add 'midi' to the command string in Radial Menu. i.e:
12345 -> midi 12345
This is so Reaper knows you want MIDI action 12345 instead of the normal action list.
Thanks Lokassena, that did the trick! Very cool, now I can use one of the best scripts written for this program. This is truly a workflow changer.
As all the people discovering your script, I'm completely mind-blown!
It's soooo powerful!
I'm taking usage of it in a unusual way, to add category and subcategory to the sounds I created in Reaper.
I have 50 categories so my menu is pretty big. You can see a picture in attachment.
Here is my issue.
I sometimes tweak my categories organisation, so I need to be able to remove or add some field but right now I cannot add more button when the menu is more than 16 buttons.
I can create a new menu and define at the creation a big number of buttons, after that I can delete some but not add any new.
It was sooo long to setup this big menu because each button is a submenu (for the subcategories) so I cannot delete it and rebuild it each time I have some adjustments to do.
So maybe you can change a little something to let us add more than 16 buttons after we create some menu?
I hope I was clear enough, my english far to be perfect!
Could you explain What you mean by this? You click on one of the categories And What happens? Thank you
For sure!
I created a cycle action with the label option (add statement/label) for each of my subcategories.
Each one prepend the actual name of the selected items with the category and the subcategory.
EX:
Before = Percussion Mark tree down stroke
After = METAL CHIME Percussion Mark tree down stroke
Radial menu is just amazing for this kind of task because there is too many subcategories to scroll or remember but now I can click on the category first and only the subcategories corresponding to this category is shown.
I created a cycle action with the label option (add statement/label) for each of my subcategories.
Each one prepend the actual name of the selected items with the category and the subcategory.
EX:
Before = Percussion Mark tree down stroke
After = METAL CHIME Percussion Mark tree down stroke
Radial menu is just amazing for this kind of task because there is too many subcategories to scroll or remember but now I can click on the category first and only the subcategories corresponding to this category is shown.
So maybe you can change a little something to let us add more than 16 buttons after we create some menu?
I'll have a look. There are a lot of things that rely on the number of buttons, so I can't remember if allowing more buttons will break anything or not.
I'll have a look. There are a lot of things that rely on the number of buttons, so I can't remember if allowing more buttons will break anything or not.
I hope all is well. I have a problem trying to get radial menus to work on my laptop rig. It all seems 'right' and identical to my desktop but my left click does nothing in any of the menus. This is using a trackpad. Is this a known issue? Thanks
I hope all is well. I have a problem trying to get radial menus to work on my laptop rig. It all seems 'right' and identical to my desktop but my left click does nothing in any of the menus. This is using a trackpad. Is this a known issue? Thanks
Jack
News to me. I can't remember how I disabled the trackpad on my laptop (I hate them :G ) so unfortunately I can't test it here. Do any of my other scripts with a GUI work? (try Theory Helper, in my sig)
May I suggest a couple of improvements for the next version?
1) When openning Radial at the mouse cursor, make sure that the whole Radial window is visible on screen. Currently, if mouse is near an edge of the screen, Radial opens with only a part of it visible.
2) Make use of cfillion's new clipboard functions available via SWS and add support for Ctrl+C, Ctrl+V, Ctrl+X and Ctrl+A to anywhere that text can be inserted.
local _, _, screensize_x, screensize_y = reaper.my_getViewport(0, 0, 0, 0, 0, 0, 0, 0, true )
if GUI.x < 0 then GUI.x = 0 end
if GUI.y < 0 then GUI.y = 0 end
if GUI.y + GUI.h > screensize_y then GUI.y = screensize_y - GUI.h - 20 end
if GUI.x + GUI.w > screensize_x then GUI.x = screensize_x - GUI.w - 20 end
(added at line 1081)
Btw, Radial does not open here on my second monitor.. With or without the addition of this code...
Ctrl+C and Ctrl+V with this code:
Code:
function GUI.Textbox:ontype()
GUI.font(3)
local char = GUI.char
local caret = self.caret
local text = self.retval
local maxlen = gfx.measurestr(text) >= (self.w - (self.pad * 3))
local selectedtext -- amagalma
-- Is there text selected?
if self.sel ~= 0 then
-- Delete the selected text
local sel_start, sel_end = caret, caret + self.sel
if sel_start > sel_end then sel_start, sel_end = sel_end, sel_start end
selectedtext = string.sub(text, sel_start+1, sel_end) -- amagalma
text = string.sub(text, 0, sel_start)..string.sub(text, sel_end + 1)
self.caret = sel_start
end
if char == GUI.chars.LEFT then
if caret > 0 then self.caret = caret - 1 end
elseif char == GUI.chars.RIGHT then
if caret < string.len(text) then self.caret = caret + 1 end
elseif char == GUI.chars.BACKSPACE then
if string.len(text) > 0 and self.sel == 0 and caret > 0 then
text = string.sub(text, 1, caret - 1)..(string.sub(text, caret + 1))
self.caret = caret - 1
end
elseif char == GUI.chars.DELETE then
if string.len(text) > 0 and self.sel == 0 then
text = string.sub(text, 1, caret)..(string.sub(text, caret + 2))
end
elseif char == GUI.chars.RETURN then
self.focus = false
self:lostfocus()
text = self.retval
elseif char == GUI.chars.HOME then
self.caret = 0
elseif char == GUI.chars.END then
self.caret = string.len(text)
-- amagalma added code --------------
-- Ctrl + V
elseif gfx.mouse_cap == 4 and char == 22 then
local clip = reaper.CF_GetClipboard(text)
text = string.sub(text, 1, caret) .. clip .. string.sub(text, caret + 1)
self.caret = self.caret + #clip
-- Ctrl + C
elseif gfx.mouse_cap == 4 and char == 3 and self.sel ~= 0 then
text = string.sub(text, 0, self.caret) .. selectedtext .. string.sub(text, self.caret + 1)
reaper.CF_SetClipboard( selectedtext )
-------------------------------------
-- Any other valid character, as long as we haven't filled up the textbox
elseif char >= 32 and char <= 125 and maxlen == false then
-- Insert the typed character at the caret position
text = string.format("%s%c%s", string.sub(text, 1, caret), char, string.sub(text, caret + 1))
self.caret = self.caret + 1
end
self.retval = text
self.sel = 0
GUI.redraw_z[self.z] = true
end
Bug: When there is no center button and you delete one, then one of the remaining buttons becomes the central one.
Nitpick: many times button labels do not fit well on the buttons. A hack is to use multiple spaces and "|" for better fit/alignment. But there is a restriction to how many characters one can define as a label, thus making long labels impossible to fit. Is it possible to remove this restriction?
Interestingly I've discovered that if I activate the menu, wait a moment, keeping my activation bound key held down hit any other key, it then works normally with the left click on the trackpad. If I hit the other key (any key seems to work) too soon it closes out the menu window. So the sequence is hold down 'Q' to open the radial menu, pause, tap another key then continue as normal.
I hope this means something to you.
Thanks so much - I get incredible functionality from your work and I really appreciate it.
I've added the code to have track FX in separate menu. If Lokasenna has the time and want it implemented added code is commented, there is very little code added. I've borrowed amagalma's code for centering floating FX on the screen.
The way it functions is you just assign the button as "menu;fx" and thats all.
but there are some little things to fix which I cannot do, so some things are very hacky written. So this for now is for my personal use only I won't share it so it won't brake other users settings.
Hope Lokasenna will implement it when he gets free time (I've sent him the code)
Fixed and cleaned up pretty much everything to make things easier to implement for Lokasenna (only hoping ) except one error in setup mode, that one is out of my hands.
Cleaned up the text to be in new lines, removed prefixes VST,VSTi,JS, added preview, back button, looks much nicer.
You could also achieve this easily by saving the plugins you want to use as an FX chain, adding the FX chain in a resource FX chain window's slot and then trigger this actions with Radia Menu:
"SWS/S&M: Resources - Paste FX chain to selected tracks, Slot x"
"SWS/S&M: Resources - Paste FX chain to selected items, Slot x"
By default I think you have only access to the 4 first slot but it can be easily changed to 16 or the number you want in the sws ini file.
If it's not clear just tell me!
Cheers
EDIT: Oh shit I didn't realize Sexan's add on was showing the actual FX on the selected track. Great job!
So my solution is not working for that. Sorry.
I guess radial menu is especially useful with pen displays. Sitting on the couch with a display and pen and still being able of doing extensive editing. Now one needs to find the right pen display. Something like wacom cintiq or this cheaper alternative, Artisul D13.