Package com.tagtraum.beatunes.analysis
Class EstimateBPM
- java.lang.Object
-
- com.tagtraum.beatunes.analysis.Task
-
- com.tagtraum.beatunes.analysis.AudioAnalysisTask
-
- com.tagtraum.beatunes.analysis.EstimateBPM
-
- All Implemented Interfaces:
TaskFactory,TaskProcessListener,TaskRunListener,Matchable,Cloneable
@Entity public class EstimateBPM extends AudioAnalysisTask
Estimate tempo task.- Author:
- Hendrik Schreiber
-
-
Field Summary
-
Fields inherited from class com.tagtraum.beatunes.analysis.Task
useOnlineResources
-
-
Constructor Summary
Constructors Constructor Description EstimateBPM()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description EstimateBPMcreateDeepCopy()This method creates a copy of the Task and its subtasks.TaskEditor<EstimateBPM>createEditor()By default instantiates a class with the namethis.getClass().getName() + "Editor".SignalProcessorcreatePipeline(AudioFileFormat audioFileFormat)booleanequals(Object obj)StringgetBpmAlgorithmClassName()com.tagtraum.audiokern.bpm.BPMRangegetBpmRange()StringgetDescription()HTML or plain text description of this task.StringgetName()HTML or plaintext name of this task.AudioClipgetRequiredClip(AudioFileFormat audioFileFormat)booleanisCompare()booleanisReplaceExistingBPM()voidprocessBefore(Task task)Process online results with this task before other tasks are invoked.voidrunBefore(Task task)Is executed before sub tasks are run.voidsetBpmAlgorithmClassName(String bpmAlgorithmClassName)voidsetBpmRange(com.tagtraum.audiokern.bpm.BPMRange bpmRange)voidsetCompare(boolean compare)voidsetReplaceExistingBPM(boolean replaceExistingBPM)booleanskip()Indicates, whether this task can be skipped.StringtoString()-
Methods inherited from class com.tagtraum.beatunes.analysis.AudioAnalysisTask
getAlgorithmName
-
Methods inherited from class com.tagtraum.beatunes.analysis.Task
add, addTaskProcessListener, addTaskRunListener, cancel, clearProperties, createTask, deepRemove, fetchCollections, getAnalysisProgress, getApplication, getAudioFileFormat, getCurrentOperation, getDeepLeafs, getDeepTaskCount, getDeepTasks, getEditor, getId, getMessagePanel, getParent, getPriority, getProperties, getProperty, getPropertyNames, getReferenceSong, getSong, getSongId, getTask, getTaskCount, getTasks, hashCode, hasSucceeded, isAvailable, isCancelled, isDeepUseOnlineResources, isFileExistedBeforeStart, isLeaf, isPaused, isProgressRelevant, isUseOnlineResources, matches, maybePause, process, processAfter, processFinally, remove, removeDeadLeaves, run, runAfter, runFinally, setAnalysisProgress, setApplication, setAudioFileFormat, setAvailable, setCurrentOperation, setId, setParent, setPaused, setPriority, setProgressRelevant, setProperties, setProperty, setReferenceSong, setSkipped, setSong, setSongId, setSucceeded, setUseOnlineResources, wasSkipped
-
-
-
-
Method Detail
-
createEditor
public TaskEditor<EstimateBPM> createEditor()
Description copied from class:TaskBy default instantiates a class with the namethis.getClass().getName() + "Editor". If that does not work (because the editor class does not exist), anEmptyTaskEditoris created. To create a meaningful editor for a configurable task, you must override this method.- Overrides:
createEditorin classTask- Returns:
- task editor for this task.
-
isCompare
public boolean isCompare()
-
setCompare
public void setCompare(boolean compare)
-
isReplaceExistingBPM
public boolean isReplaceExistingBPM()
-
setReplaceExistingBPM
public void setReplaceExistingBPM(boolean replaceExistingBPM)
-
getBpmRange
public com.tagtraum.audiokern.bpm.BPMRange getBpmRange()
-
setBpmRange
public void setBpmRange(com.tagtraum.audiokern.bpm.BPMRange bpmRange)
-
getBpmAlgorithmClassName
public String getBpmAlgorithmClassName()
-
setBpmAlgorithmClassName
public void setBpmAlgorithmClassName(String bpmAlgorithmClassName)
-
getDescription
public String getDescription()
Description copied from class:TaskHTML or plain text description of this task.- Overrides:
getDescriptionin classTask- Returns:
- description
-
getName
public String getName()
Description copied from class:TaskHTML or plaintext name of this task. Defaults to the task's classname.
-
createPipeline
public SignalProcessor createPipeline(AudioFileFormat audioFileFormat)
- Overrides:
createPipelinein classAudioAnalysisTask
-
getRequiredClip
public AudioClip getRequiredClip(AudioFileFormat audioFileFormat)
- Overrides:
getRequiredClipin classAudioAnalysisTask- Parameters:
audioFileFormat- file format of the original, potentially compressed audio file- Returns:
- the clip this algorithm actually requires
-
processBefore
public void processBefore(Task task)
Description copied from class:TaskProcess online results with this task before other tasks are invoked. Override this method, if you want to take online resources into account. Note that you will also need to setTask.setUseOnlineResources(boolean)totrue, if you want this method to be called at all.To avoid having this task processed again by
Task.runBefore(Task), you must callTask.setSucceeded(boolean)with the argumenttrue. If, for some reason, you could not take care of this task with just the available online resources, you must callTask.setSucceeded(boolean)with the argumentfalseThis method is executed before sub tasks are run. When this method is called, the methods
Task.getSong()andTask.getReferenceSong()will return meaningful results.- Specified by:
processBeforein interfaceTaskProcessListener- Overrides:
processBeforein classTask- Parameters:
task- task
-
runBefore
public void runBefore(Task task) throws AnalysisException
Description copied from class:TaskIs executed before sub tasks are run.- Specified by:
runBeforein interfaceTaskRunListener- Overrides:
runBeforein classTask- Parameters:
task- task- Throws:
AnalysisException- if this analysis step fails
-
skip
public boolean skip()
Description copied from class:TaskIndicates, whether this task can be skipped. Defaults to false.Since this task is not necessarily called by beaTunes, but by your own implementation of
Task.runBefore(Task), you should callTask.setSkipped(boolean)with whatever value you are returning.
-
createDeepCopy
public EstimateBPM createDeepCopy()
Description copied from class:TaskThis method creates a copy of the Task and its subtasks. If you added any members to your subclass you MUST override this method and provide code that copies your members.- Overrides:
createDeepCopyin classTask- Returns:
- copy
-
-