musicbrainz/picard — pull request #281 by mwiencek (2014-04-06 20:10:37+00:00)
Title: Move ID3Metadata functionality to new_metadata property

The problem with `ID3Metadata` is that it changes the behavior of `Metadata` methods in undesirable ways (see PR #273).

Also, if we ever want to display the data as it exists on MusicBrainz somewhere, that's harder without adding new methods to hack around the ones we "broke."

This adds a `new_metadata` property to `File` classes which returns a copy with the values modified as they'd be displayed/saved. This should more composable and less error-prone than overriding `Metadata` methods across the board.

`new_metadata` is kinda vague, but still accurate, and I can't think of anything better at the moment.

Please review thoroughly so I can fix anything I broke. :)