# File lib/mp3info.rb, line 469
  def close
    return if @file.nil?
    if @tag1 != @tag_orig
      @tag_orig.update(@tag1)
      #puts "@tag_orig: #{@tag_orig.inspect}"
      @file.reopen(@filename, 'rb+')
      @file.seek(-TAGSIZE, File::SEEK_END)
      t = @file.read(3)
      if t != 'TAG'
        #append new tag
        @file.seek(0, File::SEEK_END)
        @file.write('TAG')
      end
      str = [
        @tag_orig["title"]||"",
        @tag_orig["artist"]||"",
        @tag_orig["album"]||"",
        ((@tag_orig["year"] != 0) ? ("%04d" % @tag_orig["year"]) : "\0\0\0\0"),
        @tag_orig["comments"]||"",
        0,
        @tag_orig["tracknum"]||0,
        @tag_orig["genre"]||255
        ].pack("Z30Z30Z30Z4Z28CCC")
      @file.write(str)
    end
    @file.close
    @file = nil
  end