Is this possible to do that with panslicer?

Hi evryone, here is the “that” :

z = 1.2
a = :loop_amen_full
b = sample_duration(:loop_amen_full, rate: z)
c = -0.6666666666666666666666666666
d = -0.3333333333333333333333333333
e = 0.3333333333333333333333333333
f = 0.6666666666666666666666666666

live_loop :tourne do
  g = sample a, rate: z, pan: -1
  control g, pan: d, pan_slide: b
  sleep b
  
  h = sample a, rate: z, pan: d
  control h, pan: e, pan_slide: b
  sleep b
  
  i = sample a, rate: z, pan: e
  control i, pan: 1, pan_slide: b
  sleep b
  
  j = sample a, rate: z, pan: 1
  control j, pan: e, pan_slide: b
  sleep b
  
  k = sample a, rate: z, pan: e
  control k, pan: d, pan_slide: b
  sleep b
  
  l = sample a, rate: z, pan: d
  control l, pan: -1, pan_slide: b
  sleep b
  
end

and here is another :

live_loop :et_retourne do
  g = sample a, rate: z, pan: -1
  control g, pan: f, pan_slide: b
  sleep b
  h = sample a, rate: z, pan: f, finish: e
  control h, pan: 1, pan_slide: b*f
  sleep b/3
  i = sample a, rate: z, pan: 1, start: e
  control i, pan: d, pan_slide: b*f
  sleep b/3*2
  j = sample a, rate: z, pan: d, finish: f
  control j, pan: -1, pan_slide: b*f
  sleep b*f
  k = sample a, rate: z, pan: -1, start: f
  control k, pan: c, pan_slide: b*e
  sleep b*e
  l = sample a, rate: z, pan: c
  control l, pan: 1, pan_slide: b
  sleep b
  m = sample a, rate: z, pan: 1
  control m, pan: -f, pan_slide: b
  sleep b
  n = sample a, rate: z, pan: -f, finish: e
  control n, pan: -1, pan_slide: b*f
  sleep b/3
  o = sample a, rate: z, pan: -1, start: e
  control o, pan: -d, pan_slide: b*f
  sleep b*f
  p = sample a, rate: z, pan: -d, finish: f
  control p, pan: 1, pan_slide: b*f
  sleep b*f
  q = sample a, rate: z, pan: 1, start: f
  control q, pan: -c, pan_slide: b*e
  sleep b*e
  r = sample a, rate: z, pan: -c
  control r, pan: 1, pan_slide: b
  sleep b
end

Sorry, the code is a bit messy, if you have some advice to make it more readable and kind of elegant, I’ll take it /o/

I think this should work for the first one:

z = 1.2
a = :loop_amen_full
b = sample_duration(:loop_amen_full, rate: z)

live_loop :tourne do
  with_fx :panslicer, wave: 2, invert_wave: 1, phase: 6*b, reps: 6 do
    sample a, rate: z
    sleep b
  end
end

You need the reps: 6 to repeat the body of the fx 6 times so that it has time to complete a whole cycle before it restarts on the next loop.

Thanks a lot, with your code, playing with the phase permit to do a lot of cool stuff /o/

1 Like