Skip to content

jeffmasty/meta-zone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

meta-zone

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.

Project Structure

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 synthesizers
  • taco-synth: Hand-crafted midi synthesizers
  • zone-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.

Prerequisites

  • 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.


Build

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-fx DSP 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:


License

This project and its submodules are licensed under the GPL-3.0 License.

About

Aggregator for the JudahZone project and subs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors