[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Date Index][
Thread Index][
Author Index]
Re: another mobius question
> is there a way to to this with a script? can you delete
> a piece off the end of a loop that's one 8ths per cycle long?
I haven't read the entire thread but it looks like Trim was suggested
which will be the easiest way to delete a piece off the end. Trim
is similar to Multiply/Record or in EDP speak an
"unrounded multiply" except that it happens instantly.
Trim will obey the Quantize Mode parameter, so one approach would
be to set Quantize Mode to Subcycle and then hit Trim End
a little before the last subcycle. If you like to keep Quantize Mode
off you can enable it just for Trim in a script.
!name Quantized Trim
Variable saveQuantize quantize
set quantize off
TrimEnd
set quantize saveQuantize
With a little more work we can make the script always wait until the
beginning of the last subcycle no matter where you are in the loop.
!name Trim Last Subcycle
Varialbe lastSubcycle subcycles - 1
Wait until subcycle lastSubcycle
TrimEnd
Something to note about this though, is that after the trim the
length of the subcycle changes. For Example say you start with
a loop that is 2 seconds long and 8thsPerCycle is 4. When you
run the script the first time the loop will shorten from
2 seconds to 1.5 seconds since 2 divided by 4 is .5. But the
new shortened layer still has 4 subcycles in it so if you run
the script again the trim amount will be shorter. 1.5 / 4
is .375 so the new loop length would be 1.125. The amount
of trim will become progressively smaller every time you
run the script. This might sound cool but is probably not
what you're after. If you always want to trim an amount
equal to the *original* subcycle length you could do this
with a global variable.
!name Trim Last Subcycle
Variable global trimSubcycleLength 0
if trimSubcycleLength == 0
#first time here, remember the length
set trimSubcycleLength subcycleFrames
endif
Variable trimFrame loopFrames - trimSubcycleLength
if trimFrame <= 0
# we've trimmed down to 1 subcycle, reset the length
set trimSubcycleLength 0
else
Wait until frame trimFrame
TrimEnd
endif
Anyone else like to unsubscribe?
Jeff