A simple shell script for Pro Tools Mac computers to help identify which Pro Tools AAX plugins use the JUCE plugin framework. squz.sh just searches for any case-insensitive occurrence of the string "JUCE" within Pro Tools AAX plugin executables. We are assuming that seeing at least one "JUCE" string in a plugin executable is sufficient to identify a plugin as having used the JUCE tooling.
The script also reports if a plugin appears to use the Blue Cat Plug 'n Play framework. It does this by detecting a case-independent occurrence of the string "AngelScript".
Click here to download the squz.sh script.
Download the squz.sh script. Copy it wherever is convenient, make the script executable, and run it from that location. For example to just test run squz.sh if it was downloaded to the standard Downloads folder then in Terminal.app type the following: (the $ is the shell command prompt, which will likely be different on your computer, don't type that).
$ cd ~/Downloads $ chmod +x squz.sh
And to check squz.sh works:
$ ./squz.sh -v Plug-Ins Juce PnS arm64 x86_64 i386 Manufacturer Short Version Version ---------------------------------------- ---- --- ----- ------ ---- ------------------ ---------------------- ---------------------- SPL Free Ranger x86_64 plugin-alliance 1.17.1 1.17.1 BC Phaser 3 AAX(Mono) pns arm64 x86_64 bluecataudio 3.42 3.42 SignalGenerator juce arm64 x86_64 avid 22.12.0.326 22.12.0d326 ... LittlePlate arm64 x86_64 soundtoys 5.3.9.16828 Authorizat 5.3.9.16828 SciFi juce arm64 x86_64 avid 22.12.0.326 22.12.0d326 Boom x86_64 wizoo 1.2.1.18799 1.2.1.18799 Eleven Lite juce arm64 x86_64 avid 22.12.0.326 22.12.0d326 PultecEQP-1A juce arm64 x86_64 avid 22.12.0.7 22.12.0d7 BC Gain 3 AAX(Mono) pns arm64 x86_64 bluecataudio 3.44 3.44 ProSubharmonic juce arm64 x86_64 avid 22.12.0.7 22.12.0d7 Youlean Loudness Meter 2 x86_64 youlean 2.4.3 2.4.3 Vacuum x86_64 wizoo 1.2.1.18823 1.2.1.18823 ... bx_rockrack V3 Player x86_64 plugin-alliance 3.8.1 3.8.1 Superior Drummer 3 juce x86_64 toontrack 3.3.5 35000 BC PatchWork Synth AAX pns arm64 x86_64 bluecataudio 2.61 2.61 moogerfooger RM juce arm64 x86_64 avid 22.12.0.7 22.12.0d7 Tape Echo juce arm64 x86_64 avid 22.12.0.7 22.12.0d7 AIRLo-Fi x86_64 wizoo 1.2.0.18799 1.2.0.18799 AIRDistortion x86_64 wizoo 1.2.0.18799 1.2.0.18799 ... WaveShell1-AAX 14.0 arm64 x86_64 wavesaudio 14.0.155 14.0.155.156 AIRReverb x86_64 wizoo 1.2.0.18799 1.2.0.18799 BIAS FX 2 juce x86_64 positivegrid 2.5.1 2.5.1.6560.Release EZdrummer 3 juce x86_64 toontrack 3.0.5 34589 BC Gain 3 AAX(Stereo) pns arm64 x86_64 bluecataudio 3.44 3.44 Precision Time Delay juce arm64 x86_64 eventide 3.7.13 3.7.13 Precision Time Align juce arm64 x86_64 eventide 3.7.13 3.7.13 UltraChannel juce arm64 x86_64 eventide 3.7.13 3.7.13 ... BC FreqAnalyst 2 AAX(Stereo) pns arm64 x86_64 bluecataudio 2.42 2.42 Dither juce arm64 x86_64 avid 22.12.0.326 22.12.0d326 AIRStereoWidth x86_64 wizoo 1.2.0.18799 1.2.0.18799 Saturation Knob x86_64 softube 2.5.55 (b10267 ab56621 2.5.55 BC Triple EQ 4 AAX(Stereo) pns arm64 x86_64 bluecataudio 4.44 4.44 BF-3A juce arm64 x86_64 avid 22.12.0.7 22.12.0d7 Melodyne arm64 x86_64 celemony 5.3.0 5.3.0.011 Trim juce arm64 x86_64 avid 22.12.0.326 22.12.0d326 Flanger juce arm64 x86_64 avid 22.12.0.7 22.12.0d7 BIAS Pedal juce x86_64 positivegrid 1.0.0 2.3.4.5549.Release ... ---------------------------------------- ---- --- ----- ------ ---- ------------------ ---------------------- ---------------------- 92 JUCE plugins out of 151 (60%) 17 PnS plugins out of 151 (11%) ---------------------------------------- ---- --- ----- ------ ---- ------------------ ---------------------- ----------------------
squz.sh -[uvhV] -[c|t]
-u |
Unused. Report on plugin files in the "Unused" plugin folder instead of the standard plugin folder. |
-v |
Verbose. Also displays plugin architecture, plugin manufacturer, and version. |
-h |
Help. Displays this help/usage information. |
-V |
Version. Display the version of squz.sh and exit. |
-c |
Comma. Output comma-separated values (CSV) suitable for importing into spreadsheets. Each field is double quoted. |
-t |
Tabs. Output tab-separated values suitable for importing into spreadsheets. Each field is double quoted. |
JUCE is a popular framework for multi-platform audio plugin development. Many plugin developers utilize JUCE to develop AU, VST, and AAX plugins with minimal porting effort between plugin types. With the transition of Avid Pro Tools to natively support Apple silicon it has become interesting to understand which AAX plugin vendors are using JUCE and if that overall seems to allow developers to migrate to native Apple silicon AAX support faster than other developers.
JUCE is owned by Pace, the company that also develops iLok products.
squz also prints if a plugin appears to have been build using Blue Cat Plug 'n Script (PNS) tooling. It does this by detecting the case insensitive occurrence of 'AngelScript' string.
The rows are sorted in default find(1)/filesystem order, which is likely not helpful. It's better to sort the output using a separate script or to load the CVS or tab-separated output into a spreadsheet and sort there.
This script may not correctly detect if plugins were developed using JUCE or Plug 'n Script or not. It might be possible for a developer to remove/obfuscate any strings, although that seems unlikely. Using strings like this is likely the easiest way to detect plugins using JUCE, for example there does any JUCE linker symbols visible in the plugins.
If Waves Audio plugins are installed the WaveShell will be listed as if it is a separate plugin.
The plugin version is from the plugin's plist CFBundleVersion value. The plugin short version is from the plugin's plist CFBundleShortVersionString value. With Apple software CFBundleShortVersionString is supposed to represent the marketing version of a released product, and CFBundleIdentifier is intended for internal software development use, but not all vendors follow this.
The plugin manufacturer name is derived from the
The previous versions of this script misidentified Softube AAX plugins as supporting arm64 when they did not. This was fixed in version 1.1.2.
squz.sh is licensed under the MIT open source license. See the script source for details.