27 lines
727 B
Python
27 lines
727 B
Python
from moviepy.decorators import apply_to_audio, apply_to_mask, requires_duration
|
|
|
|
|
|
@requires_duration
|
|
@apply_to_mask
|
|
@apply_to_audio
|
|
def loop(self, n=None, duration=None):
|
|
"""
|
|
Returns a clip that plays the current clip in an infinite loop.
|
|
Ideal for clips coming from gifs.
|
|
|
|
Parameters
|
|
------------
|
|
n
|
|
Number of times the clip should be played. If `None` the
|
|
the clip will loop indefinitely (i.e. with no set duration).
|
|
|
|
duration
|
|
Total duration of the clip. Can be specified instead of n.
|
|
"""
|
|
result = self.fl_time(lambda t: t % self.duration)
|
|
if n:
|
|
duration = n*self.duration
|
|
if duration:
|
|
result = result.set_duration(duration)
|
|
return result
|