public Node NewFileUri(string host, string path) => Node.Get(host.Fixed(hostPtr => path.Fixed(pathPtr => Natives.lilv_new_file_uri(handle, hostPtr, pathPtr))), true);
public bool Equals(Node s2) { return(!(s2 is null) && Natives.lilv_node_equals(handle, s2.handle)); }
public Plugin GetByUri(Node node) { return(Plugin.Get(Natives.lilv_plugins_get_by_uri(Handle, node.Handle), allocator)); }
public bool Contains(Node value) => Natives.lilv_nodes_contains(Handle, value.Handle);
public static string FileUriParse(string uri, string hostName) => Marshal.PtrToStringAnsi(uri.Fixed(uriPtr => hostName.Fixed(hostNamePtr => Natives.lilv_file_uri_parse(uriPtr, hostNamePtr))));
public void DeleteState(State state) => Natives.lilv_state_delete(handle, state.Handle);
public PluginClass GetByUri(Node node) { return(PluginClass.Get(Natives.lilv_plugin_classes_get_by_uri(Handle, node.Handle))); }
public void LoadSpecifications() => Natives.lilv_world_load_specifications(handle);
public void LoadPluginClasses() => Natives.lilv_world_load_plugin_classes(handle);
public Node NewBool(bool val) => Node.Get(Natives.lilv_new_bool(handle, val), true);
public void LoadAll() => Natives.lilv_world_load_all(handle);
public Node NewFloat(float val) => Node.Get(Natives.lilv_new_float(handle, val), true);
public Node NewInt(int val) => Node.Get(Natives.lilv_new_int(handle, val), true);
public Node NewString(string s) => Node.Get(s.Fixed(ptr => Natives.lilv_new_string(handle, ptr)), true);
public State FromWorld(LV2Sharp.URIDFeature map, Node subject) => new State(Natives.lilv_state_new_from_world(handle, map.Handle, subject.Handle), allocator);
public void UnloadBundle(Node bundleUri) => Natives.lilv_world_unload_bundle(handle, bundleUri.Handle);
public State FromString(LV2Sharp.URIDFeature map, Node subject, string str) => new State(str.Fixed(ptr => Natives.lilv_state_new_from_file(handle, map.Handle, subject.Handle, ptr)), allocator);
public void UnloadResource(Node resourceUri) => Natives.lilv_world_unload_resource(handle, resourceUri.Handle);
public State StateFromString(IntPtr map, string str) => State.Get(str.Fixed(strPtr => Natives.lilv_state_new_from_string(handle, map, strPtr)), allocator);
public Node GetSymbol(Node subject) => Node.Get(Natives.lilv_world_get_symbol(handle, subject.Handle));
public static Nodes Merge(Nodes nl1, Nodes nl2) => new Nodes(Natives.lilv_nodes_merge(nl1.Handle, nl2.Handle));
public Nodes FindNodes(Node subject, Node predicate, Node obj) => new Nodes(Natives.lilv_world_find_nodes(handle, subject.Handle, predicate.Handle, obj.Handle));
public static string UriToPath(string uri) => Marshal.PtrToStringAnsi(uri.Fixed(ptr => Natives.lilv_uri_to_path(ptr)));
public Node Get(Node subject, Node predicate, Node obj) => Node.Get(Natives.lilv_world_get(handle, subject.Handle, predicate.Handle, obj.Handle));
public Node Duplicate() => new Node(Natives.lilv_node_duplicate(handle), true);
public bool Ask(Node subject, Node predicate, Node obj) => Natives.lilv_world_ask(handle, subject.Handle, predicate.Handle, obj.Handle);
public string GetPath(string hostName) => hostName.Fixed(ptr => Marshal.PtrToStringAnsi(Natives.lilv_node_get_path(handle, ptr)));
public void SetOption(Node subject, string uri, Node value) { Natives.lilv_world_set_option(handle, allocator.AddOrInterned(uri), value.Handle); }
public void Verify() => Natives.lilv_plugin_verify(handle);
public Node NewUri(string uri) => Node.Get(uri.Fixed(uriPtr => Natives.lilv_new_uri(handle, uriPtr)), true);