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 EstimateBPM
createDeepCopy()
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"
.SignalProcessor
createPipeline(AudioFileFormat audioFileFormat)
boolean
equals(Object obj)
String
getBpmAlgorithmClassName()
com.tagtraum.audiokern.bpm.BPMRange
getBpmRange()
String
getDescription()
HTML or plain text description of this task.String
getName()
HTML or plaintext name of this task.AudioClip
getRequiredClip(AudioFileFormat audioFileFormat)
boolean
isCompare()
boolean
isReplaceExistingBPM()
void
processBefore(Task task)
Process online results with this task before other tasks are invoked.void
runBefore(Task task)
Is executed before sub tasks are run.void
setBpmAlgorithmClassName(String bpmAlgorithmClassName)
void
setBpmRange(com.tagtraum.audiokern.bpm.BPMRange bpmRange)
void
setCompare(boolean compare)
void
setReplaceExistingBPM(boolean replaceExistingBPM)
boolean
skip()
Indicates, whether this task can be skipped.String
toString()
-
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:Task
By default instantiates a class with the namethis.getClass().getName() + "Editor"
. If that does not work (because the editor class does not exist), anEmptyTaskEditor
is created. To create a meaningful editor for a configurable task, you must override this method.- Overrides:
createEditor
in 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:Task
HTML or plain text description of this task.- Overrides:
getDescription
in classTask
- Returns:
- description
-
getName
public String getName()
Description copied from class:Task
HTML or plaintext name of this task. Defaults to the task's classname.
-
createPipeline
public SignalProcessor createPipeline(AudioFileFormat audioFileFormat)
- Overrides:
createPipeline
in classAudioAnalysisTask
-
getRequiredClip
public AudioClip getRequiredClip(AudioFileFormat audioFileFormat)
- Overrides:
getRequiredClip
in 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:Task
Process 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 argumentfalse
This 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:
processBefore
in interfaceTaskProcessListener
- Overrides:
processBefore
in classTask
- Parameters:
task
- task
-
runBefore
public void runBefore(Task task) throws AnalysisException
Description copied from class:Task
Is executed before sub tasks are run.- Specified by:
runBefore
in interfaceTaskRunListener
- Overrides:
runBefore
in classTask
- Parameters:
task
- task- Throws:
AnalysisException
- if this analysis step fails
-
skip
public boolean skip()
Description copied from class:Task
Indicates, 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:Task
This 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:
createDeepCopy
in classTask
- Returns:
- copy
-
-