Operator groups in local?

Now that local vars and macros are inside the components, what about defining operator groups in $pathvar/local/groups? If the DAT could hold a script, maybe this would even allow to use find/ls/… commands to create dynamic groups?

Just a thought
Achim

Interesting idea. We’ll look into that once the local component has settled down a bit more

Thought about this some more. Maybe this is more intuitive than a script/find based approach. Idea is to have a new DAT inside local, which will list all the children in the parent component. It has a build in select DAT, so we can query only certain optypes, names, … Main thing is that it can also use an expression, like the tabr() one below.

DAT has local variables: $opname $oppath $optype …
Select string: tabr("$oppath/admin/local/variables","comptype",1) == “my Super Comp” && $optype == “COMP:container”
Output string: tabr("$oppath/local/variables","name",1)\t$oppath ### this references a name parameter, not the actual name of the node ($opname)

The output string defines how the DAT list it’s children (it can add columns), so it’s formatted in a useful way. And it would allow to use additional select DAT’s to further narrow the reported results if needed. In this case it would create 2 cols:
make Pretty BG | /foo/bar/foobar/mySuperComp1
make Pretty FG | /foo/bar/mySuperComp1

Might be necessary to have a “depth” parameter, defining how “deep” to search in nested components.

This would keep it very dynamic as adding/deleting/renaming nodes would update that DAT. As this might be a very expensive thing, maybe this could run in a low priority thread and/or can be turned off temporarily. Ideally, adding/modifying a node which is not included in the query, would not cause that DAT to cook at all.

Just some thoughts (before coffee :wink:)
Achim

Forgot to mention how to access those
A: Using @NameOfTheDAT will return a list of fullpaths (completely independent of the Output string), so it can be used as groups are used now

B: use a select DAT to grab the data. Than a listBox/comboBox component can be used to select one of the queried ops and have that one be used as a parameter for anything. In this case the output string previously mentioned would come in handy, as for example col0 would be the string that is displayed in the listbox

C: or it’s wired into the variables DAT and can be accessed via cvar