Thanks, Jean! This is cool! Not that I would do anything with it, but it sure is nice to know that there seems to be no limit to what Lilypond can do :-)
On Thu, Apr 14, 2022 at 1:18 PM Jean Abou Samra <j...@abou-samra.fr> wrote: > > > > Le 14/04/2022 à 21:58, Kenneth Wolcott a écrit : > > Hi; > > > > Off-topic: What do you guys think of the upside-down music? > > > > On youtube: > > > > https://www.youtube.com/channel/UCrLBkLxyE7T1cyv_4ykGTrg > > > > Upside-down Scores > > > > Example: > > Für Elise Upside-down (new version, with Score) > > https://www.youtube.com/watch?v=q2vsAua8FxM > > > > How is this done? Can this be done with Lilypond? Just curious.. > > > > Amusing... > > > > Ken Wolcott > > \version "2.22.2" > > upsideDown = > #(define-music-function (music) (ly:music?) > (for-some-music > (lambda (m) > (let ((p (ly:music-property m 'pitch #f))) > (if p > (let ((n (ly:pitch-transpose #{ cis' #} (ly:pitch-diff #{ > des' #} p)))) > (ly:music-set-property! m 'pitch n)))) > #f) > music) > music) > > RH = \relative { > \time 3/8 > \partial 8 > e''16 dis > e dis e b d c > a8 r16 c, e a > b8 r16 e, gis b > c8 r16 > } > > LH = \relative { > \time 3/8 > \partial 8 > s8 > s4. > a,16 e' a r r8 > e,16 e' gis r r8 > a,16[ e' a] > } > > > \score { > \header { > piece = "Lettre à Élise" > } > << > \new Staff \RH > \new Staff { \clef bass \LH } > >> > } > > \score { > \header { > piece = \markup \scale #'(1 . -1) "Lettre à Élise" > } > \upsideDown << > \new Staff { \key bes \major \LH } > \new Staff { \clef bass \key bes \major \RH } > >> > } > > > >