adamjenkins / moodle-filter_sheetmusic
A Moodle text filter that renders sheet music wherever Moodle displays text, using the local_sheetmusic engine
Package info
github.com/adamjenkins/moodle-filter_sheetmusic
Type:moodle-filter
pkg:composer/adamjenkins/moodle-filter_sheetmusic
Requires
- adamjenkins/moodle-local_sheetmusic: >=0.2 <1.0
- moodle/composer-installer: ^1.0
- moodle/moodle: ^4.5 || ^5.0
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Renders sheet music wherever Moodle displays text — pages, books, forum posts, assignment descriptions, quiz questions and feedback, glossary entries.
A score is stored as the text content of a <pre> element:
<pre class="sheetmusic sheetmusic-abc">X:1 M:4/4 K:G |GABc dedB|</pre>
With the filter switched off, that source stays on the page as readable notation rather than disappearing — the content survives the plugin.
Rendered scores can also be played: the transport, the note highlighting and the synthesised
sound all come from local_sheetmusic, and this filter's part is to tell the client whether the
site allows it. See that plugin's README.
Requirements
Moodle 4.5 or later, and local_sheetmusic.
Design documents
Comments in this plugin refer to DESIGN.md, RELATIONS.md and the P0-FINDINGS-* notes by
bare name. Those are the sheet music suite's development records and are deliberately not shipped
inside the plugin: they cover all three plugins together and change on a different rhythm from the
code. RELATIONS.md in particular is the normative contract between the plugins - the stored
<pre class="sheetmusic sheetmusic-abc"> format, the engine's public module API, and the editor
and filter coupling - and is the document to read before changing either side of a boundary.
They are kept with the suite's development documentation alongside the source repositories rather than in this one.
Licence
GPL v3 or later.