[ << Staff notation ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Top ] | [ > ] |
Editorial annotations
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < Editorial annotations ] | [ Subir : Editorial annotations ] | [ > ] |
Añadir digitaciones a la partitura
Se pueden escribir instrucciones de digitación usando una sintaxis muy sencilla.
\relative c'' { c4-1 d-2 f-4 e-3 }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Añadir enlaces a los objetos
Para añadir un enlace al sello de un objeto gráfico, podemos usar
add-link
tal y como se define aquí. FUnciona con
\override
y con \tweak
. Inconveniente:
point-and-click
(apuntar y pulsar) quedará obstacuilzado por
los objetos gráficos enlazados.
Limitación: funciona solamente para PDF.
Los objetos enlazados se colorean con una instrucción aparte.
#(define (add-link url-strg) (lambda (grob) (let* ((stil (ly:grob-property grob 'stencil))) (if (ly:stencil? stil) (let* ((x-ext (ly:stencil-extent stil X)) (y-ext (ly:stencil-extent stil Y)) (url-expr `(url-link ,url-strg ,x-ext ,y-ext)) (new-stil (ly:stencil-add (ly:make-stencil url-expr x-ext y-ext) stil))) (ly:grob-set-property! grob 'stencil new-stil)))))) %%%% test %% For easier maintenance of this snippet the URL is formatted to use the %% actually used LilyPond version. %% Of course a literal URL would work as well. #(define major.minor-version (string-join (take (string-split (lilypond-version) #\.) 2) ".")) urlI = #(format #f "http://lilypond.org/doc/v~a/Documentation/notation/writing-pitches" major.minor-version) urlII = #(format #f "http://lilypond.org/doc/v~a/Documentation/notation/rhythms" major.minor-version) urlIII = #(format #f "http://lilypond.org/doc/v~a/Documentation/notation/note-heads" major.minor-version) urlIV = #(format #f "http://lilypond.org/doc/v~a/Documentation/notation/beams" major.minor-version) urlV = #(format #f "http://lilypond.org/doc/v~a/Documentation/notation/note-head-styles" major.minor-version) urlVI = #(format #f "http://lilypond.org/doc/v~a/Documentation/notation/writing-pitches" major.minor-version) \relative c' { \key cis \minor \once \override Staff.Clef.color = #green \once \override Staff.Clef.after-line-breaking = #(add-link urlI) \once \override Staff.TimeSignature.color = #green \once \override Staff.TimeSignature.after-line-breaking = #(add-link urlII) \once \override NoteHead.color = #green \once \override NoteHead.after-line-breaking = #(add-link urlIII) cis'1 \once \override Beam.color = #green \once \override Beam.after-line-breaking = #(add-link urlIV) cis8 dis e fis gis2 <gis, \tweak Accidental.color #green \tweak Accidental.after-line-breaking #(add-link urlVI) \tweak color #green \tweak after-line-breaking #(add-link urlV) \tweak style #'harmonic bis dis fis >1 <cis, cis' e> }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Adding markups in a tablature
By default markups does not show in a tablature.
To make them appear, simply use the command
\revert TabStaff.TextScript.stencil
%% http://lsr.di.unimi.it/LSR/Item?id=919 % by P.P.Schneider on June 2014 high = { r4 r8 <g c'> q r8 r4 } low = { c4 r4 c8 r8 g,8 b, } pulse = { s8^"1" s^"&" s^"2" s^"&" s^"3" s^"&" s^"4" s^"&" } \score { \new TabStaff { \repeat unfold 2 << \high \\ \low \\ \pulse >> } \layout { \context { \TabStaff \clef moderntab \revert TextScript.stencil \override TextScript.font-series = #'bold \override TextScript.font-size = #-2 \override TextScript.color = #red } \context { \Score proportionalNotationDuration = #(ly:make-moment 1/8) } } }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Permitir que las digitaciones se impriman dentro del pentagrama
Las cifras de digitación orientadas verticalmente se colocan de forma predeterminada fuera del pentagrama. Sin embargo, este comportamiento se puede cancelar. Hay que prestar atención en situaciones en las que las digitaciones y las plicas están en la misma dirección: por defecto, las digitaciones solo evitan la colisión con plicas unidas por una barra. Se puede cambiar este ajuste para no evitar ninguna plica o evitarlas todas; el ejemplo siguiente muestra las dos copciones, así como la manera de volver al comportamiento predeteminado.
\relative c' { <c-1 e-2 g-3 b-5>2 \override Fingering.staff-padding = #'() <c-1 e-2 g-3 b-5>4 g'-0 a8[-1 b]-2 g-0 r \override Fingering.add-stem-support = ##f a[-1 b]-2 g-0 r \override Fingering.add-stem-support = ##t a[-1 b]-2 g-0 r \override Fingering.add-stem-support = #only-if-beamed a[-1 b]-2 g-0 r }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Numeración de compases alternativa
Se pueden seleccionar dos métodos alternativos para la numeración de compases, especiales para cuando hay repeticiones.
\relative c'{ \set Score.alternativeNumberingStyle = #'numbers \repeat volta 3 { c4 d e f | } \alternative { { c4 d e f | c2 d \break } { f4 g a b | f4 g a b | f2 a | \break } { c4 d e f | c2 d } } c1 \break \set Score.alternativeNumberingStyle = #'numbers-with-letters \repeat volta 3 { c,4 d e f | } \alternative { { c4 d e f | c2 d \break } { f4 g a b | f4 g a b | f2 a | \break } { c4 d e f | c2 d } } c1 }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Corchetes de análisis encima del pentagrama
De forma predeterminada se añaden corchetes de análisis sencillos debajo del pentagrama. El ejemplo siguiente muestra una manera de colocarlos por encima.
\layout { \context { \Voice \consists "Horizontal_bracket_engraver" } } \relative c'' { \once \override HorizontalBracket.direction = #UP c2\startGroup d2\stopGroup }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Analysis brackets with labels
Text markup may be added to analysis brackets through the text
property of the HorizontalBracketText
grob. Adding different
texts to brackets beginning at the same time requires the
\tweak
command.
Bracket text will be parenthesized after a line break.
\paper { tagline = ##f } \layout { \context { \Voice \consists "Horizontal_bracket_engraver" \override HorizontalBracket.direction = #UP } } { \once\override HorizontalBracketText.text = "a" c''\startGroup d''\stopGroup \once\override HorizontalBracketText.text = "a'" e''\startGroup d''\stopGroup | c''-\tweak HorizontalBracketText.text \markup \bold \huge "b" \startGroup -\tweak HorizontalBracketText.text "a" \startGroup d''\stopGroup e''-\tweak HorizontalBracketText.text "a'" \startGroup d''\stopGroup\stopGroup | c''-\tweak HorizontalBracketText.text foo \startGroup d'' e'' f'' | \break g'' a'' b'' c'''\stopGroup }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Aplicar estilos de cabeza según la nota de la escala
La propiedad shapeNoteStyles
se puede usar para definir varios
estilos de cabezas de nota para cada grado de la escala (según esté
establecido por la armadura o por la propiedad tonic
). Esta
propiedad requiere un conjunto de símbolos, que pueden ser puramente
arbitrarios (se permiten expresiones geométricas como triangle
,
triángulo, cross
, aspas, y xcircle
, círculo con aspas) o
basados en una antigua tradición americana de grabado (ciertos nombres
de nota latinos trambién se permiten).
Dicho esto, para imitar antiguos cancioneros americanos, existen varios
estilos predefinidos de cabezas de nota disponibles a través de
instrucciones de abreviatura como \aikenHeads
o
\sacredHarpHeads
.
Este ejemplo muestra distintas formas de obtener cabezas de notas con forma, y muestra la capacidad de transportar una melodía sin perder la correspondencia entre las funciones armónicas y los estilos de cabezas de nota.
fragment = { \key c \major c2 d e2 f g2 a b2 c } \new Staff { \transpose c d \relative c' { \set shapeNoteStyles = ##(do re mi fa #f la ti) \fragment } \break \relative c' { \set shapeNoteStyles = ##(cross triangle fa #f mensural xcircle diamond) \fragment } }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Poner en blanco las líneas del pentagrama utilizando la instrucción \whiteout
La instrucción \whiteout
intercala un rectángulo blanco
debajo de un elemento de marcado. Este rectángulo blanco no tapa
a ningún otro objeto gráfico, puesto que las líneas del pentagrama
están en una capa inferior a la de la mayor parte de los otros
objetos.
\layout { ragged-right = ##f } \relative c' { \override TextScript.extra-offset = #'(2 . 4) c2-\markup { \whiteout \pad-markup #0.5 "middle C" } c }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Modificar el tamaño de una nota suelta de un acorde
Se pueden modificar notas individuales de un acorde con la instrucción
\tweak
, alterando la propiedad font-size
.
Dentro de un acorde (entre ángulos simples < >
), antes de la
nota que queremos alterar, situamos la instrucción \tweak
seguida por font-size
y definimos el tamaño adecuado como
#-2
(una cabeza pequeña).
\relative c' { <\tweak font-size #+2 c e g c \tweak font-size #-2 e>1 ^\markup { A tiny e }_\markup { A big c } }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Modificar el aspecto continuo de una ligadura de expresión a punteado o intermitente
Se puede cambiar el aspecto de las ligaduras de expresión de continuas a punteadas o intermitentes.
\relative c' { c4( d e c) \slurDotted c4( d e c) \slurSolid c4( d e c) \slurDashed c4( d e c) \slurSolid c4( d e c) }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Colorear las notas según su altura
Es posible colorear la cabeza de las notas dependiendo de su altura y/o de su nombre: la función que se usa en este ejemplo hace posible incluso distinguir los armónicos.
%Association list of pitches to colors. #(define color-mapping (list (cons (ly:make-pitch 0 0 NATURAL) (x11-color 'red)) (cons (ly:make-pitch 0 0 SHARP) (x11-color 'green)) (cons (ly:make-pitch 0 1 FLAT) (x11-color 'green)) (cons (ly:make-pitch 0 2 NATURAL) (x11-color 'red)) (cons (ly:make-pitch 0 2 SHARP) (x11-color 'green)) (cons (ly:make-pitch 0 3 FLAT) (x11-color 'red)) (cons (ly:make-pitch 0 3 NATURAL) (x11-color 'green)) (cons (ly:make-pitch 0 4 SHARP) (x11-color 'red)) (cons (ly:make-pitch 0 5 NATURAL) (x11-color 'green)) (cons (ly:make-pitch 0 5 FLAT) (x11-color 'red)) (cons (ly:make-pitch 0 6 SHARP) (x11-color 'red)) (cons (ly:make-pitch 0 1 NATURAL) (x11-color 'blue)) (cons (ly:make-pitch 0 3 SHARP) (x11-color 'blue)) (cons (ly:make-pitch 0 4 FLAT) (x11-color 'blue)) (cons (ly:make-pitch 0 5 SHARP) (x11-color 'blue)) (cons (ly:make-pitch 0 6 FLAT) (x11-color 'blue)))) %Compare pitch and alteration (not octave). #(define (pitch-equals? p1 p2) (and (= (ly:pitch-alteration p1) (ly:pitch-alteration p2)) (= (ly:pitch-notename p1) (ly:pitch-notename p2)))) #(define (pitch-to-color pitch) (let ((color (assoc pitch color-mapping pitch-equals?))) (if color (cdr color)))) #(define (color-notehead grob) (pitch-to-color (ly:event-property (event-cause grob) 'pitch))) \score { \new Staff \relative c' { \override NoteHead.color = #color-notehead c8 b d dis ees f g aes } }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Controlar la colocación de las digitaciones de acordes
Se puede controlar con precisión la colocación de los números de digitación. Para que se tenga en cuenta la orientación de las digitaciones, se debe utilizar dentro de una construcción de acorde <> aunque sea una sola nota. Se puede establecer la orientación para los números de cuerda y las digitaciones de la mano derecha de una forma similar.
\relative c' { \set fingeringOrientations = #'(left) <c-1 e-3 a-5>4 \set fingeringOrientations = #'(down) <c-1 e-3 a-5>4 \set fingeringOrientations = #'(down right up) <c-1 e-3 a-5>4 \set fingeringOrientations = #'(up) <c-1 e-3 a-5>4 \set fingeringOrientations = #'(left) <c-1>2 \set fingeringOrientations = #'(down) <e-3>2 \set stringNumberOrientations = #'(up left down) <f\3 a\2 c\1>1 \set strokeFingerOrientations = #'(down right up) <c\rightHandFinger #1 e\rightHandFinger #2 c'\rightHandFinger #4 > }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Crear un grupeto de anticipación
La creación de un grupeto circular de anticipación entre dos notas,
donde la nota inferior del grupeto utiliza una alteración, requiere
varias sobreescrituras de propiedades. La propiedad
outside-staff-priority
se debe establecer al valor #f
,
pues en caso contrario tendría prioridad sobre la propiedad
avoid-slur property
. Cambiando las fracciones 2/3
y
1/3
puede ajustarse la posición horizontal.
\relative c'' { \after 2*2/3 \turn c2( d4) r | \after 4 \turn c4.( d8) \after 4 { \once \set suggestAccidentals = ##t \once \override AccidentalSuggestion.outside-staff-priority = ##f \once \override AccidentalSuggestion.avoid-slur = #'inside \once \override AccidentalSuggestion.font-size = -3 \once \override AccidentalSuggestion.script-priority = -1 \once \hideNotes cis8\turn \noBeam } d4.( e8) }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Crear pentagramas en blanco
Para crear pentagramas en blanco, genere compases vacíos y después
elimine el grabador de números de compás Bar_number_engraver
del contexto Score
, y los grabadores de la indicación de compás
Time_signature_engraver
, de la clave Clef_engraver
y de
los compases Bar_engraver
del contexto de Staff
.
#(set-global-staff-size 20) \score { { \repeat unfold 12 { s1 \break } } \layout { indent = 0\in \context { \Staff \remove "Time_signature_engraver" \remove "Clef_engraver" \remove "Bar_engraver" } \context { \Score \remove "Bar_number_engraver" } } } % uncomment these lines for "letter" size %{ \paper { #(set-paper-size "letter") ragged-last-bottom = ##f line-width = 7.5\in left-margin = 0.5\in bottom-margin = 0.25\in top-margin = 0.25\in } %} % uncomment these lines for "A4" size %{ \paper { #(set-paper-size "a4") ragged-last-bottom = ##f line-width = 180 left-margin = 15 bottom-margin = 10 top-margin = 10 } %}
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Crear digitaciones de dos cifras
Es posible crear digitaciones con un número mayor de 5.
\relative c' { c1-10 c1-50 c1-36 c1-29 }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Dirección predeterminada de las plicas sobre la tercera línea del pentagrama
La dirección predeterminada de las plicas sobre la tercera línea
del pentagrama está determinada por la propiedad
neutral-direction
del objeto Stem
.
\relative c'' { a4 b c b \override Stem.neutral-direction = #up a4 b c b \override Stem.neutral-direction = #down a4 b c b }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Different font size settings for instrumentName and shortInstrumentName
Choose different font sizes for instrumentName and shortInstrumentName as a context override.
InstrumentNameFontSize = #(define-music-function (font-size-pair)(pair?) "Sets the @code{font-size} of @code{InstrumentName}. The font-size for the initial @code{instrumentName} is taken from the first value in @var{font-size-pair}. @code{shortInstrumentName} will get the second value of @var{font-size-pair}. " ;; This code could be changed/extended to set different values for each ;; occurance of `shortInstrumentName' #{ \override InstrumentName.after-line-breaking = #(lambda (grob) (let* ((orig (ly:grob-original grob)) (siblings (if (ly:grob? orig) (ly:spanner-broken-into orig) '()))) (if (pair? siblings) (begin (ly:grob-set-property! (car siblings) 'font-size (car font-size-pair)) (for-each (lambda (g) (ly:grob-set-property! g 'font-size (cdr font-size-pair))) (cdr siblings)))))) #}) \layout { \context { \Staff \InstrumentNameFontSize #'(6 . -3) } } \new StaffGroup << \new Staff \with { instrumentName = "Flute" shortInstrumentName = "Fl." } { c''1 \break c'' \break c'' } \new Staff \with { instrumentName = "Violin" shortInstrumentName = "Vl." } { c''1 \break c'' \break c'' } >>
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Rodear los objetos gráficos con rectángulos
Se puede sobreescribir la función print-function
para trazar un
rectángulo alrededor de un objeto gráfico arbitrario.
\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 \revert Flag.stencil c4. c4 \mark \default c1 }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Trazar circunferencias alrededor de la cabeza de las notas
He aquí cómo rodear una nota con una circunferencia.
circle = \once \override NoteHead.stencil = #(lambda (grob) (let* ((note (ly:note-head::print grob)) (combo-stencil (ly:stencil-add note (circle-stencil note 0.1 0.8)))) (ly:make-stencil (ly:stencil-expr combo-stencil) (ly:stencil-extent note X) (ly:stencil-extent note Y)))) { \circle c'' }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Rodear diversos objetos con una circunferencia
La instrucción de marcado \circle
traza circunferencias
alrededor de varios objetos, por ejemplo las indicaciones de
digitación. Para otros objetos pueden requerirse trucos específicos:
este ejemplo muestra dos estrategias para las letras de ensayo y los
números de compás.
\relative c' { c1 \set Score.rehearsalMarkFormatter = #(lambda (mark context) (make-circle-markup (format-mark-numbers mark context))) \mark \default c2 d^\markup { \override #'(thickness . 3) { \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) }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Empotrar PostScript nativo dentro de un bloque \markup
Se puede insertar códico PostScript directamente dentro de un
bloque \markup
.
% PostScript is a registered trademark of Adobe Systems Inc. \relative c'' { a4-\markup { \postscript "3 4 moveto 5 3 rlineto stroke" } -\markup { \postscript "[ 0 1 ] 0 setdash 3 5 moveto 5 -3 rlineto stroke " } b4-\markup { \postscript "3 4 moveto 0 0 1 2 8 4 20 3.5 rcurveto stroke" } s2 a'1 }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Líneas de rejilla: modificar su aspecto
Se puede cambiar el aspecto de las líneas de rejilla sobreescribiendo algunas de sus propiedades.
\score { \new ChoirStaff << \new Staff { \relative c'' { \stemUp c'4. d8 e8 f g4 } } \new Staff { \relative c { % this moves them up one staff space from the default position \override Score.GridLine.extra-offset = #'(0.0 . 1.0) \stemDown \clef bass \once \override Score.GridLine.thickness = #5.0 c4 \once \override Score.GridLine.thickness = #1.0 g'4 \once \override Score.GridLine.thickness = #3.0 f4 \once \override Score.GridLine.thickness = #5.0 e4 } } >> \layout { \context { \Staff % set up grids \consists "Grid_point_engraver" % set the grid interval to one quarter note gridInterval = #(ly:make-moment 1/4) } \context { \Score \consists "Grid_line_span_engraver" % this moves them to the right half a staff space \override NoteColumn.X-offset = #-0.5 } } }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Líneas de rejilla: destacar ritmos y la relación temporal entre notas
Se pueden trazar líneas verticales normales entre pentagramas para mostrar la relación entre notas; sin embargo, en caso de música monofónica, podemos hacer invisible el segundo pentagrama, y que las líneas sean más cortas, como en este fragmento de código.
\score { \new ChoirStaff { \relative c'' << \new Staff { \time 12/8 \stemUp c4. d8 e8 f g4 f8 e8. d16 c8 } \new Staff { % hides staff and notes so that only the grid lines are visible \hideNotes \hide Staff.BarLine \override Staff.StaffSymbol.line-count = #0 \hide Staff.TimeSignature \hide Staff.Clef % dummy notes to force regular note spacing \once \override Score.GridLine.thickness = #4.0 c8 c c \once \override Score.GridLine.thickness = #3.0 c8 c c \once \override Score.GridLine.thickness = #4.0 c8 c c \once \override Score.GridLine.thickness = #3.0 c8 c c } >> } \layout { \context { \Score \consists "Grid_line_span_engraver" % center grid lines horizontally below note heads \override NoteColumn.X-offset = #-0.5 } \context { \Staff \consists "Grid_point_engraver" gridInterval = #(ly:make-moment 1/8) % set line length and positioning: % two staff spaces above center line on hidden staff % to four spaces below center line on visible staff \override GridPoint.Y-extent = #'(2 . -4) } ragged-right = ##t } }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Hammer on and pull off
Hammer-on and pull-off can be obtained using slurs.
\new TabStaff { \relative c' { d4( e\2) a( g) } }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Hammer on and pull off using chords
When using hammer-on or pull-off with chorded notes, only a single arc
is drawn. However “double arcs” are possible by setting the
doubleSlurs
property to #t
.
\new TabStaff { \relative c' { % chord hammer-on and pull-off \set doubleSlurs = ##t <g' b>8( <a c> <g b>) } }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Hammer on and pull off using voices
The arc of hammer-on and pull-off is upwards in voices one and three and downwards in voices two and four:
\new TabStaff { \relative c' { << { \voiceOne g2( a) } \\ { \voiceTwo a,( b) } >> \oneVoice } }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Hacer unas líneas del pentagrama más gruesas que las otras
Se puede engrosar una línea del pentagrama con fines pedagógicos
(p.ej. la tercera línea o la de la clave de Sol). Esto se puede
conseguir añadiendo más líneas muy cerca de la línea que se quiere
destacar, utilizando la propiedad line-positions
del objeto
StaffSymbol
.
{ \override Staff.StaffSymbol.line-positions = #'(-4 -2 -0.2 0 0.2 2 4) d'4 e' f' g' }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Marking notes of spoken parts with a cross on the stem (Sprechstimme)
This example shows how to put crosses on stems. Mark the beginning of
a spoken section with the \speakOn
keyword, and end it with the
\speakOff
keyword.
speakOn = { \override Stem.stencil = #(lambda (grob) (let* ((x-parent (ly:grob-parent grob X)) (is-rest? (ly:grob? (ly:grob-object x-parent 'rest)))) (if is-rest? empty-stencil (ly:stencil-combine-at-edge (ly:stem::print grob) Y (- (ly:grob-property grob 'direction)) (grob-interpret-markup grob (markup #:center-align #:fontsize -4 #:musicglyph "noteheads.s2cross")) -2.3)))) } speakOff = { \revert Stem.stencil \revert Flag.stencil } \score { \new Staff { \relative c'' { a4 b a c \speakOn g4 f r g b4 r d e \speakOff c4 a g f } } }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Contador de compases
Este fragmento de código proporciona una solución alternativa a la producción de contadores de compás utilizando repeticiones transparentes de tipo porcentaje.
<< \context Voice = "foo" { \clef bass c4 r g r c4 r g r c4 r g r c4 r g r } \context Voice = "foo" { \set countPercentRepeats = ##t \hide PercentRepeat \override PercentRepeatCounter.staff-padding = #1 \repeat percent 4 { s1 } } >>
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Measure spanner
Measure spanners are an alternate way to print annotated brackets. As opposed to horizontal brackets, they extend between two bar lines rather than two notes. The text is displayed in the center of the bracket.
\paper { tagline = ##f } \layout { \context { \Staff \consists Measure_spanner_engraver } } << \new Staff \relative c'' { \key d \minor R1*2 \tweak text "Answer" \startMeasureSpanner \tuplet 3/2 8 { a16[ b c] d[ c b] c[ d e] f[ e d] } e8 a gis g fis f e d~ d c b e \stopMeasureSpanner } \new Staff \relative c' { \key d \minor \tweak text "Subject" \tweak direction #DOWN \startMeasureSpanner \tuplet 3/2 8 { d16[ e f] g[ f e] f[ g a] bes[ a g] } a8 d cis c b bes a g~ g f e a \stopMeasureSpanner \tweak text "Counter-subject" \tweak direction #DOWN \startMeasureSpanner f8 e a r r16 b, c d e fis g e a gis a b c fis, b a gis e a4 g8 \stopMeasureSpanner } >>
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Numerar grupos de compases
Este fragmento de código muestra el uso del grabador
Measure_counter_engraver
para numerar grupos de compases
sucesivos. Se puede numerar cualquier período de compases tanto si
tiene repeticiones como si no.
Se debe añadir el grabador al contexto adecuado. Aquí se usa un
contexto Staff
; otra posibilidad sería un contexto
Dynamics
.
El contador se inicia con \startMeasureCount
y finaliza con
\stopMeasureCount
. La numeración comienza con 1
, de
forma predeterminada, pero se puede modificar este comportamiento
sobreescribiendo la propiedad count-from
.
Cuando un compás se extiende más allá de un salto de línea, el número aparece dos veces, la segunda vez entre paréntesis.
\layout { \context { \Staff \consists #Measure_counter_engraver } } \new Staff { \startMeasureCount \repeat unfold 7 { c'4 d' e' f' } \stopMeasureCount \bar "||" g'4 f' e' d' \override Staff.MeasureCounter.count-from = #2 \startMeasureCount \repeat unfold 5 { g'4 f' e' d' } g'4 f' \bar "" \break e'4 d' \repeat unfold 7 { g'4 f' e' d' } \stopMeasureCount }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Posicionamiento preciso de indicaciones de digitación
Generalmente, las opciones disponibles para la digitación de los acordes funciona bien de forma predeterminada, pero si una de las indicaciones precisa colocarse de forma más exacta puede usarse el truco siguiente. Esto es especialmente útil para corregir el posicionado cuando están presentes intervalos de segunda.
\relative c' { \set fingeringOrientations = #'(left) <c-1 d-2 a'-5>4 <c-1 d-\tweak extra-offset #'(0 . 0.2)-2 a'-5>4 \set fingeringOrientations = #'(down) <c-1 d-2 a'-5>4 <c-\tweak extra-offset #'(0 . -1.1)-1 d-\tweak extra-offset #'(-1.2 . -1.8)-2 a'-5>4 \set fingeringOrientations = #'(down right up) <c-1 d-\tweak extra-offset #'(-0.3 . 0)-2 a'-5>4 <c-1 d-\tweak extra-offset #'(-1 . 1.2)-2 a'-5>4 \set fingeringOrientations = #'(up) <c-1 d-\tweak extra-offset #'(0 . 1.1)-2 a'-\tweak extra-offset #'(0 . 1)-5>4 <c-1 d-\tweak extra-offset #'(-1.2 . 1.5)-2 a'-\tweak extra-offset #'(0 . 1.4)-5>4 }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Situar los elementos de marcado de texto por dentro de las ligaduras
Los elementos de marcado de texto deben tener la propiedad
outside-staff-priority
establecida al valor falso para que se
impriman por dentro de las ligaduras de expresión.
\relative c'' { \override TextScript.avoid-slur = #'inside \override TextScript.outside-staff-priority = ##f c2(^\markup { \halign #-10 \natural } d4.) c8 }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Impresión de texto de derecha a izquierda
Es posible imprimir texto de derecha a izquierda en un elemento de marcado, como se muestra aquí.
{ b1^\markup { \line { i n g i r u m i m u s n o c t e } } f'_\markup { \override #'(text-direction . -1) \line { i n g i r u m i m u s n o c t e } } }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Líneas de extensión para números de cuerda
Hacemos una línea extensora para las indicaciones de número de cuerda, motrando que una serie de notas se han de tocar sobre la misma cuerda.
stringNumberSpanner = #(define-music-function (StringNumber) (string?) #{ \override TextSpanner.style = #'solid \override TextSpanner.font-size = #-5 \override TextSpanner.bound-details.left.stencil-align-dir-y = #CENTER \override TextSpanner.bound-details.left.text = \markup { \circle \number $StringNumber } #}) \relative c { \clef "treble_8" \stringNumberSpanner "5" \textSpannerDown a8\startTextSpan b c d e f\stopTextSpan \stringNumberSpanner "4" g\startTextSpan a bes4 a g2\stopTextSpan }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ > ] |
Uso del lenguaje PostScript para generar cabezas de nota de formas especiales
Cuando la cabeza de una nota con una forma especial no se puede generar fácilmente mediante elementos de marcado gráfico, puede emplearse código de PostScript para generar la forma. Este ejemplo muestra cómo se genera una cabeza en forma de paralelogramo.
parallelogram = #(ly:make-stencil (list 'embedded-ps "gsave currentpoint translate newpath 0 0.25 moveto 1.3125 0.75 lineto 1.3125 -0.25 lineto 0 -0.75 lineto closepath fill grestore" ) (cons 0 1.3125) (cons -.75 .75)) myNoteHeads = \override NoteHead.stencil = \parallelogram normalNoteHeads = \revert NoteHead.stencil \relative c'' { \myNoteHeads g4 d' \normalNoteHeads <f, \tweak stencil \parallelogram b e>4 d }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ Text > ] |
Uso de la propiedad whiteout
Se puede imprimir cualquier objeto gráfico sobre un fondo blanco para
enmascarar parte de los objetos que están por debajo. Esto puede ser
útil para mejorar el aspecto de las colisiones en situaciones
complejas cuando no es práctico reposicionar los objetos. Es
necesario establecer explícitamente la propiedad de capa
(layer
) para controlar qué objetos resultan enmascarados por el
fondo blanco.
En este ejemplo, la colisión de la ligadura de unión con la indicación
de compás resulta mejorada enmascarando la parte de la ligadura que
cruza a la indicación de compás mediante el establecimiento de la
propiedad whiteout
de TimeSignature
. Para hacer esto,
se mueve TimeSignature
a una capa por encima de Tie
, que
se deja en la capa predeterminada de 1, y StaffSymbol
se mueve
a una capa por encima de TimeSignature
de manera que no resulte
enmascarada.
{ \override Score.StaffSymbol.layer = #4 \override Staff.TimeSignature.layer = #3 b'2 b'~ \once \override Staff.TimeSignature.whiteout = ##t \time 3/4 b' r4 }
[ << Editorial annotations ] | [Arriba][Índice general] | [ Text >> ] |
[ < ] | [ Subir : Editorial annotations ] | [ Text > ] |