Forums > MaxMSP

snapshot inside poly~ don't mute?

Mar 13 2006 | 12:13 pm

I have a poly~ with audio objects, including a snapshot~ sampling the audio
to a float output. If the instance is muted, all audio is stopped, but
snapshot~ keeps on outputting values. The build in snapshot function of
number~ doesn’t do this.

snapshot~ is more efficient then number~ for sampling an audio stream, but
this behavior makes me wonder. Is this a bug or can someone explain to me
why it works like that?


Mar 13 2006 | 3:04 pm

If it is not a bug, I sent a bug report about a year ago, but since
it is not of a vital importance, it might not be high on the bug fix
to-do list. 71&srch=snapshot#msg_44771


Mar 13 2006 | 3:59 pm

ah, thanks for letting me know.


Mar 13 2006 | 4:50 pm

When you mute an instance in a poly~ it turns off the signal
processing, but it does not turn off the message-passing activities of
the main and scheduler threads. The only thing snapshot~
signal-processing code does is store the most recent value in a
variable so that when the object is asked to output a value, either by
a bang or the internal clock, it accessess the variable. Turning off
the signal processing simply freezes the most recent value.

The code for number~ is very similar except that there’s a filter in
the number output method that prevents the same number from being
output twice in a row. In other words if the internal stored value is
unchanged since the last output, nothing is output until a change

There’s one other very important difference between these similar
capabilities of snapshot~ and number~: when internally clocked,
snapshot~ outputs the data in the scheduler thread. number~ defers
the output to the main thread.


Mar 13 2006 | 7:38 pm

Hi Ben, thanks for the detailed explanation. It makes sense like that. I’ll
just put a change after snapshot. number~ is no option anyway because it
can’t go under 20ms.

best, thijs

Mar 13 2006 | 7:52 pm

Thank you for the clarification.


ps I use a work around by stopping the snapshot manually by using the
‘stop’ message

Mar 13 2006 | 8:04 pm

good idea, never noticed that message.

best, t_

Mar 14 2006 | 2:14 pm

Quote: wrote on Mon, 13 March 2006 12:52
> Thank you for the clarification.
> pa
> ps I use a work around by stopping the snapshot manually by using the
> ‘stop’ message

which still would not run off the signal connection
and therefore the processing of the snapshot object. ;)

what about multiplying that signal with 0.~ when the
poly~ is turned off ?

Mar 14 2006 | 2:54 pm

mute turns off the dsp, stop turns off the snapshot~ scheduler, what else is
left to fix then? I don’t see what *~ 0. is good for on an already muted
signal path. maybe I misunderstand you.


Mar 14 2006 | 8:46 pm

hmmm … may i ask why you turn the poly~ off?

you normally do that to save CPU, which will not
happen by sending (stop) to [snapshot~].

to disable the outlets you could use other
things which are more simple than sending (mute 1)
to [thispatcher] from outside the poly patcher.

i recommended the 0.~ bc that would at least stop outputting
numbers from snapshot.
(well, if you have a change behind it ;) )

Mar 14 2006 | 10:54 pm

I use adsr~ inside poly~ using it’s automatic mute function to thispoly.
That way the poly gets muted when a voice dies. To save my cpu, ofcourse.
Then the snapshot inside this poly, which is sampling the audio, is
continuing, so I use the mute flag to start/stop the snapshot with each
voice. This not only stops the scheduler inside snapshot, but also
eliminates the need for [change] after [snaphot].


Mar 15 2006 | 8:56 pm

Roman Thilenius wrote:
> what about multiplying that signal with 0.~ when the
> poly~ is turned off ?

I think you would need the pass~ object. Its sole purpose is silencing
muted patchers.


[][] [][][] [][] [][][]

Stefan Tiedje
Electronic Composition

\ /|() ()|
))))) )| | |( \
/// _/)/ )))))
___/ ///

–(_|_ —-|—–|—–()—-
— _|_)—-|—–()———–

14, Av. Pr. Franklin Roosevelt,
94320 Thiais, France
Phone at CCMIX +33-1-57 42 91 09

Viewing 12 posts - 1 through 12 (of 12 total)

Forums > MaxMSP