Architecture

Overview

Main NetBeans modules

Core modules

ChordLeadSheetarrow-up-right Model classes for the chord leadsheet

Harmonyarrow-up-right Classes such as Notearrow-up-right, Degreearrow-up-right, TimeSignaturearrow-up-right, ChordSymbolarrow-up-right, ChordTypearrow-up-right, Scalearrow-up-right, etc.

Midiarrow-up-right Various utility classes, including classes to manage drum maps

MidiMixarrow-up-right 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

MusicControlarrow-up-right Classes to control music playback (start, pause, etc.)

Rhythmarrow-up-right Model classes for a rhythm (style).

RhythmDatabasearrow-up-right Manage the available rhythm instances on the system

RhythmMusicGenerationarrow-up-right Utility classes for music generation

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

SongStructurearrow-up-right Model classes for a SongStructure

App modules

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

CL_Editorarrow-up-right The graphical editor for a ChordLeadSheetarrow-up-right object.

MixConsolearrow-up-right The graphical editor for a MidiMixarrow-up-right object.

SongEditorManagerarrow-up-right The central place where all song editors are managed

SptEditorarrow-up-right The graphical editor for a SongPartarrow-up-right.

SS_Editorarrow-up-right The graphical editor for a SongStructurearrow-up-right object.

Plugins modules

FluidSynthEmbeddedSynth arrow-up-rightManages the internal FluidSynth-based synth.

JJSwing arrow-up-rightA rhythm music generation engine for practicing jazz standards with a natural feel

YamJJazz arrow-up-rightA rhythm music generation engine with 2 Yamaha style-based rhythm providers

Last updated

Was this helpful?