Jump to content

Find projects that use XYZ plugin


Danny Wyatt

Recommended Posts

So the Apple plugins are interesting, as they aren't also available as au components on disk in the obvious places. PlugInfo has the same problem and also ignores them.

I'll have a think how to handle this - if I can't pull the info from the system, then I'll hard code the Apple system plugins in so they will match (although I might need to see whether the list changes between various macOS versions...)

Link to comment
Share on other sites

25 minutes ago, des99 said:

I'll have a look at the AUpitch thing...

One thing to consider, because I'm not sure how this can help you or not: I have been using the -f version so technically it should only show me third-party plugins, right? So why is the AUPitch and also the AUBandPass (which was also showing as not installed, but this last one was actually disabled inside the Plugin Manager) showing up? Isn't it weird, being that they are stock plugins?

Link to comment
Share on other sites

2 minutes ago, des99 said:

So the Apple plugins are interesting, as they aren't also available as au components on disk in the obvious places. PlugInfo has the same problem and also ignores them.

I'll have a think how to handle this - if I can't pull the info from the system, then I'll hard code the Apple system plugins in so they will match (although I might need to see whether the list changes between various macOS versions...)

I was writing at the same time as you, so we were both noticing the same thing ;)

  • Like 1
Link to comment
Share on other sites

4 minutes ago, Danny Wyatt said:

I have been using the -f version so technically it should only show me third-party plugins, right? So why is the AUPitch and also the AUBandPass (which was also showing as not installed, but this last one was actually disabled inside the Plugin Manager) showing up? Isn't it weird, being that they are stock plugins?

Third-party is essentially "not plugins built-in to Logic", and the system plugins are not built into Logic...

But you are right, I might need to treat the Apple system stuff as built-in, unless it's possible to open a project that requires an Apple plugin that's not installed (ie, on a version of macOS that doesn't come with that plugin). There's an argument for either choice.

Not sure, it will require investigation...

Edited by des99
Link to comment
Share on other sites

5 minutes ago, des99 said:

Third-party is essentially "not plugins built-in to Logic", and the system plugins are not built into Logic...

But you are right, I might need to treat the Apple system stuff as built-in, unless it's possible to open a project that requires an Apple plugin that's not installed (ie, on a version of macOS that doesn't come with that plugin). There's an argument for either choice.

Not sure, it will require investigation...

What's weird, but at the same time kinda helpful, is that for example the AUBandPass is disabled (out of the Apple plugins, I only have AUPitch enabled), but all projects using it open without any issues and when I click the plugin, it opens as if it's enabled. So basically it's only disabled when it comes to inserting a new instance, but old instances are still available.

Again, it's kinda useful, because you can still use them in older projects, but at the same time it's a bit misleading.

Link to comment
Share on other sites

2 minutes ago, Danny Wyatt said:

What's weird, but at the same time kinda helpful, is that for example the AUBandPass is disabled (out of the Apple plugins, I only have AUPitch enabled), but all projects using it open without any issues and when I click the plugin, it opens as if it's enabled. So basically it's only disabled when it comes to inserting a new instance, but old instances are still available.

Yes, that's how Logic works in this regard. By unticking them in the Plugin Manager (which is what I assume you mean by "disabled"), it means Logic will not show them in the menus. It *will* still load projects correctly that have those plugins in them.

Similar handling to Logic's legacy plugins - hidden from the menus by default, shown if you hold option, and any projects that use them will load correctly and they will work.

It's the proper, and most useful behaviour imo.

Edited by des99
Link to comment
Share on other sites

1 minute ago, des99 said:

which is what I assume you mean by "disabled"

Yes, that's what I mean.

And yes, since they are all stock plugins and will always be included in any version of Logic, it's no big deal that they work. As I mentioned, it's useful. It's just misleading, because if we know the plugin is disabled, it's weird that we see it in the project as enabled. But since I only use the AUPitch now (removed the AUBandPass instances from all projects) I'm good to go!

Question: I just renamed the php file to Logic - Plugin Reporter.php
This will not affect anything, right? As long as the terminal command is correct (I always drag and drop the file to make it format the path properly). Just wondering if this can cause any issues at some point or not?

Also, I noticed that the longest it goes when it comes to the plugin name is 11 characters, right?

And, even if we change the name to something custom, it will always search by the original name, correct? So even if the AUPitch is now called "Tuner", it will always display AUPitch on the report?

Link to comment
Share on other sites

12 minutes ago, Danny Wyatt said:

As I mentioned, it's useful. It's just misleading,

It's only misleading if you make an assumption as to how it works, that isn't the case. When you know what it means, it's makes sense...

12 minutes ago, Danny Wyatt said:

Question: I just renamed the php file to Logic - Plugin Reporter.php
This will not affect anything, right?

It should be fine, although every time you download an update you'll have to keep renaming it. Better to leave it as it is - you can always alias it if you want to refer to it by a short name, if that's easier. But it's up to you.

12 minutes ago, Danny Wyatt said:

Also, I noticed that the longest it goes when it comes to the plugin name is 11 characters, right?

Logic only stores 11 characters in the data structure that saves the plugin info in the project. Short names are restricted to 7 or 9 chars in Logic, so always fit in the allocated area.

12 minutes ago, Danny Wyatt said:

And, even if we change the name to something custom, it will always search by the original name, correct? So even if the AUPitch is now called "Tuner", it will always display AUPitch on the report?

You can always try yourself and verify the behaviour, and let me know if something doesn't work according to expectations. That's the tester's job! ;)

You might not understand what the tool does, or how it works. It builds a list of plugins available on your system, together with their au id's and plugin, manufacturer names etc. It them attempts to match the plugins referenced in the project to that master list, so we have the full range of data available for the plugin. Then the search matches against that complete entry.

Where we have ID's, matches are always good regardless of the name, because we are matching by ID. Where we don't have the id's, then we do a bunch of name matching based on what we know.

Plugins are always reported by plugin name, ids etc, as far as I can recall...

Edited by des99
Link to comment
Share on other sites

6 minutes ago, des99 said:

It's only misleading if you make an assumption as to how it works, that isn't the case. When you know what it means, it's makes sense...

Misleading in the sense that if you disable a plugin, it should be disabled completely. For example, before you shared your script, one of the things I would do to quickly check which plugins each project was using was to disable them all. Then opening each project one by one I would get the warning that the plugin wasn't there. So then I would create a list based on that. Yes, tiring, but that was the only way. Now in this case, if those plugins don't show any error, I would assume that the project doesn't use them, hence misleading. But as I said, it's also helpful, so it's all good.

 

9 minutes ago, des99 said:

It should be fine, although every time you download an update you'll have to keep renaming it

It's ok, the renaming. I just like having everything named properly. A while ago I was actually looking at your zip and was like "what the hell is this lrep.zip file? ;)

 

10 minutes ago, des99 said:

Where we have ID's, matches are always good regardless of the name

Yes, that's what I thought. And I was checking and even though I have a plugin that I just used the short name "Byome", it shows as "Plugin Alliance Unfiltered Audio Byome" in the report. That's better that way anyway.

 

Thanks!

  • Like 1
Link to comment
Share on other sites

So, on more recent OS's (ie Monterey), the nice, fast auval command does return the Apple system plugins with their ID's, so they will be matched as expected (including AUPitch etc). Performance generally is therefore superior on Monterey for a few reasons.

On earlier systems (eg Mojave etc), the earlier version of auval doesn't seem to return the Apple system AU plugins in the list (so even Apple's own tools forget those AU plugins exist - go figure!). But because this is slow anyway, I instead manually scan the plugin folders, and so the Apple plugins won't be found as they are not stored here anyway.)

Probably for earlier systems I'll end up hard coding the Apple system plugins in so at least they are matched and reported correctly, and that's about as far as this tool needs to go imo (after all, it's essentially a working prototype).

Also: "AURogerBeep". Really?!

Edited by des99
Link to comment
Share on other sites

Ok, I've uploaded lrep 0.62 to the same url. On systems using the older auval, I now add in the Apple system plugins to your scan results, so they should be matched as installed plugins correctly.

To use this, you'll need to update your cache file so it contains the Apple plugins, so either delete your auval_cache.txt file (and it will be rebuilt on the next run of lrep), or run lrep with the -c option to rebuild the cache.

I don't add in the Apple plugins that are only included on later systems (mostly the new panner plugins), so if you load in a project that uses those, you'll (correctly) get a "not installed" on older systems.

Link to comment
Share on other sites

  • 8 months later...
2 hours ago, Danny Wyatt said:

would it be possible to scan multiple projects that are not inside a folder?

*Not* inside a folder? That doesn't make sense... All files have a path on your drive, from the root onwards.

2 hours ago, Danny Wyatt said:

I would like to check which plugins I have inside a certain folder (let's say 10 projects), but I don't want it to scan all projects. Would this be possible?

So you start scanning at that particular folder path, it will process all the files (recursively) from that folder onwards. So if you want to scan /Volumes/myExt/Music/Projects/2022/MyMovieProjects, that would be the start path for the scan you pass in the options using the -f option.

The options help in the script says how, and gives you some examples:

Option: -f
The path to a Logic (.logicx) project file, or a folder to scan and process all project files in it.
If you have spaces in file or pathnames, surround the file/path in double quotes.

php ./lrep.php -f /path/to/projectfile.logicx
php ./lrep.php -f /path/to/projectfolder
php ./lrep.php -f "/path/to/my music/project folder"

If you mean you only want to process a partial selection of project files in a folder (say, the folder has 50 projects, but you only want to do 20 of them), then this is not something I have implemented in this command tool prototype. You can use the command line on individual files, so enter php ./lrep.php -f and then drag in a project file to process from the finder, and repeat as necessary.

Remember this command line tool is a prototype, not a comfortable GUI app when you can browse files using a file selection box, or pick up selections in the Finder etc - that's beyond the scope.

I would just run in on the folder, and discard the ones you don't want, it's essentially instant so there is no time penalty. Or if this was somehow problematic, copy or alias the specific projects you want to search into a new folder, then run the script on that path.

Lots of ways to achieve things you want, without the programmer having to code in every possible functionality they can envisage someone possibly wanting.

Edited by des99
Link to comment
Share on other sites

1 hour ago, des99 said:

*Not* inside a folder? That doesn't make sense... All files have a path on your drive, from the root onwards.

No need to be too "picky" on what I tried to ask 😉 

 

1 hour ago, des99 said:

If you mean you only want to process a partial selection of project files in a folder (say, the folder has 50 projects, but you only want to do 20 of them

That could be a scenario, but also, if you have 20 projects in many different folders across the HD. So you would select all of them and drag-drop them to Terminal to add the paths.

 

1 hour ago, des99 said:

alias the specific projects you want to search into a new folder, then run the script on that path

I tried this approach, but I got the message that there are no Logic projects inside that folder, so aliases (at least in Catalina... not sure if other versions of macOS this has changed?) don't work.

 

1 hour ago, des99 said:

Lots of ways to achieve things you want, without the programmer having to code in every possible functionality they can envisage someone possibly wanting

Obviously not expecting that. All I asked was a simple question: is it possible? It seems it's not. Not trying to offend anyone here...

Link to comment
Share on other sites

3 hours ago, noisyneil said:

I adapted the macro I sent you ages ago to include the ability to process multiple selected projects. See what you think:

Logic - Plugin Report.kmmacros 148.12 kB · 0 downloads

Yes, we already talked about it here and on the KM Forum. I remember it not working properly and since I rarely use it, the original Terminal version was good enough without dealing with the KM issues. Thank you for sharing it again though!

Link to comment
Share on other sites

28 minutes ago, Danny Wyatt said:

I tried this approach, but I got the message that there are no Logic projects inside that folder, so aliases (at least in Catalina... not sure if other versions of macOS this has changed?) don't work.

Yeah, I wasn't sure on the alias behaviour, just thinking out loud really. I'm sure it could be handled if necessary.

29 minutes ago, Danny Wyatt said:

That could be a scenario, but also, if you have 20 projects in many different folders across the HD. So you would select all of them and drag-drop them to Terminal to add the paths.

Is this something you are doing once, or is this something you want to do regularly - reanalyse the same random 20 items across your drive?

If the latter, a simple shell script running the utility on each file could be saved and you just rerun that. I don't really understand the use case though. The way I thought the tool would be useful is to report on everything, or everything in a specific place, or to search everything or everything in a specific place for a plugin.

What's the use case where you want to repeatedly search some non-contiguous selection of 20 projects from across your file system? Maybe if I understood the need, I could come up with some other solution if it's not niche and doesn't over-complicate the options?

Link to comment
Share on other sites

41 minutes ago, des99 said:

Is this something you are doing once, or is this something you want to do regularly - reanalyse the same random 20 items across your drive?

I'm doing it now, because one of the plugins I used to use is buggy and I want to start replacing it on all projects. Thing is, not all my projects have it and for example if I'm working on 10 projects at the moment (not all are inside the same folder) and I just want to see if those have it, I would select them using HoudahSpot and then drag and drop them to Terminal, if that was possible. Hope it makes sense.

I'm also thinking of replacing other plugins I no longer want to use, but I would like to focus on a certain number of projects at a time, instead of selecting a folder with 300 projects, letting Terminal do its thing (with 300 projects it takes longer to process, of course, compared to 10 projects), and then trying to find those 10-20 projects in a list of 300 projects. Of course, I can do this and then use the Find feature to find the reports for each project by name. Was just trying to understand if it was possible to drag and drop files to Terminal and it would read each as individual reports, but it seems it isn't. No big deal.

Another workaround would be to create a copy of those projects to a dedicated folder and process that folder, sure. I was just wondering if all that extra work was possible with the tool you created. I would assume others would feel the need to do the same, eventually? But again, no big deal.

Edited by Danny Wyatt
Link to comment
Share on other sites

@Danny Wyatt I specifically adapted it for you today; it's not the same macro I sent back then. It works great for me, so I think you must have php installed in a different location. It's worth spending a few minutes to get it working, as the macro makes it very user-friendly, in my opinion. 

First step, is to run this in Terminal: 

which php

This tells you your php installation path. Mine is /usr/local/bin/php. 

@des99 might be able to advise too?

Link to comment
Share on other sites

2 hours ago, noisyneil said:

I specifically adapted it for you today; it's not the same macro I sent back then

That's the macro I used, the one you shared today.

 

2 hours ago, noisyneil said:

which php

This tells you your php installation path. Mine is /usr/local/bin/php. 

I got this:

/usr/bin/php

Looking at your macro, I was able to find 3 places where you use "/usr/local/bin/php":
image.png.ac1e7a19d56c76150bc084f2398db5a5.png

I will try and replace them and see how it goes

Link to comment
Share on other sites

8 hours ago, Danny Wyatt said:

Was just trying to understand if it was possible to drag and drop files to Terminal and it would read each as individual reports, but it seems it isn't. No big deal.

Correct, as the help instructions say, currently the -f option either takes a single project filename, or a folder path to process as a batch.

I just uploaded 0.65 to the same link as before, which now supports multiple individual project files. The help text shows you how - basically you need to quote the file list, and separate the files by spaces.

-f	The path to a Logic (.logicx) project file, or a folder to scan and process all project files in it.
    If you have spaces in file or pathnames, surround the file/path in double quotes.

        php ./lrep.php -f /path/to/projectfile.logicx
        php ./lrep.php -f /path/to/projectfolder
        php ./lrep.php -f "/path/to/my music/project folder"

    You can pass multiple individual project files by quoting them like this:

        php ./lrep.php -f "/path/to/projectfile.logicx /path/to/projectfile2.logicx"

 

So start your terminal command up to the double quote, eg php ./lrep.php -f ", then drag your file selection in, then close the quotes, and hit return - all valid passed files will be processed.

Edit: And now at v0.66. When passing multiple files, spaces act as separators between files, which would obviously cause problems if you have file names/paths with spaces in. If you have filenames with spaces in, when passing multiple files you need to escape those spaces with a backslash. Again, the help text explains with examples:

You can pass multiple individual project files by quoting them like this:

	php ./lrep.php -f "/path/to/projectfile.logicx /path/to/projectfile2.logicx"

When passing multiple files, spaces in filenames have to be escaped with a single backslash:

	php ./lrep.php -f "/path/to/my\ project\ file.logicx /path/to/my\ other\ project.logicx"

 

Edited by des99
Link to comment
Share on other sites

15 hours ago, des99 said:

I just uploaded 0.65 to the same link as before

I can't for the life of me find the link. Can you PM me it? The macro I posted the other day deals with individual files, but does so by running the script once-per-file and then collating the tidied-up reports as one readout. Your new update will make that a lot easier and potentially quicker too. 

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...