LOL. Ummm…
A few hours ago, like before this was bumped. I was looking for the exact same thing, started to read the thread - saw the usual discussion and got distracted, never got to the end.
Did some other Google-Fu and came up with MP3Tag says it will do it with the Windows version, the Mac version hasn’t got nearly as much functionality yet.
Yate says it can do it. Makes a big deal about it in the features list. Try and actually do it with the application. Try and find anything about it in the actual documentation/online help/etc… What does Yate do that Picard can’t? The interface is for hell. But it purportedly can import tags from a CSV, and doesn’t say anything about separate files being required. Sidecar is mentioned, but not implied that it’s the only way. That’s okay, I can get Yate to export a CSV, but try to give it back? Pffft. May was well talk back to the TV.
This does the job, though you’re import data is a sidecar format format (single-file-per-track). If you had stuff in a database, you could make a report to spit that out with a properly formatted file name and let this chew on them.
@outsidecontext … by “Move the file.update() outside the loop” I gather you mean to place that line on par with the if/else, after the else?
Now, if you want to start building your own CSV file, on the Macintosh side of things, did you know that you can drop a directory/folder onto a BBEdit text document window … and all the contents in that directory are now listed line by line?
Nuke any common lines you don’t need, nuke the tabs, and then you can paste that right into Excel and use the filename columns to match up against your data to be imported. Conjure up a script that can export those a single file for each track name with the tags to be added in that file.
Or, import that into a FileMaker or similar database, make a new record for each line and add your tag data in an associated multi-line text field, one per line:
TAGNAME=TAGVALUE
TAGNAME=TAGVALUE
Set up a report/export function that would save the that text field into a file, getting the name from the other field, with an extension of .tag
So you’d have a file named
01. All Aboard![0∶30][256 44100KHz CBR 2ch].tag
Whose content is:
composer=Uncle Albert
mixedby=Admiral Halsey
date=2020-12-13
…and you’ll have those tags imported to that track.