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: If ``t`` is a time, returns true if t is between the start and the end
  of the clip. ``t`` can be expressed in seconds (15.35), in (min, sec), in
  (hour, min, sec), or as a string: '01:03:05.35'. If ``t`` is a numpy
  array, returns False if none of the ``t`` is in the clip, else returns a
  vector [b_1, b_2, b_3...] where b_i is true if tti is in the clip.
docstr_tok: ["If","``","t","``","is","a","time",",","returns","true","if","t","is","between","the","start","and","the","end","of","the","clip",".","``","t","``","can","be","expressed","in","seconds","(","15.35",")",",","in","(","min",",","sec",")",",","in","(","hour",",","min",",","sec",")",",","or","as","a","string",":","'01:03:05.35","'",".","If","``","t","``","is","a","numpy","array",",","returns","False","if","none","of","the","``","t","``","is","in","the","clip",",","else","returns","a","vector","[","b_1",",","b_2",",","b_3","...","]","where","b_i","is","true","if","tti","is","in","the","clip","."]
code: def is_playing(self, t):
      """If ``t`` is a time, returns true if t is between the start and the end
      of the clip. ``t`` can be expressed in seconds (15.35), in (min, sec), in
      (hour, min, sec), or as a string: '01:03:05.35'. If ``t`` is a numpy
      array, returns False if none of the ``t`` is in the clip, else returns a
      vector [b_1, b_2, b_3...] where b_i is true if tti is in the clip.
      """
      if isinstance(t, np.ndarray):
          # is the whole list of t outside the clip ?
          tmin, tmax = t.min(), t.max()
  
          if (self.end is not None) and (tmin >= self.end):
              return False
  
          if tmax < self.start:
              return False
  
          # If we arrive here, a part of t falls in the clip
          result = 1 * (t >= self.start)
          if self.end is not None:
              result *= t <= self.end
          return result
  
      else:
          return (t >= self.start) and (
              (self.end is None) or (t < self.end)
          )
  
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 14 for calling the Clip obj's underlying member method code with example usage: obj.is_playing(t) and returns: result, unknown, False, False