at.tuwien.ifs.feature.extraction.audio
Class ExtractionDispatcher

java.lang.Object
  extended by at.tuwien.ifs.feature.extraction.audio.ExtractionDispatcher

public class ExtractionDispatcher
extends java.lang.Object


Nested Class Summary
private  class ExtractionDispatcher.ExtractionWorker
           
 
Field Summary
private  long byteCount
           
private  long bytesDone
           
private  ClassAssignmentResolver classAssignmentResolver
           
private  int desiredThreadCount
           
(package private)  java.lang.StringBuilder errorLog
           
private  int fileCount
           
private  int filesDone
           
private  MainGUI gui
           
private  boolean isRunning
           
private  int itemsInProgress
           
private static int MINIMAL_THREADS
           
(package private)  int numErrors
           
private  FeatureExtractionOptions options
           
private  AbstractDataWriter[][] outputFiles
           
private  java.io.PrintStream progress
           
(package private)  long startTime
           
private  java.util.List<FeatureVectorData> todoList
           
private  boolean wasCancelled
           
private  java.util.List<ExtractionDispatcher.ExtractionWorker> workers
           
 
Constructor Summary
ExtractionDispatcher(java.util.List<FeatureVectorData> todoList, FeatureExtractionOptions options, AbstractDataWriter[][] outputFiles, boolean silent)
           
ExtractionDispatcher(java.util.List<FeatureVectorData> todoList, long byteCount, FeatureExtractionOptions options, AbstractDataWriter[][] outputFiles, boolean silent)
           
ExtractionDispatcher(java.util.List<FeatureVectorData> todoList, long byteCount, FeatureExtractionOptions options, AbstractDataWriter[][] outputFiles, boolean silent, MainGUI gui)
           
 
Method Summary
private  int adjustItemsInProgress(int change)
           
 void cancelExtraction()
           
 boolean extract(int threads)
          Start the extraction.
 FeatureVectorData getExtractionJob()
           
private  int getItemsInProgress()
           
private  void printProgressBar()
           
 void putExtractionResult(FeatureVectorData item, RealMatrixExt[] features, long fileSize, boolean error)
           
 void setDesiredThreadCount(int threads)
           
 void startThreads(int threads)
          Start additional threads
 void stopThreads(int threads)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

todoList

private java.util.List<FeatureVectorData> todoList

options

private FeatureExtractionOptions options

gui

private final MainGUI gui

workers

private java.util.List<ExtractionDispatcher.ExtractionWorker> workers

itemsInProgress

private int itemsInProgress

isRunning

private boolean isRunning

desiredThreadCount

private int desiredThreadCount

MINIMAL_THREADS

private static final int MINIMAL_THREADS
See Also:
Constant Field Values

outputFiles

private AbstractDataWriter[][] outputFiles

numErrors

int numErrors

startTime

long startTime

errorLog

java.lang.StringBuilder errorLog

progress

private final java.io.PrintStream progress

fileCount

private int fileCount

filesDone

private int filesDone

byteCount

private long byteCount

bytesDone

private long bytesDone

classAssignmentResolver

private ClassAssignmentResolver classAssignmentResolver

wasCancelled

private boolean wasCancelled
Constructor Detail

ExtractionDispatcher

public ExtractionDispatcher(java.util.List<FeatureVectorData> todoList,
                            FeatureExtractionOptions options,
                            AbstractDataWriter[][] outputFiles,
                            boolean silent)

ExtractionDispatcher

public ExtractionDispatcher(java.util.List<FeatureVectorData> todoList,
                            long byteCount,
                            FeatureExtractionOptions options,
                            AbstractDataWriter[][] outputFiles,
                            boolean silent)

ExtractionDispatcher

public ExtractionDispatcher(java.util.List<FeatureVectorData> todoList,
                            long byteCount,
                            FeatureExtractionOptions options,
                            AbstractDataWriter[][] outputFiles,
                            boolean silent,
                            MainGUI gui)
Method Detail

startThreads

public void startThreads(int threads)
Start additional threads

Parameters:
threads -

stopThreads

public void stopThreads(int threads)

setDesiredThreadCount

public void setDesiredThreadCount(int threads)

extract

public boolean extract(int threads)
Start the extraction. This method blocks until the extraction is finished!

Parameters:
threads - define how many parallel extraction jobs will be started.

getExtractionJob

public FeatureVectorData getExtractionJob()

printProgressBar

private void printProgressBar()

getItemsInProgress

private int getItemsInProgress()

adjustItemsInProgress

private int adjustItemsInProgress(int change)

putExtractionResult

public void putExtractionResult(FeatureVectorData item,
                                RealMatrixExt[] features,
                                long fileSize,
                                boolean error)

cancelExtraction

public void cancelExtraction()