code: public void setMeter(float [] newSamples)
  	{
  		if (newSamples!=null)
  		{
  			anzSamples = newSamples.length;
  			if (floatSamples==null || floatSamples.length != anzSamples) floatSamples = new float[anzSamples];
  			System.arraycopy(newSamples, 0, floatSamples, 0, anzSamples);
  			float [] resultFFTSamples = fftCalc.calculate(floatSamples);
  	        
  			for (int a=0, bd=0; bd<bands; a+=multiplier, bd++)
  	        {
  	            float wFs = resultFFTSamples[a];
  
  	            for (int b=1; b<multiplier; b++) wFs+=resultFFTSamples[a+b];
  	            wFs *= (float)FastMath.log(bd + 2);
  	            
  	            if (wFs > 1.0F) wFs = 1.0F;
  	            if (wFs>fftLevels[bd])
  	            {
  	            	fftLevels[bd]=wFs;
  					if (fftLevels[bd]>maxFFTLevels[bd])
  					{
  						maxFFTLevels[bd] = fftLevels[bd];
  						maxPeakLevelRampDownValue[bd] = maxPeakLevelRampDownDelay;
  					}
  	            }
  	        }
  		}
  		else
  		{
  			floatSamples=null;
  		}
  	}
docs: Will set new Values
  @since 06.10.2007
  @param newSamples