The structure of the LMMS core
Last updated
Was this helpful?
Last updated
Was this helpful?
There are some important C++ classes in the LMMS codebase. Here are some examples:
LmmsCore
(also known as Engine
): Holds the instances of other important classes, e.g. Song
, AudioEngine
, PatternStore
, Mixer
.
Song
: Controls the playback. Also works as a top-level container of LMMS projects.
AudioEngine
: Renders audio independently of audio backends. Also manages audio backends and MIDI interfaces.
PlayHandle
: Manages objects that plays sound, ex. notes, instruments, sample clips.
AudioDevice
: Base class for audio backends.
Model
: Models in sense of
AutomatableModel
: Model
s which can be controlled by Controller
s and/or AutomationPattern
s, e.g. BoolModel
, IntModel
, FloatModel
.
Track
: Base class for various types of tracks, including AutomationTrack
, BBTrack
, InstrumentTrack
, and SampleTrack
.
Plugin
: Base class for LMMS plugins(instruments and effects). For details on LMMS plugins, see the plugin system section.
Instrument
: Generates audio signal from notes(from note clips or external MIDI inputs)
Effect
: Transforms audio signal