Jump to content

Find projects that use XYZ plugin


Danny Wyatt
 Share

Recommended Posts

I don't know anything about octet stream binary files (am I even saying that right?), but my needs are relatively modest. I don't need to make sense of anything; I just need to see if a single word exists within the string, which in this case is "Geist". 

image.png.bece37f921ffa32cc9edbc4f45d5f486.png

So I've arrived at using...

xxd <path to ProjectData file>

...in a shell script to dump the entire file to a variable and then look for a regex match.

For the  Keyboard Maestro users among us, here's a macro that works for me. 👍🏼

Edited by noisyneil
Updated macro
  • Like 1
  • Thanks 1

Logic Pro 10.6.3 - 16" Macbook Pro - 2.4 GHz 8-Core Intel Core i9 - 32GB RAM, 2TB SSD - AMD Radeon Pro 5500M 8 GB - macOS Catalina 10.15.7 - UA Apollo 8P

Link to comment
Share on other sites

16 minutes ago, noisyneil said:

If TextEdit can read the ProjectData file, then surely it must be possible to copy its contents to the system clipboard in an equally readable format. I don't need to make sense of anything; I just need to see if a single word exists within the string. It's easy to then determine whether or not there's a regex match of that word, which in this case is "Geist".

Yes, you can do that. And if you want to check whether "Geist" is used in a project - that's a reasonably simple use case, then it'll work for you.

However, for a more general case and a useful utility, what we really want to do is report *all* plugins used in a project, and we can't search for them individually (for reasons discussed earlier in the thread). So a different approach is required...

Edited by des99
  • Like 1

mu:zines | music magazine archive | difficultAudio | Legacy Logic Project Conversion | Logic 10.7.4, MBP 16" M1pro

Link to comment
Share on other sites

2 minutes ago, des99 said:

that's a reasonably simple use case

I've added a little something my previous post. I may have done it in an inelegant way, but it's working!

  • Like 2

Logic Pro 10.6.3 - 16" Macbook Pro - 2.4 GHz 8-Core Intel Core i9 - 32GB RAM, 2TB SSD - AMD Radeon Pro 5500M 8 GB - macOS Catalina 10.15.7 - UA Apollo 8P

Link to comment
Share on other sites

Ok, so proof of concept so far is working:-

[~/Documents/Programming/logic_plugin] MissionBook % php ./lrep.php -f /Users/me/Documents/Programming/logic_plugin/Project3.logicx 

Logic Project Reporter v.0.00

Loading file /Users/me/Documents/Programming/logic_plugin/Project3.logicx/Alternatives/000/ProjectData... done.
File length: 1025610 bytes

Looking for track data... Ok.

--------------------------------------------------------------
 Plugin Report
--------------------------------------------------------------

Total plugins found in project: 7 

TOMO Audiol [Brwx LISA aumf]
Blackhole [TIDE HOLE aumf]
Sonsig Rev- [Relb SRvA aufx]
bx_console [Brwx bslj aumf]
Synclavier [Artu Sycl aumu]
Repro-1 [UHfX uR_1 aumu]
HD Cart [RevF HDC1 aufx]

It seems to detect all plugins on any track in the project, you can have multiple plugins per track etc, and I'm finding them all (not exhaustively tested at all of course).

Note the names that people have been searching for are limited to 12 chars, and sometimes they are not that useful - eg all the three Brainworx SSL console plugins (E, K and J) have a name in the file of "bx_console" :)

So, the general plan with this is the utility should grab a listing of all the plugins installed on the system (so I can get full manufacturer and plugin names). This file should be cached (especially for earlier systems that can't run the faster auval list command).

We pass in a project file, and we should analyse it, extract the plugins, match them up with installed plugins, and report (we can also report whether the project requires plugins not installed on the current system).

Further features to do would include some or all of the following:-

  • optionally report on Logic plugins (which are always available of course)
  • check all file alternates in a project
  • check if a project has references to a particular plugin ("does this project use Omnisphere?")
  • Recursively process/report multiple projects, or nested folders full of projects
  • [possibly] extract the plugin presets/state stored in the project as aupreset files
  • [possibly] some other things I'll investigate

If you have any other ideas that you'd find useful, let me know here.

Over the next few days I'll rewrite this to not be such crappy code and implement some of the above features, and I'll share the script so you guys can play with it and give me feedback etc.

Promising start, though!

Edited by des99
  • Like 2
  • Thanks 2

mu:zines | music magazine archive | difficultAudio | Legacy Logic Project Conversion | Logic 10.7.4, MBP 16" M1pro

Link to comment
Share on other sites

2 hours ago, des99 said:

If you have any other ideas

Amazing man! So tidy!

It would be cool if it could report things like time signature and tempo. Would also be great if you could check if the project contains a track named a certain way (e.g. "Piano"). This would be really handy when trying to delve into old material for a brief. 

I'm excited to try batch processing with this! I've got a batch version of my basic macro working and have already tagged a few hundred sessions that contain Geist. Happy days!image.gif.8839ad2d9a683c7fe6f8910845f90fb8.gif

 

Edited by noisyneil
  • Like 3

Logic Pro 10.6.3 - 16" Macbook Pro - 2.4 GHz 8-Core Intel Core i9 - 32GB RAM, 2TB SSD - AMD Radeon Pro 5500M 8 GB - macOS Catalina 10.15.7 - UA Apollo 8P

Link to comment
Share on other sites

9 hours ago, des99 said:

. And if you want to check whether "Geist" is used in a project - that's a reasonably simple use case, then it'll work for you.

unless some silly user names a track or a region „Geist“, of course 

  • Like 1

MacBook Pro 16'' 2019, 2,4 GHz 8-Core Intel Core i9 64 GB 2667 MHz DDR4 / macOS Monterey 12.3.1 / Logic 10.7.4

Link to comment
Share on other sites

8 hours ago, des99 said:

Ok, so proof of concept so far is working:-

[~/Documents/Programming/logic_plugin] MissionBook % php ./lrep.php -f /Users/me/Documents/Programming/logic_plugin/Project3.logicx 

Logic Project Reporter v.0.00

Loading file /Users/me/Documents/Programming/logic_plugin/Project3.logicx/Alternatives/000/ProjectData... done.
File length: 1025610 bytes

Looking for track data... Ok.

--------------------------------------------------------------
 Plugin Report
--------------------------------------------------------------

Total plugins found in project: 7 

TOMO Audiol [Brwx LISA aumf]
Blackhole [TIDE HOLE aumf]
Sonsig Rev- [Relb SRvA aufx]
bx_console [Brwx bslj aumf]
Synclavier [Artu Sycl aumu]
Repro-1 [UHfX uR_1 aumu]
HD Cart [RevF HDC1 aufx]

It seems to detect all plugins on any track in the project, you can have multiple plugins per track etc, and I'm finding them all (not exhaustively tested at all of course).

Note the names that people have been searching for are limited to 12 chars, and sometimes they are not that useful - eg all the three Brainworx SSL console plugins (E, K and J) have a name in the file of "bx_console" :)

So, the general plan with this is the utility should grab a listing of all the plugins installed on the system (so I can get full manufacturer and plugin names). This file should be cached (especially for earlier systems that can't run the faster auval list command).

We pass in a project file, and we should analyse it, extract the plugins, match them up with installed plugins, and report (we can also report whether the project requires plugins not installed on the current system).

Further features to do would include some or all of the following:-

  • optionally report on Logic plugins (which are always available of course)
  • check all file alternates in a project
  • check if a project has references to a particular plugin ("does this project use Omnisphere?")
  • Recursively process/report multiple projects, or nested folders full of projects
  • [possibly] extract the plugin presets/state stored in the project as aupreset files
  • [possibly] some other things I'll investigate

If you have any other ideas that you'd find useful, let me know here.

Over the next few days I'll rewrite this to not be such crappy code and implement some of the above features, and I'll share the script so you guys can play with it and give me feedback etc.

Promising start, though!

Awesome stuff! So happy to see this coming true and working on your end! :) Promising start indeed! Thank you for working on this!

  • Like 2

Danny Wyatt (formerly known as 3ple here on the forum)
Musician, Music Producer, Songwriter, DJ
Official Website: http://www.iamdannywyatt.com  - Join my Discord: https://dwyatt.me/discord

Logic Pro 10.6.3 • M-Audio Fast Track Pro 4x4 • MacBook Pro 13" Mid 2012 || 2.5 GHz Dual-Core Intel Core i5 || 8GB 1600 MHz DDR3 RAM • macOS Catalina 10.15.7

Link to comment
Share on other sites

9 hours ago, des99 said:

If you have any other ideas

Would it be possible to optionally check not just whether a plugin exists in a project, but whether:

a) it exists on a track that hasn't been frozen? 

b) the track it's on has been powered off? 

Logic Pro 10.6.3 - 16" Macbook Pro - 2.4 GHz 8-Core Intel Core i9 - 32GB RAM, 2TB SSD - AMD Radeon Pro 5500M 8 GB - macOS Catalina 10.15.7 - UA Apollo 8P

Link to comment
Share on other sites

22 minutes ago, noisyneil said:

Would it be possible to optionally check not just whether a plugin exists in a project, but whether:

a) it exists on a track that hasn't been frozen? 

b) the track it's on has been powered off? 

Not wanting to be sarcastic here, but good luck with that 😉

  • Like 1

MacBook Pro 16'' 2019, 2,4 GHz 8-Core Intel Core i9 64 GB 2667 MHz DDR4 / macOS Monterey 12.3.1 / Logic 10.7.4

Link to comment
Share on other sites

5 minutes ago, polanoid said:

good luck with that

That kinda logic is very doable with Keyboard Maestro, but yeah I hear ya! 

What you'd need to be able to get from the data is:

- Which tracks contain the plugin

- Which tracks are frozen 

...then cross-reference. I don't need the script to cross reference; just to supply the info for me to use. 

In other news, I don't want to speak for him, but @speakerfood is waaaaaaay ahead of us on this!

Edited by noisyneil

Logic Pro 10.6.3 - 16" Macbook Pro - 2.4 GHz 8-Core Intel Core i9 - 32GB RAM, 2TB SSD - AMD Radeon Pro 5500M 8 GB - macOS Catalina 10.15.7 - UA Apollo 8P

Link to comment
Share on other sites

7 minutes ago, noisyneil said:

That kinda logic is very doable with Keyboard Maestro, but yeah I hear ya! 

What you'd need to be able to get from the data is:

- Which tracks contain the plugin

- Which tracks are frozen 

...then cross-reference. I don't need the script to cross reference; just to supply the info for me to use. 

In other news, I don't want to speak for him, but @speakerfood is waaaaaaay ahead of us on this!

Haha thanks Neil.. ahead in future plans maybe, not in actual implementation. BTW, you can also make use of the Metadata.plist file for getting session info, like audio files used, BPM, time signature..

  • Like 2
https://www.speakerfood.com | Must-have tools for Logic Pro users | Music & Sound Design
Link to comment
Share on other sites

10 minutes ago, speakerfood said:

you can also make use of the Metadata.plist

Hmm. Here's the contents of the Metadata.plist of a session set to 97bpm. Can't see any mention of that tempo:

bplist00fl	

 "#$%&'()*'+,_SurroundModeIndexWHasGrid_SamplerInstrumentsFiles_QuicksamplerFiles_isTimeCodeBasedWSongKeyZAudioFiles^NumberOfTracks]PlaybackFiles]HasARAPluginsZSampleRate_UnusedAudioFiles]SongGenderKey_ImpulsResponsesFiles^FrameRateIndex_SongSignatureNumerator^BeatsPerMinute\SignatureKeyWVersion_SongSignatureDenominator_SurroundFormatIndex^UltrabeatFiles°_U/Users/noisyneil/Music/Audio Music Apps/Sampler Instruments/UREI-click/UREI Click.exs†QC††¨D†Umajor†"B¬†7KSmÅìõ¶µ√—‹Ô˝#<KX`{놢£•˝˛ˇ	
 -!

 

Logic Pro 10.6.3 - 16" Macbook Pro - 2.4 GHz 8-Core Intel Core i9 - 32GB RAM, 2TB SSD - AMD Radeon Pro 5500M 8 GB - macOS Catalina 10.15.7 - UA Apollo 8P

Link to comment
Share on other sites

52 minutes ago, noisyneil said:

Would it be possible to optionally check not just whether a plugin exists in a project, but whether:

a) it exists on a track that hasn't been frozen? 

b) the track it's on has been powered off? 

Possibly, but the track data is likely in a different place to the audio objects, so it would be a different round of reverse engineering. What's your use cases for these?

8 hours ago, noisyneil said:

It would be cool if it could report things like time signature and tempo.

That stuff is easy enough to get in a few ways, I already had utils to get that stuff from the project files in earlier versions, smpte times, offsets, tempos, calculating time formats etc - but is a bit outside the scope of the plugin focused tool - I'd like to keep this for plugins at this stage.

26 minutes ago, noisyneil said:

That kinda logic is very doable with Keyboard Maestro

The logic is not the problem - reliably locating the data in the binary file is the problem, especially as depending on the objects stored, this could range from easy to more or less impossible to reliably find.

18 minutes ago, speakerfood said:

BTW, you can also make use of the Metadata.plist file for getting session info, like audio files used, BPM, time signature..

Yes, one of the useful features on my list around this "Logic project hacking area" is to generate audio file references, see whether they exist on your system at the expected places, possibly even fix references. Basically, my original plan was a tool to do this kind of useful batch inspecting and reporting of useful features in project files, but it wasn't a project I was actively working on, as other things in progress have priority.

The plugin tool is a useful enough feature, so I'm concentrating on getting that into a useful state, it can always be expanded on later into a more full-featured utility...

Edited by des99
  • Like 1

mu:zines | music magazine archive | difficultAudio | Legacy Logic Project Conversion | Logic 10.7.4, MBP 16" M1pro

Link to comment
Share on other sites

4 minutes ago, noisyneil said:

Hmm. Here's the contents of the Metadata.plist of a session set to 97bpm. Can't see any mention of that tempo:

bplist00fl	

 "#$%&'()*'+,_SurroundModeIndexWHasGrid_SamplerInstrumentsFiles_QuicksamplerFiles_isTimeCodeBasedWSongKeyZAudioFiles^NumberOfTracks]PlaybackFiles]HasARAPluginsZSampleRate_UnusedAudioFiles]SongGenderKey_ImpulsResponsesFiles^FrameRateIndex_SongSignatureNumerator^BeatsPerMinute\SignatureKeyWVersion_SongSignatureDenominator_SurroundFormatIndex^UltrabeatFiles°_U/Users/noisyneil/Music/Audio Music Apps/Sampler Instruments/UREI-click/UREI Click.exs†QC††¨D†Umajor†"B¬†7KSmÅìõ¶µ√—‹Ô˝#<KX`{놢£•˝˛ˇ	
 -!

Des99 already got this covered, but you need to open the file in an XML viewer, Xcode can do this, but other tools are available as well

  • Like 2
https://www.speakerfood.com | Must-have tools for Logic Pro users | Music & Sound Design
Link to comment
Share on other sites

27 minutes ago, des99 said:

What's your use cases for these?

It's just a bit of "blue sky" thinking; a luxury feature that would be nice but not worth the effort if it's going to be laborious to get going. My initial reason to get this kind of thing up and running it to go through all my sessions and freeze tracks containing Geist v1 which FXpansion decided to scrap. It's hanging on by its fingertips and I had to go round the houses to get it working past Mojave, but it's in a lot of sessions (because nothing else, not even Geist v2 does what it does). Pretty sure it'll be DOA once I move to an ARM machine, so I want to ensure those sessions are still playable. It's going to be a fair amount of work to open each of these sessions and freeze the tracks so it would be helpful to be able to see which ones I've already done.   

22 minutes ago, speakerfood said:

you need to open the file in an XML viewer

I had a feeling it might be that. Thanks. :-)

Logic Pro 10.6.3 - 16" Macbook Pro - 2.4 GHz 8-Core Intel Core i9 - 32GB RAM, 2TB SSD - AMD Radeon Pro 5500M 8 GB - macOS Catalina 10.15.7 - UA Apollo 8P

Link to comment
Share on other sites

22 minutes ago, des99 said:

but is a bit outside the scope of the plugin focused tool - I'd like to keep this for plugins at this stage.

I agree that this kind of tool should be focused on doing one thing and do it well, instead of adding extra stuff that will clutter it. That's just my personal opinion. Sure, maybe next to each project, adding the BPM and Signature is probably not a big deal, but other than that, if it's just focused on finding the plugins, it could be an awesome tool just for that.

 

I was thinking of a workflow and if you guys agree on this, I don't mind coming up with the GUI. Let me know what you think:

IMG_1753.jpeg.2c55764c5a5bd7dc512488364d2a24c0.jpeg

Step 1: We get presented with just a window with an option to drag and drop the file(s) or click the Browse button.

Step 2: when the file(s) is/are dropped, the app starts analyzing to give us some information such as what other projects are present in the current (root) folder and which are inside sub folders (if they exist at all).

Step 3: We can now see the name of each project and below it, the name of the projects inside the root folder and the ones inside sub folders. Next to each name we would have a check box so we could pick which projects we want to analyze. We would have an Analyze button that would lead us to step 4

Step 4: Since each project can have multiple alternatives, we would be presented with a list (by project name) of all the alternatives inside each projects. We would also have checkboxes next to them so we could pick which to analyze for plugins. We then have the Gather Info button that would take us to Step 5

Step 5: it just shows us the progress bar while it's checking for the plugins

Step 6: We would see each project (main group) with each alternative (sub group inside the Project group) and we would see a scrollable window with the information about the plugins. Next to each Alternative we would have 3 buttons: 1) Copy to Clipboard, 2) Export as txt file, 3) Export AU Presets.
We could also have at the top 3 buttons that do those things for all alternatives so: 1) Copy all to Clipboard (this would create an organized list with all the info from all alternative), 2) Export all as txt files, 3) Export all AU Presets

I think this is all we need, but feel free to share your opinions and suggestions.

@des99 This is me assuming that you want me to contribute with this. Let me know your thoughts.
 

  • Like 1

Danny Wyatt (formerly known as 3ple here on the forum)
Musician, Music Producer, Songwriter, DJ
Official Website: http://www.iamdannywyatt.com  - Join my Discord: https://dwyatt.me/discord

Logic Pro 10.6.3 • M-Audio Fast Track Pro 4x4 • MacBook Pro 13" Mid 2012 || 2.5 GHz Dual-Core Intel Core i5 || 8GB 1600 MHz DDR3 RAM • macOS Catalina 10.15.7

Link to comment
Share on other sites

Thanks Danny, yes, a Mac app version would likely work something like you outline. I haven't really thought about it more than vaguely, but ideas and extra problem-solving brains are always welcome - you've given the middle stuff a bit of thought that I haven't yet, for example.

At this stage, it's a little far ahead of where I am and I generally don't tend to get too far ahead of myself. I'm not quite ready to bust out Xcode just yet... ;)

There's a lot of things we can't take for granted without testing etc - for example, just because finding the plugins works on my current test files from Logic 10.7.x, doesn't mean it works on all Logic projects - the formats could change between versions even in subtle ways which would need to be handled. So there's a bunch of investigating and testing to do before I'm confident the approach is solid, but I guess give me a week or so to work through the necessary things and get something people can play with, and I'll have a better idea of where we are and what to do next etc...

Edited by des99
  • Like 2

mu:zines | music magazine archive | difficultAudio | Legacy Logic Project Conversion | Logic 10.7.4, MBP 16" M1pro

Link to comment
Share on other sites

@des99

Sure I totally understand. The product needs to be working in most scenarios and I'm sure we will be able to have some people here on the forum testing it and reporting issues.

That workflow took me just like 5 minutes so no big deal. I was just having ideas and decided to put them on paper and on my Notes, regardless of how things go.

Take your time and keep us posted. I see that you are making huge progress there, so it's a good thing! :)

  • Like 1

Danny Wyatt (formerly known as 3ple here on the forum)
Musician, Music Producer, Songwriter, DJ
Official Website: http://www.iamdannywyatt.com  - Join my Discord: https://dwyatt.me/discord

Logic Pro 10.6.3 • M-Audio Fast Track Pro 4x4 • MacBook Pro 13" Mid 2012 || 2.5 GHz Dual-Core Intel Core i5 || 8GB 1600 MHz DDR3 RAM • macOS Catalina 10.15.7

Link to comment
Share on other sites

3 hours ago, speakerfood said:

you need to open the file in an XML viewer

How come Quicklook can read it? Surely there must be a way to get that info from the command line if this is the case, no?

Never mind, it's:

plutil -p  <path to MetaData.plist file>

 

 

 

 

Edited by noisyneil
  • Like 1

Logic Pro 10.6.3 - 16" Macbook Pro - 2.4 GHz 8-Core Intel Core i9 - 32GB RAM, 2TB SSD - AMD Radeon Pro 5500M 8 GB - macOS Catalina 10.15.7 - UA Apollo 8P

Link to comment
Share on other sites

Quicklook has a plugin architecture that understands how to read and display various file formats, including XML... from the command line you're bypassing a lot of cool macOS handling. There are also a bunch of utilities that read plists in their various formats.

 

Making progress - now matches against installed plugins, and counts references (eg in this project, the BX SSL 9000 J plugin was used 20 times...)

Logic Project Reporter v.0.03

Getting installed plugins... done.
AUVal version: 1.10.0 (ok)

Loading file /Users/me/Documents/Programming/logic_plugin/Project4.logicx/Alternatives/000/ProjectData... done.
File length: 469442 bytes

Looking for plugin data... 

--------------------------------------------------------------
 Plugin Report
--------------------------------------------------------------

Total plugins found in project: 39 

ADPTR Metri     [Adpt Kfbw aufx]	[1]	[Installed] Plugin Alliance ADPTR MetricAB
bx_console      [Brwx bslj aumf]	[20]	[Installed] Plugin Alliance bx_console SSL 9000 J
bx_opto         [Brwx bxot aufx]	[2]	[Installed] Plugin Alliance bx_opto
Purple Audi     [Brwx PA77 aumf]	[1]	[Installed] Plugin Alliance Purple Audio MC 77
Black Box A     [Brwx H2MS aumf]	[1]	[Installed] Plugin Alliance Black Box Analog Design HG-2MS
Shadow Hill     [Brwx SHRK aumf]	[1]	[Installed] Plugin Alliance Shadow Hills Class A Mastering Comp
TOMO Audiol     [Brwx LISA aumf]	[1]	[Installed] Plugin Alliance TOMO Audiolabs LISA
Pro-L 2         [FabF FL2p aumf]	[1]	[Installed] FabFilter Pro-L 2
LX480 Essen     [Relb LX4E aufx]	[2]	[Installed] Relab Development LX480 Essentials
Sonsig Rev-     [Relb SRvA aufx]	[2]	[Installed] Relab Development Sonsig Rev-A
SPL TwinTub     [SPL1 SPTT aufx]	[2]	[Installed] Plugin Alliance SPL TwinTube
SSL Native      [SSLN NBC2 aufx]	[1]	[Installed] SSL SSL Native Bus Compressor 2
Tape            [SfTb nnfw aufx]	[1]	[Installed] Softube Tape
CLA-2A (m)      [ksWV LA2M aufx]	[2]	[Installed] Waves CLA-2A (m)
Doubler2 (m     [ksWV WD2X aufx]	[1]	[Installed] Waves Doubler2 (m->s)
Edited by des99
  • Thanks 1

mu:zines | music magazine archive | difficultAudio | Legacy Logic Project Conversion | Logic 10.7.4, MBP 16" M1pro

Link to comment
Share on other sites

Just now, des99 said:

"Show me all projects that deviate in tempo more than 4bpm"... ;)

"Ladies and Gentlemen, here's the +/- 4 bpm tagging macro!"

  • Haha 1

MacBook Pro 16'' 2019, 2,4 GHz 8-Core Intel Core i9 64 GB 2667 MHz DDR4 / macOS Monterey 12.3.1 / Logic 10.7.4

Link to comment
Share on other sites

21 minutes ago, polanoid said:

I assume this is only for people who are not into this whole tempo change thing?

It will tag the project with the tempo given in the metadata (it doesn't list tempo changes). Might not be as handy for orchestral composers, but I can imagine anyone who writes music to a roughly steady tempo (i.e. almost everyone else) would get some benefit from it, particularly dance music producers, to whom disparate tempos are practically sub-genres.

I wonder if it's possible to search for tags within a range? If not, I could modify the macro to tag files to a tempo range. For example, if the project is 137bpm, the tag would be "BPM: 135-140".

Also, I've updated it to optionally tag the time signature too.

Edited by noisyneil

Logic Pro 10.6.3 - 16" Macbook Pro - 2.4 GHz 8-Core Intel Core i9 - 32GB RAM, 2TB SSD - AMD Radeon Pro 5500M 8 GB - macOS Catalina 10.15.7 - UA Apollo 8P

Link to comment
Share on other sites

So I can now process folders recursively for all Logic projects in the passed folder.

I can also send in a search term for plugins in a particular project or path, eg:-

[~/Documents/Programming/logic_plugin] MissionBook % php ./lrep.php -f /Users/me/Documents/Programming/logic_plugin/ -s relab

Logic Project Reporter v.0.14

Getting installed plugins... done.
AUVal version: 1.10.0 (ok)
Searching ['relab'] in /Users/me/Documents/Programming/logic_plugin/Project.logicx/Alternatives/000... 
Searching ['relab'] in /Users/me/Documents/Programming/logic_plugin/Project2.logicx/Alternatives/000... 
Searching ['relab'] in /Users/me/Documents/Programming/logic_plugin/Project3.logicx/Alternatives/000... 
** Found: Sonsig Rev-     [Relb SRvA aufx]	[1]	[Installed] Relab Development Sonsig Rev-A

Searching ['relab'] in /Users/me/Documents/Programming/logic_plugin/Project5.logicx/Alternatives/000... 
Searching ['relab'] in /Users/me/Documents/Programming/logic_plugin/Project6.logicx/Alternatives/000... 
Searching ['relab'] in /Users/me/Documents/Programming/logic_plugin/project4.logicx/Alternatives/000... 
** Found: LX480 Essen     [Relb LX4E aufx]	[2]	[Installed] Relab Development LX480 Essentials
** Found: Sonsig Rev-     [Relb SRvA aufx]	[2]	[Installed] Relab Development Sonsig Rev-A

So this would let you, for example, survey your entire Logic projects for plugins, or generate a list of projects that used "Plugin Alliance" plugins, or search a folder of projects for the one where you used that demo plugin, and other such use cases.

[~/Documents/Programming/logic_plugin] MissionBook % php ./lrep.php -f /Users/me/Documents/Programming/logic_plugin/ -s "Plugin Alliance"

Logic Project Reporter v.0.14

Getting installed plugins... done.
AUVal version: 1.10.0 (ok)
Searching ['plugin alliance'] in /Users/me/Documents/Programming/logic_plugin/Project.logicx/Alternatives/000... 
Searching ['plugin alliance'] in /Users/me/Documents/Programming/logic_plugin/Project2.logicx/Alternatives/000... 
** Found: TOMO Audiol     [Brwx LISA aumf]	[1]	[Installed] Plugin Alliance TOMO Audiolabs LISA

Searching ['plugin alliance'] in /Users/me/Documents/Programming/logic_plugin/Project3.logicx/Alternatives/000... 
** Found: TOMO Audiol     [Brwx LISA aumf]	[1]	[Installed] Plugin Alliance TOMO Audiolabs LISA
** Found: bx_console      [Brwx bslj aumf]	[1]	[Installed] Plugin Alliance bx_console SSL 9000 J

Searching ['plugin alliance'] in /Users/me/Documents/Programming/logic_plugin/Project5.logicx/Alternatives/000... 
Searching ['plugin alliance'] in /Users/me/Documents/Programming/logic_plugin/Project6.logicx/Alternatives/000... 
Searching ['plugin alliance'] in /Users/me/Documents/Programming/logic_plugin/project4.logicx/Alternatives/000... 
** Found: ADPTR Metri     [Adpt Kfbw aufx]	[1]	[Installed] Plugin Alliance ADPTR MetricAB
** Found: bx_console      [Brwx bslj aumf]	[20]	[Installed] Plugin Alliance bx_console SSL 9000 J
** Found: bx_opto         [Brwx bxot aufx]	[2]	[Installed] Plugin Alliance bx_opto
** Found: Purple Audi     [Brwx PA77 aumf]	[1]	[Installed] Plugin Alliance Purple Audio MC 77
** Found: Black Box A     [Brwx H2MS aumf]	[1]	[Installed] Plugin Alliance Black Box Analog Design HG-2MS
** Found: Shadow Hill     [Brwx SHRK aumf]	[1]	[Installed] Plugin Alliance Shadow Hills Class A Mastering Comp
** Found: TOMO Audiol     [Brwx LISA aumf]	[1]	[Installed] Plugin Alliance TOMO Audiolabs LISA
** Found: SPL TwinTub     [SPL1 SPTT aufx]	[2]	[Installed] Plugin Alliance SPL TwinTube

(I plan to add an option to write out the plugin report alongside each project, so you can easily generate a third-party asset list for a collection of projects etc...)

Edited by des99
  • Thanks 1

mu:zines | music magazine archive | difficultAudio | Legacy Logic Project Conversion | Logic 10.7.4, MBP 16" M1pro

Link to comment
Share on other sites

I made a macro that can search for tags by BPM range and also for time signatures. 

https://forum.keyboardmaestro.com/t/continue-macro-after-user-clicks-a-particular-image/28093/35?u=noisneil

Edited by noisyneil

Logic Pro 10.6.3 - 16" Macbook Pro - 2.4 GHz 8-Core Intel Core i9 - 32GB RAM, 2TB SSD - AMD Radeon Pro 5500M 8 GB - macOS Catalina 10.15.7 - UA Apollo 8P

Link to comment
Share on other sites

Progress on my plugin reporter tool:

  • Reports on a single project, or processes a folder (recursively) of all projects it can find
  • Supports all Logic 10 file formats - I have LPX files going back to 2013 (LPX 10.0), and I can successfully extract the plugin data from versions 10.0 through 10.7. Early projects, I think 10.0 and 10.1, don't save the plugin type, it's just blank, which caused a few detection headaches
  • Supports older AUval versions that don't have the -l fast scan option (in this case, the first scan will take a few minutes, and the results will be cached so subsequent runs will be fast. There's an option to refresh the cache if you've installed some new plugins and need to update the list)
  • Can optionally just show plugins in projects that are not installed (so you can process a folder of projects and just see what plugins they require that you don't have currently installed)
  • Can search a project or folder (recursively) for a search string, which is matched against all the plugin fields (name, id strings, installed name etc), case insensitively. This lets you perform queries like:
    "Show me all the projects on my system that used the LX480 plugin", or "Show me all the projects in this folder that used any uninstalled Waves plugins" etc.

Still to do in this first round:

  • Flag/differentiate Logic built-in plugins, with an option to show or ignore them (as they are always present, you probably mostly don't want them displayed, but might like to know for reporting purposes)
  • Option to write report summaries per project alongside the project file processed
  • Option to specify which alternates to process (currently it does all of them per project, but you may want all, first, last, latest modified etc)
  • Possibly have some sort of database of plugin metadata to provide more info on not-installed plugins (full manufacturer and plugin names, for example) for better search and display results
  • KM macro to run it that way

It might even be possible to support older Logic projects, at least LP7-9, which might be useful for people with old projects. And there are a few other features I have in mind. As it is though, it seems pretty solid, though I still need a bit more thorough testing (particularly on older systems) before I'm ready to share.

--

On Mojave, the included AUval version is 1.6.1 (which doesn't support the fast scan), and on Monterey, AUval is 1.10.0 (which does). It would be useful for me to know what version AUval comes with Catalina and Big Sur, and whether they support the fast scan.

If you have a Mac running Catalina or Big Sur, it would be helpful if you could open terminal, and type: 

auval -vers

(and then press return), and let me know the version number displayed. Also:

auval -l

(and then press return) to let me know whether this works or comes back as an unrecognised command. Thanks... 👍

Edited by des99
  • Like 1

mu:zines | music magazine archive | difficultAudio | Legacy Logic Project Conversion | Logic 10.7.4, MBP 16" M1pro

Link to comment
Share on other sites

Naively, I wonder if referring to the plugin manager data could be useful?

LogicPro 10.7.4, MainStage 3.6,
MBPro 17", Core2Duo, 8G, OSX 10.12.6, MacPro, Xeon 6Cores, 64GB, OSX 10.16.1,
ULN8, MOTU MIDI TP-AV, C4, MCU Pro, KorgNano, Novation SLMkII, Several vintage gear
AAS, NI, Celemony, Spectrasonics, Korg, Arturia, etc..., PC, iPadPro 5th gen 12.9”(Duet D., V-Control & LogicRemote), AtariST(Notator SL),

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  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.

 Share

×
×
  • Create New...