Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::format::aax::EditorSizePlan Struct Reference

How the editor surface reacts to the size AAX gives it. More...

#include <aax_editor.hpp>

Public Attributes

uint32_t width = 0
 size reported to the host from GetViewSize
uint32_t height = 0
uint32_t min_width = 0
 reported from GetMinimumViewSize
uint32_t min_height = 0
bool resizable = false
 host may drive a different size
bool pin_viewport = false
 pin design viewport + lock aspect
uint32_t design_width = 0
 The coordinate space the root lays out in while pinned.
uint32_t design_height = 0
float aspect_ratio = 0.0f
 host aspect lock; 0 = none

Detailed Description

How the editor surface reacts to the size AAX gives it.

Pro Tools owns the plugin window and pushes a size down through AAX_IViewContainer::SetViewSize; the editor never negotiates. The plugin's ViewSize hints decide what to do with that size, on the convention CLAP and VST3 already ship (resizable iff both minimums are non-zero):

  • fixed size (min == 0): pin the design viewport at the preferred size and lock its aspect, so an off-size host pane letterbox-scales the artwork instead of cropping it.
  • resizable with an aspect ratio: pin the viewport and lock the aspect — the imported-design path, where content scales but never distorts.
  • resizable without an aspect ratio: no viewport, no lock. The root reflows through Yoga at whatever size the host chose.

Member Data Documentation

◆ aspect_ratio

float pulp::format::aax::EditorSizePlan::aspect_ratio = 0.0f

host aspect lock; 0 = none

◆ design_height

uint32_t pulp::format::aax::EditorSizePlan::design_height = 0

◆ design_width

uint32_t pulp::format::aax::EditorSizePlan::design_width = 0

The coordinate space the root lays out in while pinned.

This is the AUTHORED box (ViewSize::design_width/height) when the plugin declares one, else the preferred size; it is the size every other adapter hands set_design_viewport through configure_native_viewport. Pinning the preferred size instead paints an authored 1320x860 tree at scale 1 into a 990x645 host frame and shows its top-left corner. Zero iff unpinned.

◆ height

uint32_t pulp::format::aax::EditorSizePlan::height = 0

◆ min_height

uint32_t pulp::format::aax::EditorSizePlan::min_height = 0

◆ min_width

uint32_t pulp::format::aax::EditorSizePlan::min_width = 0

reported from GetMinimumViewSize

◆ pin_viewport

bool pulp::format::aax::EditorSizePlan::pin_viewport = false

pin design viewport + lock aspect

◆ resizable

bool pulp::format::aax::EditorSizePlan::resizable = false

host may drive a different size

◆ width

uint32_t pulp::format::aax::EditorSizePlan::width = 0

size reported to the host from GetViewSize


The documentation for this struct was generated from the following file:
  • /home/runner/work/pulp/pulp/core/format/include/pulp/format/aax_editor.hpp