Is there a way to alphabetically force-sort the tools dropdown menu?

macOS, does this in the system settings panel, and it drives me frekin botshat bonkers. just as with everything they’ve done to macOS, it’s a very farcry from the sheer impeccable wonder of the osX big cats. and while though macOS needs to be choked out, and kickfcked into obliteration, i feel nothing like this towards Renoise, however it’s like a cleanup call or something, or the new standard; "Never listen to Timmy2twts". how can i make the tools, like alpacabetical?

99% junk

Hard to read.

To answer
Tools cannot be sorted alphabetically since every tool is loaded as a single entity. If a tool introduces 1000 menu entries - it is up to the Developer of the tool to set an order they like and it will not be alphabetically sorted unless if they do the sorting manually.
It is an interesting question tho, i spent four days sorting Paketti menu entries into a single file
And it might be possible to programmatically sort them instead of manually, but im not sure how brittle it would be. I could give it a shot out of interest.

I was having difficulty with menu ordering when messing around with the Paketti menu entries in Github.

If we have multiple menu entries for the same menu, but spread in different LUA scripts, how does Renoise sort them?

Example:
You have Entry A and Entry B in script.lua and also Entry C in script2.lua
All entries go to the same menu. How can I group these even though they are in different scripts? There’s no way?

It seems to be alphabetical by tool ID (so com.renoise.PhraseMate is before org.lackluster.Paketti). @esaruoho already explained this but basically, organization is only possible within a given tool, and that is up to the developer, not the user.

1 Like

ok so the main.lua defines which separate lua scripts are included (require) - basically, if the developer (in this case, me) has put the menu entries inside specific scripts (like i used to), instead of maintaining a single file with all of them (like i do now), the order will be “oh require 1.lua 2.lua 3.lua” and thus the menu entries from 1.lua will be loaded and displayed before 2.lua and 3.lua. that’s why i moved them to PakettiMenuConfig.lua - for better organization. it’s still an ongoing process, since i got sidetracked into multiple other features in Paketti :+1:

btw, thanks for your original PR, since it kicked me into gear organizing them into a singular file. still got loads to do regards this.

unfortunately, Separate scripts are separate worlds, loaded alphabetically.

so toolA.xrnx menu entries will appear before toolB.xrnx menu entries.

the only way would be to mash these tools together into a single giga-tool, and then organize the menus.

but that’s not really something that someone who wants … what was it… “alpacabetical” ordering while cussing, ranting, and raving random junk, wants to do. or should need to do.

actually, here’s a thought, if you renamed the tools themselves, like a.xrnx to z.xrnx, that might help. but then the inside-tool menu entry organization would still need to be taken care of. AND that would probably ruin the “check for updates” auto-updates, so that’s also a poor solution.

it sounds like this is a thing that renoise devs need to sort out, and also doesn’t sound like a high priority.
otherwise, we need to get tool developers talking amongst themselves, and organizing them for something, where every single user will want a different solution.

so like this

require 2.lua
require 1.lua

now the menu entries in 2.lua will be loaded/generated/displayed before the ones in 1.lua

but really, the best solution is to put all the menu entries into a single source of truth, a single file, and thus then organize them the best way. that’s what i’m trying to accomplish now with Paketti, but it’s a lot of heavy lifting and time - something i prefer to do when i’m not in creative new-feature-making mode :wink:

You could achieve sorting withough having to do a giga-file by not letting every file actually add the entries, instead each should just expose a table of entries to be added. Then at the place where you require all files, you can concat them into a single list and do the sort on it before actually looping over and adding to Renoise.

well, i meant more like

if you have 50 tools and wanna organize their menu entries just so
then the only way to do that, is to… merge the 50 tools into a single tool, and edit the menu entries to the order you want.