jit.expr headache

MIB's icon

First of all, Happy Holidays and Merry Christmas.

Hope someone can help me out with this. I haven't used jit.expr before. I read a recent post "jit.expr and shatter" which helped a lot but I am still stuck.
I am not sure if this is the right approach even. Any help is greatly appreciated.

I am trying to do a fft analysis of a sound, write it to a matrix (200 512), manipulate it, then resynthesize from the matrix.

Writing the analysis into the matrix and playing it back is no problem. I have the amplitude data in plane 0, phase in 1 and index in 2.

The manipulation part is where I am stuck right now. I am sorting the amplitudes using xray.jit.quicksort then I want to be able to select x amplitudes which should be the only ones to be resynthesized.
To that end I used jit.expr to zero all data that wasn't selected. It looks like this:

"(((in[1] = cell[1]) * in[0].p[0])"
"(((in[1] = cell[1]) * in[0].p[1])"
"(((in[1] = cell[1]) * in[0].p[2])"

This all works fine so far (although I have to admit it was more trial and error than understanding).
Now I need to put the selected data into the matrix that will be used for resynthesis in the appropriate index slots.
How do I do that?
Could anybody point me in ANY direction? I have been banging my head against a wall the last couple of days trying to figure this out, but every time I think I have the solution, back to square one...

here is what I have so far:
thanks a million.

Max Patch
Copy patch and select New From Clipboard in Max.