\include "italiano.ly" \header { title = "Canones diversi" subtitle = "super thema regium" composer = "J. S. Bach (1747)" tagline = "Extrait de l'Offrande musicale" } #(define ((new-stencil func) grob) (let* ((original-stencil (func grob)) (ext-y (ly:stencil-extent original-stencil Y)) (delta-y (- (cdr ext-y) (car ext-y)))) (ly:stencil-translate (ly:stencil-rotate original-stencil 180 -1 1 ) (cons 0.12 (- 0.12 delta-y delta-y ))))) #(define (reverse-music music) (let* ((elements (ly:music-property music 'elements)) (reversed (reverse elements)) (e (ly:music-property music 'element)) (span-dir (ly:music-property music 'span-direction))) (ly:music-set-property! music 'elements reversed) (if (ly:music? e) (ly:music-set-property! music 'element (reverse-music e))) (if (ly:dir? span-dir) (ly:music-set-property! music 'span-direction (- span-dir))) (map reverse-music reversed) music)) reverseMusic = #(define-music-function (parser location m) (ly:music?) (reverse-music m) ) music = \relative { \clef soprano \key do \minor \time 4/4 \override TupletBracket #'bracket-visibility = ##t \tupletUp \override Staff.TimeSignature #'stencil = #ly:text-interface::print \override Staff.TimeSignature #'text = \markup{ \huge \musicglyph #"timesig.mensural44" } do2^\markup{\bold{Canon a 2}} mib | %1 sol lab | %2 si, r4 sol'~ | %3 sol4 fad2 fa4~ | %4 fa4 mi2 mib4~ | %5 mib4 re reb do | %6 si4 sol do fa | %7 \break mib2 re | %8 do mib | %9 sol8 fa sol do sol mib re mib | %10 fa sol la si do mib,fa sol | %11 lab! re, mib fa sol fa mib re | %12 mib fa sol lab sib lab sol fa | %13 \break sol lab sib do reb sib la sol | %14 la si do re mib do si! la! | %15 si do re mib fa re sol, re' | %16 do re mib fa mib re do si | %17 do4 sol mib do | %18 \override Score.BreakAlignment #'break-align-orders = #(make-vector 3 '( left-edge ambitus breathing-sign key-cancellation staff time-signature key-signature clef staff-bar custos)) \override Staff.TimeSignature #'stencil = #ly:text-interface::print \override Staff.TimeSignature #'text = \markup{ \huge \musicglyph #"timesig.mensural24" } \override Staff.KeySignature #'glyph-name-alist = #'( (0 . "accidentals.natural") (-1/2 . "accidentals.mirroredflat") (1/2 . "accidentals.sharp") (1 . "accidentals.doublesharp") (-1 . "accidentals.flatflat") (3/4 . "accidentals.sharp.slashslash.stemstemstem") (1/4 . "accidentals.sharp.slashslash.stem") (-1/4 . "accidentals.mirroredflat") (-3/4 . "accidentals.mirroredflat.flat")) \set Staff.printKeyCancellation = ##f \override Staff.Clef #'stencil = #(new-stencil ly:clef::print) \override Staff.Clef #'full-size-change = ##t \override Staff.Clef #'Y-offset = #1.8 \override Staff.KeySignature #'Y-offset = #-1 \set Staff.keySignature = #`(((0 . 6) . ,FLAT) ((0 . 2) . ,FLAT) ((0 . 5) . ,FLAT)) \time 2/2 \clef tenor \key do \minor \bar "|" } Métronome = \drummode { \repeat unfold 18 {wbl4 wbh wbh wbh} } \score % sortie pdf { \new Staff << \new Voice \voiceOne { \music } \new Voice \voiceTwo { % \reverseMusic \music } >> \layout { \context { \Score \remove "Bar_number_engraver" } indent = 0\mm } } \score % sortie midi { << \music \reverseMusic \music \new DrumVoice \Métronome >> \midi {} } \version "2.12.2"