This is amazing Martinus !
Analyzing your method made me realize some errors I suggested in my method on Kewl's question.
I think I have come up with a method using stock nodes only though using make dictionary, but it's not as good as your custom nodes. More nodes required, more type conversions and your composition feels smoother on my Macbook pro !
Sharing if one has to go with stock nodes only.
Basically Reorder List can be replaced with Get Items From List I guess. Although maybe your node is at this point already more optimized for this.
And for the Sort With Index I used a dictionary, indexes as values, and amplitudes as keys, and retrieved the keys sorted using Sort Points by Distance.
Where your node really shines is it does combine all these steps, and I guess that's what makes your method way smoother !
And the composition is also very nice, the colors, the idea of spreading the layers randomly is a cool idea.
Anyway, congrats !
PS : Question to the team, is there a reason why Sort Points By Distance does not allow Reals (starting from 2D points only).
PS 2 : Definitely would be cool to have an index / position output on the Sort Points By Distance you know you can also post the nodes to be added to Vuo as stock nodes if you want Martinus ? I remember Alexander Mitchell did that for one audio node if I'm right.
Mmm right now I can't think of an easy solution either.
But based on what do you want to order the layers ? Can you say a little more or show the composition ?
From your description (first on bottom and last on top) one could wanna think you just wanna reverse the list ? If yes there is reverse list that would work.
Another solution would have been to use the Make Dictionary and Get Items from Dictionary nodes with a custom number list, but those nodes only accept text as inputs. Which leads me to a question to the Vuo team, would it be much work to allow Make Dictionary to work with any kind of values ? Or should we create a feature request for it if possible but more work ?
Yeah we had tried using Parabox's Average List node to smooth globally instead of per frequency, but I'm not so sure how that node smooths, but we could not come up with an as smooth effect as the smooth with durations.
Cant's wait to be able to smooth lists using "Iteration Allow Ports to Accepts List" Feature Request one day though ;)
But clever to use a built list node to automatically create the rainbow colors, did not think of it. Thanks