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:Models which can be controlled byControllers and/orAutomationPatterns, 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?