  
  
  class Writer(Output):
      """ Video output writer using imageio """
      def __init__(self, output_folder, total_count):
          super().__init__(output_folder)
          self.frame_order = list(range(1, total_count + 1))
          self.output_dimensions = None  # Fix dims of 1st frame in case of different sized images
          self.writer = None  # Need to know dimensions of first frame, so set writer then
          self.gif_file = None  # Set filename based on first file seen
  
 
</s> remove     def __init__(self, output_folder, total_count, source_video):
        super().__init__(output_folder)
 </s> add     def __init__(self, output_folder, total_count, source_video, **kwargs):
        super().__init__(output_folder, **kwargs) </s> remove     def __init__(self, output_folder):
        super().__init__(output_folder)
 </s> add     def __init__(self, output_folder, **kwargs):
        super().__init__(output_folder, **kwargs) </s> remove     def __init__(self, output_folder):
        super().__init__(output_folder)
 </s> add     def __init__(self, output_folder, **kwargs):
        super().__init__(output_folder, **kwargs) </s> remove         self.config = get_config(".".join(self.__module__.split(".")[-2:]))
 </s> add         self.config = get_config(".".join(self.__module__.split(".")[-2:]), configfile=configfile) </s> remove     def __init__(self, mask_type, output_size, predicted_available=False, config=None):
        super().__init__(mask_type, output_size, predicted_available, config)
 </s> add     def __init__(self, mask_type, output_size, predicted_available=False, **kwargs):
        super().__init__(mask_type, output_size, predicted_available, **kwargs)
    def __init__(self, output_folder, total_count, **kwargs):
        super().__init__(output_folder, **kwargs)
  
  
  class Writer(Output):
      """ Video output writer using imageio """
    def __init__(self, output_folder, total_count, **kwargs):
        super().__init__(output_folder, **kwargs)
    def __init__(self, output_folder, total_count, **kwargs):
        super().__init__(output_folder, **kwargs)
          self.frame_order = list(range(1, total_count + 1))
          self.output_dimensions = None  # Fix dims of 1st frame in case of different sized images
          self.writer = None  # Need to know dimensions of first frame, so set writer then
          self.gif_file = None  # Set filename based on first file seen
  
keep keep keep keep replace replace keep keep keep keep keep
 Config Changes + Bugfixes

Bugfix: Fully disable keypress monitor for GUI
Bugfix: Preview - Handle missing alignments file
Config changes:
    - Separate plugin defaults into their own files
    - Move mask_type to global training config
    - Add ability to pass in custom config files 
plugins/convert/writer/gif.py