@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
@ignore
- Translation of GIT committish: ba9298b3ea614367f3f463134bf49ba2cbd8c1fb
+ Translation of GIT committish: d3f5ef1663963358c4901195143c529e5915b320
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
Guide, node Updating translation committishes..
@end ignore
-@c \version "2.12.0"
+@c \version "2.13.29"
@node Trucar la salida
@chapter Trucar la salida
@cindex NoteHead, ejemplo de sobreescritura
@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
-c d
+c4 d
\override NoteHead #'color = #red
-e f g
+e4 f |
\override NoteHead #'color = #green
-a b c
+g4 a b c |
@end lilypond
@strong{La instrucción \revert}
@cindex NoteHead, ejemplo de sobreescritura
@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
-c d
+c4 d
\override NoteHead #'color = #red
-e f g
+e4 f |
\override NoteHead #'color = #green
-a
+g4 a
\revert NoteHead #'color
-b c
+b4 c |
@end lilypond
@strong{El prefijo \once}
@cindex NoteHead, ejemplo de sobreescritura
@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
-c d
+c4 d
\once \override NoteHead #'color = #red
-e f g
+e4 f |
\once \override NoteHead #'color = #green
-a b c
+g4 a b c |
@end lilypond
@strong{La instrucción \overrideProperty}
@cindex NoteHead, ejemplo de sobreescritura
@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
- <c e g>4
- \once \override NoteHead #'font-size = #-3
- <c e g>
- <c e g>
+<c e g>4
+\once \override NoteHead #'font-size = #-3
+<c e g>4
+<c e g>4
@end lilypond
Vemos que la sobreescritura con override afecta a @emph{todas} las
@cindex @code{\tweak}, ejemplo
@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
- <c e g>4
- <c \tweak #'font-size #-3 e g>4
+<c e g>4
+<c \tweak #'font-size #-3 e g>4
@end lilypond
Observe que la sintaxis de @code{\tweak} no es igual que la de
@cindex @code{\tweak}, ejemplo
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-a ^Black
- -\tweak #'color #red ^Red
- -\tweak #'color #green _Green
+a4^"Black"
+ -\tweak #'color #red ^"Red"
+ -\tweak #'color #green _"Green"
@end lilypond
@noindent
\tweak #'direction #up
\times 4/3 {
\tweak #'color #red
- \times 2/3 { c8[ c8 c8] }
- \times 2/3 { c8[ c8 c8] }
- \times 2/3 { c8[ c8 c8] }
+ \times 2/3 { c8[ c c] }
+ \times 2/3 { c8[ c c] }
+ \times 2/3 { c8[ c c] }
}
@end lilypond
\once \override TupletNumber
#'text = #tuplet-number::calc-fraction-text
\times 2/3 {
- c[ c]
- c[ c]
+ c8[ c]
+ c8[ c]
\once \override TupletNumber #'transparent = ##t
\times 2/3 { c8[ c c] }
\times 2/3 { c8[ c c] }
Utilicemos un ejemplo concreto con un sencillo fragmento de música
real:
+@c Mozart, dúo, núm. 7 de La Flauta Mágica
+
@lilypond[quote,verbatim,relative=2]
{
+ \key es \major
\time 6/8
{
- r4 b8 b[( g]) g
- g4[( e]) e d[( f]) a
- a4 g
+ r4 bes8 bes[( g]) g |
+ g8[( es]) es d[( f]) as |
+ as8 g
}
\addlyrics {
- The man who feels love's sweet e -- mo -- tion
+ The man who | feels love's sweet e -- | mo -- tion
}
}
@end lilypond
@lilypond[quote,verbatim,relative=2]
{
+ \key es \major
\time 6/8
{
% Increase thickness of all following slurs from 1.2 to 5.0
\override Slur #'thickness = #5.0
- r4 b8 b[( g]) g
- g4[( e]) e d[( f]) a
- a4 g
+ r4 bes8 bes[( g]) g |
+ g8[( es]) es d[( f]) as |
+ as8 g
}
\addlyrics {
- The man who feels love's sweet e -- mo -- tion
+ The man who | feels love's sweet e -- | mo -- tion
}
}
@end lilypond
@lilypond[quote,verbatim,relative=2]
{
+ \key es \major
\time 6/8
{
- r4 b8
+ r4 bes8
% Increase thickness of immediately following slur only
\once \override Slur #'thickness = #5.0
- b4[( g]) g
- g4[( e]) e d[( f]) a
- a4 g
+ bes8[( g]) g |
+ g8[( es]) es d[( f]) as |
+ as8 g
}
\addlyrics {
- The man who feels love's sweet e -- mo -- tion
+ The man who | feels love's sweet e -- | mo -- tion
}
}
@end lilypond
@lilypond[quote,verbatim,relative=2]
{
+ \key es \major
\time 6/8
{
- r4 b8
+ r4 bes8
% Increase thickness of immediately following slur only
\once \override Slur #'thickness = #5.0
- b4[( g]) g
+ bes[( g]) g |
% Increase thickness of immediately following slur only
\once \override Slur #'thickness = #5.0
- g4[( e]) e d[( f]) a
- a4 g
+ g8[( es]) es d[( f]) as |
+ as8 g
}
\addlyrics {
- The man who feels love's sweet e -- mo -- tion
+ The man who | feels love's sweet e -- | mo -- tion
}
}
@end lilypond
@lilypond[quote,verbatim,relative=2]
{
+ \key es \major
\time 6/8
{
- r4 b8
+ r4 bes8
% Increase thickness of all following slurs from 1.2 to 5.0
\override Slur #'thickness = #5.0
- b4[( g]) g
- g4[( e])
+ bes[( g]) g |
+ g8[( es]) es
% Revert thickness of all following slurs to default of 1.2
\revert Slur #'thickness
- e4 d[( f]) a
- a4 g
+ d8[( f]) as |
+ as8 g
}
\addlyrics {
- The man who feels love's sweet e -- mo -- tion
+ The man who | feels love's sweet e -- | mo -- tion
}
}
@end lilypond
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
{
+ \key es \major
\time 6/8
{
- r4 b8 b[( g]) g
- g4[( e]) e d[( f]) a
- a4 g
+ r4 bes8 bes[( g]) g |
+ g8[( es]) es d[( f]) as |
+ as8 g
}
\addlyrics {
\override LyricText #'font-shape = #'italic
- The man who feels love's sweet e -- mo -- tion
+ The man who | feels love's sweet e -- | mo -- tion
}
}
@end lilypond
{
\time 12/16
\override BarLine #'stencil = ##f
- c4 b8 c d16 c d8
- g,8 a16 b8 c d4 e16
+ c4 b8 c d16 c d8 |
+ g,8 a16 b8 c d4 e16 |
e8
}
@end lilypond
{
\time 12/16
\override Staff.BarLine #'stencil = ##f
- c4 b8 c d16 c d8
- g,8 a16 b8 c d4 e16
+ c4 b8 c d16 c d8 |
+ g,8 a16 b8 c d4 e16 |
e8
}
@end lilypond
@lilypond[quote,verbatim,relative=2]
{
- c c
+ c4 c
\once \override NoteHead #'stencil = #point-stencil
- c c
+ c4 c
}
@end lilypond
{
\time 12/16
\override Staff.BarLine #'break-visibility = #'#(#f #f #f)
- c4 b8 c d16 c d8
- g,8 a16 b8 c d4 e16
+ c4 b8 c d16 c d8 |
+ g,8 a16 b8 c d4 e16 |
e8
}
@end lilypond
{
\time 12/16
\override Staff.TimeSignature #'transparent = ##t
- c4 b8 c d16 c d8
- g,8 a16 b8 c d4 e16
+ c4 b8 c d16 c d8 |
+ g,8 a16 b8 c d4 e16 |
e8
}
@end lilypond
{
\time 12/16
\override Staff.TimeSignature #'stencil = ##f
- c4 b8 c d16 c d8
- g,8 a16 b8 c d4 e16
+ c4 b8 c d16 c d8 |
+ g,8 a16 b8 c d4 e16 |
e8
}
@end lilypond
{
\time 12/16
\override Staff.BarLine #'color = #white
- c4 b8 c d16 c d8
- g,8 a16 b8 c d4 e16
+ c4 b8 c d16 c d8 |
+ g,8 a16 b8 c d4 e16 |
e8
}
@end lilypond
{
\time 12/16
\override Staff.BarLine #'color = #(x11-color 'white)
- c4 b8 c d16 c d8
- g,8 a16 b8 c d4 e16
+ c4 b8 c d16 c d8 |
+ g,8 a16 b8 c d4 e16 |
e8
}
@end lilypond
{
\time 12/16
\override Staff.BarLine #'color = #(rgb-color 1 1 1)
- c4 b8 c d16 c d8
- g,8 a16 b8 c d4 e16
+ c4 b8 c d16 c d8 |
+ g,8 a16 b8 c d4 e16 |
e8
}
@end lilypond
\override Voice.Stem #'color = #(x11-color 'grey85)
\override Staff.BarLine #'color = #(x11-color 'grey10)
c4 b8 c d16 c d8 |
- g, a16 b8 c d4 e16 |
+ g,8 a16 b8 c d4 e16 |
e8
}
@end lilypond
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
\new Staff ="main" {
\relative g' {
- r4 g8 g c4 c8 d
+ r4 g8 g c4 c8 d |
e4 r8
<<
{ f8 c c }
alignAboveContext = #"main" }
{ f8 f c }
>>
- r4
+ r4 |
}
}
@end lilypond
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
\new Staff ="main" {
\relative g' {
- r4 g8 g c4 c8 d
+ r4 g8 g c4 c8 d |
e4 r8
<<
{ f8 c c }
{ f8 f c }
}
>>
- r4
+ r4 |
}
}
@end lilypond
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
\new Staff ="main" {
\relative g' {
- r4 g8 g c4 c8 d
+ r4 g8 g c4 c8 d |
e4 r8
<<
{ f8 c c }
}
{ f8 f c }
>>
- r4
+ r4 |
}
}
@end lilypond
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
\new Staff ="main" {
\relative g' {
- r4 g8 g c4 c8 d
+ r4 g8 g c4 c8 d |
e4 r8
<<
{ f8 c c }
}
{ f8 f c }
>>
- r4
+ r4 |
}
}
@end lilypond
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
\new Staff ="main" {
\relative g' {
- r4 g8 g c4 c8 d
+ r4 g8 g c4 c8 d |
e4 r8
<<
{ f8 c c }
}
{ f8 f c }
>>
- r4
+ r4 |
}
}
@end lilypond
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
c2^"Text1"
-c2^"Text2"
+c2^"Text2" |
c2^"Text3"
-c2^"Text4"
+c2^"Text4" |
@end lilypond
Los pentagramas también se posicionan, de forma predeterminada, tan
@cindex direction, propiedad, ejemplo
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
-a4 g c a
+a4 g c a |
\override Stem #'direction = #DOWN
-a4 g c a
+a4 g c a |
\override Stem #'direction = #UP
-a4 g c a
+a4 g c a |
\revert Stem #'direction
-a4 g c a
+a4 g c a |
@end lilypond
Aquí utilizamos las constantes @code{DOWN} (abajo) y @code{UP}
@cindex direction, propiedad, ejemplo
@lilypond[quote,verbatim,relative=2]
-c-5 a-3 f-1 c'-5
+c4-5 a-3 f-1 c'-5 |
\override Fingering #'direction = #DOWN
-c-5 a-3 f-1 c'-5
+c4-5 a-3 f-1 c'-5 |
\override Fingering #'direction = #UP
-c-5 a-3 f-1 c'-5
+c4-5 a-3 f-1 c'-5 |
@end lilypond
Sin embargo, la sobreescritura de la propiedad @code{direction} no es
@cindex digitación, ejemplo
@lilypond[quote,verbatim,relative=2]
-c-5 a-3 f-1 c'-5
-c_5 a_3 f_1 c'_5
-c^5 a^3 f^1 c'^5
+c4-5 a-3 f-1 c'-5 |
+c4_5 a_3 f_1 c'_5 |
+c4^5 a^3 f^1 c'^5 |
@end lilypond
La propiedad @code{direction} se ignora para los acordes, pero los
@cindex digitación, ejemplo
@lilypond[quote,verbatim,relative=2]
-<c-5 g-3>
-<c-5 g-3 e-2>
-<c-5 g-3 e-2 c-1>
+<c-5 g-3>4
+<c-5 g-3 e-2>4
+<c-5 g-3 e-2 c-1>4
@end lilypond
@noindent
@cindex digitación, ejemplo
@lilypond[quote,verbatim,relative=2]
-<c-5 g-3 e-2 c-1>
-<c^5 g_3 e_2 c_1>
-<c^5 g^3 e^2 c_1>
+<c-5 g-3 e-2 c-1>4
+<c^5 g_3 e_2 c_1>4
+<c^5 g^3 e^2 c_1>4
@end lilypond
Es posible ejercer un control aún mayor sobre la colocación de las
@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
\set fingeringOrientations = #'(left)
-<f-2>
+<f-2>4
<c-1 e-2 g-3 b-5>4
\set fingeringOrientations = #'(left)
-<f-2>
-<c-1 e-2 g-3 b-5>4
+<f-2>4
+<c-1 e-2 g-3 b-5>4 |
\set fingeringOrientations = #'(up left down)
-<f-2>
+<f-2>4
<c-1 e-2 g-3 b-5>4
\set fingeringOrientations = #'(up left)
-<f-2>
-<c-1 e-2 g-3 b-5>4
+<f-2>4
+<c-1 e-2 g-3 b-5>4 |
\set fingeringOrientations = #'(right)
-<f-2>
+<f-2>4
<c-1 e-2 g-3 b-5>4
@end lilypond
@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
\override Fingering #'font-size = #-7
\set fingeringOrientations = #'(left)
-<f-2>
+<f-2>4
<c-1 e-2 g-3 b-5>4
\set fingeringOrientations = #'(left)
-<f-2>
-<c-1 e-2 g-3 b-5>4
+<f-2>4
+<c-1 e-2 g-3 b-5>4 |
\set fingeringOrientations = #'(up left down)
-<f-2>
+<f-2>4
<c-1 e-2 g-3 b-5>4
\set fingeringOrientations = #'(up left)
-<f-2>
-<c-1 e-2 g-3 b-5>4
+<f-2>4
+<c-1 e-2 g-3 b-5>4 |
\set fingeringOrientations = #'(right)
-<f-2>
+<f-2>4
<c-1 e-2 g-3 b-5>4
@end lilypond
c4\pp\<
c4
% Add Text Script
-c4^Text
+c4^Text |
c4 c
% Add Dynamic Text and terminate hairpin
-c4\ff c \stopTextSpan
+c4\ff c \stopTextSpan |
% Stop Ottava Bracket
\ottava #0
-c,4 c c c
+c,4 c c c |
@end lilypond
Este ejemplo también muestra cómo crear textos con extensión (Text
= \markup { \small \bold Slower }
% Place dynamics above staff
\dynamicUp
-%Place following Ottava Bracket below Text Spanners
+% Place following Ottava Bracket below Text Spanners
\once \override Staff.OttavaBracket #'outside-staff-priority = #340
% Start Ottava Bracket
\ottava #1
% Add Dynamic Line Spanner
c4\<
% Add Text Script
-c4^Text
+c4^Text |
c4 c
% Add Dynamic Text
-c4\ff c \stopTextSpan
+c4\ff c \stopTextSpan |
% Stop Ottava Bracket
\ottava #0
-c,4 c c c
+c,4 c c c |
@end lilypond
@cindex ligaduras y outside-staff-priority
que muestra el efecto de los dos métodos:
@lilypond[quote,verbatim,relative=2]
-c4( c^\markup { \tiny \sharp } d4.) c8
+c4( c^\markup { \tiny \sharp } d4.) c8 |
c4(
\once \override TextScript #'avoid-slur = #'inside
\once \override TextScript #'outside-staff-priority = ##f
-c4^\markup \tiny \sharp d4.) c8
+c4^\markup { \tiny \sharp } d4.) c8 |
\once \override Slur #'outside-staff-priority = #500
-c4( c^\markup { \tiny \sharp } d4.) c8
+c4( c^\markup { \tiny \sharp } d4.) c8 |
@end lilypond
Los cambios en @code{outside-staff-priority} también se pueden emplear
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
c2^"Text1"
-c2^"Text2"
+c2^"Text2" |
\once \override TextScript #'outside-staff-priority = #500
c2^"Text3"
-c2^"Text4"
+c2^"Text4" |
@end lilypond
Esto, ciertamente, eleva a @qq{Text3} por encima de @qq{Text4} pero
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
\textLengthOn % Cause notes to space out to accommodate text
c2^"Text1"
-c2^"Text2"
+c2^"Text2" |
c2^"Text3"
-c2^"Text4"
+c2^"Text4" |
@end lilypond
La instrucción para volver al comportamiento predeterminado es
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
% This markup is short enough to fit without collision
-c2^"Tex"
-c''2
-R1
+c2^"Tex" c'' |
+R1 |
+
% This is too long to fit, so it is displaced upwards
-c,,2^"Text"
-c''2
-R1
+c,,2^"Text" c'' |
+R1 |
+
% Turn off collision avoidance
\once \override TextScript #'outside-staff-priority = ##f
-c,,2^"Long Text "
-c''2
-R1
+c,,2^"Long Text " c'' |
+R1 |
+
% Turn off collision avoidance
\once \override TextScript #'outside-staff-priority = ##f
-\textLengthOn % and turn on textLengthOn
+\textLengthOn % and turn on textLengthOn
c,,2^"Long Text " % Spaces at end are honored
-c''2
+c''2 |
@end lilypond
\key aes \major
\time 9/8
\dynamicUp
-bes4.~\f\< \( bes4 bes8 des4\ff\> c16 bes\!
-ees,2.~\)\mf ees4 r8
+bes4.~\f\< \( bes4 bes8 des4\ff\> c16 bes\! |
+ees,2.~\)\mf ees4 r8 |
@end lilypond
Sin embargo, si las notas y sus indicaciones dinámicas adosadas están
@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
\dynamicUp
\override DynamicText #'extra-spacing-width = #'(0 . 0)
-a4\f b\mf c\mp b\p
+a4\f b\mf c\mp b\p |
@end lilypond
@noindent
Ya se ha estudiado con cierto detalle: véase @ref{Objetos interiores al pentagrama}.
@item
-@code{padding} (relleno), @code{left-padding} (relleno por la
-izquierda), @code{right-padding} (relleno por la derecha),
+@code{padding} (relleno),
+@code{right-padding} (relleno por la derecha),
@code{staff-padding} (relleno de pentagrama)
@cindex relleno
-@cindex left-padding, propiedad
@cindex padding, propiedad
@cindex right-padding, propiedad
@cindex staff-padding, propiedad
@code{side-position-interface}.
En lugar de con @code{padding}, la colocación de los grupos de
-alteraciones se controla con @code{left-padding} y
-@code{right-padding}. Estas propiedades se encontrarán en el objeto
+alteraciones se controla con
+@code{right-padding}. Esta propiedad se encuentra en el objeto
@code{AccidentalPlacement} que, observe, vive dentro del contexto de
-@strong{staff}. Durante el proceso tipográfico, las cabezas de las
+@strong{Staff}. Durante el proceso tipográfico, las cabezas de las
notas se componen tipográficamente en primer lugar, y después las
alteraciones, si existen, se añaden a la izquierda de las cabezas
utilizando la propiedad de relleno por la derecha @code{right-padding}
-para determinar la separación entre la alteración y la cabeza. así
+para determinar la separación entre la alteración y la cabeza, y
+de las alteraciones entre sí. Así
pues, sólo la propiedad de relleno por la derecha @code{right-padding}
del objeto @code{AccidentalPlacement} tiene efecto sobre la colocación
de las alteraciones.
@lilypond[quote,fragment,relative=1,verbatim]
% This will not work, see below
\override MetronomeMark #'padding = #3
-\tempo 4=120
-c1
+\tempo 4 = 120
+c1 |
% This works
\override Score.MetronomeMark #'padding = #3
-\tempo 4=80
-d1
+\tempo 4 = 80
+d1 |
@end lilypond
Observe en el segundo ejemplo la gran importancia que tiene saber qué
de él.
-@subheading left-padding y right-padding (relleno por la izquierda y por la derecha)
+@subheading right-padding (relleno por la derecha)
-@cindex left-padding, propiedad
@cindex right-padding, propiedad
La propiedad @code{right-padding} afecta al espaciado entre la
\once \override Accidental
#'stencil = #ly:text-interface::print
\once \override Accidental #'text = #sesquisharp
- cis4
+ cis4 |
}
@end lilypond
@lilypond[quote,fragment,ragged-right,verbatim,relative=3]
\voiceOne
-< a\2 >
+<a\2>
\once \override StringNumber #'self-alignment-X = #RIGHT
-< a\2 >
+<a\2>
@end lilypond
@subheading la propiedad staff-position (posición en el pentagrama)
@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
r4
\once \override PhrasingSlur #'positions = #'(-4 . -3)
-\acciaccatura
-e8\( d8 c~ c d c d\)
+\acciaccatura e8\( d8 c~ c d c d\)
@end lilypond
Presentamos un ejemplo más extraído del comienzo del pentagrama de la
@lilypond[quote,verbatim,fragment,ragged-right]
{
\clef "bass"
- << { b,8 ais, b, g, } \\ { e, g e, g } >>
- << { b,8 ais, b, g, } \\ { e, g e, g } >>
+ << { b,8 ais, b, g, } \\ { e,8 g e, g } >>
+ << { b,8 ais, b, g, } \\ { e,8 g e, g } >>
}
@end lilypond
\\
{ e,8 g e, g }
>>
- << { b,8 ais, b, g, } \\ { e, g e, g } >>
+ << { b,8 ais, b, g, } \\ { e,8 g e, g } >>
}
@end lilypond
\new Staff \relative c'' {
\key aes \major
<<
- { c2 aes4. bes8 } \\
- { aes2 f4 fes } \\
- { \voiceFour
- <ees c>2
- des2
+ { c2 aes4. bes8 }
+ \\
+ { aes2 f4 fes }
+ \\
+ {
+ \voiceFour
+ <ees c>2 des
}
- >>
- <c ees aes c>1
+ >> |
+ <c ees aes c>1 |
}
@end lilypond
\new Staff \relative c'' {
\key aes \major
<<
- { c2 aes4. bes8 } \\
- { aes2 f4 fes } \\
- { \voiceFour
+ { c2 aes4. bes8 }
+ \\
+ { aes2 f4 fes }
+ \\
+ {
+ \voiceFour
\once \override NoteColumn #'force-hshift = #0
<ees c>2
\once \override NoteColumn #'force-hshift = #0.5
des2
}
- >>
- <c ees aes c>1
+ >> |
+ <c ees aes c>1 |
}
@end lilypond
trucos para producir el resultado deseado. El ejemplo se ha escogido
deliberadamente para ilustrar el uso de la Referencia de la Notación
para resolver problemas de notación poco comunes. No es
-representativo de un proceso de grabado más usual, por lo que ¡le
+representativo del proceso de grabado más usual, por lo que ¡le
recomendamos que no deje que estas dificultades le desanimen!
¡Afortunadamente, las dificultades como éstas no son muy comunes!
@c The following should appear as music without code
@c This example should not be indexed
@c line-width ensures no break
-@lilypond[quote,ragged-right,line-width=5.5\in]
+@lilypond[quote,ragged-right,line-width=6\in]
rhMusic = \relative c'' {
- r2
- c4.\( g8
- \once \override Tie #'staff-position = #3.5
- bes1~
- \bar "||"
- \time 6/4
- \mergeDifferentlyHeadedOn
- \mergeDifferentlyDottedOn
- bes2.^\markup { \bold "Moderato" } r8
- <<
- { c,8 d fis bes a }
- \\
- % Reposition the c2 to the right of the merged note
- { c,8~ \once \override NoteColumn #'force-hshift = #1.0
- % Move the c2 out of the main note column so the merge will work
- \shiftOnn c2 }
- \\
- % Stem on the d2 must be down to permit merging
- { s8 \stemDown
- \once \override Stem #'transparent = ##t
- d2
- }
- \\
- { s4 fis4. }
- >>
- \mergeDifferentlyHeadedOff
- \mergeDifferentlyDottedOff
- g2.\)
+ \new Voice {
+ r2 c4.\( g8 |
+ \once \override Tie #'staff-position = #3.5
+ bes1~ |
+ \bar "||"
+ \time 6/4
+ \mergeDifferentlyHeadedOn
+ \mergeDifferentlyDottedOn
+ bes2.^\markup { \bold "Moderato" } r8
+ <<
+ { c,8 d fis bes a }
+ \new Voice {
+ \voiceTwo
+ c,8~
+ % Reposition the c2 to the right of the merged note
+ \once \override NoteColumn #'force-hshift = #1.0
+ % Move the c2 out of the main note column so the merge will work
+ \shiftOnn
+ c2
+ }
+ \new Voice {
+ \voiceThree
+ s8
+ % Stem on the d2 must be down to permit merging
+ \stemDown
+ % Stem on the d2 should be invisible
+ \once \override Stem #'transparent = ##t
+ d2
+ }
+ \new Voice {
+ \voiceFour
+ s4 fis4.
+ }
+ >> |
+ \mergeDifferentlyHeadedOff
+ \mergeDifferentlyDottedOff
+ g2.\)
+ }
}
lhMusic = \relative c' {
- r2 <c g ees>2(
- <d g, d>1)\arpeggio
- r2. d,,4 r4 r
+ r2 <c g ees>2( |
+ <d g, d>1)\arpeggio |
+ r2. d,,4 r4 r |
r4
}
barra, la nota Do ligada, el Re blanca que se funde con el Re corchea,
y el Fa sostenido negra con puntillo, que también está fundida con la
corchea de su misma altura. Todo lo demás está en una sola voz, así
-que lo más fácil es introducir estas cuatro voces temporalmente en el
-momento en que se necesiten. Si ha olvidado cómo hacerlo, lea
-@ref{Oigo voces}. Vamos a comenzar introduciendo las notas
-como dos variables y disponiendo la estructura de pentagramas en un
-bloque Score, y veremos qué produce LilyPond de forma predeterminada:
+que lo más fácil es introducir estas tres voces adicionales, en el
+momento en que se necesiten y de forma temporal. Si ha olvidado cómo
+hacerlo, lea las secciones @ref{Oigo voces} y @ref{Voces explícitas}.
+Aquí tomamos la decisión de utilizar voces instanciadas explícitamente
+para el pasaje polifónico, dado que LilyPond es más probable que pueda
+evitar las colisiones si todas las voces se instancian explícitamente
+de esta forma.
+
+Vamos a comenzar introduciendo las notas como dos variables y
+disponiendo la estructura de pentagramas en un bloque Score, y veremos
+qué produce LilyPond de forma predeterminada:
@c line-width ensures no break
-@lilypond[quote,verbatim,ragged-right,line-width=5.5\in]
+@lilypond[quote,verbatim,ragged-right,line-width=6\in]
rhMusic = \relative c'' {
- r2 c4. g8
- bes1~
- \time 6/4
- bes2. r8
- % Start polyphonic section of four voices
- <<
- { c,8 d fis bes a }
- \\
- { c,8~ c2 }
- \\
- { s8 d2 }
- \\
- { s4 fis4. }
- >>
- g2.
+ \new Voice {
+ r2 c4. g8 |
+ bes1~ |
+ \time 6/4
+ bes2. r8
+ % Start polyphonic section of four voices
+ <<
+ { c,8 d fis bes a } % continuation of main voice
+ \new Voice {
+ \voiceTwo
+ c,8~ c2
+ }
+ \new Voice {
+ \voiceThree
+ s8 d2
+ }
+ \new Voice {
+ \voiceFour
+ s4 fis4.
+ }
+ >> |
+ g2. % continuation of main voice
+ }
}
lhMusic = \relative c' {
- r2 <c g ees>2
- <d g, d>1
- r2. d,,4 r4 r
+ r2 <c g ees>2 |
+ <d g, d>1 |
+ r2. d,,4 r4 r |
r4
}
Todas las notas son correctas, pero el aspecto está lejos de ser
satisfactorio. La ligadura de unión choca con el cambio de compás,
-las notas no se funden correctamente, y faltan algunos elementos de
+ciertas notas no se funden correctamente, y faltan algunos elementos de
notación. En primer lugar trataremos con lo más fácil. Podemos
añadir fácilmente la ligadura de expresión de la mano izquierda y la
ligadura de fraseo de la mano derecha, pues todo ello se estudió en el
Tutorial. Al hacerlo así obtenemos:
@c line-width ensures no break
-@lilypond[quote,verbatim,ragged-right,line-width=5.5\in]
+@lilypond[quote,verbatim,ragged-right,line-width=6\in]
rhMusic = \relative c'' {
- r2 c4.\( g8
- bes1~
- \time 6/4
- bes2. r8
- % Start polyphonic section of four voices
- <<
- { c,8 d fis bes a }
- \\
- { c,8~ c2 }
- \\
- { s8 d2 }
- \\
- { s4 fis4. }
- >>
- g2.\)
+ \new Voice {
+ r2 c4.\( g8 |
+ bes1~ |
+ \time 6/4
+ bes2. r8
+ % Start polyphonic section of four voices
+ <<
+ { c,8 d fis bes a } % continuation of main voice
+ \new Voice {
+ \voiceTwo
+ c,8~ c2
+ }
+ \new Voice {
+ \voiceThree
+ s8 d2
+ }
+ \new Voice {
+ \voiceFour
+ s4 fis4.
+ }
+ >> |
+ g2.\) % continuation of main voice
+ }
}
lhMusic = \relative c' {
- r2 <c g ees>2(
- <d g, d>1)
- r2. d,,4 r4 r
+ r2 <c g ees>2( |
+ <d g, d>1) |
+ r2. d,,4 r4 r |
r4
}
Esto se hace mejor moviendo la ligadura hacia arriba. Estudiamos cómo
mover objetos anteriormente en @ref{Mover objetos}, donde dice que
los objetos que están situados de forma relativa al pentagrama se
-pueden mover sobreescribiendo su propiedad @code{staff-position}, que
+pueden mover verticalmente
+sobreescribiendo su propiedad @code{staff-position}, que
se especifica en unidades de medio espacio de pentagrama respecto de
la línea central del pentagrama. Así pues, la sobreescritura
siguiente colocada justo antes de la primera nota ligada subirá la
Con esto se completa el compás dos, dando como resultado:
@c line-width ensures no break
-@lilypond[quote,verbatim,ragged-right,line-width=5.5\in]
+@lilypond[quote,verbatim,ragged-right,line-width=6\in]
rhMusic = \relative c'' {
- r2 c4.\( g8
- \once \override Tie #'staff-position = #3.5
- bes1~
- \bar "||"
- \time 6/4
- bes2. r8
- % Start polyphonic section of four voices
- <<
- { c,8 d fis bes a }
- \\
- { c,8~ c2 }
- \\
- { s8 d2 }
- \\
- { s4 fis4. }
- >>
- g2.\)
+ \new Voice {
+ r2 c4.\( g8 |
+ \once \override Tie #'staff-position = #3.5
+ bes1~ |
+ \bar "||"
+ \time 6/4
+ bes2. r8
+ % Start polyphonic section of four voices
+ <<
+ { c,8 d fis bes a } % continuation of main voice
+ \new Voice {
+ \voiceTwo
+ c,8~ c2
+ }
+ \new Voice {
+ \voiceThree
+ s8 d2
+ }
+ \new Voice {
+ \voiceFour
+ s4 fis4.
+ }
+ >> |
+ g2.\) % continuation of main voice
+ }
}
lhMusic = \relative c' {
- r2 <c g ees>2(
- <d g, d>1)\arpeggio
- r2. d,,4 r4 r
+ r2 <c g ees>2( |
+ <d g, d>1)\arpeggio |
+ r2. d,,4 r4 r |
r4
}
Vayamos ahora al tercer compás y comienzo de la sección Moderato. El
tutorial nos enseñó cómo escribir texto en negrita mediante la
-instrucción @code{\markup}, por lo que añadir @q{Moderato} en negrita
+instrucción @code{\markup}, por lo que añadir @qq{Moderato} en negrita
es fácil. Pero ahora ¿cómo fundimos notas que están en distintas
voces? Aquí es donde debemos volver a buscar ayuda en el manual de
Referencia de la notación. Al buscar la palabra @qq{merge} (mezcla) en
al final, dando como resultado:
@c line-width ensures no break
-@lilypond[quote,ragged-right,line-width=5.5\in]
+@lilypond[quote,ragged-right,line-width=6\in]
rhMusic = \relative c'' {
- r2 c4.\( g8
- \once \override Tie #'staff-position = #3.5
- bes1~
- \bar "||"
- \time 6/4
- bes2.^\markup { \bold "Moderato" } r8
- \mergeDifferentlyHeadedOn
- \mergeDifferentlyDottedOn
- % Start polyphonic section of four voices
- <<
- { c,8 d fis bes a }
- \\
- { c,8~ c2 }
- \\
- { s8 d2 }
- \\
- { s4 fis4. }
- >>
- \mergeDifferentlyHeadedOff
- \mergeDifferentlyDottedOff
- g2.\)
+ \new Voice {
+ r2 c4.\( g8 |
+ \once \override Tie #'staff-position = #3.5
+ bes1~ |
+ \bar "||"
+ \time 6/4
+ bes2.^\markup { \bold "Moderato" } r8
+ \mergeDifferentlyHeadedOn
+ \mergeDifferentlyDottedOn
+ % Start polyphonic section of four voices
+ <<
+ { c,8 d fis bes a } % continuation of main voice
+ \new Voice {
+ \voiceTwo
+ c,8~ c2
+ }
+ \new Voice {
+ \voiceThree
+ s8 d2
+ }
+ \new Voice {
+ \voiceFour
+ s4 fis4.
+ }
+ >> |
+ \mergeDifferentlyHeadedOff
+ \mergeDifferentlyDottedOff
+ g2.\) % continuation of main voice
+ }
}
lhMusic = \relative c' {
- r2 <c g ees>2(
- <d g, d>1)\arpeggio
- r2. d,,4 r4 r
+ r2 <c g ees>2( |
+ <d g, d>1)\arpeggio |
+ r2. d,,4 r4 r |
r4
}
@cindex staff-position, propiedad, ejemplo
@c line-width ensures no break
-@lilypond[quote,verbatim,ragged-right,line-width=5.5\in]
+@lilypond[quote,verbatim,ragged-right,line-width=6\in]
rhMusic = \relative c'' {
- r2 c4.\( g8
- \once \override Tie #'staff-position = #3.5
- bes1~
- \bar "||"
- \time 6/4
- bes2.^\markup { \bold "Moderato" } r8
- \mergeDifferentlyHeadedOn
- \mergeDifferentlyDottedOn
- % Start polyphonic section of four voices
- <<
- { c,8 d fis bes a }
- \\
- % Move the c2 out of the main note column so the merge will work
- { c,8~ \shiftOnn c2 }
- \\
- % Stem on the d2 must be down to permit merging
- { s8 \stemDown d2 }
- \\
- { s4 fis4. }
- >>
- \mergeDifferentlyHeadedOff
- \mergeDifferentlyDottedOff
- g2.\)
+ \new Voice {
+ r2 c4.\( g8 |
+ \once \override Tie #'staff-position = #3.5
+ bes1~ |
+ \bar "||"
+ \time 6/4
+ bes2.^\markup { \bold "Moderato" } r8
+ \mergeDifferentlyHeadedOn
+ \mergeDifferentlyDottedOn
+ % Start polyphonic section of four voices
+ <<
+ { c,8 d fis bes a } % continuation of main voice
+ \new Voice {
+ \voiceTwo
+ % Move the c2 out of the main note column so the merge will work
+ c,8~ \shiftOnn c2
+ }
+ \new Voice {
+ \voiceThree
+ % Stem on the d2 must be down to permit merging
+ s8 \stemDown d2
+ }
+ \new Voice {
+ \voiceFour
+ s4 fis4.
+ }
+ >> |
+ \mergeDifferentlyHeadedOff
+ \mergeDifferentlyDottedOff
+ g2.\) % continuation of main voice
+ }
}
lhMusic = \relative c' {
- r2 <c g ees>2(
- <d g, d>1)\arpeggio
- r2. d,,4 r4 r
+ r2 <c g ees>2( |
+ <d g, d>1)\arpeggio |
+ r2. d,,4 r4 r |
r4
}
@cindex transparent, propiedad, ejemplo
@c line-width ensures no break
-@lilypond[quote,verbatim,ragged-right,line-width=5.5\in]
+@lilypond[quote,verbatim,ragged-right,line-width=6\in]
rhMusic = \relative c'' {
- r2
- c4.\( g8
- \once \override Tie #'staff-position = #3.5
- bes1~
- \bar "||"
- \time 6/4
- bes2.^\markup { \bold "Moderato" } r8
- \mergeDifferentlyHeadedOn
- \mergeDifferentlyDottedOn
- <<
- { c,8 d fis bes a }
- \\
- % Reposition the c2 to the right of the merged note
- { c,8~ \once \override NoteColumn #'force-hshift = #1.0
- % Move the c2 out of the main note column so the merge will work
- \shiftOnn c2 }
- \\
- % Stem on the d2 must be down to permit merging
- { s8 \stemDown
- \once \override Stem #'transparent = ##t
- d2
- }
- \\
- { s4 fis4. }
- >>
- \mergeDifferentlyHeadedOff
- \mergeDifferentlyDottedOff
- g2.\)
+ \new Voice {
+ r2 c4.\( g8 |
+ \once \override Tie #'staff-position = #3.5
+ bes1~ |
+ \bar "||"
+ \time 6/4
+ bes2.^\markup { \bold "Moderato" } r8
+ \mergeDifferentlyHeadedOn
+ \mergeDifferentlyDottedOn
+ % Start polyphonic section of four voices
+ <<
+ { c,8 d fis bes a } % continuation of main voice
+ \new Voice {
+ \voiceTwo
+ c,8~
+ % Reposition the c2 to the right of the merged note
+ \once \override NoteColumn #'force-hshift = #1.0
+ % Move the c2 out of the main note column so the merge will work
+ \shiftOnn
+ c2
+ }
+ \new Voice {
+ \voiceThree
+ s8
+ % Stem on the d2 must be down to permit merging
+ \stemDown
+ % Stem on the d2 should be invisible
+ \once \override Stem #'transparent = ##t
+ d2
+ }
+ \new Voice {
+ \voiceFour
+ s4 fis4.
+ }
+ >> |
+ \mergeDifferentlyHeadedOff
+ \mergeDifferentlyDottedOff
+ g2.\) % continuation of main voice
+ }
}
lhMusic = \relative c' {
- r2 <c g ees>2(
- <d g, d>1)\arpeggio
- r2. d,,4 r4 r
+ r2 <c g ees>2( |
+ <d g, d>1)\arpeggio |
+ r2. d,,4 r4 r |
r4
}
misma voz. Usando dos voces, con las notas ligadas en una de ellas:
@lilypond[quote,fragment,relative=2]
-<< { b8~ b8\noBeam }
-\\ { b[ g8] }
->>
+<< { b8~ b\noBeam } \\ { b8[ g] } >>
@end lilypond
@noindent
<<
{
\once \override Stem #'transparent = ##t
- b8~ b8\noBeam
+ b8~ b\noBeam
}
\\
- { b[ g8] }
+ { b8[ g] }
>>
@end lilypond
{
\once \override Stem #'transparent = ##t
\once \override Stem #'length = #8
- b8~ b8\noBeam
+ b8~ b\noBeam
}
\\
- { b[ g8] }
+ { b8[ g] }
>>
@end lilypond
\once \override Score.MetronomeMark #'transparent = ##t
% Invisible tempo marking to lengthen fermata in MIDI
\tempo 4=80
- a4\fermata
+ a4\fermata |
% New tempo for next section
\tempo 4=100
- a4 a a a
+ a4 a a a |
}
\layout { }
\midi { }
\once \override Score.MetronomeMark #'stencil = ##f
% Invisible tempo marking to lengthen fermata in MIDI
\tempo 4=80
- a4\fermata
+ a4\fermata |
% New tempo for next section
\tempo 4=100
- a4 a a a
+ a4 a a a |
}
\layout { }
\midi { }
línea fuerza una colocación muy alta de la indicación de tempo que
sigue, mientras que la segunda (con el sello suprimido) no lo hace.
+@seealso
+Glosario musical:
+@rglos{system}.
+
+
@node Uso de variables para los trucos
@subsection Uso de variables para los trucos
@translationof Using variables for tweaks
\override Lyrics.LyricText #'font-shape = #'italic
\override Lyrics.LyricText #'font-series = #'bold
}
+
normal = {
\revert Lyrics.LyricText #'font-shape
\revert Lyrics.LyricText #'font-series
}
-global = { \time 4/4 \partial 4 \key c \major}
-SopranoMusic = \relative c' { c4 | e4. e8 g4 g | a a g }
-AltoMusic = \relative c' { c4 | c4. c8 e4 e | f f e }
-TenorMusic = \relative c { e4 | g4. g8 c4. b8 | a8 b c d e4 }
-BassMusic = \relative c { c4 | c4. c8 c4 c | f8 g a b c4 }
-VerseOne = \lyrics { E -- | ter -- nal \emphasize Fa -- ther, \normal | strong to save, }
-VerseTwo = \lyricmode { O | \emphasize Christ, \normal whose voice the | wa -- ters heard, }
-VerseThree = \lyricmode { O | \emphasize Ho -- ly Spi -- rit, \normal | who didst brood }
-VerseFour = \lyricmode { O | \emphasize Tri -- ni -- ty \normal of | love and pow'r }
+global = { \key c \major \time 4/4 \partial 4 }
+
+SopranoMusic = \relative c' { c4 | e4. e8 g4 g | a4 a g }
+AltoMusic = \relative c' { c4 | c4. c8 e4 e | f4 f e }
+TenorMusic = \relative c { e4 | g4. g8 c4. b8 | a8 b c d e4 }
+BassMusic = \relative c { c4 | c4. c8 c4 c | f8 g a b c4 }
+
+VerseOne = \lyrics {
+ E -- | ter -- nal \emphasize Fa -- ther, | \normal strong to save,
+}
+
+VerseTwo = \lyricmode {
+ O | \emphasize Christ, \normal whose voice the | wa -- ters heard,
+}
+
+VerseThree = \lyricmode {
+ O | \emphasize Ho -- ly Spi -- rit, | \normal who didst brood
+}
+
+VerseFour = \lyricmode {
+ O | \emphasize Tri -- ni -- ty \normal of | love and pow'r
+}
\score {
\new ChoirStaff <<
@ref{Trucos avanzados con Scheme}.
@lilypond[quote,verbatim,ragged-right]
-mpdolce = #(make-dynamic-script (markup #:hspace 0 #:translate '(5 . 0)
- #:line(#:dynamic "mp" #:text #:italic "dolce" )))
-
-inst = #(define-music-function (parser location string) (string?)
- (make-music
+mpdolce =
+#(make-dynamic-script
+ (markup #:hspace 0
+ #:translate '(5 . 0)
+ #:line (#:dynamic "mp"
+ #:text #:italic "dolce")))
+
+inst =
+#(define-music-function
+ (parser location string)
+ (string?)
+ (make-music
'TextScriptEvent
'direction UP
'text (markup #:bold (#:box string))))
\relative c'' {
\tempo 4=50
- a4.\mpdolce d8 cis4--\glissando a
- b4 bes a2
+ a4.\mpdolce d8 cis4--\glissando a |
+ b4 bes a2 |
\inst "Clarinet"
- cis4.\< d8 e4 fis
- g8(\! fis)-. e( d)-. cis2
+ cis4.\< d8 e4 fis |
+ g8(\! fis)-. e( d)-. cis2 |
}
@end lilypond
@example
%%% guardar esto en un archivo de nombre "definiciones.ily"
-mpdolce = #(make-dynamic-script (markup #:hspace 0 #:translate '(5 . 0)
- #:line(#:dynamic "mp" #:text #:italic "dolce" )))
-
-inst = #(define-music-function (parser location string) (string?)
- (make-music
+mpdolce =
+#(make-dynamic-script
+ (markup #:hspace 0
+ #:translate '(5 . 0)
+ #:line (#:dynamic "mp"
+ #:text #:italic "dolce")))
+
+inst =
+#(define-music-function
+ (parser location string)
+ (string?)
+ (make-music
'TextScriptEvent
'direction UP
'text (markup #:bold (#:box string))))
\relative c'' @{
\tempo 4=50
- a4.\mpdolce d8 cis4--\glissando a
- b4 bes a2
+ a4.\mpdolce d8 cis4--\glissando a |
+ b4 bes a2 |
\inst "Clarinete"
- cis4.\< d8 e4 fis
- g8(\! fis)-. e( d)-. cis2
+ cis4.\< d8 e4 fis |
+ g8(\! fis)-. e( d)-. cis2 |
@}
@end example
@lilypond[quote,ragged-right]
-mpdolce = #(make-dynamic-script (markup #:hspace 0 #:translate '(5 . 0)
- #:line(#:dynamic "mp" #:text #:italic "dolce" )))
-
-inst = #(define-music-function (parser location string) (string?)
- (make-music
+mpdolce =
+#(make-dynamic-script
+ (markup #:hspace 0
+ #:translate '(5 . 0)
+ #:line (#:dynamic "mp"
+ #:text #:italic "dolce")))
+
+inst =
+#(define-music-function
+ (parser location string)
+ (string?)
+ (make-music
'TextScriptEvent
'direction UP
'text (markup #:bold (#:box string))))
\relative c'' {
\tempo 4=50
- a4.\mpdolce d8 cis4--\glissando a
- b4 bes a2
+ a4.\mpdolce d8 cis4--\glissando a |
+ b4 bes a2 |
\inst "Clarinet"
- cis4.\< d8 e4 fis
- g8(\! fis)-. e( d)-. cis2
+ cis4.\< d8 e4 fis |
+ g8(\! fis)-. e( d)-. cis2 |
}
@end lilypond
-
-
Eso tiene mejor aspecto, pero haremos algunos cambios más. El glissando es difícil
de ver, así que lo haremos más grueso y lo acercaremos a las cabezas de las notas. Pondremos
la indicación metronómica encima de la clave, en lugar de ir encima de la primera
@example
%%% definiciones.ily
-mpdolce = #(make-dynamic-script (markup #:hspace 0 #:translate '(5 . 0)
- #:line( #:dynamic "mp" #:text #:italic "dolce" )))
-
-inst = #(define-music-function (parser location string) (string?)
- (make-music
+mpdolce =
+#(make-dynamic-script
+ (markup #:hspace 0
+ #:translate '(5 . 0)
+ #:line (#:dynamic "mp"
+ #:text #:italic "dolce")))
+
+inst =
+#(define-music-function
+ (parser location string)
+ (string?)
+ (make-music
'TextScriptEvent
'direction UP
'text (markup #:bold (#:box string))))
\layout@{
- \context @{ \Score
+ \context @{
+ \Score
\override MetronomeMark #'extra-offset = #'(-9 . 0)
\override MetronomeMark #'padding = #'3
@}
- \context @{ \Staff
+ \context @{
+ \Staff
\override TimeSignature #'style = #'numbered
@}
- \context @{ \Voice
+ \context @{
+ \Voice
\override Glissando #'thickness = #3
\override Glissando #'gap = #0.1
@}
@end example
@lilypond[quote,ragged-right]
-mpdolce = #(make-dynamic-script (markup #:hspace 0 #:translate '(5 . 0)
- #:line( #:dynamic "mp" #:text #:italic "dolce" )))
-
-inst = #(define-music-function (parser location string) (string?)
- (make-music
+mpdolce =
+#(make-dynamic-script
+ (markup #:hspace 0
+ #:translate '(5 . 0)
+ #:line (#:dynamic "mp"
+ #:text #:italic "dolce")))
+
+inst =
+#(define-music-function
+ (parser location string)
+ (string?)
+ (make-music
'TextScriptEvent
'direction UP
'text (markup #:bold (#:box string))))
\layout{
- \context { \Score
+ \context {
+ \Score
\override MetronomeMark #'extra-offset = #'(-9 . 0)
\override MetronomeMark #'padding = #'3
}
- \context { \Staff
+ \context {
+ \Staff
\override TimeSignature #'style = #'numbered
}
- \context { \Voice
+ \context {
+ \Voice
\override Glissando #'thickness = #3
\override Glissando #'gap = #0.1
}
\relative c'' {
\tempo 4=50
- a4.\mpdolce d8 cis4--\glissando a
- b4 bes a2
+ a4.\mpdolce d8 cis4--\glissando a |
+ b4 bes a2 |
\inst "Clarinet"
- cis4.\< d8 e4 fis
- g8(\! fis)-. e( d)-. cis2
+ cis4.\< d8 e4 fis |
+ g8(\! fis)-. e( d)-. cis2 |
}
@end lilypond
@example
%%% definiciones.ily
-mpdolce = #(make-dynamic-script (markup #:hspace 0 #:translate '(5 . 0)
- #:line( #:dynamic "mp" #:text #:italic "dolce" )))
-
-inst = #(define-music-function (parser location string) (string?)
- (make-music
+mpdolce =
+#(make-dynamic-script
+ (markup #:hspace 0
+ #:translate '(5 . 0)
+ #:line (#:dynamic "mp"
+ #:text #:italic "dolce")))
+
+inst =
+#(define-music-function
+ (parser location string)
+ (string?)
+ (make-music
'TextScriptEvent
'direction UP
'text (markup #:bold (#:box string))))
#(set-global-staff-size 23)
+
\layout@{
- \context @{ \Score
+ \context @{
+ \Score
\override MetronomeMark #'extra-offset = #'(-9 . 0)
\override MetronomeMark #'padding = #'3
@}
- \context @{ \Staff
+ \context @{
+ \Staff
@}
- \context @{ \Voice
+ \context @{
+ \Voice
\override Glissando #'thickness = #3
\override Glissando #'gap = #0.1
@}
@end example
@lilypond[quote,ragged-right]
-mpdolce = #(make-dynamic-script (markup #:hspace 0 #:translate '(5 . 0)
- #:line( #:dynamic "mp" #:text #:italic "dolce" )))
-
-inst = #(define-music-function (parser location string) (string?)
- (make-music
+mpdolce =
+#(make-dynamic-script
+ (markup #:hspace 0
+ #:translate '(5 . 0)
+ #:line (#:dynamic "mp"
+ #:text #:italic "dolce")))
+
+inst =
+#(define-music-function
+ (parser location string)
+ (string?)
+ (make-music
'TextScriptEvent
'direction UP
'text (markup #:bold (#:box string))))
#(set-global-staff-size 23)
+
\layout{
\context { \Score
\override MetronomeMark #'extra-offset = #'(-9 . 0)
\relative c'' {
\tempo 4=50
- a4.\mpdolce d8 cis4--\glissando a
- b4 bes a2
+ a4.\mpdolce d8 cis4--\glissando a |
+ b4 bes a2 |
\inst "Clarinet"
- cis4.\< d8 e4 fis
- g8(\! fis)-. e( d)-. cis2
+ cis4.\< d8 e4 fis |
+ g8(\! fis)-. e( d)-. cis2 |
}
@end lilypond
@example
%%% global.ily
\version @w{"@version{}"}
+
#(ly:set-option 'point-and-click #f)
+
\include "../iniciar/iniciar-definiciones.ily"
\include "../iniciar/iniciar-disposicion.ily"
\include "../iniciar/iniciar-cabeceras.ily"
Para que sean efectivos bajo cualquier circunstancia, estas
comprobaciones deben habilitarse colocando las instrucciones de
-sobreescritura dentro del bloque @code{\with} dentro de un Score, y no
+sobreescritura con @code{\context} dentro del bloque @code{\layout}, y no
en línea con la música, de la forma siguiente:
@example
-\new Score \with @{
- % asegura que las marcas de texto y letras de las canciones se encuentran dentro de los márgenes de la página
- \override PaperColumn #'keep-inside-line = ##t
- \override NonMusicalPaperColumn #'keep-inside-line = ##t
-@} @{
- ..
+\score @{
+ @{ @dots{}notes@dots{} @}
+ \layout @{
+ \context @{
+ \Score
+ % asegura que las marcas de texto y letras de las canciones se encuentran dentro de los márgenes de la página
+ \override PaperColumn #'keep-inside-line = ##t
+ \override NonMusicalPaperColumn #'keep-inside-line = ##t
+ @}
+ @}
@}
@end example
@lilypond[quote,verbatim,ragged-right]
#(define (color-notehead grob)
- "Color the notehead according to its position on the staff."
- (let ((mod-position (modulo (ly:grob-property grob 'staff-position) 7)))
- (case mod-position
- ;; Return rainbow colors
- ((1) (x11-color 'red )) ; for C
- ((2) (x11-color 'orange )) ; for D
- ((3) (x11-color 'yellow )) ; for E
- ((4) (x11-color 'green )) ; for F
- ((5) (x11-color 'blue )) ; for G
- ((6) (x11-color 'purple )) ; for A
- ((0) (x11-color 'violet )) ; for B
- )
- )
-)
+ "Color the notehead according to its position on the staff."
+ (let ((mod-position (modulo (ly:grob-property grob 'staff-position)
+ 7)))
+ (case mod-position
+ ;; Return rainbow colors
+ ((1) (x11-color 'red )) ; for C
+ ((2) (x11-color 'orange )) ; for D
+ ((3) (x11-color 'yellow )) ; for E
+ ((4) (x11-color 'green )) ; for F
+ ((5) (x11-color 'blue )) ; for G
+ ((6) (x11-color 'purple )) ; for A
+ ((0) (x11-color 'violet )) ; for B
+ )))
\relative c' {
% Arrange to obtain color from color-notehead procedure
\override NoteHead #'color = #color-notehead
- a2 b
- c2 d
- e2 f
- g2 a
+ a2 b | c2 d | e2 f | g2 a |
}
@end lilypond
Se pueden encontrar ejemplos adicionales que muestran la utilización
de estos interfaces programables, en @rextendnamed{Callback
functions,Funciones de callback}.
+