Maven aggregator for the JudahZone real-time audio project.
This project serves as the top-level builder and dependency manager for all modules in the JudahZone ecosystem. It ensures consistent versions, simplifies the build process, and manages the relationships between modules.
meta-zone manages the following modules:
JudahZone: The main groovebox application (mixer, sequencer, looper, effects, songs, Swing).zone-fx: stand-alone library of audio effects (reverb, filters, convolution, FFT, etc.).zone-drums: Hand-crafted drum synthesizerstaco-synth: Hand-crafted midi synthesizerszone-scope: A real-time audio visualization toolkit (spectrogram, spectrometer, RMS) and player.zone-core: Shared API, data model, and utilities for logging, constants, and memory management.zone-test: Shared utilities and fixtures for unit testing.zone-gui: Common Swing GUI components and helpers.zone-javax: Wrappers for JavaSound audio input and output.zone-jnajack: JNA-based bindings for the JACK audio connection kit.
- Java 21 or newer (tested on OpenJDK 21).
- Maven 3.8+ (for building the project).
For the full, immersive experience:
linux, jack, a2j, fluidsynth, and some live material.
Clone this repository to get started. All build commands can be run from the meta-zone root directory.
When invoking Maven from the repository root, always point at the aggregator POM and select modules by artifactId (leading-colon syntax), e.g. mvn -f meta-zone/pom.xml -pl :<artifactId> -am <goals>.
Build a Specific Module
To build a single module and its required dependencies, use the -pl (projects) and -am (also make) flags.
-
build and run the zone-scope visualizer:
mvn -pl :zone-scope -am -DskipTests clean package
java -jar ../zone-scope/zone-scope-full.jar
-
Build the
zone-fxDSP package library (useful if you only need effects tooling):mvn -pl :zone-fx -am -DskipTests clean package
-
To build the JudahZone application, full dependencies:
mvn -pl :JudahZone -am -DskipTests clean package
-
This command cleans, builds, and installs all modules in parallel. This is the recommended command for a full project build.
mvn -T1C -DskipTests clean install
• -T1C: Builds with one thread per CPU core. • -DskipTests: Skips running unit tests during the build. • clean install: Deletes previous build artifacts and installs the new artifacts into your local Maven repository (~/.m2).
Container for design documents
Some are listed below:
- Prism.txt
JudahZone's Thread-Safety Model - MidiSelections.txt
Coordinate Midi Editors with Midi Views - PianoRotate.txt
Rotate piano rolls on the axis - UserChannels.txt
Add/Remove Instruments (Jack)
This project and its submodules are licensed under the GPL-3.0 License.