Use a NULL source for inactive activesources

Also only access the activesource's source field once per update.
Use an array of objects for active sources instead of pointers
Rename activesource to voice