Either you
need to NEVER re-use a VVID, or you need to tell the host when an
ended VVID is actually re-usable. Or you need to have voice-ids allocated
by the plugin, and NOT the host, which I like more.
Having the plugins allocate them is a pain, its much easier if the host
aloocates them, and just does so from a sufficiently large pool, if you
have 2^32 host VVIDs per instrument you can just round robin them.
Why is it a pain? I think it is clean. I've never cared for the idea of
Virtual Voices. Either a voice is on, or it is not. The plugin and the
host need to agree on that.
More later - lots of email to catch up on