Main Page: Difference between revisions

From ZMOG test wiki (master branch)
No edit summary
Line 7: Line 7:
'''''See also:''''' ''[[Score examples]].''
'''''See also:''''' ''[[Score examples]].''


This wiki is using an SVG-patched version of the Score extension; see [https://phabricator.wikimedia.org/T49578 T49578] and the [https://gitlab.com/doctorlard/mediawiki-extension-score/-/merge_requests/2/diffs patch] mirrored on GitLab. It is using LilyPond version [https://gitlab.com/lilypond/lilypond/-/releases/v2.23.82 2.23.82] (a release candidate for the 2.24 release scheduled for December 2022), which includes libcairo support for producing SVG (and PNG directly, without having to use PS and GhostScript; but one thing at a time).
Using a patched version of the Score extension to render music as SVG; see [https://phabricator.wikimedia.org/T49578 T49578] and the [https://gitlab.com/doctorlard/mediawiki-extension-score/-/merge_requests/2/diffs patch] mirrored on GitLab. LilyPond version [https://gitlab.com/lilypond/lilypond/-/releases/v2.23.82 2.23.82] (a release candidate for the 2.24 release, scheduled for December 2022) includes libcairo support for producing SVG and PNG directly, rather than via PS, GhostScript, and ImageMagick.


;Note: To yoink Lilypond snippets from Wikipedia articles, see [https://en.wikipedia.org/wiki/Special:PagesWithProp?propname=score&namespace=0 Special:PagesWithProp] and search for the "score" property in Article space.
;Note: To yoink Lilypond snippets from Wikipedia articles, see [https://en.wikipedia.org/wiki/Special:PagesWithProp?propname=score&namespace=0 Special:PagesWithProp] and search for the "score" property in Article space.
Line 31: Line 31:
Which normally generates a PNG image:
Which normally generates a PNG image:


[[File:Score.png|none|Standard PNG output, using Lilypond 2.22 --ps and GhostScript|class=mw-ext-score]]
[[File:Score.png|none|Standard PNG output, using PostScript from Lilypond 2.22 --ps rendered by GhostScript|class=mw-ext-score]]


But it now produces good SVG output:
THE PATCH produces good SVG output:


<score lang="lilypond">
<score lang="lilypond">
Line 47: Line 47:
</score>
</score>


With a PNG fall-back generated using Lilypond's built-in libcairo support. As you can see, it almost identical; I think it is slightly crisper, more fine-grained, and clearer than the GhostScript output:
With a PNG fall-back generated using Lilypond's built-in libcairo support. As you can see, it almost identical; I think it is slightly clearer and more fine-grained than the GhostScript output:


[[File:nku68xzt.png|none|New PNG output, directly using Lilypond 2.24 directly with --png and libcairo|class=mw-ext-score]]
[[File:nku68xzt.png|none|New PNG output, directly using Lilypond 2.24 directly with --png and libcairo|class=mw-ext-score]]


Cropping is done with the new LilyPond ''-dno-use-paper-size-for-page'' option ([https://lilypond.org/doc/v2.23/Documentation/usage/command_002dline-usage#advanced-command-line-options-for-lilypond docs]), which precludes having to do it the old way with an extra ImageMagick ''convert'' shell command, and achieves the same result.
Cropping is done with the new LilyPond ''-dno-use-paper-size-for-page'' option ([https://lilypond.org/doc/v2.23/Documentation/usage/command_002dline-usage#advanced-command-line-options-for-lilypond docs]), which precludes having to do it the old way with an extra ImageMagick ''convert'' shell command, and achieves the same result.

Revision as of 20:02, 3 December 2022

Welcome to a MediaWiki instance running 1.39 LTS, mainly for testing the Score extension and anything else I might be working on.

Forgive my indulgence, but I'm using the excellent skin from the Star Citizen wiki.

Score Extension

See also: Score examples.

Using a patched version of the Score extension to render music as SVG; see T49578 and the patch mirrored on GitLab. LilyPond version 2.23.82 (a release candidate for the 2.24 release, scheduled for December 2022) includes libcairo support for producing SVG and PNG directly, rather than via PS, GhostScript, and ImageMagick.

Note
To yoink Lilypond snippets from Wikipedia articles, see Special:PagesWithProp and search for the "score" property in Article space.

Here's the Wagner excerpt for contrabass trombone, from Wikipedia.

First, the score block looks like this:

 <score lang="lilypond">
 \layout { ragged-right = ##t \context { \Score \omit BarNumber } }
 \relative g {
    \override DynamicTextSpanner.style = #'none
    \override Hairpin.minimum-length = #5
    \clef bass \key c \major
    g2~ \ff g8 f8 e8. d16
    c4 b a g  f e d c4 \break
    b a g f  e1~ \dim\!  << e1~ { s2 s4 s4 \> } >>  e4 \! \p r4 r2
 }
 </score>

Which normally generates a PNG image:

Standard PNG output, using PostScript from Lilypond 2.22 --ps rendered by GhostScript

THE PATCH produces good SVG output:

Unable to obtain LilyPond version:

/bin/bash: line 1: /usr/local/bin/lilypond: No such file or directory

With a PNG fall-back generated using Lilypond's built-in libcairo support. As you can see, it almost identical; I think it is slightly clearer and more fine-grained than the GhostScript output:

New PNG output, directly using Lilypond 2.24 directly with --png and libcairo

Cropping is done with the new LilyPond -dno-use-paper-size-for-page option (docs), which precludes having to do it the old way with an extra ImageMagick convert shell command, and achieves the same result.