Slice Visualisation

Ok, played with it more now (I couldn’t get it to work at all before).

Some of the math was wrong in the abstraction (you were dividing by list length instead of the duration of the source buffer, meaning your first and last indices were 0. and 1., regardless of what they actually were).

Also made it so it trims off the last 2 slices (and doesn’t render the first) so you only load transients and not boundaries.

draw_slice:


----------begin_max5_patcher----------
999.3oc2X1kbaiCCG+Y6SAGM8QWuBj5Ku2g8DrSmNx1zYYhEoFJ4zzzo4ruT
fRMcaksXjQxjYeHVQzTB7Gwe.B3usbQzVyCxlH1ex9a1hEea4hE3PcCrn+9E
QUkOr6XYCNsHs7Kls2Fsx+UsxGZwgaJqpaZMUMOM7UlSsGkssesV5e8QMpaz
kGiVwhNbzT5drO0Oy5x1c+iReymsxcs9Iyi4qSWwRJxVGuhkm28ImuN9GOi9
TkR6d+3hBddPuUwQ48ip1iqP2p9iEQcC88kK69X00Q7evf0mk0.HLKtivTQb
GaohtaNOg7QID9cByHjvOx3mEPk9x3AfniKQp20sgH73DhWkSuhxVZjrooHv
bZUr.PHw0VYsTum0HaOKxgDVx8h1b9bfbDuZBkp1Zo7tmXGLlqI3rO8SBJhy
lfSQvblRHmmdTcVB2VpuoS0NbMzn0MnrMI9x7NdzpXDdSdOIdAWnI+0P8FSH
ksrsririS5Yw+tX5HuSLF5t.4vkS.CA6RoLejRev7zDgoNNOpZZeNGbf+SHx
998nbLkMDKlifXyH6QBB2id7HyJu+7J9vzAfWyKxmSj8HGKIHMSlttb2cWT1
GJlYnbmmxI53WAsw1GXpok6SoZEIndU.AUZUvnxSeGoZE4nir+.Xxjs.kM.b
qQom2IQCzA3kLpJNFxeENtcus7KaOc3fzdUrlFikGC.Um5BTJWsNaIY0VyNo
ahWaRnX7RAPjncy6ohnDtTquFEQk9drFJdg3mKhx0KKQEQ8+nZnF1i7JA5Jh
ZV0YV4BeKuQNxlTiz19Wk16jV1Gfgu+fQ21ndD2rvDSypm39eHm7j0YcQFa3
yIter9Jl0O1AZn4Ea6Se469S7iOGmh3PonnXXwryTUI0dGxvXJ8dIRS7LP0a
3nIcMYvlPPZboY7HHs4EiDZQWPn9W+wVwUc23+WNaLmr6FbZ9CAVwddcuW1z
pzksJi9mliqnbbRitU9RLD7VXnNgwjHsgBCE.QYDXmr.3wESe8FJM.CADXmj
fHhBsPRHHUPggRbuD9aBRB2KIaJuDItIdHadTDIk.gr6kQkklT5InxRSkdHI
lBKE+lwT.HkRjclRN3ZJEWLWsgdKx3IBIOjfBwfHHw.PkklTfSfg3gr4kQfZ
.MDDht6pQJDmDE6cPHECATDyNrubYKQwYsP5K3bo9IUo1Wabsb1Wkrnnu.d7
BOGqfGu6ZWagj0mhZ0f.pBf+69Ue+Bk002KsM8yFsgqCnaM1taKVg2pz9aw9
Thrx6UCyGazLpz55Jp00RzIKtthdHKIx+nl8Rq9jB68YYGcNShcWoKcMRWW5
AAaBa42W9uv++v77
-----------end_max5_patcher-----------

And a different top-level patch that works of fluid.buftransientslice~ so you can see more options.


----------begin_max5_patcher----------
1040.3ocuXssbaBCD8Y6uBFdlxHIt2oSm7ezoiGtHbTJW7HAwosS62dWsBrM
wNITaRxCDcYE5b1c0pC92qWYm09DWYa8YquYsZ0uWuZENjdfUC8WYWm9TdUp
BMytguuM6AaGyTc7m5vgKq5EEtY8kcxzFkf2zopD47+ZcWAOqsuIma46SIV2
gyC1YgyuYWq.L05N0O36s9DZv8Rt59x8EVT2wdYo4+.6tWzTztWI9E2h5OBh
JQCOG1CDIrgAa66p3cc+bG2vN6rzls1VeeX5coc42KZ1tQxy6LVD3E6RbrXQ
95+4SwddAtjCKpouVz.uUzSPONnYulLpn.cKfq5STa8P+Y8Z8CmY5lyaqqAm
3Y94unZ6k47uZ8kQG4WseYJkfTgFgOCSP5Q9+HD4bBk3cML5ERbJjo62f4B1
uTj6UiZXTJ.eFFfDjcyQrjqJjUyUpzs7yXnZZt9MPSSfL1+0oIatzLN5ZnYZ
WmrWLCVnMz3.fy1uRRpeByMPSHSZZ.YghhwjOF5crlzLHIgrrjLJ4igjGqC+
1jjF4svjL9ijjvUOyfi9gKLGupCiOnlECKEU7lzZt43HVL5QAeOW59fx9MJ5
3MT0IlhLkd6WHFEdbOk.p53xM.7xpP7QVvRu6js4vTVpxwoJagRv5ipvzdDW
+XlWhWTjGI1KH4ppLGFaRAHlDBeza46cyUm87WvaYAcBkb4em2EQkUsofxiY
HYJdfzglC7T10bXfcAtydO3doUlrWcOW4lJJWP16gmLnL5Bwd1jKtvWFpw8Y
5zQDoGepKwHPbfLCpYbrNhoBtpSzj1IZaNwH8YRsQWzsO2cBDT716zHbtsch
LicZJuqEEC48F09DLYkFiph8CBOuGKDinAvQ5fgd2HrgaqWHXGxNE1S58N.6
3kB1dAmB6I8dGfczRAaR7ovdRukG1Pg+YC6aZilScgwizmUPJc2tG4R0f03d
.UienEURE6fcEMlt32PZK4OJFsGq5YmJgRpcP8zdoQZxSglOp2ttsfKa.sM5
5lq0rC1RU2OqddQvCpZfaBB0WOfrAHSYZeU2TGP1171JCh9lkol8gGD2fi5A
yygO89DaItwZKh8RXzPcqHRRLwGW5gUouuAWyFQi1yvGWK91GebR5gyPvRp+
wRzTC4w.ApAzKFkCcZvcBgwKWdMJOgD9Lu.VhFHdQr.erEKxOftzvZhbrKCr
+CukyXzCTwVcfPqN7tfW1vs21akoEhi+rIC7mdHJFB+E4bwVmrUCKiMtrnXP
kXfyEac9xFWEKgPSvrEugrEcKXH5yVEHyv3jYQZROLJHccWqb7zHrzjC1220
dfniBlMGNewv2zSGyKJZDoL6rKLl4CoUDF1B3Lf4qMyxTjA01oAkZWpozEJA
b8eV+OnCJJWL
-----------end_max5_patcher-----------

This is quite handy as you can visually “tune” the threshold(s) for what looks appropriate (ala Live’s UI for slicing).

Would be good to tune it to be more accurate (i.e. seeing the window offset), but I’m now not sure if the window offset is in samples or ms (so I made a thread about it!). Sadly the compensation won’t be generic as fluid.bufnoveltyslice~ doesn’t work the same way.