oops, sorry I caused some confusion...
Actually, I see this as the easy way, not the hard way. At least in use. The setting up is not so easy I admit :-|
The tags that come with ripped or downloaded music are often a mess, and inconsistent. So I had to create new tags, using my own conventions. And the easiest way for me to do this used to be the 'tagging from file- and folder-names' in mp3 tag. Actually MC can also do that but is less powerful. However, this was a lot of work, and had to be done for all new files.
Now I am skipping that by having MC calculate custom tags from these file- and folder-names, and I don't care any longer what the actual tags contained in the files are. I no longer see them, as all my views in MC are such that I only see the calculated tags, and NOT the original tags.
Sorry if this sounds complicated. As said, setting it up was complicated, but working with it is very easy.
I have different conventions for pop, jazz and classical.
Pop is pretty simple, so here is an example:
file = "01 Time Has Told Me"
folder 1st level = "1969 Five Leaves Left"
folder 2nd level = "Nick Drake"
folder 3rd level = "Pop"
Now MC retrieves the following data from the filename and the folders above it, and puts them into custom calculated fields that do NOT store the field contents in the file itself.
These fields are distinguished (in my case) from the normally used fields by having a dot in front of them. For instance:
.Track = "01"
.Title = "Time Has Told Me"
.Album = "Five Leaves Left"
.RecDate = "1969"
.Artist = "Nick Drake"
.Genre = "Pop"
All my views use these custom fields. Alas, for classical, it gets substantially more complex, but the resulting possibilities for querying my database are powerful.
Two code examples to give an idea:
.Album field:
If(IsEqual([.GenreHL],Nonclassical),If(Isempty(Regex(FileFolder(),/#(.+) - (.+)#/,-1)[R2]),FileFolder(),Regex(FileFolder(),/#(.+) - (.+)#/,-1)[R1]),)
.RecDate field:
If(Isequal([.GenreHL],Nonclassical),Regex(FileFolder(),/#([0-9])(.+?) (.+)#/,-1)[R1][R2],)
Of course, this only works, when you start with consistent folders and file names...
For what it is worth... :-|