Multiple effects patch (video muting)


    Oct 28 2006 | 3:52 pm
    Hello,
    I'm trying to make a VJ Jitter patch in which the 2 movies playing pass through some effects before being mixed. The trouble is that I want to be able to switch live from an effect to another. By now I've tried:
    - Putting all the effects in the same patch, and switching from one to another using send or forward.
    - Loading a bpatcher of the effect using a script.
    - Loading the effect patch itself (in a new window, using the load message)
    The first method is too heavy on CPU, since when you load an effect, it seems to use your CPU even if a matrix is not sent to it. The last two methods are less expensive in that sense, but both make Max crash after a certain amount of time.
    I was wondering if there was an equivalent to mute~/pass~ objects for jitter. Or maybe there is an easier solution for that...
    Thanks a lot!

    • Oct 28 2006 | 4:28 pm
      I use your first method with no problem, on an older powerbook. i
      use up to 3 movies as inputs at 320x240 with about 5 effects (using
      jit.* objects, not jit.gl objects), including chromakey, and it's not
      a big problem. i also use jit.gl.slabs and videoplanes for my final
      mixed output.
      it's all about technique, some are just too cpu-heavy. what effects
      are you specifically using?
      cheers
      evan
      On Oct 28, 2006, at 4:52 PM, Pm B wrote:
      >
      > Hello,
      > I'm trying to make a VJ Jitter patch in which the 2 movies playing
      > pass through some effects before being mixed. The trouble is that I
      > want to be able to switch live from an effect to another. By now
      > I've tried:
      > - Putting all the effects in the same patch, and switching from one
      > to another using send or forward.
      > - Loading a bpatcher of the effect using a script.
      > - Loading the effect patch itself (in a new window, using the load
      > message)
      >
      > The first method is too heavy on CPU, since when you load an
      > effect, it seems to use your CPU even if a matrix is not sent to
      > it. The last two methods are less expensive in that sense, but both
      > make Max crash after a certain amount of time.
      > I was wondering if there was an equivalent to mute~/pass~ objects
      > for jitter. Or maybe there is an easier solution for that...
      > Thanks a lot!
      >
      > --
      > Pm B
    • Oct 28 2006 | 4:52 pm
      > I was wondering if there was an equivalent to mute~/pass~ objects for jitter. Or maybe there is an easier solution for that...
      If a jitter object doesn't receive input, it doesn't take up any
      processing whatsoever. So, the equivalent to mue~ is basically a gate
      or something similar. Try using slabs. You can do way more
      processing on the GPUI than the CPU.
      wes
    • Oct 28 2006 | 5:05 pm
    • Oct 28 2006 | 5:40 pm
    • Oct 28 2006 | 5:58 pm
      I never tried to use jit.gl stuff to mix and I'm gonna try to implement slab and videoplane as output. Effects I'm using are : a video delay using jit.matrixset, jit.eclipse, jit.sprink, some bias and alpha scaling and a lot of timing effect directly on jit.qt.movie (to synchronize tempo with a midiclock from Ableton Live)
      Also, I know Max 4.6/Jitter 1.6 aren't supposed to crash, but they do sometimes. I have a macbookpro 2.16 with 2 gigs of ram... I should not have memory troubles... Maybe I should try using the GPU processing (with jit.gl objects).
      Thanks a lot guys for your help.
    • Oct 28 2006 | 6:10 pm
      Sounds like you could definitely implement alot of your stuff on the
      GPU. You'll be amazed at how smooth it gets when you start doing
      high-rez fast FPS video mixing on the GPU. You'll still want to do
      your timing with QTmovie the way you are now, but when you move things
      to the GPU and you want a feedback loop on the GPU, implementing a
      delay is a little tricky. Currently jitter doesn't have support for
      3D textures, so you can't use a 3D matrix for the delay. You can
      however create say 10 jit.gl.texture objects and use them as a
      circular buffer for doing a delay. I can post a patch that
      demonstrates this a bit later today.
      wes
      On 10/28/06, Pm B wrote:
      >
      > I never tried to use jit.gl stuff to mix and I'm gonna try to implement slab and videoplane as output. Effects I'm using are : a video delay using jit.matrixset, jit.eclipse, jit.sprink, some bias and alpha scaling and a lot of timing effect directly on jit.qt.movie (to synchronize tempo with a midiclock from Ableton Live)
      > Also, I know Max 4.6/Jitter 1.6 aren't supposed to crash, but they do sometimes. I have a macbookpro 2.16 with 2 gigs of ram... I should not have memory troubles... Maybe I should try using the GPU processing (with jit.gl objects).
      > Thanks a lot guys for your help.
      >
      > --
      > Pm B
      >
    • Oct 28 2006 | 9:33 pm