← Back to Problem

LilyPond PartCombine Dynamics Fixer Plugin

A drop-in Scheme extension that patches LilyPond's partCombine function to correctly handle dynamics on empty chords by pre-processing the music expression tree, detecting empty-chord-dynamics patterns, and rewriting them into valid syntax before partCombine processes them. Users install it once, add two lines to their .ly file, and the bug disappears.

PLUGIN

9 weeks • 70% confidence

Value Proposition

Eliminates 30–60 minutes of manual workaround per affected score; no source-code editing required; works with existing LilyPond versions 2.22+; users keep their exact workflow and file structure unchanged.

Target Audience

Active LilyPond users (composers, arrangers, music publishers) who use partCombine regularly and hit this bug monthly or more

Key Features

  • Automatic detection of dynamics-on-empty-chord patterns in partCombine input
  • Transparent rewriting of malformed expressions into valid LilyPond syntax
  • Logging output showing what was fixed (for debugging and learning)
  • And more, with full implementation detail...

Tech Stack

GNU LilyPond (2.22+) Scheme/Guile (LilyPond's extension language) Text editor + Git Gumroad (distribution)
🔒

Unlock the full solution

You're seeing a preview. Unlock the complete value proposition, every feature, the full tech stack, the monetization model, and the week-by-week build roadmap, plus a downloadable PDF.

Sign up free to continue

3 free solution credits on signup

🚀

The build plan is behind the wall

Subscribers get the full monetization model, pricing strategy, and the complete week-by-week roadmap to build this.

Sign up free

Original Problem

Music notation software produces incorrect output when combining parts with dynamics on empty chords

Classical musicians and composers using LilyPond struggle with a specific technical bug where the partCombine function fails to properly handle dynamics markings that end on empty chords, resulting in malformed sheet music output. This forces users to manually edit source code or find workarounds, significantly slowing down the composition and arrangement workflow. Current solutions lack adequate documentation or built-in fixes for this edge case.

Score: 17.5%