code: def make_edl(timestamps, name):
      '''Converts an array of ordered timestamps into an EDL string'''
  
      fpses = {}
  
      out = "TITLE: {}\nFCM: NON-DROP FRAME\n\n".format(name)
  
      rec_in = 0
  
      for index, timestamp in enumerate(timestamps):
          if timestamp['file'] not in fpses:
              fpses[timestamp['file']] = get_fps(timestamp['file'])
  
          fps = fpses[timestamp['file']]
  
          n = str(index + 1).zfill(4)
  
          time_in = timestamp['start']
          time_out = timestamp['end']
          duration = time_out - time_in
  
          rec_out = rec_in + duration
  
          full_name = 'reel_{}'.format(n)
  
          filename = timestamp['file']
  
          out += make_edl_segment(n, time_in, time_out, rec_in, rec_out, full_name, filename, fps=fps)
  
          rec_in = rec_out
  
      with open(name, 'w') as outfile:
          outfile.write(outf make_edl(timestamps, name):
      '''Converts an array of ordered timestamps into an EDL string'''
  
      fpses = {}
  
      out = "TITLE: {}\nFCM: NON-DROP FRAME\n\n".format(name)
  
      rec_in = 0
  
      for index, timestamp in enumerate(timestamps):
          if timestamp['file'] not in fpses:
              fpses[timestamp['file']] = get_fps(timestamp['file'])
  
          fps = fpses[timestamp['file']]
  
          n = str(index + 1).zfill(4)
  
          time_in = timestamp['start']
          time_out = timestamp['end']
          duration = time_out - time_in
  
          rec_out = rec_in + duration
  
          full_name = 'reel_{}'.format(n)
  
          filename = timestamp['file']
  
          out += make_edl_segment(n, time_in, time_out, rec_in, rec_out, full_name, filename, fps=fps)
  
          rec_in = rec_out
  
      with open(name, 'w') as outfile:
          outfile.write(out)
docs: Converts an array of ordered timestamps into an EDL string