class_docstr: Base class of all clips (VideoClips and AudioClips).
  
  Attributes
  ----------
  
  start : float
    When the clip is included in a composition, time of the
    composition at which the clip starts playing (in seconds).
  
  end : float
    When the clip is included in a composition, time of the
    composition at which the clip stops playing (in seconds).
  
  duration : float
    Duration of the clip (in seconds). Some clips are infinite, in
    this case their duration will be ``None``.
class_docstr_tok: ["Base","class","of","all","clips","(","VideoClips","and","AudioClips",")",".","Attributes","--","--","--","--","--","start",":","float","When","the","clip","is","included","in","a","composition",",","time","of","the","composition","at","which","the","clip","starts","playing","(","in","seconds",")",".","end",":","float","When","the","clip","is","included","in","a","composition",",","time","of","the","composition","at","which","the","clip","stops","playing","(","in","seconds",")",".","duration",":","float","Duration","of","the","clip","(","in","seconds",")",".","Some","clips","are","infinite",",","in","this","case","their","duration","will","be","``","None","``","."]
docstr: Returns a clip playing the content of the current clip but
  skips the extract between ``start_time`` and ``end_time``, which can be
  expressed in seconds (15.35), in (min, sec), in (hour, min, sec),
  or as a string: '01:03:05.35'.
  
  If the original clip has a ``duration`` attribute set,
  the duration of the returned clip  is automatically computed as
  `` duration - (end_time - start_time)``.
  
  The resulting clip's ``audio`` and ``mask`` will also be cutout
  if they exist.
  
  Parameters
  ----------
  
  start_time : float or tuple or str
    Moment from which frames will be ignored in the resulting output.
  
  end_time : float or tuple or str
    Moment until which frames will be ignored in the resulting output.
docstr_tok: ["Returns","a","clip","playing","the","content","of","the","current","clip","but","skips","the","extract","between","``","start_time","``","and","``","end_time","``",",","which","can","be","expressed","in","seconds","(","15.35",")",",","in","(","min",",","sec",")",",","in","(","hour",",","min",",","sec",")",",","or","as","a","string",":","'01:03:05.35","'",".","If","the","original","clip","has","a","``","duration","``","attribute","set",",","the","duration","of","the","returned","clip","is","automatically","computed","as","``","duration","-","(","end_time","-","start_time",")","``",".","The","resulting","clip","'s","``","audio","``","and","``","mask","``","will","also","be","cutout","if","they","exist",".","Parameters","--","--","--","--","--","start_time",":","float","or","tuple","or","str","Moment","from","which","frames","will","be","ignored","in","the","resulting","output",".","end_time",":","float","or","tuple","or","str","Moment","until","which","frames","will","be","ignored","in","the","resulting","output","."]
code: def cutout(self, start_time, end_time):
      """
      Returns a clip playing the content of the current clip but
      skips the extract between ``start_time`` and ``end_time``, which can be
      expressed in seconds (15.35), in (min, sec), in (hour, min, sec),
      or as a string: '01:03:05.35'.
  
      If the original clip has a ``duration`` attribute set,
      the duration of the returned clip  is automatically computed as
      `` duration - (end_time - start_time)``.
  
      The resulting clip's ``audio`` and ``mask`` will also be cutout
      if they exist.
  
      Parameters
      ----------
  
      start_time : float or tuple or str
        Moment from which frames will be ignored in the resulting output.
  
      end_time : float or tuple or str
        Moment until which frames will be ignored in the resulting output.
      """
      new_clip = self.time_transform(
          lambda t: t + (t >= start_time) * (end_time - start_time),
          apply_to=["audio", "mask"],
      )
  
      if self.duration is not None:
          return new_clip.with_duration(
              self.duration - (end_time - start_time)
          )
      else:  # pragma: no cover
          return new_clip
  
imports: import copy
  from functools import reduce
  from numbers import Real
  from operator import add
  import numpy
  import proglog
  from moviepy.decorators import apply_to_audio, apply_to_mask, convert_parameter_to_seconds, outplace, requires_duration, use_clip_fps_by_default
label_desc: Use image node_id 16 for calling the Clip obj's underlying member method code with example usage: obj.cutout(start_time, end_time) and returns: new_clip, new_clip