MM.ListTools

Recompiled for Vuo 2.4.1, with support for M1 macs (hopefully)


Added Queue. Blatant copy of Enqueue, just deletes in the opposite order.


Updated and cleaned up version of “Magneson’s List Tools” compiled for Vuo v2.0.3

Most nodes are now of the generic type kind so it requires less specialized nodes for each type. Sorting is still reals only due to me forgetting how i coded it, and not understanding what’s going on with it anymore. I also think by the looks of it that I’d have to make separate 2d/3d/4d nodes for it which is cluttery and probably only for edge cases anyways - so you’ll have to split the lists instead. Which you now can do with another node in this set!

Get X amount from list is also removed due to clutter, but should generally be avoided in the first place. Using cut/shift/combine list nodes in conjunction with Build/Process list will be a better way to manage most scenarios where that would have been practical.

Contains the following nodes:

Average list items
Averages a subset of a list.

Change Items In List
Changes the specified items in a list.

Combine Lists
Kind of like the bastard child of the interleave lists and group nodes. Lets you combine lists with an arbitrary amount of items per list.

Cut Wrapped List
Stupid name, but the alternatives were stupiderer. It loops a list from a starting item, wrapping around if it hits the end and cuts it at the amount of items you specify. The amount may be larger or smaller than the source list.

Morph Point List
Morphs between two point lists. Duh.

Reorder List
Reorders items in a list based on an integer list.

Scale list to center
Scales items in a list based on their position relative to the center in a list. Maybe Falloff would have been a better name.

Scale Point List
Scales a list based on a magnitude list with an offset. Also inverts the sign of the values if wanted. I think I made it to mirror loudness lists, but I don’t remember. It’s cool though.

Shift List
Shifts the starting point of a list and wraps values before the starting point to the end of the list.

Sort With Index
Sorts a list based on the values in it putting the smallest first. Also gives out an index list which is the location of where the values are in the original list. Can be used as a primitive “age” indicator for values in a list and to add/remove items based on this. Can also be used with the reorder list node.

Split XYZ list
Splits a 3d point list into separate real lists.


Source is in the sidebar, and I’ve tried commenting what’s going on to the best of my abilities. Suggestions and improvements welcome. Especially for the ‘Sort with index’ node as I think that is more of a trainwreck than anything else,
but a proper sorting node would be nice to have.

Instructions

Put it in you user modules folder, (re)start Vuo, and search for MM.List in the sidebar

MM.ListTools.vuonode (70.1 KB)

MM.ListTools.vuonode (65.6 KB)

MM.ListTools.vuonode (57.6 KB)

MM.ListTools.source.April.2022.zip (19.5 KB)

MM.ListTools.source.zip (13 KB)

5 Likes

Hello @MartinusMagneson. Have you heard of any issues running these on Big Sur / ARM Macs? Can’t seem to find these nodes after installation. vuonode is in the User Library folder.

Vuo 2.3.2
OS 11.5.2

Confirmed they’re working on intel

Vuo 2.3.2
OS 11.4  

Hey, no, but it’s some time since they were last compiled (framework 2.0.3 iirc), so that might have something to do with them not showing up. I don’t have an M1 mac to test with for a couple weeks at least though, but do you get any error messages in the MacOs console when starting Vuo?

Not seeing any errors in the console in regards to the mm.list node. But given that the nodes are working on the intel machine raises the chance it’s the M1.

1 Like

Heya, Martinus,

The node works on the Intel machine I’ve got access to. Vuo 2.3.2, OS 11.4.

This is the only error showing up in the console on the M1:

Vuo[1027]: getattrlist failed for /System/Library/Frameworks/OpenGL.framework/Resources//GLRendererFloat.bundle/GLRendererFloat: #2: No such file or directory
_dispatch_bug_deprecated to debug

We’ve added (and renamed) several of these nodes into Vuo 2.4.0:

  • Average List Item Groups
  • Interleave List Item Groups (for MM.ListTools.CombineLists)
  • Wrap List (for MM.ListTools.ShiftList)
  • Split XY List, Split XYZ List, Split XYZW List

These nodes should work on ARM/M1.

We also added a “Discard when Full” port to the built-in Enqueue node based on MM.ListTools.Queue.

Thanks, @MartinusMagneson, for sharing these nodes!

3 Likes

Sounds great Jaymie! I’ve been overwhelmed at work for the last six months, so just haven’t had the time or energy to check in on Vuo stuff.