Hi Brian,

2014-08-09 0:11 GMT+02:00 guoguocuozuoduo <brian777...@hotmail.com>:

>
> I am working on a piece that uses reversed and inverted clefs which
> indicate retrograde and inversion.
> The reversed clef is placed at the end of a line to indicate retrograde;
> the inverted clef is placed before the main clef to indicate inversion.
>

See enclosed,
HTH,
Pierre

Attachment: Brian.pdf
Description: Adobe PDF document

\version "2.18.2"

#(define-markup-command (flip layout props arg) (markup?) 
   (interpret-markup layout props
     (markup #:concat (#:null #:scale (cons -1 1) #:line (arg)))))

myBassEnd = \markup\flip {
  \score {
    \new Staff {
      \clef bass
      \key g\major
      \time 2/4
      \hideNotes
      r8
    }
    \layout { 
      \context {
        \Staff
        \override KeySignature.sharp-positions = #'((-5 . 5))
      }       
    }
  }
}

myMode = #`((0 . ,NATURAL) (1 . ,NATURAL) (2 . ,NATURAL)
    (3 . ,NATURAL) (4 . ,SHARP) (5 . ,NATURAL) (6 . ,NATURAL))

myBassStart = \markup\lower #1 {
  \score {
    \new Staff {
      \clef baritone
      \key c\myMode
      s
    }
    \layout { 
      \context {
        \Staff
        \omit StaffSymbol
        \override TimeSignature.stencil = #(lambda (grob) 
          (grob-interpret-markup grob #{ \markup\raise #1 \musicglyph #"clefs.F" #}))
      }
    }
  }
}

myTenorEnd = \markup\flip {
  \score {
    \new Staff {
      \clef tenor
      \key g\major
      \time 2/4
      \hideNotes
      r8
    }
    \layout { 
      \context {
        \Staff
        \override KeySignature.sharp-positions = #'((-5 . 5))
      }       
    }
  }
}

myTenorStart = \markup\lower #1 {
  \score {
    \new Staff {
      \clef C
      \key c\myMode
    }
    \layout { 
      \context {
        \Staff
        \omit StaffSymbol
        \override KeySignature.sharp-positions = #'((-5 . 5))
        \override TimeSignature.stencil = #(lambda (grob) 
          (grob-interpret-markup grob #{ \markup\raise #1 \musicglyph #"clefs.C" #}))
      }
    }
  }
}

\score {
  <<
    \new Staff \relative g {
      \clef bass
      \key g\major
      \override Staff.KeySignature.sharp-positions = #'((-5 . 5))
      \time 2/4
      r4
      \repeat volta 2 {
        g4 fis e d b c d g,
      }
      r4*1/2 
      \once\override Rest.stencil = #(lambda (grob) 
         (grob-interpret-markup grob myBassEnd))
      \tweak extra-offset #'(-3 . 0) r \bar ""
      \break 
      \once\override Staff.TimeSignature.break-visibility = #end-of-line-invisible
      \once\override Score.Clef.extra-offset = #'(-.8 . 0)
      \once\override Staff.Clef.stencil = #(lambda (grob) 
         (grob-interpret-markup grob myBassStart))
      \time 2/4
      r4
      \repeat volta 2 {
        g'4 fis e d b c d g,
      }
    }
    \new Staff \relative g {
      \clef tenor
      \key g\major
      \override Staff.KeySignature.sharp-positions = #'((-5 . 5))
      \time 2/4
      r4
      \repeat volta 2 {
        d4 e fis g b a g d'
      }
      r4*1/2 
      \once\override Rest.stencil = #(lambda (grob) 
         (grob-interpret-markup grob myTenorEnd))
      \tweak extra-offset #'(-3 . 0) r \bar ""
      \break
      \once\override Staff.TimeSignature.break-visibility = #end-of-line-invisible
      \once\override Staff.Clef.stencil = #(lambda (grob) 
        (grob-interpret-markup grob myTenorStart))
      \time 2/4
      r4
      \repeat volta 2 {
        d,4 e fis g b a g d'
      }
    }
  >>
  \layout {
    \context {
      \Score
      \omit SystemStartBar
      \omit BarNumber
    }
  }
}

%% for snippet only :
#(set-default-paper-size "a6" 'landscape)
\pointAndClickOff
\paper {
  tagline = ##f
  indent = 0
  ragged-right = ##t
}
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to