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?
    Thijs

    • 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.
      pa
    • Mar 13 2006 | 3:59 pm
      ah, thanks for letting me know.
      t_
    • 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 occurs.
      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.
      Ben
    • 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.
      pa
      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: tremblap@gmail.com 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.
      t_
    • 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].
      t_
    • 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
      --
      [][] [][][] [][] [][][] [][][][][][][][][][][][][][][]
      Stefan Tiedje Klanggestalter Electronic Composition & Improvisation
      /~~~~~ \ /|() ()| ))))) )| | |( \ /// _/)/ ))))) ___/ ///
      -------------------------x---- --_____-----------|----------- --(_|_ ----|-----|-----()---- -- _|_)----|-----()----------- ----------()------------x-----
      14, Av. Pr. Franklin Roosevelt, 94320 Thiais, France Phone at CCMIX +33-1-57 42 91 09