I'm having a hack around the Logic file format again (ProjectData), and I'm having some success, just need to anchor down some data formats to reliably extract the plugins... I've done a bunch of reversing on Logic's various file formats over the years.
The names and AU id's are there and extractable, and can be compared to installed plugins on your system too. Working on hacking up a prototype to get started...
Yes, that's on my list of features as useful (as are a few other things).
Once I can reliably interpret the audio object data (which can be variable due I guess to object serialisation), the rest is all doable (though not with KM - much as I love KM and use it, it's not the right tool to programmatically parse binary files).
So probably best to continue on LPH for now, as a bit offtopic here I think... (although feel free to continue your KM-focused topic here though, of course!)
I'm sure you're right. However, there's no harm in starting a new topic, in case someone else on here has has been down this road before... If nobody has, it'll get ignored. No biggie. Just my ten cents.
Also -- the Logic file is binary. I'm not sure I'd trust anything extracted from that by a text search. But it looks like @beely is on the case, so fingers crossed for you all...
I think it was more because of potential notifications you would get...? Or maybe not... Neil is just a polite human being!
I think they are all figuring it out... my initial search was on a text file, just because I wanted to fee if there was anything there that could be used (apparently there is), but yeah, someone on the Logic Pro Help forum already stated the same.
I managed to dump out the contents of the ProjectData file from the latest Alternative and run a regex match to a user-defined term. It finds "Geist" for me, which is what I wanted.
Cool, man!
So as someone pointed out on LPH, if someone names the track "Geist" will it find that as well, or just the plugin? Are you just looking for the word Geist or any other parameter that makes the word be associated with a plugin, not a track name?
Also, would you be able to add multiple words and "sentences" (for 2 or more words)?
And what happens after it shows that it detected in X amount of projects? How do you know which? Does it create a list with that info or something?
I still haven't tested it, because I have to focus on some stuff today and I know that if I keep testing this stuff and being here on the forum, I don't do those things haha. Gotta focus for a little bit
As the data is 99% garbled and unreadable, I have no idea whether "Geist" is a track name or a plugin loaded. For my use case, it makes no difference, because I know that if I've named a track "Geist", it's because I stuck an instance of Geist on it.
Yeah, by adding a second regex condition.
It uses Finder tags. If it finds "Geist" it tags the project "Plugin: Geist"; if it doesn't, it actively removes that tag (in case I removed Geist since I last ran this macro on that project).
True. If Geist it the track name, but you have a Sampler there, Houston we got a problem!
Can you upload a version of that as well next to the other one?
That's a good technique. I use tags a lot, especially since I started using Hazel (don't know if you know that app?). So your macro, does it create the tag automatically inside Finder's list of tags or uses that tag as long as you have previously created it?
I made a mistake in the macro which is fixed now. It would tag files "Plugin: Geist" regardless of which plugin you're looking for. In my defence it was about 3am!
Potentially but I don't do that, so it's fine for me. Plus it's not the end of the world if 1% of my sessions are tagged as having Geist but don't. Still helps me out massively. There might be all sorts of cases where my macro doesn't work, but it does for Geist, which is all I need for the moment. Once @beely has written his script, I think it will be a lot more dependable.
As I said, I can't guarantee this will work for all plugins, but it's a good starting point. It's worked for everything I've thrown at it so far, but if a plugin has a short name that could easily be part of some random code (XLN Audio's "XO" for example), it might get sticky.