Files

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