package com.tlabs.speechalyzer; import java.util.Iterator; import org.apache.log4j.Logger; import com.felix.util.FileUtil; import com.felix.util.KeyValues; import com.felix.util.SoundMixer; import com.felix.util.SoundMixer_16bit; import com.tlabs.speechalyzer.classifier.ClassificationResult; import com.tlabs.speechalyzer.classifier.IClassifier; import com.tlabs.speechalyzer.featureextract.IExtractor; /** * @version 1.0 * @author Felix Burkhardt */ public class MixAllThread extends Thread { AudioFileManager _afm; Logger _logger; KeyValues _config; boolean _isRunning=false; public MixAllThread(AudioFileManager afm, KeyValues config) { _logger = Logger.getLogger("com.tlabs.speechalyzer.MixAllThread"); _afm = afm; _config = config; } /** * called by thread.start(); */ public void run() { _isRunning = true; for (Iterator<RecFile> iter = _afm.getAudioFiles().iterator(); iter .hasNext();) { RecFile recFile = (RecFile) iter.next(); String source = recFile._path; String mix = _config.getString("mixFile"); double fac = _config.getDouble("mixFactor"); String mixExt = _config.getString("mixExtension"); String out = FileUtil.addNamePart(recFile._path, mixExt); new SoundMixer().mix(source, mix, out, fac); _logger.debug("mixing "+source+" and "+mix+" with factor "+fac+" to "+out); } System.out.println("finished mixing all files!"); _isRunning=false; } public boolean isRunning() { return _isRunning; } public void destroy() { } }