jit.video~ backwards loop playback (negative rate) doesn't loop at start point

    Misc

    stephenhandley
    Sep 04 2023 | 12:08 am
    I'm creating a jit.movie~ object as follows:
    jit.movie~ @moviefile crashtest.mov @looppoints 500 1500 @rate -0.5 @loop 1
    I was expecting the movie to play backwards in a loop at half speed and when it reaches the beginning of the loop at 500ms, to jump to 1500ms. Instead of that, the movie plays through the start loop point at 500ms and only goes to 1500ms after it reaches 0ms. This seems inconsistent given that if the rate is positive i.e 0.5, playback jumps back to 500ms after reaching 1500ms. If I enable palindromic looping, then playback does what I expect and bounces between the two loop points regardless of whether the speed is negative or positive. I've attached a patch demonstrating what I'm seeing. (Max 8.5.5, MacOS 13.2)
    {
    	"version" : "Version 8.5.5 (9579d1d54fe) (arm64 mac)",
    	"platform" : "mac",
    	"arch" : "arm64",
    	"osversion" : "Mac OS X Version 13.2 (Build 22D49) arm64",
    	"samplerate" : 48000,
    	"iovs" : 512,
    	"sigvs" : 64,
    	"scheduler_in_audio_interrupt" : "off",
    	"audio_drivername" : "Core Audio",
    	"audio_driver_subname" : "",
    	"license" : "permanent full",
    	"machine_id" : "f6dddeaf61ae5528fa6555faa2b40549",
    	"eventinterval" : 2,
    	"schedinterval" : 1.0,
    	"overdrive" : "on",
    	"pollthrottle" : 40,
    	"queuethrottle" : 100,
    	"sysqelemthrottle" : 1000,
    	"refreshrate" : 33.333332061767578,
    	"schedslop" : 25.0,
    	"eventprobing" : 0,
    	"mixerparallel" : "off",
    	"mixercrossfade" : 0,
    	"mixerlatency" : 30.0,
    	"mixerramptime" : 10.0,
    	"videoengine" : "avf",
    	"gfxengine" : "glcore",
    	"packages" : 	{
    		"Auzzie" : "2.0.1",
    		"BEAP" : "1.0.4",
    		"CNMAT Externals" : "1.0.5",
    		"gl3" : "0.3.3",
    		"hap" : "1.0.6",
    		"jit.mo" : "1.1.6",
    		"Jitter Tools" : "1.0.8",
    		"max-mxj" : "8.2.0",
    		"maxforlive-elements" : "1.0.8",
    		"Mira" : "1.2.1",
    		"monome" : "1.0.1",
    		"Node for Max" : "2.0.4",
    		"RNBO" : "1.1.2",
    		"RNBO Guitar Pedals" : "1.0.0",
    		"VIDDLL" : "1.2.7",
    		"Vizzie" : "2.2.2"
    	}
    
    }
    jit.movie~.example.maxpat
    maxpat 8.09 KB

    • Source Audio's icon
      Source Audio
      Sep 04 2023 | 8:12 am
      I remember seeing that in older max versions too. if you play backward with audio turned off, it loops correctly. try to use texture output, that seems to fix it.
      Share
    • stephenhandley's icon
      stephenhandley's icon
      stephenhandley
      Sep 04 2023 | 11:59 am
      Ah interesting, yeah can reproduce the correct looping when audio is off. Just tried creating the jit.movie~ like this but I'm still seeing the looping issue
      jit.movie~ @moviefile crashtest.mov @output_texture 1
    • Source Audio's icon
      Source Audio's icon
      Source Audio
      Sep 04 2023 | 12:27 pm
      it works here
      Max Patcher
      In Max, select New From Clipboard.
      Show Text
    • Rob Ramirez's icon
      Rob Ramirez's icon
      Rob Ramirez
      Sep 06 2023 | 3:53 pm
      I can reproduce the issue with negative rate and loop 1, we'll get it ticketed. Thanks for the report.
    • stephenhandley's icon
      stephenhandley's icon
      stephenhandley
      Sep 18 2023 | 6:38 am
      Awesome, thanks Rob!