monome / softcut-lib

sample cutting library
GNU General Public License v3.0
35 stars 6 forks source link

command to "stop after next loop+fade" #39

Open catfact opened 3 years ago

catfact commented 3 years ago

... stop for short?

schollz commented 2 years ago

hi @catfact was revisiting your post spurring this feature.

I think this would be a really useful feature for me, simplifying a lot of my clock watching in oooooo and other scripts - i.e. having the ability to create a single cross-faded loop through softcut. is this still a useful api addon? if so I would be interested in taking it on.

and is this thinking of it accurate (using nomenclature from this post)?

  1. input is recorded by subhead 1, starting at loop position A, fading in from A to A+f (f=fadetime)
  2. (if stop enabled): when subhead 1 position reaches end of loop position B, it continues recording and fades out while traveling to position B+f. at the same time, when subhead 1 hits B, subhead 2 begins playing - but not recording - at loop position A, fading in to A+f. when subhead 1 hits position B+f it also disables its recording.
  3. playing continues normally in this single cross-faded loop

maybe stop_rec is more accurate name here, as I specifically would like to have the loop continually play, and only need the recording to stop after the loop+fade for subhead 1.

catfact commented 2 years ago

yes that seems like a fine description.

let's elaborate a little more how the usage would work. here's my proposal:

?

i had already thought that this structure of queuing things to happen to a subhead at next (de)activation point, could be useful in other ways too. particularly i thought it would be good to have an alternate command for changing the phasor rate that would act this way and allow for a closer approximation of granular synthesis.

tehn commented 2 years ago

i'm very much into this idea! i've implemented similar functionality from the lua side but an api implementation would be welcome and very interesting.