AbstractAbstractgetReturns the CanvasDrawer objects used in the layout.
AbstractgetAbstractgetReturns the note trackers used for this layout. Lume will call this method first when building a layout. For simple layouts, this method will only return a single note tracker with no filter.
NoteTracker objects are processed separately from the other components as Lume needs direct access to the trackers to update them when processing the MIDI file.
A layout stores the data necessary to generate a visualizer in Lume. It returns the graphical components that make up the visualizer, along with the format it uses to process notes.
Classes which extend Layout should be stateless -- all methods should run the same given the same input.