Uses of Class
eu.bandm.music.entities.MTree
-
Uses of MTree in eu.bandm.music.entities
Modifier and TypeFieldDescriptionprotected final MTree
MCover.MetricNotHitException.metricTree
protected final MTree
MCover.metricTree
The top-level metric tree (modelling the whole measure) as passed toMCover.process(MTree, CheckedParameters_approximate, CheckedParameters_divide, List)
.protected final MTree
MSplitter.metricTree
The growing metric tree.protected final MTree
MKinds.MKind.mtree
MTree.parent
The parent node of this tree node.Modifier and TypeFieldDescriptionMSplitter.Result.additionalProportions
Recognized dotted structures which possibly require an additional proportion.MSplitter.fromNegativeDotting
Stemend for negative dottings are inherited from the right-most merged node and must not be overwritten when summing up the durations of the morged nodes.MCover.ic
The accumulator for the result; maps (via index) events to lists of MTree nodes.MSplitter.Result.initialCoverage
The intermediately calculated IC.MTree.Printable.list
MCover.newAlts
Synthesized alternatives for nodes.MCover.newAlts
Synthesized alternatives for nodes.protected final Map<MTree,
MTree.Printable> MSplitter.Result.printables_transformed
FIXME DOCUMSplitter.Result.printed
The result: Set of the nodes, the start points of which carry a note symbol.MSplitter.Result.stemEnds
The beams of the printed note symbols.MSplitter.Result.summedDuration
Convenience cache: The duration represented by the printed note symbols coming from MXs=merging transformations.Modifier and TypeMethodDescription(package private) MTree
MTree.cloneAsAlternative()
Copying constructor.MSplitter.get_metricTree()
Returns the metric tree in its current state, as modified by all preceding metric splitting tasks.MTree.get_parent()
Return the parent node.MTree.getFollowingSibling()
Returns the node which is child of the same parent, and one position further, iff it exists, otherwise null.MTree.getPrecedingSibling()
Returns the node which is child of the same parent, and one position earlier, iff it exists, otherwise null.MTree.getTopNode()
Get the top most node to which this node is linked as a descendant.static MTree
MTree.install
(MTreeSpec mt, MTree.CheckedParameters params) Only factory method for a user to create an MTree.protected MTree
MCover.makeSyntheticAlternative
(MTree mt, int division) Search if a synthetic alternative with this division already exists, otherwise make one and memorize it for later tree insertion.protected MTree
MTree.self()
Necessary to avoid "unchecked cast" warning when returning "this" instance in the parameterized superclassMTree_
.Modifier and TypeMethodDescriptionMCover.get_ic()
Return the accumulated result, which maps events (by their index) to lists of nodes.MSplitter.Result.get_InitialCoverage()
Return the initial coverage calculated during the msplit process.Modifier and TypeMethodDescriptionabstract void
Payload method to be overridden by user.void
MKinds.add
(eu.bandm.tools.location.Location<eu.bandm.tools.util.xml.XMLDocumentIdentifier> loc, String name, MTree mtree, Map<String, String> reprs) (package private) static void
MCover.addAlternative
(MTree base, MTree alt) (package private) void
Store to the result the fact that the given arguments (node and event) are related.(package private) void
MSplitter.Result.adjustBeamsLocally
(MTree node, StemEnd se) Remove stemlets considered redundant according toparameters
.(package private) void
MSplitter.Result.countPrintedChilds
(int[] result, MTree left, MTree right) protected void
protected void
Internal worker method, called recursively depth first.protected void
Test to split the duration of one alternative (of possibly several), which all are EXPLICIT nodes (=from MTS, not synthetic).protected void
Test the sub-nodes and the alternatives of a node which is not completely in the current event interval, so some sub-nodes must be found to cover that interval.protected void
One ore more event starts lie truely in the current node's interval, partly with prime factors != 2.protected void
Here the bottom of the MTree is reached: only binary divisions are required, all other primes factors have already been realized somewhere above.protected void
MCover.doFC_synt
(MTree mt, MStackingPlanner.Plan spontPlan) Is only called if synthesizing is necessary.protected void
Main method for finding the Initial MCover; called once for the top node fromMCover.process(MTree,CheckedParameters_approximate,CheckedParameters_divide,List)
, and later repeatedly for different alternatives in the middle ofMCover.do1Alt(MTree)
.protected void
MCover.doSynthOrImplicit
(MTree mt, MStackingPlanner.Plan spontPlan) The current event interval is truely included in that of the MTree node, but there are no child nodes.protected StemEnd
MSplitter.Result.getStemEnd
(MTree node) Get the stem end (left and right long and short beams) for the given node.boolean
MTree.isFollowingSiblingOf
(MTree predec) Returns whether this node is child of the same parent as the argument, and one position further.(package private) MStackingPlanner.Plan
Central service provider; is only called when synthesizing is necessary (= to add a new alterative to "mt").protected MTree
MCover.makeSyntheticAlternative
(MTree mt, int division) Search if a synthetic alternative with this division already exists, otherwise make one and memorize it for later tree insertion.static MCover
MCover.process
(MTree metricTree, @Opt MCover.CheckedParameters_approximate parameters_approximate, @Opt MCover.CheckedParameters_divide parameters_divide, List<Rational> limits) Main entry method: Finds the lists of all completely covered and maximal nodes for a list of events.static MCover
MCover.process
(MTree metricTree, MCover.CheckedParameters_divide parameters_divide, List<Rational> limits) A standardMStackingPlanner
is used.static MCover
MCover.process
(MTree metricTree, MCover.CheckedParameters_divide parameters_divide, List<Rational> limits, MStackingPlanner stackingPlanner) Same functionality asMCover.process(MTree,CheckedParameters_divide,List)
, but a different bracket order stacking planner can be plugged in.(package private) void
protected void
MSplitter.Result.WriteOut.testOpenBrackets
(MTree start, boolean printedNode) Called for each node to open essential n-plet-brackets, iff necessary for the following duration values.abstract void
MetricConsumer.WriteOut.writeOut
(int index, MTree node, RationalDuration.DottedBaseDuration symbol, Rational proportion, StemEnd beams, boolean isSound, boolean isFirst, boolean isLast) Write out one symbol of an event.void
MSplitter.Result.Dumper.writeOut
(int index, MTree node, RationalDuration.DottedBaseDuration symbol, Rational proportion, StemEnd beams, boolean isSound, boolean isFirst, boolean isLast) abstract void
MSplitter.Result.WriteOut.writeOut
(int index, MTree node, RationalDuration.DottedBaseDuration symbol, Rational proportion, StemEnd beams, boolean isSound, boolean isFirst, boolean isLast) Write out one symbol of an event.Modifier and TypeMethodDescriptionprotected void
MTree.do_collect_genuine_beams
(StemEnd se_parent, List<MTree> subtrees) protected void
MSplitter.parseSiblingsAndDottings
(List<MTree> irep, boolean isPause, Set<MTree> printThem, Map<MTree, StemEnd> stemEnds) Delivers all nodes which shall appear in the notation as a symbol, in the output set argument "printThem".protected void
MSplitter.parseSiblingsAndDottings
(List<MTree> irep, boolean isPause, Set<MTree> printThem, Map<MTree, StemEnd> stemEnds) Delivers all nodes which shall appear in the notation as a symbol, in the output set argument "printThem".protected void
MSplitter.parseSiblingsAndDottings
(List<MTree> irep, boolean isPause, Set<MTree> printThem, Map<MTree, StemEnd> stemEnds) Delivers all nodes which shall appear in the notation as a symbol, in the output set argument "printThem".(package private) void
MSplitter.splitDots_withBeams
(List<MTree> irep, Set<MTree> printThem, Map<MTree, StemEnd> stemEnds, int dotsCount, boolean dotsCountIsMax, int startPos, int endPos, boolean leftNotRight, boolean positiveDotting) Add nodes from Initial Coverage to result, representing a sequence of dotted values not exceeding maxDots.(package private) void
MSplitter.splitDots_withBeams
(List<MTree> irep, Set<MTree> printThem, Map<MTree, StemEnd> stemEnds, int dotsCount, boolean dotsCountIsMax, int startPos, int endPos, boolean leftNotRight, boolean positiveDotting) Add nodes from Initial Coverage to result, representing a sequence of dotted values not exceeding maxDots.(package private) void
MSplitter.splitDots_withBeams
(List<MTree> irep, Set<MTree> printThem, Map<MTree, StemEnd> stemEnds, int dotsCount, boolean dotsCountIsMax, int startPos, int endPos, boolean leftNotRight, boolean positiveDotting) Add nodes from Initial Coverage to result, representing a sequence of dotted values not exceeding maxDots.protected boolean
MSplitter.testForSyncopeAndHemiola
(List<MTree> irep, boolean isSound) Returns whether the node list, representing one event, can be replaced by one single symbol, due to syncope or hemiola rules.protected void
MSplitter.Result.WriteOut.x_writeOut
(int index, List<MTree> nodes, Rational currentProportion, boolean isSound, boolean isFirst, boolean isLast) A wrapper which calls the real "writeout()" for a list of nodes, which come from a cache.