Add drag-and-drop regression test and build targets

This commit is contained in:
Armin 2026-10-04 23:58:44 +02:00
commit f28e4d37c5
7 changed files with 329 additions and 39 deletions

View file

@ -28,10 +28,15 @@ Load an audio file, slice it into regions (automatically via onset detection or
Requires CMake 3.22+ and a C++17 compiler.
```sh
make # Fetch JUCE, configure, build, and install (AU + VST3)
make # Fetch JUCE, configure, build
make install # Build, then copy the plugins to your system directories
```
Running `make` with no arguments will fetch JUCE, build Monoslicer in Release mode, copy the AU and VST3 plugins to your system directories, and trigger an Audio Unit rescan.
`make` only builds — installing to system plugin folders is opt-in via `make install`.
On macOS `make install` copies the AU to `~/Library/Audio/Plug-Ins/Components` and the VST3
to `~/Library/Audio/Plug-Ins/VST3`, then triggers an Audio Unit rescan. On Linux it copies the
VST3 bundle to `~/.vst3`.
Individual targets are also available:
@ -39,13 +44,24 @@ Individual targets are also available:
make fetch # Clone JUCE 8.0.9
make configure # CMake configure
make build # Build (Release)
make install # Install AU + VST3 to system directories
make install # Build, then install (AU + VST3 on macOS, VST3 on Linux)
```
### Tests
```sh
make test
```
Currently one suite: `Tests/DragAndDropTest.cpp` verifies that dropping an audio file
onto the editor is discovered and loaded. It uses a real native peer, so it exercises
the same code path a host does. Tests build in a separate `build-tests/` directory, so
`make` is unaffected.
### Clean
```sh
make clean
make clean # removes build/ and build-tests/
```
## Plugin Formats