subr diceonemovie, moviearray, xq, im1, nim, dm, nx, ny, nimx, dicewin
 ;supposed to work with a single or multi movie in moviearray
 zero, xq
 im = im1
 nframes = num_elem(moviearray)
 for k=0,nim-1 do {
   
   if im lt 0 or im ge nframes then {
      errormess, 'range error while dicing'
      return
   }
   xx = moviearray(im)
   im = im + dm
   nxd = dimen(xx,0)
   x = xx($xdice + nxd * $ydice)
   ;flip each one (easier than explaining ...)
   x = reverse(x,1)
   ix = (k%nimx) * nx
   iy = (k/nimx) * ny
   insert, xq, x, ix, iy
 }
 equate, eval('$data'+ist(dicewin)), xq
 view, dicewin
 endsubr
 ;=============================================================================
