I'm writing a really simple delay abstraction with separate delay
times for the left and right channels. But I've included a toggle to control whether the left and right sliders are linked, so that they are both set to the same value. The thing is, I can only really simply implement this when one of the sliders is the controller, and the other one the slave, otherwise I get a loop going if I let them control each other.
Has anyone implemented this kind of logic into their patches? I'm
sure it's pretty simple. I can sort of think of detecting which slider has been moved and then using some spigots to route the information from the moved slider to the other one... But I'm having trouble visualising exactly how I'd go about this, especially if I want the user to be able to drag either of the sliders.
Any help would be super appreciated.
. . David McCallum . Queen's University Electronic Music Studio Manager . and Noise Maker . html://mentalfloss.ca/sintheta/ .
thats the usual behavior of the radiobuttons. they send out two lists of two numbers each: the first switches of the last number eg. 3 0 and the other turns on the new number (2 1). you could put a "change" after the buttons. marius.
I also noted a strange behaviour of route: when trying to select
between the
numbers of a radio button (from 0 to 3), I made |route 0 1 2 3|. In
the
first click (whichever might be) it is fine, but after that route
always
gives two bangs: the old and the new number. Wasn't supposed it to
bang only
Hi David,
I have this problem all the time and therefore coded a simple abstraction called "sendprotect".
Here ist comes (I added an extension with 4 sliders to show the generalization. How I love those cable spaghettis!).
Yours, Orm
#N canvas 120 22 677 470 10; #N canvas 290 402 450 300 sendprotect 0; #X obj 86 28 inlet; #X obj 305 35 inlet; #X obj 90 174 outlet; #X obj 306 170 outlet; #X obj 86 51 t b f b; #X obj 90 151 spigot; #X msg 130 74 0; #X msg 77 75 1; #X obj 23 29 loadbang; #X connect 0 0 4 0; #X connect 1 0 5 0; #X connect 4 0 7 0; #X connect 4 1 3 0; #X connect 4 2 6 0; #X connect 5 0 2 0; #X connect 6 0 5 1; #X connect 7 0 5 1; #X connect 8 0 7 0; #X restore 181 118 pd sendprotect; #N canvas 290 402 450 300 sendprotect 0; #X obj 86 28 inlet; #X obj 305 35 inlet; #X obj 90 174 outlet; #X obj 306 170 outlet; #X obj 86 51 t b f b; #X obj 90 151 spigot; #X msg 130 74 0; #X msg 77 75 1; #X obj 23 29 loadbang; #X connect 0 0 4 0; #X connect 1 0 5 0; #X connect 4 0 7 0; #X connect 4 1 3 0; #X connect 4 2 6 0; #X connect 5 0 2 0; #X connect 6 0 5 1; #X connect 7 0 5 1; #X connect 8 0 7 0; #X restore 155 150 pd sendprotect; #X obj 334 91 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 8100 1; #X obj 357 91 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 8100 1; #N canvas 290 402 450 300 sendprotect 0; #X obj 86 28 inlet; #X obj 305 35 inlet; #X obj 90 174 outlet; #X obj 306 170 outlet; #X obj 86 51 t b f b; #X obj 90 151 spigot; #X msg 130 74 0; #X msg 77 75 1; #X obj 23 29 loadbang; #X connect 0 0 4 0; #X connect 1 0 5 0; #X connect 4 0 7 0; #X connect 4 1 3 0; #X connect 4 2 6 0; #X connect 5 0 2 0; #X connect 6 0 5 1; #X connect 7 0 5 1; #X connect 8 0 7 0; #X restore 63 375 pd sendprotect; #N canvas 290 402 450 300 sendprotect 0; #X obj 86 28 inlet; #X obj 305 35 inlet; #X obj 90 174 outlet; #X obj 306 170 outlet; #X obj 86 51 t b f b; #X obj 90 151 spigot; #X msg 130 74 0; #X msg 77 75 1; #X obj 23 29 loadbang; #X connect 0 0 4 0; #X connect 1 0 5 0; #X connect 4 0 7 0; #X connect 4 1 3 0; #X connect 4 2 6 0; #X connect 5 0 2 0; #X connect 6 0 5 1; #X connect 7 0 5 1; #X connect 8 0 7 0; #X restore 86 313 pd sendprotect; #X obj 288 247 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 7800 1; #X obj 311 247 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 7800 1; #X obj 335 247 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 7800 1; #N canvas 290 402 450 300 sendprotect 0; #X obj 86 28 inlet; #X obj 305 35 inlet; #X obj 90 174 outlet; #X obj 306 170 outlet; #X obj 86 51 t b f b; #X obj 90 151 spigot; #X msg 130 74 0; #X msg 77 75 1; #X obj 23 29 loadbang; #X connect 0 0 4 0; #X connect 1 0 5 0; #X connect 4 0 7 0; #X connect 4 1 3 0; #X connect 4 2 6 0; #X connect 5 0 2 0; #X connect 6 0 5 1; #X connect 7 0 5 1; #X connect 8 0 7 0; #X restore 144 339 pd sendprotect; #X obj 357 247 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 7800 1; #N canvas 290 402 450 300 sendprotect 0; #X obj 86 28 inlet; #X obj 305 35 inlet; #X obj 90 174 outlet; #X obj 306 170 outlet; #X obj 86 51 t b f b; #X obj 90 151 spigot; #X msg 130 74 0; #X msg 77 75 1; #X obj 23 29 loadbang; #X connect 0 0 4 0; #X connect 1 0 5 0; #X connect 4 0 7 0; #X connect 4 1 3 0; #X connect 4 2 6 0; #X connect 5 0 2 0; #X connect 6 0 5 1; #X connect 7 0 5 1; #X connect 8 0 7 0; #X restore 94 409 pd sendprotect; #X connect 0 0 1 0; #X connect 0 1 2 0; #X connect 1 0 0 0; #X connect 1 1 3 0; #X connect 2 0 0 1; #X connect 3 0 1 1; #X connect 4 0 5 0; #X connect 4 0 9 0; #X connect 4 0 11 0; #X connect 4 1 6 0; #X connect 5 0 4 0; #X connect 5 0 9 0; #X connect 5 0 11 0; #X connect 5 1 7 0; #X connect 6 0 4 1; #X connect 7 0 5 1; #X connect 8 0 9 1; #X connect 9 0 5 0; #X connect 9 0 4 0; #X connect 9 0 11 0; #X connect 9 1 8 0; #X connect 10 0 11 1; #X connect 11 0 4 0; #X connect 11 0 9 0; #X connect 11 0 5 0; #X connect 11 1 10 0;
Am Montag, den 22. April 2002 um 00:17:51 Uhr (-0700) schrieb David McCallum:
Hi David
one simple way to do this is to give a vslider the same send- and receive-name and then copy this slider. both sliders run parallel, both are master or slave. if you like to connect the sliders with cords: each slider-output has to be connected with a message "set $1"; each message-output has to be connected with all other slider-inputs.
cheers, thomas musil
David McCallum wrote: