Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::format::lv2_adapter Namespace Reference

Classes

struct  Lv2PortLayout
 The single definition of a Pulp LV2 plugin's port ordering. More...
struct  Lv2TimeUrids
 URIDs the time:Position decode needs, resolved once in instantiate(). More...
struct  Lv2TimePosition
 A time:Position object decoded into LV2's own units and conventions. More...
struct  PulpLv2Instance

Enumerations

enum class  Lv2PortKind {
  None , AudioIn , AudioOut , Control ,
  AtomIn , AtomOut , Latency
}
 What a host-supplied LV2 port index addresses on a Pulp instance. More...

Functions

LV2_URID_Map * find_urid_map (const LV2_Feature *const *features)
 Resolve LV2_URID_Map from a features array.
const LV2_Options_Option * find_options (const LV2_Feature *const *features)
 Resolve the options:options feature from a features array.
int max_block_length_from_options (const LV2_Options_Option *options, LV2_URID key_max_block_length, LV2_URID urid_atom_int, LV2_URID urid_atom_long, int fallback)
 Read bufsz:maxBlockLength out of a host options array.
std::string generate_plugin_ttl (const PluginDescriptor &desc, const state::StateStore &store, const std::string &uri)
std::string generate_manifest_ttl (const std::string &plugin_uri, const std::string &binary_name)

Variables

static constexpr int kMaxChannels = 8
static constexpr int kDefaultMaxBlockLength = 4096
static constexpr uint32_t kAtomPortMinimumSize = 32768
constexpr const char * kStateBlobUri = "http://pulp.audio/ns/state#blob"

Enumeration Type Documentation

◆ Lv2PortKind

What a host-supplied LV2 port index addresses on a Pulp instance.

Enumerator
None 

Outside this instance's declared port range.

AudioIn 
AudioOut 
Control 
AtomIn 
AtomOut 
Latency 

Function Documentation

◆ find_options()

const LV2_Options_Option * pulp::format::lv2_adapter::find_options ( const LV2_Feature *const * features)

Resolve the options:options feature from a features array.

Returns nullptr if the feature is absent. The returned array is terminated by a zeroed option. Exposed for unit testing.

◆ find_urid_map()

LV2_URID_Map * pulp::format::lv2_adapter::find_urid_map ( const LV2_Feature *const * features)

Resolve LV2_URID_Map from a features array.

Returns nullptr if the feature is absent. Exposed for unit testing.

◆ generate_manifest_ttl()

std::string pulp::format::lv2_adapter::generate_manifest_ttl ( const std::string & plugin_uri,
const std::string & binary_name )

◆ generate_plugin_ttl()

std::string pulp::format::lv2_adapter::generate_plugin_ttl ( const PluginDescriptor & desc,
const state::StateStore & store,
const std::string & uri )

◆ max_block_length_from_options()

int pulp::format::lv2_adapter::max_block_length_from_options ( const LV2_Options_Option * options,
LV2_URID key_max_block_length,
LV2_URID urid_atom_int,
LV2_URID urid_atom_long,
int fallback )

Read bufsz:maxBlockLength out of a host options array.

Returns fallback when options is null, the key is absent, or the value is not a positive integer. Accepts the option as atom:Int or atom:Long — hosts differ, and the spec fixes only the property, not the width. Pure; exposed for unit testing.

Variable Documentation

◆ kAtomPortMinimumSize

uint32_t pulp::format::lv2_adapter::kAtomPortMinimumSize = 32768
staticconstexpr

◆ kDefaultMaxBlockLength

int pulp::format::lv2_adapter::kDefaultMaxBlockLength = 4096
staticconstexpr

◆ kMaxChannels

int pulp::format::lv2_adapter::kMaxChannels = 8
staticconstexpr

◆ kStateBlobUri

const char* pulp::format::lv2_adapter::kStateBlobUri = "http://pulp.audio/ns/state#blob"
inlineconstexpr