The structure of the LMMS core
Important classes
There are some important C++ classes in the LMMS codebase. Here are some examples:
LmmsCore
(also known asEngine
): 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 Model-view-controller patternAutomatableModel
:Model
s which can be controlled byController
s and/orAutomationPattern
s, e.g.BoolModel
,IntModel
,FloatModel
.
Track
: Base class for various types of tracks, includingAutomationTrack
,BBTrack
,InstrumentTrack
, andSampleTrack
.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
Last updated
Was this helpful?