Issues filling/updating a jit.matrix when floats are driven via MIRA vs. clicking/dragging on laptop

    May 16 2018 | 11:20 pm
    I’m having problems using jit.matrix in conjunction with MIRA, and I suspect it has to do with some difference in the way floats are driven (by OSC vs. by clicking/dragging), but am not sure how to proceed. 
    I’m using sliders in MIRA to adjust float variables that are being fed into an equation, which is filling a jit.matrix. 
    Clicking and dragging the sliders/floats on my laptop updates my matrix, but adjusting the sliders/floats using MIRA does not update the matrix. 
    When using MIRA, the sliders back in my mira.frame object on my laptop are responding. Additionally, the connected floats and bangs are changing as expected, the values are passing through my expr object, but the jit.matrix doesn’t seem to be updating as jit.print, jit.spill, jit.pwindow, and jit.cellblock are not registering any changes.  
    If I'm on my laptop and I click/drag the sliders in the mira.frame, all works as expected. HOWEVER, if I start adjusting the sliders from MIRA and then go back to my laptop to click and drag the sliders, jit.print, jit.spill, and jit.cellblock stop registering changes BUT jit.pwindow will update. 
    I’m not sure what might be fundamentally different about the way the floats are driven (whether by OSC vs. by clicking and dragging) that might account for this issue. 
    A copy of the patch is found below. I tried it in Max 6 and 7 with similar results. 
    Any help would be greatly appreciated!

    • May 17 2018 | 12:13 am
      first thing to try is to insert "deferlow" objects after all your mira gui elements. it's possible these values are outputting on the high priority thread, and Jitter generally doesn't play well in that case. the deferlow object will shove the messages onto the main thread, which Jitter likes much better.
    • May 17 2018 | 12:49 am
      Thank you, Rob! Jit.matrix now registers changes with the deferlow objects. However, any change seems to freeze Max for around 15-60+ seconds (if it doesn't crash it completely), which is far from ideal for real-time interaction (which is what I'm ultimately after). Any advice here? (My internet connection is fast and I can adjust a lone slider using MIRA with very low latency.)
    • May 17 2018 | 5:18 pm
      strongly suggest you use jit.expr or jit.gen to perform your calculations.