I have all my files tagged with YateID (track and album). Is it possible to run through my database, open all files in one album, run your script, save, rename, etc., close files, and then load the next album and so-on? Files of one album can be scattered across different folders.
Anything can be done. However, as the files are scattered we would have to do things a little differently. There are two ways to process a database file. The most typical is by running some action through the Batch Processor. This method will not work as the files are scattered. The second is to drive an action completely through the database dynamically loading the files required. We can get this method to work.
Rather than build one action to do everything, it would be better to handle the Album Artist cleaning separately. Again due to the fact that the files are scattered. Once you have correct Album Artist fields a standard Batch Processor run can do whatever you'd like as each track will contain the correct metadata.
In order to do this you would need a Track database with the following fields: Album, Album Artist, Artist, Title, File Path, Label, Catalog Number, Part of a Compilation, Yate Track ID and Yate Album ID
So the action will run the Album Artist cleaning functionality on the entire database. It will then load every track in the database, one at a time, and write the changes.
It sounds like a lot of work but it's not really too bad. In order to write the action I'll need your (new) database to test (csv and plist). Actually, if the Yate Album IDs are correctly assigned to every track in an album, the action could be a lot simpler than the current one.
This all assumes that the current logic works as expected. Play with it a little more and see if you can find a case where the results are incorrect. If you can, send me the metadata dump. Once you're satisfied with the results we can go to the next step.
|