# LV2 URID

Features for mapping URIs to and from integers.

ID | http://lv2plug.in/ns/ext/urid
Version | 1.4
Date | 2020-04-26
Discuss | devel@lists.lv2plug.in (subscribe)

- Index
- History
- API

This extension defines a simple mechanism for plugins to map URIs to and from integers. This is usually used for performance reasons, for example for processing events with URI types in real-time audio code). Typically, plugins map URIs to integers for things they "understand" at instantiation time, and store those values for use in the audio thread without doing any string comparison. This allows for the extensibility of RDF but with the performance of integers.

This extension is intended as an improved and simplified replacement for the uri-map extension, since the `map` context parameter there has proven problematic. This extension is functionally equivalent to the uri-map extension with a NULL context. New implementations are encouraged to use this extension for URI mapping.

## Index

Instances
map unmap

## Instances

### map

Instance

Label | map
Type | lv2:Feature

A feature to map URI strings to integer URIDs.

To support this feature, the host must pass an LV2_Feature to LV2_Descriptor::instantiate() with URI LV2_URID__map and data pointed to an instance of LV2_URID_Map.

### unmap

Instance

Label | unmap
Type | lv2:Feature

A feature to unmap URIDs back to strings.

To support this feature, the host must pass an LV2_Feature to LV2_Descriptor::instantiate() with URI LV2_URID__unmap and data pointed to an instance of LV2_URID_Unmap.

## History

Version 1.4 (2012-10-14)
  - Fix typo in urid:unmap documentation.
Version 1.2 (2012-04-17)
  - Add feature struct names.
  - Merge with unified LV2 package.
Version 1.0 (2011-11-21)
  - Initial release.