Karya, built on 2020-11-26T21:03:17 (patch 23b5be2d53a9e8e7d6136cda5aae2849abe5cded)
Safe HaskellNone




pull_up :: Ui.M m => BlockId -> TrackId -> m Meter.LabeledMeter Source #

Extract the meter marklists from the sub-blocks called on the given track and concatenate them.

push_down Source #


:: Ui.M m 
=> Bool

Whether or not it's an error if there are block calls which are not 1:1. I can't tell if that's an error or not, but the user should know if it's supposed to be a "score" block.

TODO Optionally I could scale the ruler for non-1:1 callees.

-> BlockId 
-> TrackId 
-> m [BlockId]

modified children

The inverse of pull_up: find callee blocks, and copy the ruler from the given block to them. This sets the Ruler.config_start_measure appropriately, so subsequent modifications should keep the measure numbers.

If a block is called more than once, it will get the measure number from the first occurrence.

Since this has to modify multiple blocks, it does the modification itself instead of returning the new meter like pull_up.