The arranger widget is a canvas that draws all the arranger objects it contains.
- ArrangerWidgetType type
- Type of arranger this is.
- double last_offset_x
- Used when dragging.
- double start_x
- X-axis coordinate at start of drag.
- double start_y
- Y-axis coordinate at start of drag.
- double start_pos_px
- X-axis coordinate at the start of the drag, in pixels.
- bool drag_update_started
- Whether a drag update operation started.
- int earliest_obj_exists
- Whether an object exists, so we can use the earliest_obj_start_pos.
- Position earliest_obj_start_pos
- Start Position of the earliest object at the start of the drag.
- ArrangerObject* start_object
- The object that was clicked in this drag cycle, if any.
- ArrangerObject* hovered_object
- Object currently hovered.
- int start_object_was_selected
- Whether the start object was selected before drag_begin.
- ArrangerSelections* sel_at_start
- A clone of the ArrangerSelections on drag begin.
- ZRegion* region_at_start
- Region on drag begin, if editing automation.
- ArrangerSelections* sel_to_delete
- Selections to delete, used with the eraser tool.
- Position start_pos
- Start Position of the earliest object currently.
- double curr_ticks_diff_from_start
- The absolute (not snapped) current diff in ticks from the curr_pos to the start_pos.
- double adj_ticks_diff
- The adjusted diff in ticks to use for moving objects starting from their cached start positions.
- double last_adj_ticks_diff
- adj_ticks_diff in last cycle.
- Position curr_pos
- The absolute (not snapped) Position as of the current action.
- Position end_pos
- for moving regions
- double hover_x
- Current hovering positions.
- int n_press
- Number of clicks in current action.
- SnapGrid* snap_grid
- Associated SnapGrid.
- int shift_held
- Whether shift button is held down.
- int ctrl_held
- Whether Ctrl button is held down.
- int alt_held
- Whether Alt is currently held down.
- int visible_track_diff
- The number of visible tracks moved during a moving operation between tracks up to the last cycle.
- int lane_diff
- The number of lanes moved during a moving operation between lanes, up to the last cycle.
- int is_pinned
- Whether this TimelineArrangerWidget is for the PinnedTracklist or not.
- int resizing_range
- 1 if resizing range.
- int resizing_range_start
- 1 if this is the first call to resize the range, so range1 can be set.
- int hovered_note
- Cache for chord object height, used during child size allocation.
- int start_vel_val
- int vel_diff
- Maximum Velocity diff applied in this action.
- int hovered_chord_index
- Index of the chord being hovered on.
- int last_playhead_px
- Px the playhead was last drawn at, so we can redraw this and the new px only when the playhead changes position.
- int redraw
- Set to 1 to redraw.
- GdkRectangle last_rect
- Rectangle in the last call.
- bool can_link
- Whether the current selections can link (ie, only regions are selected).
- bool is_highlighted
- Whether a rectangle is highlighted for DND.
- GdkRectangle highlight_rect
- The rectangle to highlight.
- guint drag_start_btn
- Drag start button (primary, secondary, etc.).
- bool first_draw
- Whether this is the first time the widget is drawn.
- PangoLayout* ap_layout
- Layout for drawing automation point text.
Whether a drag update operation started.
drag_update will be skipped unless this is true or gtk_drag_check_threshold() returns true.
Cache for chord object height, used during child size allocation.
The note currently hovering over
Whether the current selections can link (ie, only regions are selected).
To be set on drag begin.
Drag start button (primary, secondary, etc.).
Can be tested against GDK_BUTTON_SECONDARY and GDK_BUTTON_PRIMARY.
Whether this is the first time the widget is drawn.
This is used for loading back the scroll positions saved in the project.