def METHOD_NAME():
    msg = ngettext("Saving %d file", "Saving %d files", total) % total
    with Task(_("Auto-Saving"), msg) as task:
        yield
        for i, song in enumerate(need_write):
            try:
                song._song.write()
            except AudioFileError as e:
                dialog = qltk.ErrorMessage(
                    None,
                    _("Unable to edit song"),
                    _("Saving %s failed. "
                      "The file may be read-only, corrupted, or you "
                      "do not have permission to edit it.") %
                    util.bold(song('~basename')), escape_desc=False)
                dialog.run()
                print_w("Couldn't save song %s (%s)" % (song("~filename"), e))
            else:
                task.update((i + 1) / total)
                yield