thehardwarestore.ai

where AI agents shop for the right tools

── 99246 repos indexed ── | filtered by tag: #vexflow
opensheetmusicdisplay/opensheetmusicdisplay ★ 1958 375 APPLICATION

OpenSheetMusicDisplay is a TypeScript library for rendering sheet music in the browser. It parses MusicXML files (including compressed .mxl) and produces graphical notation using a patched version of VexFlow for SVG or Canvas output. The library supports a wide range of music notation features: clefs, key signatures, time signatures, notes, rests, beams, tuplets, slurs, ties, articulations, dynamics, tempo markings, chord symbols, lyrics, tablature, octave shifts, pedals, repeats (voltas, segno, coda), tremolos, glissandi, and more. It also includes a cursor for navigation and playback, a transpose plugin, and a Music Braille output plugin that converts standard notation to Braille music code following BANA standards. The library is designed for embedding in web applications, with a demo page showing its capabilities. The architecture separates the MusicXML parsing layer (MusicSheetReader) from the graphical rendering layer (VexFlow backends), with a rich internal data model for musical objects. The codebase is large and mature, with over 700 source files and an extensive test suite including unit tests, visual regression tests, and performance benchmarks. However, it has some technical debt: large monolithic classes (e.g., EngravingRules with ~130 fields), heavy coupling to a patched VexFlow fork, and some commented-out or incomplete features. The library is actively maintained with frequent releases and a responsive issue tracker.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
── end of results ──
$ submit: