• jameslo

    @ben.wes I like your mouse click logic + clipping better because you can drag outside the control to make things maximum or minimum.

    For anyone else is trying to understand your patch, I want to correct my faulty explanation. Firstly, there are 2 canvases in the GOP area, one is the grey background that fills it, and one is a smaller white foreground. This latter one receives messages sent to $0-cnv, not the silly thing I wrote before, and its configured size has to be 1 so that vis_size can go to 1.

    posted in technical issues read more
  • jameslo

    @ben.wes Woah! Look how similar my patch is and how little is missing:

    Screenshot 2025-10-20 182931.png

    I'm really more amazed by the missing part because it really drives home what I don't know! Wait, that didn't come out right. I mean it's like I'm standing next to the Empire State Building asking people "hey, where's is the Empire State Building?"

    I can't find (in 10 minutes of happy hour searching) where either the pos or vis_size messages are documented, so here are my guesses from looking at your code:

    • sending to $0-cnv sends messages to the containing canvas
    • the visibility window just happens to have the exact same color scheme as Reaktor?!!! Unbelievable coincidence.
    • the visibility window is anchored relative to its upper left corner, so that's why you did the pos message that way
    • and the size of the window extends down and to the right of the visibility window anchor

    How did I do, professor? All kidding aside, thanks so much.

    posted in technical issues read more
  • jameslo

    Screenshot 2025-10-20 102658.png
    This array of squares is allegedly from Reaktor 6, and they're xy controls. The lower left-justified white rectangle denotes where in the grey square the control point is.

    How would you recommend I approach making something like this? I'd like the enclosing square to be GOP from an abstraction. I made something that gets the xy coordinates using else/canvas.mouse, but it doesn't display what the current xy value is. Do I have to try to learn data structures (again)?

    PS: the actual sq/rectangle colors don't matter to me. I don't see an easy way to paint the GOP window some other color than white.

    posted in technical issues read more
  • jameslo

    @whale-av HannahGen has got to be a bot, right?

    posted in this forum read more
  • jameslo

    @willblackhurst A million years ago I tried to interface a Wacom tablet to Pd and remember trying to find a version of [hid] that would work for my machine without success. I've never heard of a nanopad2 until now, but if I needed an x/y interface for a show that was breathing down my neck, I'd jump on it for $79 and its simple MIDI interface, Everything has a cost; it's either your money, or your time. Or both. That said, I'd be happy to be schooled on how to use [hid].

    posted in technical issues read more
  • jameslo

    @avenir Look! I know Italian! :)

    Here's what I mean. All the connections in the shaded area are 2 channel snakes, so you only have to multiply, throw~, and catch~ once. But the other way works too.
    Screenshot 2025-10-15 121139.png

    posted in technical issues read more
  • jameslo

    @crttrkix I think you're still a little off WRT subpatches, and I'm enjoying the crazy c++ metaphors, so I'll continue as if you asked a question :). In Pd, an abstraction is like function, and since it's in a separate file, it's like a function in a separate compilation unit that has to be linked in (or in Pd's case, loaded). But a subpatch is more like bracketed code--not that it introduces a new scope (it doesn't, e.g. $0 is the same value inside and outside of a subpatch) but that it's really just a graph that's been hidden except for its inputs and outputs. That's why [pd mySubpatch-$1] is just a renaming of the subpatch--it's just a labelled section of code.

    posted in technical issues read more
  • jameslo

    @avenir FYI, you know how you are applying the grain envelope to the output of snake~, 1 for each channel? You could also just apply it to the snake once and it affects both channels. That's the point of snake~--to help reduce uninteresting duplication.

    posted in technical issues read more
  • jameslo

    @avenir No, you can duplicate the tabread4~ objects each with its own table, or you can use one tabread4~ object and specify 2 tables to read from, in which case the output of tabread4~ is a snake. Look at tabread4~ help and click on the multichannel support subpatch.

    posted in technical issues read more
  • jameslo

    @avenir said:

    My idea is to duplicate the existing array and the corresponding tabread4~ object

    Yep, that's the right approach. [soundfiler] can fill the left and right channel tables in one call, and if you want, you could also specify left and right tables for a single tabread4~ object, and then the output would be a 2 channel snake (see [snake~]).

    posted in technical issues read more

Internal error.

Oops! Looks like something went wrong!