Attached are some GOP abstraction based on [rslider] from Max/MSP. These sliders are meant to select a range of numbers instead of a specific one, so instead of one value the accept and output two: a minimum and a maximum. These are nice for quickly selecting regions of arrays for looping, among other things.

[vrslider.mmb] - vertical range slider
[hrslider.mmb] - horizontal range slider

There are different modes for how you can interact with it. Unlike the Max version, I separated this to change them with messages, so you can customize your own modifier keys to change modes. There are also some other slight modifications, because I don't entirely like the way the Max one works.

These rely on [r.mmb] and [s.mmb] (which you can get here) and [rgb2pd.mmb] (included), which just converts RGB values to numbers that Pd's GUI objects use. Other than that, I think cyclone is the only non-vanilla library used, but I'm not 100% on that.

Just a note, I was originally using [donecanvasdialog( to update the GOP when sending the [size( message. This would cause a dirty flag to be sent, resulting in one of those "do you want to save" dialogs to pop up at the end. Annoying, but I could live with it. Unfortunately, with the latest Pd-extended, doing that now also causes the patch to open and a "discard changes" dialog to popup every time you move the damn thing. So I changed it to use [coords( instead. This got rid of that crap, but now there is a bug where when you resize it, the abstraction is unresponsive to mouse clicks unless you move it.


UPDATE 9/29/2010: That whole issue above with [coords( and [donecanvasdialog( is fixed.