Package eu.bandm.music.entities
Class MStackingPlanner
java.lang.Object
eu.bandm.music.entities.MStackingPlanner
Realize a strategy when a complex denominator of a proportion (of an
event duration) requires the stacking of possibly more than one new essential brackets.
-
Nested Class Summary
-
Field Summary
Modifier and TypeFieldDescriptionprotected final MCover.CheckedParameters_divide
Parameters for the stacking and division strategies. -
Constructor Summary
ConstructorDescriptionMStackingPlanner
(MCover.CheckedParameters_divide parameters_divide) Only constructor, sets the strategical parameters. -
Method Summary
Modifier and TypeMethodDescriptiondiv_plan
(PrimeFactors pf, MTree.CheckedParameters bracketParameters) Split factor into a plan, according to global input parameters.(package private) MStackingPlanner.Plan
Central service provider; is only called when synthesizing is necessary (= to add a new alterative to "mt").
-
Field Details
-
parameters_divide
Parameters for the stacking and division strategies. Set once by constructor.
-
-
Constructor Details
-
MStackingPlanner
Only constructor, sets the strategical parameters.
-
-
Method Details
-
makePlan
Central service provider; is only called when synthesizing is necessary (= to add a new alterative to "mt").Performs a kind of spectral analysis: create a new node and memorize it for LATER insertion, add quality values to THIS Cover and re-enter rh-generation with a certain PLAN (=stacking order) for the necessary divisions. Is only called from
MCover.doSynthOrImplicit(MTree,MStackingPlanner.Plan)
.
Therefore it could be inlined, but is extracted to this class to be pluggable: A different Plan factory can be employed when callingMCover.process(MTree,Parameters_approximate,Parameters_divide,List,MStackingPlanner)
.- Parameters:
eventToProcess
- the lowest event, the END of which can not yet be processed:upto
- the last event the start of which falls into the mt/node to split From EV{eventToProcess}.end=limits[eventToProcess+1] to EV{upto}.start=limits[upto] all timepoints must be considered.mt
- the node which must be split.limits
- all timepoints.
-
div_plan
Split factor into a plan, according to global input parameters.
-