          assert face.face is not None
          text_image = face.face.copy()
          texts = [f"pitch: {face.pose.pitch:.2f}",
                   f"yaw: {face.pose.yaw:.2f}",
                   f"distance: {face.average_distance:.2f}"]
          colors = [(255, 0, 0), (0, 0, 255), (0, 255, 0), (255, 255, 255)]
          text_sizes = [cv2.getTextSize(text, self._font, self._font_scale, 1)[0] for text in texts]
  
          final_y = face.size - text_sizes[-1][1]
          pos_y = [(size[1] + self._font_pad) * (idx + 1)
 
</s> remove         colors = [(255, 0, 0), (0, 0, 255), (255, 255, 255)]
 </s> add         colors = [(255, 0, 0), (0, 0, 255), (0, 255, 0), (255, 255, 255)] </s> remove         pos_y = [init_y, init_y + text_sizes[0][1] + self._font_pad, final_y]
 </s> add         pos_y = [(size[1] + self._font_pad) * (idx + 1)
                 for idx, size in enumerate(text_sizes)][:-1] + [final_y] </s> remove         init_y = self._font_pad + text_sizes[0][1]
 </s> add  </s> remove             filename = f"{os.path.splitext(filename)[0]}_alignments"
 </s> add             filename = f"{os.path.splitext(filename)[0]}_alignments.fsa"
                 f"roll: {face.pose.roll: .2f}",
          assert face.face is not None
          text_image = face.face.copy()
          texts = [f"pitch: {face.pose.pitch:.2f}",
                   f"yaw: {face.pose.yaw:.2f}",
                 f"roll: {face.pose.roll: .2f}",
                   f"distance: {face.average_distance:.2f}"]
          colors = [(255, 0, 0), (0, 0, 255), (0, 255, 0), (255, 255, 255)]
          text_sizes = [cv2.getTextSize(text, self._font, self._font_scale, 1)[0] for text in texts]
  
          final_y = face.size - text_sizes[-1][1]
          pos_y = [(size[1] + self._font_pad) * (idx + 1)
keep keep keep add keep keep keep keep keep keep
 Bugfix: Correct naming of alignments file for videos with dots in filename 
scripts/fsmedia.py