private void init()
		{
		if(!source.ready )	return;
		DataLine.Info info = new DataLine.Info(SourceDataLine.class, source.format);
		
		try	{
			line = (SourceDataLine) AudioSystem.getLine(info);
			line.open(source.format);
			}
		catch (LineUnavailableException e)	{	e.printStackTrace();	return;	}
		catch (Exception e)					{	e.printStackTrace();	return;	}
		
		if (line.isControlSupported(FloatControl.Type.PAN))			{	pan =	(FloatControl) line.getControl(FloatControl.Type.PAN);			}
		if (line.isControlSupported(FloatControl.Type.MASTER_GAIN))	{	gain =	(FloatControl) line.getControl(FloatControl.Type.MASTER_GAIN);	}
		
		setVolume(1);
		setBalance(0);
		
		ready=true;
		}