added virtual abstract Source::getNumChannels(), getSampleRateNative().  Resolves the ambiguity for subclasses when they were setting protected ivars