I am trying to add improved voice stealing to a subclass of Synthesiser.
Currently if I try to override the findFreeVoice method, I can't recreate the default behavior in my subclass. In order to figure out which voice has been playing the longest, findFreeVoice needs access to noteOnTime, which is a private member of SynthesiserVoice.
Would it be possible to add a getter function to SynthesiserVoice so that subclasses of Synthesiser can easily get to this information? You've provided other similar functions for checking for key down and checking the playing note of a voice, but I also need access to noteOnTime to do this right.