101 lines
2.4 KiB
Markdown
101 lines
2.4 KiB
Markdown
# OPLabs LV2 Plugin Collection
|
|
|
|
A collection of LV2 audio plugins for band mixing, designed for PiPedal and
|
|
any standard LV2 host.
|
|
|
|
## Plugins
|
|
|
|
### OPLabsBandChannel
|
|
|
|
Stereo channel strip for individual instrument/voice channels.
|
|
|
|
- **URI:** `http://ourpad.casa/plugins/oplabs-band-channel#`
|
|
- **Class:** `lv2:UtilityPlugin`
|
|
- **Controls:** Volume (-60..+6 dB), Pan, Mute, Solo, Instrument type
|
|
- **Meters:** Peak level L/R
|
|
- **Features:** State save/restore
|
|
|
|
### OPLabsBandBus
|
|
|
|
Stereo bus/group processor.
|
|
|
|
- **URI:** `http://ourpad.casa/plugins/oplabs-band-bus#`
|
|
- **Class:** `lv2:UtilityPlugin`
|
|
- **Controls:** Volume (-60..+6 dB), Mute
|
|
- **Meters:** Peak level L/R
|
|
- **Features:** State save/restore
|
|
|
|
## Directory Structure
|
|
|
|
```
|
|
oplabs-lv2-plugins/
|
|
├── CMakeLists.txt # Top-level build
|
|
├── README.md
|
|
├── lv2/
|
|
│ ├── OPLabsBandChannel.lv2/ # LV2 bundle (TTL + .so)
|
|
│ │ ├── manifest.ttl
|
|
│ │ ├── OPLabsBandChannel.ttl
|
|
│ │ └── OPLabsBandChannel.so
|
|
│ └── OPLabsBandBus.lv2/ # LV2 bundle (TTL + .so)
|
|
│ ├── manifest.ttl
|
|
│ ├── OPLabsBandBus.ttl
|
|
│ └── OPLabsBandBus.so
|
|
└── src/
|
|
├── CMakeLists.txt
|
|
├── OPLabsBandChannel.cpp
|
|
├── OPLabsBandChannel.hpp
|
|
├── OPLabsBandChannel.version
|
|
├── OPLabsBandBus.cpp
|
|
├── OPLabsBandBus.hpp
|
|
└── OPLabsBandBus.version
|
|
```
|
|
|
|
## Building
|
|
|
|
```bash
|
|
# Prerequisites
|
|
sudo apt install build-essential cmake lv2-dev
|
|
|
|
# Configure and build
|
|
cd ~/projects/oplabs-lv2-plugins
|
|
cmake -B build -DCMAKE_BUILD_TYPE=Release
|
|
cmake --build build
|
|
|
|
# Verify plugins
|
|
lv2ls | grep ourpad
|
|
lv2info http://ourpad.casa/plugins/oplabs-band-channel#
|
|
lv2info http://ourpad.casa/plugins/oplabs-band-bus#
|
|
```
|
|
|
|
The `.so` files are placed directly into `lv2/OPLabsBandChannel.lv2/` and
|
|
`lv2/OPLabsBandBus.lv2/`, making each directory a self-contained LV2 bundle.
|
|
|
|
## Setup (local LV2 path)
|
|
|
|
Add the plugins to your LV2 path:
|
|
|
|
```bash
|
|
export LV2_PATH="${HOME}/projects/oplabs-lv2-plugins/lv2:${LV2_PATH}"
|
|
```
|
|
|
|
Or install system-wide:
|
|
|
|
```bash
|
|
sudo cmake --install build
|
|
```
|
|
|
|
## Deploy to PiPedal
|
|
|
|
```bash
|
|
# Copy the lv2 directory to the Pi
|
|
scp -r lv2/* pi@192.168.0.245:/home/bib/oplabs-lv2-plugins/
|
|
|
|
# On the Pi, set up the LV2 path or symlink
|
|
# ssh pi@192.168.0.245
|
|
# export LV2_PATH="/home/bib/oplabs-lv2-plugins:$LV2_PATH"
|
|
```
|
|
|
|
## License
|
|
|
|
MIT
|