I am doing a reorganization of a large library of music. Many of those files also have Ableton files associated with them (e.g. if I have SONGTITLE.mp3, then there is also SONGTITLE.mp3.asd). If I were to just rename the plain file, it would lose the association with the relevant Ableton file (because I would end up with SONGTITLEUPDATED.mp3 and SONGTITLE.mp3.asd). Is there a way to have my filenaming script rename both SONGTILE.mp3 and SONGTITLE.mp3.asd at the same time?
You canât currently configure Picard to move those files automatically. There is one special case for WavPack handled where Picard will also move WavPack correction files (.wvc).
It should be possible to implement a plugin with some clever use of file_post_load_processor and file_post_save_processor to handle .asd files as well.
They contain cue points, warp markers, basically any work Iâve done on the track in Ableton.
Thanks for the pointer to the plugins. I was going to make a script but I do so much of my management in Picard that I should get my hands dirty with a plugin at this point.
For that use case I think especially load and save file hooks are needed. The load one Iâd use to detect and remember the .asd file, because the save hook gets called after the deed is done.
Thanks! I think I figured out a good way to set this up. The file object passed by those APIs you pointed out are picard files (not just a path or python file) - so I should be able to add some code to _move_additional_files which should sort this out. Will hopefully have a plugin before the weekend
Actually, I do wonder whether this functionality should be standard in Picard.
If I have an audio file âShe loves me.mp3â and have other files with the exact same filename and different extension (âShe loves me.lyrâ, âShe loves me.jpgâ) then if Picard is renaming the file, shouldnât it rename the associated files automatically?
Of course, we should consider counter-examples. One would be if the album was named âShe loves meâ - then you might not know whether the jpg file was associated with the track or the album. We would also need to deal with the situation where we have âShe loves me.mp3â and âShe loves me.flacâ in the same directory and we rename one or both of these. (And of course the plugin should deal with these counter examples too.)
I guess starting with a plugin to see how this works in practice is a good way forward.
I could see it being done with something like the âMove additional filesâ option - if the extension is included in a list like that, then the file should be renamed and moved. (I was actually very confused by the wording of move additional files - I thought that should do what I was trying to do.) That way a user with .lyr, .txt, .asd, or other associated files could have them automatically move too - but it wouldnât be on by default.
Would have to be worded carefully to avoid confusion with the existing âMove additional filesâ though.
Either way, I plan to write a plugin over the next day or two w/ hardcoded movement of â.asdâ files, and if there is interest or someone puts in a PR then I will write up an options page to change that to more than â.asdâ. It should be pretty simple to integrate into Picard directly if there is interest after that.
One question as I donât know about the Ableton files: I got this right with the file extension, the Ableton file is always the full name of the corresponding audio file (including the extension) + additional .asd extension, right? So if I have a file MySong.flac there would be a MySong.flac.asd, not MySong.asd?
So if I have a file MySong.flac there would be a MySong.flac.asd, not MySong.asd?
Thatâs correct for Ableton - MySong.flac would have MySong.flac.asd as well (created on the first time loading MySong.flac in Ableton).
I really think we should add such functionality in Picard and make it generic and configurable, as there are other cases for this behavior.
I think you outlined the general cases well in the ticket. The only edge case I can think of that might be very troublesome would be something like - a user has MySong.flac + MySong.mp3 + MySong.cdg. How would MySong.cdg get moved in that case? Especially if MySong.flac and MySong.mp3 might be moved to different directories if a user uses Picard to separate those releases.
Thatâs an interesting edge case. But actually I think I would not handle this specifically and see if this actually gets a problem in practice. The file would just be moved with the first music file that gets saved.
I would also add the ability to (optionally) associate the file endings for companion files with specific formats. That covers the case of e.g. the WavPack correction files, which only make sense for .wv files. So if you have MySong.mp3, MySong.wv and MySong.wvc the .wvc file would only be moved together with the .wv.
If it turns out this case of multiple music files sharing one companion file is common enough to warrant handling we could introduce some mode where that file gets duplicated when the music files get moved to different targets. But I think that will have quite a few edge cases to handle.