Guides for developers
GitHub repositoryHomepage
  • Getting started
  • Core
    • Glossary
    • The structure of the LMMS core
      • Initializations and cleanups
        • For core
      • Accessing to core classes
    • The structure of an LMMS project
    • Tracks and track containers
      • Tracks and clips
      • Track containers
    • The pattern system
    • Play handles
      • NotePlayHandle
      • InstrumentPlayHandle
      • SamplePlayHandle
    • Instruments
      • The type of instruments
      • Processing in instruments
        • Per-note processing
    • Audio effects
    • Automation and controllers
      • Automation
        • Processing automation
      • Controllers
    • Controlling playback
    • The audio rendering engine of LMMS
      • Stage 1: collect play handles and process automation
      • Stage 2: render notes and instruments
      • Step 3: mix and master
    • Threading and synchronization
    • Data serialization
      • Overview
      • Relevant classes
      • Upgrading data files
    • Internal routing of events and signals
      • Audio signals
      • MIDI events
    • Audio and MIDI I/O
      • Supported backends and features
  • GUI
    • The initialization process of LMMS GUI
    • UI components of LMMS
  • Build system
    • CMake and LMMS
    • Source directory structure
    • Useful variables/macros
  • Plugin system
    • Plugin types
    • Plugin API
      • Sub-plugin API
    • Loading plugins from LMMS
  • Unit tests
    • Writing unit tests
Powered by GitBook
On this page
  • Before mixing and mastering
  • Mixing and mastering

Was this helpful?

  1. Core
  2. Internal routing of events and signals

Audio signals

Before mixing and mastering

AudioPort collects signals from audio sources(currently, PlayHandles only) connected to it, apply audio effects, and provide the final result to its consumers.

The effects added to an instrument itself are processed by the AudioPort associated to the instrument.

Mixing and mastering

At the mix & master stage of the audio rendering, Mixer is responsible to processing and routing signals. AudioPorts provide audio signals to the assigned channel using Mixer::mixToChannel(). Routing between audio channels are handled in MixerChannel::doProcessing().

PreviousInternal routing of events and signalsNextMIDI events

Last updated 2 years ago

Was this helpful?