From: Graham Percival Date: Sat, 12 May 2007 08:41:30 +0000 (-0700) Subject: LSR: add new files from lsr. (added separately so I can easily check them X-Git-Tag: release/2.11.24-1~8^2^2^2 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=6e07bafba271007354f910aedc163e6346bc3890;p=lilypond.git LSR: add new files from lsr. (added separately so I can easily check them manually) --- diff --git a/input/lsr/ancient/vaticana-ligatures.ly b/input/lsr/ancient/vaticana-ligatures.ly new file mode 100644 index 0000000000..db1ae38a35 --- /dev/null +++ b/input/lsr/ancient/vaticana-ligatures.ly @@ -0,0 +1,48 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +Vaticana ligature uses four staff lines, special clef, and calligraphic +notes. +" } + +\include "gregorian-init.ly" + +cantus = \context VaticanaVoice = "cantus" { + \clef "vaticana-fa2" + \[ f\melisma \quilisma g \auctum \descendens a\melismaEnd \] + \[ \virga a\melisma g \pes a \inclinatum f \inclinatum d + c \pes d \quilisma e \pes f \virga g + a \flexa f \pes g \inclinatum f \inclinatum e\melismaEnd \] + \[ d\melisma \quilisma e f \flexa e \pes f\melismaEnd \] + \[ e\melisma \flexa d\melismaEnd \] +} + +verba = \context Lyrics = "verba" \lyricmode { + Al- le- lu- ia. +} + +\paper { + % linethickness = \staffspace / 7.0 +} + +\score { + << + \cantus + \lyricsto "cantus" \verba + >> + \layout { + linewidth = 137.0 \mm + width = 137.0 \mm + indent = 0.0 + raggedright = ##t + packed = ##t + \context { + \Score + \remove Bar_number_engraver + timing = ##f + barAlways = ##t + } + } +} + diff --git a/input/lsr/contemporary/coloring-objects.ly b/input/lsr/contemporary/coloring-objects.ly new file mode 100644 index 0000000000..c1c591b35e --- /dev/null +++ b/input/lsr/contemporary/coloring-objects.ly @@ -0,0 +1,26 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +LilyPond gives you the ability to assign different colors to any grob +in your score, such as NoteHeads, Alterations, Beams and so on, by +simply overriding the #'color property and choosing your color (over +200 colors are available, see the \"List of Colors\" Appendix in the +Manual). +" } + +\relative { + \override Accidental #'color = #darkgreen + \override Beam #'color = #cyan + \override NoteHead #'color = #darkyellow + c4 + \override NoteHead #'color = #red + f + \override NoteHead #'color = #darkmagenta + g + \override NoteHead #'color = #darkblue + b + \override NoteHead #'color = #green + \override Stem #'color = #blue + e8 es d dis e4 r +} diff --git a/input/lsr/contemporary/compound-time-signatures.ly b/input/lsr/contemporary/compound-time-signatures.ly new file mode 100644 index 0000000000..9352433704 --- /dev/null +++ b/input/lsr/contemporary/compound-time-signatures.ly @@ -0,0 +1,26 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +Odd 20th century time signatures (such as \"5/8\") can often be played +as compound time signatures (e.g. \"3/8 + 2/8\"), which combine two or +more inequal metrics. LilyPond can make such musics quite easy to read +and play, by explicitly printing the compound time signatures and +adapting the automatic beaming behaviour. (You can even add graphic +measure groping indications, the appropriate snippet in this database.) + +" } + +#(define (compound-time one two num) + (markup #:override '(baseline-skip . 0) #:number + (#:line ((#:column (one num)) #:vcenter "+" (#:column (two num)))))) + + +\relative { + %% compound time signature hack + \time 5/8 + \override Staff.TimeSignature #'stencil = #ly:text-interface::print + \override Staff.TimeSignature #'text = #(compound-time "2" "3" "8" ) + #(override-auto-beam-setting '(end 1 8 5 8) 1 4) + c8 d e fis gis | c fis, gis e d | c8 d e4 gis8 +} diff --git a/input/lsr/contemporary/graphic-measure-grouping-indications-for-conductors.ly b/input/lsr/contemporary/graphic-measure-grouping-indications-for-conductors.ly new file mode 100644 index 0000000000..84b220c991 --- /dev/null +++ b/input/lsr/contemporary/graphic-measure-grouping-indications-for-conductors.ly @@ -0,0 +1,29 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +In 20th century music, time signatures tend to change frequently and to +be more complex. Therefore, printing graphic indications (such as +brackets and triangles) above the top staff has become quite useful, if +not essential, to conductors or even players. LilyPond is able to do +that easily with its integrated Measure_grouping_engraver. + +Beware: you can no longer use the \time command; use instead the +#(set-time-signature x x '(x x)) function, which is quite more +powerful, especially for compound time signatures such as 5/8. +" } + +\new Staff \with { + \consists "Measure_grouping_engraver" + } + +\relative c' { + #(set-time-signature 2 4 '(2 2)) + c8 a'4 a8~ + #(set-time-signature 5 8 '(3 2)) + a8 bes4 r8 bes8-> + #(set-time-signature 2 4 '(2 2)) + c,8 g'4 g8~ + #(set-time-signature 5 8 '(3 2)) + g8 a4 g a4.-> +} diff --git a/input/lsr/education/using-grid-lines-to-emphasize-rhythms-and-notes-synchronization.ly b/input/lsr/education/using-grid-lines-to-emphasize-rhythms-and-notes-synchronization.ly new file mode 100644 index 0000000000..9c7e873e49 --- /dev/null +++ b/input/lsr/education/using-grid-lines-to-emphasize-rhythms-and-notes-synchronization.ly @@ -0,0 +1,69 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +Regular vertical lines can be drawn between staves to show notes +synchronization; however, in case of monophonic music, you may want to +make the second stave invisible, and make the lines shorter like in +this snippet. +" } + +%% sets of grid +\layout { + \context { + \Staff + \consists "Grid_point_engraver" + gridInterval = #(ly:make-moment 1 8) +%% lines length + \override GridPoint #'Y-extent = #'(6 . 0) + } + \context { + \StaffGroup + \remove "System_start_delimiter_engraver" + } +} + +\layout { + ragged-right = ##t +} +\new Score +\with { + \consists "Grid_line_span_engraver" +%% centers grid lines horizontally below noteheads + \override NoteColumn #'X-offset = #-0.5 +} + +\new ChoirStaff << + \new Staff + { + \time 12/8 + \stemUp + \relative { + c'4. d8 e8 f g4 f8 e8.[ d16 c8] } + } + \new Staff + { +%% making sure the lines will be placed outside the Staff + \override Score.GridLine #'extra-offset = #'( 0.0 . -4.0 ) + +%% hides staff and notes so that only the grid lines are visible + \override NoteHead #'transparent = ##t + \override NoteHead #'no-ledgers = ##t + \override Stem #'transparent = ##t + \override Beam #'transparent = ##t + \override Staff.BarLine #'transparent = ##t + \override Staff.StaffSymbol #'line-count = #0 + \override Staff.TimeSignature #'transparent = ##t + \override Staff.Clef #'transparent = ##t + +% you have to put 'dummy' notes here to force regular grid spacing... + \once \override Score.GridLine #'thickness = #4.0 + c8 c8 c8 + \once \override Score.GridLine #'thickness = #3.0 + c8 c8 c8 + \once \override Score.GridLine #'thickness = #4.0 + c8 c8 c8 + \once \override Score.GridLine #'thickness = #3.0 + c8 c8 c8 + } +>> diff --git a/input/lsr/other/adding-drum-parts.ly b/input/lsr/other/adding-drum-parts.ly new file mode 100644 index 0000000000..5bf80e3e3b --- /dev/null +++ b/input/lsr/other/adding-drum-parts.ly @@ -0,0 +1,45 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +LilyPond makes drums input quite easy, with powerful pre-configured +tools such as the \drummode function and the DrumStaff context: drums +are placed to their own staff positions (with a special clef symbol) +and have note heads according to the drum. You can easily attach an +extra symbol to the drum, and restrict the number of lines. +" } + +drh = \drummode { cymc4.^"crash" hhc16^"h.h." hh \repeat "unfold" 5 {hhc8 hho hhc8 hh16 hh} hhc4 r4 r2 } +drl = \drummode {\repeat "unfold" 3 {bd4 sn8 bd bd4 << bd ss >> } bd8 tommh tommh bd toml toml bd tomfh16 tomfh } +timb = \drummode { \repeat "unfold" 2 {timh4 ssh timl8 ssh r timh r4 ssh8 timl r4 cb8 cb} } + +\score { + \repeat "volta" 2 { + << + \new DrumStaff \with { + drumStyleTable = #timbales-style + \override StaffSymbol #'line-count = #2 + \override BarLine #'bar-size = #2 + } << + \set Staff.instrumentName = "timbales" + \timb + >> + \new DrumStaff << + \set Staff.instrumentName = "drums" + \new DrumVoice {\stemUp \drh } + \new DrumVoice {\stemDown \drl } + >> + >> + } + \layout {} + + \midi { + \context { + \Score + tempoWholesPerMinute = #(ly:make-moment 120 4) + } + } + + +} + diff --git a/input/lsr/other/applying-noteheads-styles-depending-on-the-step-of-the-scale.ly b/input/lsr/other/applying-noteheads-styles-depending-on-the-step-of-the-scale.ly new file mode 100644 index 0000000000..bcb0551aa8 --- /dev/null +++ b/input/lsr/other/applying-noteheads-styles-depending-on-the-step-of-the-scale.ly @@ -0,0 +1,44 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +The shapeNoteStyles property gives you the ability to define various +note heads styles for each step of the scale (as defined by the key +signature or the \"tonic\" property). + +This property requires a set of symbols, which can be purely arbitrary +(geometrical expressions such as triangle, cross, xcircle etc. are +allowed) or based on old American engraving tradition (you can use some +latin note names as well). + +That said, if you're trying to imitate old American song books, you may +also want to try LilyPond's predefined note heads styles, through +shortcut commands such as \aikenHeads or \sacredHarpHeads. + +This exemple shows different ways to obtain shape note heads, and +demonstrates the ability to transpose a melody without losing the +correspondance between harmonic functions and note heads styles. +" } + +fragment = { + \key c \major + c1 d e f g a b c + \break +} + +\relative { + \set shapeNoteStyles = ##(do re mi fa #f la ti) + \fragment +} +%{ +\transpose c d + \relative { + \set shapeNoteStyles = ##(do re mi fa #f la ti) + \fragment +} + +\relative { + \set shapeNoteStyles = ##(cross triangle fa #f mensural xcircle diamond) + \fragment +} +%} diff --git a/input/lsr/other/drawing-boxes-around-grobs.ly b/input/lsr/other/drawing-boxes-around-grobs.ly new file mode 100644 index 0000000000..2c8d1e9483 --- /dev/null +++ b/input/lsr/other/drawing-boxes-around-grobs.ly @@ -0,0 +1,28 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +The @code{print-function} can be overridden to draw a box around an +arbitrary grob. +" } + +\relative c'' { + + \override TextScript #'stencil = + #(make-stencil-boxer 0.1 0.3 ly:text-interface::print) + + c'4^"foo" + + \override Stem #'stencil = + #(make-stencil-boxer 0.05 0.25 ly:stem::print) + + \override Score.RehearsalMark #'stencil = + #(make-stencil-boxer 0.15 0.3 ly:text-interface::print) + b8 + \revert Stem #'stencil + + + c4. c4 \mark "F" c1 +} + + diff --git a/input/lsr/other/drawing-circles-around-various-objects.ly b/input/lsr/other/drawing-circles-around-various-objects.ly new file mode 100644 index 0000000000..8409531e81 --- /dev/null +++ b/input/lsr/other/drawing-circles-around-various-objects.ly @@ -0,0 +1,24 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +The \circle command allows you to draw circles around various objects +(for example fingering indications). However, some objects require +specific tweaks: rehearsal marks depend on the Score.markFormatter +context, bar numbers on the Score.BarNumber context, and so on. + +You can tweak the printing of your circles by setting some properties +such as #'thickness, #'circle-padding or #'font-size. +" } + +\relative c'{ +c1 +\set Score.markFormatter + = #(lambda (mark context) + (make-circle-markup (format-mark-numbers mark context))) +\mark \default +c2 d^\markup{\circle \finger "2"} +\override Score.BarNumber #'break-visibility = #all-visible +\override Score.BarNumber #'stencil + = #(make-stencil-circler 0.1 0.25 ly:text-interface::print) +} diff --git a/input/lsr/other/using-the--tweak-command-to-tweak-individual-grobs.ly b/input/lsr/other/using-the--tweak-command-to-tweak-individual-grobs.ly new file mode 100644 index 0000000000..5d1a06f4cd --- /dev/null +++ b/input/lsr/other/using-the--tweak-command-to-tweak-individual-grobs.ly @@ -0,0 +1,21 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +With the \tweak command, you can tune every grob directly. Here are +some examples of available tweaks. +" } + +\paper { + ragged-right = ##t +} + +{ + \set fingeringOrientations = #'(right) + < + \tweak #'font-size #3 c + \tweak #'color #red d-\tweak #'font-size #8 -4 + \tweak #'style #'cross g + \tweak #'duration-log #1 a + >4 +} diff --git a/input/lsr/parts/transposing-and-naming-instrument-groups.ly b/input/lsr/parts/transposing-and-naming-instrument-groups.ly new file mode 100644 index 0000000000..bb62d3f75f --- /dev/null +++ b/input/lsr/parts/transposing-and-naming-instrument-groups.ly @@ -0,0 +1,160 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +In an orchestral score (Beethoven's Coriolan overture), there are +different instrument groups, and some of the instruments may be +transposed. Instruments are indicated either with a long or short name. + + +" } + +\header { + title = "Ouvertûre" + subtitle = "Zu Heinrich Joseph v. Collins Trauerspiel" + subsubtitle = \markup { \large \bold "Coriolan" } + opus = "Op. 62" + piece = \markup { \large Allegro con brio } + composer = "Ludwig van Beethoven (1770-1827)" +} + +#(set-global-staff-size 16) + +raisedFlat = \markup { \raise #0.4 \smaller \smaller \flat } + +flauti = \relative c' { + \set Staff.instrumentName = #"2 Flauti " + \set Staff.shortInstrumentName = #"Fl. " + \time 4/4 + c1 + \break c +% \break c +% \break c + \bar"|." +} + +oboi = \relative c' { + \set Staff.instrumentName = #"2 Oboi " + \set Staff.shortInstrumentName = #"Ob. " + c1 c +} + +clarinetti = \relative c' { + \set Staff.instrumentName = \markup { \column { "Clarinetti " +\line { "in B" \raisedFlat } } } + \set Staff.shortInstrumentName = \markup { \smaller { "Cl(B" +\raisedFlat ") " } } + + c1 c +} + +fagotti = \relative c { + \set Staff.instrumentName = #"2 Fagotti " + \set Staff.shortInstrumentName = #"Fg. " + \clef bass + c1 c +} + +corni = \relative c' { + \set Staff.instrumentName = \markup { \column { "Corni " \line { +"in E" \raisedFlat } } } + \set Staff.shortInstrumentName = \markup { \smaller { "Cor(E" +\raisedFlat ") " } } + c1 c +} + +trombe = \relative c' { + \set Staff.instrumentName = \markup \column { "2 Trombe " "(C) " } + \set Staff.shortInstrumentName = \markup \column { "Tbe. " "(C) " } + c1 c +} + +timpani = \relative c { + \set Staff.instrumentName = \markup \column { "Timpani " "(C-G) " } + \set Staff.shortInstrumentName = #"Timp. " + \clef bass + c1 c +} + +violinoI = \relative c' { + \set Staff.instrumentName = #"Violino I " + \set Staff.shortInstrumentName = #"Vl. I " + c1 c +} + +violinoII = \relative c' { + \set Staff.instrumentName = #"Violino II " + \set Staff.shortInstrumentName = #"Vl. II " + c1 c +} + +viola = \relative c' { + \set Staff.instrumentName = #"Viola " + \set Staff.shortInstrumentName = #"Vla. " + \clef alto + c1 c +} + +violoncello = \relative c { + \set Staff.instrumentName = \markup \column { "Violoncello " "e" +"Contrabasso " } + \set Staff.shortInstrumentName = \markup \column { "Vc. " "Cb. " } + \clef bass + c1 c +} + + +\paper { + indent=10.0\mm + line-width=150.0\mm + ragged-bottom = ##t +} + +#(set-global-staff-size 16) +\book { + \score { + << \override Score.VerticalAxisGroup #'minimum-Y-extent = #'(-4 . 6) + \new StaffGroup = "legni" << + \new Staff = "flauti" \flauti + \new Staff = "oboi" \oboi + \new Staff = "clarinetti" \clarinetti + \new Staff = "fagotti" \fagotti + >> + \new StaffGroup = "ottoni" << + \new Staff = "corni" \corni + \new Staff = "trombe" \trombe + >> + \new StaffGroup = "timpani" << + \new Staff = "timpani" \timpani + { + \skip 1 + % Hmm: this forces a staff-bracket, that's good! + % However, I can't find where is decided on staff-bracket yes/no + } + >> + \new StaffGroup = "archi" << + \new GrandStaff = "violini" << + \new Staff = "violinoI" \violinoI + \new Staff = "violinoII" \violinoII + >> + \new Staff = "viola" \viola + \new Staff = "violoncello" \violoncello + >> + >> + \layout { + \context { + \RemoveEmptyStaffContext + } + \context { + \Score + \override TimeSignature #'style = #'C + } + } + } + % this is ignored? + \paper { + indent=10.0\mm + line-width=150.0\mm + } +} + diff --git a/input/lsr/spacing/displaying-the-exact-extent-of-a-system.ly b/input/lsr/spacing/displaying-the-exact-extent-of-a-system.ly new file mode 100644 index 0000000000..01c99d9925 --- /dev/null +++ b/input/lsr/spacing/displaying-the-exact-extent-of-a-system.ly @@ -0,0 +1,24 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +If you want to see exactly what amount of space takes your system, you +can display it by overriding the #'stencil property in the System +context: as you can see here, the system size is determined by +including every postscript element such as slurs or key symbol. +" } + +\layout { + \context { + \Score + \override System #'stencil = #box-grob-stencil + } +} + +\new Voice +{ + \unset Staff.minimumVerticalExtent + \override Score.RehearsalMark #'font-size = #20 + + \slurDown c4 ( g4 c''4) +} diff --git a/input/lsr/spacing/drawing-skyline-outline.ly b/input/lsr/spacing/drawing-skyline-outline.ly new file mode 100644 index 0000000000..a9bfdf5d31 --- /dev/null +++ b/input/lsr/spacing/drawing-skyline-outline.ly @@ -0,0 +1,21 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +By setting the Scheme property 'debug-skylines, you can make a nice +funky artwork out of you score :-) + +More seriously, drawing your skyline can be helpful to debug spacing +and collision issues. (Still, it does make your score pretty; so just +try it, no matter how you really need to...) +" } + +#(ly:set-option 'debug-skylines #t) +\book { + \score { + { + a,,1 | a'4 b' c'' d'' \break + \repeat unfold 2 {a' b' c'' d''} | b''''1 + } + } +} diff --git a/input/lsr/staff/inserting-score-fragments-above-the-staff,-as-markups.ly b/input/lsr/staff/inserting-score-fragments-above-the-staff,-as-markups.ly new file mode 100644 index 0000000000..cde06757b2 --- /dev/null +++ b/input/lsr/staff/inserting-score-fragments-above-the-staff,-as-markups.ly @@ -0,0 +1,33 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +The \markup command is quite versatile. In this snippet, it contains a +\score bloc instead of texts or marks. +" } + +tuning = \markup { + \score { + \new Staff \with { + \remove Time_signature_engraver + } { + \clef bass 1 + } + \layout { ragged-right = ##t } + } +} + + +\header { + title = "Solo Cello Suites" + subtitle = "Suite IV" + subsubtitle = \markup { "Originalstimmung:" \tuning } +} + +\relative { + \time 4/8 + \times 2/3 { c'8 d e } \times 2/3 {c d e} + \times 2/3 { c8 d e } \times 2/3 {c d e} + g8 a8 g8 a + g8 a8 g8 a +} diff --git a/input/lsr/text/blanking-staff-lines-using-the--whiteout-command.ly b/input/lsr/text/blanking-staff-lines-using-the--whiteout-command.ly new file mode 100644 index 0000000000..1573df8c20 --- /dev/null +++ b/input/lsr/text/blanking-staff-lines-using-the--whiteout-command.ly @@ -0,0 +1,17 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +The \whiteout command underlays a white box under a markup. Since staff +lines are in a lower layer than most other grobs, this white box will +not overlap any other grob. +" } + +\paper +{ + ragged-right = ##t +} +{ + \override TextScript #'extra-offset = #'(2 . 4) + c'4-\markup { \whiteout \pad-markup #0.5 foo } c +} diff --git a/input/lsr/text/demonstrating-the-power-and-flexibility-of-the--markup-function.ly b/input/lsr/text/demonstrating-the-power-and-flexibility-of-the--markup-function.ly new file mode 100644 index 0000000000..585bc633e3 --- /dev/null +++ b/input/lsr/text/demonstrating-the-power-and-flexibility-of-the--markup-function.ly @@ -0,0 +1,54 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +Here are some examples of how various markup texts can be obtained with +LilyPond syntax. You won't probably be needing all of them in a +standard score, but hey, you never know... +" } + +{ + f'1-\markup { + foo + \raise #0.2 \hbracket \bold bar + + \override #'(baseline-skip . 4) + \bracket \column { + baz + bazr + bla + } + \hspace #2.0 + \override #'(font-encoding . fetaMusic) { + \lookup #"noteheads-0" + } + \semiflat + { } + \combine "X" "+" + \combine "o" "/" + } + g'1-\markup { + % \char-number #"abc1234abc" + \box \column { + \line { "string 1" } + \line { "string 2" } + %% \concat { "f" "i" } + } + " " + \draw-circle #1 #0.3 ##f + " " + \draw-circle #1 #0.3 ##t + " " + \italic Norsk + \super "2" + " " + \raise #3.0 \whiteout white-out + \circle \dynamic p + \with-color #green Green + \dynamic sfzp + \huge { "A" \smaller "A" \smaller \smaller "A" + \smaller \smaller \smaller "A" } + \sub "alike" + } + c''4 +} diff --git a/input/lsr/text/ordering-scripts-stack.ly b/input/lsr/text/ordering-scripts-stack.ly new file mode 100644 index 0000000000..b2619500ff --- /dev/null +++ b/input/lsr/text/ordering-scripts-stack.ly @@ -0,0 +1,16 @@ +%% Do not edit this file; it is auto-generated from LSR! +\version "2.11.23" + +\header { texidoc = " +Scripts can be stacked. The order is determined by a priority field, +but when objects have the same priority, the input order determines the +order. Objects specified first are closest to the note. + +You may also want to override the #'script-priority to give your Script +or TextScript overall priority (if you do so, remember to use \once if +you don't want the whole score to be affected). +" } + +\layout { ragged-right = ##t} + +\relative c'' { c4^"inner up"^"outer up"_"inner down"_"outer down" }