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

A custom settings tab this plugin contributes to the host's Settings UI. More...

#include <processor.hpp>

Public Types

using ViewDeleter = void (*)(view::View*)

Public Member Functions

 SettingsSection () noexcept
 SettingsSection (std::string title, std::unique_ptr< view::View > view)
 ~SettingsSection ()=default
 SettingsSection (SettingsSection &&) noexcept=default
SettingsSection & operator= (SettingsSection &&) noexcept=default
 SettingsSection (const SettingsSection &)=delete
SettingsSection & operator= (const SettingsSection &)=delete
std::unique_ptr< view::View > take_view ()
 Hand the view over as an ordinary owning pointer (empty if none).

Public Attributes

std::string title
 Tab label, e.g.
std::unique_ptr< view::View, ViewDeleter > view
 Tab content (built by the plugin).

Detailed Description

A custom settings tab this plugin contributes to the host's Settings UI.

(The matching virtual settings_sections() is appended at the end of this class to preserve additive-only vtable ordering.)

The view is owned through a type-erased deleter, so a SettingsSection can be constructed, moved and destroyed where view::View is incomplete: a consumer of pulp::format-core alone (the inline settings_sections() below destroys a vector of them) never needs the view layer. Only the constructor that adopts a view, and take_view(), live on the view side.

Member Typedef Documentation

◆ ViewDeleter

Constructor & Destructor Documentation

◆ SettingsSection() [1/4]

pulp::format::Processor::SettingsSection::SettingsSection ( )
inlinenoexcept

◆ SettingsSection() [2/4]

pulp::format::Processor::SettingsSection::SettingsSection ( std::string title,
std::unique_ptr< view::View > view )

◆ ~SettingsSection()

pulp::format::Processor::SettingsSection::~SettingsSection ( )
default

◆ SettingsSection() [3/4]

pulp::format::Processor::SettingsSection::SettingsSection ( SettingsSection && )
defaultnoexcept

◆ SettingsSection() [4/4]

pulp::format::Processor::SettingsSection::SettingsSection ( const SettingsSection & )
delete

Member Function Documentation

◆ operator=() [1/2]

SettingsSection & pulp::format::Processor::SettingsSection::operator= ( const SettingsSection & )
delete

◆ operator=() [2/2]

SettingsSection & pulp::format::Processor::SettingsSection::operator= ( SettingsSection && )
defaultnoexcept

◆ take_view()

std::unique_ptr< view::View > pulp::format::Processor::SettingsSection::take_view ( )

Hand the view over as an ordinary owning pointer (empty if none).

Member Data Documentation

◆ title

std::string pulp::format::Processor::SettingsSection::title

Tab label, e.g.

"Models".

◆ view

std::unique_ptr<view::View, ViewDeleter> pulp::format::Processor::SettingsSection::view

Tab content (built by the plugin).

Deleted by the deleter installed where it was adopted, so destroying it needs no view::View here.


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