Another alternative (which is looking more and more
attractive to me)
is to use 'int' instead of 'void *' for VVID entries. Then you can
just use one value (-1) for "no voice" and another (-2) for "dead
VVID". Other values would be physical voice indices or whatever fits
the implementation.
It's attractive to use special values for meanings. The plugin could tell
the host that a VVID is done by setting it to a value. Same for errors.
How is this different from a plugin sending event back to the host? And
what of remote plugins? Do they have shared-memory access to the VVID table
or is it function-call based?
Tim