Expand description
Cross-reference engine: extract plugin references from DAW project files.
Parses 11 DAW formats: Ableton (.als), REAPER (.rpp), Bitwig (.bwproject), Studio One (.song), DAWproject, FL Studio (.flp), Logic Pro (.logicx), Cubase/Nuendo (.cpr), Pro Tools (.ptx/.ptf), and Reason (.reason). Returns deduplicated lists of plugin names, manufacturers, and types.
StructsΒ§
ConstantsΒ§
- XREF_
SUPPORTED_ πEXTENSIONS - Extensions implemented in
extract_plugins(plugin cross-reference).
StaticsΒ§
- ALS_
AU_ πBLOCK_ RE - ALS_
AU_ πMFG_ RE - ALS_
AU_ πNAME_ RE - ALS_
VST2_ πBLOCK_ RE - ALS_
VST2_ πMFG_ RE - ALS_
VST2_ πNAME_ RE - ALS_
VST3_ πBLOCK_ RE - ALS_
VST3_ πMFG_ RE - ALS_
VST3_ πNAME_ RE - ARCH_
SUFFIX_ πRE - Regex to strip architecture/platform suffixes from plugin names.
- RPP_
PLUGIN_ πRE - XML_
DEVICE_ πNAME_ RE - XML_
PLUGIN_ πNAME_ RE - XML_
PLUG_ πNAME_ RE
FunctionsΒ§
- extract_
au_ πidentifiers - Extract Audio Unit identifiers from binary data. Logic stores AU plugins as 4-char codes like βaufxβ, βaumuβ, βaumfβ followed by subtype and manufacturer.
- extract_
logic_ πplugin_ names - Extract Logic Pro plugin names from binary data. Logic stores plugin names as standalone readable strings in the ProjectData binary.
- extract_
named_ πplugins - Extract plugin names that follow a marker string in binary data. Used by Cubase (.cpr) where plugins appear as βPlugin Nameβ followed by the name.
- extract_
plugin_ πfrom_ string - Try to extract a plugin reference from a single string (path or name). Handles both exact suffix match and embedded paths (e.g. βSerum.dll8β in FLP chunks).
- extract_
plugins - Extract plugin references from a DAW project file. Returns an empty vec for unsupported formats.
- extract_
plugins_ πfrom_ binary - Extract plugin references from a binary file via string scanning. Looks for paths ending in .dll, .vst3, .component, .clap, .aaxplugin
- extract_
plugins_ πfrom_ dir - Extract plugins from all files in a directory (for .logicx packages).
- extract_
plugins_ πfrom_ plist - Extract plugin names from a Logic Pro plist structure.
- extract_
plugins_ πfrom_ xml - Extract plugin names from XML using pre-compiled regex patterns.
- extract_
plugins_ πutf16le - Extract plugin references from UTF-16LE encoded strings in binary data. FL Studio and some other DAWs use UTF-16LE for internal strings.
- normalize_
plugin_ name - Normalize a plugin name for matching: lowercase, strip arch suffixes, collapse whitespace, trim.
- parse_
ableton π - Parse Ableton Live .als file (gzip-compressed XML).
- parse_
bitwig π - Parse Bitwig .bwproject file (binary β reuses shared string extraction).
- parse_
cubase π - Parse Cubase/Nuendo .cpr file (binary β string extraction + Plugin Name markers).
- parse_
dawproject π - Parse .dawproject file (ZIP containing project.xml β open standard).
- parse_
flp π - Parse FL Studio .flp file (binary chunk format). Uses binary string extraction + UTF-16LE scanning for plugin paths.
- parse_
logic π - Parse Logic Pro .logicx package (contains binary plists with plugin info).
- parse_
protools π - Parse Pro Tools .ptx/.ptf file. Note: .ptf files (Pro Tools 7-10) are XOR-encrypted and require decryption. .ptx files (Pro Tools 10+) use a different format. Both are attempted via string extraction; encrypted files will yield 0 results.
- parse_
reaper π - Parse REAPER .rpp file (plaintext).
- parse_
reason π - Parse Reason .reason file (binary β string extraction).
- parse_
studio_ πone - Parse Bitwig Studio .bwproject file (binary with embedded strings).