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
|