srecord GainSoundSource(double gain, VF1<double[]> source) extends VF1<double[]> {
  *(double *gain) {}
  
  public void get(double[] lr) {
    if (source == null) ret with lr[0] = lr[1] = 0;
    source.get(lr);
    if (isNaN(lr[0])) ret;
    for i over lr: 
      lr[i] *= gain;
  }
  
  void replaceSource(VF1<double[]> source) {
    this.source = source;
  }
}