Issue with using jit.spill iteratively - solved


    Sep 07 2017 | 6:44 am
    Hi all,
    I'm trying to iterate through a 7 plane jit.matrix one line at a time and output these as lines as lists, ie: line 1, plane 1 -> line 1, plane 2 -> ... -> line 1, plane 7 line 2, plane 1 -> line 2, plane 2 -> ... -> line 2, plane 7 etc, using jit.spill , incrementing the plane attribute every time i bang the matrix to move to the next plane and incrementing the offset attribute every 7 bangs to move to the next line.
    However, what I find is that the order behaves like: change to plane 0 -> bang matrix into jit.spill -> change to plane 1 -> bang matrix into jit.spill -> ... -> spill output (7 times, all with the data from plane 7) instead of change to plane 0 -> bang matrix into jit.spill -> spill output for plane 0 -> change to plane 1 -> bang matrix into jit.spill -> spill output for plane 1 -> ... -> spill output for plane 7 which is what I was expecting with the right to left, top to bottom max standard.
    I'm guessing there's something about how jitter and max prioritise things, but is there any way I can get around this? I have no problem with using this same method with jit.fill to *store* the data, so it seems like what's causing the issue is the process of having to bang the matrix to have it output to jit.spill, but I don't know any other way of doing it.
    Thanks in advance!

    • Sep 07 2017 | 2:45 pm
      just an idea: 7x jit.spill, one for each plane?
    • Sep 08 2017 | 2:26 am
      it's not the prettiest solution, but yep, that works. giving every plane its own instance of the matrix to bang out into a separate jit.spill gets it all working again. Cheers AK. looks like my neat little patcher is going back to being a spiders web!
      it would still be interesting to know if there's a way around this issue of the jit.matrix's priority/sequencing with input bangs, if anyone has any knowledge on this topic?
    • Sep 08 2017 | 2:13 pm
      It seems that bang doesn't cause matrix calculations, just outputs last calculated matrix.
    • Sep 08 2017 | 2:34 pm
      Hi Nick,
      I can't seem to recreate the issue with jit.spill - here's a patch doing what I think you're trying to achieve, but I may have misinterpreted your description:
      Cheers,
      Tom
    • Sep 12 2017 | 2:09 am
      Hey Tom,
      Your patch is pretty spot on, except mine has a metro at 300ms to trigger each line for each plane rather than one bang for all of them. After tinkering with your patch and mine, it looks like the metro is causing the issue - I can manually bang through line by line in my patch and get it working like yours, but when I use metro, even at a slower speed, I only get that last output. Here's my patch if you're interested. Some things are cut out for simplicity. I've put both the single jit.spill version and another with a separate jit.spill for each plane.
      Cheers!
    • Sep 12 2017 | 2:14 am
      And here's your patch with my mods if it's easier to get my meaning.
    • Sep 13 2017 | 12:20 pm
      Hi Nick
      I can get it to work with the metro is the 'toms patch' example: you just need to move where the 'hello' matrix is...
      However, this doesn't appear to be the problem with your patch - I was getting the same behaviour you described. The solution appears to be to replace the metro object with a qmetro object, which is generally recommended for timing when working with Jitter objects.
      Hope this helps
      Tom
    • Sep 14 2017 | 4:58 am
      Thanks for that Tom, I see what you're doing. And now that you mention it I'm sure I've read about qmetro with Jitter objects, but for some reason forgot about it here. Much appreciated!