Closed atsushieno closed 10 months ago
On a related note, midi2
extension already mention LV2 URID alike and allocated the space for an 8bit space. https://github.com/atsushieno/aap-core/blob/53007c5ea44ed5049b868524a131f39961d5367c/include/aap/ext/midi.h#L37
It is being implemented in aapxs-v080
branch (but still needs URID extension design and API).
A refined task list:
endCreate()
and beginPrepare()
?)deprecated
attribute.I'm still wondering: should this be a form of "extension" ?
There can be some trick to make URID kind of things working without additional API, e.g.:
Regarding the mapping agreement:
addExtension()
Binder calls are indexedIt is now fully implemented.
Currently we do not have anything equivalent to LV2 URID. We have some string interning around AAPXS, and they were enough until AAPXS SysEx8 brought in non-interned string buffer over MIDI2 buffer.
Now, with AAPXS SysEx8, every URI lookup from the URI indicated by every AAPXS SysEx8 is done using
strcmp()
. It is not very efficient and would have big impact on realtime processing.What we should do is to have a foundation for URI to-and-from integer mapping, just like LV2 URID does. We could actually minimize the complication by having a predefined mappings for standard extension (that may hide some design flaws in the extensibility support e.g. lack of support for mapped extensions though).