AudioLab Package Contents¶
Overview¶
This document defines what files and components are included in each AudioLab release package.
Package Types¶
AudioLab distributes three package types:
- User Package - End-user plugin installers
- Developer Package - SDK for building with AudioLab
- Source Package - Complete source code archive
1. User Package Contents¶
Windows Installer (.exe)¶
Filename: AudioLab-{VERSION}-Setup-Windows-x64.exe
Contents:
AudioLab/
├── Plugins/
│ ├── VST3/
│ │ └── AudioLab.vst3/
│ │ └── Contents/
│ │ └── x86_64-win/
│ │ └── AudioLab.vst3
│ └── AAX/
│ └── AudioLab.aaxplugin/
│ └── Contents/
│ └── x64/
│ └── AudioLab.aaxplugin
├── Presets/
│ ├── Factory/
│ │ ├── Reverb/
│ │ ├── Delay/
│ │ └── Dynamics/
│ └── Templates/
├── Documentation/
│ ├── AudioLab_User_Manual.pdf
│ ├── Quick_Start_Guide.pdf
│ └── Preset_Guide.pdf
├── Licenses/
│ ├── LICENSE.txt
│ ├── THIRD_PARTY_LICENSES.txt
│ └── EULA.txt
├── Tools/
│ └── audiolab-preset-converter.exe
└── README.txt
Install Locations:
VST3: C:\Program Files\Common Files\VST3\AudioLab.vst3
AAX: C:\Program Files\Common Files\Avid\Audio\Plug-Ins\AudioLab.aaxplugin
Presets: C:\Users\{USER}\AppData\Roaming\AudioLab\Presets
Docs: C:\Program Files\AudioLab\Documentation
Registry Keys:
HKEY_LOCAL_MACHINE\SOFTWARE\AudioLab
- Version: "2.1.3"
- InstallPath: "C:\Program Files\AudioLab"
- PresetsPath: "%APPDATA%\AudioLab\Presets"
Size: ~50 MB
macOS Installer (.dmg)¶
Filename: AudioLab-{VERSION}-Setup-macOS-Universal.dmg
Contents:
AudioLab {VERSION}/
├── Install AudioLab.pkg
├── Presets/
├── Documentation/
│ ├── User Manual.pdf
│ └── Quick Start.pdf
├── Licenses/
│ ├── LICENSE.txt
│ └── THIRD_PARTY_LICENSES.txt
└── README.txt
Package Install (.pkg):
/Library/Audio/Plug-Ins/
├── VST3/
│ └── AudioLab.vst3/
│ └── Contents/
│ ├── MacOS/
│ │ └── AudioLab (Universal Binary)
│ └── Resources/
└── Components/
└── AudioLab.component/
└── Contents/
├── MacOS/
│ └── AudioLab (Universal Binary)
└── Resources/
~/Library/Application Support/AudioLab/
├── Presets/
└── Settings/
Architectures: x86_64 + arm64 (Universal Binary)
Code Signing:
Size: ~45 MB (Universal)
Linux Package (.tar.gz)¶
Filename: AudioLab-{VERSION}-Linux-x64.tar.gz
Contents:
audiolab-{VERSION}/
├── lib/
│ ├── vst3/
│ │ └── AudioLab.vst3/
│ │ └── Contents/
│ │ └── x86_64-linux/
│ │ └── AudioLab.so
│ └── lv2/
│ └── AudioLab.lv2/
│ ├── AudioLab.so
│ ├── manifest.ttl
│ └── AudioLab.ttl
├── share/
│ ├── presets/
│ ├── doc/
│ └── licenses/
├── bin/
│ └── audiolab-preset-converter
└── install.sh
Install Script:
#!/bin/bash
# Install AudioLab plugins to standard Linux locations
VST3_DIR="$HOME/.vst3"
LV2_DIR="$HOME/.lv2"
PRESETS_DIR="$HOME/.local/share/AudioLab/Presets"
mkdir -p "$VST3_DIR" "$LV2_DIR" "$PRESETS_DIR"
cp -r lib/vst3/AudioLab.vst3 "$VST3_DIR/"
cp -r lib/lv2/AudioLab.lv2 "$LV2_DIR/"
cp -r share/presets/* "$PRESETS_DIR/"
echo "AudioLab installed successfully!"
Size: ~40 MB
2. Developer Package (SDK)¶
Filename: AudioLab-SDK-{VERSION}-{PLATFORM}.zip
Contents:
AudioLab-SDK/
├── include/
│ └── audiolab/
│ ├── core/
│ ├── dsp/
│ ├── buffer/
│ └── version.hpp
├── lib/
│ ├── debug/
│ │ └── audiolab_d.lib (Windows)
│ │ └── libaudiolab_d.a (Unix)
│ └── release/
│ └── audiolab.lib (Windows)
│ └── libaudiolab.a (Unix)
├── cmake/
│ ├── AudioLabConfig.cmake
│ └── AudioLabTargets.cmake
├── examples/
│ ├── basic_processor/
│ ├── custom_effect/
│ └── CMakeLists.txt
├── docs/
│ ├── api/
│ │ └── html/ (Doxygen)
│ └── tutorials/
└── LICENSE.txt
CMake Integration:
# Find AudioLab SDK
find_package(AudioLab 2.1 REQUIRED)
# Link to your target
target_link_libraries(MyPlugin PRIVATE AudioLab::Core AudioLab::DSP)
Size: ~100 MB (with docs)
3. Source Package¶
Filename: AudioLab-{VERSION}-Source.tar.gz
Contents:
audiolab-{VERSION}/
├── 2 - FOUNDATION/
│ ├── 03_INFRA/
│ ├── 04_CORE/
│ └── 05_PLUGINS/
├── CMakeLists.txt
├── vcpkg.json
├── README.md
├── CHANGELOG.md
├── LICENSE.txt
├── CONTRIBUTING.md
├── .gitignore
└── docs/
└── BUILD.md
Build Instructions (README.md excerpt):
## Building from Source
### Prerequisites
- CMake 3.22+
- C++20 compiler (MSVC 2019+, GCC 10+, Clang 10+)
- vcpkg (for dependencies)
### Build Steps
1. git clone https://github.com/audiolab/audiolab.git
2. cd audiolab
3. cmake -B build -DCMAKE_BUILD_TYPE=Release
4. cmake --build build --config Release
5. ctest --test-dir build --config Release
Size: ~20 MB (excluding .git)
Component Breakdown¶
Binary Sizes (Approximate)¶
| Component | Windows | macOS | Linux |
|---|---|---|---|
| VST3 Plugin | 3.5 MB | 4.2 MB (Universal) | 3.8 MB |
| AU Plugin | N/A | 4.0 MB | N/A |
| AAX Plugin | 3.8 MB | 4.3 MB | N/A |
| LV2 Plugin | N/A | N/A | 3.9 MB |
Preset Library¶
Factory Presets: ~500 presets (~2 MB total)
├── Reverb/ (150 presets)
├── Delay/ (100 presets)
├── Dynamics/ (120 presets)
├── Filter/ (80 presets)
└── Templates/ (50 presets)
Documentation¶
PDF Documentation: ~15 MB total
├── User Manual (8 MB, 120 pages)
├── Quick Start Guide (2 MB, 20 pages)
├── Preset Guide (3 MB, 40 pages)
└── API Reference (2 MB, 80 pages - SDK only)
Installer-Specific Components¶
Windows (InnoSetup)¶
Additional Files:
Registry:
[Registry]
Root: HKLM; Subkey: "SOFTWARE\AudioLab"; ValueType: string; ValueName: "Version"; ValueData: "{#MyAppVersion}"
Root: HKLM; Subkey: "SOFTWARE\AudioLab"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}"
Uninstaller:
macOS (Packages)¶
Receipts:
Launch Agents (Optional):
Linux (Custom Script)¶
Desktop Entry:
[Desktop Entry]
Type=Application
Name=AudioLab Preset Manager
Exec=/usr/local/bin/audiolab-preset-manager
Icon=/usr/local/share/pixmaps/audiolab.png
Categories=AudioVideo;Audio;
Checksum Verification¶
Each package includes checksums:
SHA256SUMS.txt:
a1b2c3d4... AudioLab-2.1.3-Setup-Windows-x64.exe
e5f6g7h8... AudioLab-2.1.3-Setup-macOS-Universal.dmg
i9j0k1l2... AudioLab-2.1.3-Linux-x64.tar.gz
Verification:
# Linux/macOS
sha256sum -c SHA256SUMS.txt
# Windows (PowerShell)
Get-FileHash AudioLab-2.1.3-Setup-Windows-x64.exe -Algorithm SHA256
Version Information Embedded¶
All binaries include version information:
Windows (Resource File):
VS_VERSION_INFO VERSIONINFO
FILEVERSION 2,1,3,0
PRODUCTVERSION 2,1,3,0
FILEFLAGSMASK 0x3fL
FILEFLAGS 0x0L
FILEOS 0x40004L
FILETYPE 0x2L
BEGIN
BLOCK "StringFileInfo"
BEGIN
VALUE "CompanyName", "AudioLab Inc."
VALUE "FileDescription", "AudioLab Audio Plugin"
VALUE "FileVersion", "2.1.3.0"
VALUE "ProductName", "AudioLab"
VALUE "ProductVersion", "2.1.3"
END
END
macOS (Info.plist):
<key>CFBundleShortVersionString</key>
<string>2.1.3</string>
<key>CFBundleVersion</key>
<string>20231015.a3f8b92</string>
Exclusions (Not Included in Release)¶
The following are NOT included in user packages:
- Unit tests
- Benchmarks
- Development tools
- Debug symbols (separate package)
- Source code (separate package)
- Build scripts
- CI/CD configurations
- Git metadata
Debug Symbols Package (Optional)¶
Filename: AudioLab-{VERSION}-Symbols-{PLATFORM}.zip
Contents:
Use Case: Crash report analysis
Size: ~50-100 MB
Package Validation Checklist¶
Before releasing package:
- All plugin formats present and correct architecture
- Version numbers consistent across all files
- Code signed (Windows/macOS)
- Notarized (macOS)
- All presets load correctly
- Documentation PDFs up to date
- LICENSE files present
- Installer works on clean system
- Uninstaller removes all files
- SHA256 checksums generated and verified
- File sizes within expected ranges
Remember: Quality packaging is the first and last impression users have of your software.