you could allow the user to define a format string which dictates the relation of tags to the file name
(as per the current tag-> file rename action)
If the users defined their file naming format string it means first you could identify all the files that had names that didn't match the tags - and present them to the user for adjustment.
Also when the tags are changed, you could automatically rename the file(s) on the fly
for example I try to ensure all my files are:
IF I registered that format with the auto name feature, then when I changed an album from "various artists" to "soundtrack" the directory would be changed in one step rather than having to then run the tag->filename on each block I modified.
One thing I haven't worked out yet - on the current program when I type in a field on the tag panel - is that tag saved into the file immediately when I exit the field or do I have to save on the row?
(I know typing in the left pane needs save pressed to apply the changes)
(your undo stuff is magic by the way - able to unwind pretty complex changes!)
If its left waiting for a save - then maybe let the user do various changes (color highlight modified fields?) and press a apply changes button...
Just some thoughts...