diff options
Diffstat (limited to '')
-rw-r--r-- | TODOs.org | 16 | ||||
-rw-r--r-- | music/common.ly | 10 | ||||
-rw-r--r-- | music/dengoso.ly | 181 | ||||
-rw-r--r-- | music/guitar.ly | 33 |
4 files changed, 115 insertions, 125 deletions
@@ -2,22 +2,22 @@ :PROPERTIES: :CUSTOM_ID: tasks :END: -** TODO =dengoso.ly= [1/11] +** TODO =dengoso.ly= [8/11] :PROPERTIES: :CUSTOM_ID: 95ac1eec-1a56-47cb-b7ad-8cadf5737323 :END: - State "TODO" from [2021-01-01 ven. 22:23] - [X] use "<quarter> = 100" over "Andante moderato for =meter= -- [ ] turn =cWithSlash= into a function -- [ ] move =pestana== into shared =pestana.ly= -- [ ] use fret-number over roman string on =\pestana #"II" { }= +- [X] turn =cWithSlash= into a function +- [X] move =pestana== into shared =pestana.ly= +- [X] +use fret-number over roman string on =\pestana #"II" { }=+ - [ ] measures 21~24: map previous notes, removing fingering notation instead of repeating notes -- [ ] =\6 to D= on beginning of the song -- [ ] share notes between voices -- [ ] add string markers -- [ ] pestana over rests (measure 42) +- [X] =\6 to D= on beginning of the song +- [X] share notes between voices +- [X] add string markers +- [X] pestana over rests (measure 42) - [ ] handle optional sharp on measure 77 - [ ] add torrent for audio (and PDF?) ** TODO Generate =favicon.ico= from =favicon.svg= diff --git a/music/common.ly b/music/common.ly new file mode 100644 index 0000000..f2dddc2 --- /dev/null +++ b/music/common.ly @@ -0,0 +1,10 @@ +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 + } +} diff --git a/music/dengoso.ly b/music/dengoso.ly index f7fcf29..9b872cb 100644 --- a/music/dengoso.ly +++ b/music/dengoso.ly @@ -1,52 +1,17 @@ \version "2.20.0" \pointAndClickOff +\include "common.ly" +\include "guitar.ly" + + \header { title = "Dengoso" composer = "João Pernambuco" - 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 - } - } -} - -cWithSlash = \markup { - \fontsize #-2 - \combine \roman C \translate #'(0.6 . -0.4) \draw-line #'(0 . 2.0) + copyright = \copyright + tagline = \tagline } -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 . -2))) - $music - #}) - globals = { \clef "treble_8" \key d \major @@ -59,49 +24,44 @@ 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 | + \corda "4" <a'-3>8.\startTextSpan a16 <g-1>8. g16 | + <fis-3>8. fis16 <f-2>8. <e-1>16\stopTextSpan | r2 | r16 d8 e16 fis e8 d16 | - a'8. a16 g8. g16 | - fis8. fis16 f8. e16 | + \corda "4" a'8.\startTextSpan a16 g8. g16 | + fis8. fis16 f8. e16\stopTextSpan | r2 | - <d'-2>8 \pestana #"II" { <fis,-3 a-1> fis' d16 } <e-0>~ | + <d'-2>8 \pestanaSpan "II" <fis,-3 a-1>\startTextSpan fis' d16\stopTextSpan <e-0>~ | e2 | - d8 \pestana #"II" { <fis, a> fis' d16 } e~ | + d8 \pestanaSpan "II" <fis, a>\startTextSpan fis' d16\stopTextSpan 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> } | + \pestanaSpan "V" a16\startTextSpan <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>\stopTextSpan | + <a-1 e'-0>16 <a d>8 \pestanaSingle "II" <a cis>16 <a b>8 a | + <b-0>16 <cis,-3 g'-4>8 <cis g'>16 \pestanaSpan "II" cis'8\startTextSpan <g a>\stopTextSpan | <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> | + <e'-4>16 <cis,-2 g'-3>8 <cis g'>16 <cis g' b\2>8 <cis-2 g'-3 a-1> | - \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> } | + \pestanaSpan "V" a'16\startTextSpan <a, d>8 <a d>16 r16 <g'>8 <fis>16 | + a16 <g, cis>8 <g cis>16 r16 <cis> <fis> <cis>\stopTextSpan | + <a e'>16 <a d>8 \pestanaSingle "II" <a cis>16 <a b>8 a | + <b>16 <cis, g'>8 <cis g'>16 \pestanaSpan "II" cis'8\startTextSpan <g a>\stopTextSpan | 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 } | } + { d, \pestanaSpan "II" a''\startTextSpan d fis g fis g gis\stopTextSpan | } + { r4 \pestanaSingle "VII" <d fis d'> | } } - \bar "||" \repeat volta 2 { \key d \minor @@ -113,47 +73,43 @@ upper = \relative c { <fis-4> <c-3> <dis-1>( <fis-4>) <a-2> <fis-4> c' a | <d-4> <bes-3>( <g-0>) <d-0> <g-0> <d-0> <bes'-3>( <g-0>) | - <gis-1> <d-0> <b'-9> <gis-1> <d'-4>( <b-0>) <f'-4>( <d-1>) | - <bes'-2>( <a-1>) <g-4> <f-2> <e-1> <d-3> <cis-2> <bes-4> | + <gis-1> <d-0> <b'-9> <gis-1> <d'-4>( <b-0>) <f'-4\2>( <d-1>) | + <bes'-2>( <a-1>) <g-4> <f-2> <e-1> <d-3> <cis-2> <bes-4\4> | <a-3> a <d-4 f-2> a a a <d f> a | <g-3> g <bes-1 e-4> g g g <bes e> g | - \pestana #"III" { f, f <bes' d> f, f f <bes' d> f, } | - r \pestana #"II" { <a' cis> <a cis>( e')~ e4 } + \pestanaSpan "III" f,\startTextSpan f <bes' d> f, f f <bes' d> f,\stopTextSpan | + \pestanaSpan "II" r\startTextSpan <a' cis> <a cis>( e')~ e4\stopTextSpan - \pestana #"III" { <bes-1>16( <c-4>) <d-1> <e-4> <f-4> } <g-1> <a-3> <bes-4> | + \pestanaSpan "III" <bes-1>16(\startTextSpan <c-4>) <d-1> <e-4> <f-4>\stopTextSpan <g-1> <a-3> <bes-4> | <bes-4>( <a-3>) <gis-2> <a-3> <d-4>( <bes-1>) <g-3> <e-0> | <f-1> <d-4> <a-2> <f-3> <e-1> <cis'-2> <g-0> <e-1> } \alternative { { r <g-0> <gis-1> <a-2> r <bes-3> <a-2> <g-0> | } - { r4 <f' a d>^\markup { \cWithSlash \fontsize #-2 X } | } + { r4 \pestanaSingle "X" <f' a d> | } } \key d \major - \pestana #"V" { - a16 <a, d>8 <a d>16 r16 g'8 fis16 | - 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 | - b16 <cis, g'>8 <cis g'>16 \pestana #"II" { cis'8 <g a> } | + \pestanaSpan "V" a16\startTextSpan <a, d>8 <a d>16 r16 g'8 fis16 | + a16 <g, cis>8 <g cis>16 r16 cis fis cis\stopTextSpan | + <a e'>16 <a d>8 \pestanaSingle "II" <a cis>16 <a b>8 a | + b16 <cis, g'>8 <cis g'>16 \pestanaSpan "II" cis'8\startTextSpan <g a>\stopTextSpan | d'16 <fis, a>8 <fis a>16 fis'8 <a, c> | e'16 <a, cis>8 <a cis>16 r16 g cis e | <d gis d'>16 <d gis d'>8 <d gis d'>16 <d gis cis>8 <d gis b> | - e'16 <cis, g'>8 <cis g'>16 <cis g' b>8 <cis g' a> | + e'16 <cis, g'>8 <cis g'>16 <cis g' b\2>8 <cis g' a> | - \pestana #"V" { - a'16 <a, d>8 <a d>16 r16 g'8 fis16 | - 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 | - b16 <cis, g'>8 <cis g'>16 \pestana #"II" { cis'8 <g a> } | + \pestanaSpan "V" a'16\startTextSpan <a, d>8 <a d>16 r16 g'8 fis16 | + a16 <g, cis>8 <g cis>16 r16 cis fis cis\stopTextSpan | + <a e'>16 <a d>8 \pestanaSingle "II" <a cis>16 <a b>8 a | + b16 <cis, g'>8 <cis g'>16 \pestanaSpan "II" cis'8\startTextSpan <g a>\stopTextSpan | d'16 <fis, a>8 <fis a>16 dis'8 <fis, a> | e'8 <b d>16 <ais cis> <g b e> d'( b) g | fis d' a fis e cis' g e - r4 <d' fis d'>^\markup { \cWithSlash \fontsize #-2 VII } | + r4 \pestanaSingle "VII" <d' fis d'> | \bar "||" \key d \minor @@ -163,55 +119,48 @@ upper = \relative c { <e'-0>16 <g,-0 cis-4>8 <g cis>16 <d'-4>8 <f,-3 a-2> | <f'-2>16 <a,-3 d-4>8 <a d>16 f'8 <a, d> | - \pestana #"V" { - <e'-1>16 <a,-3 c-1>8 <a c>16 a,8 <a' c> | - <a-3>16 <c-1> <a'-4> c, } <aes-3> <b-1> <b'-4> b, | - \pestana #"V" { <a-3> <c-1> <a'-1> c, a c a' c, } | + \pestanaSpan "V" <e'-1>16\startTextSpan <a,-3 c-1>8 <a c>16 a,8 <a' c> | + <a-3>16 <c-1> <a'-4> c,\stopTextSpan <aes-3> <b-1> <b'-4> b, | + \pestanaSpan "V" <a-3>\startTextSpan <c-1> <a'-1> c, a c a' c,\stopTextSpan | <f-2> <a,-3 d-4>8 <a d>16 f'8 <a, d> | f'16 <a, d>8 <a d>16 <e'-1>8 <a,-3 cis-2> | - \pestana #"III" { - <g'-1>16 <bes,-1 e-3>8 <bes e>16 g'8 <bes, e> | - g'16 <bes, e>8 <bes e>16 } \pestana #"V" { <a'-1>8 <c,-1 fis-3> } | + \pestanaSpan "III" <g'-1>16\startTextSpan <bes,-1 e-3>8 <bes e>16 g'8 <bes, e> | + g'16 <bes, e>8 <bes e>16\stopTextSpan \pestanaSpan "V" <a'-1>8\startTextSpan <c,-1 fis-3>\stopTextSpan | - \pestana #"V" { - <bes'-2>16 <d,-3 g-4>8 <d g>16 <d g> <a'-1>8 <g-4>16 | - <f-2> <a,-3 d-4>8 <a d>16 <a d> <e'-0>8 <d-4>16 | - <c-2> <a-3>8 a16 a <f'-2>8 <e-1>16 | - <d-4> <a-3>8 a16 a a8 a16 | - } + \pestanaSpan "V" <bes'-2>16\startTextSpan <d,-3 g-4>8 <d g>16 <d g> <a'-1>8 <g-4>16 | + <f-2> <a,-3 d-4>8 <a d>16 <a d> <e'-0>8 <d-4>16 | + <c-2> <a-3>8 a16 a <f'-2>8 <e-1>16 | + <d-4> <a-3>8 a16 a a8 a16\stopTextSpan | \key d \major - \pestana #"V" { - a'16 <a, d>8 <a d>16 r16 g'8 fis16 | - 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 | - b16 <cis, g'>8 <cis g'>16 \pestana #"II" { cis'8 <g a> } | + \pestanaSpan "V" a'16\startTextSpan <a, d>8 <a d>16 r16 g'8 fis16 | + a16 <g, cis>8 <g cis>16 r16 cis fis cis\stopTextSpan | + <a e'>16 <a d>8 \pestanaSingle "II" <a cis>16 <a b>8 a | + b16 <cis, g'>8 <cis g'>16 \pestanaSpan "II" cis'8\startTextSpan <g a>\stopTextSpan | d'16 <fis, a>8 <fis a>16 fis'8 <a, c> | e'16 <a, cis>8 <a cis>16 r16 g cis e | <d gis d'>16 <d gis d'>8 <d gis d'>16 <d gis cis>8 <d gis b> | - e'16 <cis, g'>8 <cis g'>16 <cis g' b>8 <cis g' a> | + e'16 <cis, g'>8 <cis g'>16 <cis g' b\2>8 <cis g' a> | - \pestana #"V" { - a'16 <a, d>8 <a d>16 r16 g'8 fis16 | - 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 | - b16 <cis, g'>8 <cis g'>16 \pestana #"II" { cis'8 <g a> } | + \pestanaSpan "V" a'16\startTextSpan <a, d>8 <a d>16 r16 g'8 fis16 | + a16 <g, cis>8 <g cis>16 r16 cis fis cis\stopTextSpan | + <a e'>16 <a d>8 \pestanaSingle "II" <a cis>16 <a b>8 a | + b16 <cis, g'>8 <cis g'>16 \pestanaSpan "II" cis'8\startTextSpan <g a>\stopTextSpan | d'16 <fis, a>8 <fis a>16 dis'8 <fis, a> | e'8 <b d>16 <ais cis> <g b e> d'( b) g | fis d' a fis e cis' g e - r4 <d' fis d'>^\markup { \cWithSlash \fontsize #-2 VII } | + r4 \pestanaSingle "VII" <d' fis d'> | \bar "|." } lower = \relative c { \globals + \set stringNumberOrientations = #'(down) - r2 | + r2_\markup { \circle 6 in D } | r8 a r a | r8 a r a | r16 <a-0>8 <b-1>16 <cis-3> <b-1>8 <a-0>16 | @@ -250,14 +199,12 @@ lower = \relative c { { d,2 | } { d8 a' d4 | } } - - \bar "||" - + \repeat volta 2 { \key d \minor - a'16 a8 a16 a a8 a16 | - g g8 g16 g g8 g16 | + a'16\4 a8 a16 a a8 a16 | + g\4 g8 g16 g g8 g16 | f f8 f16 f f8 f16 | e4 a, | @@ -269,7 +216,7 @@ lower = \relative c { a'16 a8 a16 a a8 a16 | g g8 g16 g g8 g16 | f, f8 f16 f f8 f16 | - e4 r16 <e-1> <f-2> <fis-3> | + e4 r16 <e-1>( <f-2>) <fis-3> | g4 r4 | d g' | diff --git a/music/guitar.ly b/music/guitar.ly new file mode 100644 index 0000000..76afb00 --- /dev/null +++ b/music/guitar.ly @@ -0,0 +1,33 @@ + +pestanaPrivate = \markup { + \fontsize #-2 + \combine + \roman C + \translate #'(0.6 . -0.4) \draw-line #'(0 . 2.0) +} + +pestanaSingle = + #(define-music-function (fret-number music) (string? ly:music?) + #{ + $music ^\markup { \pestanaPrivate \fontsize #-2 $fret-number } + #}) + +pestanaSpan = + #(define-music-function (fret-number) (string?) + #{ + \once \override TextSpanner.font-shape = #'upright + \once \override TextSpanner.style = #'solid + \once \override TextSpanner.bound-details.left.stencil-align-dir-y = #CENTER + \once \override TextSpanner.bound-details.right.text = \markup { \draw-line #'(0 . -.5) } + \once \override TextSpanner.bound-details.left.text = \markup { \pestanaPrivate \fontsize #-2 $fret-number } + #}) + +corda = + #(define-music-function (string-number) (string?) + #{ + \once \override TextSpanner.style = #'solid + \once \override TextSpanner.font-size = #-5 + \once \override TextSpanner.bound-details.left.stencil-align-dir-y = #CENTER + \once \override TextSpanner.bound-details.right.text = \markup { \draw-line #'( 0 . -.5) } + \once \override TextSpanner.bound-details.left.text = \markup { \circle \number $string-number } + #}) |