# File lib/mp3info.rb, line 518 def close return if @file.nil? if @tag1 != @tag_orig @tag_orig.update(@tag1) @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