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

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

public class MultipleFileExtractor
extends java.lang.Object

Copyright Vienna University of Technology

Version:
$Id: MultipleFileExtractor.java 216 2011-05-07 11:04:26Z mayer $
Author:
Thomas Lidy, Jakob Frank

Field Summary
private static java.lang.String[] DEFAULT_AUDIO_EXTENSIONS
           
private  ExtractionDispatcher dispatcher
           
private  int parallelThreads
           
(package private) static boolean verboose
           
static java.lang.String VERSION_STRING
           
 
Constructor Summary
MultipleFileExtractor()
           
MultipleFileExtractor(int extractionThreads)
           
 
Method Summary
 void cancelExtraction()
           
private static void checkFeatureExtractionOptions(FeatureExtractionOptions opt)
           
static long checkFiles(java.util.List<FeatureVectorData> fileList, java.lang.String baseDir)
           
static java.util.List<FeatureVectorData> createExtractionList(java.io.File file, FeatureExtractionOptions opt)
          extract files recursively from directory, search for standard audio extensions
static java.util.List<FeatureVectorData> createExtractionList(java.io.File file, java.lang.String[] fileExtensions, FeatureExtractionOptions opt)
          extract files recursively from directory, search for defined audio extensions provided as parameter
 void extractListOfFiles(java.util.List<FeatureVectorData> featureVectorMetaDataList, FeatureExtractionOptions opt, MainGUI graphic)
          extract features from a list of files provided by a Java List object
static java.lang.String getAbsoluteFilename(java.lang.String filename, java.lang.String baseDir)
          adds base directory at the beginning of relative filenames, only if base directory is non-null and not empty string
static long getFileList(java.io.File file, java.util.List<java.io.File> result, java.io.FileFilter filter)
          constructs a FileList from recursing a directory for files with a given list of extensions
 int getParallelThreads()
           
static java.lang.String getRelativeFilename(java.io.File file, java.lang.String baseDir)
          cuts base directory out of absolute filename
static void main(java.lang.String[] args)
           
private static void setCMDArgs(com.martiansoftware.jsap.JSAP jsap)
           
 void setParallelThreads(int parallelThreads)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

VERSION_STRING

public static final java.lang.String VERSION_STRING
See Also:
Constant Field Values

DEFAULT_AUDIO_EXTENSIONS

private static final java.lang.String[] DEFAULT_AUDIO_EXTENSIONS

verboose

static boolean verboose

parallelThreads

private int parallelThreads

dispatcher

private ExtractionDispatcher dispatcher
Constructor Detail

MultipleFileExtractor

public MultipleFileExtractor(int extractionThreads)

MultipleFileExtractor

public MultipleFileExtractor()
Method Detail

main

public static void main(java.lang.String[] args)

setCMDArgs

private static void setCMDArgs(com.martiansoftware.jsap.JSAP jsap)
                        throws com.martiansoftware.jsap.JSAPException
Parameters:
jsap -
Throws:
com.martiansoftware.jsap.JSAPException

checkFeatureExtractionOptions

private static void checkFeatureExtractionOptions(FeatureExtractionOptions opt)

createExtractionList

public static java.util.List<FeatureVectorData> createExtractionList(java.io.File file,
                                                                     FeatureExtractionOptions opt)
extract files recursively from directory, search for standard audio extensions

Parameters:
file - directory, or, if only 1 single file is to be extracted: file
opt - Feature Extraction options
Returns:
a list of FeatureVectorData containing the extracted features.

createExtractionList

public static java.util.List<FeatureVectorData> createExtractionList(java.io.File file,
                                                                     java.lang.String[] fileExtensions,
                                                                     FeatureExtractionOptions opt)
extract files recursively from directory, search for defined audio extensions provided as parameter

Parameters:
file - directory, or, if only 1 single file is to be extracted: file
fileExtensions - a string array containing file extensions for which should be searched while recursing directories
opt - Feature Extraction options
Returns:
a list of FeatureVectorData containing the extracted features.

getRelativeFilename

public static java.lang.String getRelativeFilename(java.io.File file,
                                                   java.lang.String baseDir)
cuts base directory out of absolute filename

Parameters:
file - File object of a file, given with absolute filename
baseDir - String containing base directory, with file separator at the end
Returns:
relative filename

getAbsoluteFilename

public static java.lang.String getAbsoluteFilename(java.lang.String filename,
                                                   java.lang.String baseDir)
adds base directory at the beginning of relative filenames, only if base directory is non-null and not empty string

Parameters:
filename - String containing relative filename
baseDir - String containing base directory, with file separator at the end
Returns:
String containing absolute filename (if base directory is set)

extractListOfFiles

public void extractListOfFiles(java.util.List<FeatureVectorData> featureVectorMetaDataList,
                               FeatureExtractionOptions opt,
                               MainGUI graphic)
extract features from a list of files provided by a Java List object

Parameters:
featureVectorMetaDataList - List object containing FeatureVectorData objects
opt - Feature Extraction options
graphic - reference to the main gui, may be null

checkFiles

public static long checkFiles(java.util.List<FeatureVectorData> fileList,
                              java.lang.String baseDir)

getFileList

public static long getFileList(java.io.File file,
                               java.util.List<java.io.File> result,
                               java.io.FileFilter filter)
constructs a FileList from recursing a directory for files with a given list of extensions

Parameters:
file - directory to start recursion
result - resulting List of files found
filter - a file filter used to determine the files to include in the list.
Returns:
the sum of the size of all files found in bytes

getParallelThreads

public int getParallelThreads()

setParallelThreads

public void setParallelThreads(int parallelThreads)

cancelExtraction

public void cancelExtraction()