Deeper hierarchies in mapping lists


i am working on a tool that will involve quite a lot of possible midi mappings and key bindings. the problem i run into is the limit on how deep hierarchies can go.
this prevents me from having a nicely organized set of different mappings. right now i would have to put everything in one big sausage. not nice at all.

so, please, if this is feasable and doesn’t need huge changes in the current codebase, i would be very thankful if you would set a higher limit, like 5-6 steps down. right now it seems to be 3-4, depending on the context. that may be enough if you just have a few mappings, but when you have a lot, it gets very unhandy.

what i also found out: when you try to go deeper, renoise.tool():add_keybinding() complains, while renoise.tool():add_midi_mapping() does not:

hitting the limit with renoise.tool():add_keybinding():

*** std::logic_error: 'invalid key binding entry: name should have the form 'scope:topic:name'. leading, trailing or doubled commas are also not allowed.'  
*** stack traceback:  
*** [C]: in function 'add_keybinding'  
*** main.lua:75: in main chunk  

hitting the limit with renoise.tool():add_midi_mapping():
in this image you also see my intentions ;)

4653 midi_mappings.png


what i forgot: i hope this is right in this forum. i thought it might just be a very useful addition and not too hard to do (of course i cannot know, i don’t know the renoise code), but i realize it isn’t related to 3.0-specific concepts. so sorry, if it should have gone in the general ideas forum.