[−][src]Module lv2_atom::string
String handling atoms.
This module contains two different atoms: The String
and the Literal
. The former is for simple, non-localized UTF-8 strings, like URIs or paths, and the later is either for localized text, e.g. descriptions in the user interface, or RDF literals.
Reading and writing these atoms is pretty simple: They don't require a parameter and return a either a &str
or the literal info and a &str
. Writing is done with a writing handle which can append strings to the string/literal. When dropped, the handle will append the null character, you therefore don't have to handle it on your own.
Example
use lv2_core::prelude::*; use lv2_atom::prelude::*; use lv2_atom::string::StringWriter; #[derive(PortCollection)] struct MyPorts { input: InputPort<AtomPort>, output: OutputPort<AtomPort>, } fn run(ports: &mut MyPorts, urids: &AtomURIDCollection) { let input: &str = ports.input.read(urids.string, ()).unwrap(); let mut writer: StringWriter = ports.output.init(urids.string, ()).unwrap(); writer.append(input).unwrap(); }
Specifications
http://lv2plug.in/ns/ext/atom/atom.html#String http://lv2plug.in/ns/ext/atom/atom.html#Literal
Structs
Literal | An atom containing either a localized string or an RDF literal. |
String | An atom containing a UTF-8 encoded string. |
StringWriter | Handle to append strings to a string or literal. |
Enums
LiteralInfo | The type or language URID of a literal. |