matrix~?

if you need feedback then you will have delay >= vector size. no way around this without making an external.

it’s possible that i don’t understand the question.

ahhhh I meant the UI of, like, click and drag patch cables a la the Max 4 Cats example, rather than the guts of it.

Your feedback comment makes me wonder though—it ought to be possible to get down to single-sample delay if you roll your own version of matrix~ with gen~, yeah?

thats true, gen~ supports single-sample feedback. (history object)

yeah i guess if i had to make a patch-cable UI thing it would with jsui and it would be a little gross.

oh i see. oscillot. kinda looks like they wangled something very similar to node-red into a jsui.

which, in turn, uses the d3js library for the actual drawing of directed graphs. (d3 has a bunch of subprojects for the primitive bits. at some point maybe easier to roll one’s own thing…)

i felt compelled to not be an armchair patcher, and create this extremely sloppy and ugly proof of concept.

it is like a useless alternative for matrixctl with patchcords, using jsui. click an input and output node to make a patch (either order.) do this for a previously patched pair of nodes to delete the patch.

making things pretty is harder. that’s where i would turn to existing JS stuff instead of making my own wiggly beziers. jsui’s Sketch object uses the same opengl interface as web graphics kits, so it wouldn’t be too bad.

making things smart is also harder. nodes and edges should be objects, store their own coordinates, compute own collisions, &c. again it would probably be a good idea to re-use existing work on graph drawing libraries.

anyways i dunno, maybe useful as a starting point for someone:

11 Likes