- student: Jeffery Shivers
- mentor: Urs Liska
- organization: GNU, LilyPond
Link to project abstract: https://summerofcode.withgoogle.com/dashboard/project/4622790174965760/details/
The main goals of the project included a few smaller features which are contained in individual branches. Though it was difficult to gauge during the planning stages how much could ultimately be accomplished (and since it was likely knew features would be added to the wishlist as the project progressed, which did happen), we focused on aiming for a few main features with the reservation that they would probably contintue to be worked on after the conclusion of GSoC. The target features of editorial functions and the LaTeX package consumed most of my time during the term. Additionally, the integrated footnotes feature and some other smaller contributions to the scholarLY repository took up the rest of the time.
Here are the links to outline my work during this term. The code links also lead to the relevant explanation for each feature.
-
Editorial Functions:
- code: https://github.com/openlilylib/scholarly/tree/editorial-commands
- commits:
- pull request (merged): openlilylib/scholarly#33
- pull request (merged): openlilylib/scholarly#42
- short description: This feature allows critical changes to musical scores to be applied, toggled, and customized with either standalone hooks or integrated within scholarLY annotations. Users can define new types of editorial commands (built-in includes addition, deletion and emendation) and alter functions at any level and point within the document. Though it is implicitly loaded by the annotate module, editorial-functions can be independently loaded in projects as well.
- further comments: Though integrated into the main
annotate
module (see__main__.ily
in the annotate subdirectory), the bulk of the work for this feature was done in theeditorial-functions
subdirectory. That folder also contains feature-specific documentation that introduces current functionality.
-
LaTeX Package:
- code: https://github.com/openlilylib/scholarly/tree/initial-latex-package/latex-package
- commits:
- pull request (temporarily closed): openlilylib/scholarly#9
- short description: This branch contains the most commits from the summer workload. It has by far been the most challenging leg of the project, but is finally nearing the first publishable state. After some small changes are added, and some additional testing, version 1.0 will be officially released. The package is literately programmed, and the PDF documentation can be created using LaTeX docstrip utility. Instructions for doing so are immediately presented at the link provided above.
-
Footnote Feature:
- (changes made to
scholarly/annotate/module.ily
) - commits:
- pull request (merged): openlilylib/scholarly#28
- short description: This feature allows annotations to apply footnotes to the musical score. They communicate directly with the annotated item through the annotation interface, and users can specify exact offset of the footnote superscript. The footnote will implicity use the annotation message as text; users can also explicitly add a separate message for the footnote text.
- further comments: For documentation, see
scholarly/annotate/README.md
.
- (changes made to
-
Additional Pull Requests / Commits:
- pull request (merged): openlilylib/scholarly#43
- https://github.com/openlilylib/scholarly/commit/28b8e6c1bd89a778ed4789e21e60c722e371e291
- https://github.com/openlilylib/scholarly/commit/5a53ebbaedc8c2c25d15089b7ed4d07375e200f3
- https://github.com/openlilylib/scholarly/commit/c6e8ea1e0ac940b248a9d11dfb61475f5bfff4eb
As originally planned, this project is ongoing/growing, so these GSoC accomplishments reflect not stopping points, but rather encouraging milestones. I am excited to continue working with Urs and the rest of the team/community to help scholarLY and LilyPond grow. Once the LaTeX package is officially stabilized in the next few weeks (pending more testing and small improvements), I will publish the initial version to CTAN. If that is possible soon enough (i.e. within the next week or two), I will be able to announce that in my final GSoC-style message to the LilyPond community (on the Scores of Beauty blog, and the mailing list). Of course, my work and relationship with the community will continue to last through this still quite demanding development period, and long after that as this project grows and adapts to new features.
Thanks to Google Summer of Code, the GNU project, LilyPond, and Urs for choosing this project and allowing me (and helping me) to contribute to such an awesome resource.