Open fooness opened 9 years ago
There's no current automatic migrator. If you describe exactly how these could be mapped, though, maybe someone could be enticed to work on one!
At first, it seems Beets needs to have the ability to replace text and symbols in tags (also when using the autotagger). Like in the style of the 'replace' config option. Here's a great post about how this could be possible. https://github.com/sampsyo/beets/issues/488#issuecomment-73104535
I’m not sure if that’s already clear, but it’s important that you can use those replace-patterns just for one (or some) tag fields.
In my picard config e.g. I’m replacing 'remix' with 'Remix' in ONLY album- and title-tags:
$set(album,$rreplace(%album%,\\bremix,Remix))
$set(title,$rreplace(%title%,\\bremix,Remix))
But not just titlecasing it, also:
$set(album,$rreplace(%album%,\\bRe-mix,Remix))
$set(title,$rreplace(%title%,\\bRe-mix,Remix))
$set(album,$rreplace(%album%,\\bRMX,Remix))
$set(title,$rreplace(%title%,\\bRMX,Remix))
[…]
Also, I’m able to set how much characters the date should have (I want four characters to be displayed):
$set(date,$left(%date%,4))
Furthermore, Beets needs to support unsetting/ignoring/deleting of tags, as I don't want all those MusicBrainz tags in my audio files:
$set(artistsort,$unset(%artistsort%))
$set(albumartistsort,$unset(%albumartistsort%))
$set(arranger,$unset(%arranger%))
$set(asin,$unset(%asin%))
$set(barcode,$unset(%barcode%))
$set(catalognumber,$unset(%catalognumber%))
$set(composer,$unset(%composer%))
$set(conductor,$unset(%conductor%))
$set(discsubtitle,$unset(%discsubtitle%))
$set(djmixer,$unset(%djmixer%))
$set(engineer,$unset(%engineer%))
$set(isrc,$unset(%isrc%))
$set(label,$unset(%label%))
$set(language,$unset(%language%))
$set(license,$unset(%license%))
$set(lyricist,$unset(%lyricist%))
$set(media,$unset(%media%))
$set(mixer,$unset(%mixer%))
$set(originaldate,$unset(%originaldate%))
$set(performer,$unset(%performer%))
$set(producer,$unset(%producer%))
$set(releasecountry,$unset(%releasecountry%))
$set(releasestatus,$unset(%releasestatus%))
$set(remixer,$unset(%remixer%))
$set(script,$unset(%script%))
$set(_recordingcomment,$unset(%_recordingcomment%))
$set(_releasecomment,$unset(%_releasecomment%))
PS: Sorry but I don't know any Python and I also don't know what you mean with mapped …
Thanks for the extra background. I'll mark this a feature request in case anyone would like to implement a Picard-compatible parser.
Anyone knows an automatic and easy way for migrating MusicBrainz Picard settings (especially file naming, tagging and scripting) to Beets?
The settings I talk about above are named: _file_naming_format, tagger_script, ignore_tags, windows_compatible_filenames, ascii_filenames, clear_existing_tags, id3v2encoding.
I think(!) most other settings aren’t that important.
Here’s an example configuration of Picard: http://lpaste.net/124392