Architecture

Overview

Main NetBeans modules

Core modules

ChordLeadSheet Model classes for the chord leadsheet

Harmony Classes such as Note, Degree, TimeSignature, ChordSymbol, ChordType, Scale, etc.

Midi Various utility classes, including classes to manage drum maps

MidiMix Model classes for the MidiMix (saved as .mix file). Controls the configuration of the output synth (bank select/program change, volume, panoramic, etc.) for a given song

MusicControl Classes to control music playback (start, pause, etc.)

Rhythm Model classes for a rhythm (style).

RhythmDatabase Manage the available rhythm instances on the system

RhythmMusicGeneration Utility classes for music generation

Song Model classes for a song (saved as .sng file). A song mainly contains a ChordLeadSheet, a SongStructure and optional user phrases.

SongStructure Model classes for a SongStructure

App modules

ActiveSong Manages the active song (JJazzLab can open several songs in parallel, but only the active one is allowed to send Midi data).

CL_Editor The graphical editor for a ChordLeadSheet object.

MixConsole The graphical editor for a MidiMix object.

SongEditorManager The central place where all song editors are managed

SptEditor The graphical editor for a SongPart.

SS_Editor The graphical editor for a SongStructure object.

Plugins modules

FluidSynthEmbeddedSynth Manages the internal FluidSynth-based synth.

JJSwing A rhythm music generation engine for practicing jazz standards with a natural feel

YamJJazz A rhythm music generation engine with 2 Yamaha style-based rhythm providers

Last updated

Was this helpful?