pub struct Manifest {Show 16 fields
pub id: String,
pub name: String,
pub version: String,
pub description: String,
pub api: u32,
pub subscribe: Vec<String>,
pub audio_formats: Vec<String>,
pub config: Option<Value>,
pub system_config: Option<Value>,
pub homepage: String,
pub repository: String,
pub authors: Vec<String>,
pub license: String,
pub page: Option<Page>,
pub contribute: Vec<Contribution>,
pub live_settings: bool,
}Expand description
Who a plugin is and what it wants — printed by plugin --describe.
Fields§
§id: StringUnique, lowercase, a-z0-9- (the registry key and the install folder).
name: StringShown in the interface.
version: StringSemver of the plugin.
description: String§api: u32The protocol version the plugin speaks (API_VERSION).
subscribe: Vec<String>Topics (topic) to receive. Nothing else is sent — or even built.
audio_formats: Vec<String>Extra audio formats (format) for call.concluded. The recorder
encodes each call once for every plugin that asks, when it can.
config: Option<Value>JSON Schema of the plugin’s settings (an object), for the settings form.
system_config: Option<Value>JSON Schema of the settings the plugin takes for each system (an object); the form repeats it under each system.
homepage: String§repository: String§license: String§page: Option<Page>A page of its own in the interface, in the navigation, for settings too many for its card (rules, destinations, …). None: its card in Setup is enough.
contribute: Vec<Contribution>Buttons it adds elsewhere in the interface, each adding an item to
its settings from what it’s on (Contribution).
live_settings: boolIt takes new settings while it runs (HostMessage::Settings):
changing its own settings doesn’t restart it, or anything else.