Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::format::vst3::ContractPlugView Class Referencefinal

#include <vst3_contract_view.hpp>

Public Types

using HostActionHandler = std::function<bool(const HostActionRequest&)>

Public Member Functions

 ~ContractPlugView () override
Steinberg::tresult PLUGIN_API isPlatformTypeSupported (Steinberg::FIDString type) override
Steinberg::tresult PLUGIN_API attached (void *parent, Steinberg::FIDString type) override
Steinberg::tresult PLUGIN_API removed () override
Steinberg::tresult PLUGIN_API onKeyDown (Steinberg::char16 key, Steinberg::int16 keyCode, Steinberg::int16 modifiers) override
Steinberg::tresult PLUGIN_API onKeyUp (Steinberg::char16 key, Steinberg::int16 keyCode, Steinberg::int16 modifiers) override
Steinberg::tresult PLUGIN_API getSize (Steinberg::ViewRect *size) override
Steinberg::tresult PLUGIN_API onSize (Steinberg::ViewRect *newSize) override
Steinberg::tresult PLUGIN_API onFocus (Steinberg::TBool state) override
Steinberg::tresult PLUGIN_API canResize () override
Steinberg::tresult PLUGIN_API checkSizeConstraint (Steinberg::ViewRect *rect) override
Steinberg::tresult PLUGIN_API setContentScaleFactor (ScaleFactor factor) override
DEFINE_INTERFACES void owner_terminated ()
 The adapter is terminating or being destroyed while the host still holds this view.
Editor * editor () const
 The editor, or null after owner_terminated().
StateStoreParamPort * param_port () const
 This view's parameter port, or null after owner_terminated().

Static Public Member Functions

static ContractPlugView * create (PulpVst3Processor &owner, Processor &processor, state::StateStore &store, EditorFactory &factory, HostActionHandler host_action)
 A view over a new editor from factory in the editor role, or null when the factory builds none.
static NativeParentKind parent_kind (Steinberg::FIDString type)
 The contract's parent kind for a VST3 platform type, or none for a type it has no kind for.
static EditorKeyEvent key_event (Steinberg::char16 key, Steinberg::int16 key_code, Steinberg::int16 modifiers, bool is_down)
 The contract's key event for a VST3 key callback.

Static Public Attributes

static constexpr int kIdleIntervalMs = ContractEditorSession::kIdleIntervalMs
 Interval of the main-thread idle tick while attached (about 60 Hz).

Member Typedef Documentation

◆ HostActionHandler

Constructor & Destructor Documentation

◆ ~ContractPlugView()

pulp::format::vst3::ContractPlugView::~ContractPlugView ( )
override

Member Function Documentation

◆ attached()

Steinberg::tresult PLUGIN_API pulp::format::vst3::ContractPlugView::attached ( void * parent,
Steinberg::FIDString type )
override

◆ canResize()

Steinberg::tresult PLUGIN_API pulp::format::vst3::ContractPlugView::canResize ( )
override

◆ checkSizeConstraint()

Steinberg::tresult PLUGIN_API pulp::format::vst3::ContractPlugView::checkSizeConstraint ( Steinberg::ViewRect * rect)
override

◆ create()

ContractPlugView * pulp::format::vst3::ContractPlugView::create ( PulpVst3Processor & owner,
Processor & processor,
state::StateStore & store,
EditorFactory & factory,
HostActionHandler host_action )
static

A view over a new editor from factory in the editor role, or null when the factory builds none.

owner is told when the view is destroyed; it calls owner_terminated() first if it goes away sooner.

◆ editor()

Editor * pulp::format::vst3::ContractPlugView::editor ( ) const
inline

The editor, or null after owner_terminated().

◆ getSize()

Steinberg::tresult PLUGIN_API pulp::format::vst3::ContractPlugView::getSize ( Steinberg::ViewRect * size)
override

◆ isPlatformTypeSupported()

Steinberg::tresult PLUGIN_API pulp::format::vst3::ContractPlugView::isPlatformTypeSupported ( Steinberg::FIDString type)
override

◆ key_event()

EditorKeyEvent pulp::format::vst3::ContractPlugView::key_event ( Steinberg::char16 key,
Steinberg::int16 key_code,
Steinberg::int16 modifiers,
bool is_down )
static

The contract's key event for a VST3 key callback.

◆ onFocus()

Steinberg::tresult PLUGIN_API pulp::format::vst3::ContractPlugView::onFocus ( Steinberg::TBool state)
override

◆ onKeyDown()

Steinberg::tresult PLUGIN_API pulp::format::vst3::ContractPlugView::onKeyDown ( Steinberg::char16 key,
Steinberg::int16 keyCode,
Steinberg::int16 modifiers )
override

◆ onKeyUp()

Steinberg::tresult PLUGIN_API pulp::format::vst3::ContractPlugView::onKeyUp ( Steinberg::char16 key,
Steinberg::int16 keyCode,
Steinberg::int16 modifiers )
override

◆ onSize()

Steinberg::tresult PLUGIN_API pulp::format::vst3::ContractPlugView::onSize ( Steinberg::ViewRect * newSize)
override

◆ owner_terminated()

DEFINE_INTERFACES void pulp::format::vst3::ContractPlugView::owner_terminated ( )

The adapter is terminating or being destroyed while the host still holds this view.

Releases every open gesture, detaches and destroys the editor (its factory belongs to the processor about to go), and answers every later call with kResultFalse.

◆ param_port()

StateStoreParamPort * pulp::format::vst3::ContractPlugView::param_port ( ) const
inline

This view's parameter port, or null after owner_terminated().

◆ parent_kind()

NativeParentKind pulp::format::vst3::ContractPlugView::parent_kind ( Steinberg::FIDString type)
static

The contract's parent kind for a VST3 platform type, or none for a type it has no kind for.

◆ removed()

Steinberg::tresult PLUGIN_API pulp::format::vst3::ContractPlugView::removed ( )
override

◆ setContentScaleFactor()

Steinberg::tresult PLUGIN_API pulp::format::vst3::ContractPlugView::setContentScaleFactor ( ScaleFactor factor)
override

Member Data Documentation

◆ kIdleIntervalMs

int pulp::format::vst3::ContractPlugView::kIdleIntervalMs = ContractEditorSession::kIdleIntervalMs
staticconstexpr

Interval of the main-thread idle tick while attached (about 60 Hz).


The documentation for this class was generated from the following file: