docs: def export_default_instruments(target_folder, source_folder = None, raise_errors = False, verbose=True):
      """
      tries to instantiate all the instruments that are imported in /instruments/__init__.py
      and saves instruments that could be instantiate into a .b2 file in the folder path
      Args:
          target_folder: target path for .b26 files
      """
      print('export_def_instr called')
      instruments_to_load = get_classes_in_folder(source_folder, Instrument, verbose = True)
      print('instruments to load:')
      print(instruments_to_load)
  
      if verbose:
          print(('attempt to load {:d} instruments: '.format(len(instruments_to_load))))
      loaded_instruments, failed = Instrument.load_and_append(instruments_to_load, raise_errors = raise_errors)
      print('loaded instruments:')
      print(loaded_instruments, failed)
  
      for name, value in loaded_instruments.items():
          filename = os.path.join(target_folder, '{:s}.b26'.format(name))
  
          value.save_b26(filename)
  
      if verbose:
          print('\n================================================')
          print('================================================')
          print(('saved {:d} instruments, {:d} failed'.format(len(loaded_instruments), len(failed))))
          if failed != {}:
              for error_name, error in failed.items():
                  print(('failed to create instruments: ', error_name, error))