Aggregator for the JudahZone project
build all: mvn -T1C -DskipTests clean install
build zone-core: mvn -pl :zone-core -am -DskipTests clean install
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.
Container for design documents
Some are listed below:
- Prism.txt
JudahZone's Thread-Safety Model - MidiSelections.txt
Coordinate Midi Editors with Midi Views - DrumSynth.txt
Homespun Drum Sounds - PianoRotate.txt
Rotate piano rolls on the axis - UserChannels.txt
Add/Remove Instruments (Jack)
The meta-zone aggregator manages the following modules:
JudahZone: The main groovebox application (mixer, sequencer, looper, effects).zone-core: Shared utilities for logging, constants, and memory management.zone-fx: Base classes and implementations for audio effects (reverb, delay, etc.).zone-gui: Common Swing GUI components and helpers.zone-scope: A real-time audio visualization toolkit (spectrogram, spectrometer, etc.).zone-javax: Wrappers for JavaSound audio input and output.zone-jnajack: JNA-based bindings for the JACK audio connection kit.zone-test: Shared utilities and fixtures for unit testing.
- Java 21 or newer (tested on OpenJDK 21).
- Maven 3.8+ (for building the project).
jack, fluidsynth, a2j.
Clone this repository to get started. All build commands can be run from the meta-zone root directory.
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).
This project aggregates multiple repositories. To contribute:
- Fork the
meta-zonerepository. - Make your changes in the appropriate module branch.
- Submit a Pull Request against the
meta-zoneaggregator. Please ensure all modules build successfully before submitting.
This project and its submodules are licensed under the GPL-3.0 License.