Lumiera  0.pre.03
»edit your freedom«
track-head-widget.cpp File Reference

Go to the source code of this file.

Description

Implementation details regarding display of the track heads within the timeline UI.

Layout arrangement for the »Patchbay«

In Lumiera, »Tracks« are arranged as a system of nested scopes. The TrackHeadWidget thus has to reflect this nested structure, which can be achieved by recursively nesting further TrackHeadWidget instances. The header and »patchbay« for each scope is implemented as a Gtk::Grid widget, with initially three rows:

  • a row holding the Track Header label and menu (actually an ElementBoxWidget)
  • a row corresponding to the content area of the track itself, to hold the controls for this track's scope, i.e. the track together with all nested sub-tracks.
  • a padding row to help synchronising track head and track body display. Additional sub-Tracks are added as additional lines to the grid, while deeper nested sub-Tracks will be handled by the corresponding nested TrackHeadWidget. The column to the left side will be increased accordingly to display the nested fork structure.
Todo:
as of 1/2023, the basic structure was (finally) settled and the painting of vertical space allocation looks correct up to ± 1px, when testing with various margin, border and padding settings in the CSS.

Definition in file track-head-widget.cpp.

Namespaces

 stage
 Lumiera GTK UI implementation root.
 
 stage::timeline
 The timeline display and editing operations.