Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
totally revamp synchronization algorithm for significant improvement
We now take a radically different approach to synchronization: rather than brittle heuristics in ly2video, we tweak the .ly source so that LilyPond gives us all the data we need for synchronization. For each grob, it outputs paper positions, timing, and origin within the source file. Then for each moment in which one or more grobs occur, the leftmost grob is used to determine the position at which the video frame will be focused during that moment. This is far more robust, so we no longer require special handling for ties, grace notes, chord names, chords which have note heads on either side of the stem, etc. A big thank-you to Jan for helping with this! Fixes the following issues: #5 - music written with \partial command can cause a lot of bugs #14 - articulate.ly should not have to be disabled #16 - ChordNames break synchronization #23 - \turn breaks synchronization #5 #14 #16 #23
- Loading branch information