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.