The idea itself isn't stupid, but the implementation is.. let's say less
than wise.
(Consider my personal blatant bias, but...) I'd suggest taking a look at
LV2. There is a data file you can add all this information to (whatever
information you want to), without defining any APIs, changing any
This is handled in LADSPA+RDF and LV2 (aka LADSPA2) using scalePoints, eg.
http://lv2plug.in/plugins/Amp-example.lv2/amp.ttl, search for
lv2:scalePoint. That one's a silly example, but it makes the point.
Things like "-4 semitones" will be handled by a units extensions, which
will also allow host