> The line breaks come out before the rest of the measure does. I would > expect the first line break print to appear after the third > ly2videoBar.
Are you relying on the order in which after-line-breaking callbacks are run? You shouldn't, as the order is completely undefined and has no guarantees. It should be easy enough to .sort() the result in Python to avoid the problem. If ly2video doesn't do this, it should be fixed. > I thought that putting it in \Staff context might change the behaviour, but no > prints came out. System objects, representing a whole system with possibly many staves, live on Score level (it's actually a little more complicated IIRC but this is a good approximation), so they're not affected by overrides on Staff level.