public void setVolume(float vol) {
		if (vol < 0 || vol > 1)
			logger.error(new IllegalArgumentException(),
					"Can't set to invalid volume, ", vol, " for ", this);

		masterGain = vol;
		if (masterGainSupported) {
			float newGainValue = minimumVolume + (volumeRange * masterGain);
			masterGainControl.setValue(newGainValue);
		}
	}