aboutsummaryrefslogblamecommitdiff
path: root/music/dengoso.ly
blob: 158d05b325a6ddb29401c5bde20904b7c4d2e38f (plain) (tree)














































































































































































                                                                                     
\version "2.20.0"

\header {
  title = "Dengoso"
  composer = "João Pernambuco"
  meter = "Andante moderato" % FIXME
  copyright = \markup {
    \with-url #"https://creativecommons.org/licenses/by-sa/4.0/" \line {
      CC BY-SA 4.0
    }
  }
  tagline = \markup {
    \with-url #"https://euandre.org/music.html" \line {
      euandre.org/music.html
    }
  }
}

% \include "pestana.ly"
% FIXME: turn into a function
cWithSlash = \markup {
  \fontsize #-2 
  \combine \roman C \translate #'(0.6 . -0.4) \draw-line #'(0 . 2.0)
}

% FIXME
% str -> fret-number
pestana =
#(define-music-function (barre location str music) (string? ly:music?)
   (let ((elts (extract-named-music music '(NoteEvent EventChord))))
     (if (pair? elts)
         (let ((first-element (first elts))
               (last-element (last elts)))
           (set! (ly:music-property first-element 'articulations)
                 (cons (make-music 'TextSpanEvent 'span-direction -1)
                       (ly:music-property first-element 'articulations)))
           (set! (ly:music-property last-element 'articulations)
                 (cons (make-music 'TextSpanEvent 'span-direction 1)
                       (ly:music-property last-element 'articulations))))))
   #{
     \once \override TextSpanner.font-shape = #'upright
     \once \override TextSpanner.style = #'line
     \once \override TextSpanner.bound-details =
     #`((right
         (text . ,#{ \markup { \draw-line #'( 0 . -.5) } #})
         (Y . 0))
        (left
         (text . ,#{ \markup { \cWithSlash \fontsize #-2 #str } #})
         (Y . 0)
         (attach-dir . -4)))
     $music
   #})

globals = {
  \clef "treble_8"
  \key d \major
  \time 2/4
  \set fingeringOrientations = #'(left)
  \tempo 4 = 100
}

upper = \relative c {
  \globals

  r16 <d-0>8 <e-1>16 <fis-3> <e-1>8 <d-0>16 |
  <a'-3>8. a16 <g-1>8. g16 |
  <fis-3>8. fis16 <f-2>8. <e-1>16 |
  r2 |

  r16 d8 e16 fis e8 d16 |
  a'8. a16 g8. g16 |
  fis8. fis16 f8. e16 |
  r2 |

  <d'-2>8 \pestana #"II" { <fis,-3 a-1> fis' d16 } <e-0>~ |
  e2 |
  d8 \pestana #"II" { <fis, a> fis' d16 } e~ |
  e2 |

  \repeat volta 2 {
    \pestana #"V" {
      a16 <a,-3 d-4>8 <a d>16 r16 <g'-4>8 <fis-3>16 |
      a16 <g,-1 cis-2>8 <g cis>16 r16 <cis-2> <fis-4> <cis-2> |
    }
    <a-1 e'-0>16 <a d>8 <a cis>16^\markup { \cWithSlash \fontsize #-2 II } <a b>8 a |
    <b-0>16 <cis,-3 g'-4>8 <cis g'>16 \pestana #"II" { cis'8 <g a> } |
    
    <d'-2>16 <fis,-3 a-1>8 <fis a>16 <fis'-4>8 <a,-3 c-2> |
    <e'-0>16 <a,-2 cis-3>8 <a cis>16 r16 <g-0> <cis-3> <e-0> |
    <d gis d'>16 <d gis d'>8 <d gis d'>16 <d gis cis>8 <d gis b> |
    <e'-4>16 <cis,-2 g'-3>8 <cis g'>16 <cis g' b>8 <cis-2 g'-3 a-1> |
    
    % FIXME: map previous notes, removing fingering notation
    \pestana #"V" {
      a'16 <a, d>8 <a d>16 r16 <g'>8 <fis>16 |
      a16 <g, cis>8 <g cis>16 r16 <cis> <fis> <cis> |
    }
    <a e'>16 <a d>8 <a cis>16^\markup { \cWithSlash \fontsize #-2 II } <a b>8 a |
    <b>16 <cis, g'>8 <cis g'>16 \pestana #"II" { cis'8 <g a> } |
    
    d'16 <fis, a>8 <fis a>16 dis'8 <fis, a> |
    <e'-0>8 <b-3 d-2>16 <ais-2 cis-1> <g b e> <d'-2>( <b-0>) <g-0> |
    <fis-3> <d'-2> <a-1> <fis-3> <e-1> <cis'-2> <g-0> <e-1>
  }
  \alternative {
    { d, \pestana #"II" { a'' d fis g fis g gis } | }
    { r4 <d fis d'>^\markup {  \cWithSlash \fontsize #-2 VII } | }
  }
  \bar "||"
}

lower = \relative c {
  \globals

  % FIXME: \6 to D
  r2 |
  r8 a r a |
  r8 a r a |
  r16 <a-0>8 <b-1>16 <cis-3> <b-1>8 <a-0>16 |

  d16 r8. r4
  r8 a r a |
  r8 a r a |
  r16 a8 b16 cis b8 a16 |

  d,4. a''16 a,~ |
  a a8 b16 cis b8 a16
  d,4. a''16 a,~ |
  a a8 b16 cis b8 a16 |
  
  \repeat volta 2 {
    d,4 dis' |
    <e-3> g, |
    <fis'-3>16 fis8 fis16 fis8 fis |
    e,4 cis' |
    
    d, dis |
    <e-1> <ais-1> |
    e' e |
    a, r4 |
    
    d, <dis'-2> |
    e g, |
    fis'16 fis8 fis16 fis8 fis |
    e,4 cis' |
    
    d, fis |
    <e-4>8 r8 r4 |
    fis'8. fis16 e8. e16 |
  }
  \alternative {
    { d,2 | } 
    { d8 a' d4 | }
  }
}

staff = \new Staff <<
  \upper
  \\
  \lower
>>
  
\score {
  \staff
  \layout { }
}

\score {
  \unfoldRepeats \staff
  \midi { }
}

% duas coisas:
% marcação de cordas
% compartilhar notas entre vozes