The slider is basically a GUI version of a number atom. That means that it puts out numbers, which are control data, whereas tilde objects output audio data. That's why you can't connect them. (RTFM) To use the slider as a volume control you need to multiply the signal by that number, effectively increasing and decreasing the amplitude of the signal. Thus, if you multiply a normalized signal by more than 1, you'll get clipping. While it would be enough to simply multiply the signal like this:
[osc~] | | [hslider] | / [*~]
I much prefer using the dbtorms~ object in between. Attached is a simple abstraction I always keep handy for controlling volume.
Wait, on second look the patch got fancier since the last time I used it ;) Now it also has a fancy little dohicky to see the amplitude of whatever is coming out. It's a graph on parent object, so just stick it in your abstractions path and create it.
If you want to control 2 sliders with a third, just connect the output of the master to the inputs of the slaves.
On another note, I'm pretty sure this is covered in the help files..
-Ian
Phil Thomson wrote:
Hi all,
My first pd patch is this one:
http://www.sfu.ca/~pthomson/BLIM.pd
A simple four-stereo-channel soundfile player and mixer. But I wonder how I could add volume control to each channel and maybe even to the stereo outs. I would like a slider-like object that could do this, but when I put actual sliders between the readsf~ and the mixer, I can't connect the output of readsf~ to the slider. How could I make something like that happen?
Ideally, I'd also like to have sliders that could control the left and right of each stereo channel together, so I would only have to move one slider to adjust the amplitude of a particular sound file. Is this possible?
Thanks in advance for any advice.
Phil