Old patch not working in max 7 (Gen~ of pfft~ bug?)

    Nov 15 2014 | 8:23 am
    One of my fft-based patches (see attached) does not work in max 7. There are no errors and I haven't been able to figure out what the problem is. I think it might be caused by gen~ inside the pfft~ but I can't be sure.
    Anyway I hope someone can shed some light on it. Just opening the 'main' patch in max 6, and turning DSP on will make some noise. But no sound in max 7.
    Many Thanks Peiman

    • Nov 17 2014 | 5:24 pm
      There is indeed a difference between Max 6 and Max 7 in terms of how splat is generated. We found a bug recently that [splat] in Max 6.1.9 was actually generating code for [poke]! This was fixed in updating for Max 7. There is another minor bug in splat that I have just fixed and will be in the next update, but this didn't affect your patch.
      I spent some time looking into your patch and figured out that actually you don't need splat at all, since your warp buffer always has integer indices. I think there's generally a lot of confusion about splat, which is understandable, and I'll try to clear it up again here. The only differences between poke & splat are that 1) splat will mix values between sample indices, i.e. interpolated write, and 2) they have different defaults for @boundmode, @channelmode and @overdubmode. Poke defaults to @boundmode ignore @channelmode ignore @overdubmode accum, whereas splat defaults to @boundmode wrap @channelmode clamp and @overdubmode mix. The overdub input controls the amount of the original signal that is retained (default zero). In @overdub accum, the input is unaffected by the overdub input, while in @overdub mix, the input and original signal are blended by linear interpolation (the mix operator) according to the overdub input.
      Hope that helps!
    • Nov 17 2014 | 5:46 pm
      Why Splat never worked for varispeed record?.
    • Nov 18 2014 | 10:12 am
      Thanks very much for looking into this. It must have taken a while for you to decipher the patch! It does indeed work with poke and now I'm clear about the difference between poke and splat too.
      All the best, Peiman