From: Phil Holmes Date: Sat, 28 Feb 2015 14:31:14 +0000 (+0000) Subject: Merge remote branch 'origin/master' into release/unstable X-Git-Tag: release/2.19.16-1~2 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=d2762a4f1add2bb04d6fc34d3c7ae03eeb7d500f;hp=5e59ddc20f08184abb9f65789338043824046e2b;p=lilypond.git Merge remote branch 'origin/master' into release/unstable --- diff --git a/Documentation/ca/learning.tely b/Documentation/ca/learning.tely new file mode 100644 index 0000000000..988be166ea --- /dev/null +++ b/Documentation/ca/learning.tely @@ -0,0 +1,84 @@ +\input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: ca -*- +@ignore + Translation of GIT committish: 08560a1b8076630c4fc6cb9b902614d8b74fd6fc + + 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 + +@setfilename lilypond-learning.info +@settitle Manual d'aprenentatge del GNU LilyPond +@documentencoding UTF-8 +@documentlanguage ca +@afourpaper + +@macro manualIntro +Aquest fitxer ofereix una introducció al programa LilyPond versió +@version{}. +@end macro + +@c `Learning Manual' was born 1999-10-10 with git commit b9abaac... +@macro copyrightDeclare +Copyright @copyright{} 1999--2015 pels autors. +@end macro + +@set FDL +@include macros.itexi + + +@c don't remove this comment. +@ignore +@omfcreator Han-Wen Nienhuys, Jan Nieuwenhuizen and Graham Percival +@omfdescription Learning Manual of the LilyPond music engraving system +@omftype program usage +@omfcategory Applications|Publishing +@omflanguage Spanish +@end ignore + +@c Translators: Walter Garcia-Fontes + +@lilyTitlePage{Manual d'aprenentatge} + +@c TOC -- non-tex +@ifnottex + +@menu +* Tutorial:: Fonaments de la tipografia musical amb el LilyPond. +* Notació corrent:: Escripture de la notació molt comú. +* Conceptes fonamentals:: Conceptes bàsics per llegir la resta dels manuals. +* Tweaking output:: Introducció a la modificació de la sortida. + +Annexos + +* Templates:: Plantilles a punt per usar. +* GNU Free Documentation License:: Llicència d'aquest document. +* Índex del LilyPond:: +@end menu + +@docMain +@end ifnottex + + +@c TOC - tex +@contents + +@allowcodebreaks false + +@c INCLUDES + +@include learning/tutorial.itely +@include learning/common-notation.itely +@include learning/fundamental.itely +@include learning/tweaks.itely + +@include learning/templates.itely +@include fdl.itexi + +@node Índex del LilyPond +@appendix Índex del LilyPond +@translationof LilyPond index + +@printindex cp + +@bye diff --git a/Documentation/ca/learning/common-notation.itely b/Documentation/ca/learning/common-notation.itely index 11aebf6330..569a828d68 100644 --- a/Documentation/ca/learning/common-notation.itely +++ b/Documentation/ca/learning/common-notation.itely @@ -77,10 +77,10 @@ música a una veu sobre un pentagrama únic. Les línies de compàs senzilles es dibuixen automàticament a la música, per la qual cosa no s'han d'afegir de forma manual. -Altres tipus de barres de compàs s'afegeixen usant @cod{\bar}, per +Altres tipus de barres de compàs s'afegeixen usant @code{\bar}, per exemple @code{\bar "||"} per a una doble barra, o @code{\bar "|."} per a la doble barra final. Per veure una llista completa de les -línies divisòries, consulteu @ruser{Barres de compàs}. +línies divisòries, consulteu @rusernamed{Bar lines,Línies divisòries}. @lilypond[verbatim,quote,relative=2] g1 e1 \bar "||" c2. c'4 \bar "|." @@ -106,7 +106,7 @@ g1 | e1 | c2. c'4 | g4 c g e | c4 r r2 | @seealso Referència de la notació: -@ruser{Comprovació de compàs i de número de compàs}. +@ruser{Bar and bar number checks}. @node Alteracions accidentals i armadures @@ -157,7 +157,7 @@ bemol} es fa afegint @code{isis} o @code{eses}. Aquesta sintaxi deriva de les convencions de nomenclatura de les notes en les llengües nòrdiques i germàniques com l'alemany i l'holandès. Per utilitzar altres noms per a les @notation{alteracions -accidentals}, vegeu @ruser{Noms de las notes en altres llengües}. +accidentals}, vegeu @ruser{Note names in other languages}. @lilypond[verbatim,quote,relative=2] cis4 ees fisis, aeses @@ -266,24 +266,23 @@ Posar totes les alteracions de forma explícita pot requerir una mica més de treball d'escriure, però l'avantatge és que la @notation{transposició} és més fàcil, i les alteracions es poden imprimir seguint diverses convencions diferents. Consulteu -@ruser{Alteracions accidentals automàtiques} per veure exemples de +@ruser{Automatic accidentals} per veure exemples de com es poden imprimir alteracions d'acord amb regles diferents. @seealso Referència de la notació: -@ruser{Nom de las notes en altres idiomes}, -@ruser{Alteracions accidentals}, -@ruser{Alteracions accidentals automàtiques}, -@ruser{Armadura de la tonalitat}. - +@ruser{Note names in other languages}, +@rusernamed{Accidentals,Alteracions accidentals}, +@ruser{Automatic accidentals}, +@ruser{Key signature}. @node Lligadures d'unió i d'expressió @subsection Lligadures d'unió i d'expressió @translationof Ties and slurs -@cindex lligadura de unió -@cindex lligadura de expressió +@cindex lligadura d'unió +@cindex lligadura d'expressió @cindex lligadura de fraseig @cindex fraseig, lligadura de @@ -292,10 +291,10 @@ Referència de la notació: @funindex \( ... \) @menu -* Lligadures de unió:: -* Lligadures de expressió:: +* Lligadures d'unió:: +* Lligadures d'expressió:: * Lligadures de fraseig:: -* Advertències lligadures d'expressió en front a lligadures d'unió:: +* Advertiments lligadures d'expressió en front a lligadures d'unió:: @end menu @node Lligadures d'unió @@ -374,10 +373,9 @@ c4~( c8 d~ 4 e) @seealso Referència de la notació: -@ruser{Lligadures d'unió}, -@ruser{Lligadures d'expressió}, -@ruser{Lligadures de fraseig}. - +@rusernamed{Ties,Lligadures d'unió}, +@rusernamed{Slurs,Lligadures d'expressió}, +@rusernamed{Phrasing slurs,Lligadures de fraseig}. @node Articulacions i matisos dinàmics @subsection Articulacions i matisos dinàmics @@ -427,7 +425,7 @@ una nota utilitzant un guió (@code{-}) seguit del dígit desitjat: c4-3 e-5 b-2 a-1 @end lilypond -Les articulacions i digitacions normalment es col·loquen de forma +Les articulacions i digitacions normalment es col.loquen de forma automàtica, però podeu especificar una direcció mitjançant @code{^} (a sobre) o @code{_} (a sota). També podeu usar diverses articulacions sobre la mateixa nota. No obstant, gairebé sempre és @@ -484,10 +482,9 @@ c4\< c\ff\> c c\! @seealso Referència de la notació: -@ruser{Articulacions i ornaments}, -@ruser{Indicacions de digitació}, -@ruser{Matisos dinàmics}. - +@ruser{Articulations and ornamentations}, +@ruser{Fingering instructions}, +@rusernamed{Dynamics,Matisos dinàmics}. @node Addició de text @subsection Addició de text @@ -519,7 +516,7 @@ a2_\markup { @seealso Referència de la notació: -@ruser{Escriptura del text}. +@ruser{Writing text}. @node Barres automàtiques i manuals @@ -574,9 +571,8 @@ a8 c b4 d8. c16 b4 | @seealso Referència de la notació: -@ruser{Barres automàtiques}, -@ruser{Barres manuals}. - +@ruser{Automatic beams}, +@ruser{Manual beams}. @node Instruccions rítmiques avançades @subsection Instruccions rítmiques avançades @@ -672,10 +668,9 @@ c2 \acciaccatura b16 c2 | @seealso Referència de la notació: -@ruser{Notes d'adorn}, -@ruser{Grups especials}, -@ruser{Anacrusis}. - +@rusernamed{Grace notes,Notes d'adorn}, +@rusernamed{Tuplets,Grups especials}, +@ruser{Upbeats}. @node Diverses notes a la vegada @section Diverses notes a la vegada @@ -694,7 +689,7 @@ d'una veu al mateix pentagrama. * Explicació de les expressions musicals:: * Diversos pentagrames:: * Grups de pentagrames:: -* Combinar notes para formar acords:: +* Combinar notes per formar acords:: * Polifonia a un sol pentagrama:: @end menu @@ -730,7 +725,7 @@ musical composta amb dues notes: { a4 g4 } @end lilypond -Si col·loquem un grup d'expressions musicals (per exemple: notes) +Si col.loquem un grup d'expressions musicals (per exemple: notes) dins de claudàtors, això significa que es troben en seqüència (és a dir, cada una segueix a l'anterior). El resultat és una altra expressió musical: @@ -774,13 +769,13 @@ les partitures polifòniques. @cindex diversos pentagrames @cindex pentagrames, diversos @cindex polifonia -@cindex combinar expressions en paral·lel -@cindex paral·leles, expressions -@cindex expressions paral·leles +@cindex combinar expressions en paral.lel +@cindex paral.leles, expressions +@cindex expressions paral.leles @cindex relatiu, mode, música simultània i -@cindex relatiu, mode, expressions paral·leles i +@cindex relatiu, mode, expressions paral.leles i @cindex simultània, música, mode relatiu i -@cindex paral·leles, expressions, mode relatiu i +@cindex paral.leles, expressions, mode relatiu i @funindex << @funindex >> @@ -792,7 +787,7 @@ Glossari musical: Aquesta tècnica és molt útil per a la música @notation{polifònica}. Per introduir música amb més veus o amb més pentagrames, el que fem és combinar diverses expressions en -paral·lel. Per indicar que dues veus s'han d'interpretar al +paral.lel. Per indicar que dues veus s'han d'interpretar al mateix temps, senzillament introduïu una combinació simultània d'expressions musicals. Una expressió musical @q{simultània} es forma tancant les expressions dins de @code{<<} y @code{>>}. A @@ -820,8 +815,8 @@ els éssers humans. l'entrada, solament la primera és relativa a la @code{c''} dins de la instrucció inicial @code{@bs{}\relative}.} -@node Expressions musicals simultànies un solo pentagrama -@unnumberedsubsubsec Expressions musicals simultànies: un solo pentagrama +@node Expressions musicals simultànies un sol pentagrama +@unnumberedsubsubsec Expressions musicals simultànies: un sol pentagrama @translationof Simultaneous music expressions single staff Per determinar el nombre de pentagrames a una peça, el LilyPond @@ -858,7 +853,7 @@ disposa sobre un sols pentagrama. @funindex Lyrics @funindex ChordNames -Com ja hem vist a @ref{Explicació de las expressions musicals}, +Com ja hem vist a @ref{Explicació de les expressions musicals}, els fitxers d'entrada per al LilyPond es construeixen a base d'expressions musicals. Si la partitura comença amb expressions musicals simultànies, el LilyPond crea diversos pentagrames. És @@ -868,7 +863,7 @@ pentagrames de forma explícita. Per imprimir més d'un pentagrama, cada fragment de música que constitueix un pentagrama es marca escrivint @code{\new Staff} abans d'ell. Aquests elements @code{Staff} es combinen després en -paral·lel amb @code{<<} y @code{>>}: +paral.lel amb @code{<<} y @code{>>}: @lilypond[verbatim,quote] \relative c'' { @@ -937,7 +932,7 @@ La música per a piano es composa tipogràficament en forma de dos pentagrames units mitjançant un @notation{claudàtor}. L'aspecte imprès d'aquest sistema de pentagrames se sembla a l'exemple polifònic que apareix a @ref{Diversos pentagrames}, però en aquest -cas l'expressió completa es col·loca dins d'un @code{PianoStaff}: +cas l'expressió completa es col.loca dins d'un @code{PianoStaff}: @example \new PianoStaff << @@ -966,9 +961,8 @@ també controla l'abast de les línies divisòries. @seealso Referència de la notació: -@ruser{Teclats i altres instruments de diversos pentagrames}, -@ruser{Impressió dels pentagrames}. - +@ruser{Keyboard and other multi-staff instruments}, +@ruser{Displaying staves}. @node Combinar notes per formar acords @subsection Combinar notes per formar acords @@ -1011,11 +1005,11 @@ r4 8.\p 16( 4-. ) | @seealso Referència de la notació: -@ruser{Notes en acord}. +@ruser{Chorded notes}. -@node Polifonia en un sol pentagrama -@subsection Polifonia en un sol pentagrama +@node Polifonia a un sol pentagrama +@subsection Polifonia a un sol pentagrama @translationof Single staff polyphony @cindex polifonia @@ -1041,7 +1035,7 @@ Manual d'aprenentatge: @ref{Les veus contenen música}. Referència de la notació: -@ruser{Notes simultànies}. +@ruser{Simultaneous notes}. @node Cançons @@ -1084,7 +1078,7 @@ infantil, @qq{Girls and boys come out to play}: Es pot assignar la @notation{lletra} a aquestes notes combinant ambdues amb la paraula clau @code{\addlyrics}. La lletra s'escriu -separant cada síl·laba mitjançant un espai. +separant cada síl.laba mitjançant un espai. @lilypond[verbatim,quote] << @@ -1113,8 +1107,8 @@ succeir al mateix temps. @cindex guió baix @cindex lletra, alineació de @cindex alineació de la lletra -@cindex lletra, paraules polisíl·labes -@cindex paraules polisíl·labes en la lletra +@cindex lletra, paraules polisíl.labes +@cindex paraules polisíl.labes en la lletra Glossari musical: @rglos{melisma}, @@ -1154,10 +1148,10 @@ Aquest és un bon exemple de la utilitat de les comprovacions de compàs. Ara bé, si mirem la música, podem observar que la lletra addicional no s'alinea correctament amb les notes. La paraula @q{shine} s'ha de cantar sobre dues notes, no una. Això es coneix -com @notation{melisma}, una síl·laba única que es canta sobre més -d'una nota. Existeixen diverses formes de fer que una síl·laba +com @notation{melisma}, una síl.laba única que es canta sobre més +d'una nota. Existeixen diverses formes de fer que una síl.laba recaigui sobre diverses notes, sent la més senzilla escriure una -lligadura d'expressió sobre elles (vegeu @ref{Lligadures d'unió y d'expressió}): +lligadura d'expressió sobre elles (vegeu @ref{Lligadures d'unió i d'expressió}): @lilypond[verbatim,quote] << @@ -1215,10 +1209,10 @@ melisma: >> @end lilypond -Si una síl·laba s'estén sobre diverses notes o una sola nota molt +Si una síl.laba s'estén sobre diverses notes o una sola nota molt llarga, normalment es traça una @notation{línia extensora} des de -la síl·laba que s'estén i per sota de totes les notes que -corresponen a aquesta síl·laba. S'escriu com dos guions baixos +la síl.laba que s'estén i per sota de totes les notes que +corresponen a aquesta síl.laba. S'escriu com dos guions baixos @code{__}. Heus aquí un exemple extret dels primers tres compassos del @notation{Lament de Dido}, de @notation{Dido i Enees} de Purcell: @@ -1239,11 +1233,11 @@ Enees} de Purcell: @end lilypond Fins al moment, cap dels exemples implicaven paraules que -tinguessin més d'una síl·laba. Aquestes paraules es reparteixen -en general a raó d'una nota per cada síl·laba, amb guions curts -entre les síl·labes. Aquests guions separadors es teclegen com +tinguessin més d'una síl.laba. Aquestes paraules es reparteixen +en general a raó d'una nota per cada síl.laba, amb guions curts +entre les síl.labes. Aquests guions separadors es teclegen com dos guions, amb el resultat d'un guió curt centrat entre les -síl·labes. Presentem a continuació un exemple que demostra això i +síl.labes. Presentem a continuació un exemple que demostra això i tot el que hem après fins aquest moment sobre l'alineació de la lletra a les notes. @@ -1266,12 +1260,12 @@ lletra a les notes. @end lilypond Alguns textos (especialment els que estan en italià o català) -requereixen el contrari: col·locar més d'una síl·laba a una única -nota. Això s'aconsegueix enllaçant les síl·labes entre sí +requereixen el contrari: col.locar més d'una síl.laba a una única +nota. Això s'aconsegueix enllaçant les síl.labes entre sí mitjançant un guió baix simple @code{_} (sense cap espai), o bé envoltant-les entre claudàtors. Aquí apareix un exemple procedent -del @notation{Barber de Sevilla} de Rossini, on la síl·laba -@notation{al} es canta sobre la mateixa nota que la síl·laba +del @notation{Barber de Sevilla} de Rossini, on la síl.laba +@notation{al} es canta sobre la mateixa nota que la síl.laba @notation{go} de la paraula @q{Largo} a l'ària de Fígaro @notation{Largo al factotum}: @@ -1294,7 +1288,7 @@ del @notation{Barber de Sevilla} de Rossini, on la síl·laba @seealso Referència de la notació: -@ruser{Música vocal}. +@ruser{Vocal music}. @node Lletra en diversos pentagrames @@ -1339,7 +1333,7 @@ variables}. @seealso Referència de la notació: -@ruser{Música vocal}. +@ruser{Vocal music}. @node Retocs finals @@ -1387,7 +1381,7 @@ musicaAmbNom = @{ @dots{} @} @end example El contingut de l'expressió musical @code{musicaAmbNom} es pot -usar posteriorment col·locant una barra invertida davant del nom +usar posteriorment col.locant una barra invertida davant del nom (@code{\musicaAmbNom}, igual que una ordre normal del LilyPond). @lilypond[verbatim,quote] @@ -1489,7 +1483,7 @@ es troba fora de l'expressió musical principal: el bloc Quan es processa el fitxer, el títol i l'autor s'imprimeixen a sobre de la música. Podeu obtenir més informació sobre els títols -a @ruser{Crear títols encapçalaments i peus de pàgina}. +a @ruser{Creating titles headers and footers}. @node Noms de nota absoluts @subsection Noms de nota absoluts @@ -1511,7 +1505,7 @@ En aquest mode, el LilyPond tractarà totes les altures com valors absoluts. Una @code{c'} significarà sempre un Do central, una @code{b} significarà sempre la nota immediatament per sota del Do central i una @code{g,} significarà sempre la nota que es -col·loca a la primera línia del pentagrama en clau de Fa. +col.loca a la primera línia del pentagrama en clau de Fa. @lilypond[verbatim,quote] { @@ -1600,12 +1594,12 @@ relativa: Després d'acabar el tutorial, potser hauríeu de provar a escriure una o dues peces. Comenceu amb una de les plantilles que -apareixen a @ref{Plantilles} i afegeixi algunes notes. Si -necessiteu un tipus de notació que no ha estat tractat en aquest -tutorial, doneu una ullada a la Referència de Notació, començant -per @ruser{Notació musical}. Si voleu escriure música per a un -conjunt instrumental que no estigui cobert per cap plantilla, -consulteu @ref{Extensió de les plantilles}. +apareixen a @rlearningnamed{Templates,Plantilles} i afegiu algunes +notes. Si necessiteu un tipus de notació que no ha estat tractat +en aquest tutorial, doneu una ullada a la Referència de Notació, +començant per @ruser{Musical notation}. Si voleu escriure música +per a un conjunt instrumental que no estigui cobert per cap +plantilla, consulteu @ref{Extensió de les plantilles}. Un cop que heu escrit algunes peces curtes, llegiu la resta del Manual d'aprenentatge (capítols 3 al 5). Per suposat no passa res diff --git a/Documentation/ca/learning/fundamental.itely b/Documentation/ca/learning/fundamental.itely new file mode 100644 index 0000000000..8b8d11780c --- /dev/null +++ b/Documentation/ca/learning/fundamental.itely @@ -0,0 +1,3342 @@ +@c -*- coding: utf-8; mode: texinfo; documentlanguage: ca -*- + +@ignore + Translation of GIT committish: 7fdce4f39834cc8c83f176480cc1d20900eb09f8 + + 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.19.2" + +@node Conceptes fonamentals +@chapter Conceptes fonamentals +@translationof Fundamental concepts + +Heu pogut veure al tutorial com produir música impresa amb bellesa +a partir d'un simple fitxer de text. Aquesta secció presenta els +conceptes i tècniques que es requereixen per produir partitures +igualment belles però més complexes. + +@menu +* Com funcionen els fitxers d'entrada del LilyPond:: +* Les veus contenen música:: +* Contextos i gravadors:: +* Extensió de les plantilles:: +@end menu + + +@node Com funcionen els fitxers d'entrada del LilyPond +@section Com funcionen els fitxers d'entrada del LilyPond +@translationof How LilyPond input files work + +El format d'entrada del LilyPond és força lliure en la seva forma +i concedeix els usuaris amb experiència molta flexibilitat per +estructurar els seus fitxers de la forma desitjada. Nogensmenys, +tota aquesta flexibilitat pot fer que les coses es tornin confuses +per als nous usuaris. Aquesta secció us explicarà part d'aquesta +estructura, però pot obviar certs detalls per simplificar. Per +veure una descripció més completa del format d'entrada, consulteu +@ruser{File structure}. + + +@menu +* Introducció a l'estructura dels fitxers del LilyPond:: +* La partitura és una (única) expressió musical composta:: +* Niuat d'expressions musicals:: +* Quant a la impossibilitat de niuar claudàtors i lligadures:: +@end menu + +@node Introducció a l'estructura dels fitxers del LilyPond +@subsection Introducció a l'estructura dels fitxers del LilyPond +@translationof Introduction to the LilyPond file structure + +@cindex entrada, format de l' +@cindex fitxer, estructura del + +Un exemple bàsic de fitxer d'entrada del LilyPond és el següent: + +@example +\version @w{"@version{}"} + +\header @{ @} + +\score @{ + @var{ @dots{} expressió musical composta @dots{} } % tota la música va aquí + \layout @{ @} + \midi @{ @} +@} +@end example + +@noindent +Hi ha moltes variacions d'aquest esquema bàsic, però l'exemple +constitueix un punt de partida útil. + +@funindex \book +@funindex book +@funindex \score +@funindex score +@cindex book (llibre) +@cindex score (partitura) +@cindex llibre +@cindex partitura + +Fins al moment, cap dels exemples que heu pogut veure utilitza la +instrucció @code{\score@{@}}. Això és així perquè el LilyPond +afegeix automàticament les ordres addicionals que es requereixen +quan li proporcionem una entrada senzilla. El LilyPond tracta una +entrada com aquesta: + +@example +\relative c'' @{ + c4 a d c +@} +@end example + +@noindent +com una abreviatura d'aquesta altra: + +@example +\book @{ + \score @{ + \new Staff @{ + \new Voice @{ + \relative c'' @{ + c4 a b c + @} + @} + @} + \layout @{ @} + @} +@} +@end example + +En altres paraules, si l'entrada consta d'una única expressió +musical, el LilyPond interpreta el fitxers com si l'expressió +musical estigués rodejada per un embolcall fet per les +instruccions que acabem de veure. + +@cindex contextos implícits +v@cindex implícits, contextos + +@strong{¡Advertiment!} Molts dels exemples que apareixen a la +documentació del LilyPond ometen les instruccions @code{\new +Staff} i @code{\new Voice}, deixant que es creïn de forma +implícita. Això funciona bé per a exemples senzills, però per a +exemples més complicats, especialment quan s'usen instruccions +addicionals, la creació implícita dels contextos poden donar lloc +a resultats inesperats, fins i tot en ocasions crear pentagrames +no desitjats. La forma de crear contextos de forma explícita +s'explica a @ref{Contextos i gravadors}. + +@warning{Quan s'escriuen més d'unes poques línies de música, es +recomana crear sempre els pentagrames i les veus de forma +explícita.} + +En tot cas, per ara anem a tornar al primer exemple per examinar +l'ordre @code{\score}, deixant les altres en la seva forma +predeterminada. + +Un bloc @code{\score} sempre ha de contenir una expressió musical +única, que ha d'aparèixer immediatament després de la instrucció +@code{\score}. Recordeu que una expressió musical pot ser +qualsevol cosa, des d'una sola nota fina una enorme expressió +composta com ara + +@example +@{ + \new StaffGroup << + @var{ @dots{} inseriu aquí la partitura completa d'una òpera + de Wagner @dots{} } + >> +@} +@end example + +@noindent +A causa que tot es troba dins de @code{@{ @dots{} @}}, compta com +una expressió musical. + +Com hem vist anteriorment, el bloc @code{\score} pot contenir +altres coses, com ara + +@example +\score @{ + @{ c'4 a b c' @} + \header @{ @} + \layout @{ @} + \midi @{ @} +@} +@end example + +@funindex \header +@funindex header +@funindex \layout +@funindex layout +@funindex \midi +@funindex midi +@cindex midi +@cindex capçalera +@cindex disposició + +@noindent +Observeu que aquestes tres instruccions (@code{\header}, +@code{\layout} i @code{\midi}) són especials: a diferència de la +resta de les instruccions que comencen amb una barra invertida +(@code{\}), @emph{no} són expressions musicals i no formen part de +cap expressió musical. Per tant, es poden posar dins d'un bloc +@code{\score} o a fora d'ell. De fet, aquestes instruccions se +situen en general fora del bloc @code{\score} (per exemple, +@code{\header} se sol col.locar abans de la instrucció +@code{\score}, com mostra l'exemple que apareix al principi de la +secció.) + +Dues instruccions més que no hem vist són @code{\layout @{ @}} +i @code{\midi @{ @}}. Si apareixen tal i com es mostren aquí, fan +que el LilyPond produeixi una sortida impresa i una sortida MIDI, +respectivament. Es descriuen amb tot detall al manual de +Referència de la notació, a @ruser{Score layout} i a +@ruser{Creating MIDI files}. + +@cindex partitures, diverses +@cindex book, bloc implícit +@cindex implícit, bloc book +@funindex \book +@funindex book + +Podem escriure diversos blocs @code{\score}. Cada un d'ells rebrà +el mateix tractament que una partitura independent, però es +combinaran tots junts a un fitxer de sortida únic. No fa falta +cap instrucció @code{\book}, es crearà un implícitament. No +obstant, si voleu fitxers de sortida separats a partir d'un únic +fitxer @file{.ly}, aleshores cal utilitzar l'ordre +@code{\book} per separar les diferents seccions: cada bloc +@code{\book} produeix un fitxer de sortida diferent. + +En resum: + +Cada bloc @code{\book} crea un fitxer de sortida diferent (per +exemple, un fitxer PDF). Si no hem escrit un de forma explícita, +el LilyPond envolta tot el nostre codi d'entrada dins d'un bloc +@code{\book} de forma implícita. + +Cada bloc @code{\score} és un tros de música separat dins d'un +bloc @code{\book}. + +@cindex layout, efecte de la situació del bloc + +Cada bloc @code{\layout} afecta el bloc @code{\score} o +@code{\book} dins del qual apareix (és a dir, un bloc +@code{\layout} dins d'un bloc @code{\score}) afecta solament a +aquest bloc @code{\score}, però un bloc @code{\layout} fora d'un +bloc @code{\score} (que per això està dins d'un bloc +@code{\book}, ja sigui explícit o implícitament) afecta als blocs +@code{\score} que estan dins d'aquest @code{\book}. + +Per veure més detalls, consulteu @ruser{Multiple scores in a book}. + +@cindex variables + +Una altra magnifica drecera és la possibilitat de definir +variables com es mostra a @ref{Organitzar les peces mitjançant +variables}. Totes les plantilles fan servir el següent: + +@example +melodia = \relative c' @{ + c4 a b c +@} + +\score @{ + \melodia +@} +@end example + +Quan el LilyPond examina aquest fitxer, agafa el valor de +@code{melodia} (tot el que hi ha després del signe igual) i +l'insereix a tot arreu que veu @code{\melodia}. No es requereix +una cura especial amb el nom (pot ser @code{melodia}, +@code{global}, @code{CompasArmadura}, @code{madretadelpiano} o +@code{fulanet} o qualsevol altre). Recordeu que pot ser gairebé +qualsevol nom que se us acudeixi, sempre i quan contingui sols +caràcters alfabètics i sigui diferent a qualsevol dels noms +d'instrucció del LilyPond. Per veure més detalls, consulteu +@ref{Estalviar tecleig mitjançant variables i funcions}. Les +limitacions exactes que afecten els noms de variable es detallen a +@ruser{File structure}. + + +@seealso +Per veure una definició completa del format del codi d'entrada, +consulteu @ruser{File structure} + +@node La partitura és una (única) expressió musical composta +@subsection La partitura és una (única) expressió musical composta +@translationof Score is a (single) compound musical expression + +@cindex score +@cindex partitura +@cindex contingut del bloc score +@cindex score, contingut del bloc +@cindex composta, expressió musical +@cindex musical, expressió, composta +@cindex expressió musical composta +@funindex \score +@funindex score + +En la secció anterior, @ref{Introducció a l'estructura dels +fitxers del LilyPond}, hem pogut veure l'organització general dels +fitxers d'entrada del LilyPond. Però sembla que ens hem salta la +part més important: com esbrinem què escriure després de +@code{\score}? + +No ens hem salta res de res. El gran misteri és, senzillament, +que no hi ha @emph{cap} misteri. La línia següent ho explica tot: + +@quotation +@emph{Un bloc @code{\score} ha de començar amb una expressió +musical composta.} +@end quotation + +@noindent +Per comprendre el que s'entén per expressió musical i expressió +musical composta, potser trobeu útil fer un repàs al tutorial, +@ref{Explicació de les expressions musicals}. En aquesta secció +vam veure com elaborar grans expressions musicals a partir de +petites peces (començàvem amb notes, després acords, etc.). Ara +partirem d'una gran expressió musical i recorrerem el camí invers +cap avall. Per simplicitat, farem sols un cantant i un piano. +No necessitem un @code{StaffGroup} (que simplement agrupa un cert +nombre de pautes amb un claudàtor a l'esquerra) per a aquest +conjunt, i aleshores el retirem. Tot i així, @emph{sí} necessitem +pentagrames per a un cantant i un piano. + +@example +\score @{ + << + \new Staff = "cantant" << + >> + \new PianoStaff = "piano" << + >> + >> + \layout @{ @} +@} +@end example + +Aquí hem assignat noms als pentagrames: @qq{cantant} i +@qq{piano}. Això no és essencial en aquest moment, però és un +hàbit que resulta útil cultivar de manera que podem saber d'una +ullada per a què és cada pentagrama. + +Recordeu que utilitzem @code{<< @dots{} >>} en comptes de @code{ @dots{} @}} +per presentar la música simultània. Això fa que les parts vocals +i del piano apareguin una sobre l'altra a la partitura. La +construcció @code{<< @dots{} >>} no seria necessària per al +pentagrama del cantant a l'exemple de dalt si conté solament una +expressió musical seqüencial, però es necessitarien els @code{<< +@dots{} >>} en comptes de les claus si la música d'aquest +pentagrama anés a contenir dues o més expressions simultànies, per +exemple dues veus simultànies, o una veu amb lletra. Tindrem una +veu amb lletra, per la qual cosa es requereixen els angles +dobles. Després afegirem quelcom de música real; per ara +limitem-nos a posar unes quantes notes i text de farciment. Si +heu oblidat com afegir la lletra, podeu rellegir la secció +@code{\addlyrics} de @ref{Elaborar cançons senzilles}. + +@lilypond[verbatim,quote,ragged-right] +\score { + << + \new Staff = "singer" << + \new Voice = "vocal" { c'1 } + \addlyrics { And } + >> + \new PianoStaff = "piano" << + \new Staff = "upper" { c'1 } + \new Staff = "lower" { c'1 } + >> + >> + \layout { } +} +@end lilypond + +Ara tenim molts més detalls. Tenim la pauta del cantant: conté +una @code{Voice} o veu (al LilyPond, aquest terme fa referència a +un conjunt de notes, no necessàriament notes vocals -- per +exemple, un violí generalment toca una veu --) i el text de la +cançó. També tenim una pauta de piano: conté un pentagrama +superior (mà dreta) i un pentagrama inferior (mà esquerra), tot i +que el pentagrama inferior encara no té la clau de Fa. + +En aquest moment podríem començar a ficar les notes. Dins dels +claudàtors que segueixen a @code{\new Voice = "vocal"}, podríem +començar escrivint + +@example +\relative c'' @{ + r4 d8\noBeam g, c4 r +@} +@end example + +Però si ho féssim, la secció @code{\score} es faria força llarga i +seria més difícil comprendre el que passa. En comptes d'això +utilitzarem identificadors o variables. Recordareu que les vam +veure per primer cop a la secció anterior. + +Per assegurar-nos que el contingut de la variable @code{text} +s'interpreta com a lletra, el precedim amb @code{\lyricmode}. +Igual que @code{\addlyrics}, això activa el mode d'entrada de +lletra. Sense això, el LilyPond intentaria interpretar el +contingut com a notes, cosa que generaria errors (Hi ha d'altres +modes, vegeu @ruser{Input modes}). + +Així doncs, tot escrivint algunes notes, i una clau de Fa per a la +mà esquerra, ara tenim un fragment musical de debò: + +@lilypond[verbatim,quote,ragged-right] +melody = \relative c'' { r4 d8\noBeam g, c4 r } +text = \lyricmode { And God said, } +upper = \relative c'' { 2~ } +lower = \relative c { b2 e } + +\score { + << + \new Staff = "singer" << + \new Voice = "vocal" { \melody } + \addlyrics { \text } + >> + \new PianoStaff = "piano" << + \new Staff = "upper" { \upper } + \new Staff = "lower" { + \clef "bass" + \lower + } + >> + >> + \layout { } +} +@end lilypond + +Quan escriviu una secció @code{\score} o quan l'esteu llegint, +feu-lo a poc a poc i amb cura. Comenceu pel nivell exterior i +després treballeu sobre cadascú dels nivells interiors. També és +d'una gran ajuda ser molt estricte amb els marges (assegureu-vos +que al seu editor de text cada element del mateix nivell comença a +la mateixa posició horitzontal). + +@seealso +Referència de la notació: +@ruser{Estructura d'una partitura}. + + +@node Niuat d'expressions musicals +@subsection Niuat d'expressions musicals +@translationof Nesting music expressions + +@cindex pentagrames temporals +@cindex temporals, pentagrames +@cindex ossias + +No és essencial declarar tots els pentagrames al començament; es +poden crear temporalment en qualsevol moment. Això és d'especial +utilitat per crear seccions d'ossia (vegeu @rglos{ossia}). A +continuació presentem un exemple senzill que mostra com introduir +temporalment un pentagrama nou mentre dura un fragment de tres +notes: + +@lilypond[verbatim,quote,ragged-right] +\new Staff { + \relative g' { + r4 g8 g c4 c8 d | + e4 r8 + << + { f8 c c } + \new Staff { + f8 f c + } + >> + r4 | + } +} +@end lilypond + +@noindent +Noteu que la mida de la clau és igual a la que s'imprimeix en un +canvi de clau (lleugerament més petita que la clau al principi +d'una línia). Això és normal per a qualsevol clau que +s'imprimeixi a la meitat d'una línia. + +@cindex pentagrama, posicionat del + +La secció ossia es pot col.locar a sobre del pentagrama de la +manera següent: + +@lilypond[verbatim,quote,ragged-right] +\new Staff = "main" { + \relative g' { + r4 g8 g c4 c8 d | + e4 r8 + << + { f8 c c } + \new Staff \with { + alignAboveContext = #"main" + } { f8 f c } + >> + r4 | + } +} +@end lilypond + +Aquest exemple utilitza @code{\with}, que s'explica en tot detall +més endavant. És un mitjà per modificar el comportament +predeterminat d'un sol pentagrama. En aquest exemple, diu que el +pentagrama nou s'ha de col.locar per sobre del pentagrama anomenat +@qq{main} en comptes de la posició predeterminada que seria per sota. + +@seealso +Els fragments d'ossia s'escriuen sovint sense clau i sense +indicació de compàs, i generalment amb una lletra més petita. Per +fer això caldrien més ordres que encara no s'han vist. Vegeu +@rlearningnamed{Size of objects,Mida dels objectes} i +@ruser{Ossia staves}. + +@node Quant a la impossibilitat de niuar claudàtors i lligadures +@subsection Quant a la impossibilitat de niuar claudàtors i lligadures +@translationof On the un-nestedness of brackets and ties + +@cindex claudàtors i parèntesis, niuat de +@cindex claudàtors i parèntesis, tipus de +@cindex claudàtors i parèntesis, tancar en front a marcar + +A l'escriptura del fitxer d'entrada del LilyPond hem pogut veure +alguns tipus de parèntesis, claudàtors i angles de diversos +tipus. Obeeixen a diverses regles que el principi poden semblar +confuses. Abans d'explicar aquestes regles, fem un repàs a les +diverses classes de claudàtors, claus i parèntesis. + +@c attempt to force this onto a new page +@need 50 +@multitable @columnfractions .3 .7 +@headitem Tipus de parèntesis + @tab Funció +@item @code{@{ @dots{} @}} + @tab Tanca un fragment seqüencial de música +@item @code{< @dots{} >} + @tab Tanca les notes d'un acord +@item @code{<< @dots{} >>} + @tab Tanca expressions musicals simultànies +@item @code{( @dots{} )} + @tab Marca el començament i el final d'una lligadura d'expressió +@item @code{\( @dots{} \)} + @tab Marca el començament d'una lligadura de frasseig +@item @code{[ @dots{} ]} + @tab Marca el començament i el final d'un barrat manual +@end multitable + +A les anteriors hem d'afegir d'altres construccions que generen +línies entre o a través de ls notes: les lligadures d'unió +(marcades amb un accent corb, @code{~}), els grups especials que +s'escriuen amb @code{\tuplet x/y @{ @dots{} @}}, i les notes +d'adorn, que s'escriuen amb @code{\grace @{ @dots{} @}}. + +Fora del LilyPond, l'ús convencional dels parèntesis i d'altres +claudàtors requereix que els diversos tipus es trobin niuats +correctament, com a: @code{<< [ @{ ( @dots{} ) @} ] >>}, de manera +que els parèntesis que es tanquen han de trobar-se a l'ordre +exactament oposat als dels parèntesis que s'obren. Això +@strong{és} un requisit per als tres tipus de parèntesis que es +descriuen mitjançant la paraula @q{Tanca} a la taula anterior: +s'han de niuar correctament. Tanmateix, la resta de claus i +claudàtors, que estan descrits per la paraula @q{Marca} a la +mateixa taula anterior, @strong{no} han de niuar-se estrictament +per cap raó amb cap dels altres parèntesis. De fet, aquests +parèntesis no són parèntesis en el sentit que tanquen quelcom: +simplement són marcadors que indiquen on comença o finalitza +quelcom. + +Així doncs, per exemple, una lligadura de fraseig pot començar +abans d'una barra inserida manualment, i acabar abans que acabi +la barra (una cosa que potser no sigui molt musical, però és +possible): + +@lilypond[quote,verbatim,ragged-right,relative=2] +g8\( a b[ c b\) a] g4 +@end lilypond + +En general, els diversos tipus de claudàtors, i els que es fan +servir per grups especials, lligadures d'unió i notes d'adorn, es +poden barrejar amb total llibertat. Aquest exemple mostra una +barra que s'estén cap a l'interior d'un grup de valoració especial +(línia 1), una lligadura d'expressió que es perllonga cap a +l'interior d'un grup especial, una lligadura d'unió que travessa +dos grups especials, i una lligadura de fraseig que surt de +l'interior d'un grup especial (línies 3 i 4). + +@lilypond[quote,verbatim,ragged-right,relative=1] +r16[ g \tuplet 3/2 { r16 e'8] } +g,16( a \tuplet 3/2 { b16 d) e } +g,8[( a \tuplet 3/2 { b8 d) e~] } | +\tuplet 5/4 { e32\( a, b d e } a4.\) +@end lilypond + + +@node Les veus contenen música +@section Les veus contenen música +@translationof Voices contain music + +Igual que els cantants, al LilyPond li calen veus per cantar. En +realitat, la música per a qualsevol instrument d'una partitura +està sempre continguda dins d'una veu --el concepte del LilyPond +més fonamental de tots--. + +@menu +* Escolto veus:: +* Veus explícites:: +* Veus i música vocal:: +@end menu + +@node Escolto veus +@subsection Escolto veus +@translationof I'm hearing Voices + +@cindex polifonia +@cindex capes +@cindex diverses veus +@cindex veus, diverses +@cindex Voice (veu), context de +@cindex context Voice (de veu) +@cindex simultània, música +@cindex concorrent, música +@cindex veus en front a acords +@cindex acords en front a veus + +De les capes més fondes d'una partitura del LilyPond, les més +baixes i més fonamental reben el nom de @q{Voice contexts} +(«contextos de veu») o, abreujadament, @q{Voices} («veus»). Les +veus s'anomenen a vegades @q{layers} («capes») a d'altres +programes d'edició de partitures. + +De fet, una capa o context de veu és l'única que pot contenir +música. Si un context de veu no es declara explícitament, es crea +un de forma automàtica, com vam veure al principi d'aquest capítol. +Certs instruments com l'oboè sols poden tocar una nota cada +cop. La música escrita per a aquests instruments sols requereix +una veu. Els instruments que poden tocar més d'una nota a la +vegada, com el piano, amb freqüència necessitaran diverses veus +per codificar les diverses notes i ritmes concurrents que són +capaces de tocar. + +Una sola veu pot contenir moltes notes dins d'un acord, per +suposat; aleshores, quan, exactament, es necessiten diverses veus? +En primer lloc observeu aquest exemple de quatre acords: + +@lilypond[quote,verbatim,ragged-right,relative=1] +\key g \major +4 +@end lilypond + +Això es pot expressar utilitzant sols símbols d'acord amb angles +simples, @code{< @dots{} >}, i per això tan sols es necessita una +veu. Però suposeu que el Fa sostingut fos realment una corxera +seguida d'un Sol corxera, una nota de pas que condueix al La. Ara +tenim duen notes que comencen el mateix moment però tenen +diferents duracions: la negra Re, i la corxera Fa sostingut. Com +es codifica això? No es poden escriure amb un acord perquè totes +les notes d'un acord han de tenir la mateixa duració. I no es +poden escriure com dues notes en seqüència perquè han de començar +al mateix moment. Aquí és on necessiten dues veus. + +Vegem com es fa això dins de la sintaxi d'entrada del LilyPond. + +@funindex << \\ >> +@funindex \\ + +La forma més fàcil d'introduir fragments amb més d'una veu a un +sol pentagrama és escriure cada veu com una seqüència (amb +@code{@{ @dots{} @}}), i combinar-les simultàniament amb angles +dobles, @code{<< @dots{} >>}. Els fragments també s'han de +separar mitjançant una doble barra invertida, @code{\\}, per +situar-los a veus separades. +Sense això, les notes anirien a una sola veu, el que normalment +produeix errors. Aquesta tècnica s'adapta especialment bé a peces +de música que són majorment homofòniques però ocasionalment tenen +seccions curtes de polifonia. + +Heus ací com dividim els acords anteriors en dues veus i afegim la +nota de pas i la lligadura: + +@lilypond[quote,verbatim,ragged-right,relative=2] +\key g \major +% Veu "1" Veu "2" +<< { g4 fis8( g) a4 g } \\ { d4 d d d } >> +@end lilypond + +Observe com les pliques de la segona veu ara es dirigeixen cap +avall. + +A continuació vegem un altre exemple senzill: + +@lilypond[quote,verbatim,ragged-right,relative=2] +\key d \minor +% Veu "1" Veu "2" +<< { r4 g g4. a8 } \\ { d,2 d4 g } >> | +<< { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> | +<< { a2. r4 } \\ { fis2. s4 } >> | +@end lilypond + +No és necessari usar una construcció @code{<< \\ >>} diferent per +a cada compàs. Per a música que tingui unes poques notes a cada +compàs, aquesta disposició podria facilitar la llegibilitat del +codi, però si hi ha moltes notes a cada compàs podria ser millor +dividir-lo en dues veus separades de la següent manera: + +@lilypond[quote,verbatim,ragged-right,relative=2] +\key d \minor +<< { + % Veu "1" + r4 g g4. a8 | + bes4 bes c bes | + a2. r4 | +} \\ { + % Veu "2" + d,2 d4 g | + g4 g g8( a) g4 | + fis2. s4 | +} >> +@end lilypond + +@cindex veus, nomenament de +@cindex veus que creuen claudàtors +@cindex lligadures que creuen claudàtors + +Aquest exemple té sols dues veus, però la mateixa construcció es +pot usar per codificar tres o més veus mitjançant l'addició de més +separadors de barra invertida. + +Els contextos de veu porten els noms de @code{"1"}, @code{"2"}, +etc. Els primers contextos estableixen les veus @emph{externes}, +la veu aguda del context @code{"1"} i la veu greu del context +@code{"2"}. Les veus interiors van als contextos @code{"3"} i +@code{"4"}. A cada un d'aquests contextos, la direcció vertical +de les lligadures, pliques, matisos dinàmics, etc., s'ajusta de +forma correcta. + +@lilypond[quote,verbatim] +\new Staff \relative c' { + % Veu principal + c16 d e f + % Veu "1" Veu "2" Veu "3" + << { g4 f e } \\ { r8 e4 d c8~ } >> | + << { d2 e } \\ { c8 b16 a b8 g~ 2 } \\ { s4 b c2 } >> | +} +@end lilypond + +Totes aquestes veus estan separades de la veu principal que conté +les notes just per fora de la construcció @code{<< @dots{} >>}. +Anomenarem això la @emph{construcció simultània}. Les lligadures +(de prolongació i d'expressió) solament poden connectar notes +que estiguin dins de la mateixa veu, en conseqüència les +lligadures no poden entrar o sortir d'una construcció +simultània. A la inversa, les veus paral.leles de construccions +simultànies diferents sobre el mateix pentagrama són la mateixa +veu. Hi ha altres propietats relatives a les veus que també +impliquen construccions simultànies. A continuació veiem el mateix +exemple, amb colors i caps diferents per a cada veu. Observeu que +els canvis a una veu no afecten a d'altres veus, però persisteixen +més tard dins de la mateixa veu. Observeu també que les notes +lligades es poden dividir entre les mateixes veus de dues +construccions, com s'indica aquí a la veu de triangles blaus. + +@lilypond[quote,verbatim] +\new Staff \relative c' { + % Veu principal + c16 d e f + << % Bar 1 + { + \voiceOneStyle + g4 f e + } + \\ + { + \voiceTwoStyle + r8 e4 d c8~ + } + >> | + << % Bar 2 + % Continua la Veu 1 + { d2 e } + \\ + % Continua la Veu 2 + { c8 b16 a b8 g~ 2 } + \\ + { + \voiceThreeStyle + s4 b c2 + } + >> | +} +@end lilypond + +@funindex \voiceOneStyle +@funindex \voiceTwoStyle +@funindex \voiceThreeStyle +@funindex \voiceFourStyle +@funindex \voiceNeutralStyle + +Les instruccions @code{\voiceXXXStyle} estan pensades +principalment per usar-les en documents educatius com el que +presentem aquí. Modifiquen el color del cap, la plica i les +barres, i l'estil del cap, de manera que les veus es poden +distingir fàcilment. La veu u està establerta a rombes vermells, +la veu dos a triangles blaus, la veu tres a cercles verdes amb +aspes, i la veu quatre (que no es fa servir aquí) a aspes color +magenta. @code{\voiceNeutralStyle} (que tampoc no es fa servir +aquí) retorna tot a l'estil predeterminat. Veurem més endavant +com l'usuari pot crear instruccions com aquestes. Vegeu +@rlearningnamed{Visibility and color of objects,Visibilitat i +color dels objectes} i +@rlearningnamed{Using variables for layout adjustments,Ús de +variables per als ajustos de disposició}. + +@cindex polifonia i mode relatiu +@cindex relatiu, mode, polifonia i + +La polifonia no canvia la relació de les notes dins d'un bloc +@code{\relative}. L'alçada de cada nota encara es calcula amb +relació a la nota que la precedeix immediatament, o a la primera +nota de l'acord precedent. Així, en + +@example +\relative c' @{ notaA << < notaB notaC > \\ notaD >> notaE @} +@end example + +@noindent +@code{notaB} és relativa a @code{notaA} @* +@code{notaC} és relativa a @code{notaB}, no a @code{notaA}; @* +@code{notaD} és relativa a @code{notaB}, no a @code{notaA} ni a +@code{notaC}; @* +@code{notaE} és relativa a @code{notaD}, no a @code{notaA}. + +Una forma alternativa, que podria ser més clara si les notes a les +veus estan molt separades, és col.locar una instrucció +@code{\relative} al principi de cada veu: + +@example +\relative c' @{ notaA @dots{} @} +<< + \relative c'' @{ < notaB notaC > @dots{} @} +\\ + \relative g' @{ notaD @dots{} @} +>> +\relative c' @{ notaE @dots{} @} +@end example + +Finalment, analitzem les veus en una peça de música més +complexa. Heus aquí les notes dels dos primers compassos del segon +dels Dos Nocturns de Chopin, Op 32. Aquest exemple s'utilitzarà +en fases posteriors dins del present capítol i el següent, per +il.lustrar diverses tècniques per produir notació, i per tant us +demanem que ignoreu per ara qualsevol cosa al codi subjacent que +li sembli misteriós i tan sols es concentri a la música i les veus +(totes les complicacions s'explicaran a seccions posteriors). + +@c The following should appear as music without code +@lilypond[quote,ragged-right] +\new Staff \relative c'' { + \key aes \major + << % Veu u + { c2 aes4. bes8 } + \\ % Voice two + { + % Ignoreu aquestes expressions per ara, s'explicaran al Cap. 4 + \once \override NoteColumn.ignore-collision = ##t + 2 + \once \override NoteColumn.force-hshift = #0.5 + des2 + } + \\ % Sense veu tres + \\ % Veu quatre + { + \override NoteColumn.force-hshift = #0 + aes'2 f4 fes + } + >> | + 1 | +} +@end lilypond + +Amb freqüència, la direcció de les pliques s'utilitza per indicar +la continuïtat de dues línies melòdiques simultànies. En aquest +cas, totes les pliques de les notes agudes es dirigeixen cap amunt +i les de la notes greus cap avall. Aquesta és la primera +indicació que es requereix més d'una veu. + +Però la necessitat real de diverses veus apareix quan hi ha notes +que comencen al mateix temps però tenen duracions +diferents. Observeu les notes que comencen a la tercera part del +primer compàs. El La bemoll és una negra amb puntet, el Fa és una +negra i el Re bemoll és una blanca. Aquestes notes no es poden +escriure com un acord perquè totes les notes d'un acord han de +tenir la mateixa duració. Tampoc es poden escriure com notes +seqüencials, ja que han de començar al mateix temps. Aquesta +secció del compas requereix tres veus, i la pràctica comuna seria +escriure tot el compàs com tres veus com es mostra a sota, on hem +usat diferents caps i colors per a la tres veus. Un cop més, el +codi que hi ha a aquest exemple s'explicarà més tard, així que +ignoreu tot el que no entengueu. + +@c The following should appear as music without code +@c The three voice styles should be defined in -init +@lilypond[quote,ragged-right] +\new Staff \relative c'' { + \key aes \major + << + { % Veu u + \voiceOneStyle + c2 aes4. bes8 + } + \\ % Veu dos + { \voiceTwoStyle + % Ignoreu això per ara - s'explicarà al Cap 4 + \once \override NoteColumn.ignore-collision = ##t + 2 + \once \override NoteColumn.force-hshift = #0.5 + des2 + } + \\ % No hi ha veu tres (volem les pliques cap avall) + \\ % Veu quatre + { \voiceThreeStyle + \override NoteColumn.force-hshift = #0 + aes'2 f4 fes + } + >> | + 1 | +} +@end lilypond + +Intentarem codificar aquesta música partint de zero. Com veurem, +això s'enfronta a certes dificultats. Començarem tal com hem +après, usant la construcció @code{<< \\ >>} per introduir la +música del primer compàs a tres veus: + +@lilypond[quote,verbatim,ragged-right] +\new Staff \relative c'' { + \key aes \major + << + { c2 aes4. bes8 } \\ { 2 des } \\ { aes'2 f4 fes } + >> | + 1 | +} +@end lilypond + +@cindex plica avall +@cindex veus i direcció de ls pliques +@cindex pliques, veus i direcció de les +@cindex plica amunt + +Les direccions de les pliques s'assignen automàticament de forma +que les veus de numeració imparell reben les pliques cap amunt i les +de numeració parell cap avall. Les pliques de les veus 1 i 2 +són correctes, però les pliques de la veu 3 haurien d'anar cap +avall en aquest fragment en particular. Podem corregir això +simplement oblidant-nos de la veu tres i situant la música a la +veu quatre. Això es fa escrivint un altre parell de barres +invertides (@code{\\}). + +@lilypond[quote,verbatim,ragged-right] +\new Staff \relative c'' { + \key aes \major + << % Veu u + { c2 aes4. bes8 } + \\ % Veu dos + { 2 des } + \\ % Omet Veu tres + \\ % Veu quatre + { aes'2 f4 fes } + >> | + 1 | +} +@end lilypond + +@noindent +Veiem que això arregla la direcció de la plica, però la +col.locació horitzontal de les notes no és la desitjada. El +LilyPond desplaça les notes interiors quan elles o les seves +pliques d'una altra manera col.lisionarien amb les veus exteriors, +però això no és el més adequat per a música de piano. En altres +situacions, els desplaçaments que el LilyPond aplica poden no +eliminar les col.lisions. El LilyPond aporta diverses formes +d'ajustar la col.locació horitzontal de les notes. Encara no +estem preparats per veure com es corregeix això, per la qual cosa +deixarem el problema per a una secció posterior (vegeu la +propietat @code{force-hshift} a +@rlearningnamed{Fixing overlapping notation,Arreglar notació amb +superposicions}). + +@warning{No es poden crear lletres ni objectes d'extensió +(com ara lligadures, reguladors, etc.) @q{entre} veus diferents.} + +@seealso +Referència de la notació: +@ruser{Multiple voices}. + + +@node Veus explícites +@subsection Veus explícites +@translationof Explicitly instantiating voices + + +@funindex \voiceOne +@funindex voiceOne +@funindex \voiceTwo +@funindex voiceTwo +@funindex \voiceThree +@funindex voiceThree +@funindex \voiceFour +@funindex voiceFour +@funindex \oneVoice +@funindex oneVoice +@funindex \new Voice +@cindex contextos de veu, creació de + +Els contextos de veu també es poden crear manualment dins d'un +bloc @code{<< >>} per crear música polifònica, utilitzant +@code{\voiceOne} @dots{} @code{\voiceFour} per indicar les +direccions requerides de pliques, lligadures, etc. A partitures +més llargues, aquest mètode és més clar perquè permet que les veus +estiguin separades i rebin noms més descriptius. + +Concretament, la construcció @code{<< \\ >>} que usem a la secció +prèvia: + +@example +\new Staff @{ + \relative c' @{ + << @{ e4 f g a @} \\ @{ c,4 d e f @} >> + @} +@} +@end example + +@noindent +equival a + +@example +\new Staff << + \new Voice = "1" @{ \voiceOne \relative c' @{ e4 f g a @} @} + \new Voice = "2" @{ \voiceTwo \relative c' @{ c4 d e f @} @} +>> +@end example + +Els dos exemples anteriors produeixen: + +@c The following example should not display the code +@lilypond[ragged-right,quote] +\new Staff << + \new Voice = "1" { \voiceOne \relative c' { e4 f g a } } + \new Voice = "2" { \voiceTwo \relative c' { c4 d e f } } +>> +@end lilypond + +@cindex veus, retorn a única +@cindex retorn a veu única + +Les instruccions @code{\voiceXXX} estableixen la direcció de les +pliques, lligadures d'expressió, lligadures de prolongació, +articulacions, anotacions de text, puntets i digitacions. +@code{\voiceOne} i @code{\voiceThree} fan que aquests objectes +apuntin cap amunt, mentre que @code{\voiceTwo} i @code{\voiceFour} +els fan apuntar cap avall. Aquestes instruccions també produeixen +un desplaçament horitzontal per a cada veu quan és necessari per +evitar xocs entre els caps. La instrucció @code{\oneVoice} +retorna els ajustos de nou als valors normals per a una sola veu. + +Vegem a alguns exemples senzills exactament quin efecte tenen +@code{\oneVoice}, @code{\voiceOne} i @code{voiceTwo} sobre +l'escriptura, les lligadures d'unió i d'expressió i les +indicacions de dinàmica: + +@lilypond[quote,ragged-right,verbatim] +\relative c' { + % Comportament predeterminat o comportament després de \oneVoice + c4 d8~ 8 e4( f | g4 a) b-> c | +} +@end lilypond + +@lilypond[quote,ragged-right,verbatim] +\relative c' { + \voiceOne + c4 d8~ 8 e4( f | g4 a) b-> c | + \oneVoice + c,4 d8~ 8 e4( f | g4 a) b-> c | +} +@end lilypond + +@lilypond[quote,ragged-right,verbatim] +\relative c' { + \voiceTwo + c4 d8~ 8 e4( f | g4 a) b-> c | + \oneVoice + c,4 d8~ 8 e4( f | g4 a) b-> c | +} +@end lilypond + +A continuació veurem tres formes diferents de composar la notació +del mateix passatge polifònic, cada una de les quals té els seus +avantatges segons la circumstància, utilitzant l'exemple de la +secció anterior. + +Una expressió que apareix directament dins de @code{<< >>} pertany +a la veu principal (però, observeu, @strong{no} dins d'una +construcció @code{<< \\ >>}). Això és útil quan apareixen veus +noves mentre la veu principal està sonant. A continuació podem +veure una realització més correcte de l'exemple de la secció +anterior. Les notes vermelles en forma de rombe mostren que la +melodia principal està ara dins d'un context d'una sola veu, fent +que es pugui traçar una lligadura per sobre d'elles. + +@lilypond[quote,ragged-right,verbatim] +\new Staff \relative c' { + \voiceOneStyle + % Aquesta secció és homofònica + c16^( d e f + % Comença una secció simultània de tres veus + << + % Continua la veu principal en paral.lel + { g4 f e | d2 e) | } + % Inicia la segona veu + \new Voice { + % Estableix les pliques, etc., cap avall + \voiceTwo + r8 e4 d c8~ | 8 b16 a b8 g~ 2 | + } + % Inicia la tercera veu + \new Voice { + % Set stems, etc, up + \voiceThree + s2. | s4 b c2 | + } + >> +} +@end lilypond + +@cindex aniuat d'expressions musicals +@cindex aniuat de construccions simultànies +@cindex aniuat de veus +@cindex veus temporals +@cindex veus, aniuat de + +Les construccions polifòniques niuades més profundament són +possibles, i si hi ha una veu que apareix sols breument podria +haver-hi una forma més natural d'escriure la música. + +@lilypond[quote,ragged-right,verbatim] +\new Staff \relative c' { + c16^( d e f + << + { g4 f e | d2 e) | } + \new Voice { + \voiceTwo + r8 e4 d c8~ | + << + { c8 b16 a b8 g~ 2 | } + \new Voice { + \voiceThree + s4 b c2 | + } + >> + } + >> +} +@end lilypond + +@cindex espaiadores, notes + +Aquest mètode de niuar veus noves breument és útil quan sols hi ha +seccions polifòniques petites, però quan tot el pentagrama és molt +polifònic podria ser més clar usar sempre diverses veus, usant +notes espaiadores per passar per sobre de les seccions on una veu +està en silenci, com per exemple: + +@lilypond[quote,ragged-right,verbatim] +\new Staff \relative c' << + % Inicia la primera veu + \new Voice { + \voiceOne + c16^( d e f g4 f e | d2 e) | + } + % Inicia la segona veu + \new Voice { + % Estableix les pliques, etc., cap avall + \voiceTwo + s4 r8 e4 d c8~ | 8 b16 a b8 g~ 2 | + } + % Inicia la tercera veu + \new Voice { + % Estableix les pliques, etc., cap amunt + \voiceThree + s1 | s4 b c2 | + } +>> +@end lilypond + +@subsubheading Columnes de notes + +@cindex columna de notes +@cindex col.lisions de notes +@cindex notes, col.lisions de +@cindex desplaçament, instruccions de +@funindex \shiftOff +@funindex shiftOff +@funindex \shiftOn +@funindex shiftOn +@funindex \shiftOnn +@funindex shiftOnn +@funindex \shiftOnnn +@funindex shiftOnnn + +Les notes properes a un acord, o les notes que es produeixen al +mateix temps en diferents veus, es disposen en dos (i +ocasionalment més) columnes per evitar el solapament dels caps. +Reben el nom de columnes de notes. Hi ha columnes diferents per a +cada veu, i el desplaçament especificat en curs depenent de la veu +s'aplica a la columna de la nota si en cas contrari es produís una +col.lisió. Això es pot veure a l'exemple anterior. Al compàs 2 el +Do a la veu dos està desplaçat a la dreta respecte del Re de la +veu u, i a l'últim acord el Do de la veu tres també està desplaçat +a la dreta respecte de les altres notes. + +Les instruccions @code{\shiftOn}, @code{\shiftOnn}, +@code{\shiftOnnn} i @code{\shiftOff} especifiquen el grau que +s'han de desplaçar les notes i acords de la veu si en cas contrari +es produís una col.lisió. De forma predeterminada, les veus +exteriors (normalment les veus u i dos) tenen com a especificació +@code{\shiftOff}, mentre que les veus interiors (tres i quatre) +tenen especificat @code{\shiftOn}. Quan s'aplica un desplaçament, +les veus u i tres es desplacen cap a la dreta i les veus dos i +quatre es desplacen cap a l'esquerra. + +@code{\shiftOnn} i @code{\shiftOnnn} defineixen nivells +addicionals de desplaçament que es poden especificar temporalment +per resoldre col.lisions en situacions complexes (vegeu +@rlearningnamed{Real music example,Exemples reals de música}). + +Una columna de notes pot contenir sols una nota (o acord) d'una +veu amb les pliques cap amunt i una nota (o acord) d'una veu amb +les pliques cap avall. Si les notes de dues veus que tenen les +pliques a la mateixa direcció se situen en la mateixa posició i +les dues veus no tenen cap desplaçament o porten especificat el +mateix desplaçament, es produirà el missatge d'error @qq{Xoquen +massa columnes de notes}. + +@seealso +Manual d'aprenentatge: +@rlearningnamed{Moving objects,Moure objectes}. + +Referència de la notació: +@ruser{Multiple voices}. + + +@node Veus i música vocal +@subsection Veus i música vocal +@translationof Voices and vocals + +La música vocal presenta una dificultat especial: hem de combinar +dues expressions, és a dir, les notes i la lletra. + +@funindex \new Lyrics +@funindex \lyricsto +@funindex lyricsto +@funindex Lyrics +@cindex Lyrics, creació d'un context +@cindex lletra, creació d'un context de +@cindex lletra, enllaçar amb una veu + +Ja heu vist la instrucció @code{\addlyrics@{@}}, que funciona bé +per a partitures senzilles. Tot i així, aquesta tècnica és una +mica limitada. Per a música de complexitat més gran, hem +d'introduir la lletra en un context @code{Lyrics} utilitzant +@code{\new Lyrics} i enllaçar explícitament la lletra i les notes +mitjançant @code{\lyricsto@{@}}, usant el nom assignat a la veu. + +@lilypond[quote,verbatim] +<< + \new Voice = "una" { + \relative c'' { + \autoBeamOff + \time 2/4 + c4 b8. a16 | g4. f8 | e4 d | c2 | + } + } + \new Lyrics \lyricsto "una" { + No more let | sins and | sor -- rows | grow. | + } +>> +@end lilypond + +Observeu que la lletra s'ha d'enllaçar a un context de +@code{Voice}, @emph{no} a un context de @code{Staff}. Aquest és +un cas on és necessari crear contextos de @code{Staff} i de +@code{Voice} explícitament. + +@cindex lletra i barrat +@cindex barrat i lletra +@funindex \autoBeamOff +@funindex autoBeamOff + +El barrat automàtic que el LilyPond usa de forma predeterminada +funciona bé per a la música instrumental, però no tan bé per a +música sense lletra, on o bé el barrat no es necessita en absolut, +o bé s'utilitza per indicar els melismes de la lletra. A +l'exemple anterior hem utilitzat la instrucció @code{\autoBeamOff} +per desactivar el barrat automàtic. + +@funindex \new ChoirStaff +@funindex ChoirStaff +@funindex \lyricmode +@funindex lyricmode +@cindex vocal, estructura d'una partitura +@cindex cor, sistema de + +Ara reutilitzarem l'exemple anterior de «Judes Macabeu» per a +il.lustrar aquesta tècnica més flexible. Primer la reescriurem +per que faci servir variables, de manera que la música i la lletra +es puguin separar de l'estructura de pentagrames. També +introduirem una clau de grup de ChoirStaff. La lletra pròpiament +dita s'ha de introduir amb @code{\lyricmode} perquè tenir seguretat +que s'interpreti com a lletra i no com a música. + +@lilypond[quote,verbatim] +global = { \key f \major \time 6/8 \partial 8 } + +SopOneMusic = \relative c'' { + c8 | c8([ bes)] a a([ g)] f | f'4. b, | c4.~ 4 +} +SopOneLyrics = \lyricmode { + Let | flee -- cy flocks the | hills a -- dorn, __ +} +SopTwoMusic = \relative c' { + r8 | r4. r4 c8 | a'8([ g)] f f([ e)] d | e8([ d)] c bes' +} +SopTwoLyrics = \lyricmode { + Let | flee -- cy flocks the | hills a -- dorn, +} + +\score { + \new ChoirStaff << + \new Staff << + \new Voice = "SopOne" { + \global + \SopOneMusic + } + \new Lyrics \lyricsto "SopOne" { + \SopOneLyrics + } + >> + \new Staff << + \new Voice = "SopTwo" { + \global + \SopTwoMusic + } + \new Lyrics \lyricsto "SopTwo" { + \SopTwoLyrics + } + >> + >> +} +@end lilypond + +Aquesta és l'estructura bàsica de totes les partitures vocals. Es +poden afegir més pentagrames segons es necessiti, es poden afegir +més veus als pentagrames i més estrofes a la lletra, i les +variables que contenen la música es poden col.locar fàcilment en +fitxers separats quan es facin massa llargs. + +@cindex himne, estructura de +@cindex SATB, estructura de +@cindex vocal, partitura, diverses estrofes +@cindex diverses estrofes vocals +@cindex estrofes, diverses, vocals + +A continuació podem veure un exemple final de la primera línia +d'un himne amb quatre estrofes, per a cor SATB. En aquest cas la +lletra de les quatre parts és la mateixa. Observeu com utilitzem +variables per a separar la notació musical de l'estructura de +pentagrames. Observeu també com s'utilitza una variable, per a la +qual hem escollit el nom @q{TimeKey} («compàs i tonalitat»), per a +que contingui diverses instruccions que s'usaran dins dels dos +pentagrames. A d'altres exemples se li sol donar el nom de @q{global}. + +@lilypond[quote,verbatim] +keyTime = { \key c \major \time 4/4 \partial 4 } + +SopMusic = \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 = + \lyricmode { E -- | ter -- nal fa -- ther, | strong to save, } +VerseTwo = + \lyricmode { O | Christ, whose voice the | wa -- ters heard, } +VerseThree = + \lyricmode { O | Ho -- ly Spi -- rit, | who didst brood } +VerseFour = + \lyricmode { O | Tri -- ni -- ty of | love and pow'r } + +\score { + \new ChoirStaff << + \new Staff << + \clef "treble" + \new Voice = "Sop" { \voiceOne \keyTime \SopMusic } + \new Voice = "Alto" { \voiceTwo \AltoMusic } + \new Lyrics \lyricsto "Sop" { \VerseOne } + \new Lyrics \lyricsto "Sop" { \VerseTwo } + \new Lyrics \lyricsto "Sop" { \VerseThree } + \new Lyrics \lyricsto "Sop" { \VerseFour } + >> + \new Staff << + \clef "bass" + \new Voice = "Tenor" { \voiceOne \keyTime \TenorMusic } + \new Voice = "Bass" { \voiceTwo \BassMusic } + >> + >> +} +@end lilypond + + +@seealso +Referència de la notació: +@ruser{Vocal music}. + + +@node Contextos i gravadors +@section Contextos i gravadors +@translationof Contexts and engravers + +Els contextos i els gravadors s'han mencionat de manera informal a +seccions anteriors; ara tan sols veurem aquests conceptes amb més +detall, ja que són importants a l'ajust fi de la sortida del +LilyPond. + +@menu +* Explicació dels contextos:: +* Creació de contextos:: +* Explicació dels gravadors:: +* Modificar les propietats dels contextos:: +* Afegir i eliminar gravadors:: +@end menu + +@node Explicació dels contextos +@subsection Explicació dels contextos +@translationof Contexts explained + +@cindex contextos, explicació dels + +Quan s'imprimeix la música, s'han de afegir a la sortida una gran +quantitat d'elements de notació que no apareixen explícitament al +fitxer d'entrada. Per exemple, compareu l'entrada i la sortida +del següent exemple: + +@lilypond[quote,verbatim,relative=2] +cis4 cis2. | a4 a2. | +@end lilypond + +L'entrada és força greu, però a la sortida s'han afegit línies +divisòries, les alteracions, la clau i l'armadura de la +tonalitat. Quan el LilyPond @emph{interpreta} l'entrada, la +informació musical s'analitza d'esquerra a dreta de la mateixa +manera que un intèrpret llegeix la partitura. Mentre es llegeix +el codi d'entrada, el programa recorda on estan els límits dels +compassos, i quines alçades requereixen alteracions accidentals +explícites. Aquesta informació s'ha de conservar a diversos +nivells. Per exemple, una alteració accidental afecta solament a +un pentagrama, mentre que una línia divisòria ha d'estar +sincronitzada al llarg de tot els sistema. + +Dins del LilyPond, aquestes regles i petites porcions d'informació +s'agrupen en @emph{Contexts}. Ja hem vist el context de veu, +@code{Voice}. Altres exemples de contextos són @code{Staff} +(Pauta o pentagrama) i @code{Score} (Partitura). Els contextos +són jeràrquics, de forma que reflecteixen la naturalesa jeràrquica +d'una partitura musical. Per exemple: un context de @code{Staff} +pot contenir molts contextos de @code{Voice}, i un context de +@code{Score} pot contenir molts contextos de @code{Staff}. + +@quotation +@sourceimage{context-example,5cm,,} +@end quotation + +Cada context assumeix la responsabilitat d'imposar algunes regles +de notació, creant certs objectes de notació i mantenint les +propietats associades. Per exemple, el context @code{Voice} pot +introduir una alteració accidental i llavors el context +@code{Staff} manté la regla de mostrar o suprimir l'alteració per +a la resta del compàs. + +Un altre exemple el constitueix el fet que la sincronització de les +línies divisòries es gestiona dins del context de la partitura, +@code{Score}, de forma predeterminada. Nogensmenys, a algunes +músiques és possible que vulguem que les línies divisòries +estiguin sincronitzades (pensem en una partitura polimètrica en +compassos de 4/4 i de 3/4). En aquests casos hem de modificar els +ajustos per omissió dels contextos @code{Score} i @code{Staff}. + +Per a partitures molt senzilles, els contextos es creen +implícitament i no hem de preocupar-nos per ells. Per a peces més +grans, com per exemple qualsevol que tingui més d'un pentagrama, +els contextos s'han de crear explícitament per assegurar-nos que +no tindrem la quantitat exacta de pentagrames que necessitem, i +que estan a l'ordre correcte. Per escriure peces amb notació +especialitzada, és freqüent la modificació de contextos existents +o fins i tot definir d'uns completament nous. + +A més dels contextos @code{Score,} @code{Staff} i @code{Voice}, hi +ha contextos que se situen entre els nivells de partitura i de +pentagrama per controlar els grups de pentagrames , com els +contextos alternatius de pentagrama i de veu, i contextos per a la +lletra, la percussió, diagrames de trasts, baix xifrat, etc. + +Els noms de tots els tipus de contextos es composen d'una o més +paraules que comencen amb majúscula i que estan unides unes a les +altres sense guió ni barra baixa, per exemple: +@code{PartituraDeTranscripcióGregoriana} + +@seealso +Referencia de la notació: +@rusernamed{Contexts explained,Explicació dels contextos}. + + +@node Creació de contextos +@subsection Creació de contextos +@translationof Creating contexts + +@funindex \new +@funindex new +@cindex nous contextos +@cindex creació de contextos +@cindex contextos, creació de + +A un fitxer d'entrada, el bloc de partitura, que es presenta +precedit per la instrucció @code{\score}, conté una sola expressió +musical i una definició de sortida associada (o bé un bloc +@code{\layout} o bé un bloc @code{\midi}). El context +@code{Score} se sol deixar que es creï automàticament quan +comença la interpretació d'aquesta expressió musical. + +Per a partitures que solament tenen una veu i un pentagrama, podem +també deixar que els contextos @code{Voice} i @code{Staff} se +creïn automàticament, però per a partitures més complexes és +necessari crear-los a mà. La instrucció més simple que fa això és +@code{\new}. S'anteposa a una expressió musical, per exemple + +@example +\new @var{tipus} @var{expressió_musical} +@end example + +@noindent +on @var{tipus} és el nom d'un context (com @code{Staff} o +@code{Voice}). Aquesta instrucció crea un context nou, i comença +a interpretar la @var{expressió_musical} que està dins d'aquest +context. + +@warning{No s'ha d'usar @bs{}@code{new Score} perquè el context +@code{Score} essencial del nivell superior ja es crea +automàticament al interpretar-se l'expressió musical que està +dins del bloc @bs{}@code{score}. Els valors predeterminats de +propietats de context vàlids per a tota la partitura es poden +canviar dins del bloc @bs{}@code{layout}. Vegeu @ref{Modificar +les propietats dels contextos}.} + +En les seccions anteriors heu pogut veure molts exemples pràctics +que creaven nous contextos de @code{Staff} i de @code{Voice}, +però per a recordar-vos com s'usen aquestes instruccions en la +pràctica, heus aquí un exemple anotat de música real: + +@lilypond[quote,verbatim,ragged-right] +\score { % inici de l'expressió única de música composta + << % inici d'una secció pentagrames simultanis + \time 2/4 + \new Staff { % crea el pentagrama de la mà dreta + \clef "treble" + \key g \minor + \new Voice { % crea la veu per a les notes de la mà dreta + \relative c'' { % inici de les notes de la mà dreta + d4 ees16 c8. | + d4 ees16 c8. | + } % fi de les notes de la mà dreta + } % fi de la veu de la mà dreta + } % fi del pentagrama de la mà dreta + \new Staff << % crea el pentagrama de la mà esquerra + \clef "bass" + \key g \minor + \new Voice { % crea la veu de la mà esquerra + \voiceOne + \relative g { % inicia les notes de la veu u de la mà esquerra + g8 ees, | + g8 ees, | + } % fi de les notes de la veu u de la mà esquerra + } % fi de la veu u de la mà esquerra + \new Voice { % crea la veu dos de la mà esquerra + \voiceTwo + \relative g { % inici de les notes de la veu dos de la mà esquerra + g4 ees | + g4 ees | + } % fi de les notes de la veu dos de la mà esquerra + } % fi de la veu dos de la mà esquerra + >> % fi del pentagrama de la mà esquerra + >> % fi de la secció de pentagrames simultanis +} % fi de l'expressió única de música composta +@end lilypond + +(Observeu com totes les instruccions que obren un bloc amb un +claudàtor corb, @code{@{}, o amb angles dobles, @code{<<}, estan +sagnades (tenen un marge addicional) amb dos espais addicionals, +i el claudàtor de tancament corresponent té un marge exactament +igual. Tot i no ser necessari, observar aquesta pràctica reduirà +considerablement el nombre d'errors de @q{parèntesis +descompensats}, i es recomana especialment. Permet apreciar d'una +sola ullada l'estructura de la música, i qualsevol parèntesis +descompensat apareixerà molt clarament. Observeu també com el +pentagrama de la mà esquerra es crea usant dobles angles perquè +requereix dues veus, mentre que el pentagrama de la mà dreta es +crea amb una expressió musical única tancada entre claudàtors +perquè sols requereix una veu.) + +@cindex contextos, nomenament +@cindex anomenar contextos + +La instrucció @code{\new} també pot atorgar un nom identificatiu +al context per distingir-lo d'altres contextos del mateix tipus: + +@example +\new @var{tipus} = @var{identificador} @var{expressió_musical} +@end example + +Observeu la distinció entre el nom del tipus de context, +@code{Staff}, @code{Voice}, etc., i el nom identificatiu d'una +instància en particular d'aquest tipus, que pot ser qualsevol +seqüència de lletres inventada per l'usuari. En el nom +identificatiu també es poden utilitzar dígits i espais, però en +aquest cas aquest nom ha d'anar entre cometes, per exemple +@code{\new Staff = "ElMeuPentagrama 1" @var{expressió_musical}}. +El nom identificatiu s'utilitza per referir-nos més tard a +aquesta instància en particular d'un context. Hem vist això a la +secció sobre la lletra, a @ref{Veus i música vocal}. + +@seealso +Referència de la notació: +@ruser{Creating contexts}. + + +@node Explicació dels gravadors +@subsection Explicació dels gravadors +@translationof Engravers explained + +@cindex gravadors + +Totes i cadascuna de les marques de la sortida impresa d'una +partitura feta amb el LilyPond està produïda per un +@code{Engraver} (gravador). Així, tenim un gravador per imprimir +pentagrames, un altre per imprimir els caps de les notes, un altre +per a les pliques, un altre per a les barres, i molts més. En +total hi ha més de 120 gravadors! Afortunadament, per a la major +part de les partitures no és necessari conèixer més que alguns, +per a partitures senzilles no hem de saber res de cap d'ells. + +Els gravadores resideixen i operen dins de Contextos. Els +gravadors com ara el gravador de la indicació de metrònom, +@code{Metronome_mark_engraver}, l'acció i resultat del qual +s'apliquen a la partitura com un tot, operen en el context més +alt: el context de partitura @code{Score}. + +El gravador de la clau @code{Clef_engraver} i el de l'armadura +@code{Key_engraver} es troben probablement a tots els contextos de +pentagrama (@code{Staff}), ja que els diferents pentagrames +podrien requerir diferents claus i armadures. + +El gravador dels caps de nota @code{Note_heads_engraver} i el de +les pliques @code{Stem_engraver} viuen en cada u dels contextos de +veu @code{Voice}, el context de nivell més baix de tots. + +Cada gravador processa els objectes particulars associats amb la +seva funció, i manté les propietats que estan relacionades amb +aquesta funció. Aquestes propietats, com les que estan +associades amb els contextos, es poden modificar per canviar el +funcionament del gravador o l'aspecte d'aquests elements de la +partitura impresa. + +Tots els gravadors tenen noms compostos de diverses paraules que +descriuen la seva funció. Sols està en majúscules la inicial de +la primera paraula, i la resta se li uneix mitjançant guionets +baixos. D'aquesta manera el gravador @code{Staff_symbol_engraver} +és responsable de la creació de les línies del pentagrama, i el +@code{Clef_engraver} determina i estableix l'alçada o el punt de +referència sobre el pentagrama dibuixant un símbol de clau. + +A continuació presentem alguns del gravadors més comuns, junt amb +la seva funció. Podreu comprovar que és fàcil endevinar la funció +a partir del nom (en anglès), i a l'inrevés. + +@multitable @columnfractions .3 .7 +@headitem Gravador + @tab Funció +@item Accidental_engraver + @tab Fa les alteracions accidentals, de precaució i de suggeriment. +@item Beam_engraver + @tab Grava les barres +@item Clef_engraver + @tab Grava les claus +@item Completion_heads_engraver + @tab Divideix les notes que travessen una línia divisòria +@item Dynamic_engraver + @tab Crea reguladors i indicacions dinàmiques textuals +@item Forbid_line_break_engraver + @tab Evita els salts de línia si queda algun element musical actiu +@item Key_engraver + @tab Crea l'armadura de la tonalitat +@item Metronome_mark_engraver + @tab Grava la indicació de metrònom +@item Note_heads_engraver + @tab Grava el cap de les notes +@item Rest_engraver + @tab Grava els silencis +@item Staff_symbol_engraver + @tab Grava les cinc línies (de forma predeterminada) del pentagrama +@item Stem_engraver + @tab Crea les pliques i els trèmolos d'una sola plica +@item Time_signature_engraver + @tab Crea les indicacions de compàs +@end multitable + +@smallspace + +Més endavant veurem es pot canviar com la sortida del LilyPond +mitjançant la modificació del funcionament dels Gravadors. + +@seealso +Referència de funcionament intern: +@rinternals{Engravers and Performers}. + + +@node Modificar les propietats dels contextos +@subsection Modificar les propietats dels contextos +@translationof Modifying context properties + +@cindex context, propietats de +@cindex context, propietats de, modificació +@cindex modificar les propietats de context +@funindex \set +@funindex set +@funindex \unset +@funindex unset + +Els contextos es responsabilitzen de mantenir els valors d'un cert +nombre de @emph{properties} de context. Moltes d'elles es poden +canviar per influir en la interpretació del codi d'entrada i +canviar així l'aparença de la sortida impresa. Es modifiquen +mitjançant la instrucció @code{\set}. Aquesta instrucció pren la +forma següent: + +@example +\set @emph{NomDelContext}.@emph{nomDeLaPropietat} = #@emph{valor} +@end example + +On el @emph{NomDelContext} és normalment @code{Score}, +@code{Staff} o @code{Voice}. Es pot ometre, i en aquest cas se +suposa que és el context en curs (normalment @code{Voice}). + +Els noms de les propietats de context consisteixen en paraules +unides sense cap guió o barra fixa, i on totes les paraules +excepte la primera comencen en majúscula. A continuació podem +veure alguns exemples de noms de propietats utilitzades amb +freqüència. Hi ha moltes més que les que es mostren aquí. + +@c attempt to force this onto a new page +@need 50 +@multitable @columnfractions .25 .15 .45 .15 +@headitem nomDeLaPropietat + @tab Tipus + @tab Funció + @tab Valor d'exemple +@item extraNatural + @tab Booleà + @tab Si és vertader, posa becaires addicionals abans de les alteracions + @tab @code{#t}, @code{#f} +@item currentBarNumber + @tab Enter + @tab Ajustar el número del compàs actual + @tab @code{50} +@item doubleSlurs + @tab Booleà + @tab Si és vertader, imprimir lligadures d'expressió per sobre i per sota de les notes + @tab @code{#t}, @code{#f} +@item instrumentName + @tab Text + @tab Establir el nom del pentagrama, situat a l'esquerra + @tab @code{"Cello I"} +@item fontSize + @tab Real + @tab Augmentar o disminuir la mida de la font tipogràfica + @tab @code{2.4} +@item stanza + @tab Text + @tab Establir el text que s'imprimeix abans del començament d'una estrofa + @tab @code{"2"} +@end multitable + +@noindent +on un valor Booleà es vertader (@code{#t}, True) o fals +(@code{#f}, False), un Enter és un nombre enter positiu, un nombre +real és un nombre decimal positiu o negatiu, i el text es tanca +entre cometes dobles. Observeu l'aparició de signes de coixinet +(@code{#}), en dos llocs diferents: com a part del valor Booleà +abans de la @code{t} o la @code{f}, i abans del @emph{valor} dins +de la instrucció @code{\set}. Així doncs, quan s'està escrivint +un valor Booleà, s'han d'escriure dos signes de coixinet, per +exemple: @code{##t}. + +@cindex propietats que funcionen en contextos +@cindex establir propietats en contextos + +Abans de poder establir qualsevol d'aquestes propietats, hem de +saber en quin context operen. A vegades és quelcom obvi, però en +ocasions pot ser quelcom complicat. Si especifiquem un context +equivocat, no es produeix cap missatge d'error, però el +funcionament esperat no tindrà lloc. Per exemple, la propietat +@code{instrumentName} (nom de l'instrument) viu clarament dins del +context de @code{Staff}, ja que és el pentagrama el que ha de ser +anomenat. En aquest exemple, el primer pentagrama resulta +etiquetat, però no el segon, perquè hem omès el nom del context. + +@lilypond[quote,verbatim,ragged-right] +<< + \new Staff \relative c'' { + \set Staff.instrumentName = #"Soprano" + c2 c + } + \new Staff \relative c' { + \set instrumentName = #"Alto" % Incorrecte! + d2 d + } +>> +@end lilypond + +Recordeu que el nom del context predeterminat és @code{Voice}, +així que la segona instrucció @code{\set} estableix la propietat +@code{instrumentName} del context @code{Voice} a @qq{Alto}, pero com +el LilyPond no busca aquesta propietat al context @code{Voice}, no +es realitza cap acció. Això no és un error, i no es registra cap +missatge al fitxer Log del registre d'errors. + +De forma semblant, si el nom de la propietat s'escriu amb alguna +falta, no es produeix cap missatge d'error, i clarament l'acció +esperada no pot tenir lloc. De fet, es pot establir qualsevol +@q{property} (fictícia) usant qualsevol nom que volem en qualsevol +context que existeixi, mitjançant l'ús de la instrucció +@code{\set}. Però si el nom no és conegut per al LilyPond, no +produirà cap acció. Alguns editors de text que donen suport als +fitxers d'entrada del LilyPond de manera especial, documenten els +noms de propietats amb vinyetes quan passem sobre ells el punter +del ratolí, com ara JEdit amb l'extensió LilyPondTool, o destaquen +els noms de propietats desconegudes de manera diferent, com ara +ConTEXT. Si no s'utilitza un editor amb aquesta possibilitats, es +recomana comprovar la correcció del nom de la propietat al manual +de Referència de funcionament intern: vegeu +@rinternals{Tunable context properties} o @rinternals{Contexts}. + +La propietat @code{instrumentName} tindrà efecte solament si +s'estableix dins del context @code{Staff}, però algunes propietats +es poden establir a més d'un context. Per exemple, la propietat +@code{extraNatural} està establerta de forma predeterminada al +valor @code{##t} (vertader) per a tots els pentagrames. Si +s'estableix a @code{##f} (fals) en un context de @code{Staff} +determinat s'aplicarà solament a les alteracions d'aquest +pentagrama. Si s'estableix a fals en el context de la partitura, +@code{Score}, s'aplicarà a tots els pentagrames. + +Així, això desactivarà els bequadres addicionals a un pentagrama: + +@lilypond[quote,verbatim,ragged-right] +<< + \new Staff \relative c'' { + aeses2 aes + } + \new Staff \relative c'' { + \set Staff.extraNatural = ##f + aeses2 aes + } +>> +@end lilypond + +@noindent +i això els desactivarà a tots els pentagrames: + +@lilypond[quote,verbatim,ragged-right] +<< + \new Staff \relative c'' { + aeses2 aes + } + \new Staff \relative c'' { + \set Score.extraNatural = ##f + aeses2 aes + } +>> +@end lilypond + +Com un exemple més, si s'estableix @code{clefTransposition} dins +del context de @code{Score}, aquesta instrucció canvia +immediatament el valor de la transposició en tots els pentagrames +en curs i estableix un nou valor predeterminat que s'aplicarà a +tots els pentagrames. + +La instrucció oposada, @code{\unset}, té l'efecte de suprimir la +propietat del context, el que ocasiona que la major part de les +propietats tornin al seu valor predeterminat. Normalment no és +necessari l'ús de @code{\unset}, atès que una nova instrucció +@code{\set} farà l'ajust desitjat. + +Les instruccions @code{\set} i @code{\unset} poden aparèixer en +qualsevol lloc del fitxer d'entrada i tindran un efecte a partir +del temps on es troben i fins al final de la partitura o fins que la +propietat es torni a establir mitjançant @code{\set} o +@code{\unset}. Provem a modificar la mida de la font tipogràfica, +el que afecta la mida dels caps de les notes (entre altres coses) +diverses vegades. El canvi s'agafa a partir del valor +predeterminat, no el valor en curs. + +@lilypond[quote,verbatim,ragged-right,relative=1] +c4 d +% fes que els caps de nota siguin més petits +\set fontSize = #-4 +e4 f | +% fes que els caps de nota siguin més grans +\set fontSize = #2.5 +g4 a +% torna a la mida predeterminada +\unset fontSize +b4 c | +@end lilypond + +Hem pogut veure com establir els valors de diversos tipus de +propietat diferents. Observeu que els nombres enters i reals van +sempre precedits d'un símbol de coixinet, @code{#}, mentre que un +valor booleà vertader o fals s'especifica mitjançant +@code{##t} i @code{##f}, amb dos coixinets. Una propietat de +test s'ha de tancar entre cometes dobles, com abans, tot i que +veurem més endavant que el text realment es pot especificar d'una +forma molt més general utilitzant la molt potent instrucció +@code{markup}. + +@subsubheading Canviar les propietats d'un context amb @code{\with} + +@funindex \with +@funindex with +@cindex context, propietats de, establiment amb \with + +El valor predeterminat de les propietats de context es pot +establir en el moment que es crea el context. A vegades aquesta +forma d'establir el valor d'una propietat és molt més clara, si ha +de quedar fix durant tot el temps que duri el context. Quan es +crea un context amb una instrucció @code{\new} pot anar +immediatament seguit d'un bloc @code{\with @{ @dots{} @}} en el +que s'estableix els valors predeterminats de les propietats. Per +exemple, si volem suprimir la impressió de bequadres addicionals per +a tota la duració d'un pentagrama, podem escriure: + +@example +\new Staff \with @{ extraNatural = ##f @} +@end example + +@noindent +de la forma següent: + +@lilypond[quote,verbatim,ragged-right] +<< + \new Staff { + \relative c'' { + gisis4 gis aeses aes + } + } + \new Staff \with { extraNatural = ##f } { + \relative c'' { + gisis4 gis aeses aes + } + } +>> +@end lilypond + +Les propietats ajustades d'aquesta manera encara poden canviar-se +dinàmicament utilitzant @code{\set} i tornar-se al valor +predeterminat que es va establir al bloc @code{\with} mitjançant +@code{\unset}. + +@cindex fontSize (mida de la tipografia) +@cindex font, mida de la +@cindex mida de la font + +Així doncs, si la propietat @code{fontSize} s'ajusta dins d'una +instrucció @code{\with}, té l'efecte de reiniciar el valor +predeterminat de la mida de la font tipogràfica. Si més tard es +modifica amb @code{\set}, aquest nou valor predeterminat pot +restablir-se amb la instrucció @code{\unset fontSize}. + +@subsubheading Canviar las propietats d'un context amb @code{\context} + +@cindex contextos, establir propietats de, amb \context +@funindex \context +@funindex context + +Els valors de propietat dels contextos es poden establir per a +@emph{tots} els contextos d'un tipus determinat, com per exemple +tots els contextos de @code{Staff}, amb una única instrucció. El +tipus de context s'identifica mitjançant la utilització del nom +del seu tipus, com @code{Staff}, precedit d'una barra invertida: +@code{\Staff}. L'enunciat que estableix el valor de la propietat +és el mateix que el que està en un bloc @code{\with}, presentat +anteriorment. Es col.loca en un bloc @code{\context} dins d'un +bloc @code{\layout}. Cada bloc @code{\context} afecta a tots els +contextos del tipus especificat al llarg del bloc @code{\score} o +@code{\book} en el que apareix el bloc @code{\layout}. A +continuació presentem un exemple que mostra el format: + +@lilypond[verbatim,quote] +\score { + \new Staff { + \relative c'' { + cisis4 e d cis + } + } + \layout { + \context { + \Staff + extraNatural = ##t + } + } +} +@end lilypond + +Si es vol aplicar la sobreescriptura de propietats a tos els +pentagrames de la partitura: + +@lilypond[quote,verbatim] +\score { + << + \new Staff { + \relative c'' { + gisis4 gis aeses aes + } + } + \new Staff { + \relative c'' { + gisis4 gis aeses aes + } + } + >> + \layout { + \context { + \Score extraNatural = ##f + } + } +} +@end lilypond + +@noindent +Les propietats de context establertes d'aquesta forma es poden +sobreescriure per a exemples concrets de contextos mitjançant +enunciats dins d'un bloc @code{\with}, i mitjançant instruccions +@code{\set} intercalades dins d'enunciats musicals. + +@seealso +Referència de la notació: +@ruser{Changing context default settings}. +@c FIXME +@c uncomment when backslash-node-name issue is resolved -pm +@ruser{The set command} + +Referència de funcionament intern: +@rinternals{Contexts}, +@rinternals{Tunable context properties}. + + +@node Afegir i eliminar gravadors +@subsection Afegir i eliminar gravadors +@translationof Adding and removing engravers + +@cindex gravadors, addició +@cindex gravadors, eliminació +@cindex addició de gravadors +@cindex eliminació de gravadors + +@funindex \consists +@funindex consists +@funindex \remove +@funindex remove + +Hem vist que cada un dels contextos conté diversos gravadors, cada +u dels quals és al seu cop responsable de la producció d'una +fracció particular del resultat imprès, com ara línies divisòries, +pentagrames, caps, pliques, etc. Si un gravador és eliminat d'un +context, ja no podrà produir la seva sortida impresa. És una +forma una mica radical de modificar la sortida, pero algunes +vegades pot ser útil. + +@subsubheading Canviar un sol context + +Per eliminar un gravador d'un context únic, usem la instrucció +@code{\with} situada immediatament després de la instrucció que +crea el context, com a la secció anterior. + +Com a il.lustració, repetim un exemple estret de la secció +anterior amb les línies del pentagrama eliminades. Recordeu que +les línies del pentagrama estan dibuixades pel gravador +@code{Staff_symbol_engraver}. + +@lilypond[quote,verbatim,ragged-right] +\new Staff \with { + \remove "Staff_symbol_engraver" +} +\relative c' { + c4 d + \set fontSize = #-4 % fes més petits els caps de les notes + e4 f | + \set fontSize = #2.5 % fes més grans els caps de les notes + g4 a + \unset fontSize % retorna a la mida predeterminada + b4 c | +} +@end lilypond + +@cindex àmbit, gravador del + +Els gravadors també es poden afegir als contextos individuals. La +instrucció que ho fa és + +@code{\consists @var{Nom_del_gravador}}, + +situada dins d'un bloc @code{\with}. Certes partitures vocals +tenen una indicació d'àmbit o tessitura situada al principi del +pentagrama per indicar l'àmbit de notes en aquest pentagrama, vegeu +@rglos{ambitus}. L'ambitus es produeix per part del gravador +@code{Ambitus_engraver}, que normalment no està inclòs en cap +context. Si l'afegim al context @code{Voice}, calcula el rang a +partir d'aquesta única veu: + +@lilypond[quote,verbatim,ragged-right] +\new Staff << + \new Voice \with { + \consists "Ambitus_engraver" + } { + \relative c'' { + \voiceOne + c4 a b g + } + } + \new Voice { + \relative c' { + \voiceTwo + c4 e d f + } + } +>> +@end lilypond + +@noindent +però si afegim el gravador d'àmbit al context de @code{Staff}, +calcula el rang de totes les notes en totes les veus d'aquest +pentagrama: + +@lilypond[quote,verbatim,ragged-right] +\new Staff \with { + \consists "Ambitus_engraver" +} +<< + \new Voice { + \relative c'' { + \voiceOne + c4 a b g + } + } + \new Voice { + \relative c' { + \voiceTwo + c4 e d f + } + } +>> +@end lilypond + +@subsubheading Canviar tots els contextos del mateix tipus + +@funindex \layout +@funindex layout + +Els exemples anteriors mostren la manera d'eliminar o afegir +gravadors als contextos individuals. També és possible eliminar o +afegir gravadors a tots els contextos d'un tipus específic, +situant les instruccions al context corresponent dins d'un bloc +@code{\layout}. Per exemple, si volem mostrar els rangs de +tessitura per a tots els pentagrames d'una partitura de quatre +pautes, podem escriure + +@lilypond[quote,verbatim,ragged-right] +\score { + << + \new Staff { + \relative c'' { + c4 a b g + } + } + \new Staff { + \relative c' { + c4 a b g + } + } + \new Staff { + \clef "G_8" + \relative c' { + c4 a b g + } + } + \new Staff { + \clef "bass" + \relative c { + c4 a b g + } + } + >> + \layout { + \context { + \Staff + \consists "Ambitus_engraver" + } + } +} +@end lilypond + +@noindent +Els valors predeterminats de les propietats dels contextos també +es poden establir per a tots els contextos d'un tipus en +particular incloent-hi la instrucció @code{\set} dins d'un bloc +@code{\context} de la mateixa forma. + + +@seealso +Referència de la notació: +@ruser{Modifying context plug-ins}, +@ruser{Changing context default settings}. + +@knownissues +Els gravadors @code{Stem_engraver} i @code{Beam_engraver} +(de plica i de barra) adjunten al cap de les notes els objectes +que creen. Si es suprimeix el gravador de caps de nota +@code{Note_heads_engraver}, no es produeix cap cap i per tant no +es creen tampoc pliques ni barres. + +@node Extensió de les plantilles +@section Extensió de les plantilles +@translationof Extending the templates + +Heu llegit el tutorial i ara sabeu escriure música. Però, com +podeu posar els pentagrames que voleu? Les plantilles estan molt +bé, però què passa si voleu alguna cosa que està en cap plantilla? +Bé, podeu trobar muntanyes de plantilles (vegeu +@rlearningnamed{Templates,Plantilles}) +que us poden servir com a punt de partida. Però i si voleu +quelcom que no està contemplat aquí? Continueu llegint. + +@menu +* Soprano i violoncel:: +* Partitura vocal a quatre veus SATB:: +* Crear una partitura partint de zero:: +* Estalviar tecleig mitjançant variables i funcions:: +* Partitures i particel.les:: +@end menu + +@node Soprano i violoncel +@subsection Soprano i violoncel +@translationof Soprano and cello + +@cindex plantilla, modificar +@cindex modificar plantilles + +Per començar, agafeu la plantilla que us sembli més semblant a +allò que voleu aconseguir. Diguem-ne que voleu escriure alguna +cosa per a soprano i violoncel. En aquest cas començaríem amb la +plantilla @q{Notes i lletra} (per a la part de soprano). + +@example +\version @w{"@version{}"} +melodia = \relative c' @{ + \clef "treble" + \key c \major + \time 4/4 + a4 b c d +@} + +text = \lyricmode @{ + Aaa Bee Cee Dee +@} + +\score @{ + << + \new Voice = "u" @{ + \autoBeamOff + \melodia + @} + \new Lyrics \lyricsto "u" \text + >> + \layout @{ @} + \midi @{ @} +@} +@end example + +Ara volem afegir una part de violoncel. Vegem l'exemple +@q{Sols notes}: + +@example +\version @w{"@version{}"} +melodia = \relative c' @{ + \clef "treble" + \key c \major + \time 4/4 + a4 b c d +@} + +\score @{ + \new Staff \melodia + \layout @{ @} + \midi @{ @} +@} +@end example + +No necessitem dues instruccions @code{\version}. Ens caldrà la +secció @code{melodia}. No volem dues seccions @code{\score} (si +tinguéssim dues @code{\score}s, acabaríem amb dues particel.les +per separat.) Volem les dues juntes, com un duo. Dins de la secció +@code{\score}, no ens fan falta dos @code{\layout} ni dos +@code{\midi}. + +Si ens limitéssim a copiar i enganxar la secció @code{melodia}, +acabaríem amb dues seccions @code{melodia} separades, així que +anem a canviar-los el nom. Anomenarem @code{musicaSoprano} a la +secció de la soprano i @code{musicaVioloncel} a la secció de +violoncel. Al mateix temps canviarem el nom de @code{text} a +@code{lletraSoprano}. Recordeu canviar el nom a les dues +aparicions de totes aquests noms -- tant la definició inicial (la +part @code{melodia = relative c' @{ }) -- com l'ús d'aquest nom +(en la secció @code{\score}). + +També aprofitarem per canviar el pentagrama de la part del +violoncel (els violoncels s'escriuen normalment en clau de +Fa). Així mateix, canviarem algunes del violoncel. + +@example +\version @w{"@version{}"} +musicaSoprano = \relative c' @{ + \clef "treble" + \key c \major + \time 4/4 + a4 b c d +@} + +lletraSoprano = \lyricmode @{ + Aaa Bee Cee Dee +@} + +musicaVioloncel = \relative c @{ + \clef "bass" + \key c \major + \time 4/4 + d4 g fis8 e d4 +@} + +\score@{ + << + \new Voice = "u" @{ + \autoBeamOff + \musicaSoprano + @} + \new Lyrics \lyricsto "u" \lletraSoprano + >> + \layout @{ @} + \midi @{ @} +@} +@end example + +Això té una aparença prometedora, però la part del violoncel no +surt a la partitura (no l'hem posada a la secció @code{\score}). +Si volem que la part del violoncel aparegui a sota de la de +soprano, hem d'afegir + +@example +\new Staff \musicaVioloncel +@end example + +@noindent +just a sota de tot el codi de la soprano. També hem de posar +@code{<<} i @code{>>} abans i després de la música -- el que +indica al LilyPond que hi ha més d'una cosa (en aquest cas, +@code{Staff}) succeint al mateix moment --. La @code{\score} +s'assemblarà ara a això: + +@c Indentation in this example is deliberately poor +@example +\score @{ + << + << + \new Voice = "u" @{ + \autoBeamOff + \musicaSoprano + @} + \new Lyrics \lyricsto "u" \lletraSoprano + >> + \new Staff \musicaVioloncel + >> + \layout @{ @} + \midi @{ @} +@} +@end example + +@noindent +Això sembla una mica enrevessat; el marges estan desquadrats. Això té +fàcil solució. Presentem aquí la plantilla completa per a +soprano i violoncel. + +@lilypond[quote,verbatim,ragged-right,addversion] +musicaSoprano = \relative c' { + \clef "treble" + \key c \major + \time 4/4 + a4 b c d +} + +lletraSoprano = \lyricmode { + Aaa Bee Cee Dee +} + +musicaVioloncel = \relative c { + \clef "bass" + \key c \major + \time 4/4 + d4 g fis8 e d4 +} + +\score { + << + << + \new Voice = "u" { + \autoBeamOff + \musicaSoprano + } + \new Lyrics \lyricsto "u" \lletraSoprano + >> + \new Staff \musicaVioloncel + >> + \layout { } + \midi { } +} +@end lilypond + + +@seealso +Les plantilles d'inici es poden trobar a l'apèndix +@q{Plantilles}, vegeu +@rlearningnamed{Single staff templates,Plantilles de pentagrama únic}. + +@node Partitura vocal a quatre veus SATB +@subsection Partitura vocal a quatre veus SATB +@translationof Four-part SATB vocal score + +La major part de les partitures vocals escrites per a cor mixt a +quatre veus amb acompanyament orquestral, com l'«Elies» de +Mendelssohn o el «Messies» de Haendel, tenen la música coral i la +lletra en quatre pentagrames S, A, T i B, respectivament, amb una +reducció de piano de l'acompanyament d'orquestra, per sota. Heus +aquí un exemple del «Messies» de Haendel: + +@c The following should appear as music without code +@lilypond[quote,ragged-right] +global = { \key d \major \time 4/4 } + +musicaSoprano = \relative c'' { + \clef "treble" + r4 d2 a4 | d4. d8 a2 | cis4 d cis2 | +} +lletraSoprano = \lyricmode { + Wor -- thy | is the lamb | that was slain | +} + +musicaAlto = \relative a' { + \clef "treble" + r4 a2 a4 | fis4. fis8 a2 | g4 fis e2 | +} + +lletraAlto = \lletraSoprano + +musicaTenor = \relative c' { + \clef "G_8" + r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 | +} + +lletraTenor = \lletraSoprano + +musicaBaix = \relative c' { + \clef "bass" + r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 | +} + +lletraBaix = \lletraSoprano + +upper = \relative a' { + \clef "treble" + \global + r4 2 4 | + 4. 8 2 | + 4 2 | +} + +lower = \relative c, { + \clef "bass" + \global + 4 2 4 | + 4. 8 2 | + 4 2 | +} + +\score { + << % combina el pentagrama del cor i del piano en paral.lel + \new ChoirStaff << + \new Staff = "sopranos" << + \set Staff.instrumentName = #"Soprano" + \new Voice = "sopranos" { + \global + \musicaSoprano + } + >> + \new Lyrics \lyricsto "sopranos" { + \lletraSoprano + } + \new Staff = "altos" << + \set Staff.instrumentName = #"Alto" + \new Voice = "altos" { + \global + \musicaAlto + } + >> + \new Lyrics \lyricsto "altos" { \lletraAlto } + \new Staff = "tenors" << + \set Staff.instrumentName = #"Tenor" + \new Voice = "tenors" { + \global + \musicaTenor + } + >> + \new Lyrics \lyricsto "tenors" { \lletraTenor } + \new Staff = "baixos" << + \set Staff.instrumentName = #"Baix" + \new Voice = "baixos" { + \global + \musicaBaix + } + >> + \new Lyrics \lyricsto "baixos" { + \lletraBaix + } + >> % final del pentagrama del cor + \new PianoStaff << + \set PianoStaff.instrumentName = #"Piano" + \new Staff = "upper" \upper + \new Staff = "lower" \lower + >> + >> +} +@end lilypond + +Cap de les plantilles proporciona aquesta disposició amb +exactitud. La més semblant és +@rlearningnamed{SATB vocal score and automatic piano reduction, +Partitura vocal SATB i reducció per a piano automàtica}, +però necessitem canviar la disposició i afegir un acompanyament de +piano que no estigui derivat automàticament de les parts vocals. +Les variables que contenen la música i la lletra de les parts +vocals és adequat, però haurem d'afegir variables per a la +reducció de piano. + +L'ordre en què apareixen els contextos al ChoirStaff de la +plantilla no es correspon amb l'ordre de la partitura vocal que +hem mostrat més amunt. Hem de reordenar-los perquè hi hagi quatre +pentagrames amb la lletra escrita directament a sota de les notes +de cada part. Totes les veus han de ser @code{\voiceOne}, que és +la predeterminada, perquè les instruccions @code{\voiceXXX} es +puguin eliminar. També hem d'especificar la clau de tenor (clau +de sol octava baixa) a les parts de tenor. Encara no hem trobat +la forma que la lletra s'especifica a la plantilla, així que hem +d'utilitzar el mètode que ens resulta familiar. També hem +d'escriure els noms de cada pentagrama. + +En fer-lo així obtenim el ChoirStaff següent: + +@example +\new ChoirStaff << + \new Staff = "sopranos" << + \set Staff.instrumentName = #"Soprano" + \new Voice = "sopranos" @{ + \global + \musicaSoprano + @} + >> + \new Lyrics \lyricsto "sopranos" @{ + \lletraSoprano + @} + \new Staff = "altos" << + \set Staff.instrumentName = #"Alto" + \new Voice = "altos" @{ + \global + \musicaAlto + @} + >> + \new Lyrics \lyricsto "altos" @{ + \lletraAlto + @} + \new Staff = "tenors" << + \set Staff.instrumentName = #"Tenor" + \new Voice = "tenors" @{ + \global + \musicaTenor + @} + >> + \new Lyrics \lyricsto "tenors" @{ + \lletraTenor + @} + \new Staff = "baixos" << + \set Staff.instrumentName = #"Baix" + \new Voice = "baixos" @{ + \global + \musicaBaix + @} + >> + \new Lyrics \lyricsto "baixos" @{ + \lletraBaix + @} +>> % fi del ChoirStaff +@end example + +A continuació podem treballar sobre la part de piano. És fàcil: +tan sols s'ha de treure la part de piano de la plantilla de +@q{Piano solista}: + +@example +\new PianoStaff << + \set PianoStaff.instrumentName = #"Piano" + \new Staff = "superior" \superior + \new Staff = "inferior" \inferior +>> +@end example + +i escriure les definicions de variable per a @code{superior} i +@code{inferior}. + +Els grups ChoirStaff i PianoStaff s'han de combinar utilitzant +angles dobles, atès que els volem apilar l'un sobre l'altre + +@example +<< % combina els grups ChoirStaff i PianoStaff l'un sobre l'altre + \new ChoirStaff << + \new Staff = "sopranos" << + \new Voice = "sopranos" @{ + \global + \musicaSoprano + @} + >> + \new Lyrics \lyricsto "sopranos" @{ + \lletraSoprano + @} + \new Staff = "altos" << + \new Voice = "altos" @{ + \global + \musicaAlto + @} + >> + \new Lyrics \lyricsto "altos" @{ + \lletraAlto + @} + \new Staff = "tenores" << + \clef "G_8" % clave de tenor + \new Voice = "tenores" @{ + \global + \musicaTenor + @} + >> + \new Lyrics \lyricsto "tenores" @{ + \lletraTenor + @} + \new Staff = "baixos" << + \clef "bass" + \new Voice = "baixos" @{ + \global + \musicaBaix + @} + >> + \new Lyrics \lyricsto "baixos" @{ + \lletraBaix + @} + >> % fi del ChoirStaff + + \new PianoStaff << + \set PianoStaff.instrumentName = #"Piano" + \new Staff = "upper" \upper + \new Staff = "lower" \lower + >> +>> +@end example + +En combinar tot això junt i escriure la música dels tres compassos +de l'exemple anterior, obtenim: + +@lilypond[quote,verbatim,ragged-right,addversion] +global = { \key d \major \time 4/4 } +musicaSoprano = \relative c'' { + \clef "treble" + r4 d2 a4 | d4. d8 a2 | cis4 d cis2 | +} +lletraSoprano = \lyricmode { + Wor -- thy | is the lamb | that was slain | +} +musicaAlto = \relative a' { + \clef "treble" + r4 a2 a4 | fis4. fis8 a2 | g4 fis fis2 | +} +lletraAlto = \lletraSoprano +musicaTenor = \relative c' { + \clef "G_8" + r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 | +} +lletraTenor = \lletraSoprano +musicaBaix = \relative c' { + \clef "bass" + r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 | +} +lletraBaix = \lletraSoprano +upper = \relative a' { + \clef "treble" + \global + r4 2 4 | + 4. 8 2 | + 4 2 | +} +lower = \relative c, { + \clef "bass" + \global + 4 2 4 | + 4. 8 2 | + 4 2 | +} + +\score { + << % combina el ChoirStaff i PianoStaff en paral.lel + \new ChoirStaff << + \new Staff = "sopranos" << + \set Staff.instrumentName = #"Soprano" + \new Voice = "sopranos" { + \global + \musicaSoprano + } + >> + \new Lyrics \lyricsto "sopranos" { + \lletraSoprano + } + \new Staff = "altos" << + \set Staff.instrumentName = #"Alto" + \new Voice = "altos" { + \global + \musicaAlto + } + >> + \new Lyrics \lyricsto "altos" { + \lletraAlto + } + \new Staff = "tenors" << + \set Staff.instrumentName = #"Tenor" + \new Voice = "tenors" { + \global + \musicaTenor + } + >> + \new Lyrics \lyricsto "tenors" { + \lletraTenor + } + \new Staff = "baixos" << + \set Staff.instrumentName = #"Baix" + \new Voice = "baixos" { + \global + \musicaBaix + } + >> + \new Lyrics \lyricsto "baixos" { + \lletraBaix + } + >> % fi ChoirStaff + + \new PianoStaff << + \set PianoStaff.instrumentName = #"Piano " + \new Staff = "upper" \upper + \new Staff = "lower" \lower + >> + >> +} +@end lilypond + + +@node Crear una partitura partint de zero +@subsection Crear una partitura partint de zero +@translationof Building a score from scratch + +@cindex plnantilla, escriure la vostra pròpia +@cindex exemple d'escriptura d'una partitura +@cindex escriure una partitura, exemple +@cindex partitura, exemple d'escriptura + +Després d'adquirir una mica de soltesa en l'escriptura del codi +del LilyPond, us adonareu que és més fàcil construir completament +una partitura partint de zero, que modificar una plantilla. També +podeu desenvolupar el vostre propi estil de forma que s'adapti al +tipus de música que us agradi. Vegem a continuació com +confeccionar una partitura per a un preludi d'òrgan, com a exemple. + +Comencem amb una secció per al encapçalament. Aquí és on van el +títol, nom del compositor, etc., després van les definicions de +les variables, i finalment el bloc de partitura. Comencem a +veure-les per sobre i més tard completarem els detalls. + +Utilitzarem els dos primers compassos del preludi de Bach basat en +@emph{Jesu, meine Freude}, que està escrit per a òrgan amb dos +manuals i pedal. Conté els dos compassos següents de música al +final de la secció. La part del manual superior té dues veus, i +l'inferior i el pedal, una veu cada u. Així doncs, necessitem +quatre definicions per a la música i una més per definir el compàs +i la tonalitat: + +@example +\version @w{"@version{}"} +\header @{ + title = "Jesu, meine Freude" + composer = "J S Bach" +@} +keyTime = @{ \key c \minor \time 4/4 @} +MusicaManualUVeuU = @{ s1 @} +MusicaManualUVeuDos = @{ s1 @} +MusicaManualDos = @{ s1 @} +MusicaOrganPedal = @{ s1 @} + +\score @{ +@} +@end example + +De moment hem escrit tan sols una nota espaiadora, @code{s1}, en +lloc de la música de veritat. Li afegirem més endavant. + +A continuació vegem què va al bloc de partitura. Senzillament, +reflectirem l'estructura de pentagrames que desitgem. La música +d'òrgan s'escriu s'escriu en general en tres pentagrames, un per +cada un dels manuals i l'altre pel pedal. Els pentagrames dels +manuals s'abasten amb una clau, així que els inclourem en un grup +PianoStaff. La primera part de manual té dues veus, i la segona +una sola. + +@example +\new PianoStaff << + \new Staff = "ManualU" << + \new Voice @{ + \MusicaManualUVeuU + @} + \new Voice @{ + \MusicaManualUVeuDos + @} + >> % fi del context de Staff ManualU + \new Staff = "ManualDos" << + \new Voice @{ + \MusicaManualDos + @} + >> % fi del context de Staff ManualDos +>> % fi del context de PianoStaff +@end example + +Després, hem d'afegir un pentagrama per a l'òrgan de pedal. Això +va per sota del PianoStaff, però ha de ser simultani amb ell, per +la qual cosa escrivim angles dobles rodejant als dos. Si ens +oblidem d'això, es produirà un error al fitxer log de registre. +És un error molt comú que cometrà abans o després! Intenteu +copiar l'exemple final que apareix al final de la secció, esborreu +els dobles angles i processeu el fitxer per veure quin error +produeix. + +@example +<< % el grup PianoStaff i el pentagrama de Pedal son simultanis + \new PianoStaff << + \new Staff = "ManualU" << + \new Voice @{ + \MusicaManualUVeuU + @} + \new Voice @{ + \MusicaManualUVeuDos + @} + >> % fi del context de Staff ManualU + \new Staff = "ManualDos" << + \new Voice @{ + \MusicaManualDos + @} + >> % fi del context de Staff ManualDos + >> % fi del context de PianoStaff + \new Staff = "OrganPedal" << + \new Voice @{ + \MusicaOrganPedal + @} + >> +>> +@end example + +No és necessari utilitzar la construcció simultània @code{<< +@dots{} >>} per al pentagrama del manual dos i el pentagrama del +òrgan de pedal, atès que contenen una única expressió, però no fa +mal, i és un bon costum utilitzar sempre dobles angles després de +@code{\new Staff} quan hi diverses veus. El contrari és cert per +a les veus: normalment han d'anar seguides de claudàtors @code{@{ +@dots{} @}} en cas que tinguem música codificada com a variables +diferents que s'han de situar consecutivament. + +Afegim aquesta estructura al bloc de partitura, i ajustem el +sagnat dels marges. També escrivim els claudàtors +corresponents, ens assegurem que les pliques i lligadures d'unió +i expressió en cada una de les veus del pentagrama superior +apunten en la direcció adequada amb @code{\voiceOne} i +@code{\voiceTwo} i escrivim el compàs i la tonalitat en cadascú +dels pentagrames usant la nostra variable prèviament definida +@code{\TimeKey}. + +@example +\score @{ + << % el grup PianoStaff i el pentagrama de Pedal són simultanis + \new PianoStaff << + \new Staff = "ManualU" << + \keyTime % establir compàs i tonalitat + \clef "treble" + \new Voice @{ + \voiceOne + \MusicaManualUVeuU + @} + \new Voice @{ + \voiceTwo + \MusicaManualUVeuDos + @} + >> % fi del context de Staff ManualU + \new Staff = "ManualDos" << + \keyTime + \clef "bass" + \new Voice @{ + \MusicaManualDos + @} + >> % fi del context de Staff ManualDos + >> % fi del context de PianoStaff + \new Staff = "OrganPedal" << + \keyTime + \clef "bass" + \new Voice @{ + \MusicaOrganPedal + @} + >> % fi del pentagrama de OrganPedal + >> +@} % fi del context Score +@end example + +@cindex ampliabilitat de las pautes +@cindex pautes, ampliabilitat + +La disposició anterior dels pentagrames d'òrgan és gairebé +perfecta; tanmateix, hi ha un lleuger defecte que no és +visible quan s'observa un sol sistema: la distància entre el +pentagrama de pedal i el de la mà esquerra hauria de ser +aproximadament la mateixa que la que hi ha entre els pentagrames +de les mans esquerra i dreta. Concretament, la ampliabilitat dels +pentagrames dins d'un context @code{PianoStaff} és limitada (de +forme que la distància entre els pentagrames de les mans esquerra +i dreta mai no creixin excessivament), i el pentagrama dels pedals +hauria de comportar-se de una manera semblant. + +@cindex sub-propietats +@cindex propietats, sub-propietats +@cindex objectes gràfics +@cindex gràfics, objectes +@cindex grobs + +El grau d'ampliabilitat i separabilitat dels pentagrames es pot +controlar amb la propietat @code{staff-staff-spacing} de +l'@q{objecte gràfic} @code{VerticalAxisGroup} (els objectes gràfics +reben en general el nom de @q{grob}s a la documentació del +LilyPond); no us preocupeu de moment dels detalls, ja que això +s'explica més tard de forma exhaustiva. Els més curiosos podeu +donar una ullada a @ruser{Overview of modifying properties}. +En aquest cas volem modificar solament la sub-propietat +@code{stretchability}. Un altre cop, els curiosos trobareu els +valors predeterminats per a la propietat staff-staff-spacing al +fitxer @file{scm/define-grobs.scm} examinant la definició del grob +@code{VerticalAxisGroup}. El valor de @code{stretchability} +s'agafa de la definició del context @code{PianoStaff} (al fitxer +@file{ly/engraver-init.ly}) de forma que els valors siguin idèntics. + +@example +\score @{ + << % el grup PianoStaff i el pentagrama de Pedal son simultanis + \new PianoStaff << + \new Staff = "ManualU" << + \keyTime % establir compàs y tonalitat + \clef "treble" + \new Voice @{ + \voiceOne + \MusicaManualUVeuU + @} + \new Voice @{ + \voiceTwo + \MusicaManualUVeuDos + @} + >> % % fi del context de Staff ManualU + \new Staff = "ManualDos" \with @{ + \override VerticalAxisGroup.staff-staff-spacing.stretchability = 5 + @} << + \keyTime + \clef "bass" + \new Voice @{ + \MusicaManualDos + @} + >> % fi del context de Staff ManualDos + >> % fi del context de PianoStaff + \new Staff = "OrganPedal" << + \keyTime + \clef "bass" + \new Voice @{ + \MusicaOrganPedal + @} + >> % fi del pentagrama de OrganPedal + >> +@} % fi del context Score +@end example + +Amb això es completa l'estructura. Tota música per a òrgan de +tres pentagrames tindrà una estructura semblant, tot i que el +nombre de veus pot variar. Tot el que ens queda és afegir la +música, i combinar totes les parts. + +@lilypond[quote,verbatim,ragged-right,addversion] +\header { + title = "Jesu, meine Freude" + composer = "J S Bach" +} +keyTime = { \key c \minor \time 4/4 } +MusicaManualUVeuU = \relative g' { + g4 g f ees | + d2 c | +} +MusicaManualUVeuDos = \relative c' { + ees16 d ees8~ 16 f ees d c8 d~ d c~ | + 8 c4 b8 c8. g16 c b c d | +} +MusicaManualDos= \relative c' { + c16 b c8~ 16 b c g a8 g~ 16 g aes ees | + f16 ees f d g aes g f ees d ees8~ 16 f ees d | +} +MusicaOrganPedal = \relative c { + r8 c16 d ees d ees8~ 16 a, b g c b c8 | + r16 g ees f g f g8 c,2 | +} + +\score { + << % PianoStaff i Pedal Staff han de ser simultanis + \new PianoStaff << + \new Staff = "ManualU" << + \keyTime % establir la clau i l'armadura + \clef "treble" + \new Voice { + \voiceOne + \MusicaManualUVeuU + } + \new Voice { + \voiceTwo + \MusicaManualUVeuDos + } + >> % fi del context Staff ManualU + \new Staff = "ManualDos" \with { + \override VerticalAxisGroup.staff-staff-spacing.stretchability = 5 + } << + \keyTime + \clef "bass" + \new Voice { + \MusicaManualDos + } + >> % fi del context Staff ManualDos + >> % fi del context PianoStaff + \new Staff = "PedalOrgan" << + \keyTime + \clef "bass" + \new Voice { + \MusicaOrganPedal + } + >> % fi del context Staff PedalOrgan + >> +} % fi del context Score +@end lilypond + +@seealso +Glossari musical: +@rglos{system}. + +@node Estalviar tecleig mitjançant variables i funcions +@subsection Estalviar tecleig mitjançant variables i funcions +@translationof Saving typing with variables and functions + +@cindex variables +@cindex identificadors + +Arribats a aquest punt, heu vist coses d'aquest tipus: + +@lilypond[quote,verbatim,ragged-right] +hornNotes = \relative c'' { c4 b dis c } + +\score { + { + \hornNotes + } +} +@end lilypond + +Fins i tot us adonareu que això pot ser útil en música +minimalista: + +@lilypond[quote,verbatim,ragged-right] +fragmentA = \relative c'' { a4 a8. b16 } +fragmentB = \relative c'' { a8. gis16 ees4 } + +violí = \new Staff { + \fragmentA \fragmentA | + \fragmentB \fragmentA | +} + +\score { + { + \violí + } +} +@end lilypond + +Tot i així també es pot fer servir aquests identificadors (que +també es coneixen com a variables, macros o instruccions +definides per l'usuari) per fer trucs: + +@c TODO Avoid padtext - not needed with skylining +@lilypond[quote,verbatim,ragged-right] +dolce = \markup { \italic \bold dolce } + +padText = { \once \override TextScript.padding = #5.0 } +fthenp =_\markup { + \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p +} + +violí = \relative c'' { + \repeat volta 2 { + c4._\dolce b8 a8 g a b | + \padText + c4.^"hi there!" d8 e' f g d | + c,4.\fthenp b8 c4 c-. | + } +} + +\score { + { + \violí + } + \layout { ragged-right = ##t } +} +@end lilypond + +Òbviament aquests identificadors són útils per estalviar tecleig. +Però són dignes de tenir en compte fins i tot si s'utilitzaran un +sol cop: redueixen la complexitat. Examinem l'exemple anterior +reescrit sense cap identificador. Trobareu que és molt més +difícil de llegir, sobretot l'última línia. + +@example +violí = \relative c'' @{ + \repeat volta 2 @{ + c4._\markup @{ \italic \bold dolce @} b8 a8 g a b | + \once \override TextScript.padding = #5.0 + c4.^"hi there!" d8 e' f g d | + c,4.\markup @{ + \dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p + @} + b8 c4 c-. | + @} +@} +@end example + +@c TODO Replace the following with a better example -td +@c Skylining handles this correctly without padText + +Fins ara hem contemplat la substitució estàtica: quan el LilyPonod +es troba amb @code{\padText}, el substitueix amb allò que hem +definit que sigui (és a dir, tot el que està a la dreta de +@code{padtext=}). + +El LilyPond també pot gestionar substitucions no estàtiques +(penseu en elles com funcions). + +@lilypond[quote,verbatim,ragged-right] +padText = +#(define-music-function + (parser location padding) + (number?) + #{ + \once \override TextScript.padding = #padding + #}) + +\relative c''' { + c4^"piu mosso" b a b | + \padText #1.8 + c4^"piu mosso" d e f | + \padText #2.6 + c4^"piu mosso" fis a g | +} +@end lilypond + +La utilització d'identificadors també és una bona forma de reduir +el treball si la sintaxis d'entrada del LilyPonod canvia (vegeu +@rprogram{Actualització de fitxers amb convert-ly}). Si teniu una sola +definició (com ara @code{\dolce}) per a tots els fitxers (vegeu +@rlearningnamed{Style sheets,Fulls d'estil}), i després la sintaxis es +modifica, sols haurà d'actualitzar la seva definició @code{\dolce} +única, enlloc de haver de fer canvis a cadascú dels fitxers +@file{.ly}. + +@node Partitures i particel.les +@subsection Partitures i particel.les +@translationof Scores and parts + +En música orquestral, totes les notes s'imprimeixen dues vegades. +Un cop en les particel.les per a tots els músics, i una altra per +a la partitura del director. Els identificadors es poden usar per +evitar la duplicació del treball. La música s'escriu un cop +s'emmagatzema en una variable. El contingut d'aquesta variable +s'usa després per generar tant la particel.la com la partitura del +director. + +És molt convenient definir les notes en un fitxer especial. Per +exemple, suposem que el fitxer @file{trompa.ly} conté la següent +part d'un duo per a trompa i fagot: + +@example +notesTrompa = \relative c @{ + \time 2/4 + r4 f8 a | cis4 f | e4 d | +@} +@end example + +@noindent +Després es fa una particel.la escrivint en un fitxer el següent: + +@example +\include "trompa.ly" + +\header @{ + instrument = "Trompa en Fa" +@} + +@{ + \transpose f c' \notesTrompa +@} +@end example + +La línia + +@example +\include "trompa.ly" +@end example + +@noindent +substitueix el contingut de @file{trompa.ly} en aquesta posició +dins del fitxer, així que @code{notesTrompa} es defineix amb +posterioritat. La instrucció @code{\transpose f@tie{}c'} indica +que l'argument constituït per @code{\notesTrompa} s'ha de +transposar una quina cap amunt. El que sona com @code{f} s'escriu +com @code{c'}, el que correspon amb el to d'afinació d'una trompa +normal en@tie{}Fa. La transposició es pot veure a la següent +sortida + +@lilypond[quote,ragged-right] +\transpose f c' \relative c { + \time 2/4 + r4 f8 a | cis4 f | e4 d | +} +@end lilypond + +A peces per a conjunt, amb freqüència una de les veus no sona +durant molts compasso. Això queda denotat per un silenci +especial, el silenci multicompàs. S'introdueix amb una @code{R} +majúscula seguida d'una duració (@code{1}@tie{}en el cas de la +rodona, @code{2}@tie{}en el caso de una blanca, +etc.). Multiplicant la duració es poden construir silencis més +llargs. Per exemple, aquest silenci ocupa 3@tie{}compassos de 2/4 + +@example +R2*3 +@end example + +Quan s'imprimeix la particel.la s'han de comprimir els silencis +multicompàs. Això es fa establint una variable de temps de execució + +@example +\set Score.skipBars = ##t +@end example + +@noindent +Aquesta instrucció estableix el valor de la propietat +@code{skipBars} al context de @code{Score} a vertader +(@code{##t}). Anteposant el silenci i aquesta opció a la música +anterior, arribem al següent resultat + +@lilypond[quote,ragged-right] +\transpose f c' \relative c { + \time 2/4 + \set Score.skipBars = ##t + R2*3 | + r4 f8 a | cis4 f | e4 d | +} +@end lilypond + +Aquesta partitura es fa combinant tota la música junta. Suposant +que l'altra veu es troba dins de @code{notesFagot} al fitxer +@file{fagot.ly}, la partitura es fa amb + +@example +\include "fagot.ly" +\include "trompa.ly" + +<< + \new Staff \notesTrompa + \new Staff \notesFagot +>> +@end example + +@noindent +el que ens porta a + +@lilypond[quote,ragged-right] +\relative c << + \new Staff { + \clef "treble" + \time 2/4 + R2*3 | + r4 f8 a | cis4 f | e4 d | + } + \new Staff { + \clef "bass" + \time 2/4 + r4 d,8 f | gis4 c | b4 bes | + a8 e f4 | g4 d | gis4 f | + } +>> +@end lilypond diff --git a/Documentation/ca/learning/tutorial.itely b/Documentation/ca/learning/tutorial.itely index 0afad618d3..158c63c1c5 100644 --- a/Documentation/ca/learning/tutorial.itely +++ b/Documentation/ca/learning/tutorial.itely @@ -233,8 +233,8 @@ Glossari musical: La manera més senzilla d'introduir les notes és mitjançant la utilització del model @code{\relative} (relatiu). En aquest mode, s'escull l'octava automàticament sota el supòsit que la següent -nota es col·locarà sempre el més a prop de la nota actual, és a -dir, es col·locarà a l'octava compresa dins de fins a tres espais +nota es col.locarà sempre el més a prop de la nota actual, és a +dir, es col.locarà a l'octava compresa dins de fins a tres espais de pentagrama a partir de la nota anterior. Començarem per introduir el fragment musical més elemental: una @notation{escala}, on cada nota està compresa dins de tans sols un @@ -249,7 +249,7 @@ espai de pentagrama des de la nota anterior. @end lilypond La nota inicial és el @notation{Do central}. Cada nota successiva -es col·loca el més a prop possible de la nota prèvia (en altres +es col.loca el més a prop possible de la nota prèvia (en altres paraules: la primera @samp{c} és el Do més proper al Do central; a aquesta nota la segueix el Re més a prop a la nota prèvia, i així successivament). Podem crear melodies amb intervals més grans, @@ -514,12 +514,10 @@ a l'hora: @seealso Referència de la notació: -@ruser{Escriptura de notes}, -@ruser{Escriptura de les duracions (valors rítmics)}, -@ruser{Escriptura de silencis}, -@ruser{Indicació de compàs}, -@ruser{Clau}. - +@ruser{Writing pitches}, +@ruser{Writing rhythms}, @ruser{Writing rests}, +@rusernamed{Time signature,Indicació de compàs}, +@rusernamed{Clef,Clau}. @node Treball sobre els fitxers d'entrada @subsection Treball sobre els fitxers d'entrada @@ -565,7 +563,7 @@ aquest fitxer, com a l'exemple següent: \version "@w{@version{}}" @end example -Per conveni, l'enunciat de versió es col·loca al principi del +Per conveni, l'enunciat de versió es col.loca al principi del fitxer del LilyPond. L'enunciat de versió és important per dos motius com a mínim. En @@ -637,7 +635,7 @@ manera que no té cap efecte sobre la sortida impresa. Hi ha dos tipus de comentaris. El símbol de percentatge @samp{%} introdueix un comentari de línia; s'ignora tot el que es troba després de @samp{%} a aquesta línia. Per conveni, una línia de comentari es -col·loca @emph{per sobre} del codi a què es refereix el comentari. +col.loca @emph{per sobre} del codi a què es refereix el comentari. @example a4 a a a @@ -692,7 +690,8 @@ La solució de problemes al LilyPond pot ser un desafiament per a les persones acostumades als interfícies gràfics, perquè és possible crear fitxers d'entrada invàlids. Quan passa això, la millor manera d'identificar i resoldre el problema és aplicar un -enfocament lògic. A @rprogram{Solució de problemes} es donen +enfocament lògic. A @rprogramnamed{Troubleshooting, +Solució de problemes} es donen algunes guies per ajudar-vos a aprendre a fer-lo. @node Alguns errors comuns @@ -841,7 +840,7 @@ corresponents de la @rusernamed{Top, Referència de la notació}. @item @strong{Abans d'intentar de modificar els resultats predeterminats}: -llegiu la secció @ref{Trucar la sortida} +llegiu la secció @ref{Tweaking output} del manual d'Aprenentatge. @item diff --git a/Documentation/ca/macros.itexi b/Documentation/ca/macros.itexi index c0721b9df9..b83295ad7a 100644 --- a/Documentation/ca/macros.itexi +++ b/Documentation/ca/macros.itexi @@ -122,7 +122,7 @@ Si us falta algun manual, trobareu tota la documentació a @emph{La traducció de la següent nota de copyright s'ofereix com a cortesia per a les persones de parla no anglesa, però únicament la -nota en anglès té validesa lgal.} +nota en anglès té validesa legal.} @emph{The translation of the following copyright notice is provided for courtesy to non-English speakers, but only the notice in English @@ -133,7 +133,7 @@ S'atorga permís per copiar, distribuir i/o modificar aquest document sota els termes de la Llicència de Documentació Lliure de GNU, versió 1.1 o qualsevol posterior publicada per la Free Software Foundation; sense cap de les seccions invariants. -S'inclou una còpia d'aquesta llicència dins de la sección titulada +S'inclou una còpia d'aquesta llicència dins de la secció titulada ``Llicència de Documentació Lliure de GNU''. @end quotation @@ -321,12 +321,12 @@ Per a la versió del LilyPond @version{} @macro rcontrib{TEXT} @vindex \TEXT\ -@ref{\TEXT\,,,contributor-big-page,Guia del col·laborador} +@ref{\TEXT\,,,contributor-big-page,Guia del col.laborador} @end macro @macro rcontribnamed{TEXT,DISPLAY} @vindex \TEXT\ -@ref{\TEXT\,,\DISPLAY\,contributor-big-page,Guia del col·laborador} +@ref{\TEXT\,,\DISPLAY\,contributor-big-page,Guia del col.laborador} @end macro @macro rweb{TEXT} @@ -369,12 +369,12 @@ Per a la versió del LilyPond @version{} @macro rinternals{TEXT} @vindex \TEXT\ -@ref{\TEXT\,,,internals-big-page,Referència de funcionamient intern} +@ref{\TEXT\,,,internals-big-page,Referència de funcionament intern} @end macro @macro rinternalsnamed{TEXT,DISPLAY} @vindex \TEXT\ -@ref{\TEXT\,,\DISPLAY\,internals-big-page,Referència de funcionamient intern} +@ref{\TEXT\,,\DISPLAY\,internals-big-page,Referència de funcionament intern} @end macro @end ifset @@ -438,12 +438,12 @@ Per a la versió del LilyPond @version{} @macro rcontrib{TEXT} @vindex \TEXT\ -@ref{\TEXT\,,,contributor,Guia del col·laborador} +@ref{\TEXT\,,,contributor,Guia del col.laborador} @end macro @macro rcontribnamed{TEXT,DISPLAY} @vindex \TEXT\ -@ref{\TEXT\,,\DISPLAY\,contributor,Guia del col·laborador} +@ref{\TEXT\,,\DISPLAY\,contributor,Guia del col.laborador} @end macro @macro rweb{TEXT} @@ -550,12 +550,12 @@ Per a la versió del LilyPond @version{} @macro rcontrib{TEXT} @vindex \TEXT\ -@ref{\TEXT\,,,lilypond-contributor,Guia del col·laborador} +@ref{\TEXT\,,,lilypond-contributor,Guia del col.laborador} @end macro @macro rcontribnamed{TEXT,DISPLAY} @vindex \TEXT\ -@ref{\TEXT\,,\DISPLAY\,lilypond-contributor,Guia del col·laborador} +@ref{\TEXT\,,\DISPLAY\,lilypond-contributor,Guia del col.laborador} @end macro @macro rweb{TEXT} @@ -679,12 +679,12 @@ Per a la versió del LilyPond @version{} @macro rcontrib{TEXT} @lilyvindex{\TEXT\} -@ref{\TEXT\,,,contributor,Guia del col·laborador} +@ref{\TEXT\,,,contributor,Guia del col.laborador} @end macro @macro rcontribnamed{TEXT,DISPLAY} @lilyvindex{\TEXT\} -@ref{\TEXT\,,\DISPLAY\,contributor,Guia del col·laborador} +@ref{\TEXT\,,\DISPLAY\,contributor,Guia del col.laborador} @end macro @macro rweb{TEXT} @@ -820,6 +820,3 @@ aquesta pàgina de la Wikimedia Commons}. @macro englishref Aquesta secció encara no està traduïda; consulteu el manual en anglès. @end macro - - - diff --git a/Documentation/ca/translations.itexi b/Documentation/ca/translations.itexi new file mode 100644 index 0000000000..d845620666 --- /dev/null +++ b/Documentation/ca/translations.itexi @@ -0,0 +1,193 @@ +@c -*- coding: utf-8; mode: texinfo; -*- +@c This file was generated by translation-status.py -- DO NOT EDIT! +@ignore + Translation of GIT committish: 0 +@end ignore + + +@ifhtml + +@html + + + +@end html +@end ifhtml +@emph{Actualitzat el Tue Dec 30 15:39:08 UTC 2014 +} +@multitable @columnfractions 0.166666666667 0.166666666667 0.166666666667 0.166666666667 0.166666666667 0.166666666667 + +@headitem +LilyPond: notació musical per a tots +@tab Traductors +@tab Revisors +@tab Traduït +@tab Actualitzat +@tab Més inf. +@item +Títols de secció +@* +642 +@tab Walter Garcia-Fontes +@tab +@tab +@ifhtml + +@html +si +@end html +@end ifhtml +@ifnothtml +si +@end ifnothtml +@tab +@ifhtml + +@html +parcialment +@end html +@end ifhtml +@ifnothtml +parcialment +@end ifnothtml +@tab pre-GDP +@item +LilyPond --- \TITLE\ +@* +1139 +@tab Walter Garcia-Fontes +@tab +@tab +@ifhtml + +@html +si +@end html +@end ifhtml +@ifnothtml +si +@end ifnothtml +@tab +@ifhtml + +@html +si +@end html +@end ifhtml +@ifnothtml +si +@end ifnothtml +@tab pre-GDP +@item +Introducció +@* +5707 +@tab Walter Garcia-Fontes +@tab +@tab +@ifhtml + +@html +si +@end html +@end ifhtml +@ifnothtml +si +@end ifnothtml +@tab +@ifhtml + +@html +parcialment +@end html +@end ifhtml +@ifnothtml +parcialment +@end ifnothtml +@tab pre-GDP +@item +Descàrrega +@* +1145 +@tab Walter Garcia-Fontes +@tab +@tab +@ifhtml + +@html +si +@end html +@end ifhtml +@ifnothtml +si +@end ifnothtml +@tab +@ifhtml + +@html +si +@end html +@end ifhtml +@ifnothtml +si +@end ifnothtml +@tab pre-GDP +@item +Manuals +@* +1314 +@tab Walter Garcia-Fontes +@tab +@tab +@ifhtml + +@html +si +@end html +@end ifhtml +@ifnothtml +si +@end ifnothtml +@tab +@ifhtml + +@html +si +@end html +@end ifhtml +@ifnothtml +si +@end ifnothtml +@tab pre-GDP +@item +Comunitat +@* +2991 +@tab Walter Garcia-Fontes +@tab +@tab +@ifhtml + +@html +si +@end html +@end ifhtml +@ifnothtml +si +@end ifnothtml +@tab +@ifhtml + +@html +parcialment +@end html +@end ifhtml +@ifnothtml +parcialment +@end ifnothtml +@tab pre-GDP +@end multitable + diff --git a/Documentation/ca/usage.tely b/Documentation/ca/usage.tely new file mode 100644 index 0000000000..dacc038d47 --- /dev/null +++ b/Documentation/ca/usage.tely @@ -0,0 +1,88 @@ +\input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: ca -*- +@ignore + Translation of GIT committish: 08560a1b8076630c4fc6cb9b902614d8b74fd6fc + + 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 + +@setfilename lilypond-usage.info +@settitle LilyPond: manual d'utilització del programa +@documentencoding UTF-8 +@documentlanguage ca +@afourpaper + +@c Translators: Walter Garcia-Fontes + +@macro manualIntro +Aquest fitxer explica com executar els programes que es +distribueixen amb el LilyPond versió @version{}. A més a més +suggereix certes @qq{bones pràctiques} per a una utilització eficient. +@end macro + +@c `Usage' was born 1999-10-10 with git commit c82c30c... +@macro copyrightDeclare +Copyright @copyright{} 1999--2014 pels autors. +@end macro + +@set FDL +@include macros.itexi + + +@c don't remove this comment. +@ignore +@omfcreator Han-Wen Nienhuys, Jan Nieuwenhuizen and Graham Percival +@omfdescription Application Usage of the LilyPond music engraving system +@omftype program usage +@omfcategory Applications|Publishing +@omflanguage English +@end ignore + + +@lilyTitlePage{Utilització} + + +@c TOC -- non-tex +@ifnottex + +@c maybe add a "Tasks" or "Specific tasks" or something like +@c that, after Suggestions -gp +@menu +* Execució del LilyPond:: Operació. +* Actualització de fitxers amb convert-ly:: Actualitzar els fitxers d'entrada. +* lilypond-book:: Integrar text i música. +* External programs:: Barrejar el LilyPond amb altres programes. +* Suggestions for writing files:: Bones pràctiques i depuració eficient d'errors. + + +Annexos + +* GNU Free Documentation License:: Llicència d'aquest document. +* Índex del LilyPond:: +@end menu + +@docMain +@end ifnottex + + +@contents + +@allowcodebreaks false + +@include usage/running.itely +@include usage/updating.itely +@include usage/lilypond-book.itely +@include usage/external.itely +@include usage/suggestions.itely + +@include fdl.itexi + + +@node Índex del LilyPond +@appendix Índex del LilyPond +@translationof LilyPond index + +@printindex cp + +@bye diff --git a/Documentation/ca/usage/running.itely b/Documentation/ca/usage/running.itely new file mode 100644 index 0000000000..a2222e4e2c --- /dev/null +++ b/Documentation/ca/usage/running.itely @@ -0,0 +1,1201 @@ +@c -*- coding: utf-8; mode: texinfo; documentlanguage: ca -*- + +@ignore + Translation of GIT committish: 93d725094ee629b2d5200ab5a75b609579a62973 + + 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.17.6" + + +@node Execució del LilyPond +@chapter Execució del LilyPond +@translationof Running LilyPond + +Aquest capítol detalla els aspectes tècnics de l'execució del +LilyPond. + +@menu +* Utilització normal:: +* Utilització des de la línia d'ordres:: +* Missatges d'error:: +* Errors comuns:: +@end menu + + +@node Utilització normal +@section Utilització normal +@translationof Normal usage + +Gairebé tots els usuaris executen el LilyPond per mitjà d'una +interfície gràfica; consulteu @rlearning{Tutorial} si encara +no l'heu llegit. + +@node Utilització des de la línia d'ordres +@section Utilització des de la línia d'ordres +@translationof Command-line usage + +Aquesta secció conté informació addicional sobre l'ús del +LilyPond a la línia d'ordres. Aquesta forma pot ser preferible +per passar-li al programa algunes opcions addicionals. A més a +més, existeixen alguns programes complementaris @q{de suport} (com +ara @code{midi2ly}) que sols estan disponibles a la línia d'ordres. + +En parlar de la @q{línia d'ordres}, ens referim a la consola del +sistema operatiu. Els usuaris del Windows possiblement estiguin +més familiaritzats amb els termes @q{finestra del MS-DOS} o +@q{línia de comandes}; Els usuaris del MacOS@tie{}X potser que +estiguin més familiaritzats amb els termes @q{terminal} o +@q{consola}. Aquests podrien requerir algunes configuracions +addicionals i haurien de consultar també l'apartat @rweb{MacOS X}. + +La descripció de l'ús d'aquesta part dels sistemes operatius +excedeix l'àmbit d'aquest manual; us preguem que consulteu altres +documents sobre aquest tema si no us resulta familiar la línia +d'ordres. + +@menu +* Invocació del LilyPond:: +* Opcions bàsiques de la línia d'ordres per al LilyPond:: +* Opcions avançades de la línia d'ordres per al LilyPond:: +* Variables d'entorn:: +* El LilyPond a una gàbia de chroot:: +@end menu + +@node Invocació del LilyPond +@unnumberedsubsec Invocació del @command{lilypond} +@translationof Invoking lilypond + +L'executable @command{lilypond} es pot cridar des d'una línia +d'ordres de la manera següent: + +@example +lilypond [@var{opció}]@dots{} @var{fitxer}@dots{} +@end example + +Quan s'invoca amb un nom de fitxer sense extensió, es prova en +primer lloc amb la extensió @file{.ly}. Per llegir l'entrada des +de stdin, utilitzeu un guió (@code{-}) en substitució de @var{fitxer}. + +Quan es processa @file{archivo.ly}, la sortida resultant són els +fitxers @file{fitxer.ps} i @file{fitxer.pdf}. Es poden +especificar diversos fitxers; cadascú d'ells es processarà de +forma independent@footnote{L'estat del GUILE no es restableix +després de processar un fitxer @code{.ly}, per la qual cosa heu de +tenir cura de no modificar cap valor predeterminat des de dins del +Scheme.}. + +Si @file{fitxer.ly} conté més d'un bloc @code{\score}, la resta de +les partitures s'obtindran com a sortida en fitxers numerats, +començant per @file{fitxer-1.pdf}. A més, el valor de +@code{output-suffix} (sufix de sortida) s'inserirà entre el nom +base i el número. Un fitxer de sortida que contingui + +@example +#(define output-suffix "violí") +\score @{ @dots{} @} +#(define output-suffix "violoncel") +\score @{ @dots{} @} +@end example + +@noindent +produirà com a sortida @var{base}@file{-violí.pdf} i +@var{base}@file{-violoncel-1.pdf}. + + +@unnumberedsubsubsec Instruccions estàndard de la línia d'ordres + +Si la vostra terminal (o finestra d'ordres) contempla les +redireccions normals, potser us siguin d'utilitat les següents +instruccions per redirigir la sortida de la consola d'un fitxer: + +@itemize + +@item +@code{lilypond fitxer.ly 1>sortidaestandard.log} per redirigir la sortida normal + +@item +@code{lilypond fitxer.ly 2>sortidaderror.log} per redirigir els missatges d'error + +@item +@code{lilypond fitxer.ly &>tot.log} per redirigir tota la sortida + +@end itemize + +Consulteu la documentació del vostre intèrpret d'ordres per veure +si contempla aquestes opcions, o si la sintaxi és diferent. +Observeu que són instruccions de l'intèrpret d'ordres i que no +tenen res a veure amb el LilyPond. + +@node Opcions bàsiques de la línia d'ordres per al LilyPond +@unnumberedsubsec Opcions bàsiques de la línia d'ordres per al LilyPond +@translationof Basic command line options for LilyPond + +@cindex invocació de @command{lilypond} +@cindex opcions de la línia d'ordres per a @command{lilypond} +@cindex línia d'ordres, opcions de +@cindex modificadors + +Estan contemplades les opcions següents: + +@table @code + +@item -d, --define-default=@var{variable}=@var{valor} +Vegeu @ref{Opcions avançades de la línia d'ordres per al LilyPond}. + +@cindex Scheme, avaluació d'expressions +@cindex expressions del Scheme, avaluació + +@item -e, --evaluate=@var{expressió} +Avalua l'@var{expressió} del Scheme abans d'analitzar els fitxers +@file{.ly}. Es poden passar diverses opcions @option{-e}, que +s'avaluaran en seqüència. + +L'expressió s'avaluarà al mòdul @code{guile-user}, de manera que +si voleu usar definicions dins d'@var{expressió}, heu d'utilitzar + +@example +lilypond -e '(define-public a 42)' +@end example + +@noindent +a la línia d'ordres, i incloure + +@example +#(use-modules (guile-user)) +@end example + +@noindent +al principi del fitxer @file{.ly}. + +@warning{Els usuaris de Windows han d'utilitzar cometes dobles en +comptes de cometes simples.} + +@cindex sortida, format +@cindex format, sortida + +@item -f, --format=@var{format} +quins formats s'han d'escriure. Les opcions per a @code{format} són +@code{ps}, @code{pdf}, i @code{png}. + +Exemple: @code{lilypond -fpng @var{fitxer}.ly} + +@item -h, --help +Mostra un resum de les formes de utilització. + +@item -H, --header=@var{CAMP} +Bolca un camp de capçalera al fitxer @file{NOMBASE.@var{CAMP}} + +@item -i, --init=@var{archivo} +Establir el fitxer d'inici a @var{fitxer} (predeterminat: +@file{init.ly}). + +@cindex fitxers, cerca de +@cindex cerca, ruta de + +@item -I, --include=@var{directori} +Afegir el @var{directori} a la ruta de cerca de fitxers +d'entrada. + +Es poden escriure diverses opcions -I. La cerca s'inicia al +primer directori definit, i si el fitxer que s'ha d'incloure no es +troba, la cerca continua als directoris següents. + +@cindex chroot, executar dins d'una gàbia + +@item -j, --jail=@var{usuari},@var{grup},@var{gàbia},@var{directori} +Executar @command{lilypond} a una gàbia de chroot. + +L'opció @option{--jail} (gàbia) proporciona una alternativa més +flexible a l'opció @option{-dsafe} quan el procés de tipografia +del LilyPond està disponible a un servidor web o quan el LilyPond +executa instruccions enviades per fonts externes +(vegeu @ref{Opcions avançades de la línia d'ordres per al LilyPond}). + +L'opció @option{--jail} funciona canviant l'arrel de +@command{lilypond} a @var{gàbia} just o abans de començar el +procés de compilació en sí. Si es fa això es canvien l'usuari i +el grup als que s'han donat a l'opció, i el directori actual es +canvia a @var{directori}. Aquesta instal.lació garanteix que no +és possible, al menys en teoria, escapar a la gàbia. Observeu que +perquè funcioni @option{--jail}, s'ha d'executar +@command{lilypond} com root, cosa que normalment es pot fer d'una +forma segura utilitzant @command{sudo}. + +La instal.lació d'una gàbia pot ser un assumpte relativament +complex, atès que hem d'assegurar-nos que el LilyPond pot trobar +@emph{dins} de la pròpia gàbia tot el que necessita per poder +compilar la font. Una típica configuració de gàbia de chroot +consta dels següents elements: + +@table @asis + +@item Preparació d'un sistema de fitxers separat +S'ha de crear un sistema de fitxers separat per al LilyPond, de +forma que es pugui muntar amb opcions segures com @code{noexec}, +@code{nodev} i @code{nosuid}. D'aquesta forma, és impossible +executar programes o escriure directament a un dispositiu des del +LilyPond. Si no voleu crear una partició separada, tan sols té +que crear un fitxer d'una mida raonable i usar-lo per muntar un +dispositiu loop. El sistema de fitxers separat garanteix també +que el LilyPond mai no pugui escriure en un espai major del què se +li permeti. + +@item Preparar un usuari separat +Es pot usar un usuari i grup separats (diguem-ne +@code{lily}/@code{lily}) amb pocs privilegis per executar el +LilyPond dins d'una gàbia. Hauria d'existir un sols directori amb +permisos d'escriptura per a aquest usuari, i s'ha de passar el valor +@var{directori}. + +@item Preparació de la gàbia +El LilyPond necessita llegir alguns fitxers mentre s'executa, +Tots aquests fitxers s'han de copiar dins de la gàbia, sota la +mateixa ruta en la qual apareixen al sistema de fitxers real de +root. Tot el contingut de la instal.lació del LilyPond (per exemple +@file{/usr/share/lilypond}) s'ha de copiar. + +Si sorgeixen problemes, la forma més senzilla de rastrejar-los és +executar el LilyPond usant @command{strace}, cosa que li permetrà +determinar quins fitxers falten. + +@item Execució del LilyPond +Dins d'una gàbia muntada amb @code{noexec} és impossible executar +cap programa extern. Per tant, el LilyPond s'ha d'executar amb un +backend que no necessiti un programa extern. Com ja hem +mencionat, s'ha d'executar amb privilegis del superusuari (que per +suposat perdrà immediatament), possiblement usant @command{sudo}. +També de CPU que el LilyPond pot usar (per exemple usant +@command{ulimit@tie{}-t}), i, si el vostre sistema operatiu ho +contempla, la mida de la memòria que es pot reservar. Vegeu també +@ref{El LilyPond a una gàbia de chroot}. + +@end table + +@cindex loglevel +@cindex registre, nivell de +@cindex sortida neta, fixar el nivell + +@item -l, --loglevel=@var{NIVELL} +Fixa el grau en el qual la sortida de consola és neta al nivell +@var{NIVELL}. Els valors possibles són: + +@table @code + +@item NONE +Cap sortida en absolut, ni tan sols missatges d'error. + +@item ERROR +Sols missatges d'error, cap advertiment o indicacions de progrés. + +@item WARN +Advertiments i missatges d'error, no de progrés. + +@item BASIC_PROGRESS +Missatges de progrés bàsics (èxit), advertiment i errors. + +@item PROGRESS +Tots els missatges de progrés, advertiments i errors. + +@item INFO (predeterminat) +Missatges de progrés, advertiments, errors i informació d'execució +addicional. + +@item DEBUG +Tots els missatges possibles, fins i tot la informació detallada de +depuració. +@end table + +@cindex carpeta, dirigir la sortida cap a +@cindex sortida, establir el nom del fitxer de + +@item -o, --output=@var{FITXER} o @var{CARPETA} +Estableix el nom del fitxer de sortida predeterminat a +@var{FITXER} o, si hi ha una carpeta amb aquest nom, dirigeix la +sortida cap a @var{CARPETA}, agafant el nom de fitxer del +document d'entrada. S'afegeix el sufix corresponent (per exemple, +@code{.pdf} per a PDF) als dos casos. + +@cindex PS (Postscript), sortida +@cindex Postscript (PS), sortida +@cindex sortida, PS (Postscript) + +@item --ps +Generar PostScript. + +@cindex PNG (Portable Network Graphics), sortida +@cindex sortida, PNG (Portable Network Graphics) + +@item --png +Genera imatges de les pàgines en format PNG. Això implica +@option{--ps}. La resolució en PPP de la imatge es pot establir +amb +@example +-dresolution=110 +@end example + +@cindex PDF (format de document portàtil), sortida de +@cindex sortida, PDF (format de document portàtil) + +@item --pdf +Genera PDF. Implica @option{--ps}. + +@item -v, --version +Mostra la informació de la versió. + +@item -V, --verbose +Sigues detallat: mostra les rutes completes de tots els fitxers +que se llegeixen, i dóna informació cronomètrica. + +@item -w, --warranty +Mostra la garantia del GNU LilyPond (no ve amb +@strong{CAP GARANTIA}!). + +@end table + + +@node Opcions avançades de la línia d'ordres per al LilyPond +@unnumberedsubsec Opcions avançades de la línia d'ordres per al LilyPond +@translationof Advanced command line options for LilyPond + +@table @code + +@item -d@var{[nom-de-opció]}=@var{[valor]}, --define-default=@var{[nom-de-opció]}=@var{[valor]} +Estableix la funció del Scheme interna equivalent a @var{valor}. + +@example +-dbackend=svg +@end example + +Si no es proporciona cap @var{valor}, s'usa el valor predeterminat +Per desactivar una opció es pot anteposar @code{no-} a la +@var{variable}, per exemple: + +@cindex apuntar i clicar, línia d'ordres + +@example +-dno-point-and-click +@end example + +@noindent +és el mateix que +@example +-dpoint-and-click=#f +@end example +@end table + +@noindent Estan contemplades les següents opcions junt als seus +respectius valors predeterminats: + +@multitable @columnfractions .33 .16 .51 +@item @strong{Símbol} +@tab @strong{Valor} +@tab @strong{Explicació/Opcions} + +@item @code{anti-alias-factor} (factor d'antiàlies) +@tab @code{1} +@tab Renderitza a una major resolució (utilitzant el factor +donat) i redueix l'escala del resultat per així evitar +@q{escales} a les imatges @code{PNG}. + +@item @code{aux-files} (fitxers auxiliars) +@tab @code{#t} +@tab Crea fitxeres @code{.tex}, @code{.texi}, @code{.count} al +@q{back-end} @code{EPS}. + +@item @code{backend} +@tab @code{ps} +@tab Selecciona un @q{rerefons}. Els fitxers (l'opció +predeterminada) inclouen els tipus tipogràfics de lletra @code{TTF}, +@code{Type1} i @code{OTF}. No es fa cap subconjunt d'aquests tipus +de lletra. L'ús de conjunts de caràcters @q{orientals} pot +produir fitxers molts grans. + +@item +@tab @code{eps} +@tab PostScript encapsulat. Bolca cada pàgina o sistema com un +fitxer @file{EPS} diferent, sense tipus tipogràfics de lletra, i +com un fitxer @file{EPS} enquadernat amb totes les pàgines o +sistemes que inclouen els tipus de lletra. Utilitzat com a opció +predeterminada per part de @command{lilypond-book}. + +@item +@tab @code{null} +@tab No produeixes cap partitura impresa a la sortida; té el +mateix efecte que @code{-dno-print-pages}. + +@item +@tab @code{svg} +@tab Gràfics vectorials escalables. Crea un únic fitxer +@code{SVG}, sense tipus tipogràfics de lletra incrustats, per a +cada pàgina de sortida. Es recomana instal.lar el tipus de lletra +Century Schoolbook, que està inclòs a la instal.lació del +LilyPond, per a un renderitzat òptim. Sota l'UNIX, bastarà amb +que copieu aquests fitxers de tipus de lletra del directori del +Lilypond (normalment @file{/usr/share/lilypond/VERSION/fonts/otf/}) +al directori @file{~/.fonts/}. La sortida @code{SVG} hauria de +ser compatible amb qualsevol editor o client de SVG. També hi ha +una opció @code{svg-woff} (vegeu més avall) per usar els fitxers +de tipus de lletra woff al @q{rerefons} SVG. + +@item +@tab @code{scm} +@tab Bolcat de les instruccions de dibuix internes basades en +Scheme, en brut. + +@item @code{check-internal-types} +n@tab @code{#f} +@tab Comprova el tipus de cada assignació de propietats. + +@item @code{clip-systems} (retalla els sistemes de pentagrames) +@tab @code{#f} +@tab Genera framents d'imatge retallats d'una partitura. + +@item @code{datadir} (directori de dades) +@tab +@tab Prefix dels fitxers de dades (sols lectura). + +@item @code{debug-gc} +@tab @code{#f} +@tab Bolca estadístiques de depuració de memòria. + +@item @code{debug-gc-assert-parsed-dead} +@tab @code{#f} +@tab Per a la depuració de memòria: assegura't que totes les +referències a objectes analitzats estiguin mortes. És una opció +interna, i s'activa automàticament per a @code{`-ddebug-gc'}. + +@item @code{debug-lexer} +@tab @code{#f} +@tab Depuració de l'analitzador lèxic flex. + +@item @code{debug-page-breaking-scoring} +@tab @code{#f} +@tab Bolca les partitures per a moltes configuracions de salts de +pàgina diferents. + +@item @code{debug-parser} +@tab @code{#f} +f@tab Depuració de l'analitzador sintàctic bison. + +@item @code{debug-property-callbacks} +@tab @code{#f} +@tab Depuració de les cadenes cícliues de funcions de callback. + +@item @code{debug-skylines} +@tab @code{#f} +@tab Depuració de les línies de horitzó. + +@item @code{delete-intermediate-files} +@tab @code{#t} +@tab Elimina els fitxers intermedis @code{.ps} inútils que es +creen durant la compilació. + +@item @code{dump-cpu-profile} +@tab @code{#f} +@tab Bolcar informació de comptabilització del temps (dependent +del sistema). + +@item @code{dump-profile} +@tab @code{#f} +@tab Bolca la informació de memòria i de temps de cada fitxer. + +@item @code{dump-signatures} +@tab @code{#f} +@tab Bolca les signatures de sortida de cada sistema. Usat per a +les proves de regressió. + +@item @code{eps-box-padding} +@tab @code{#f} +@tab Omple la vora esquerra de la capsa contenidora de l'EPS de +sortida en la quantitat donada (en mm). + +@item @code{gs-load-fonts} +@tab @code{#f} +@tab Carrega els tipus tipogràfics de lletra a través del Ghostscript. + +@item @code{gs-load-lily-fonts} +@tab @code{#f} +@tab Carrega sols els tipus de lletra del LilyPond per mitjà del +Ghostscript. + +@item @code{gui} +@tab @code{#f} +@tab S'executa silenciosament i es redirigeix tota la sortida a un +fitxer de registre. +@end multitable + +@noindent +@strong{Nota per als usuaris del Windows:} De manera predeterminada, +@code{lilypond.exe} dirigeix tota la sortida de la informació +d'avenç cap a la finestra de consola, @code{lilypond-windows.exe} +no ho fa i retorna un indicador del sistema, sense cap indicació +d'avenç, immediatament en la línia d'ordres. L'opció +@option{-dgui} es pot usar en aquest cas per redirigir la sortida +a un fitxer de registre. + +@multitable @columnfractions .33 .16 .51 +@item @code{help} +@tab @code{#f} +@tab Mostra aquesta ajuda + +@item @code{include-book-title-preview} +@tab @code{#t} +@tab Inclou els títols de llibre a les imatges de vista prèvia. + +@item @code{include-eps-fonts} +@tab @code{#t} +@tab Incloure els tipus tipogràfics de fonts als fitxers EPS de +cadascú dels sistemes. + +@item @code{include-settings} +@tab @code{#f} +@tab Inclou el fitxer dels ajustos globals, s'inclou abans que la +partitura es processi. + +@item @code{job-count} +@tab @code{#f} +@tab Processa en paral.lel, usant el nombre de tasques donat. + +@item @code{log-file} +@tab @code{#f [fitxer]} +@tab Si es dóna a una cadena @code{fitxer} como a segon argument, +redirigeix la sortida al fitxer de registre @code{fitxer.log}. + +@item @code{max-markup-depth} +@tab @code{1024} +@tab Profunditat màxima de l'arbre de l'etiquetatge. Si un +etiquetatge té més nivells, suposa que no acabarà per sí mateix, +imprimint un advertiment i retornant en el seu lloc un element +d'etiquetatge nul. + +@item @code{midi-extension} +@tab @code{"midi"} +@tab Fixa l'extensió de fitxer predeterminat per al fitxer de +sortida MIDI a la cadena donada. + +@item @code{music-strings-to-paths} +@tab @code{#f} +@tab Converteix les cadenes de text a rutes quan els glifs +pertanyen a un tipus de lletra de tipografia musical. + +@item @code{paper-size} +@tab @code{\"a4\"} +@tab Estableix la mida predeterminada del paper. Observeu que la +cadena ha d'anar tancada entre cometes dobles. + +@item @code{pixmap-format} +@tab @code{png16m} +@tab Fixa el format de sortida del Ghostsript per a les imatges de píxels. + +@item @code{point-and-click} +@tab @code{#f} +@tab Afegeix enllaços d'@q{apuntar i +clicar} a la sortida @code{PDF}. Vegeu +@ref{Point and click}. + +@item @code{preview} +@tab @code{#f} +@tab Crea imatges de vista prèvia a més de la sortida normal. +@end multitable + +@noindent +Aquesta opció està contemplada per tots els @q{rerefons}: @code{pdf}, +@code{png}, @code{ps}, @code{eps} i @code{svg}, però no per +@code{scm}. Genera un fitxer de sortida, en la forma +@code{elmeuFitxer.preview.extensió}, que conté els títols i el +primer sistema de la música. Si s'estan utilitzant blocs +@code{\book} o @code{\bookpart}, apareixen a la sortida els títols de +@code{\book}, @code{\bookpart} o @code{\score}, inclòs el primer +sistema de cada bloc @code{\score} si la variable de @code{\paper} +@code{print-all-headers} està fixada al valor @code{#t}. + +Per suprimir la sortida actual, utilitzeu les opcions +@option{-dprint-pages} o @option{-dno-print-pages} segons les +vostres necessitats. + +@multitable @columnfractions .33 .16 .51 +@item @code{print-pages} +@tab @code{#t} +@tab Genera pàgines completes (és l'opció predeterminada). És útil +@option{-dno-print-pages} en combinació amb @option{-dpreview}. + +@item @code{profile-property-accesses} +@tab @code{#f} +@tab Conserva les estadístiques de les crides de funció +@code{get_property()}. + +@item @code{protected-scheme-parsing} +@tab @code{#t} +@tab Continua quan es capten a l'analitzador sintàctic errors del +Scheme encastat. Si es fixa a @code{#f}, detenir-se quan hi hagi +errors i imprimir un registre de traça de pila. + +@item @code{read-file-list} +@tab @code{#f [fitxer]} +@tab Especifica el nom d'un fitxer que conté una llista de fitxers +d'entrada per processar. + +@item @code{relative-includes} +@tab @code{#f} +@tab Quan es processa una instrucció @code{\include}, cerca el +fitxer inclòs de forma relativa al fitxer actual (enlloc del +fitxer principal). + +@item @code{resolution} +@tab @code{101} +@tab Fixa la resolució per generar imatges de píxels @code{PNG} al +valor donat (en ppp). + +@item @code{safe} +@tab @code{#f} +@tab No confiïs en l'entrada @code{.ly}. +@end multitable + +@noindent +Quan el servei de tipografia està disponible a través d'un +servidor web, @b{S'HAN DE} passar les opcions @option{--safe} o +@option{--jail}. L'opció @option{--safe} evita que el codi del +Scheme faci un desastre, per exemple: + +@quotation +@verbatim +#(system "rm -rf /") +{ + c4^$(ly:gulp-file "/etc/passwd") +} +@end verbatim +@end quotation + +L'opció @option{-dsafe} funciona avaluant les expressions del +Scheme en línia dins d'un mòdul segur especial. Deriva del mòdul +@file{safe-r5rs} del GUILE, però a més afegeix unes quantes +funcions de l'API del LilyPond que estan relacionades en +@file{scm/safe-lily.scm}. + +A més, el mode segur prohibeix les directives @code{\include} i +desactiva la utilització de barres invertides a les cadene de +@TeX{}. A més, no és possible importar variables del LilyPond +dins del Scheme quan s'està em mode segur. + +@option{-dsafe} @emph{no} detecta la sobreutilitizació de +recursos, per la qual cosa encara és possible fer que el programa +es pengi indefinidament, per exemple subministrant estructures de +dades cícliques en el rerefons. Per això, si esteu usant el +LilyPond en un servidor web accessible públicament, el procés s'ha +de limitar tant en l'ús de memòria com de CPU. + +El mode segur evita que es puguin compilar molts fragments de codi +útils. + +L'opció @option{--jail} és una alternativa encara més segura, però +requereix més feina per a la seva configuració. Vegeu +@ref{Opcions bàsiques de la línia d'ordres per al LilyPond}. + +@multitable @columnfractions .33 .16 .51 +@item @code{separate-log-files} +@tab @code{#f} +@tab Per als fitxers d'entrada @code{FITXER1.ly}, +@code{FITXER2.ly}, etc., treu les dades de registre cap als +fitxers @code{FITXER1.log}, @code{FITXER2.log}@dots{} + +@item @code{show-available-fonts} +@tab @code{#f} +@tab Llista tots els noms dels tipus tipogràfics de lletra +disponibles. + +@item @code{strict-infinity-checking} +@tab @code{#f} +@tab Força una terminació abrupta si es troben les excepcions de +punt flotant @code{Inf} i @code{NaN}. + +@item @code{strip-output-dir} +@tab @code{#t} +@tab No usis els directoris dels fitxers d'entrada en construir +els noms dels fitxers de sortida. + +@item @code{strokeadjust} +@tab @code{#f} +@tab Força l'ajust dels traços de PostScript. Aquesta opció és +rellevant principalment quan es genera un @code{PDF} a partir de +la sortida de PostScript (l'ajust del traç està en general activat +automàticament per a dispositius de mapa de punts de baixa +resolució). Sense aquesta opció, els visors de @code{PDF} +tendeixen a produir amplades de plica molt poc consistents a les +resolucions típiques de les pantalles d'ordinador. L'opció no +afecta de forma molt significativa a la qualitat de la impressió i +causa grans increments a la mida del fitxer @code{PDF}. + +@item @code{svg-woff} +@tab @code{#f} +@tab Usar fitxers de tipus tipogràfic de lletra de woff al +rerefons SVG. + +@item @code{trace-memory-frequency} +@tab @code{#f} +@tab Registra l'ús de cèl.lules del Scheme aquesta quantitat de +vegades per segon. Bolca els resultats en @code{FITXER.stacks} i +en @code{FITXER.graph}. + +@item @code{trace-scheme-coverage} +@tab @code{#f} +@tab Registra la cobertura dels fitxers del Scheme a @code{FITXER.cov}. + +@item @code{verbose} +@tab @code{#f} +@tab Sortida detallada, és a dir el nivell de registre en DEBUT +(sols lectura). + +@item @code{warning-as-error} +@tab @code{#f} +@tab Canvia tots els missatges d'advertiment i de @q{error de +programació} a errors. +@end multitable + + +@node Variables d'entorn +@unnumberedsubsec Variables d'entorn +@translationof Environment variables + +@cindex LANG +@cindex LILYPOND_DATADIR + +@command{lilypond} reconeix les següents variables d'entorn: +@table @code +@item LILYPOND_DATADIR +Especifica un directori en el qual els missatges de localització i +de dades es buscaran de forma predeterminada. El directori ha de +contenir subdirectoris anomenats @file{ly/}, @file{ps/}, +@file{tex/}, etc. + +@item LANG +Selecciona l'idioma dels missatges d'advertiment. + +@item LILYPOND_LOGLEVEL +Nivell de registre predeterminat. Si el LilyPond es crida sense +cap nivell de registre explícit (és a dir, sense opció de línia d'ordres +@option{--loglevel}), s'usa aquest valor. + +@item LILYPOND_GC_YIELD +Una variable, com a percentatge, que ajusta el comportament de +l'administració de memòria. Amb valors més alts, el programa usa +més memòria; amb valors més baixos, usa més temps de CPU. El +valor predeterminat és @code{70}. + +@end table + + +@node El LilyPond a una gàbia de chroot +@unnumberedsubsec El LilyPond a una gàbia de chroot +@translationof LilyPond in chroot jail + +La preparació del servidor perquè executi el LilyPond a una gàbia +de chroot és una tasca molt complicada. Els passos estan +relacionats més avall. Els exemples que apareixen en cadascú dels +passos son vàlids per a Ubuntu GNU/Linux, i poden requerir l'ús de +@code{sudo} segons correspongui. + +@itemize + +@item Instal.leu els paquets necessaris: el LilyPond, el Ghostscript i l'ImageMagick. + +@item Creeu un usuari nou amb el nom de @code{lily}: + +@example +adduser lily +@end example + +@noindent +Això també crearà un nou grup per a l'usuari @code{lily}, i una +carpeta personal, @code{/home/lily} + +@item A la carpeta personal de l'usuari @code{lily}, creeu un fitxer per usar-lo com a sistema de fitxers separat: + +@example +dd if=/dev/zero of=/home/lily/loopfile bs=1k count= 200000 +@end example + +@noindent +Aquest exemple crea un fitxer de 200MB per al seu ús com el +sistema de fitxers de la gàbia. + +@item Creeu un dispositiu loop, feu un sistema de fitxers i munteu-lo, +després creeu una carpeta que es pugui escriure per l'usuari +@code{lily}: + +@example +mkdir /mnt/lilyloop +losetup /dev/loop0 /home/lily/loopfile +mkfs -t ext3 /dev/loop0 200000 +mount -t ext3 /dev/loop0 /mnt/lilyloop +mkdir /mnt/lilyloop/lilyhome +chown lily /mnt/lilyloop/lilyhome +@end example + +@item En la configuració dels servidors, JAIL serà @code{/mnt/lilyloop} +i DIR serà @code{/lilyhome}. + +@item Creeu un gran arbre de directoris dins de la gàbia copiant els +fitxers necessaris, com es mostra en el guió d'exemple que apareix +més avall. + +Podeu usar @code{sed} per crear els fitxeres de còpia necessaris per a +un executable donat: + +@example +for i in "/usr/local/lilypond/usr/bin/lilypond" "/bin/sh" "/usr/bin/; \ + do ldd $i | sed 's/.*=> \/\(.*\/\)\([^(]*\).*/mkdir -p \1 \&\& \ + cp -L \/\1\2 \1\2/' | sed 's/\t\/\(.*\/\)\(.*\) (.*)$/mkdir -p \ + \1 \&\& cp -L \/\1\2 \1\2/' | sed '/.*=>.*/d'; done +@end example + +@end itemize + +@subheading Guió d'exemple per a l'Ubuntu 8.04 de 32 bits + +@example +#!/bin/sh +## aquí es fixen els valors predeterminats + +username=lily +home=/home +loopdevice=/dev/loop0 +jaildir=/mnt/lilyloop +# prefix (sense la barra inicial!) +lilyprefix=usr/local +# el directori en el qual el LilyPond es troba instal.lat en el sistema +lilydir=/$lilyprefix/lilypond/ + +userhome=$home/$username +loopfile=$userhome/loopfile +adduser $username +dd if=/dev/zero of=$loopfile bs=1k count=200000 +mkdir $jaildir +losetup $loopdevice $loopfile +mkfs -t ext3 $loopdevice 200000 +mount -t ext3 $loopdevice $jaildir +mkdir $jaildir/lilyhome +chown $username $jaildir/lilyhome +cd $jaildir + +mkdir -p bin usr/bin usr/share usr/lib usr/share/fonts $lilyprefix tmp +chmod a+w tmp + +cp -r -L $lilydir $lilyprefix +cp -L /bin/sh /bin/rm bin +cp -L /usr/bin/convert /usr/bin/gs usr/bin +cp -L /usr/share/fonts/truetype usr/share/fonts + +# Ara la màgia de copiar les biblioteques +for i in "$lilydir/usr/bin/lilypond" "$lilydir/usr/bin/guile" "/bin/sh" \ + "/bin/rm" "/usr/bin/gs" "/usr/bin/convert"; do ldd $i | sed 's/.*=> \ + \/\(.*\/\)\([^(]*\).*/mkdir -p \1 \&\& cp -L \/\1\2 \1\2/' | sed \ + 's/\t\/\(.*\/\)\(.*\) (.*)$/mkdir -p \1 \&\& cp -L \/\1\2 \1\2/' \ + | sed '/.*=>.*/d'; done | sh -s + +# Els fitxers compartits per al ghostcript... + cp -L -r /usr/share/ghostscript usr/share +# Els fitxers compartits per a l'ImageMagick + cp -L -r /usr/lib/ImageMagick* usr/lib + +### Ara, suposant que tenim test.ly a /mnt/lilyloop/lilyhome, +### hauríem de poder executar: +### Observeu que /$lilyprefix/bin/lilypond és un guió, que estableix +### un valor per a LD_LIBRARY_PATH : això és crucial + /$lilyprefix/bin/lilypond -jlily,lily,/mnt/lilyloop,/lilyhome test.ly +@end example + +@c " keep quote signs balanced for context-sensitive editors + +@node Missatges d'error +@section Missatges d'error +@translationof Error messages + +@cindex error, missatges d'error +@cindex missatges d'error + +Poden aparèixer diferents missatges d'error en compilar un fitxer: + +@table @emph + +@item Advertiment +@cindex advertiment +Alguna cosa té un aspecte sospitós. Si estem demanant quelcom +fora del comú, entendrem el missatge i podrem ignorar-lo. Tot i +així, els advertiments solen indicar que alguna cosa va mal amb el +fitxer d'entrada. + +@item Error +@cindex error +És clar que alguna cosa va malament. El pas actual del +processament (anàlisi, interpretació o format visual) es donarà +per acabat, però el pas següent se saltarà. + +@item Error fatal +@cindex error fatal +@cindex fatal, error +És clar que alguna cosa va malament, i el LilyPond no pot +continuar. Poques vegades passa això. La causa més freqüent són +els tipus de lletra mal instal.lats. + +@item Error del Scheme +@cindex traça del Scheme +@cindex crides, traça de +@cindex Scheme, error de +@cindex error del Scheme +Els errors que ocorren en executar el codi del Scheme +s'intercepten per part de l'intèrpret del Scheme. Si s'està +executant amb les opcions @option{-V} o @option{--verbose} +(detallat) aleshores s'imprimeix una traça de crides de la funció +ofensiva. + +@item Error de programació +@cindex error de programació +@cindex programació, error de +Hi ha hagut algun tipus d'inconsistència interna. Aquests +missatges d'error estan orientats a ajudar als programadors i als +depuradors. Normalment es poden ignorar. En ocasions apareixen +en quantitats tan grans que poden entorpir la visió d'altres +missatges de sortida. + +@item Abort (bolcat de core) +Això senyala un error de programació seriós que ha causat la +interrupció abrupta del programa. Aquests errors es consideren +crítics. Si es topa amb un, envieu un informe de fallada. +@end table + +@cindex error, format dels missatges de + +Si els errors i advertiments es poden lligar a un punt del fitxer +d'entrada, els missatges tenen la forma següent: + +@example +@var{fitxer}:@var{línia}:@var{columna}: @var{missatge} +@var{línia d'entrada problemàtica} +@end example + +S'insereix un salt de línia a la línia problemàtica per indicar la +columna on es va trobar l'error. Per exemple, + +@example +prova.ly:2:19: error: no és una duració: 5 + @{ c'4 e' + 5 g' @} +@end example + +Aquestes posicions són la millor suposició del LilyPond sobre on +s'ha produït el missatge d'error, però (per la seva pròpia +naturalesa) els advertiment i errors es produeixen quan passa +quelcom inesperat. Si no veieu un error a la línia que s'indica +del fitxer d'entrada, intenteu comprovar una o dues línies per +sobre de la posició indicada. + +S'ofereix més informació sobre els errors a la secció @ref{Errors +comuns}. + +@node Errors comuns +@section Errors comuns +@translationof Common errors + +Les condicions d'error que es descriuen més a sota es produeixen +amb freqüència, tot i que la causa no és òbvia o fàcil de trobar. +Un cop se han vist i comprès, es gestionen sense problema. + +@menu +* La música se surt de la pàgina:: +* Apareix un pentagrama de més:: +* Missatge d'error Unbound variable %:: +* Missatge d'error FT_Get_Glyph_Name:: +* Advertiment sobre que les afinitats del pentagrama sols han de decrèixer:: +* Missatge d'error Unexpected new:: +@end menu + +@node La música se surt de la pàgina +@unnumberedsubsec La música se surt de la pàgina +@translationof Music runs off the page + +La música que se surt de la pàgina pel marge dret o que apareix +exageradament comprimida està causada gairebé sempre per haver +introduït una duració incorrecta per a una nota, produint que la +nota final d'un compàs s'estengui més enllà de la línia +divisòria. Això no és invàlid si la nota final d'un compàs no +acaba sobre la línia divisòria introduïda automàticament, atès que +simplement se suposa que la nota se solapa a sobre del compàs +següent. Però si es produeix una seqüència llarga d'aquestes +notes solapades, la música pot aparèixer comprimida o sortir-se +de la pàgina perquè els salts de línia automàtiques solament se +poden inserir al final dels compassos complets, és a dir, els +compassos en els quals totes les notes acaben abans o just al +final del compàs. + +@warning{Una duració incorrecta pot fer que s'inhibeixin els salts +de línia, el que portaria a una sola línia de música molt +comprimida o que se surti de la pàgina.} + +La duració incorrecta es pot trobar fàcilment si s'utilitzen +comprovacions de compàs, vegeu @ruser{Comprovació de compàs i de +número de compàs}. + +Si realment volem tenir una sèrie d'aquests compassos amb notes +solapades, hem d'inserir una línia divisòria invisible on volem +el salt de línia. Per veure més detalls, consulteu +@ruser{Barres de compàs}. + + +@node Apareix un pentagrama de més +@unnumberedsubsec Apareix un pentagrama de més +@translationof An extra staff appears + +Si no es creen els contextos explícitament amb @code{\new} o amb +@code{\context}, es crearan discretament tan aviat com es trobi +una instrucció que no es pot aplicar a un context existent. A +partitures senzilles, la creació automàtica dels contextos és +útil, i gairebé tots els exemples dels manuals del LilyPond +s'aprofiten d'aquesta simplificació. Però ocasionalment la +creació discreta de contextos pot fer aflorar pentagrames o +partitures nous o inesperats. Per exemple, podria esperar-se que +el codi següent fet que totes les notes dins del pentagrama +següent estiguessin acolorides de vermell, però de fet el +resultat són dos pentagrames, romanent el de sota amb les +notes amb el color negre predeterminat. + +@lilypond[quote,verbatim,relative=2] +\override Staff.NoteHead.color = #red +\new Staff { a } +@end lilypond + +Això és així perquè no hi ha cap context @code{Staff} quan es +processa la instrucció override de sobreescriptura, es crea un +implícitament i la sobreescriptura s'aplica a aquest context, però +aleshores la instrucció @code{\new Staff} crea un pentagrama nou i +diferent, en el qual es col.loquen les notes. El codi correcte +per acolorir totes les notes de vermell és + +@lilypond[quote,verbatim,relative=2] +\new Staff { + \override Staff.NoteHead.color = #red + a +} +@end lilypond + +Com a segon exemple, si una instrucció @code{\relative} s'escriu +dins d'una instrucció @code{\repeat}, el resultat són dos +pentagrames, el segon desplaçat respecte al primer, perquè la +instrucció @code{\repeat} genera dos blocs @code{\relative}, cada +un dels quals crea implícitament blocs @code{Staff} i @code{Voice}. + +@lilypond[quote,verbatim] +\repeat unfold 2 { + \relative c' { c4 d e f } +} +@end lilypond + +El problema es resol instanciant el context @code{Voice} +explícitament: + +@lilypond[quote,verbatim] +\new Voice { + \repeat unfold 2 { + \relative c' { c4 d e f } + } +} +@end lilypond + + +@node Missatge d'error Unbound variable % +@unnumberedsubsec Missatge d'error Unbound variable % +@translationof Error message Unbound variable % + +Aquest missatge d'error apareix al final dels missatges de la +consola o del fitxer de registre junt a un missatge @qq{GUILE +ha senyalat un error @dots{}} cada cop que es cridi a una rutina +del Scheme que (incorrectament) contingui un comentari @emph{del +LilyPond} enlloc d'un comentari @emph{del Scheme}. + +Els comentaris del LilyPond comencen amb un símbol de +percentatge, (@code{%}), i no s'han d'utilitzar dins de les +rutines del Scheme. Els comentaris del Scheme comencen amb punt i +coma, (@code{;}). + +@node Missatge d'error FT_Get_Glyph_Name +@unnumberedsubsec Missatge d'error FT_Get_Glyph_Name +@translationof Error message FT_Get_Glyph_Name + +Aquest missatge d'error apareix a la sortida de la consola o al +fitxer log de registre si un fitxer d'entrada conté un caràcter que +no és ASCII i no s'ha desat en la codificació de caràcters +UTF-8. Per veure més detalls, consulteu @ruser{Codificació del +text}. + +@node Advertiment sobre que les afinitats del pentagrama sols han de decrèixer +@unnumberedsubsec Advertiment sobre que les afinitats del pentagrama sols han de decrèixer +@translationof Warning staff affinities should only decrease + +Aquest advertiment pot aparèixer si no hi ha cap pentagrama a la +sortida impresa, per exemple si sols hi ha un context +@code{ChordName} i un context @code{Lyrics} com a un full guia +d'acords. Els missatges d'advertiment es poden evitar fent que un +dels contextos es comporti com un pentagrama, inserint + +@example +\override VerticalAxisGroup.staff-affinity = ##f +@end example + +@noindent +al començament. Per veure més detalls, consulteu @qq{Espaiat de +les línies que no són pautes} a @ruser{Espaiat vertical flexible +dins dels sistemes}. + +@node Missatge d'error Unexpected new +@unnumberedsubsec Missatge d'error Unexpected new @code{@bs{}new} +@translationof Error message unexpected new + +Un bloc @code{\score} ha de contenir una @emph{única} expressió +musical. Si en comptes d'això conté diverses instruccions +@code{\new Staff}, @code{\new StaffGroup} o contextos semblants +introduïts amb @code{\new} sense que s'hagin tancat entre +claudàtors corbs, @code{@{ @dots{} @}}, o dobles parèntesis en +angle, @code{<< @dots{} >>}, així: + +@example +\score @{ + % Invàlid! Genera error: error de sintaxi, \new inesperat + \new Staff @{ @dots{} @} + \new Staff @{ @dots{} @} +@} +@end example + +@noindent +aleshores es produirà un missatge d'error. + +Per evitar l'error, tanqueu totes les instruccions @code{\new} +dins dels claudàtors corbs o dobles parèntesis d'angle. + +L'ús de claudàtors corbs introdueix les instruccions @code{\new} +de forma seqüencial: + +@lilypond[quote,verbatim] +\score { + { + \new Staff { a' a' a' a' } + \new Staff { g' g' g' g' } + } +} +@end lilypond + +@noindent +però és més probable que us trobeu utilitzant angles dobles de +manera que els pentagrames nous s'insereixin en paral.lel, és a +dir, simultàniament: + +@lilypond[quote,verbatim] +\score { + << + \new Staff { a' a' a' a' } + \new Staff { g' g' g' g' } + >> +} +@end lilypond diff --git a/Documentation/ca/usage/updating.itely b/Documentation/ca/usage/updating.itely new file mode 100644 index 0000000000..15567a8799 --- /dev/null +++ b/Documentation/ca/usage/updating.itely @@ -0,0 +1,331 @@ +@c -*- coding: utf-8; mode: texinfo; documentlanguage: ca -*- + +@ignore + Translation of GIT committish: b381556a3132e765159edc75107b31259dbf5988 + + 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.16.0" + + +@node Actualització de fitxers amb convert-ly +@chapter Actualització de fitxers amb @command{convert-ly} +@translationof Updating files with convert-ly + +@cindex actualització d'un fitxer del LilyPond +@cindex convert-ly + +La sintaxi del llenguatge d'entrada del LilyPond es modifica de +forma habitual per a simplificar-la o millorar-la de diferents +maneres. Com a efecte secundari, l'intèrpret del LilyPond sovint +ja no és compatible amb els fitxers d'entrada antics. Per posar +remei a això es pot utilitzar el programa @command{convert-ly} per +actualitzar fitxers a versions més noves del LilyPond. + +@menu +* Perquè canvia la sintaxi?:: +* Invocació de convert-ly:: +* Opcions de la línia d'ordres per a convert-ly:: +* Problemes amb convert-ly:: +* Conversions manuals:: +@end menu + + +@node Perquè canvia la sintaxi? +@section Perquè canvia la sintaxi? +@translationof Why does the syntax change? + +@cindex convert-ly +@cindex actualització de fitxers d'entrada antics + +La sintaxi de l'entrada del LilyPond canvia de manera ocasional. +A mesura que el propi LilyPond millora, la sintaxi (el llenguatge +de l'entrada) es modifica en consonància. A vegades aquests +canvis es fan per aconseguir que l'entrada sigui més fàcil de +llegir i escriure, i d'altres vegades aquests canvis són per +donar cabuda a noves funcionalitats del LilyPond. + +Per exemple, se suposa que tots els noms de les propietats de +@code{\paper} i de @code{\layout} estan escrits sota la norma +@code{primer-segon-tercer}. Tot i així, a la versió 2.11.60, +observem que la propietat @code{printallheaders} no seguia aquesta +convenció. Hauríem de deixar-la tal com està (confonent als nous +usuaris que han de tractar amb un format d'entrada inconsistent), +o canviar-la (empipant als usuaris amb experiència que tenen +partitures antigues)? En aquest cas, vam decidir canviar el nom a +@code{print-all-headers}. Afortunadament, aquest +canvi es pot automatitzar amb la nostra eina +@command{convert-ly}. + +Tanmateix, lamentablement @command{convert-ly} no pot tractar tots +els canvis d'entrada. Per exemple, a la versió 2.4 i anteriors de +LilyPond els accents i les lletres no angleses s'introdueixen +utilitzant el LaTeX: per exemple @code{No\"el} (que significa +@q{Nadal} en francès). Al LilyPond 2.6 i següents el caràcter +especial @code{ë} s'ha d'introduir directament al fitxer del +LilyPond com un caràcter UTF-8. @command{convert-ly} no pot +canviar tots els caràcters especials del LaTeX a caràcters de +UTF-8: haureu d'actualitzar manualment els vostres fitxers del +LilyPond antics. + +Les regles de conversió de @command{convert-ly} funcionen usant +correspondència i substitució de patrons de text enlloc d'una +comprensió profunda de la sintaxi del LilyPond. Això té diverses +conseqüències: +@itemize @bullet +@item +El bon funcionament de la conversió depèn de la qualitat de cada +conjunt de regles que s'apliquen i de la complexitat del canvi +corresponent. A vegades les conversions poden necessitar +correccions manuals, per la qual cosa la versió antiga hauria de +conservar-se a efectes de comparació. +@item +Solament són possibles les conversions de formats més nous: no hi +ha cap conjunt de regles per a la desactualització. Així doncs, +la còpia principal de treball d'un fitxer del LilyPond solament +s'ha d'actualitzar quan ja no hi ha necessitat de seguir mantenint +versions antigues del LilyPond. Els sistemes de control de +versions com ara el Git poden ser de gran ajuda per realitzar el +manteniment de diverses versions dels mateixos fitxers. +@item +Els propis programes del LilyPond i de l'Scheme són força robustos +enfront als espais afegits i suprimits de manera @qq{creativa}, +però les regles utilitzades per @command{convert-ly} tendeixen a +fer certes suposicions d'estil. El millor que pot fer-se és +seguir l'estil que s'usa als manuals per fer actualitzacions +indolores, especialment perquè els propis manuals s'actualitzen +usant @command{convert-ly}. +@end itemize + +@node Invocació de convert-ly +@section Invocació de @command{convert-ly} +@translationof Invoking convert-ly + +@command{convert-ly} utilitza el enunciats @code{\version} dels +fitxers d'entrada per detectar el número de versió antic. En +gairebé tots els casos, per actualitzar el fitxer d'entrada sols +cal executar + +@example +convert-ly -e elmeufitxer.ly +@end example + +@noindent +dins del directori que conté el fitxer. Amb això s'actualitza +@file{elmeufitxer.ly} @emph{in situ} i es preserva el fitxer +original @file{elmeufitxer.ly~}. + +@warning{@command{convert-ly} sempre converteix fins l'últim canvi +de sintaxi que és capaç de gestionar. Això significa que el +número de @code{\version} que apareix al fitxer convertit sol ser +inferior al número de versió del propi programa +@command{convert-ly}.} + +Per convertir d'un cop tots els fitxers d'entrada que hi ha a un +directori, useu + +@example +convert-ly -e *.ly +@end example + +De forma alternativa, si volem especificar un nom diferent per al +fitxer actualitzar, preservant el fitxer original amb el mateix +nom, feu + +@example +convert-ly elmeufitxer.ly > elmeunoufitxer.ly +@end example + +El programa imprimeix una relació dels números de versió per als +que s'han fet conversions. Si no s'imprimeix cap número de +versió, el fitxer ja està actualitzat. + +@noindent +Els usuaris del MacOS@tie{}X poden executar aquesta instrucció sota +el menú @code{Compilar > Actualitzar sintaxi}. + +Els usuaris del Windows han d'introduir aquesta instrucció a una +nova ventana del terminal del sistema, que es troba en general sota +@code{Inici > Accessoris > Símbol del sistema}. + +@node Opcions de la línia d'ordres per a convert-ly +@section Opcions de la línia d'ordres per a @command{convert-ly} +@translationof Command line options for convert-ly + +En general, el programa s'invoca de la manera següent: + +@example +convert-ly [@var{opció}]@dots{} @var{fitxer}@dots{} +@end example + +Es poden donar les opcions següents: + +@table @code +@item -d, --diff-version-update +Incrementa la cadena @code{\version} solament si el fitxer +efectivament ha canviat. En tal cas, la capçalera de versió +correspondrà a la versió següent a l'últim canvi efectiu. Sense +aquesta opció la versió reflecteix l'última conversió que es +@emph{va intentar} fer. + +@item -e, --edit +Aplica les conversions directament al fitxer d'entrada, +modificant-lo in situ. El fitxer original es canvia de nom a +@file{elmeufitxer.ly~}. Aquest fitxer de còpia de seguretat +podria ser un fitxer ocult en alguns sistemes operatius. + +@item -b, --backup-numbered +Quan s'usa amb l'opció @samp{-e}, numera els fitxers de còpia de +seguretat de forma que no se sobreescrigui cap versió anterior. +Els fitxers de còpia de seguretat podrien ser fitxer ocults en +alguns sistemes operatius. + +@item -f, --from=@var{versió_d_origen} +Estableix la versió des de la qual s'ha de convertir. Si no +apareix aquesta opció @command{convert-ly} intentarà endevinar-la, +bastant-se en la instrucció @code{\version} del fitxer. Exemple: +@option{--from=2.10.25} + +@item -h, --help +Imprimeix l'ajuda d'utilització. + +@item -l @var{nivellderegistre}, --loglevel=@var{nivellderegistre} +Fixa el grau en el qual la sortida és detallada a +@var{nivellderegistre}. Els valors possibles són @code{NONE} +(cap), @code{ERROR} (errors), @code{WARNING} (advertiments), +@code{PROGRESS} (avenç;predeterminat) i @code{DEBUG} (depuració). + +@item -n, --no-version +Normalment @command{convert-ly} afegeix un indicador +@code{\version} a la sortida. L'especificació d'aquesta opció el +suprimeix. + +@item -s, --show-rules +Mostra totes les conversions conegudes i surt. + +@item -t, --to=@var{versió_final} +Fixa explícitament a quina @code{\version} convertir, en cas +contrari el valor predeterminat és la versió més actual. Ha de +ser més alta que la versió de partida. + +@example +convert-ly --to=2.14.1 elmeufitxer.ly +@end example + +@end table + +Per actualitzar fragments del LilyPond en fitxer de texinfo, useu + +@example +convert-ly --from=@dots{} --to=@dots{} --no-version *.itely +@end example + +Per veure els canvis en la sintaxi del LilyPond entre dues +versions donades, useu + +@example +convert-ly --from=@dots{} --to=@dots{} -s +@end example + + +@node Problemes amb convert-ly +@section Problemes amb @code{convert-ly} +@translationof Problems running convert-ly + +En executar convert-ly a una finestra del Símbol de Sistema sota +el Windows sobre un fitxer que té espais al nom o la ruta, és +necessari tancar tot el nom del fitxer d'entrada amb tres (!) +parelles de cometes: + +@example +convert-ly """D:/Les meves partitures/Oda.ly""" > "D:/Les meves partitures/nova Oda.ly" +@end example + +Si l'ordre simple @command{convert-ly -e *.ly} no funciona perquè +la instrucció expandida es fa massa llarga, en comptes de fer això +l'ordre @command{convert-ly} es pot posar dins d'un bucle. Aquest +exemple per a UNIX actualitza tots els documents @file{.ly} del +directori actual + +@example +for f in *.ly; do convert-ly -e $f; done; +@end example + +A la finestra del terminal d'ordres del Windows, la instrucció +corresponent és + +@example +for %x in (*.ly) do convert-ly -e """%x""" +@end example + +No es gestionen tots els canvis al llenguatge. Sols es pot +especificar una opció de sortida. L'actualització automàtica del +Scheme i les interfícies Scheme del LilyPond és força improbable; +prepareu-vos per manipular el codi del Scheme a mà. + +@node Conversions manuals +@section Conversions manuals +@translationof Manual conversions + +En teoria, un programa com @command{convert-ly} hauria de poder +tractar qualsevol canvi de sintaxi. Després de tot, un programa +d'ordinador interpreta les versions antiga i nova, per la qual +cosa un altre programa d'ordinador podria traduir un fitxer a +l'altre@footnote{Almenys això és possible en qualsevol fitxer del +LilyPond que no contingui Scheme. Si hi ha Scheme dins del +fitxer, conté un llenguatge Turing-complet, i ens trobem amb el +famós @qq{Problema de l'aturada} informàtica.}. + +Tot i així, el projecte LilyPond compta amb uns recursos limitats: +no totes les conversions s'efectuen automàticament. A continuació +hi ha una llista de problemes coneguts. + +@verbatim +1.6->2.0: +No sempre converteix el baix xifrat correctament, específicament +coses com ara {< +>}. El comentari de Mats sobre com solucionar el +problema: + Per poder executar convert-ly + sobre ell, primer vaig sustituir totes les aparicions de '{<' a quelcom mut com ara '{#' + i de forma semblant vaig sustituir '>}' amb '&}'. Després de la conversió, vaig poder + tornar a canviar-los de '{ #' a '{ <' i de '& }' a '> }'. + No converteix tot l'etiquetatge de text correctament. En sintaxi antiga, + es podien agrupar diverses etiquetes entre parèntesis, per exemple + -#'((bold italic) "cadena") + Això es converteix incorrectament a + -\markup{{\bold italic} "cadena"} + en comptes del correcte + -\markup{\bold \italic "cadena"} +2.0->2.2: + No gestiona \partcombine + No va \addlyrics => \lyricsto, això trenca algunes partitures amb diverses estrofes +2.0->2.4: + \magnify no es canvia per \fontsize. + - \magnify #m => \fontsize #f, on f = 6ln(m)/ln(2) + remove-tag no es canvia. + - \applyMusic #(remove-tag '. . .) => \keepWithTag #'. . . + first-page-number no es canvia. + - first-page-number no => print-first-page-number = ##f + Els salts de línia a les cadenes de capçalera no es converteixen. + - \\\\ com salt de línia a les cadenes de \header => \markup \center-align < + "Primera línia" "Segona línia" > + Els terminadors de crescendo i descrecendo no es converteixen. + - \rced => \! + - \rc => \! +2.2->2.4: + \turnOff (usat a \set Staff.VoltaBracket = \turnOff) no es converteix +adequadament. +2.4.2->2.5.9 + \markup{ \center-align <{ ... }> } s'hauria de convertir a: + \markup{ \center-align {\line { ... }} } + però ara, falta el \line. +2.4->2.6 + Els caràcters especials del LaTeX com $~$ al text no es converteixen a UTF8. +2.8 + \score{} ara ha de començar amb una expressió musical. Qualsevol alta cosa + (en particular, \header{}) ha d'anar després de la música. +@end verbatim diff --git a/Documentation/ca/web.texi b/Documentation/ca/web.texi index 2594281fbc..330640ce77 100644 --- a/Documentation/ca/web.texi +++ b/Documentation/ca/web.texi @@ -14,7 +14,7 @@ @afourpaper @c @macro copyrightDeclare -@c Copyright @copyright{} 2009--2014 by the authors. +@c Copyright @copyright{} 2009--2015 by the authors. @c @end macro @set FDL @@ -34,7 +34,7 @@ @c Translators: Walter Garcia-Fontes @copying -Copyright @copyright{} 2009--2014 pels autors +Copyright @copyright{} 2009--2015 pels autors @c next line is necessary for broken pre-4.13 texinfo's @c install-info, so leave it there until we officially @@ -61,7 +61,7 @@ Free Documentation License''. * LilyPond: (lilypond-notation). Referència de la notació amb el Lilypond. * Fragments de codi del LilyPond: (lilypond-snippets). Consells, trucs i exemples curts. * Referència de funcionament intern: (lilypond-internals). Definicions pera a la construcció de trucs. -* Utilització del prrograma: (lilypond-usage). Instal·lació i execució de les aplicacions +* Utilització del prrograma: (lilypond-usage). Instal.lació i execució de les aplicacions * Pàgina web: (lilypond-web). Vista prèvia de la nova pàgina. * lilypond: (lilypond-usage)Executar el Lilypond. Invocar el programa LilyPond. * abc2ly: (lilypond-usage)Invocació d'abc2ly. Importació d'ABC. diff --git a/Documentation/ca/web/community.itexi b/Documentation/ca/web/community.itexi index e7267cb0cc..1f82a78622 100644 --- a/Documentation/ca/web/community.itexi +++ b/Documentation/ca/web/community.itexi @@ -40,14 +40,14 @@ @itemize @item -@ref{Presteu la vostra ajuda}: se sol·licita la vostra col·laboració. +@ref{Presteu la vostra ajuda}: se sol.licita la vostra col.laboració. @item @ref{Patrocini}: contribucions financeres. @item -@ref{Desenvolupament}: per a col·laboradors i pilots de prova. +@ref{Desenvolupament}: per a col.laboradors i pilots de prova. @item @ref{GSoC 2012}: les nostres idees per a l'edició 2012 del «Google @@ -63,7 +63,7 @@ Summer of Code» (Estiu de Codi del Google). @divEnd @divClass{column-right-bottom} -@subheading Miscel·lània +@subheading Miscel.lània @itemize @@ -130,12 +130,12 @@ escriure a la llista lilypond-user mitjançant el gmane} @subsubheading El dipòsit de fragments de codi del LilyPond El dipòsit de fragments de codi del LilyPond és una gran -col·lecció d'exemple enviats pels usuaris, que es poden copiar i +col.lecció d'exemple enviats pels usuaris, que es poden copiar i usar lliurement en les seves pròpies obres. Vegeu les coses que han escrit els altres, i afegiu les vostres pròpies! @example -@uref{http://lsr.dsi.unimi.it} +@uref{http://lsr.di.unimi.it} @end example Els exemples del LSR que són especialment instructius s'inclouen a @@ -644,7 +644,7 @@ implementació, simplificació, documentació i depuració. @c it's good to emphasize the "stable" part. -gp @warning{Aquestes són les versionns @emph{inestables de desenvolupment}. Si teniu el més lleuger dubte en torn a com usar -o instal·lar el LilyPond, us comminem a utilitzar la +o instal.lar el LilyPond, us comminem a utilitzar la @ref{Descàrrega, descàrrega estable}, i llegeixi els @ref{Manuals, manuals estables}.} @@ -665,7 +665,7 @@ un número @q{menor} de versió imparell (per exemple 2.7, 2.9, 2.11). @divClass{column-left-top} @subheading Descàrrega -Les instruccions de Git i per a la compilació estan a la Guia del Col·laborador. +Les instruccions de Git i per a la compilació estan a la Guia del Col.laborador. @quotation @uref{http://git.sv.gnu.org/gitweb/?p=lilypond.git, Dipòsit Git del LilyPond} @@ -700,16 +700,16 @@ voldran descarregar l'últim fitxer binari: @divClass{column-right-top} -@subheading Guia del col·laborador +@subheading Guia del col.laborador El desenvolupament del LilyPond és un assumpte força complicat. El LilyPond és un projecte gran i (més o menys) estable. Per -poder ajudar als nous col·laboradors, i per mantenir tot el +poder ajudar als nous col.laboradors, i per mantenir tot el sistema (més o menys) estable, hem escrit un manual per als -col·laboradors. +col.laboradors. -@docLinksBare{Guia del col·laborador, contribuïdor, - @rcontribnamed{Top,Guía del col·laborador}, +@docLinksBare{Guia del col.laborador, contribuïdor, + @rcontribnamed{Top,Guía del col.laborador}, @manualDevelContributorSplit, @manualDevelContributorBig, 500 kB, @manualDevelContributorPdf, 2.8 MB} @@ -817,11 +817,11 @@ manuals més recents estan a @url{http://lilypond.org}} @docLinkPdf{Glossari,music-glossary,@manualDevelGlossaryPdf} @item -@docLinkSplit{Monografia,essay,@manualDevelEssaySplit-ca} +@docLinkSplit{Essay,essay,@manualDevelEssaySplit} @tab -@docLinkBig{Monografia,essay,@manualDevelEssayBig-ca} +@docLinkBig{Essay,essay,@manualDevelEssayBig} @tab -@docLinkPdf{Monografia,essay,@manualDevelEssayPdf-ca} +@docLinkPdf{Essay,essay,@manualDevelEssayPdf} @end multitable @multitable @columnfractions .3 .3 .3 @@ -909,9 +909,9 @@ estudiants una ajuda perquè treballin en projectes de programari de codi obert durant les vacances d'estiu. L'equip del LilyPond va decidir que aquesta era una oportunitat -excel·lent per trobar col·laboradors nous i animar els estudiants +excel.lent per trobar col.laboradors nous i animar els estudiants que ja participen en el desenvolupament del LilyPond a què -s'impliquin encara més. Un dels nostre col·laboradors ha estat +s'impliquin encara més. Un dels nostre col.laboradors ha estat seleccionat per a l'edició del program com a part del @uref{http://www.gnu.org/, project GNU}; esperem poder participar també a edicions futures. @@ -923,7 +923,7 @@ també a edicions futures. Més a baix hi apareix una llista dels projectes que hem suggerit per als estudiants del GSoC 2012. Tot i que ha finalitzat el plaç -de sol·licituds, hem decidit mantenir visible aquesta pàgina com +de sol.licituds, hem decidit mantenir visible aquesta pàgina com inspiració per a qualsevol persona interessada en el desenvolupament del LilyPond. Alguns membres de l'equip de desenvolupament estan disposats a prestar la seva ajuda a aquells @@ -1005,7 +1005,7 @@ Sovint la forma predeterminada de les corbes de lligadura no és satisfactòria. No estan contemplades les lligadures d'unió entre notes enharmòniques @code{@{ dos' - reb' @}}, les lligadores "trencades" per una clau o un canvi de pauta no estan ben -contemplades. El projecte inclou la recol·lecció i ordenació +contemplades. El projecte inclou la recol.lecció i ordenació d'exemples de sortida defectuosa, decidir sobre la sortida que es desitja tenir i escriure el codi corresponent. @@ -1092,7 +1092,7 @@ que introduís més advertiments dels que hi ha actualment. @divClass{column-center-top} -@subheading Col·laboradors actuals +@subheading Col.laboradors actuals @divClass{keep-bullets} @subsubheading Programació @@ -1124,7 +1124,7 @@ que introduís més advertiments dels que hi ha actualment. @divClass{column-center-bottom} -@subheading Col·laboradors anteriors +@subheading Col.laboradors anteriors @divClass{keep-bullets} @subsubheading Programació @@ -1249,7 +1249,7 @@ Llista descriptiva dels canvis per versió: @divClass{column-center-bottom} @subheading Agraïments -Gràcies als desenvolupadors, col·laboradors, i caçadors de +Gràcies als desenvolupadors, col.laboradors, i caçadors de fallades i aportadors de suggeriments per @miscLink{THANKS-2.16,v2.16}, @miscLink{THANKS-2.14,v2.14}, diff --git a/Documentation/ca/web/download.itexi b/Documentation/ca/web/download.itexi index 2fcf5de330..03e742bc91 100644 --- a/Documentation/ca/web/download.itexi +++ b/Documentation/ca/web/download.itexi @@ -146,7 +146,7 @@ logotips i imatges de productes. Moltes distribucions ja inclouen al LilyPond dins dels seus dipòsits normals de paquets i amb freqüència són molt més fàcils -d'instal·lar que els paquets genèrics que oferim aquí. Malgrat +d'instal.lar que els paquets genèrics que oferim aquí. Malgrat això, la versió del LilyPond d'aquests dipòsits podria ser @emph{significativament} més antiga que la versió estable actual. Si voleu utilitzar els nostres paquets genèrics, comproveu que el @@ -193,7 +193,7 @@ programa LilyPond. Vegeu @ref{Entorns millorats}. @end itemize -@subsubheading Instal·lació +@subsubheading Instal.lació A la línia d'ordres, escriviu: @@ -202,7 +202,7 @@ cd CAMÍ-DEL-DIRECTORI-DE-DESCÀRREGA sh lilypond-@versionStable{}-SISTEMA-OPERATIU.sh @end example -@subsubheading Desinstal·lació +@subsubheading Desinstal.lació A la línia d'ordres, escriviu: @@ -226,7 +226,7 @@ sh lilypond-@versionStable{}-SIST-OPERATIU.sh --help @subheading Paquets específics de cada distribució Utilitzeu el gestor de paquets de la seva distribució per -instal·lar o actualitzar a aquestes versions. +instal.lar o actualitzar a aquestes versions. @itemize @@ -312,12 +312,12 @@ CPUs G3 i G4 (ordinadors Apple antics). @end itemize -@subsubheading Instal·lació +@subsubheading Instal.lació Feu doble clic sobre el fitxer descarregat. Després, arrossegueu-lo a on voleu. -@subsubheading Desinstal·lació +@subsubheading Desinstal.lació Esborreu la carpeta LilyPond.app. @@ -453,30 +453,30 @@ Per a Windows 2000, XP, Vista, Windows 7 i 8. @end itemize -@subsubheading Instal·lació +@subsubheading Instal.lació @enumerate @item Ubiqueu el fitxer descarregat i feu doble clic sobre ell per a -iniciar l'instal·lador. Seguiu les instruccions que us indica -l'instal·lador; us recomanem que deixeu seleccionades totes les -opcions d'instal·lació i que utilitzeu el camí d'instal·lació +iniciar l'instal.lador. Seguiu les instruccions que us indica +l'instal.lador; us recomanem que deixeu seleccionades totes les +opcions d'instal.lació i que utilitzeu el camí d'instal.lació predeterminat. Cliqueu sobre el botó @q{finalitzar} quan -l'instal·lador acabi. El LilyPond està instal·lat. +l'instal.lador acabi. El LilyPond està instal.lat. @end enumerate -@subsubheading Desinstal·lació +@subsubheading Desinstal.lació -Per a la desintal·lació, escolliu entre: +Per a la desintal.lació, escolliu entre: @enumerate @item Ubicar l'apartat del LilyPond al menú Inici i escollir -@q{Desinstal·la}. Cliqueu el botó @q{Finalitza} quan acabi el -programa de desintal·lació. +@q{Desinstal.la}. Cliqueu el botó @q{Finalitza} quan acabi el +programa de desintal.lació. @end enumerate diff --git a/Documentation/ca/web/introduction.itexi b/Documentation/ca/web/introduction.itexi index bfb09013b8..1e690b26d8 100644 --- a/Documentation/ca/web/introduction.itexi +++ b/Documentation/ca/web/introduction.itexi @@ -107,7 +107,7 @@ les millors tradicions del gravat musical clàssic. @subheading Elegància -@subsubheading Excel·lència al gravat clàssic +@subsubheading Excel.lència al gravat clàssic @imageFloat{flat-design,png,right} @@ -119,7 +119,7 @@ bella. Tots els ajustos d'estil del LilyPond, el disseny dels tipus de lletra i els algoritmes s'han inspirat en la millor música gravada a mà. La sortida del Lilypond té el mateix aspecte robust, equilibrat i elegant que les partitures clàssiques millor -gravades. Tot això s'explica amb detall al nostre @ref{Essay}. +gravades. Tot això s'explica amb detall al nostre @ressaynamed{Essay,Monografia}. @subsubheading Opcions d'aspecte efectives @@ -149,12 +149,12 @@ com a referència futura. @subsubheading Combinar música i text -Col·loqueu fragments de música dins de textos sense retallar i +Col.loqueu fragments de música dins de textos sense retallar i enganxeu imatges. Integreu música dins del @LaTeX{} i HTML de forma senzilla, o afegiu música a documents de l'OpenOffice o del LibreOffice mitjançant OOoLilyPond. També hi ha connectors o complements disponibles per permetre codi del LilyPond dins de -diversos blogs i wikis, fent possible la col·laboració en línia. +diversos blogs i wikis, fent possible la col.laboració en línia. @subsubheading Accessibilitat @@ -195,7 +195,7 @@ modificar-lo i copiar-lo. Així doncs, esteu fart d'alguna fallada o demaneu alguna funcionalitat determinada? Tan sols afegiu-la personalment, o pagueu a algú que ho faci. -@subsubheading Excel·lent suport +@subsubheading Excel.lent suport El LilyPond funciona amb totes les plataformes populars: GNU/Linux, MacOS X i Windows. El LilyPond ve amb una completa @@ -278,7 +278,7 @@ Es poden crear diferents materials de lectura a partir del mateix codi font. Heus aquí un extracte de la realització del @uref{http://nicolas.sceaux.free.fr/, Nicolas Sceaux} de @emph{Giulio Cesare} del Haendel, en partitura completa, reducció per a piano y -veu, i una particella de violí. +veu, i una particel.la de violí. @exampleImage{sesto-full} @@ -315,7 +315,7 @@ Journal}. S'han afegit alguns colors per millorar la visibilitat. @newsItem @subsubheading Música vocal -El LilyPond és excel·lent per a tot tipus de música vocal, des +El LilyPond és excel.lent per a tot tipus de música vocal, des d'himnes de música sacra fins a òperes. A continuació presentem un motet medieval amb uns requisits lleugerament inusuals. La veu de tenor està escrita en un compàs diferent a les altres però s'ha @@ -353,7 +353,7 @@ profundament per complir amb gairebé qualsevol situació. @newsItem @subsubheading Projectes grans -El LilyPond és excel·lent per a projectes grans com ara òperes o +El LilyPond és excel.lent per a projectes grans com ara òperes o també obres per a orquestra simfònica. A més a més, l'entrada basada en text proporciona una major accessibilitat (aquest exemple ha estat aportat per Hu Haipeng, un compositor cec). @@ -400,7 +400,7 @@ Sense cost: descarregueu-lo i proveu-lo! Que podeu perdre? @item Compartir: si us agrada el programa passeu una còpia a les vostres -amistats, professors i professores, alumnes i col·legues! +amistats, professors i professores, alumnes i col.legues! @item Disponibilitat de la font: si teniu curiositat sobre com el @@ -502,7 +502,7 @@ de crear bellesa amb un ordinador. Si tan sols voleu una introducció ràpida al LilyPond, llegir tot el material que constitueix la monografia podria ser massa. Si voleu -llegir-lo ara, continueu cap a @ref{Essay}. +llegir-lo ara, continueu cap a @ressaynamed{Essay,Monografia}. @divEnd @divClass{column-center-bottom} @@ -548,7 +548,7 @@ per a la traducció holandesa del @emph{Saint Nicolas} del Benjamin Britten realitzat per @emph{Muziektheater Hollands Diep} el 2011, @uref{http://www.muziektheaterhollandsdiep.nl/nl/voorstellingen/sint_nicolaas_leeft, www.muziektheaterhollandsdiep.nl}; i està treballant actualment en -la partitura general i particelles d'un arranjament del +la partitura general i particel.les d'un arranjament del @emph{Boris Godounov} del Moussurgsky per a quartet de vent, piano i percussió. S'interpretarà el 2014, de nou per part de @emph{Muziektheater Hollands Diep}. @@ -861,7 +861,7 @@ facilitat d'ús i aparença dels resultats!} @divClass{testimonial-item} @imageFloat{darius-blasband,jpg, right} -@subsubheading Darius Blasband, compositor (Brussel·les, Bèlgica) +@subsubheading Darius Blasband, compositor (Brussel.les, Bèlgica) @qq{[...després de primer assaig orquestral] vaig obtenir nombrosos complits sobre la qualitat de les partitures. El que és @@ -914,7 +914,7 @@ tots els compositors s'han quedat bocabadats per la qualitat del gravat que se'l presentava amb les proves de la seva música prèvia a la publicació. Em reservo part del mèrit d'això (ocupo molt temps a alterar els resultats, especialment les lligadures, -sobretot als acords), però el LilyPond em dóna un excel·lent punt +sobretot als acords), però el LilyPond em dóna un excel.lent punt de partida, una interfície molt intuïtiva, i la capacitat de modificar absolutament qualsevol cosa si el vull dedicar el temps necessari. Estic convençut que cap producte comercial se li apropa @@ -942,7 +942,7 @@ més m'agrada!} @divClass{testimonial-item} -@subsubheading @uref{http://nicolas.sceaux.free.fr/, Nicolas Sceaux}, col·laborador de @uref{http://www.mutopiaproject.org/, Mutopia} +@subsubheading @uref{http://nicolas.sceaux.free.fr/, Nicolas Sceaux}, col.laborador de @uref{http://www.mutopiaproject.org/, Mutopia} @qq{Tenia una espècie de relació passió-odi amb el LilyPond. Passió perquè la primera partitura que vaig veure era @@ -1065,12 +1065,12 @@ Aplegui acords i lletra per obtenir un full guia d'acords: -@subsubheading Particelles d'orquestra +@subsubheading Particel.les d'orquestra El fitxer d'entrada conté les notes d'una peça musical La -partitura i les particells es poden fer a partir d'un sol fitxer +partitura i les particel.les es poden fer a partir d'un sol fitxer d'entrada, de manera que un canvi en una nota sempre afecta tant a -les particelles com a la partitura general. Per poder incloure la +les particel.les com a la partitura general. Per poder incloure la mateixa música en diversos llocs, assignem la música a una @qq{variable} (un nom): @@ -1108,7 +1108,7 @@ Teniu a la vostra disposició una documentació molt més profunda a la secció @ref{Manuals}. Ben Lemon, usuari del LilyPond, ha creat i publicat una -col·lecció de +col.lecció de @uref{http://benlemon.me/blog/music/lilypond/operation-lilypond/,tutorials en vídeo} al seu blog, dirigits a nous usuaris. @@ -1165,7 +1165,7 @@ In particular, don't link to: @uref{http://www.tunefl.com} Amb el tunefl es poden compondre tipogràficament les partitures de -forma directa en línia sense necessitat d'instal·lar el LilyPond +forma directa en línia sense necessitat d'instal.lar el LilyPond localment. Permet provar totes les capacitats del programa usant una interfície web còmoda. @@ -1228,7 +1228,7 @@ d'utilitzar i funciona en tots els principals sistemes operatius El Denemo és un editor gràfic que genera codi font del LilyPond, en la versió 2.8.7, i també permet la reproducció sonora de la música. Permet els usuaris veure el codi d'entrada de LilyPond en -paral·lel amb la visualització gràfica. Es poden aplicar a les +paral.lel amb la visualització gràfica. Es poden aplicar a les notes, acords, etc., trucs del LilyPond addicionals i es desen amb el document del Denemo, de forma que els usuaris poden continuar editant-lo de manera gràfica. @@ -1344,8 +1344,8 @@ Composer al LilyPond. @item @uref{https://github.com/ciconia/ripple/blob/master/README.markdown,Ripple} és un programa que ajuda en la creació de partitures i -particelles, i que inclou un mode per barrejar diferents obres -musicals a una sola partitura o particella. +particel.les, i que inclou un mode per barrejar diferents obres +musicals a una sola partitura o particel.la. @item @uref{http://www.rosegardenmusic.com,Rosegarden}, un seqüenciador diff --git a/Documentation/ca/web/manuals.itexi b/Documentation/ca/web/manuals.itexi index 84cf730387..a6f68089ff 100644 --- a/Documentation/ca/web/manuals.itexi +++ b/Documentation/ca/web/manuals.itexi @@ -51,9 +51,9 @@ una introducció al LilyPond amable i @qq{imprescindible}. @details{Glossari} @item -@ifWebLinks{@manualStableEssaySplitNoName-es,@ressaynamed{Top,Monografia}} +@ifWebLinks{@manualStableEssaySplitNoName,@ressaynamed{Top,Essay}} @emph{(lectura opcional)} la informació de rerefons sobre gravat musical -@details{Monografia} +@details{Essay} @end itemize @@ -271,8 +271,8 @@ la versió en format PDF a causa de la seva major resolució.} @divClass{column-right-bottom} -@docLinks{Monografia, essay, - @ressaynamed{Top,Ensayo}, +@docLinks{Essay, essay, + @ressaynamed{Top,Essay}, @manualStableEssaySplit-ca, @manualStableEssayBig-ca, 1 MB, @manualStableEssayPdf-ca, 2 MB} @@ -401,7 +401,7 @@ el LilyPond es poden trobar a la @ref{Introducció}. @subsubheading Quelcom no funciona! Com ho arreglo? -S'explica a @rprogram{Solució de problemes}. +S'explica a @rprogramnamed{Troubleshooting,Solució de problemes}. @subsubheading Perquè canvien la sintaxi i el llenguatge? @@ -438,7 +438,7 @@ maneres d'informar de les fallades, i desenvolupament. @subsubheading Manual web en @versionDevel @docLinksBare{Web, web, - @ref{Arriba,Web}, + @ref{Amunt,Web}, @manualDevelWebSplit-ca, @manualDevelWebBig-ca, 2.5 MB, @manualDevelWebPdf, 3.5 MB} diff --git a/Documentation/changes.tely b/Documentation/changes.tely index 1dd439dfb0..a90f386485 100644 --- a/Documentation/changes.tely +++ b/Documentation/changes.tely @@ -61,6 +61,19 @@ which scares away people. @end ignore +@item +Multi-measure rests have length according to their total duration, +under the control of @code{MultiMeasureRest.space-increment}. +@lilypond[quote] +{ \compressFullBarRests + \override MultiMeasureRest.space-increment = 2.2 + R1 R1 R1*2 R1*8 R1*24 R1*80 } +@end lilypond + +@item +Page numbers may now be printed in roman numerals, by setting the +@code{page-number-type} paper variable. + @item It is now possible to use @code{\time} and @code{\partial} together to change the time signature in mid measure. diff --git a/Documentation/contributor.texi b/Documentation/contributor.texi index 90cd32d444..ff39d7fafd 100644 --- a/Documentation/contributor.texi +++ b/Documentation/contributor.texi @@ -30,7 +30,7 @@ information about different jobs, see @rweb{Help us}. @c file: Documentation/devel.html.in @macro copyrightDeclare -Copyright @copyright{} 2007--2014 by the authors. +Copyright @copyright{} 2007--2015 by the authors. @end macro @set FDL diff --git a/Documentation/contributor/administration.itexi b/Documentation/contributor/administration.itexi index 1f8b5b1de6..50f97ade9e 100644 --- a/Documentation/contributor/administration.itexi +++ b/Documentation/contributor/administration.itexi @@ -217,6 +217,14 @@ documentation. See @ref{Compiling}. Commit access is @emph{not} required to test patches, but a valid login to @uref{http://code.google.com/} @emph{is}. +@noindent +Note that a google account does not need to be a Gmail account; you can +use @emph{any} email address for your google account when you sign up. + +@warning{In order for @code{patchy} to work as expected, your Google +Account Settings must have the @q{Access for less secure apps} set to +@q{Allowed}. This is normally the default setting.} + @end itemize diff --git a/Documentation/contributor/doc-translation-list.itexi b/Documentation/contributor/doc-translation-list.itexi index 5f9a4c7f08..404f35d421 100644 --- a/Documentation/contributor/doc-translation-list.itexi +++ b/Documentation/contributor/doc-translation-list.itexi @@ -25,72 +25,72 @@ procedures}. @example -1- Web site -616 web.texi -4937 web/introduction.itexi -1201 web/download.itexi +642 web.texi +5707 web/introduction.itexi +1145 web/download.itexi 1139 macros.itexi -7977 po/lilypond-doc.pot (translate to po/@var{MY_LANGUAGE}.po) +9 po/lilypond-doc.pot (translate to po/@var{MY_LANGUAGE}.po) 0 search-box.ihtml --- lilypond-texi2html.init (section TRANSLATIONS) -15870 total +8642 total -2- Tutorial -1284 web/manuals.itexi +1314 web/manuals.itexi 124 learning.tely 2578 learning/tutorial.itely -4396 learning/common-notation.itely -8382 total +4417 learning/common-notation.itely +8433 total -3- Fundamental Concepts, starting of Usage and Community -11144 learning/fundamental.itely -- Fundamental concepts +11193 learning/fundamental.itely -- Fundamental concepts 135 usage.tely -4537 usage/running.itely -1484 usage/updating.itely -3073 web/community.itexi -20373 total +5080 usage/running.itely +1865 usage/updating.itely +2991 web/community.itexi +21264 total -4- Rest of Learning manual and Suggestions on writing LilyPond files -16191 learning/tweaks.itely -- Tweaking output -372 learning/templates.itely -- Templates +16570 learning/tweaks.itely -- Tweaking output +803 learning/templates.itely -- Templates 2692 usage/suggestions.itely -- Suggestions on writing LilyPond files -19255 total +20065 total -5- Notation reference 326 notation.tely 91 notation/notation.itely -- Musical notation -4990 notation/pitches.itely -6890 notation/rhythms.itely -1793 notation/expressive.itely -1050 notation/repeats.itely -2821 notation/simultaneous.itely +5202 notation/pitches.itely +6916 notation/rhythms.itely +1844 notation/expressive.itely +1181 notation/repeats.itely +2810 notation/simultaneous.itely 2476 notation/staff.itely -954 notation/editorial.itely -2816 notation/text.itely +1491 notation/editorial.itely +2820 notation/text.itely 81 notation/specialist.itely -- Specialist notation -5190 notation/vocal.itely -1972 notation/chords.itely +4985 notation/vocal.itely +1916 notation/chords.itely 702 notation/piano.itely -811 notation/percussion.itely +804 notation/percussion.itely 826 notation/guitar.itely 66 notation/strings.itely 242 notation/bagpipes.itely -5375 notation/ancient.itely -10392 notation/input.itely -- Input syntax +5522 notation/ancient.itely +10610 notation/input.itely -- Input syntax 2164 notation/non-music.itely -- Non-musical notation -12256 notation/spacing.itely -- Spacing issues -15289 notation/changing-defaults.itely -- Changing defaults +10886 notation/spacing.itely -- Spacing issues +15428 notation/changing-defaults.itely -- Changing defaults 5187 notation/programming-interface.itely -- Interfaces for programmers -2176 notation/notation-appendices.itely -- Notation manual tables +3134 notation/notation-appendices.itely -- Notation manual tables 252 notation/cheatsheet.itely -- Cheat sheet -87188 total +87962 total -6- Rest of Application Usage -4137 usage/lilypond-book.itely -- LilyPond-book +4217 usage/lilypond-book.itely -- LilyPond-book 1122 usage/converters.itely -- Converting from other formats -5259 total +5339 total -7- Appendices whose translation is optional -326 essay/literature.itely +382 essay/literature.itely 1222 learning/scheme-tutorial.itely (should be revised first) -1548 total +1604 total @end example diff --git a/Documentation/contributor/release-work.itexi b/Documentation/contributor/release-work.itexi index eb213d4a5a..05241fc7ba 100644 --- a/Documentation/contributor/release-work.itexi +++ b/Documentation/contributor/release-work.itexi @@ -588,7 +588,7 @@ to continue uninterrupted. Download GUB and start the set up: @example -git clone git://github.com/gperciva/gub/gub.git +git clone git://github.com/gperciva/gub.git cd gub make bootstrap @end example diff --git a/Documentation/contributor/source-code.itexi b/Documentation/contributor/source-code.itexi index 9be2b2097f..250ad99d2e 100644 --- a/Documentation/contributor/source-code.itexi +++ b/Documentation/contributor/source-code.itexi @@ -1340,11 +1340,20 @@ LilyDev users should perform these @q{configuration} instructions. @enumerate @item -You must have a google account; please create one if you do not +You must own a Google account login; please create one if you do not have one already. -Note that a google account does not need to be a gmail account; you can -use any email address for your google account when you sign up. +@noindent +Note that a google account does not need to be a Gmail account; you can +use @emph{any} email address for your google account when you sign up. + +@warning{In order for @code{git-cl} to work as expected, your Google +Account Settings must have the @q{Access for less secure apps} set to +@q{Allowed}. This is normally the default setting.} + +@item +Move into the top source directory and then configure @command{git +cl} with the following commands: @item Move into the top source directory and then configure @command{git diff --git a/Documentation/cs/learning.tely b/Documentation/cs/learning.tely index 4043e3e10b..a40230bf36 100644 --- a/Documentation/cs/learning.tely +++ b/Documentation/cs/learning.tely @@ -19,7 +19,7 @@ Tento soubor poskytuje úvod pro LilyPond verze @c `Learning Manual' was born 1999-10-10 with git commit b9abaac... @macro copyrightDeclare -Autorské právo @copyright{} 1999--2014 autoři. +Autorské právo @copyright{} 1999--2015 autoři. @end macro @set FDL diff --git a/Documentation/cs/translations.itexi b/Documentation/cs/translations.itexi index fc2e13f51f..0a5455f239 100644 --- a/Documentation/cs/translations.itexi +++ b/Documentation/cs/translations.itexi @@ -16,7 +16,7 @@ td { border: 1px solid black; text-align: center; } @end html @end ifhtml -@emph{Naposledy obnoveno Wed Dec 18 12:23:14 UTC 2013 +@emph{Naposledy obnoveno Tue Dec 30 15:39:08 UTC 2014 } @multitable @columnfractions 0.166666666667 0.166666666667 0.166666666667 0.166666666667 0.166666666667 0.166666666667 @@ -47,7 +47,7 @@ ano @ifhtml @html -částečně +částečně @end html @end ifhtml @ifnothtml @@ -111,24 +111,24 @@ ano @item 2 Běžný notový zápis @* -4396 +4417 @tab Pavel Fric @tab @tab @ifhtml @html -částečně (35 %) +částečně (36 %) @end html @end ifhtml @ifnothtml -částečně (35 %) +částečně (36 %) @end ifnothtml @tab @ifhtml @html -částečně +částečně @end html @end ifhtml @ifnothtml @@ -138,7 +138,7 @@ ano @item 3 Základní pojmy @* -11144 +11193 @tab Pavel Fric @tab @tab @@ -155,7 +155,7 @@ ano @ifhtml @html -částečně +částečně @end html @end ifhtml @ifnothtml @@ -165,24 +165,24 @@ ano @item 4 Ladění výstupu @* -16191 +16570 @tab Pavel Fric @tab @tab @ifhtml @html -částečně (50 %) +částečně (51 %) @end html @end ifhtml @ifnothtml -částečně (50 %) +částečně (51 %) @end ifnothtml @tab @ifhtml @html -částečně +částečně @end html @end ifhtml @ifnothtml @@ -192,24 +192,24 @@ ano @item A Předlohy @* -372 +803 @tab Pavel Fric @tab @tab @ifhtml @html -částečně (38 %) +částečně (66 %) @end html @end ifhtml @ifnothtml -částečně (38 %) +částečně (66 %) @end ifnothtml @tab @ifhtml @html -částečně +částečně @end html @end ifhtml @ifnothtml @@ -231,7 +231,7 @@ LilyPond -- Zápis not pro každého @item Nadpisy @* -616 +642 @tab Pavel Fric @tab @tab @@ -248,7 +248,7 @@ ano @ifhtml @html -částečně +částečně @end html @end ifhtml @ifnothtml @@ -285,7 +285,7 @@ ano @item Úvod @* -4937 +5707 @tab Pavel Fric @tab @tab @@ -302,7 +302,7 @@ ano @ifhtml @html -částečně +částečně @end html @end ifhtml @ifnothtml @@ -312,7 +312,7 @@ ano @item Stažení @* -1201 +1145 @tab Pavel Fric @tab @tab @@ -329,7 +329,7 @@ ano @ifhtml @html -částečně +částečně @end html @end ifhtml @ifnothtml @@ -339,7 +339,7 @@ ano @item Příručky @* -1284 +1314 @tab Pavel Fric @tab @tab @@ -356,7 +356,7 @@ ano @ifhtml @html -částečně +částečně @end html @end ifhtml @ifnothtml @@ -366,18 +366,18 @@ ano @item Společenství @* -3073 +2991 @tab  Pavel Fric @tab @tab @ifhtml @html -částečně (95 %) +částečně (94 %) @end html @end ifhtml @ifnothtml -částečně (95 %) +částečně (94 %) @end ifnothtml @tab @ifhtml diff --git a/Documentation/cs/web.texi b/Documentation/cs/web.texi index 71f313adff..255ade4032 100644 --- a/Documentation/cs/web.texi +++ b/Documentation/cs/web.texi @@ -17,7 +17,7 @@ @c `Web' was imported 2009-08-05 with git commit b938d71... @c @macro copyrightDeclare -@c Copyright @copyright{} 2009--2014 by the authors. +@c Copyright @copyright{} 2009--2015 by the authors. @c @end macro @set FDL diff --git a/Documentation/css/lilypond-ie-fixes.css b/Documentation/css/lilypond-ie-fixes.css deleted file mode 100644 index 274f7fdc0d..0000000000 --- a/Documentation/css/lilypond-ie-fixes.css +++ /dev/null @@ -1,71 +0,0 @@ -/***********************************************************/ -/* BASE STYLES */ -/***********************************************************/ - -body { - height: 100%; - font-size: 100%; - min-height: 0; - text-align: center; -} - -/***********************************************************/ -/* MAIN CONTENT */ -/***********************************************************/ - -div#main { - min-height: 0; - height: 100%; - width: 73%; - overflow-x: auto; -} - -table.menu { - margin-left: 1em; -} - -.nav_table { - width: 100%; -} - -blockquote { - width: 100%; - margin: 1em 1%; -} - -table.cartouche { - width: 85%; - margin: 1em 7.5%; -} - -/***********************************************************/ -/* TOC SIDEBAR */ -/***********************************************************/ - -div#tocframe { - height: 100%; - width: 27%; -} - -/***********************************************************/ -/* NAVIGATION */ -/***********************************************************/ - -table#navigation { - margin: 1em auto; -} - - -/***********************************************************/ -/* IE CENTERING FIXES */ -/***********************************************************/ - -table#navigation, div#tocframe, div#main, -p, h1, h2, ul, .footer, #languages { - text-align: left; -} - -div.header h1, div.subheader p { - text-align: center; -} - diff --git a/Documentation/css/lilypond-manuals-ie-fixes.css b/Documentation/css/lilypond-manuals-ie-fixes.css new file mode 100644 index 0000000000..517f77b11b --- /dev/null +++ b/Documentation/css/lilypond-manuals-ie-fixes.css @@ -0,0 +1,70 @@ +/***********************************************************/ +/* BASE STYLES */ +/***********************************************************/ + +body { + height: 100%; + font-size: 100%; + min-height: 0; + text-align: center; +} + +/***********************************************************/ +/* MAIN CONTENT */ +/***********************************************************/ + +div#main { + min-height: 0; + height: 100%; + width: 73%; + overflow-x: auto; +} + +table.menu { + margin-left: 1em; +} + +.nav_table { + width: 100%; +} + +blockquote { + width: 100%; + margin: 1em 1%; +} + +table.cartouche { + width: 85%; + margin: 1em 7.5%; +} + +/***********************************************************/ +/* TOC SIDEBAR */ +/***********************************************************/ + +div#tocframe { + height: 100%; + width: 27%; +} + +/***********************************************************/ +/* NAVIGATION */ +/***********************************************************/ + +table#navigation { + margin: 1em auto; +} + + +/***********************************************************/ +/* IE CENTERING FIXES */ +/***********************************************************/ + +table#navigation, div#tocframe, div#main, +p, h1, h2, ul, .footer, #languages { + text-align: left; +} + +div.header h1, div.subheader p { + text-align: center; +} diff --git a/Documentation/css/lilypond-manuals.css b/Documentation/css/lilypond-manuals.css index 8950b847a7..04a6877d8d 100644 --- a/Documentation/css/lilypond-manuals.css +++ b/Documentation/css/lilypond-manuals.css @@ -513,8 +513,7 @@ div#search p, div#search form { padding: 0; border: 1px solid green; /* Experimental rounded corners */ - -moz-border-radius: 10px; - -webkit-border-radius: 10px; + border-radius: 10px; margin: 1em; } @@ -532,7 +531,6 @@ body.contributor .warning { border-color: #000000; } padding: 0; border: 1px solid green; /* Experimental rounded corners */ - -moz-border-radius: 10px; - -webkit-border-radius: 10px; + border-radius: 10px; margin: 0.5em 0.5em 2em 3em; } diff --git a/Documentation/css/lilypond-website-ie-fixes.css b/Documentation/css/lilypond-website-ie-fixes.css new file mode 100644 index 0000000000..86fe49ad87 --- /dev/null +++ b/Documentation/css/lilypond-website-ie-fixes.css @@ -0,0 +1,69 @@ +/* IE9 and IE8 lack support for CSS gradients so this file */ +/* supplies background images for them instead. */ + +/* Table of Contents */ +/* first level toc (unnumbered) */ + +div#tocframe { + background: url(../pictures/nav1-bg.png) repeat-x top left; +} + +#tocframe li a:hover { + background: url(../pictures/nav1-hover.png); +} + +#tocframe li.toc_current a, +#tocframe li.toc_current a:hover { + background: url(../pictures/nav1-active.png); +} + +/* second level toc (unnumberedsec) */ + +#tocframe .toc .toc li a { + background: url(../pictures/nav2-bg.png); +} + +#tocframe .toc .toc li a:hover { + background: url(../pictures/nav2-hover.png); +} + +#tocframe .toc .toc li.toc_current a, +#tocframe .toc .toc li.toc_current a:hover { + background: url(../pictures/nav2-active.png); +} + +/* Divs */ + +#quickSummary .subheading { + background: #fff url(../pictures/summary-gradient.png) repeat-y 0 0; +} + +a[name="Stable"] + h4 { + background: #bdee9d url(../pictures/color1-bg.png) repeat-x top left; +} + +a[name="Unstable"] + h4 { + background: #fad58c url(../pictures/color3-bg.png) repeat-x top left; +} + +/* Columns */ + +.column-center-top h3 { + background: #9ccc7c url(../pictures/color1-bg.png) repeat-x top left; +} + +.column-left-top h3, +.column-left-bottom h3, +.column-center-middle-color2 h3 { + background: #adce82 url(../pictures/color2-bg.png) repeat-x top left; +} + +.column-right-top h3, +.column-right-bottom h3, +.column-center-middle-color3 h3 { + background: #bdd088 url(../pictures/color3-bg.png) repeat-x top left; +} + +.column-center-bottom h3 { + background: #ccd38f url(../pictures/color4-bg.png) repeat-x top left; +} diff --git a/Documentation/css/lilypond-website.css b/Documentation/css/lilypond-website.css index 820cd5c5bf..ca445710ae 100644 --- a/Documentation/css/lilypond-website.css +++ b/Documentation/css/lilypond-website.css @@ -67,15 +67,14 @@ div#tocframe { top: 0; left: 0; right: 0; - background: #6aec7c url(../pictures/nav-bg.png) repeat-x top left; + background: rgb(35, 155, 80); + background: linear-gradient(to top, + rgb(25, 115, 50), + rgb(45, 205, 115)); max-width: 70em; font-size: 100%; line-height: 1; padding: 0; - -moz-border-radius-bottomleft: 7px; - -moz-border-radius-bottomright: 7px; - -webkit-border-bottom-left-radius: 7px; - -webkit-border-bottom-right-radius: 7px; border-bottom-left-radius: 7px; border-bottom-right-radius: 7px; margin: 0; @@ -93,35 +92,15 @@ div#tocframe { } #tocframe > ul:first-child > li:first-child a { - text-indent: -999em; - background: #6aec7c url(../pictures/lily-home-nav-bg.png) no-repeat 50% 50%; - width: 9%; - -moz-border-radius-bottomleft: 7px; - -webkit-border-bottom-left-radius: 7px; border-bottom-left-radius: 7px; } -#tocframe > ul:first-child > li:first-child a:hover { - background: #6aec7c url(../pictures/lily-home-nav-hover.png) no-repeat 50% 50%; - width: 9%; -} - -#tocframe > ul:first-child > li:first-child.toc_current a { - text-indent: -999em; - background: url(../pictures/lily-home-nav-active.png) no-repeat 50% 50%; - width: 9%; -} - -#tocframe > ul:first-child > li:first-child.toc_current a:hover { - text-indent: -999em; - background: url(../pictures/lily-home-nav-active.png) no-repeat 50% 50%; - width: 9%; +#tocframe > ul:first-child > li:first-child a span { + background: url("../pictures/lily-home-32x32.png") no-repeat scroll 0% 40% transparent; + padding: 16px 0px 16px 38px; } #tocframe > ul:first-child > li:last-child { - width: 9%; - -moz-border-radius-bottomright: 7px; - -webkit-border-bottom-right-radius: 7px; border-bottom-right-radius: 7px; } @@ -134,57 +113,57 @@ div#tocframe { /* search box */ #tocframe li form { float: left; - width: 17%; - background: #6aec7c url(../pictures/nav-bg.png); + width: 16%; font-size: 100%; - padding: 0.45em 0.8%; - margin: 0; + padding: 0.5em 0.8%; + margin: 0 0 0 1%; } #tocframe li form input { display: block; float: left; - width: 95%; - font-size: 100%; - padding: 0.1em; + width: 92%; + font-size: 90%; + color: rgb(85, 85, 85); + background: rgb(200, 230, 200); + padding: 0.1em 0.1em 0.1em 0.6em; border: 0; margin: 0; - -moz-border-radius-topright: 20px; - -moz-border-radius-bottomright: 20px; - -webkit-border-top-right-radius: 20px; - -webkit-border-bottom-right-radius: 20px; - border-top-right-radius: 20px; - border-bottom-right-radius: 20px; + border-radius: 7px; } #tocframe li form input[type="hidden"] { position: relative; height: 0; overflow: hidden; - text-indent: -999em; padding: 0; margin: 0; } #tocframe li a { - background: #6aec7c url(../pictures/nav-bg.png); float: left; - width: 18%; + width: 16%; text-align: center; font-weight: bold; padding: 0.68em 0; margin: 0; + border-right: 1px solid rgba(25, 100, 40, 0.25); } #tocframe li a:hover { - background: url(../pictures/nav-hover.png); + background: rgb(45, 165, 90); + background: linear-gradient(to top, + rgb(35, 125, 60), + rgb(55, 215, 125)); } #tocframe li.toc_current a, #tocframe li.toc_current a:hover { - background: url(../pictures/nav-active.png); + background: rgb(0, 120, 30); + background: linear-gradient(to top, + rgb(0, 85, 20), + rgb(15, 175, 85)); color: #fff; - text-decoration: underline; } /* second level toc (unnumberedsec) */ @@ -205,19 +184,12 @@ div#tocframe { } #tocframe .toc .toc li:first-child a { - -moz-border-radius-topleft: 7px; - -moz-border-radius-bottomleft: 7px; - -webkit-border-top-left-radius: 7px; - -webkit-border-bottom-left-radius: 7px; border-top-left-radius: 7px; border-bottom-left-radius: 7px; + border-left: 1px solid rgba(85, 130, 70, 0.25); } #tocframe .toc .toc li:last-child a { - -moz-border-radius-topright: 7px; - -moz-border-radius-bottomright: 7px; - -webkit-border-top-right-radius: 7px; - -webkit-border-bottom-right-radius: 7px; border-top-right-radius: 7px; border-bottom-right-radius: 7px; } @@ -225,7 +197,10 @@ div#tocframe { #tocframe .toc .toc li a { float: left; width: auto; - background: #ceffae; + background: rgb(165, 215, 150); + background: linear-gradient(to top, + rgb(130, 200, 110), + rgb(200, 230, 190)); line-height: 2; color: #000; text-decoration: none; @@ -233,86 +208,22 @@ div#tocframe { font-weight: normal; padding: 0 0.5em; margin: 0; + border-right: 1px solid rgba(85, 130, 70, 0.25); } #tocframe .toc .toc li a:hover { - background: #bdee9d; -} - -/* colored second-level TOC items */ -#tocframe .toc .toc li.color1 a { - background: #9ccc7c url(../pictures/color1-bg.png) repeat-x top left; -} - -#tocframe .toc .toc li.color2 a { - background: #bbcf81 url(../pictures/color2-bg.png) repeat-x top left; -} - -#tocframe .toc .toc li.color3 a { - background: #dbd286 url(../pictures/color3-bg.png) repeat-x top left; -} - -#tocframe .toc .toc li.color4 a { - background: #fad58c url(../pictures/color4-bg.png) repeat-x top left; -} - -#tocframe .toc .toc li.colorDefault a { - background: #8cbc6c url(../pictures/nav-bg-2.png) repeat-x top left; - color: #fff; -} - -#tocframe .toc .toc li.colorDefault a:hover { - background: #8cbc6c url(../pictures/nav-hover-2.png) repeat-x top left; - color: #fff; -} - -#tocframe .toc .toc li.color1 a:hover { - background: #addd8d url(../pictures/color1-hover.png) repeat-x top left; -} - -#tocframe .toc .toc li.color2 a:hover { - background: #ccdf92 url(../pictures/color2-hover.png) repeat-x top left; -} - -#tocframe .toc .toc li.color3 a:hover { - background: #ece297 url(../pictures/color3-hover.png) repeat-x top left; -} - -#tocframe .toc .toc li.color4 a:hover { - background: #fbe69d url(../pictures/color4-hover.png) repeat-x top left; + background: rgb(175, 225, 160); + background: linear-gradient(to top, + rgb(140, 210, 120), + rgb(210, 240, 200)); } #tocframe .toc .toc li.toc_current a, #tocframe .toc .toc li.toc_current a:hover { - color: #000; - text-decoration: underline; -} - -#tocframe .toc .toc li.colorDefault.toc_current a, -#tocframe .toc .toc li.colorDefault.toc_current a:hover { - background: #8cbc6c url(../pictures/nav-active-2.png) repeat-x top left; - color: #fff; - text-decoration: underline; -} - -#tocframe .toc .toc li.color1.toc_current a, -#tocframe .toc .toc li.color1.toc_current a:hover { - background: #beee9e url(../pictures/color1-active.png) repeat-x top left; -} - -#tocframe .toc .toc li.color2.toc_current a, -#tocframe .toc .toc li.color2.toc_current a:hover { - background: #ddefa3 url(../pictures/color2-active.png) repeat-x top left; -} - -#tocframe .toc .toc li.color3.toc_current a, -#tocframe .toc .toc li.color3.toc_current a:hover { - background: #fdf4a8 url(../pictures/color3-active.png) repeat-x top left; -} - -#tocframe .toc .toc li.color4.toc_current a, -#tocframe .toc .toc li.color4.toc_current a:hover { - background: #fcf7ae url(../pictures/color4-active.png) repeat-x top left; + background: rgb(135, 185, 120); + background: linear-gradient(to top, + rgb(100, 170, 80), + rgb(170, 200, 160)); } /* third level toc (unnumberedsubsec) */ @@ -419,7 +330,11 @@ div#quickSummary { } #quickSummary .subheading { - background: #fff url(../pictures/summary-gradient.png) repeat-y 0 0; + background: linear-gradient(to right, + rgb(79, 130, 99), + rgb(79, 130, 99) 10%, + rgb(255, 255, 255) 75%, + rgb(255, 255, 255)); color: #fff; padding: 0 0.5em; margin: 0; @@ -448,8 +363,8 @@ div.news-item { .news-item .subsubheading { text-align: left; - padding: 0 0 0 0.5em; - border-bottom: 1px solid #5b7f64; + padding: 0.5em 0.5em 0 0.5em; + border-top: 1px solid #5b7f64; margin: 0; overflow: hidden; } @@ -484,48 +399,51 @@ div#latestVersion { position: absolute; top: 16em; right: 0; - width: 12em; - text-align: center; - border-left: 1px solid #5b7f64; } div#wildCardBox { position: absolute; - top: 0.0em; + top: 0; right: 0; - width: 12em; - text-align: center; - border-left: 1px solid #5b7f64; } -#latestVersion .subheading { - background: #5b7f64; - color: #fff; +div#latestVersion, +div#wildCardBox { + width: 12em; text-align: center; - padding: 0 0.5em; - margin: 0; + border-left: 1px solid #5b7f64; + border-top-left-radius: 5px; } +#latestVersion .subheading, #wildCardBox .subheading { background: #5b7f64; color: #fff; text-align: center; padding: 0 0.5em; margin: 0; + border-top-left-radius: 5px; + border-top-right-radius: 5px; } /* this might not work in certain browsers */ a[name="Stable"] + h4 { - background: #bdee9d url(../pictures/color1-bg.png) repeat-x top left; + background: #bdee9d; + background: linear-gradient(to top, + rgb(140, 210, 118), + rgb(212, 243, 201)); } /* this might not work in certain browsers */ a[name="Unstable"] + h4 { - background: #fad58c url(../pictures/color3-bg.png) repeat-x top left; + background: #fad58c; + background: linear-gradient(to top, + rgb(183, 213, 131), + rgb(231, 243, 207)); } #latestVersion .subsubheading { - padding: 0.08em 0.25em; + padding: 0.25em 0.25em 0; border-bottom: 1px solid #5b7f64; margin: 0; } @@ -613,7 +531,7 @@ h1.unnumbered, h2.unnumberedsec, h3.unnumberedsubsec { table { text-align: left; padding: 0 0 0 0.5em; - border-left: 3px solid green; + border-left: 3px solid #5b7f64; margin: 1em 0 0 1em; } @@ -678,6 +596,8 @@ div.float-right a.clickable { } /* Columns */ + +/* color1 */ .column-center-top { float: left; width: 99.5%; @@ -686,11 +606,12 @@ div.float-right a.clickable { margin: 1em auto; } -/* color1 */ -.column-center-top h3 { - background: #9ccc7c url(../pictures/color1-bg.png) repeat-x top left; +.column-center-middle-color2, +.column-center-middle-color3 { + clear: both; + width: 99.5%; text-align: left; - border-bottom: 1px solid #9ccc7c; + margin: 1em auto; } .column-left-top { @@ -706,18 +627,6 @@ div.float-right a.clickable { margin: 1em 0; } -.column-left-top, -.column-left-bottom { - border: 1px solid #adce82; -} - -/* color2 */ -.column-left-top h3, -.column-left-bottom h3 { - background: #adce82 url(../pictures/color2-bg.png) repeat-x top left; - border-bottom: 1px solid #adce82; -} - .column-right-top { float: right; width: 49%; @@ -730,18 +639,21 @@ div.float-right a.clickable { margin: 1em 0; } -.column-right-top, -.column-right-bottom { - border: 1px solid #bdd088; +/* color2 */ +.column-left-top, +.column-left-bottom, +.column-center-middle-color2 { + border: 1px solid #adce82; } /* color3 */ -.column-right-top h3, -.column-right-bottom h3 { - background: #bdd088 url(../pictures/color3-bg.png) repeat-x top left; - border-bottom: 1px solid #bdd088; +.column-right-top, +.column-right-bottom, +.column-center-middle-color3 { + border: 1px solid #bdd088; } +/* color4 */ .column-center-bottom { clear: both; width: 99.5%; @@ -750,34 +662,78 @@ div.float-right a.clickable { margin: 1em auto 0; } -/* color4 */ -.column-center-bottom h3 { - background: #ccd38f url(../pictures/color4-bg.png) repeat-x top left; - text-align: left; - border-bottom: 1px solid #ccd38f; -} - .column-center-top, +.column-center-middle-color2, +.column-center-middle-color3, .column-center-bottom, .column-left-top, .column-left-bottom, .column-right-top, .column-right-bottom { background: #f5fffa; + border-radius: 5px; +} + +/* color1 */ +.column-center-top h3 { + background: #9ccc7c; + background: linear-gradient(to top, + rgb(140, 210, 118), + rgb(212, 242, 201)); + text-align: left; + border-bottom: 1px solid #9ccc7c; +} + +/* color2 */ +.column-left-top h3, +.column-left-bottom h3, +.column-center-middle-color2 h3 { + background: #adce82; + background: linear-gradient(to top, + rgb(173, 206, 130), + rgb(221, 243, 204)); + border-bottom: 1px solid #adce82; +} + +/* color3 */ +.column-right-top h3, +.column-right-bottom h3, +.column-center-middle-color3 h3 { + background: #bdd088; + background: linear-gradient(to top, + rgb(189, 208, 136), + rgb(231, 243, 207)); + border-bottom: 1px solid #bdd088; +} + +/* color4 */ +.column-center-bottom h3 { + background: #ccd38f; + background: linear-gradient(to top, + rgb(204, 211, 143), + rgb(237, 244, 208)); + text-align: left; + border-bottom: 1px solid #ccd38f; } .column-center-top h3, +.column-center-middle-color2 h3, +.column-center-middle-color3 h3, .column-center-bottom h3, .column-left-top h3, .column-left-bottom h3, .column-right-top h3, .column-right-bottom h3 { text-align: left; - padding: 0 0.5em; + padding: 3px 0.5em 0; margin: 0; + border-top-left-radius: 5px; + border-top-right-radius: 5px; } .column-center-top h4, +.column-center-middle-color2 h4, +.column-center-middle-color3 h4, .column-center-bottom h4, .column-left-top h4, .column-left-bottom h4, @@ -789,6 +745,8 @@ div.float-right a.clickable { } .column-center-top ul, +.column-center-middle-color2 ul, +.column-center-middle-color3 ul, .column-center-bottom ul, .column-left-top ul, .column-left-bottom ul, @@ -800,6 +758,8 @@ div.float-right a.clickable { } .column-center-top li, +.column-center-middle-color2 li, +.column-center-middle-color3 li, .column-center-bottom li, .column-left-top li, .column-left-bottom li, @@ -811,6 +771,8 @@ div.float-right a.clickable { } .column-center-top p, +.column-center-middle-color2 p, +.column-center-middle-color3 p, .column-center-bottom p, .column-left-top p, .column-left-bottom p, @@ -821,6 +783,10 @@ div.float-right a.clickable { .column-center-top img.float-left, .column-center-top img.float-right, +.column-center-middle-color2 img.float-left, +.column-center-middle-color2 img.float-right, +.column-center-middle-color3 img.float-left, +.column-center-middle-color3 img.float-right, .column-center-bottom img.float-left, .column-center-bottom img.float-right, .column-left-top img.float-left, @@ -834,62 +800,6 @@ div.float-right a.clickable { margin: 0.5em; } -/* Centered divs by color */ -div.color1, -div.color2, -div.color3, -div.color4 { - clear: both; - width: 99.5%; - background: #f5fffa; - margin: 1em auto; -} - -div.color1 h3, -div.color2 h3, -div.color3 h3, -div.color4 h3 { - padding: 0 0.5em; - margin: 0; -} - -div.color1 { - border: 1px solid #9ccc7c; - margin: 1em auto; -} - -div.color1 h3 { - background: #9ccc7c; - border-bottom: 1px solid #9ccc7c; -} - -div.color2 { - border: 1px solid #adce82; -} - -div.color2 h3 { - background: #adce82; - border-bottom: 1px solid #adce82; -} - -div.color3 { - border: 1px solid #bdd088; -} - -div.color3 h3 { - background: #bdd088; - border-bottom: 1px solid #bdd088; -} - -div.color4 { - border: 1px solid #ccd38f; -} - -div.color4 h3 { - background: #ccd38f; - border-bottom: 1px solid #ccd38f; -} - .keep-bullets ul { list-style-type: disc; padding: 0; @@ -931,38 +841,26 @@ div.color4 h3 { overflow: auto; } -.warning { +.warning, +.contactBox { background: #eef; text-align: left; - padding: 0; - border: 1px solid green; - /* Experimental rounded corners */ - -moz-border-radius: 10px; - -webkit-border-radius: 10px; - border-radius: 10px; margin: 1em; -} - -.warning p { - padding: 0.5em; - margin: 0; + padding: 0; + border: 1px solid rgb(160, 160, 175); + border-radius: 5px; } .contactBox { float: left; - background: #eef; - text-align: left; - border: 1px solid green; - padding: 0; - margin: 1em; } +.warning p, .contactBox p { padding: 0.5em; margin: 0; } - .hide { position: relative; text-indent: -999em; diff --git a/Documentation/de/essay.tely b/Documentation/de/essay.tely index 4630d98414..689adca648 100644 --- a/Documentation/de/essay.tely +++ b/Documentation/de/essay.tely @@ -23,7 +23,7 @@ LilyPond Version @version{}. @c `Essay' was born 2002-06-03 with git commit e38f5fc... @macro copyrightDeclare -Copyright @copyright{} 2002--2014 bei den Autoren. +Copyright @copyright{} 2002--2015 bei den Autoren. @end macro @set FDL diff --git a/Documentation/de/extending.tely b/Documentation/de/extending.tely index ebe3462692..abca75df5f 100644 --- a/Documentation/de/extending.tely +++ b/Documentation/de/extending.tely @@ -22,7 +22,7 @@ LilyPond Version @version{} erweitern kann. @c `Extending' was born 2003-04-23 with git commit c08f6e8... @macro copyrightDeclare -Copyright @copyright{} 2003--2014 bei den Autoren. +Copyright @copyright{} 2003--2015 bei den Autoren. @end macro @set FDL diff --git a/Documentation/de/learning.tely b/Documentation/de/learning.tely index b17c6ec512..96bd01dbd0 100644 --- a/Documentation/de/learning.tely +++ b/Documentation/de/learning.tely @@ -19,7 +19,7 @@ Diese Datei stellt eine Einleitung für LilyPond Version @c `Learning Manual' was born 1999-10-10 with git commit b9abaac... @macro copyrightDeclare -Copyright @copyright{} 1999--2014 bei den Autoren. +Copyright @copyright{} 1999--2015 bei den Autoren. @end macro @set FDL diff --git a/Documentation/de/learning/tweaks.itely b/Documentation/de/learning/tweaks.itely index 0d407cbb59..013fcd7f50 100644 --- a/Documentation/de/learning/tweaks.itely +++ b/Documentation/de/learning/tweaks.itely @@ -1047,7 +1047,7 @@ wenn sie in einem @code{\override}-Befehl benutzt werden. @tab Regeln @tab Beispiele @item Boolesch - @tab Entweder wahr oder falsch, dargestellt als #t oder #f + @tab Entweder wahr oder falsch, dargestellt als @code{#t} oder @code{#f} @tab @code{#t}, @code{#f} @item Dimension (in Notenlinienabständen) @tab Eine positive Dezimalzahl (in Notenlinienabstand-Einheiten) @@ -1060,8 +1060,8 @@ wenn sie in einem @code{\override}-Befehl benutzt werden. @tab Eine positive ganze Zahl @tab @code{3}, @code{1} @item Liste - @tab Eine eingeklammerte Anzahl von Einträgen, mit Klammern getrennt - und angeführt von einem Apostroph + @tab Eine eingeklammerte Liste von Einträgen, angeführt von einem Apostroph; + Einträge durch Leerzeichen voneinander getrennt @tab @code{'(left-edge staff-bar)}, @code{'(1)}, @code{'(1.0 0.25 0.5)} @item Textbeschriftung (markup) @@ -1076,7 +1076,7 @@ wenn sie in einem @code{\override}-Befehl benutzt werden. @tab Eine beliebige positive oder negative Dezimalzahl @tab @code{3.5}, @w{@code{-2.45}} @item Paar (Zahlenpaar) - @tab Zwei Zahlen getrennt von @qq{Leerzeichen . Leerzeichen}, eingeklammert + @tab Zwei Zahlen getrennt durch @qq{Leerzeichen . Leerzeichen}, eingeklammert und angeführt von einem Apostroph @tab @code{'(2 . 3.5)}, @code{'(0.1 . -3.2)} @item Symbol @@ -1088,9 +1088,9 @@ wenn sie in einem @code{\override}-Befehl benutzt werden. @tab @code{bend::print}, @code{ly:text-interface::print}, @code{#f} @item Vektor - @tab Eine Liste mit drei Einträgen, eingeklammert und mit - Apostroph-Raute ( @code{'#}) angeführt. - @tab @code{'#(#t #t #f)} + @tab Konstanten, getrennt durch Leerzeichen, eingeschlossen in + @code{#(}@dots{}@code{)}. + @tab @code{#(#t #t #f)} @end multitable diff --git a/Documentation/de/notation.tely b/Documentation/de/notation.tely index 63b5fa7438..5b23f96908 100644 --- a/Documentation/de/notation.tely +++ b/Documentation/de/notation.tely @@ -24,7 +24,7 @@ dem @rlearningnamed{Top, Handbuch zum Lernen} vertraut ist. @c `Notation Reference' was born 1999-10-11 with git commit 940dda0... @macro copyrightDeclare -Copyright @copyright{} 1999--2014 bei den Autoren. +Copyright @copyright{} 1999--2015 bei den Autoren. @end macro diff --git a/Documentation/de/notation/ancient.itely b/Documentation/de/notation/ancient.itely index 813dcf4d5c..7362d93062 100644 --- a/Documentation/de/notation/ancient.itely +++ b/Documentation/de/notation/ancient.itely @@ -2574,7 +2574,7 @@ Er bezeichnet die Position von @code{c}: @lilypond[quote,relative=1,notime,verbatim] \clef "kievan-do" - \override NoteHead.style = #'kievan + \kievanOn c @end lilypond @@ -2606,8 +2606,10 @@ Notenköpfe: @lilypond[quote,fragment,ragged-right,verbatim] \autoBeamOff \cadenzaOn -\override NoteHead.style = #'kievan +\kievanOn b'1 b'2 b'4 b'8 b'\breve b'\longa +\kievanOff +b'2 @end lilypond @seealso @@ -2641,7 +2643,6 @@ vor allem der Vollständigkeit halber eingesetzt. @lilypond[quote,relative=1,notime,verbatim] \clef "kievan-do" -\override NoteHead.style = #'kievan \override Accidental.glyph-name-alist = #alteration-kievan-glyph-name-alist bes' dis, @@ -2663,19 +2664,18 @@ Notationsreferenz: Eine dekorative Figur wird üblicherweise am Ende von eines Musikstückes der Kiever Notation gesetzt, was man als Kiever -Schlussstrich bezeichnen kann. Es wird gesetzt mit @code{\bar "kievan"}. +Schlussstrich bezeichnen kann. Es wird gesetzt mit @code{\bar "k"}. @lilypond[quote,relative=1,notime,verbatim] \clef "kievan-do" - \override NoteHead.style = #'kievan - c \bar "kievan" + \kievanOn + c \bar "k" @end lilypond @seealso @ref{Takte}, @ref{Die Feta-Schriftart} - @c Working with ancient music: scenarios and solutions:: {{{1 @node Musiksatz Alter Musik in der Praxis -- Szenarien und Lösungen @subsection Musiksatz Alter Musik in der Praxis -- Szenarien und Lösungen diff --git a/Documentation/de/notation/cheatsheet.itely b/Documentation/de/notation/cheatsheet.itely index ebedb6c218..0c44e12323 100644 --- a/Documentation/de/notation/cheatsheet.itely +++ b/Documentation/de/notation/cheatsheet.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.11" +@c \version "2.19.16" @c Translators: Till Paala @@ -130,7 +130,7 @@ c c, @tab @lilypond[relative=2] \set Score.timing = ##f -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \set Staff.autoBeaming = ##f c( d e) @end lilypond @@ -141,7 +141,7 @@ c( d e) @tab @lilypond[relative=2] \set Score.timing = ##f -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \set Staff.autoBeaming = ##f c\( c( d) e\) @end lilypond @@ -152,7 +152,7 @@ c\( c( d) e\) @tab @lilypond[relative=2] \set Score.timing = ##f -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \set Staff.autoBeaming = ##f a8-[ b-] @end lilypond @@ -163,11 +163,11 @@ a8-[ b-] @tab @lilypond[relative=1] << \new Staff { - \set Staff.implicitTimeSignatureVisibility = #all-invisible + \set Staff.initialTimeSignatureVisibility = #all-invisible c1 } \new Staff { - \set Staff.implicitTimeSignatureVisibility = #all-invisible + \set Staff.initialTimeSignatureVisibility = #all-invisible c1 } >> @end lilypond @@ -177,7 +177,7 @@ a8-[ b-] @tab Artikulationszeichen @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible c-> c-. @end lilypond @@ -186,7 +186,7 @@ c-> c-. @tab Dynamik @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible c2\mf c\sfz @end lilypond @@ -196,7 +196,7 @@ c2\mf c\sfz @tab @lilypond[relative=2] \set Score.timing = ##f -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \set Staff.autoBeaming = ##f a\< a a\! @end lilypond @@ -206,7 +206,7 @@ a\< a a\! @tab @lilypond[relative=2] \set Score.timing = ##f -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \set Staff.autoBeaming = ##f a\> a a\! @end lilypond @@ -216,7 +216,7 @@ a\> a a\! @tab Noten im Akkord @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible @end lilypond @@ -234,7 +234,7 @@ f8 c2 d e @tab Triolen @tab @lilypond[relative=1] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \tuplet 3/2 { f8 g a } @end lilypond @@ -243,7 +243,7 @@ f8 c2 d e @tab Verzierungen @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \context Voice { \grace b16 c4 } @end lilypond @@ -264,7 +264,7 @@ twinkle @tab Gesangstext-Trennstrich @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible << { g'1 g } \new Lyrics \lyricsto "" { twin -- kle } @@ -275,7 +275,7 @@ twinkle @tab Akkorde @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \chordmode { c:dim f:maj7 } @end lilypond @@ -290,7 +290,7 @@ twinkle @tab Mehrstimmigkeit @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \context Staff <<{e f} \\ {c d}>> @end lilypond diff --git a/Documentation/de/notation/editorial.itely b/Documentation/de/notation/editorial.itely index f01a51d270..91a7d839a8 100644 --- a/Documentation/de/notation/editorial.itely +++ b/Documentation/de/notation/editorial.itely @@ -120,7 +120,7 @@ Schriftgrößenänderungen werden erreicht, indem man die Design-Schriftgröße nimmt, die der gewünschten am nächsten kommt, und sie dann skaliert. Die Standard-Schriftgröße (für @code{font-size = #0}) hängt von der Standard-Systemhöhe ab. Für ein Notensystem von 20pt wird eine Schriftgröße -von 10pt ausgewählt. +von 11pt ausgewählt. Die @code{font-size}-Eigenschaft kann nur für die Layoutobjekte gesetzt werden, die Schrift-Dateien benutzen. Das sind die, welche die diff --git a/Documentation/de/notation/input.itely b/Documentation/de/notation/input.itely index ff1b13fba2..81bb7cbad8 100644 --- a/Documentation/de/notation/input.itely +++ b/Documentation/de/notation/input.itely @@ -2266,7 +2266,7 @@ im Gesangstext und als normaler Text außerhalb der Partitur. } \addlyrics { O \markup { \concat { Ph \char ##x0153 be! } } } } -\markup { "Copyright 2008--2014" \char ##x00A9 } +\markup { "Copyright 2008--2015" \char ##x00A9 } @end lilypond @cindex Copyright-Zeichen @@ -2526,7 +2526,7 @@ realistischere MIDI-Ausgabe mit einem @ref{Artikuliere-Skript} erzeugt werden. Die MIDI-Ausgabe benötigt einen Kanal für jedes System und reserviert -Kanala 10 für Schlagzeug. Es gibt nur 16 MIDI-Kanäle pro Gerät, +Kanal 10 für Schlagzeug. Es gibt nur 16 MIDI-Kanäle pro Gerät, sodass MIDI-Kanäle mehrfach benutzt werden, wenn eine Partitur mehr als 15 Notensysteme hat. diff --git a/Documentation/de/notation/wind.itely b/Documentation/de/notation/wind.itely index 2de45f7296..5cf78d09bf 100644 --- a/Documentation/de/notation/wind.itely +++ b/Documentation/de/notation/wind.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes. @end ignore -@c \version "2.16.0" +@c \version "2.19.16" @c Translators: Till Paala @@ -222,9 +222,9 @@ Wenn die Vorzeichen hingegen angezeigt werden sollen, kann das mithilfe des Befehls @code{\showKeySignature} vorgenommen werden. Einige moderne Dudelsacknoten benutzen halbe Finger auf c und f, um -diese Noten zu erniedrigen. Das kann angezeigt werden mit @code{cflat} -bzw. @code{fflat}. Gleicherweise kann das piobaireachd hohe g als -@code{gflat} geschrieben werden, wenn es in leichter Musik vorkommt. +diese Noten zu erniedrigen. Das kann angezeigt werden mit @code{c-flat} +bzw. @code{f-flat}. Gleicherweise kann das piobaireachd hohe g als +@code{g-flat} geschrieben werden, wenn es in leichter Musik vorkommt. @seealso Schnipsel: diff --git a/Documentation/de/translations.itexi b/Documentation/de/translations.itexi index 21a85322b1..8a191ccf7c 100644 --- a/Documentation/de/translations.itexi +++ b/Documentation/de/translations.itexi @@ -16,7 +16,7 @@ td { border: 1px solid black; text-align: center; } @end html @end ifhtml -@emph{Zuletzt aktualisiert am Wed Dec 18 12:23:14 UTC 2013 +@emph{Zuletzt aktualisiert am Tue Dec 30 15:39:08 UTC 2014 } @multitable @columnfractions 0.166666666667 0.166666666667 0.166666666667 0.166666666667 0.166666666667 0.166666666667 @@ -47,11 +47,11 @@ ja @ifhtml @html -ja +teilweise @end html @end ifhtml @ifnothtml -ja +teilweise @end ifnothtml @tab vor-GDP @item @@ -84,7 +84,7 @@ ja @item 1 Notensatz @* -5296 +5315 @tab  Till Paala @tab @tab @@ -101,7 +101,7 @@ ja @ifhtml @html -teilweise +teilweise @end html @end ifhtml @ifnothtml @@ -111,7 +111,7 @@ teilweise @item 2 Literatur @* -326 +382 @tab Till Paala @tab @tab @@ -128,11 +128,11 @@ ja @ifhtml @html -ja +teilweise @end html @end ifhtml @ifnothtml -ja +teilweise @end ifnothtml @tab vor-GDP @end multitable @@ -167,11 +167,11 @@ ja @ifhtml @html -ja +teilweise @end html @end ifhtml @ifnothtml -ja +teilweise @end ifnothtml @tab vor-GDP @item @@ -204,7 +204,7 @@ ja @item 1 Scheme-Übung @* -6271 +6335 @tab Till Paala @tab @tab @@ -221,7 +221,7 @@ teilweise (53 %) @ifhtml @html -teilweise +teilweise @end html @end ifhtml @ifnothtml @@ -231,7 +231,7 @@ teilweise @item 2 Schnittstellen für Programmierer @* -5925 +5756 @tab Till Paala @tab @tab @@ -248,7 +248,7 @@ ja @ifhtml @html -teilweise +teilweise @end html @end ifhtml @ifnothtml @@ -287,11 +287,11 @@ ja @ifhtml @html -ja +teilweise @end html @end ifhtml @ifnothtml -ja +teilweise @end ifnothtml @tab vor-GDP @item @@ -353,24 +353,24 @@ teilweise @item 2 Übliche Notation @* -4396 +4417 @tab Till Paala @tab @tab @ifhtml @html -teilweise (35 %) +teilweise (36 %) @end html @end ifhtml @ifnothtml -teilweise (35 %) +teilweise (36 %) @end ifnothtml @tab @ifhtml @html -teilweise +teilweise @end html @end ifhtml @ifnothtml @@ -380,7 +380,7 @@ teilweise @item 3 Grundbegriffe @* -11144 +11193 @tab Till Paala @* Reinhold Kainhofer @@ -399,7 +399,7 @@ ja @ifhtml @html -teilweise +teilweise @end html @end ifhtml @ifnothtml @@ -409,24 +409,24 @@ teilweise @item 4 Die Ausgabe verändern @* -16191 +16570 @tab Till Paala @tab @tab @ifhtml @html -teilweise (52 %) +teilweise (50 %) @end html @end ifhtml @ifnothtml -teilweise (52 %) +teilweise (50 %) @end ifnothtml @tab @ifhtml @html -teilweise +teilweise @end html @end ifhtml @ifnothtml @@ -436,24 +436,24 @@ teilweise @item A Vorlagen @* -372 +803 @tab Till Paala @tab @tab @ifhtml @html -teilweise (38 %) +teilweise (66 %) @end html @end ifhtml @ifnothtml -teilweise (38 %) +teilweise (66 %) @end ifnothtml @tab @ifhtml @html -teilweise +teilweise @end html @end ifhtml @ifnothtml @@ -492,11 +492,11 @@ ja @ifhtml @html -ja +teilweise @end html @end ifhtml @ifnothtml -ja +teilweise @end ifnothtml @tab vor-GDP @item @@ -556,7 +556,7 @@ ja @item 1.1 Tonhöhen @* -4990 +5202 @tab Till Paala @tab @tab @@ -573,7 +573,7 @@ ja @ifhtml @html -teilweise +teilweise @end html @end ifhtml @ifnothtml @@ -583,7 +583,7 @@ teilweise @item 1.2 Rhythmus @* -6890 +6916 @tab Till Paala @tab @tab @@ -600,7 +600,7 @@ ja @ifhtml @html -teilweise +teilweise @end html @end ifhtml @ifnothtml @@ -610,7 +610,7 @@ teilweise @item 1.3 Ausdrucksbezeichnungen @* -1793 +1844 @tab Till Paala @tab @tab @@ -637,7 +637,7 @@ teilweise @item 1.4 Wiederholungszeichen @* -1050 +1181 @tab Till Paala @tab @tab @@ -654,7 +654,7 @@ ja @ifhtml @html -teilweise +teilweise @end html @end ifhtml @ifnothtml @@ -664,7 +664,7 @@ teilweise @item 1.5 Gleichzeitig erscheinende Noten @* -2821 +2810 @tab Till Paala @tab @tab @@ -681,7 +681,7 @@ ja @ifhtml @html -teilweise +teilweise @end html @end ifhtml @ifnothtml @@ -718,7 +718,7 @@ teilweise @item 1.7 Anmerkungen @* -954 +1491 @tab Till Paala @tab @tab @@ -735,7 +735,7 @@ ja @ifhtml @html -teilweise +teilweise @end html @end ifhtml @ifnothtml @@ -745,7 +745,7 @@ teilweise @item 1.8 Text @* -2816 +2820 @tab Till Paala @tab @tab @@ -799,7 +799,7 @@ ja @item 2.1 Notation von Gesang @* -5190 +4985 @tab Till Paala @tab @tab @@ -816,7 +816,7 @@ ja @ifhtml @html -teilweise +teilweise @end html @end ifhtml @ifnothtml @@ -853,7 +853,7 @@ teilweise @item 2.3 Bundlose Saiteninstrumente @* -281 +303 @tab Till Paala @tab @tab @@ -870,7 +870,7 @@ ja @ifhtml @html -teilweise +teilweise @end html @end ifhtml @ifnothtml @@ -880,7 +880,7 @@ teilweise @item 2.4 Saiteninstrumente mit Bünden @* -2662 +2707 @tab Till Paala @tab @tab @@ -897,7 +897,7 @@ ja @ifhtml @html -teilweise +teilweise @end html @end ifhtml @ifnothtml @@ -907,7 +907,7 @@ teilweise @item 2.5 Schlagzeug @* -811 +804 @tab Till Paala @tab @tab @@ -924,7 +924,7 @@ ja @ifhtml @html -teilweise +teilweise @end html @end ifhtml @ifnothtml @@ -951,17 +951,17 @@ ja @ifhtml @html -ja +teilweise @end html @end ifhtml @ifnothtml -ja +teilweise @end ifnothtml @tab vor-GDP @item 2.7 Notation von Akkorden @* -1972 +1916 @tab Till Paala @tab @tab @@ -978,7 +978,7 @@ ja @ifhtml @html -teilweise +teilweise @end html @end ifhtml @ifnothtml @@ -1015,7 +1015,7 @@ ja @item 2.9 Notation von alter Musik @* -5375 +5522 @tab Till Paala @tab @tab @@ -1032,7 +1032,7 @@ ja @ifhtml @html -teilweise +teilweise @end html @end ifhtml @ifnothtml @@ -1069,7 +1069,7 @@ ja @item 3 Allgemeine Eingabe und Ausgabe @* -10392 +10610 @tab Till Paala @tab @tab @@ -1086,7 +1086,7 @@ ja @ifhtml @html -teilweise +teilweise @end html @end ifhtml @ifnothtml @@ -1096,7 +1096,7 @@ teilweise @item 4 Abstände @* -12256 +10886 @tab Till Paala @tab @tab @@ -1113,7 +1113,7 @@ ja @ifhtml @html -teilweise +teilweise @end html @end ifhtml @ifnothtml @@ -1123,7 +1123,7 @@ teilweise @item 5 Standardeinstellungen verändern @* -15289 +15428 @tab Till Paala @tab @tab @@ -1140,7 +1140,7 @@ teilweise (85 %) @ifhtml @html -teilweise +teilweise @end html @end ifhtml @ifnothtml @@ -1150,7 +1150,7 @@ teilweise @item A Notationsübersicht @* -2176 +3134 @tab Till Paala @tab @tab @@ -1167,11 +1167,11 @@ ja @ifhtml @html -ja +teilweise @end html @end ifhtml @ifnothtml -ja +teilweise @end ifnothtml @tab vor-GDP @item @@ -1194,7 +1194,7 @@ ja @ifhtml @html -teilweise +teilweise @end html @end ifhtml @ifnothtml @@ -1233,11 +1233,11 @@ ja @ifhtml @html -ja +teilweise @end html @end ifhtml @ifnothtml -ja +teilweise @end ifnothtml @tab vor-GDP @item @@ -1270,7 +1270,7 @@ ja @item 1 @command{lilypond} starten @* -4537 +5080 @tab Reinhold Kainhofer @* Till Paala @@ -1279,17 +1279,17 @@ Till Paala @ifhtml @html -ja +teilweise (95 %) @end html @end ifhtml @ifnothtml -ja +teilweise (95 %) @end ifnothtml @tab @ifhtml @html -teilweise +teilweise @end html @end ifhtml @ifnothtml @@ -1299,7 +1299,7 @@ teilweise @item 2 Dateien mit @command{convert-ly} aktualisieren @* -1484 +1865 @tab Till Paala @tab @tab @@ -1316,7 +1316,7 @@ ja @ifhtml @html -teilweise +teilweise @end html @end ifhtml @ifnothtml @@ -1326,7 +1326,7 @@ teilweise @item 3 @command{lilypond-book} aufrufen @* -4137 +4217 @tab Reinhold Kainhofer @tab Till Paala @tab @@ -1343,7 +1343,7 @@ ja @ifhtml @html -teilweise +teilweise @end html @end ifhtml @ifnothtml @@ -1353,7 +1353,7 @@ teilweise @item 4 Externe Programme @* -2817 +2830 @tab Till Paala @* Reinhold Kainhofer @@ -1372,7 +1372,7 @@ teilweise (87 %) @ifhtml @html -teilweise +teilweise @end html @end ifhtml @ifnothtml @@ -1421,7 +1421,7 @@ LilyPond -- Notation für Jedermann @item Überschriften @* -616 +642 @tab Till Paala @tab @tab @@ -1438,11 +1438,11 @@ ja @ifhtml @html -ja +teilweise @end html @end ifhtml @ifnothtml -ja +teilweise @end ifnothtml @tab vor-GDP @item @@ -1475,7 +1475,7 @@ ja @item Einleitung @* -4937 +5707 @tab Till Paala @tab @tab @@ -1492,7 +1492,7 @@ ja @ifhtml @html -teilweise +teilweise @end html @end ifhtml @ifnothtml @@ -1502,7 +1502,7 @@ teilweise @item Download @* -1201 +1145 @tab Till Paala @tab @tab @@ -1519,7 +1519,7 @@ ja @ifhtml @html -teilweise +teilweise @end html @end ifhtml @ifnothtml @@ -1529,7 +1529,7 @@ teilweise @item Handbücher @* -1284 +1314 @tab Till Paala @tab @tab @@ -1546,7 +1546,7 @@ ja @ifhtml @html -teilweise +teilweise @end html @end ifhtml @ifnothtml @@ -1556,7 +1556,7 @@ teilweise @item Gemeinschaft @* -3073 +2991 @tab  Till Paala @tab @tab @@ -1573,7 +1573,7 @@ teilweise (97 %) @ifhtml @html -teilweise +teilweise @end html @end ifhtml @ifnothtml diff --git a/Documentation/de/usage.tely b/Documentation/de/usage.tely index 3bb9e68a01..fabfa7ca79 100644 --- a/Documentation/de/usage.tely +++ b/Documentation/de/usage.tely @@ -23,7 +23,7 @@ vorgestellt. @c `Usage' was born 1999-10-10 with git commit c82c30c... @macro copyrightDeclare -Copyright @copyright{} 1999--2014 bei den Autoren. +Copyright @copyright{} 1999--2015 bei den Autoren. @end macro @set FDL diff --git a/Documentation/de/usage/running.itely b/Documentation/de/usage/running.itely index a4a46406a2..32149adf02 100644 --- a/Documentation/de/usage/running.itely +++ b/Documentation/de/usage/running.itely @@ -154,6 +154,38 @@ Die folgenden Kommandozeilenoptionen werden von @command{lilypond} unterstützt: @table @code +@item -b, --bigpdfs +@cindex bigpdfs + +Mit dieser Option generierte PDF-Dateien sind deutlich größer als normal, +weil keine oder nur minimale Zeichensatz-Optimierung erfolgt. Werden +jedoch zwei oder mehr solcher PDF-Dateien in @w{@code{pdftex}-}, +@w{@code{xetex}-} oder @w{@code{luatex}}-Dokumente eingebunden und +anschließend mit ghostscript nachbearbeitet, entstehen deutlich +kleinere PDF-Dokumente, da ghostscript die Zeichensatzdaten auf +diesem Weg viel besser komprimieren kann. + +Nach + +@example +lilypond -b myfile +@end example + +@noindent +sollte @code{ghostscript} wie folgt ausgeführt werden. + +@example +gs -q -sDEVICE=pdfwrite -o gsout.pdf myfile.pdf +@end example + +Mit Hilfe von +@uref{https://code.google.com/p/pdfsizeopt/,@code{pdfsizeopt.py}} +kann die Ausgabedatei noch mehr verkleinert werden. + +@example +pdfsizeopt.py --use-multivalent=no gsout.pdf final.pdf +@end example + @item -d, --define-default=@var{Variable}=@var{Wert} Siehe @ref{Fortgeschrittene Optionen auf der Kommandozeile für LilyPond}. diff --git a/Documentation/de/web.texi b/Documentation/de/web.texi index b8fa61a886..d017512229 100644 --- a/Documentation/de/web.texi +++ b/Documentation/de/web.texi @@ -17,7 +17,7 @@ @c `Web' was imported 2009-08-05 with git commit b938d71... @c @macro copyrightDeclare -@c Copyright @copyright{} 2009--2014 by the authors. +@c Copyright @copyright{} 2009--2015 by the authors. @c @end macro @set FDL @@ -37,7 +37,7 @@ @end ignore @copying -Copyright @copyright{} 2009--2014 by the authors. +Copyright @copyright{} 2009--2015 by the authors. @c next line is necessary for broken pre-4.13 texinfo's @c install-info, so leave it there until we officially @@ -78,7 +78,7 @@ License''. @c TITLE PAGE @ifnottex @node Top -@top LilyPond... Notensatz für Jedermann +@top LilyPond... Notensatz für jedermann @translationof Top @end ifnottex @@ -110,7 +110,7 @@ Für LilyPond Version @version{} @divId{pageHeader} @heading LilyPond -... Notensatz für Jedermann +... Notensatz für jedermann @divEnd @c @imageId{cmws,web-clef-g-eight-alpha.png,Catchy Musical Web Snippet} @@ -120,9 +120,12 @@ Für LilyPond Version @version{} @divId{quickSummary} @subheading Was ist LilyPond? -LilyPond ist ein Notensatzprogramm, dass es sich zum Ziel gemacht hat, Notendruck von der bestmöglichen Qualität zu erstellen. Mit dem Programm wird es -möglich, die Ästhetik handgestochenen traditionellen Notensatzes mit computergesetzen Noten zu erreichen. LilyPond ist Freie Software -und Teil des @uref{http://gnu.org,GNU Projekts}. +LilyPond ist ein Notensatzprogramm, das es sich zum Ziel gemacht +hat, Notendruck in bestmöglicher Qualität zu erstellen. Mit dem +Programm wird es möglich, die Ästhetik handgestochenen +traditionellen Notensatzes mit computergesetzten Noten zu +erreichen. LilyPond ist Freie Software und Teil des +@uref{http://gnu.org,GNU-Projekts}. @divClass{align-right} Lesen Sie mehr in der @ref{Einleitung}! diff --git a/Documentation/es/essay.tely b/Documentation/es/essay.tely index 7a61fa2876..989be8cdc1 100644 --- a/Documentation/es/essay.tely +++ b/Documentation/es/essay.tely @@ -22,7 +22,7 @@ dentro de LilyPond version @version{}. @c `Essay' was born 2002-06-03 with git commit e38f5fc... @macro copyrightDeclare -Copyright @copyright{} 2002--2014 por los autores. +Copyright @copyright{} 2002--2015 por los autores. @end macro @set FDL diff --git a/Documentation/es/extending.tely b/Documentation/es/extending.tely index 6a53d656b0..81989c5495 100644 --- a/Documentation/es/extending.tely +++ b/Documentation/es/extending.tely @@ -22,7 +22,7 @@ LilyPond versión @version{}. @c `Extending' was born 2003-04-23 with git commit c08f6e8... @macro copyrightDeclare -Copyright @copyright{} 2003--2014 por los autores. +Copyright @copyright{} 2003--2015 por los autores. @end macro @set FDL diff --git a/Documentation/es/learning.tely b/Documentation/es/learning.tely index 5f63dc4e46..c672700ac0 100644 --- a/Documentation/es/learning.tely +++ b/Documentation/es/learning.tely @@ -20,7 +20,7 @@ Este archivo ofrece una introducción al programa LilyPond versión @c `Learning Manual' was born 1999-10-10 with git commit b9abaac... @macro copyrightDeclare -Copyright @copyright{} 1999--2014 por los autores. +Copyright @copyright{} 1999--2015 por los autores. @end macro @set FDL diff --git a/Documentation/es/notation.tely b/Documentation/es/notation.tely index e70bbd7eac..b187a81e0f 100644 --- a/Documentation/es/notation.tely +++ b/Documentation/es/notation.tely @@ -22,7 +22,7 @@ lector está familiarizado con el material que hay en @c `Notation Reference' was born 1999-10-11 with git commit 940dda0... @macro copyrightDeclare -Copyright @copyright{} 1999--2014 por los autores. +Copyright @copyright{} 1999--2015 por los autores. @end macro diff --git a/Documentation/es/notation/cheatsheet.itely b/Documentation/es/notation/cheatsheet.itely index 9ba8fcaf2c..1090b2e5f8 100644 --- a/Documentation/es/notation/cheatsheet.itely +++ b/Documentation/es/notation/cheatsheet.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.11" +@c \version "2.19.16" @c TODO: add tablature. @@ -128,7 +128,7 @@ c c, @tab @lilypond[relative=2] \set Score.timing = ##f -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \set Staff.autoBeaming = ##f c( d e) @end lilypond @@ -139,7 +139,7 @@ c( d e) @tab @lilypond[relative=2] \set Score.timing = ##f -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \set Staff.autoBeaming = ##f c\( c( d) e\) @end lilypond @@ -150,7 +150,7 @@ c\( c( d) e\) @tab @lilypond[relative=2] \set Score.timing = ##f -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \set Staff.autoBeaming = ##f a8-[ b-] @end lilypond @@ -161,11 +161,11 @@ a8-[ b-] @tab @lilypond[relative=1] << \new Staff { - \set Staff.implicitTimeSignatureVisibility = #all-invisible + \set Staff.initialTimeSignatureVisibility = #all-invisible c1 } \new Staff { - \set Staff.implicitTimeSignatureVisibility = #all-invisible + \set Staff.initialTimeSignatureVisibility = #all-invisible c1 } >> @end lilypond @@ -175,7 +175,7 @@ a8-[ b-] @tab articulaciones @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible c-> c-. @end lilypond @@ -184,7 +184,7 @@ c-> c-. @tab matices dinámicos @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible c2\mf c\sfz @end lilypond @@ -194,7 +194,7 @@ c2\mf c\sfz @tab @lilypond[relative=2] \set Score.timing = ##f -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \set Staff.autoBeaming = ##f a\< a a\! @end lilypond @@ -204,7 +204,7 @@ a\< a a\! @tab @lilypond[relative=2] \set Score.timing = ##f -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \set Staff.autoBeaming = ##f a\> a a\! @end lilypond @@ -214,7 +214,7 @@ a\> a a\! @tab acorde @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible @end lilypond @@ -232,7 +232,7 @@ f8 c2 d e @tab tresillos @tab @lilypond[relative=1] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \tuplet 3/2 { f8 g a } @end lilypond @@ -241,7 +241,7 @@ f8 c2 d e @tab mordentes @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \context Voice { \grace b16 c4 } @end lilypond @@ -262,7 +262,7 @@ twinkle @tab separador de sílabas @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible << { g'1 g } \new Lyrics \lyricsto "" { twin -- kle } @@ -273,7 +273,7 @@ twinkle @tab acordes @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \chordmode { c:dim f:maj7 } @end lilypond @@ -288,7 +288,7 @@ twinkle @tab polifonía @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \context Staff <<{e f} \\ {c d}>> @end lilypond diff --git a/Documentation/es/notation/editorial.itely b/Documentation/es/notation/editorial.itely index 2c7865a122..86a8bf4b2d 100644 --- a/Documentation/es/notation/editorial.itely +++ b/Documentation/es/notation/editorial.itely @@ -121,7 +121,7 @@ Los cambios en el tamaño de la fuente se obtienen por medio del escalado del tamaño del diseño que se encuentra más cerca del tamaño deseado. El tamaño estándar para la tipografía (para @code{font-size = #0}), depende de la altura estándar del pentagrama. Para un -pentagrama de 20 puntos, se selecciona una fuente de 10 puntos. +pentagrama de 20 puntos, se selecciona una fuente de 11 puntos. La propiedad @code{font-size} sólo se puede establecer en objetos gráficos que utilicen fuentes tipográficas. Éstos son los que diff --git a/Documentation/es/notation/input.itely b/Documentation/es/notation/input.itely index 1a8d64e760..78de48cc91 100644 --- a/Documentation/es/notation/input.itely +++ b/Documentation/es/notation/input.itely @@ -2543,7 +2543,7 @@ partitura: } \addlyrics { O \markup { \concat { Ph \char ##x0153 be! } } } } -\markup { "Copyright 2008--2014" \char ##x00A9 } +\markup { "Copyright 2008--2015" \char ##x00A9 } @end lilypond @cindex copyright, símbolo de diff --git a/Documentation/es/notation/wind.itely b/Documentation/es/notation/wind.itely index 9aaa571ae1..8b1da80892 100644 --- a/Documentation/es/notation/wind.itely +++ b/Documentation/es/notation/wind.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.16.0" +@c \version "2.19.16" @node Instrumentos de viento @section Instrumentos de viento @@ -179,8 +179,8 @@ quiere mostrar la armadura, puede usar @code{\showKeySignature} en su lugar. Alguna música moderna utiliza digitaciones cruzadas sobre el Do y el Fa para bemolizar estas notas. -Se puede indicar esto mediante @code{cflat} o @code{fflat}. De forma parecida, el -sol agudo piobaireachd se puede escribir @code{gflat} cuando aparece en música +Se puede indicar esto mediante @code{c-flat} o @code{f-flat}. De forma parecida, el +sol agudo piobaireachd se puede escribir @code{g-flat} cuando aparece en música ligera. @seealso diff --git a/Documentation/es/translations.itexi b/Documentation/es/translations.itexi index b95f74d1b8..eed98916f6 100644 --- a/Documentation/es/translations.itexi +++ b/Documentation/es/translations.itexi @@ -16,7 +16,7 @@ td { border: 1px solid black; text-align: center; } @end html @end ifhtml -@emph{Actualizado en Wed Dec 18 12:23:14 UTC 2013 +@emph{Actualizado en Tue Dec 30 15:39:08 UTC 2014 } @multitable @columnfractions 0.166666666667 0.166666666667 0.166666666667 0.166666666667 0.166666666667 0.166666666667 @@ -30,7 +30,7 @@ Registro de cambios de LilyPond @item Títulos de sección @* -1453 +1540 @tab Francisco Vila @tab @tab @@ -47,11 +47,11 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item @@ -113,11 +113,11 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item @@ -150,7 +150,7 @@ sí @item 1 Grabado musical @* -5296 +5315 @tab Francisco Vila @tab @tab @@ -177,7 +177,7 @@ sí @item 2 Lista de referencias bibliográficas @* -326 +382 @tab Francisco Vila @tab @tab @@ -194,11 +194,11 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @end multitable @@ -233,11 +233,11 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item @@ -270,7 +270,7 @@ sí @item A Tutorial de Scheme @* -6271 +6335 @tab Francisco Vila @tab @tab @@ -287,17 +287,17 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item 1 Interfaces para programadores @* -5925 +5756 @tab Francisco Vila @tab @tab @@ -314,11 +314,11 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @end multitable @@ -353,11 +353,11 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item @@ -417,7 +417,7 @@ sí @item 2 Notación corriente @* -4396 +4417 @tab Francisco Vila @tab @tab @@ -434,17 +434,17 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item 3 Conceptos fundamentales @* -11144 +11193 @tab Francisco Vila @tab @tab @@ -461,65 +461,65 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item 4 Trucar la salida @* -16191 +16570 @tab Francisco Vila @tab @tab @ifhtml @html -sí +parcialmente (98 %) @end html @end ifhtml @ifnothtml -sí +parcialmente (98 %) @end ifnothtml @tab @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item A Plantillas @* -372 +803 @tab Francisco Vila @tab @tab @ifhtml @html -sí +parcialmente (99 %) @end html @end ifhtml @ifnothtml -sí +parcialmente (99 %) @end ifnothtml @tab @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @end multitable @@ -554,11 +554,11 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item @@ -618,7 +618,7 @@ sí @item 1.1 Alturas @* -4990 +5202 @tab Francisco Vila @tab @tab @@ -635,17 +635,17 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item 1.2 Duraciones @* -6890 +6916 @tab Francisco Vila @tab @tab @@ -662,17 +662,17 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item 1.3 Expresiones @* -1793 +1844 @tab Francisco Vila @tab @tab @@ -699,7 +699,7 @@ sí @item 1.4 Repeticiones @* -1050 +1181 @tab Francisco Vila @tab @tab @@ -716,17 +716,17 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item 1.5 Notas simultáneas @* -2821 +2810 @tab Francisco Vila @tab @tab @@ -743,11 +743,11 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab post-GDP @item @@ -780,7 +780,7 @@ sí @item 1.7 Anotaciones editoriales @* -954 +1491 @tab Francisco Vila @tab @tab @@ -797,17 +797,17 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item 1.8 Texto @* -2816 +2820 @tab Francisco Vila @tab @tab @@ -861,7 +861,7 @@ sí @item 2.1 Música vocal @* -5190 +4985 @tab Francisco Vila @tab @tab @@ -878,11 +878,11 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item @@ -915,7 +915,7 @@ sí @item 2.3 Instrumentos de cuerda sin trastes @* -281 +303 @tab Francisco Vila @tab @tab @@ -932,17 +932,17 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item 2.4 Instrumentos de cuerda con trastes @* -2662 +2707 @tab Francisco Vila @tab @tab @@ -959,17 +959,17 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item 2.5 Percusión @* -811 +804 @tab Francisco Vila @tab @tab @@ -986,11 +986,11 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item @@ -1013,17 +1013,17 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item 2.7 Notación de acordes @* -1972 +1916 @tab Francisco Vila @tab @tab @@ -1040,11 +1040,11 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item @@ -1077,7 +1077,7 @@ sí @item 2.9 Notación antigua @* -5375 +5522 @tab Francisco Vila @tab @tab @@ -1094,11 +1094,11 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item @@ -1131,7 +1131,7 @@ sí @item 3 Entrada y salida generales @* -10392 +10610 @tab Francisco Vila @tab @tab @@ -1148,17 +1148,17 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item 4 Problemas de espaciado @* -12256 +10886 @tab Francisco Vila @tab @tab @@ -1175,44 +1175,44 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item 5 Cambiar los valores por omisión @* -15289 +15428 @tab Francisco Vila @tab @tab @ifhtml @html -sí +parcialmente (99 %) @end html @end ifhtml @ifnothtml -sí +parcialmente (99 %) @end ifnothtml @tab @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item A Tablas del manual sobre notación @* -2176 +3134 @tab Francisco Vila @tab @tab @@ -1229,11 +1229,11 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item @@ -1256,11 +1256,11 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @end multitable @@ -1295,11 +1295,11 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item @@ -1332,34 +1332,34 @@ sí @item 1 Ejecutar LilyPond @* -4537 +5080 @tab Francisco Vila @tab @tab @ifhtml @html -sí +parcialmente (95 %) @end html @end ifhtml @ifnothtml -sí +parcialmente (95 %) @end ifnothtml @tab @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item 2 Actualizar ficheros con @command{convert-ly} @* -1484 +1865 @tab Francisco Vila @tab @tab @@ -1376,17 +1376,17 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item 3 Ejecución de @command{lilypond-book} @* -4137 +4217 @tab Francisco Vila @tab @tab @@ -1403,17 +1403,17 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item 4 Programas externos @* -2817 +2830 @tab Francisco Vila @tab @tab @@ -1430,11 +1430,11 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item @@ -1479,7 +1479,7 @@ LilyPond: notación musical para todos @item Títulos de sección @* -616 +642 @tab Francisco Vila @tab @tab @@ -1496,11 +1496,11 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item @@ -1533,7 +1533,7 @@ sí @item Introducción @* -4937 +5707 @tab Francisco Vila @tab @tab @@ -1550,17 +1550,17 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item Descarga @* -1201 +1145 @tab Francisco Vila @tab @tab @@ -1577,17 +1577,17 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @item Manuales @* -1284 +1314 @tab Francisco Vila @tab @tab @@ -1614,7 +1614,7 @@ sí @item Comunidad @* -3073 +2991 @tab Francisco Vila @tab @tab @@ -1631,11 +1631,11 @@ sí @ifhtml @html -sí +parcialmente @end html @end ifhtml @ifnothtml -sí +parcialmente @end ifnothtml @tab pre-GDP @end multitable diff --git a/Documentation/es/usage.tely b/Documentation/es/usage.tely index fc7af74960..e1fd23af0d 100644 --- a/Documentation/es/usage.tely +++ b/Documentation/es/usage.tely @@ -23,7 +23,7 @@ prácticas} para una utilización eficiente. @c `Usage' was born 1999-10-10 with git commit c82c30c... @macro copyrightDeclare -Copyright @copyright{} 1999--2014 por los autores. +Copyright @copyright{} 1999--2015 por los autores. @end macro @set FDL diff --git a/Documentation/es/web.texi b/Documentation/es/web.texi index 043631e799..ee974b53a3 100644 --- a/Documentation/es/web.texi +++ b/Documentation/es/web.texi @@ -15,7 +15,7 @@ @c `Web' was imported 2009-08-05 with git commit b938d71... @c @macro copyrightDeclare -@c Copyright @copyright{} 2009--2014 by the authors. +@c Copyright @copyright{} 2009--2015 by the authors. @c @end macro @set FDL @@ -35,7 +35,7 @@ @c Translators: Francisco Vila @copying -Copyright @copyright{} 2009--2014 por los autores. +Copyright @copyright{} 2009--2015 por los autores. @c next line is necessary for broken pre-4.13 texinfo's @c install-info, so leave it there until we officially diff --git a/Documentation/es/web/manuals.itexi b/Documentation/es/web/manuals.itexi index e4648d8266..cd92b96e10 100644 --- a/Documentation/es/web/manuals.itexi +++ b/Documentation/es/web/manuals.itexi @@ -623,5 +623,3 @@ nuestros motivos para haberla elegido, en @ref{Libertad}. @include fdl.itexi @divEnd - - diff --git a/Documentation/essay.tely b/Documentation/essay.tely index c379ace601..323e963521 100644 --- a/Documentation/essay.tely +++ b/Documentation/essay.tely @@ -25,7 +25,7 @@ LilyPond version @version{}. @c file: Documentation/user/introduction.itely @macro copyrightDeclare -Copyright @copyright{} 2002--2014 by the authors. +Copyright @copyright{} 2002--2015 by the authors. @end macro @set FDL diff --git a/Documentation/essay/engravingbib.bib b/Documentation/essay/engravingbib.bib index ecbddcbe35..227c46dd96 100644 --- a/Documentation/essay/engravingbib.bib +++ b/Documentation/essay/engravingbib.bib @@ -6,6 +6,29 @@ % AUTHOr =Han-Wen Nienhuys % +@Book{gould_de11, + author = {Elaine Gould}, + title = {Hals über Kopf}, + publisher = {Edition Peters}, + year = {2014}, + isbn = {ISBN 1843670488}, + note = {Ein vollständiges Regelwerk für den Modernen Notensatz auf + höchstem Niveau, ein Meilenstein der Notationskunde und ein Leitfaden + für jeden Musiker, der sich auf diesem Gebiet umfassende Kenntnisse + aneignen möchte.}, +} + +@Book{gould11, + author = {Elaine Gould}, + title = {Behind Bars}, + publisher = {Faber Music Ltd.}, + year = {2011}, + isbn = {ISBN 0-571-51456-1}, + note = {A comprehensive guide to the rules and conventions of music + notation. Covering everything from basic themes to complex techniques + and providing a comprehensive grounding in notational principles.}, +} + @Book{banter87, author = {Harald Banter}, title = {Akkord Lexikon}, diff --git a/Documentation/essay/literature.itely b/Documentation/essay/literature.itely index 4f431b6c53..b0f3d85cdf 100644 --- a/Documentation/essay/literature.itely +++ b/Documentation/essay/literature.itely @@ -23,12 +23,9 @@ Here are lists of references used in LilyPond. @node Short literature list @section Short literature list - If you need to know more about music notation, here are some interesting titles to read. - - @table @cite @item Ignatzek 1995 Klaus Ignatzek, Die Jazzmethode für Klavier. Schott's Söhne @@ -38,13 +35,23 @@ A tutorial introduction to playing Jazz on the piano. One of the first chapters contains an overview of chords in common use for Jazz music. @item Gerou 1996 - Tom Gerou and Linda Lusk, Essential Dictionary of Music Notation. Alfred Publishing, Van Nuys CA ISBN 0-88284-768-6. A concise, alphabetically ordered list of typesetting and music (notation) issues, covering most of the normal cases. +@item Gould 2011 +Elaine Gould, Behind Bars: the Definitive Guide to Music Notation. +Faber Music Ltd. ISBN 0-571-51456-1. + +Hals über Kopf: Das Handbuch des Notensatzes. +Edition Peters. ISBN 1843670488. + +A comprehensive guide to the rules and conventions of music notation. +Covering everything from basic themes to complex techniques and +providing a comprehensive grounding in notational principles. + @item Read 1968 Gardner Read, Music Notation: A Manual of Modern Practice. Taplinger Publishing, New York (2nd edition). diff --git a/Documentation/extending.tely b/Documentation/extending.tely index d75e8c1290..febd4d432f 100644 --- a/Documentation/extending.tely +++ b/Documentation/extending.tely @@ -25,7 +25,7 @@ LilyPond version @version{}. @c file: Documentation/user/programming-interface.itely @macro copyrightDeclare -Copyright @copyright{} 2004--2014 by the authors. +Copyright @copyright{} 2004--2015 by the authors. @end macro @set FDL diff --git a/Documentation/fr/essay.tely b/Documentation/fr/essay.tely index 221cbe7c4d..0afa1357ee 100644 --- a/Documentation/fr/essay.tely +++ b/Documentation/fr/essay.tely @@ -1,6 +1,6 @@ \input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: 9bbdeb11a423017702c73e321643fa420614ce83 + Translation of GIT committish: c054eb280fd9953596eb164f67b0f9d5555c5a32 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -28,7 +28,7 @@ par ordinateur à l'aide de LilyPond version @version{}. @c file: Documentation/user/introduction.itely @macro copyrightDeclare -Copyright @copyright{} 2002--2014 par les auteurs. +Copyright @copyright{} 2002--2015 par les auteurs. @end macro @set FDL diff --git a/Documentation/fr/essay/literature.itely b/Documentation/fr/essay/literature.itely index 7e15d0fb16..226120d936 100644 --- a/Documentation/fr/essay/literature.itely +++ b/Documentation/fr/essay/literature.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: f37e505be4a6005fb28c373f2057a4d27aa08b38 + Translation of GIT committish: 30e2aa8813df8903dc553ae80c82b8461ffbb381 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -53,6 +53,18 @@ notation musicale couramment utilisés, qui couvre la plupart des cas usuels. +@item Gould 2011 +Elaine Gould, Behind Bars: the Definitive Guide to Music Notation. +Faber Music Ltd. ISBN 0-571-51456-1. + +Hals über Kopf: Das Handbuch des Notensatzes. +Edition Peters. ISBN 1843670488. + +Un guide abordant l'ensemble des règles et conventions en matière de +notation musicale. Cet ouvrage couvre aussi bien les notions +élémentaires que les techniques les plus complexes, fournissant ainsi +les bases indispensables aux principes de la notation. + @item Read 1968 Gardner Read, Music Notation: A Manual of Modern Practice. Taplinger Publishing, New York (2nd edition). @@ -75,11 +87,11 @@ historiques. The G.Schirmer/AMP Manual of Style and Usage. G.Schirmer/AMP, NY, 2001. (Ce livre peut être commandé depuis le service de location.) -Ce manuel se concentre spécifiquement sur la préparation d'épreuves -pour les publications de Schirmer. Il traite de plusieurs -détails qu'on ne trouve pas dans les livres plus conventionnels. Il -donne également une bonne idée de la qualité requise pour des tirages -destinés à la publication. +Ce manuel se concentre spécifiquement sur la préparation d'épreuves pour +les publications de Schirmer. Il traite de plusieurs détails qu'on ne +trouve pas dans les livres plus conventionnels. Il donne également une +bonne idée de la qualité requise pour des tirages destinés à la +publication. @item Stone 1980 diff --git a/Documentation/fr/extending.tely b/Documentation/fr/extending.tely index 50e4233188..a6638c61cf 100644 --- a/Documentation/fr/extending.tely +++ b/Documentation/fr/extending.tely @@ -1,6 +1,6 @@ \input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: 9bbdeb11a423017702c73e321643fa420614ce83 + Translation of GIT committish: 666c7c882d0b2868ed9d359c124777463aa0c35b When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -27,7 +27,7 @@ fonctionnalités de LilyPond@tie{}version @version{}. @c file: Documentation/user/programming-interface.itely @macro copyrightDeclare -Copyright @copyright{} 2004--2014 by par les auteurs. +Copyright @copyright{} 2004--2015 by par les auteurs. @end macro @set FDL diff --git a/Documentation/fr/learning.tely b/Documentation/fr/learning.tely index bdbf745145..9dab4da31c 100644 --- a/Documentation/fr/learning.tely +++ b/Documentation/fr/learning.tely @@ -1,6 +1,6 @@ \input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: 9bbdeb11a423017702c73e321643fa420614ce83 + Translation of GIT committish: c8296cf3183f30e17e4d5f0501cf1462b71ec546 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -25,7 +25,7 @@ Ce document constitue le manuel d'initiation à GNU LilyPond @c file: Documentation/tex/tutorial.yo @macro copyrightDeclare -Copyright @copyright{} 1998--2014 par les auteurs. +Copyright @copyright{} 1998--2015 par les auteurs. @end macro @set FDL diff --git a/Documentation/fr/learning/common-notation.itely b/Documentation/fr/learning/common-notation.itely index ab9ea64ca1..5bb01ce6d9 100644 --- a/Documentation/fr/learning/common-notation.itely +++ b/Documentation/fr/learning/common-notation.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: 793b6a5963a279100616dec6d6613dd10541ac39 + Translation of GIT committish: 4467a72a98fb582466ee4d5944ec8454b4b77fc6 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -56,7 +56,7 @@ Cette section présente la notation courante dont on a besoin pour @menu * Barre et contrôle de mesure:: -* Altérations et armure:: +* Hauteurs et armure:: * Liaisons:: * Articulations et nuances:: * Ajout de texte:: @@ -114,9 +114,9 @@ Manuel de notation : @ruser{Vérification des limites et numéros de mesure}. -@node Altérations et armure -@subsection Altérations et armure -@translationof Accidentals and key signatures +@node Hauteurs et armure +@subsection Hauteurs et armure +@translationof Pitches and key signatures @menu * Altérations:: @@ -124,13 +124,13 @@ Manuel de notation : * Attention aux armures et aux hauteurs:: @end menu -@warning{Si, comme nombre de nouveaux utilisateurs, ce qui suit vous -paraît déroutant, lisez cette partie jusqu'au bout, à plus forte raison -si vous n'avez jamais fait de solfège !} +@warning{Si, comme nombre de nouveaux utilisateurs, vous avez du mal à +appréhender la notion de tonalité et d'armures dans LilyPond, consultez +la note à la fin de cette page.} @node Altérations @unnumberedsubsubsec Altérations -@translationof Accidentals +@translationof Pitch alterations @cindex altérations @cindex dièse @@ -139,6 +139,8 @@ si vous n'avez jamais fait de solfège !} @cindex bémol @cindex double bémol @cindex bémol, double +@cindex bécarre +@cindex naturel @funindex es @funindex is @@ -150,6 +152,10 @@ Glossaire musicologique : @rglosnamed{double sharp,double dièse}, @rglosnamed{double flat,double bémol}, @rglosnamed{accidental,altération}. +LilyPond identifie le nom d'une note par sa hauteur. Par exemple, un +@code{c} signifiera toujours @notation{do naturel}, quelle que soit la +tonalité ou l'armure. + Dans la notation par défaut, on obtient un @notation{dièse} en ajoutant @code{is} au nom de la note, et un @notation{bémol} en ajoutant @code{es}. Comme vous pouvez vous y attendre, un double @@ -197,11 +203,11 @@ Glossaire musicologique : L'armure est déterminée par la commande @code{\key}, suivie d'une hauteur puis de @code{\major} (majeur) ou @code{\minor} (mineur). -@lilypond[verbatim,quote,relative=2] +@lilypond[verbatim,quote,relative=1] \key d \major -a1 -\key c \minor -a +d4 fis a c | +\bar "||" \key c \minor +c,4 ees g b | @end lilypond @smallspace @@ -217,25 +223,17 @@ Glossaire musicologique : @rglosnamed{natural,bécarre}, @rglosnamed{sharp,dièse}, @rglos{transposition}, @rglosnamed{Pitch names,Noms de note}. -La combinaison de l'@notation{armure} et des hauteurs de note -- y -compris les altérations -- permet à LilyPond de déterminer dans quel -cas imprimer des @notation{altérations accidentelles}. L'armure -n'affecte que les altérations @emph{imprimées}, et non les hauteurs -réelles ! Cette fonctionnalité est souvent source de confusion pour -les nouveaux utilisateurs, aussi expliquons-la en détail. - -LilyPond fait une distinction nette entre le contenu musical et la -mise en forme. L'altération d'une note -- @notation{bémol}, -@notation{bécarre} ou @notation{dièse} -- fait partie de sa hauteur, -et relève donc du contenu musical. La gravure ou non d'une altération -accidentelle -- un @emph{signe} bémol, bécarre ou dièse -- devant la -note correspondante est une question qui relève de la mise en forme. -La gravure d'une partition suit des règles, en particulier des règles -d'indication des altérations accidentelles. Les hauteurs de note, en -revanche, relèvent de ce que vous voulez entendre ; et, dans la -mesure où la musique que vous entrez est censée être celle que vous -voulez entendre, LilyPond, qui n'est chargé que de la gravure, ne les -choisira pas à votre place. +LilyPond fait une distinction nette entre le contenu musical et sa +représentation sur papier. Un code tel que @code{d4 e fis2} définit la +hauteur et la durée de notes ; il s'agit du contenu. L'armure, les +altérations « à la clef », fait partie de la représentation imprimée. +L'armure définit aussi des règles en matière de représentation des notes +imprimées. LilyPond comparera chaque hauteur saisie avec l'armure pour +déterminer s'il est besoin d'imprimer une altération accidentelle. + +La commande @code{\key} détermine l'armure, ce qui affectera la +représentation imprimée, et ne modifiera @b{en aucun cas} la hauteur +assignée à une note telle qu'un @code{c} que vous aurez saisi. Dans cet exemple, @@ -312,10 +310,26 @@ Pour créer une liaison de prolongation -- parfois aussi appelée liaison de tenue --, on ajoute un tilde @code{~} à la première note liée. +@lilypond[verbatim,quote,relative=2] +g4~ g c2~ | c4~ c8 a~ a2 | +@end lilypond + +@cindex isolée, durée +@cindex durée isolée + +Lorsque la hauteur ne change pas, ce qui est toujours le cas pour des +liaisons de tenue, les hauteurs suivantes peuvent être omises auquel cas +seules les durées successives seront mentionnées : + @lilypond[verbatim,quote,relative=2] g4~ 4 c2~ | 4 ~ 8 a8 ~ 2 | @end lilypond +Ce raccourci se révèle fort utile lors d'une succession de rythmes +appliqués à une même hauteur. Notez bien que stipuler une durée isolée +l'attache à la dernière hauteur mentionnée -- une espace entre la +hauteur et la durée aura pour effet de produire deux notes. + @node Liaisons d'articulation @unnumberedsubsubsec Liaisons d'articulation diff --git a/Documentation/fr/learning/fundamental.itely b/Documentation/fr/learning/fundamental.itely index ce363e7fd5..e053ea5ce2 100644 --- a/Documentation/fr/learning/fundamental.itely +++ b/Documentation/fr/learning/fundamental.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: b58a17a6b0b6f624cee7858a74092265e0791fe2 + Translation of GIT committish: c8296cf3183f30e17e4d5f0501cf1462b71ec546 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -1200,8 +1200,8 @@ aux hampes vers le haut, et une note ou un accord dans une voix aux hampes vers le bas. Dans le cas où des notes, issues de deux voix ayant toutes deux des hampes dans la même direction, se retrouvent au même moment et qu'aucun décalage n'a été spécifié ou qu'ils sont -identiques, LilyPond vous le signalera par le message @qq{Trop -d'empilements en conflit}. +identiques, LilyPond vous le signalera par le message « Cette voix +requiert un @code{@bs{}voiceXx} ou un réglage @code{@bs{}shiftXx}  ». @seealso Manuel d'initiation : diff --git a/Documentation/fr/learning/tweaks.itely b/Documentation/fr/learning/tweaks.itely index 7ad1a2c2c8..8682bff426 100644 --- a/Documentation/fr/learning/tweaks.itely +++ b/Documentation/fr/learning/tweaks.itely @@ -1,14 +1,14 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: 793b6a5963a279100616dec6d6613dd10541ac39 + Translation of GIT committish: c8296cf3183f30e17e4d5f0501cf1462b71ec546 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.19.2" +@c \version "2.19.16" @c Translators: Valentin Villenave, Nicolas Klutchnikoff, Damien Heurtebise @c Translation checkers: Jean-Charles Malahieude, John Mandereau @@ -49,7 +49,7 @@ théoriquement de modifier chaque élément de votre partition. @subsection Introduction aux retouches @translationof Introduction to tweaks -LilyPond regroupe sous le terme de @qq{retouches} (@emph{tweaks} en +LilyPond regroupe sous le terme de « retouches » (@emph{tweaks} en anglais) les différents moyens dont dispose l'utilisateur pour intervenir sur l'interprétation du fichier d'entrée et pour modifier l'apparence du fichier de sortie. Certaines retouches sont très @@ -90,7 +90,7 @@ et les structures du programme LilyPond. Nous allons donc, pour commencer, présenter certains termes qui servent à décrire ces opérations internes et ces structures. -Le terme @qq{Objet} est un terme générique qui fait référence à +Le terme « Objet » est un terme générique qui fait référence à une multitude de structures internes mises en place par LilyPond durant la compilation d'un fichier d'entrée. Ainsi, quand une commande du type @code{\new Staff} apparaît, un nouvel objet du type @@ -107,12 +107,12 @@ les liaisons, les nuances, etc. Chaque objet dispose de son propre Certains types d'objet portent des noms spécifiques. Les objets qui se rapportent à des éléments de notation sur le fichier de sortie, comme les notes, les hampes, les liaisons de phrasé ou de prolongation, les -doigtés, les clefs, etc. sont appelés @qq{Objets de rendu} ; ils sont -aussi connus sous le nom d'@qq{Objets graphiques} (en anglais : +doigtés, les clefs, etc. sont appelés « Objets de rendu » ; ils sont +aussi connus sous le nom « d'Objets graphiques » (en anglais : @emph{Graphical objects} ou @emph{Grobs} pour faire court). Ce sont bien des objets au sens générique ci-dessus et, en tant que tels, ils reçoivent des propriétés qui leur sont associées, comme leur position, -leur taille, leur couleur etc. +leur taille, leur couleur, etc. Certains objets de rendu, comme les liaisons de phrasé, les soufflets de crescendo, les marques d'octaviation et beaucoup d'autres @@ -122,6 +122,14 @@ unique endroit -- ils ont un point de départ, un point d'arrivée, et avec une forme étendue sont appelés des bandeaux (@emph{Spanners} en anglais). +De plus existent certains @emph{grobs} que l'on peut qualifier +« d'astraits ». Ils n'ont pas pour fonction intrinsèque d'imprimer +quelque chose, mais plutôt de collecter, positionner et gérer d'autres +objets. Citons, parmi les plus courants, @code{DynamicLineSpanner}, +@code{BreakAlignment}, @code{NoteColumn}, @code{VerticalAxisGroup}, +@code{NonMusicalPaperColumn}. Nous verrons plus avant comment les +utiliser. + Il reste à expliquer ce que sont les @qq{interfaces}. De nombreux objets, qui peuvent être très différents les uns des autres, ont pour point commun de devoir être compilés simultanément. Par exemple, tous @@ -148,14 +156,14 @@ que nous serons amenés à utiliser dans ce chapitre. @cindex objets, conventions de nommage @cindex propriétés, conventions de nommage -Nous avons eu un aperçu, dans @ref{Contextes et graveurs}, de -la façon de nommer les objets. Voici maintenant une liste de -référence des types d'objets et de propriétés les plus courants, -avec leurs conventions de nommage et quelques exemples -de cas concrets. La lettre @var{A} représente n'importe quel -caractère alphabétique majuscule, et les lettres @var{aaa} -un nombre indéterminé de caractères alphabétiques minuscules. -Les autres caractères sont à prendre tels qu'ils se présentent. +Nous avons eu un aperçu, dans @ref{Contextes et graveurs}, de la façon +de nommer les objets. Voici maintenant une liste de référence des types +d'objets et de propriétés les plus courants, avec leurs conventions de +nommage et quelques exemples de cas concrets. La lettre @var{A} +représente n'importe quel caractère alphabétique majuscule, et les +lettres @var{aaa} un nombre indéterminé de caractères alphabétiques +minuscules. Les autres caractères sont à prendre tels qu'ils se +présentent. @multitable @columnfractions .33 .33 .33 @headitem Type d'objet/propriété @@ -181,10 +189,10 @@ Les autres caractères sont à prendre tels qu'ils se présentent. @tab direction, beam-thickness @end multitable -Comme nous le verrons bientôt, les propriétés des différents -types d'objet sont modifiées par des commandes différentes, si bien -qu'il est bon de savoir reconnaître le type d'un objet ou d'une -propriété en fonction de son nom. +Comme nous le verrons bientôt, les propriétés des différents types +d'objet sont modifiées par des commandes différentes, si bien qu'il est +bon de savoir reconnaître le type d'un objet ou d'une propriété en +fonction de son nom. @node Méthodes de retouche @@ -200,6 +208,7 @@ propriété en fonction de son nom. * Le préfixe once:: * La commande overrideProperty:: * La commande tweak:: +* Le préfixe single:: @end menu @@ -239,12 +248,12 @@ Elle attribue à la propriété appelée @var{propriété-rendu}, associée à l'objet @var{ObjetDeRendu}, appartenant lui-même au contexte @var{Contexte}, une valeur @var{valeur}. -Le contexte @var{Contexte} peut être omis (c'est généralement -le cas) quand il n'y a pas d'ambiguïté et qu'il s'agit d'un contexte -de très bas niveau, comme @code{Voice}, @code{ChordNames} ou -@code{Lyrics}. Dans les exemples qui suivent, le contexte sera très -souvent omis. Nous verrons plus tard dans quelles circonstances il doit -impérativement être indiqué. +Le contexte @var{Contexte} peut être omis (c'est généralement le cas) +quand il n'y a pas d'ambiguïté et qu'il s'agit d'un contexte de très bas +niveau, comme @code{Voice}, @code{ChordNames} ou @code{Lyrics}. Dans les +exemples qui suivent, le contexte sera très souvent omis. Nous verrons +plus tard dans quelles circonstances il doit impérativement être +indiqué. Les sections ci-dessous traitent largement des propriétés et de leurs valeurs -- voir @ref{Types de propriétés} -- mais, pour illustrer la @@ -252,22 +261,20 @@ mise en forme et l'utilisation de ces commandes, nous nous limiterons à n'employer que quelques propriétés et valeurs simples, facilement compréhensibles. -Lilypond reconnaît comme expression primaire les éléments musicaux -tels que les notes, durées et annotations (les @emph{markups}). -D'autres expressions de base comme les nombres, chaînes de -caractères et listes sont gérées en « mode Scheme », mode appelé -en faisant précéder une valeur par un @samp{#}. Bien que -certaines valeurs puissent disposer d'une représentation tout à -fait valide dans le mode musical de LilyPond, les exemples de ce -manuel mentionnent un@samp{#} pour plus de clarté. Pour de plus -amples informations quant au mode Scheme, consultez -@rextend{Syntaxe Scheme dans LilyPond}. - -La commande @code{\override} est la plus fréquemment utilisée pour -faire des retouches, et pratiquement tout le reste de ce chapitre -aura pour but de montrer, à travers des exemples, comment -l'utiliser. L'exemple ci-dessous change la couleur des têtes de -notes : +Lilypond reconnaît comme expression primaire les éléments musicaux tels +que les notes, durées et annotations (les @emph{markups}). D'autres +expressions de base comme les nombres, chaînes de caractères et listes +sont gérées en « mode Scheme », mode appelé en faisant précéder une +valeur par un @samp{#}. Bien que certaines valeurs puissent disposer +d'une représentation tout à fait valide dans le mode musical de +LilyPond, les exemples de ce manuel mentionnent un@samp{#} pour plus de +clarté. Pour de plus amples informations quant au mode Scheme, +consultez @rextend{Syntaxe Scheme dans LilyPond}. + +La commande @code{\override} est la plus fréquemment utilisée pour faire +des retouches, et pratiquement tout le reste de ce chapitre aura pour +but de montrer, à travers des exemples, comment l'utiliser. L'exemple +ci-dessous change la couleur des têtes de notes : @cindex couleur,exemple d'utilisation de la propriété @cindex NoteHead, exemple de dérogation @@ -292,11 +299,11 @@ g4 a b c | Une fois qu'elle a été modifiée, la propriété conserve sa nouvelle valeur jusqu'à ce qu'elle soit à nouveau modifiée ou qu'elle rencontre -la commande @code{\revert}. La commande @code{\revert} obéit à -la syntaxe ci-dessous et ramène la valeur de la propriété à sa valeur -d'origine. Attention : dans le cas où plusieurs @code{\override} -ont été employés, il ne s'agit pas de la valeur précédente mais bien de -la valeur par défaut. +la commande @code{\revert}. La commande @code{\revert} obéit à la +syntaxe ci-dessous et ramène la valeur de la propriété à sa valeur +d'origine. Attention : dans le cas où plusieurs @code{\override} ont +été employés, il ne s'agit pas de la valeur précédente mais bien de la +valeur par défaut. @example \revert @var{Contexte}.@var{ObjetDeRendu}.@var{propriété-de-rendu} @@ -304,8 +311,8 @@ la valeur par défaut. Tout comme pour la commande @code{\override}, la mention du @var{Contexte} est souvent facultative. Elle sera omise dans de -nombreux exemples ci-dessous. Voici un exemple qui ramène la -couleur des deux dernières notes à leur valeur par défaut : +nombreux exemples ci-dessous. Voici un exemple qui ramène la couleur +des deux dernières notes à leur valeur par défaut : @cindex couleur,exemple d'utilisation de la propriété @cindex NoteHead, exemple de dérogation @@ -487,7 +494,7 @@ jusqu'à l'événement originel : Cette forme développée de la commande @code{\tweak} correspond à : @example -\tweak @var{objet-de-rendu}.@var{propriété-de-rendu} @var{valeur} +\tweak @var{objet-de-rendu}.@var{propriété-de-rendu} #@var{valeur} @end example @cindex n-olets imbriqués @@ -549,6 +556,65 @@ Manuel de notation : @ruser{La commande d'affinage (@emph{tweak})}. +@node Le préfixe single +@unnumberedsubsubsec Le préfixe @code{@bs{}single} +@translationof The single prefix + +@funindex \single +@funindex single + +@cindex tweak généré par override + +Supposons que nous voulions mettre en exergue certaines têtes de note -- +plus grosses et en rouge -- et, pour nous simplifier la vie, que nous +avons réalisé un fonction à ce effet : + +@lilypond[quote,verbatim] +emphNoteHead = { + \override NoteHead.color = #red + \override NoteHead.font-size = 2 +} +\relative c'' { + c4 a \once \emphNoteHead f d | +} +@end lilypond + +Le préfixe @code{\once} fonctionne à merveille dans le cas d'une note +isolée ou de l'intégralité d'un accord, mais ne permet pas de souligner +individuellement l'une des notes d'un accord. Nous avons vu comment un +@code{\tweak} permet d'y arriver -- voir @ref{La commande tweak}. Un +@code{\tweak} ne peut toutefois pas s'utiliser dans une fonction ; un +@code{\single} permet d'appliquer la fonction une seule fois : + +@lilypond[quote,verbatim] +emphNoteHead = { + \override NoteHead.color = #red + \override NoteHead.font-size = 2 +} +\relative c'' { + 4 +} +@end lilypond + +En résumé, l'instruction @code{\single} convertit les instructions +@code{\override} en @code{\tweak} de telle sorte que lorsque plusieurs +objets se trouvent en un même point du temps musical, comme la tête des +notes formant un accord, @code{\single} n'en affectera qu'une seule, +celle générée par l'expression musicale qui vient juste après, +contrairement à un @code{\once} qui en affectera tous les objets. + +Cette utilisation de @code{\single} permet d'appliquer individuellement +n'importe quel raccourci de fonction contenant des @code{\override} aux +notes d'un accord. Néanmoins, l'instruction @code{\single} ne permet +pas de convertir des @code{\revert}, @code{\set} ou @code{\unset} en +@code{\tweak}. + +@seealso +Manuel d'initiation : +@ref{La commande tweak}, +@ref{Utilisation de variables dans les retouches}. + + @node Le manuel de référence des propriétés internes @section Le manuel de référence des propriétés internes @translationof The Internals Reference manual @@ -1172,6 +1238,7 @@ LilyPond dispose d'un raccourci -- @code{\omit} (pour « oublier ») -- à cet effet : @funindex \omit +@funindex omit @lilypond[quote,fragment,ragged-right,verbatim,relative=2] { @@ -3319,18 +3386,26 @@ voir à ce sujet @ruser{Modification des liaisons}. Voici un autre exemple. Comme nous pouvons le constater, les barres de ligature chevauchent les liaisons de tenue : -@lilypond[quote,verbatim,fragment,ragged-right] +@lilypond[quote,verbatim,fragment,ragged-right,relative=1] { \time 4/2 << - { c'1 ~ 2. e'8 f' } + { c1~ 2. e8 f } \\ - { e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g'' } + { + e'8 e e e + e e e e + f2 g + } >> << - { c'1 ~ 2. e'8 f' } + { c,,1~ 2. e8 f } \\ - { e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g'' } + { + e'8 e e e + e e e e + f2 g + } >> } @end lilypond @@ -3343,29 +3418,38 @@ au-dessous de la ligne médiane mais, disons, à 1 : @cindex Beam, exemple de dérogation @cindex positions, exemple d'utilisation de la propriété -@lilypond[quote,verbatim,fragment,ragged-right] +@lilypond[quote,verbatim,fragment,ragged-right,relative=1] { \time 4/2 << - { c'1 ~ 2. e'8 f' } + { c1~ 2. e'8 f' } \\ { \override Beam.positions = #'(-1 . -1) - e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g'' + e'8 e e e + e e e e + f2 g } >> << - { c'1 ~ 2. e'8 f' } + { c,,1~ 2. e'8 f' } \\ - { e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g'' } + { + e'8 e e e + e e e e + f2 g + \revert Beam.positions + } >> } @end lilypond @noindent -Vous remarquerez que la retouche continue de s'appliquer au -second bloc de croches de la première voix mais qu'il ne s'applique -à aucune mesure de la deuxième voix. +Vous remarquerez que la retouche continue de s'appliquer au second bloc +de croches de la deuxième voix mais qu'il ne s'applique à aucune des +ligatures de la première voix, même dans la seconde mesure. Dès que la +dérogation ne doit plus s'appliquer, il suffit de l'annuler comme +indiqué ici. @node La propriété force-hshift @@ -3393,11 +3477,8 @@ nous avions laissé dans cet état : @noindent La note intermédiaire du premier accord, le la bémol à la quatrième -voix, doit rester dans le même empilement que la note haute. Pour y -remédier, nous pourrions utiliser @code{\shiftOff}, ce qui -malheureusement générera des avertissements au sujet d'empilements qui -se chevauchent. Nous préférons régler le @code{force-hshift} -- qui est -une propriété de @code{NoteColumn} -- de cette note sur zéro. +voix, doit rester dans le même empilement que la note haute, ce +pourquoi nous utilisons un @code{\shiftOff} Quant au second accord, il serait préférable que le fa s'aligne avec le la et que la note la plus basse se positionne un peu plus sur la droite @@ -3425,8 +3506,7 @@ Et voici le résultat final : { 2 \once \override NoteColumn.force-hshift = #0.5 des } \\ \\ - { \once \override NoteColumn.force-hshift = 0 aes'2 - \once \override NoteColumn.force-hshift = 0 f4 fes } + { \once \shiftOff aes'2 \once \shiftOff f4 fes } >> | 1 | } @@ -3986,15 +4066,8 @@ lhMusic = \relative c' { * Rendu MIDI d'un point d'orgue:: @end menu -@cindex transparent, utilisation de la propriété -@cindex création d'objet invisible @cindex suppression d'objets @cindex objets, suppression d' -@cindex masquage d'objets -@cindex objets, masquage d' -@cindex invisibles, objets -@cindex objets, invisibles -@cindex liaison de tenue avec changement de voix @node Liaison entre plusieurs voix @@ -4012,32 +4085,20 @@ dont l'une avec les notes liées @end lilypond @noindent -et à rendre transparente la première hampe de cette voix ; -on a alors l'impression que la liaison couvre les deux voix. +et à supprimer la première hampe ascendante et le crochet dans cette +voix ; on a alors l'impression que la liaison couvre les deux voix. -@cindex Stem, exemple de dérogation -@cindex transparent, exemple d'utilisation de la propriété +@cindex Stem, exemple de suppression +@cindex Flag, exemple de suppression +@cindex @code{\omit}, exemple d'utilisation -@lilypond[quote,fragment,relative=2,verbatim] -<< - { - \tweak Flag.transparent ##t - b8~ 8\noBeam - } -\\ - { b8[ g] } ->> -@end lilypond - -Pour être sûr que la hampe que nous avons rendue transparente -n'empiète pas trop sur le trait de liaison, nous pouvons l'allonger en -réglant la longueur (@code{length}) sur @code{8}, +@funindex \omit @lilypond[quote,fragment,relative=2,verbatim] << { - \tweak Flag.transparent ##t - \tweak Stem.length #8 + \once \omit Stem + \once \omit Flag b8~ 8\noBeam } \\ @@ -4046,38 +4107,10 @@ réglant la longueur (@code{length}) sur @code{8}, @end lilypond -@funindex \single -@cindex affinage généré par une dérogation - -Nous aurions pu, pour déroger à la transparence d'un objet -graphique, utiliser le raccourci @code{\omit} que nous avons vu -plus haut. L'affinage constitue une opération différente en ceci -qu'il n'affecte que les propriétés générées par une expression -musicale unique. Nous pourrions tout à fait convertir des -dérogations en affinages à l'aide d'un @code{\single} et ré-écrire -l'exemple précédent de cette manière : - -@lilypond[quote,fragment,relative=2,verbatim] -<< - { - \single \hide Stem - \single \hide Flag - \tweak Stem.length #8 - b8~ 8\noBeam - } -\\ - { b8[ g] } ->> -@end lilypond - -Dans ce cas particulier, la différence avec un @code{\once \hide} -n'est pas flagrante. Elle prend cependant toute son importance -lorsque plusieurs objets de retrouvent au même instant musical -- -comme les têtes des notes d'un accord. En effet, la présence d'un -@code{\once} sera répercutée à tous les objets, alors qu'un -@code{\single} n'affectera, lui, qu'un seul objet, celui généré -par l'expression musicale qui le suit directement. - +@seealso +Manuel d'initiation : +@ref{Le préfixe once}, +@ref{La propriété stencil}. @node Rendu MIDI d'un point d'orgue @unnumberedsubsubsec Rendu MIDI d'un point d'orgue diff --git a/Documentation/fr/notation.tely b/Documentation/fr/notation.tely index 7bbb273a2d..906c091385 100644 --- a/Documentation/fr/notation.tely +++ b/Documentation/fr/notation.tely @@ -1,6 +1,6 @@ \input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: 9bbdeb11a423017702c73e321643fa420614ce83 + Translation of GIT committish: 868bbbb78276796f43a1c72621fdb3a3a14d2555 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -26,7 +26,7 @@ présenté dans le @rlearningnamed{Top, Manuel d'initiation}. @c file: Documentation/tex/refman.yo @macro copyrightDeclare -Copyright @copyright{} 1998--2014 par les auteurs. +Copyright @copyright{} 1998--2015 par les auteurs. @end macro @set FDL diff --git a/Documentation/fr/notation/ancient.itely b/Documentation/fr/notation/ancient.itely index 65e0acfd78..e936981f3d 100644 --- a/Documentation/fr/notation/ancient.itely +++ b/Documentation/fr/notation/ancient.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: ece268fa66e2576c01f33a4a6e1806f44c9f8fa8 + Translation of GIT committish: fab824ac128346465690246f7a42ce1e8b42db8d When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -563,7 +563,10 @@ La clef de sol mensurale est calquée sur celle de Petrucci. @unnumberedsubsubsec Métriques anciennes @translationof Mensural time signatures +@cindex signe de mensuration +@cindex mensuration, signe @cindex ancienne, métrique +@cindex métrique, style Les chiffrages de métrique mensurale sont partiellement pris en charge. Les glyphes ne font que représenter des métriques particulières. En @@ -2476,7 +2479,7 @@ lancer dans la saisie de votre chant, comme ci-dessous : << \new KievanVoice = "melody" \relative c' { \cadenzaOn - c4 c c c c2 b,\longa + c4 c c c c2 b\longa \bar "k" } \new Lyrics \lyricsto "melody" { @@ -2712,10 +2715,40 @@ une édition en notation moderne à partir d'une même source. @unnumberedsubsubsec Des incipits @translationof Incipits -@c TODO Add text -@c clefs, mensuration signs etc from lsr and -user -@c use snippet Transcription-of-ancient-music-with-incipit -@emph{En cours de rédaction} +Il est d'usage, lorsque l'on transcrit de la musique ancienne en +notation moderne, d'indiquer aussi comment apparaissaient les silences +ou notes initiaux dans la version originale, y compris la clef. Ceci +s'appelle un @emph{incipit}. La commande @code{\incipit} utilise le +@code{indent} de la portée principale pour déterminer la place occupée +par l'incipit, et @code{incipit-width} pour déterminer la longueur de la +portée d'incipit. + +@lilypond[verbatim,quote,ragged-right] +\score { + \new Staff << + \new Voice = Tenor { + \set Staff.instrumentName = #"Tenor" + \override Staff.InstrumentName.self-alignment-X = #RIGHT + \incipit { \clef "mensural-c4" \key f \major r\breve r1 c'1 } + \clef "treble_8" + \key f \major + R1 r2 c'2 | + a4. c'8 + } + \new Lyrics \lyricsto Tenor { Cyn -- thia your } + >> + \layout + { + indent = 5\cm + incipit-width = 3\cm + } +} +@end lilypond + +@knownissues +La propriété @code{instrumentName} doit se placer au sein de la musique +de l'incipit à produire. Lorsqu'il n'y a pas de nom d'instrument, il +faut cependant le définir avec @code{\set Staff.instrumentName = #""}. @seealso @c ... and reference to other sections ... diff --git a/Documentation/fr/notation/changing-defaults.itely b/Documentation/fr/notation/changing-defaults.itely index d9e65545ce..d6b8a54838 100644 --- a/Documentation/fr/notation/changing-defaults.itely +++ b/Documentation/fr/notation/changing-defaults.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: 324ff94afc62c7011b7377f24392f95391ed3b84 + Translation of GIT committish: 868bbbb78276796f43a1c72621fdb3a3a14d2555 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -803,7 +803,7 @@ responsables se nomment @code{Timing_translator} et peut désormais avoir sa propre métrique. @cindex polymétrique, partition -@cindex chiffres de mesure multiples +@cindex chiffre de mesure multiple @lilypond[quote,verbatim] \score { @@ -2785,6 +2785,7 @@ qu'au travers d'une complète redéfinition de leur liste associative.} * Modes de saisie:: * Direction et positionnement:: * Distances et unités de mesure:: +* Dimensions:: * Propriétés des symboles de la portée:: * Extenseurs et prolongateurs:: * Visibilité des objets:: @@ -3077,6 +3078,36 @@ Manuel de notation : @ref{Mise en forme de la page}. +@node Dimensions +@subsection Dimensions +@translationof Dimensions + +@cindex dimensions +@cindex bounding box + +Les dimensions d'un objet graphique spécifient la position des bords +droit et gauche ainsi que des bords supérieur et inférieur de la boîte +englobante de ces objets, en tant que distance par rapport au point de +référence de l'objet et en unité d'espace de portée. Ces positions sont +normalement codées sous la forme de deux paires Scheme. Par exemple, la +commande de @emph{markup} @code{\with-dimensions} prend trois arguments, +les deux premiers étant des paires Scheme donnant la position des bords +gauche et droit et celle des bords inférieur et supérieur : + +@example +\with-dimensions #'(-5 . 10) #'(-3 . 15) @var{argument3} +@end example + +Ceci spécifie une boîte englobante pour @var{argument3} dont le bord +gauche est à @minus{}5, le bord droit à 10, le bord inférieur +à @minus{}3 et le bord supérieur à 15 espaces de portée du point de +référence de cet objet. + +@seealso +Manuel de notation : +@ref{Distances et unités de mesure}. + + @node Propriétés des symboles de la portée @subsection Propriétés des symboles de la portée @translationof Staff symbol properties @@ -3291,7 +3322,7 @@ Un certain nombre d'objets disposent de la propriété @end itemize La routine en charge de dessiner le stencil de ces extenseurs est -@code{ly:line-interface::print}. Elle va déterminer les deux points +@code{ly:line-spanner::print}. Elle va déterminer les deux points extrêmes et dessiner entre eux une ligne du style requis. Bien que la localisation des deux bornes de l'extenseur soit calculée à la volée, vous pouvez cependant forcer leur ordonnée (coordonnée-Y). Les @@ -3606,18 +3637,18 @@ fonctions prédéfinies, regroupées dans le fichier @file{scm/output-lib.scm}. Le tableau suivant vous les présente ; les trois dernières colonnes indiquent l'endroit où l'objet sera visible. -@multitable {@code{begin-of-line-invisible}} {@code{'#(#t #t #t)}} {apres} {apres} {apres} +@multitable {@code{begin-of-line-invisible}} {@code{#(#t #t #t)}} {apres} {apres} {apres} @headitem Forme @tab Forme @tab Avant @tab Hors @tab Après @headitem fonctionnelle @tab vectorielle @tab saut @tab saut @tab saut -@item @code{all-visible} @tab @code{'#(#t #t #t)} @tab oui @tab oui @tab oui -@item @code{begin-of-line-visible} @tab @code{'#(#f #f #t)} @tab non @tab non @tab oui -@item @code{center-visible} @tab @code{'#(#f #t #f)} @tab non @tab oui @tab non -@item @code{end-of-line-visible} @tab @code{'#(#t #f #f)} @tab oui @tab non @tab non -@item @code{begin-of-line-invisible} @tab @code{'#(#t #t #f)} @tab oui @tab oui @tab non -@item @code{center-invisible} @tab @code{'#(#t #f #t)} @tab oui @tab non @tab oui -@item @code{end-of-line-invisible} @tab @code{'#(#f #t #t)} @tab non @tab oui @tab oui -@item @code{all-invisible} @tab @code{'#(#f #f #f)} @tab non @tab non @tab non +@item @code{all-visible} @tab @code{#(#t #t #t)} @tab oui @tab oui @tab oui +@item @code{begin-of-line-visible} @tab @code{#(#f #f #t)} @tab non @tab non @tab oui +@item @code{center-visible} @tab @code{#(#f #t #f)} @tab non @tab oui @tab non +@item @code{end-of-line-visible} @tab @code{#(#t #f #f)} @tab oui @tab non @tab non +@item @code{begin-of-line-invisible} @tab @code{#(#t #t #f)} @tab oui @tab oui @tab non +@item @code{center-invisible} @tab @code{#(#t #f #t)} @tab oui @tab non @tab oui +@item @code{end-of-line-invisible} @tab @code{#(#f #t #t)} @tab non @tab oui @tab oui +@item @code{all-invisible} @tab @code{#(#f #f #f)} @tab non @tab non @tab non @end multitable Les réglages par défaut de la propriété @code{break-visibility} @@ -3814,7 +3845,7 @@ ligne parfois pointillée ou ondulée. En matière de dessin du texte et des lignes, ces indications font appel aux mêmes routines que le glissando ; leur comportement peut donc être affiné selon les mêmes préceptes, au moyen de la routine -@code{ly:line-interface::print} qui est tout spécialement chargée de +@code{ly:line-spanner::print} qui est tout spécialement chargée de dessiner les extenseurs. Cette routine détermine l'emplacement exact des deux points extrêmes de l'extenseur, puis trace une ligne du style demandé entre ces deux points. diff --git a/Documentation/fr/notation/cheatsheet.itely b/Documentation/fr/notation/cheatsheet.itely index 6ae89aac3d..a8f837e6bd 100644 --- a/Documentation/fr/notation/cheatsheet.itely +++ b/Documentation/fr/notation/cheatsheet.itely @@ -1,14 +1,14 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: bd751630011a6fbfcf069ec1fc41a8eaed8a6b87 + Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 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.17.11" +@c \version "2.19.16" @c Translators: Valentin Villenave @c Translation checkers: Jean-Charles Malahieude @@ -130,7 +130,7 @@ c c, @tab @lilypond[relative=2] \set Score.timing = ##f -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \set Staff.autoBeaming = ##f c( d e) @end lilypond @@ -141,7 +141,7 @@ c( d e) @tab @lilypond[relative=2] \set Score.timing = ##f -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \set Staff.autoBeaming = ##f c\( c( d) e\) @end lilypond @@ -152,7 +152,7 @@ c\( c( d) e\) @tab @lilypond[relative=2] \set Score.timing = ##f -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \set Staff.autoBeaming = ##f a8-[ b-] @end lilypond @@ -163,11 +163,11 @@ a8-[ b-] @tab @lilypond[relative=1] << \new Staff { - \set Staff.implicitTimeSignatureVisibility = #all-invisible + \set Staff.initialTimeSignatureVisibility = #all-invisible c1 } \new Staff { - \set Staff.implicitTimeSignatureVisibility = #all-invisible + \set Staff.initialTimeSignatureVisibility = #all-invisible c1 } >> @end lilypond @@ -177,7 +177,7 @@ a8-[ b-] @tab indications d'articulation @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible c-> c-. @end lilypond @@ -186,7 +186,7 @@ c-> c-. @tab nuances @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible c2\mf c\sfz @end lilypond @@ -196,7 +196,7 @@ c2\mf c\sfz @tab @lilypond[relative=2] \set Score.timing = ##f -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \set Staff.autoBeaming = ##f a\< a a\! @end lilypond @@ -206,7 +206,7 @@ a\< a a\! @tab @lilypond[relative=2] \set Score.timing = ##f -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \set Staff.autoBeaming = ##f a\> a a\! @end lilypond @@ -216,7 +216,7 @@ a\> a a\! @tab accords @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible @end lilypond @@ -234,7 +234,7 @@ f8 c2 d e @tab triolets @tab @lilypond[relative=1] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \tuplet 3/2 { f8 g a } @end lilypond @@ -243,7 +243,7 @@ f8 c2 d e @tab appogiatures @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \context Voice { \grace b16 c4 } @end lilypond @@ -264,7 +264,7 @@ twinkle @tab diviser un mot en plusieurs syllabes @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible << { g'1 g } \new Lyrics \lyricsto "" { twin -- kle } @@ -275,7 +275,7 @@ twinkle @tab accords chiffrés @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \chordmode { c:dim f:maj7 } @end lilypond @@ -290,7 +290,7 @@ twinkle @tab polyphonie @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \context Staff <<{e f} \\ {c d}>> @end lilypond diff --git a/Documentation/fr/notation/editorial.itely b/Documentation/fr/notation/editorial.itely index 19ec929727..138161f6b7 100644 --- a/Documentation/fr/notation/editorial.itely +++ b/Documentation/fr/notation/editorial.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: b58a17a6b0b6f624cee7858a74092265e0791fe2 + Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -297,7 +297,7 @@ Pour changer la taille des caractères, LilyPond met à l'échelle la fonte dont la taille est la plus proche de la taille voulue. La taille standard (pour laquelle @code{font-size = 0}) dépend de la hauteur de la portée. À une portée de 20 points correspond une police de -10 points. +11 points. @predefined diff --git a/Documentation/fr/notation/fretted-strings.itely b/Documentation/fr/notation/fretted-strings.itely index dd8a81bb53..a4baa45661 100644 --- a/Documentation/fr/notation/fretted-strings.itely +++ b/Documentation/fr/notation/fretted-strings.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: ece268fa66e2576c01f33a4a6e1806f44c9f8fa8 + Translation of GIT committish: fab824ac128346465690246f7a42ce1e8b42db8d When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -135,6 +135,21 @@ g-0\3 @end lilypond +Les numéros de corde peuvent aussi, comme traditionnellement pour les +cordes non frettées, s'imprimer en chiffres romains placés sous la +portée plutôt qu'en surplomb. + +@lilypond[verbatim,quote,relative=2] +c2\2 +a\3 +\romanStringNumbers +c\2 +\set stringNumberOrientations = #'(down) +a\3 +\arabicStringNumbers +g1\4 +@end lilypond + @snippets @lilypondfile[verbatim,quote,texidoc,doctitle] @@ -143,6 +158,11 @@ g-0\3 @lilypondfile[verbatim,quote,texidoc,doctitle] {allowing-fingerings-to-be-printed-inside-the-staff.ly} +@predefined +@code{\arabicStringNumbers}, +@code{\romanStringNumbers}. +@endpredefined + @seealso Manuel de notation : @ref{Doigtés}. diff --git a/Documentation/fr/notation/input.itely b/Documentation/fr/notation/input.itely index 374d7d1381..9cbb09fffa 100644 --- a/Documentation/fr/notation/input.itely +++ b/Documentation/fr/notation/input.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: ece268fa66e2576c01f33a4a6e1806f44c9f8fa8 + Translation of GIT committish: 868bbbb78276796f43a1c72621fdb3a3a14d2555 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -2199,10 +2199,9 @@ rappellerez ensuite, comme indiqué à la rubrique @funindex \tag @funindex \keepWithTag @funindex \removeWithTag -@funindex \pushToTag -@funindex \appendToTag @cindex tag @cindex balise +@cindex regroupement de balises La commande @code{\tag #'@var{partieA}} affecte à une expression musicale le nom @var{partieA}. Les expressions ainsi balisées pourront @@ -2235,10 +2234,17 @@ Musique balisée non précédée de @code{\keepWithTag} ou @end multitable -Les arguments des commandes @code{\tag}, @code{\keepWithTag} et -@code{\removeWithTag} doivent être un symbole (tel que -@code{#'conducteur} ou @code{#'partie}), suivi d'une expression -musicale. +L'argument des commandes @code{\tag}, @code{\keepWithTag} et +@code{\removeWithTag} doit être un symbole ou une liste de symboles +(tel que @code{#'conducteur} ou @code{#'(violonI violonII)}), suivi +d'une expression musicale. Si, @emph{et seulement si} les symboles sont +des indentifiants LilyPond valides (caractères alphabétiques uniquement, +sans chiffre, souligné ou tiret) qui ne peuvent se confondre avec des +notes, le @code{#'} peut s'omettre et, pour raccourcir, une liste de +symbole peut utiliser le point en séparateur -- autrement dit, +@code{\tag #'(violinI violinII)} peut s'écrire @code{\tag +violinI.violinII}. Ceci s'applique aussi bien pour @code{\keepWithTag} +que pour @code{\removeWithTag}. Dans l'exemple qui suit, nous obtenons deux versions du même extrait, l'une pour le conducteur, l'autre pour l'instrumentiste qui, elle, @@ -2346,6 +2352,40 @@ liste de balises est en pareil cas des plus pertinente : seront exclus tous les fragments non concernés par l'une quelconque des balises mentionnées. +@cindex regroupements de balises +@cindex balises, regroupement +@funindex \tagGroup + +Bien que @code{\keepWithTag} soit efficace pour gérer @emph{un} jeu +d'alternatives, le rejet de musique filtrée par des balises +@emph{étrangères} se révèle problématique lorsque les @code{\tag} sont +utilisés à plusieurs fins. Des « groupements de balises » peuvent +alors être déclarés : + +@example +\tagGroup #'(violinI violinII viola cello) +@end example + +stipule que ces filtres respectifs appartiennent à un même groupe. + +@example +\keepWithTag #'violinI @dots{} +@end example + +ne sera donc concerné que par les balises @code{violinI} contenues dans +le groupe de filtres : tout élément de la musique incluse qui serait +balisé par un ou plusieurs des filtres de ce jeu mais @emph{pas} par +@code{violinI} sera rejeté. + +Pour toute commande @code{\keepWithTag}, seules les balises du +regroupement mentionnées dans la commande seront visibles. + +Une balise ne peut faire partie que d'un seul regroupement. + +@funindex \pushToTag +@funindex \appendToTag +@cindex raccordement dans une balise + Il peut arriver que vous ayez besoin de raccorder quelque chose en un point particulier d'une expression musicale. Les commandes @code{\pushToTag} et @code{\appendToTag} permettent d'insérer du @@ -2368,9 +2408,6 @@ test = { \tag #'here { \tag #'here <> } } Ces deux instructions sont affectées d'une balise, le matériau à raccorder à chaque instance de la balise, et l'expression balisée. -Ces instructions prennent soin de recopier tout ce qui doit être -modifié, de telle sorte que l'expression @code{\test} originale conserve -tout son sens. @seealso Manuel d'initiation : @@ -2546,7 +2583,7 @@ dans des paroles et dans du texte indépendant. } \addlyrics { O \markup { \concat { Ph \char ##x0153 be! } } } } -\markup { "Copyright 2008--2014" \char ##x00A9 } +\markup { "Copyright 2008--2015" \char ##x00A9 } @end lilypond @cindex copyright @@ -2631,39 +2668,49 @@ Fichiers d'initialisation : @subsection Extraction de fragments musicaux @translationof Extracting fragments of music -LilyPond permet d'extraire des fragments d'une partition à l'instar du -choriste amateur qui alimente son album avec des coupures de journaux. +@cindex fragments, extraction -Vous devrez pour cela définir les mesures à découper. La définition -suivante, incluse dans votre fichier source, +@funindex clip-regions -@verbatim -\layout { +LilyPond permet d'extraire des fragments d'une partition, une fois +definis explicitement le ou les emplacements de la musique concernés au +sein du bloc @code{\layout} du fichier source, grâce à la fonction +@code{clip-regions}, puis en lançant @command{lilypond} avec l'option +@w{@code{-dclip-systems}}. + +@example +\layout @{ clip-regions = #(list (cons (make-rhythmic-location 5 1 2) (make-rhythmic-location 7 3 4))) -} -@end verbatim +@} +@end example @noindent -vous permettra d'extraire un fragment compris entre le milieu de la -cinquième mesure et quelque part dans la septième. Le triplet -@code{5 1 2} signifie : après la durée d'une blanche dans la mesure 5 ; -le @code{7 3 4} signifie quant à lui que l'on s'arrête à la mesure 7, -après la durée de trois noires. - -Rien ne vous empêche d'extraire plusieurs fragments, dès lors que vous -définissez dans la liste d'autres paires d'emplacements rythmiques. - -Cette fonctionnalité n'est toutefois effective que lorsque vous lancez -LilyPond avec l'option @w{@code{-dclip-systems}}. Les @qq{coupures} -seront générées sous la forme de fichiers EPS, convertis en PDF ou PNG -selon le format que vous aurez stipulé. - -Pour de plus amples informations quant au format des résultats, -consultez le chapitre @rprogram{Lancement de lilypond}. +L'exemple ci-dessus permet d'extraire un seul fragment @emph{débutant} +après une blanche dans la cinquième mesure (@code{5 1 2}) et +@emph{finissant} après trois noires dans la septième +mesure (@code{7 3 4}). + +D'autres fragments seront extraits dès lors que d'autres paires de +@w{@code{make-rhythmic-location}} auront été ajoutées à la liste de +@w{@code{clip-regions}} présente dans le bloc @code{\layout}. + +Chaque fragment sera généré individuellement sous la forme d'un fichier +@code{EPS}, converti en @code{PDF} ou @code{PNG} selon le format que +vous aurez stipulé. La musique extraite est rendue comme si elle avait +été littéralement « découpée » dans la partition. Par voie de +conséquence, un fragment dépassant une ligne fera l'objet d'autant de +fichiers séparés que de lignes de la partition complète. + +@seealso +Manuel de notation : +@ref{Le bloc layout}. + +Manuel d'utilisation : +@rprogram{Utilisation en ligne de commande}. @node Ignorer des passages de la partition diff --git a/Documentation/fr/notation/percussion.itely b/Documentation/fr/notation/percussion.itely index 77a97f4f28..07fe23dea0 100644 --- a/Documentation/fr/notation/percussion.itely +++ b/Documentation/fr/notation/percussion.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: a59d022ee65e8310ea16954da7b637c07ca00ae2 + Translation of GIT committish: fab824ac128346465690246f7a42ce1e8b42db8d When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -324,6 +324,37 @@ mus = \drummode { } @end lilypond +@item agostini-drums-style +Inventé par le percussionniste français Dante Agostini en 1965, cette +notation s'est répandue au-delà de l'hexagone. + +@lilypond[quote,line-width=10.0\cm] +nam = \lyricmode { + cymc cyms cymr hh hhc hho hhho hhp + cb hc bd sn ss tomh tommh tomml toml tomfh tomfl } +mus = \drummode { + cymc cyms cymr hh hhc hho hhho hhp \break + cb hc bd sn ss tomh tommh tomml toml tomfh tomfl s16 } +\score { + << \new DrumStaff \with { + \remove "Bar_engraver" + \remove "Time_signature_engraver" + \hide Stem + \override Stem.Y-extent = ##f + drumStyleTable = #agostini-drums-style + } \mus + \new Lyrics \nam + >> + \layout { + \context { + \Score + \override LyricText.font-family = #'typewriter + \override BarNumber.transparent =##T + } + } +} +@end lilypond + @item timbales-style Ce style permet de saisir une partie de timbales, sur une portée à deux lignes. diff --git a/Documentation/fr/notation/pitches.itely b/Documentation/fr/notation/pitches.itely index d4059d61e4..20c4d2e449 100644 --- a/Documentation/fr/notation/pitches.itely +++ b/Documentation/fr/notation/pitches.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: b58a17a6b0b6f624cee7858a74092265e0791fe2 + Translation of GIT committish: 4467a72a98fb582466ee4d5944ec8454b4b77fc6 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -325,12 +325,12 @@ Référence des propriétés internes : @c duplicated in Key signature and in Accidentals @warning{Les nouveaux utilisateurs sont parfois déroutés par la gestion -des altérations et de l'armure. Pour LilyPond, une hauteur n'est que du -matériau brut ; l'armure et la clef ne feront que déterminer -comment ce matériau sera retranscrit. Un simple @code{c} signifie -tout bonnement « do naturel » quelles que soient l'armure et la clef -en question. Pour plus d'information, reportez-vous au chapitre -@rlearning{Altérations et armure}.} +des altérations et de l'armure. Pour LilyPond, un nom de note spécifie +une hauteur ; l'armure et la clef ne feront que déterminer comment ces +hauteurs seront retranscrites. Un simple @code{c} signifie tout +bonnement « do naturel » quelles que soient l'armure et la clef en +vigueur. Pour plus d'information, reportez-vous au chapitre +@rlearning{Hauteurs et armure}.} @cindex noms de note, hollandais @cindex noms de note, par défaut @@ -353,10 +353,10 @@ langues, consultez @ref{Nom des notes dans d'autres langues}. ais1 aes aisis aeses @end lilypond -Un bécarre annule l'effet d'une altération, qu'elle soit accidentelle -ou à l'armure. Cependant, dans la syntaxe des noms de note, les -bécarres ne s'écrivent pas avec un suffixe ; un simple nom de note -donnera une note bécarre. +Une hauteur naturelle se saisit comme un simple nom de note, sans +suffixe. Un bécarre sera imprimé si besoin est, que ce soit pour +annuler les effets d'un précédente altération accidentelle ou pour +déroger à l'armure. @lilypond[verbatim,quote,relative=2] a4 aes a2 @@ -389,8 +389,7 @@ peut que vous vouliez les imprimer manuellement. On peut forcer l'impression d'une altération, dite « de précaution », en ajoutant un point d'exclamation @code{!} après la hauteur de note. Une altération entre parenthèses peut être obtenue en ajoutant un point -d'interrogation @code{?} après la hauteur de note. Ces signes peuvent -aussi être utilisés pour imprimer des bécarres. +d'interrogation @code{?} après la hauteur de note. @lilypond[verbatim,quote,relative=2] cis cis cis! cis? c c c! c? @@ -425,7 +424,7 @@ Glossaire musicologique : @rglosnamed{quarter tone,quart de ton}. Manuel d'initiation : -@rlearning{Altérations et armure}. +@rlearning{Hauteurs et armure}. Manuel de notation : @ref{Altérations accidentelles automatiques}, @@ -507,7 +506,7 @@ sont les suivants : et les suffixes d'altération correspondants : @quotation -@multitable {@code{nederlands}} {-s/-sharp} {-ess/-es} {-ss/-x/-sharpsharp} {-essess/-eses} +@multitable {@code{nederlands}} {-s/--sharp} {-ess/-es} {-ss/-x/--sharpsharp} {-essess/-eses} @headitem Langue @tab dièse @tab bémol @tab double dièse @tab double bémol @item @code{nederlands} @@ -517,8 +516,8 @@ et les suffixes d'altération correspondants : @item @code{deutsch} @tab -is @tab -es @tab -isis @tab -eses @item @code{english} - @tab -s/-sharp @tab -f/-flat @tab -ss/-x/-sharpsharp - @tab -ff/-flatflat + @tab -s/--sharp @tab -f/--flat @tab -ss/-x/--sharpsharp + @tab -ff/--flatflat @item @code{espanol} ou @code{español} @tab -s @tab -b @tab -ss/-x @tab -bb @item @code{italiano} ou @code{français} @@ -1272,7 +1271,7 @@ matériau brut ; l'armure et la clef ne feront que déterminer comment ce matériau sera retranscrit. Un simple @code{c} signifie tout bonnement « do naturel » quelles que soient l'armure et la clef en question. Pour plus d'information, reportez-vous au chapitre -@rlearning{Altérations et armure}.} +@rlearning{Hauteurs et armure}.} L'armure indique la tonalité dans laquelle la pièce doit être jouée. Elle comprend un ensemble d'altérations (dièses ou bémols) à la clef, @@ -1377,7 +1376,7 @@ Glossaire musicologique : @rglos{scordatura}. Manuel d'initiation : -@rlearning{Altérations et armure}. +@rlearning{Hauteurs et armure}. Morceaux choisis : @rlsrnamed{Pitches,Hauteurs}. diff --git a/Documentation/fr/notation/rhythms.itely b/Documentation/fr/notation/rhythms.itely index f7cccff67a..fc3e0e499c 100644 --- a/Documentation/fr/notation/rhythms.itely +++ b/Documentation/fr/notation/rhythms.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: d935a5a0fac63dc0dcd8197d4d2286d235fe617c + Translation of GIT committish: 4467a72a98fb582466ee4d5944ec8454b4b77fc6 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -1068,6 +1068,9 @@ fraction au début de la portée : \time 3/4 c2. @end lilypond +Les changements de métrique en cours de mesure sont abordés dans +@ref{Levées}. + @cindex métrique, visibilité La métrique est imprimée en début de morceau, et à chaque fois qu'elle @@ -1415,6 +1418,7 @@ Référence des propriétés internes : @cindex levée @cindex mesure incomplète @cindex incomplète, mesure +@cindex métrique en cours de mesure @funindex measurePosition @funindex \partial @@ -1428,48 +1432,33 @@ commande est \partial @var{durée} @end example -@noindent -où @var{durée} correspond à la valeur rythmique @strong{restant} -dans la mesure et @strong{avant} la première mesure complète : +Lorsque @code{\partial} est utilisé en début de pièce, +@code{@var{durée}} égale la valeur rythmique précédant la première +mesure. @lilypond[quote,verbatim,relative=1] \time 3/4 -\partial 8 -e8 | a4 c8 b c4 | +\partial 4. +r4 e8 | a4 c8 b c4 | @end lilypond -La @var{durée} peut être de n'importe quelle longueur inférieure -à la mesure complète : +Lorsque @code{\partial} est utilisé après le début du morceau, +@code{@var{durée}} égale la valeur rythmique @strong{restant} dans la +mesure en cours. Ceci ne crée pas de nouveau numéro de mesure. @lilypond[quote,verbatim,relative=1] -\time 3/4 +\set Score.barNumberVisibility = #all-bar-numbers-visible +\override Score.BarNumber.break-visibility = + #end-of-line-invisible +\time 9/8 +d'4.~ 4 d8 d( c) b | c4.~ 4. \bar "||" +\time 12/8 \partial 4. -r4 e8 | a4 c8 b c4 | +c8( d) e | f2.~ 4 f8 a,( c) f | @end lilypond -Cette commande @code{\partial @var{durée}} peut aussi s'écrire : - -@example -\set Timing.measurePosition -@var{durée} -@end example - -De fait, le premier exemple pourrait s'écrire : - -@lilypond[quote,verbatim,relative=1] -\time 3/4 -\set Timing.measurePosition = #(ly:make-moment -1/8) -e8 | a4 c8 b c4 | -@end lilypond - -La propriété @code{measurePosition} contient un nombre rationnel -généralement positif et qui indique, à ce point précis, où l'on en -est de la mesure. L'instruction @code{\partial @var{durée}} est définie -telle qu'aucune mesure numérotée ne sera créée. Son apparition en -début de pièce transforme @var{durée} en nombre négatif, ce qui signifie -que la mesure en cours sera @strong{précédée} de matériau additionnel -(l'anacrouse). Dans tous les autres cas, un @code{\partial @var{durée}} -aura pour effet de se décaler d'autat par rapport à la @b{fin} de la -mesure. +La commande @code{\partial} est @b{obligatoire} lorsque la métrique +change en cours de mesure, mais peut aussi s'utiliser isolément. @lilypond[quote,verbatim,relative=1] \set Score.barNumberVisibility = #all-bar-numbers-visible @@ -1485,6 +1474,10 @@ r8 e8 | a4 c8 b[ c b] | @end lilypond +La commande @code{\partial} détermine la propriété +@code{Timing.measurePosition}, nombre rationnel qui indique combien de +temps est déjà passé dans la mesure. + @seealso Glossaire musicologique : @rglosnamed{anacrusis,anacrouse}. @@ -3146,6 +3139,16 @@ test de mesure signale une erreur. \time 3/4 c2 e4 | g2 | @end example +Des durées incorrectes font échouer les tests de mesure et peuvent +souvent mettre la partition sens dessus dessous, particulièrement s'il +s'agit de musique polyphonique. Vérifier les tests de mesure qui ont +échoué et les durées incorrectes est un bon moyen de commencer à +corriger sa partition. + +Lorsque plusieurs tests successifs présentent un même décalage, seul le +message d'avertissement concernant la première occurrence est affiché. +L'origine du problème est de fait plus évidente. + Le test de mesure peut être aussi utilisé dans les paroles, par exemple : @@ -3156,15 +3159,11 @@ exemple : @} @end example -Des durées incorrectes font échouer les tests de mesure et peuvent -souvent mettre la partition sens dessus dessous, particulièrement s'il -s'agit de musique polyphonique. Vérifier les tests de mesure qui ont -échoué et les durées incorrectes est un bon moyen de commencer à -corriger sa partition. - -Lorsque plusieurs tests successifs présentent un même décalage, seul le -message d'avertissement concernant la première occurrence est affiché. -L'origine du problème est de fait plus évidente. +Notez bien qu'en matière de paroles, le test est effectué à l'instant +musical où la syllabe @b{suivant} la marque est traitée. Par voie de +conséquence, lorsqu'une mesure débute par un silence, il n'y a pas moyen +de positionner une syllabe à cet endroit, et LilyPond émettra un +avertissement. @funindex | @funindex "|" diff --git a/Documentation/fr/notation/simultaneous.itely b/Documentation/fr/notation/simultaneous.itely index 2a1f2e7998..bce6f3b02d 100644 --- a/Documentation/fr/notation/simultaneous.itely +++ b/Documentation/fr/notation/simultaneous.itely @@ -1,13 +1,13 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: b58a17a6b0b6f624cee7858a74092265e0791fe2 + Translation of GIT committish: 868bbbb78276796f43a1c72621fdb3a3a14d2555 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.19.2" +@c \version "2.19.16" @c Translators: Frédéric Chiasson, Valentin Villenave, Jean-Charles Malahieude @c Translation checkers: Jean-Charles Malahieude, John Mandereau @@ -303,7 +303,6 @@ plusieurs portées : En pareil cas, des rythmes différents ne sont source d'aucun problème puisqu'ils sont interprétés dans des voix différentes. -@cindex collision sur empilement de notes @cindex collisions, ignorer @knownissues @@ -313,10 +312,11 @@ sur la portée, ce quelque soit le décalage que vous auriez pu leur appliquer. Ceci ne manque pas de faire apparaître un message @example -warning: ignoring too many clashing note columns +warning: This voice needs a \voiceXx or \shiftXx setting @emph{en français :} -Avertissement : trop d'empilements de notes se chevauchent. On fera au mieux. +Avertissement : Cette voix requiert un @code{voiceXx} ou un réglage +@code{\shiftXx} @end example lors de la compilation. Le déclenchement de cet avertissement peut être diff --git a/Documentation/fr/notation/spacing.itely b/Documentation/fr/notation/spacing.itely index 34240f513a..145cf82f3e 100644 --- a/Documentation/fr/notation/spacing.itely +++ b/Documentation/fr/notation/spacing.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: 324ff94afc62c7011b7377f24392f95391ed3b84 + Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -692,19 +692,36 @@ aussi @code{check-consistency}. @item line-width @funindex line-width -la longueur d'un système musical sans indentation et justifié sur toute -la largeur de la page. La valeur par défaut est égale à +La longueur d'une ligne. Lorsque spécifié dans un bloc @code{\paper}, +ceci définit l'étendue horizontale dont disposeront les lignes de portée +d'un système non indenté. La valeur par défaut est égale à @code{paper-width}, auquel sont retranchés @code{left-margin} et @code{right-margin}. Lorsque vous définissez @code{line-width} sans modifier les valeurs de @code{left-margin} et @code{right-margin}, les marges seront alors recalculées de telle sorte que les systèmes soient -centrés. Voir aussi @code{check-consistency}. La variable -@code{line-width} peut se définir aussi dans un bloc @code{\layout}. +centrés. Voir aussi @code{check-consistency}. + +La valeur de @code{line-width} peut aussi se spécifier individuellement +au niveau de la partition, au sein d'un bloc @code{\layout}. Ceci +permet de contrôler la longueur des lignes partition par partition. Si +la longueur de ligne n'est pas spécifié dans une partition particulière, +elle sera valorisée à celle du @code{line-width} mentionné dans le bloc +@code{\paper}. La détermination de @code{line-width} pour un +@code{\score} particulier n'a aucun effet sur les marges. Les lignes +d'une portée dont la longueur est déterminée par le @code{line-width} +d'une partition seront alignées par la gauche sur la surface de papier +telle que définie par le @code{line-width} du bloc @code{\paper}. Dès +lors que les valeurs de @code{line-width} de la partition et du papier +sont égales, les lignes s'étendront de la marge gauche à la marge +droite. En cas de @code{line-width} de la partition supérieur au +@code{line-width} du papier, les lignes de portée déborderont dans la +marge de droite. + @item left-margin @funindex left-margin -la marge entre le bord gauche de la feuille et le début de chaque +La marge entre le bord gauche de la feuille et le début de chaque système. La valeur par défaut est de @code{10\mm} ; elle sera ajustée selon le format du papier. Lorsque vous définissez @code{line-width} et @code{right-margin} sans modifier la valeur de @@ -740,7 +757,9 @@ l'addition de ces trois éléments ne dépassera pas la largeur du papier (@code{paper-width}). La valeur par défaut est @code{#t}. Dans le cas d'une incohérence, un message d'avertissement est émis et les trois variables -- marges et longueur de ligne -- rétablies à leur -valeur par défaut (ajustées selon le format du papier). +valeur par défaut (ajustées selon le format du papier). La +désactivation de cette variable (valorisation à @code{#f}, toute +incohérence sera ignorée, et les systèmes pourront déborder de la page. @item ragged-right @funindex ragged-right @@ -748,7 +767,7 @@ valeur par défaut (ajustées selon le format du papier). Lorsque cette variable est activée, les systèmes ne s'étendront pas sur la longueur de la ligne, mais s'arrêteront à leur longueur normale. La valeur par défaut est @code{#f} mais, si la partition ne comporte -qu'un seul système, elle passe à @code{#t}. Cette variable peut aussi +qu'un seul système, elle passe à @code{#t}. Cette variable peut aussi se gérer au sein d'un bloc @code{\layout}. @item ragged-last @@ -856,17 +875,20 @@ de @code{0.0\mm}. @funindex indent Le niveau d'indentation du premier système d'une partition. La valeur -par défaut est de @code{15\mm} et s'ajustera selon le format du -papier. Cette variable peut aussi se gérer au sein d'un bloc -@code{\layout}. +par défaut est de @code{15\mm} en A4 et s'ajustera selon le format du +papier. L'espace correspondant à @code{line-width} est réduit d'autant +pour le premier système. Cette variable peut aussi se gérer partition +par partition au sein d'un bloc @code{\layout}. @item short-indent @funindex short-indent Le niveau d'indentation de tous les systèmes hormis le premier. La -valeur par défaut est de @code{0}, et s'ajustera selon le format du -papier dès lors que vous lui aurez affecté une valeur. Cette -variable peut aussi se gérer au sein d'un bloc @code{\layout}. +valeur par défaut est de @code{0} pour du A4, et s'ajustera selon le +format du papier dès lors que vous lui aurez affecté une valeur. Bien +entendu, l'espace spécifié par @code{line-width} sera réduit d'autant. +Cette variable peut aussi se gérer partition par partition, au sein d'un +bloc @code{\layout}. @end table @@ -1077,6 +1099,14 @@ première. La valeur par défaut est @code{#f}. La désactivation de cette variable permet d'obtenir des pages non numérotées. La valeur par défaut est @code{#t}. +@cindex page, numérotation en chiffres romains +@item page-number-type +@funindex page-number-type + +Le type de chiffres à utiliser pour la numérotation : @code{roman-lower} +(romains minuscules), @code{roman-upper} (romains majuscules) ou +@code{arabic} (arabes). La valeur par défaut est @code{'arabic}. + @end table @seealso @@ -1198,8 +1228,9 @@ La fonction @code{layout-set-staff-size} fait l'objet de la rubrique suivante, @ref{Définition de la taille de portée}. La modification des contextes est abordée dans d'autres chapitres -- voir @ref{Modification des greffons de contexte} et -@ref{Modification des réglages par défaut d'un contexte}. Les variables -du bloc @code{\paper} que l'on peut retrouver dans un bloc +@ref{Modification des réglages par défaut d'un contexte}. + +Les variables du bloc @code{\paper} que l'on peut retrouver dans un bloc @code{\layout} sont : @itemize @@ -1473,7 +1504,6 @@ lignes d'une portée. @menu * Sauts de ligne:: * Sauts de page:: -* Sauts explicites:: @end menu @@ -1481,8 +1511,14 @@ lignes d'une portée. @subsection Sauts de ligne @translationof Line breaking -@cindex saut de ligne +@cindex saut de ligne manuel @cindex ligne, passer à la suivante +@funindex \break +@funindex \noBreak +@funindex \autoBreaksOff +@funindex \autoBreaksOn +@funindex \autoLineBreaksOff +@funindex \autoLineBreaksOn Les sauts de ligne sont normalement gérés de façon automatique. Ils interviennent de telle sorte qu'une ligne ne soit ni trop resserrée, ni @@ -1490,7 +1526,7 @@ trop aérée, et que des lignes consécutives aient à peu près la même densité. Vous pouvez cependant insérer l'instruction @code{\break} à l'endroit où -vous le jugez utile pour @qq{forcer} le passage à la ligne suivante : +vous le jugez utile pour « forcer » le passage à la ligne suivante : @lilypond[quote,ragged-right,relative=2,verbatim] c4 c c c | \break @@ -1542,6 +1578,23 @@ c8 c] c2. | L'instruction opposée, @code{\noBreak}, interdira toute tentative de saut de ligne à la fin de la mesure où elle est explicitée. +Au sein même d'une pièce, les sauts de lignes automatiques sont inhibés +dans la musique encadrée par les commandes @code{\autoLineBreaksOff} et +@code{\autoLineBreaksOn}. Dans le cas où les sauts de pages +automatiques devraient eux aussi être inhibés, ce sont les commandes +@code{\autoBreaksOff} et @code{\autoBreaksOn} qu'il faudrait utiliser. +Les sauts de ligne ou de page manuels ne sont pas affectés par ces +commandes. Notez bien que la désactivation du positionnement +automatique des sauts des ligne peut avoir pour effet un débordement de +la musique dans la marge de droite si tout ne peut être contenu sur une +ligne. + +Des sauts de ligne automatiques peuvent cependant être autorisés en un +point particulier à l'aide d'un @code{\once \autoLineBreaksOn} sur une +barre de mesure. Ceci ne concerne pas les sauts de page. Ceci indique +qu'un saut de ligne peut intervenir à cet endroit précis, mais ne le +force en aucun cas. + LilyPond dispose de deux variables de base pour influencer l'espacement au niveau des lignes. Toutes deux se définissent dans un bloc @code{\layout}, @code{indent} réglant l'indentation de la première @@ -1586,12 +1639,19 @@ ailleurs : @end example @predefined -@funindex \break @code{\break}, -@funindex \noBreak -@code{\noBreak}. +@code{\noBreak}, +@code{\autoBreaksOff}, +@code{\autoBreaksOn}, +@code{\autoLineBreaksOff}, +@code{\autoLineBreaksOn}. @endpredefined +@snippets + +@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] +{using-an-extra-voice-for-breaks.ly} + @seealso Manuel de notation : @ref{Le bloc layout}, @@ -1603,6 +1663,12 @@ Référence des propriétés internes : Morceaux choisis : @rlsrnamed{Spacing,Espacements}. +@knownissues + +Les commandes @code{\autoLineBreaksOff} et @code{\autoBreaksOff} doivent +impérativement se placer après le début de la musique pour éviter tout +message d'erreur. + @node Sauts de page @subsection Sauts de page @@ -1624,18 +1690,29 @@ page, ainsi que les moyens de les modifier. @unnumberedsubsubsec Saut de page manuel @translationof Manual page breaking +@cindex manuel, saut de page +@funindex \pageBreak +@funindex \noPageBreak +@funindex \autoPageBreaksOn +@funindex \autoPageBreaksOff + La gestion automatique des sauts de page se contrôle à l'aide des commandes @code{\pageBreak} et @code{\noPageBreak}. Ces commandes fonctionnent de manière analogue à @code{\break} et @code{\noBreak} pour les sauts de ligne et se placent donc au moment d'une barre de mesure. -Elles permettent de forcer, ou d'interdire, un saut de page à l'endroit -indiqué. Comme on peut s'y attendre, @code{\pageBreak} force aussi le -saut de ligne. +Elles permettent de forcer, ou d'interdire, un saut de page à la +prochaine barre de mesure. Comme on peut s'y attendre, +@code{\pageBreak} force aussi le saut de ligne. Les commandes @code{\pageBreak} et @code{\noPageBreak} peuvent se trouver à des niveaux supérieurs, entre deux partitions ou @emph{markups} de premier rang. +Au sein même d'une pièce, les sauts de page automatiques sont inhibés +dans la musique encadrée par les commandes @code{\autoPageBreaksOff} et +@code{\autoPageeBreaksOn}. Les sauts de page manuels ne sont pas +affectés par ces commandes. + Tout comme @code{ragged-right} et @code{ragged-last} qui permettent de gérer la répartition horizontale, LilyPond dispose de commutateurs équivalents au niveau de la verticalité. @code{ragged-bottom}, une fois @@ -1694,10 +1771,10 @@ sections. @end example @predefined -@funindex \pageBreak @code{\pageBreak}, -@funindex \noPageBreak -@code{\noPageBreak}. +@code{\noPageBreak}, +@code{\autoPageBreaksOn}, +@code{\autoPageBreaksOff}. @endpredefined @seealso @@ -1707,6 +1784,16 @@ Manuel de notation : Morceaux choisis : @rlsrnamed{Spacing,Espacements}. +@knownissues + +Le préfixe @code{\once} est ineffectif en ce qui concerne les commandes +@code{\autoPageBreaksOn} et @code{\autoPageBreaksOff}. Si le +positionnement automatique des sauts de page est désactivé et qu'il est +réactivé pour permettre un saut de page, il doit le rester pendant +quelques mesures (le nombre précis de mesures dépendant de la pièce) +avant d'être à nouveau désactivé, autrement l'opportunité de passer à la +page suivante ne sera pas saisie. + @node Optimisation des sauts de page @unnumberedsubsubsec Optimisation des sauts de page @@ -1865,65 +1952,6 @@ Une partition ne devrait contenir qu'une seule instance du @code{Page_turn_engraver}, au risque de les voir se contredire. -@node Sauts explicites -@subsection Sauts explicites -@translationof Explicit breaks - -Il arrive parfois que LilyPond rejette des @code{\break} ou des -@code{\pageBreak} explicites. Vous pouvez alors prendre le contrôle -avec ces deux instructions dérogatoires : - -@example -\override NonMusicalPaperColumn.line-break-permission = ##f -\override NonMusicalPaperColumn.page-break-permission = ##f -@end example - -Lorsque vous désactivez @code{line-break-permission}, LilyPond -ne passera à la ligne suivante qu'en présence d'un @code{\break} -explicite, et nulle part ailleurs. De la même façon, la désactivation -de @code{page-break-permission} aura pour conséquence que LilyPond ne -changera de page que lorsqu'il rencontrera un @code{\pageBreak}, et -nulle part ailleurs. - -@lilypond[quote,verbatim] -\paper { - indent = #0 - ragged-right = ##t - ragged-bottom = ##t -} - -music = \relative c'' { c8 c c c } - -\score { - \new Staff { - \repeat unfold 2 { \music } \break - \repeat unfold 4 { \music } \break - \repeat unfold 6 { \music } \break - \repeat unfold 8 { \music } \pageBreak - \repeat unfold 8 { \music } \break - \repeat unfold 6 { \music } \break - \repeat unfold 4 { \music } \break - \repeat unfold 2 { \music } - } - \layout { - \context { - \Score - \override NonMusicalPaperColumn.line-break-permission = ##f - \override NonMusicalPaperColumn.page-break-permission = ##f - } - } -} -@end lilypond - -@snippets -@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] -{using-an-extra-voice-for-breaks.ly} - -@seealso -Morceaux choisis : -@rlsrnamed{Spacing,Espacements}. - - @node Espacement vertical @section Espacement vertical @translationof Vertical spacing @@ -2608,7 +2636,7 @@ Cette partition isole les informations de saut de ligne ou de page dans une voix spécifique. La mise en forme est ainsi séparée des événements musicaux ; ceci nous permettra d'y voir plus clair au fur et à mesure que nous avancerons. Pour plus de précisions, relisez -@ref{Sauts explicites}. +@ref{Sauts}. Les @code{\break} explicites répartissent la musique en lignes de six mesures chacune. L'espacement vertical est celui que LilyPond attribue @@ -2898,9 +2926,7 @@ souvent. La courte durée la plus fréquente est déterminée à partir de la note la plus courte de chaque mesure. C'est elle qui servira de base pour l'espacement, à cette nuance près que la plus courte durée ne saurait -être strictement supérieure à la croche. Cette @qq{durée de référence} -est d'ailleurs affichée lorsque vous lancez @code{lilypond} avec l'option -@option{--verbose}. +être strictement supérieure à la croche. Ces durées peuvent être adaptées. Vous pouvez définir la durée de base pour les espacements grâce à la propriété diff --git a/Documentation/fr/notation/staff.itely b/Documentation/fr/notation/staff.itely index 99690af14a..bf0128f3c0 100644 --- a/Documentation/fr/notation/staff.itely +++ b/Documentation/fr/notation/staff.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: ece268fa66e2576c01f33a4a6e1806f44c9f8fa8 + Translation of GIT committish: 868bbbb78276796f43a1c72621fdb3a3a14d2555 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -996,65 +996,45 @@ informations sur la manière d'activer ou désactiver un graveur, voir @cindex instrument, changement de nom @cindex changement de nom d'instrument -Vous pouvez changer le nom d'un instrument en cours de morceau. Notez -cependant que la valeur de @code{instrumentName} ne s'affichera que sur -la première portée : +Le nom abrégé d'un instrument (@code{shortInstrumentName}) peut changer +en cours de morceau, en même temps que les autres réglages propres au +nouvel instrument. Notez cependant que la valeur de +@code{instrumentName} ne s'affichera que sur la première portée : -@lilypond[verbatim,quote,ragged-right,relative=1] -\new Staff \with { - instrumentName = #"Flute" - shortInstrumentName = #"Flt." -} -{ - c1 c c c \break - c1 c c c \break - \set Staff.instrumentName = #"Clarinet" - \set Staff.shortInstrumentName = #"Clt." - c1 c c c \break - c1 c c c \break +@lilypond[verbatim,quote,ragged-right] +prepPiccolo = <>^\markup \italic { muta in Piccolo } + +setPiccolo = { + \set Staff.instrumentName = #"Piccolo" + \set Staff.shortInstrumentName = #"Picc." + \set Staff.midiInstrument = #"piccolo" + <>^\markup \bold { Piccolo } + \transposition c'' } -@end lilypond -@cindex instrument, changement -@cindex changement d'instrument - -@funindex \addInstrumentDefinition -@funindex addInstrumentDefinition -@funindex \instrumentSwitch -@funindex instrumentSwitch - -Lorsqu'un musicien doit changer d'instrument -- piccolo et flûte, basson -et contrebasson --, la commande @code{\addInstrumentDefinition}, -couplée à l'instruction @code{\instrumentSwitch} permet de spécifier en -détail les modifications intervenant lors du changement. La commande -@code{\addInstrumentDefinition} prend deux arguments : une chaîne -de caractères qui servira d'identifiant, et une liste d'association -de valeurs aux propriétés de ce nouvel instrument. Ces définitions -devront être déclarées avant tout autre élément musical. L'instruction -@code{\instrumentSwitch} se placera dans la musique au moment de la -substitution : +prepFlute = <>^\markup \italic { muta in Flauto } -@lilypond[verbatim,quote,ragged-right] -\addInstrumentDefinition #"contrabassoon" - #`((instrumentTransposition . ,(ly:make-pitch -1 0 0)) - (shortInstrumentName . "Cbsn.") - (clefGlyph . "clefs.F") - (middleCPosition . 6) - (clefPosition . 2) - (instrumentCueName . ,(make-bold-markup "cbsn.")) - (midiInstrument . "bassoon")) +setFlute = { + \set Staff.instrumentName = #"Flute" + \set Staff.shortInstrumentName = #"Flt." + \set Staff.midiInstrument = #"flute" + <>^\markup \bold { Flute } + \transposition c' +} \new Staff \with { - instrumentName = #"Bassoon" + instrumentName = #"Flute" + shortInstrumentName = #"Flt." + midiInstrument = #"flute" } -\relative c' { - \clef tenor - \compressFullBarRests - c2 g' - R1*16 - \instrumentSwitch "contrabassoon" - c,,2 g \break - c,1 ~ | 1 +\relative c'' { + g1 g g g \break + g1 g \prepPiccolo R R \break + \setPiccolo + g1 g g g \break + g1 g \prepFlute R R \break + \setFlute + g1 g g g } @end lilypond @@ -1338,7 +1318,7 @@ fluteNotes = \relative c'' { oboeNotes = \relative c'' { R1 - \new CueVoice { \set instrumentCueName = "flute" } + <>^\markup \tiny { flute } \cueDuring #"flute" #UP { R1 } g2 c, } @@ -1379,14 +1359,10 @@ oboeNotes = \relative c'' { } @end lilypond -Le nom de l'instrument qui est répliqué sera imprimé dès lors qu'aura -été définie la propriété @code{instrumentCueName} d'un contexte -@code{CueVoice} temporaire. Le positionnement et le style adopté par -@code{instrumentCueName} dépendent de l'objet @code{InstrumentSwitch} --- voir @ref{Noms d'instrument}. Par ailleurs, si la citation nécessite -l'apparition d'une clef différente, celle-ci devra être introduite -manuellement, tout comme l'originale qui devra être rappelée en fin de -citation. +Le nom de l'instrument qui est répliqué peut s'indiquer à l'aide d'un +@emph{markup}. Par ailleurs, si la citation nécessite l'apparition +d'une clef différente, celle-ci devra être introduite manuellement, tout +comme l'originale qui devra être rappelée en fin de citation. @lilypond[verbatim,quote] fluteNotes = \relative c'' { @@ -1397,7 +1373,7 @@ bassoonNotes = \relative c { \clef bass R1 \clef treble - \new CueVoice { \set instrumentCueName = "flute" } + <>^\markup \tiny { flute } \cueDuring #"flute" #UP { R1 } \clef bass g4. b8 d2 @@ -1422,7 +1398,7 @@ fluteNotes = \relative c'' { bassoonNotes = \relative c { \clef bass R1 - \new CueVoice { \set instrumentCueName = "flute" } + <>^\markup { \tiny "flute" } \cueDuringWithClef #"flute" #UP #"treble" { R1 } g4. b8 d2 } @@ -1480,8 +1456,6 @@ bassClarinetNotes = \relative c' { @funindex \killCues @funindex killCues -@funindex \addInstrumentDefinition -@funindex addInstrumentDefinition La commande @code{killCues} permet de supprimer les notes d'une citation. Ceci est utile lorsque cette citation n'est pas imprimée dans @@ -1501,7 +1475,7 @@ bassoonNotes = \relative c { R1 \tag #'part { \clef treble - \new CueVoice { \set instrumentCueName = "flute" } + <>^\markup \tiny { flute } } \cueDuring #"flute" #UP { R1 } \tag #'part \clef bass diff --git a/Documentation/fr/notation/text.itely b/Documentation/fr/notation/text.itely index 164b9687cb..f61ee8894d 100644 --- a/Documentation/fr/notation/text.itely +++ b/Documentation/fr/notation/text.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: a59d022ee65e8310ea16954da7b637c07ca00ae2 + Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -1171,9 +1171,10 @@ de graphisme. @seealso Manuel de notation : -@ref{Graphic}, +@ref{Align}, @ref{Annotations éditoriales}, -@ref{Align}. +@ref{Dimensions}, +@ref{Graphic}. Fichiers d'initialisation : @file{scm/define-markup-commands.scm}, diff --git a/Documentation/fr/notation/unfretted-strings.itely b/Documentation/fr/notation/unfretted-strings.itely index 35b84030ac..210c8d6058 100644 --- a/Documentation/fr/notation/unfretted-strings.itely +++ b/Documentation/fr/notation/unfretted-strings.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: d4c6b132223ef4312a637160503a132c2373f525 + Translation of GIT committish: fab824ac128346465690246f7a42ce1e8b42db8d When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -99,12 +99,14 @@ Morceaux choisis : @funindex \upbow @funindex \downbow @funindex \open +@funindex \romanStringNumbers @cindex indications d'archet @cindex poussé, indication d'archet @cindex tiré, indication d'archet @cindex indication de corde à vide @cindex corde à vide, indication +@cindex corde, numéro Les indications d'archet se créent comme des articulations, elles sont décrites dans @ref{Articulations et ornements}. @@ -117,24 +119,31 @@ c4(\downbow d) e(\upbow f) @end lilypond @noindent -ou dans l'exemple suivant qui montre trois manières d'indiquer la corde -de La, à vide, sur un violon : +Des chiffres romains peuvent s'ajouter pour indiquer les numéros de +corde (en lieu et place de chiffres arabes cerclés), comme expliqué +dans @ref{Indications du numéro de corde}. + +Alternativement, les indications de corde peuvent se traiter sous forme +de @emph{markup}, et un script indiquer une corde à vide. @lilypond[verbatim,quote,relative=2] a4 \open -a^\markup { \teeny "II" } +\romanStringNumbers +a\2 a2^\markup { \small "sul A" } @end lilypond @predefined @code{\downbow}, @code{\upbow}, -@code{\open}. +@code{\open}, +@code{\romanStringNumbers}. @endpredefined @seealso Manuel de notation : @ref{Articulations et ornements}, +@ref{Indications du numéro de corde}, @ref{Liaisons d'articulation}. diff --git a/Documentation/fr/notation/vocal.itely b/Documentation/fr/notation/vocal.itely index d3fd5edfa4..d9b9f8604f 100644 --- a/Documentation/fr/notation/vocal.itely +++ b/Documentation/fr/notation/vocal.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: b58a17a6b0b6f624cee7858a74092265e0791fe2 + Translation of GIT committish: 868bbbb78276796f43a1c72621fdb3a3a14d2555 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -150,7 +150,7 @@ syllabe. L'exemple suivant comporte une faute de frappe évidente : @end example @noindent -la dernière syllabe contient une @code{@}} ; il y a de fait un +la dernière syllabe contient une @code{@}} ; il y a de fait un défaut de parité avec l'accolade ouvrante, et la compilation échouera fort probablement. Prenez dès à présent l'habitude de toujours encadrer d'espaces une accolade : @@ -165,7 +165,7 @@ dans le fichier et de veiller à le sauvegarder avec le codage UTF-8. Voir à ce sujet @ref{Caractères spéciaux} pour plus de détails. @lilypond[quote,verbatim] -\relative c'' { d8 c16 a bes8 f e' d c4 } +\relative c'' { d8 c16 a bes8 f ees' d c4 } \addlyrics { „Schad’ um das schö -- ne grü -- ne Band, } @end lilypond @@ -194,7 +194,7 @@ mode @code{\markup}, utilisable y compris au sein du mode @code{\lyricmode}. Des explications complètes sont disponibles au chapitre @ref{Mise en forme du texte}. -@snippets +1@snippets @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {formatting-lyrics-syllables.ly} @@ -224,13 +224,25 @@ Référence des propriétés internes : @funindex \addlyrics @funindex \lyricsto -L'impression des paroles est réalisée à partir de l'interprétation d'un -contexte @code{Lyrics} -- voir @ref{Tout savoir sur les contextes}. +Les paroles sont interprétées à partir à partir du mode +@code{\lyricmode} et imprimées dans un contexte @code{Lyrics} -- voir + @ref{Tout savoir sur les contextes}. @example \new Lyrics \lyricmode @{ @dots{} @} @end example +Deux variantes à @code{\lyricmode} permettent de plus d'associer +un contexte pour synchroniser les syllabes à la musique. La plus +commode consiste à ajouter un @code{\addlyrics} directement après +le contenu musical du context @code{Voice} qui devrait se +synchroniser avec le contexte @code{Lyrics} alors implicitement +créé. L'instruction @code{\lyricsto} est plus versatile en ceci +qu'elle requiert de spécifier à la fois le contexte @code{Voice} +associé et de créer explicitement un contexte @code{Lyrics} pour +contenir les paroles. Pour de plus amples détails, voir +@ref{Durée automatique des syllabes}. + Vous disposez de deux méthodes pour aligner des paroles sur une mélodie : @@ -397,11 +409,9 @@ Cette commande adapte les paroles aux notes de la voix (contexte @code{Voice} dans le jargon LilyPond) @var{melodie}. Ce contexte @code{Voice} doit exister avant l'affectation des paroles par @code{\lyricsto}. La commande @code{\lyricsto} introduit -automatiquement le mode @code{\lyricmode} ; il n'est alors pas -nécessaire de rajouter @code{\lyricmode}. Les paroles viendront par -défaut se placer en dessous des notes ; la rubrique -@ref{Positionnement vertical des paroles} vous donnera des indications -pour d'autres options. +automatiquement le mode @code{\lyricmode}. Les paroles viendront par +défaut se placer en dessous des notes. Pour un autre positionnement, +voir @ref{Positionnement vertical des paroles}. @subheading Utilisation de @code{\addlyrics} @@ -2472,7 +2482,7 @@ Manuel de notation : @ref{Mise en forme de la partition}, @ref{Séparation des systèmes}, @ref{Définition de la taille de portée}, -@ref{Sauts explicites}, +@ref{Sauts}, @ref{Espacement vertical}. Référence des propriétés internes : @@ -2739,10 +2749,7 @@ pianoRH = \relative c'' { c4. g8 % position name of cue-ing instrument just before the cue notes, % and above the staff - \new CueVoice { - \override InstrumentSwitch.self-alignment-X = #RIGHT - \set instrumentCueName = "Flute" - } + <>^\markup { \right-align { \tiny "Flute" } } \cueDuring "flute" #UP { g4 bes4 } } pianoLH = \relative c { c4 e, } @@ -2767,11 +2774,7 @@ par l'exemple ci-dessous, dans lequel il est fait appel à une clarinette en si bémol. Dans la mesure où les notes citées se trouvent vers le bas de la portée, nous affectons un @code{DOWN} à la commande @code{\cueDuring}, de telle sorte que les hampes aillent vers le bas et -que le nom de l'instrument cité soit en dessous de la portée. Vous -noterez que la voix contenant la main droite du piano est explicitement -déclarée ; ceci tient au fait que la citation se produit dès le -début de la première mesure -- si nous ne le faisions pas, l'intégralité -de la main droite se verrait placée dans un contexte @code{CueVoice}. +que le nom de l'instrument cité soit en dessous de la portée. @lilypond[quote,verbatim] clarinet = \relative c' { @@ -2783,11 +2786,7 @@ clarinet = \relative c' { pianoRH = \relative c'' { \transposition c' % position name of cue-ing instrument below the staff - \new CueVoice { - \override InstrumentSwitch.self-alignment-X = #RIGHT - \override InstrumentSwitch.direction = #DOWN - \set instrumentCueName = "Clar." - } + <>_\markup { \right-align { \tiny "Clar." } } \cueDuring "clarinet" #DOWN { c4. g8 } g4 bes4 } @@ -2836,7 +2835,6 @@ Morceaux choisis : @rlsrnamed{Vocal music,Musique vocale}. Référence des propriétés internes : -@rinternals{InstrumentSwitch}, @rinternals{CueVoice}. @knownissues diff --git a/Documentation/fr/notation/wind.itely b/Documentation/fr/notation/wind.itely index 6ecc977325..8373587704 100644 --- a/Documentation/fr/notation/wind.itely +++ b/Documentation/fr/notation/wind.itely @@ -1,14 +1,14 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: e6e64de1da49ff8c6005daa5fd81adc8387b2668 + Translation of GIT committish: 4467a72a98fb582466ee4d5944ec8454b4b77fc6 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.16.0" +@c \version "2.19.16" @c Translators: Valentin Villenave, Jean-Charles Malahieude @c Translation checkers: Jean-Charles Malahieude, John Mandereau @@ -214,12 +214,12 @@ tenez à afficher l'armure. Des compositions actuelles peuvent ne pas respecter cette tonalité traditionnelle, auquel cas les do et fa devraient être abaissés en -utilisant @code{cflat} ou @code{fflat} ; ils seront représentés par +utilisant @code{c-flat} ou @code{f-flat} ; ils seront représentés par une note en forme de croix. Lorsqu'on joue des œuvres moins cérémonieuses que pour une parade ou un défilé, peut survenir un sol aigu, au doux nom de -@qq{piobaireachd}, et que l'on indiquera par @code{gflat}. +@qq{piobaireachd}, et que l'on indiquera par @code{g-flat}. @seealso Morceaux choisis : diff --git a/Documentation/fr/notation/world.itely b/Documentation/fr/notation/world.itely index 741e6fcef4..3b774c8d7d 100644 --- a/Documentation/fr/notation/world.itely +++ b/Documentation/fr/notation/world.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: bdff8baf5bce0c4c456ebbf292ba8fc771e4bd31 + Translation of GIT committish: 4467a72a98fb582466ee4d5944ec8454b4b77fc6 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -354,7 +354,7 @@ Manuel de notation : @ref{Armure}. Manuel d’initiation : -@rlearning{Altérations et armure}. +@rlearning{Hauteurs et armure}. Référence des propriétés internes : @rinternals{KeySignature}. diff --git a/Documentation/fr/texidocs/conducting-signs,-measure-grouping-signs.texidoc b/Documentation/fr/texidocs/conducting-signs,-measure-grouping-signs.texidoc index a3c2bb0d37..989fe1f921 100644 --- a/Documentation/fr/texidocs/conducting-signs,-measure-grouping-signs.texidoc +++ b/Documentation/fr/texidocs/conducting-signs,-measure-grouping-signs.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 8eae9a75fb3ec1d0b6633103c8a652608c8fa630 +%% Translation of GIT committish: 4467a72a98fb582466ee4d5944ec8454b4b77fc6 texidocfr = " Les règles de ligature par mesure sont gérées par la propriété de contexte @code{beatStructure}. Ses valeurs par défaut sont diff --git a/Documentation/fr/translations.itexi b/Documentation/fr/translations.itexi index b8576ff180..54499ceb07 100644 --- a/Documentation/fr/translations.itexi +++ b/Documentation/fr/translations.itexi @@ -16,7 +16,7 @@ td { border: 1px solid black; text-align: center; } @end html @end ifhtml -@emph{Dernière mise à jour Wed Dec 18 12:23:14 UTC 2013 +@emph{Dernière mise à jour Tue Dec 30 15:39:08 UTC 2014 } @multitable @columnfractions 0.166666666667 0.166666666667 0.166666666667 0.166666666667 0.166666666667 0.166666666667 @@ -84,7 +84,7 @@ oui @item 1 La gravure musicale @* -5296 +5315 @tab Jean-Charles Malahieude @* John Mandereau @@ -115,7 +115,7 @@ oui @item 2 Références bibliographiques @* -326 +382 @tab Jean-Jacques Gerbaud @* Valentin Villenave @@ -124,11 +124,11 @@ Valentin Villenave @ifhtml @html -partiellement (92 %) +partiellement (93 %) @end html @end ifhtml @ifnothtml -partiellement (92 %) +partiellement (93 %) @end ifnothtml @tab @ifhtml @@ -210,7 +210,7 @@ oui @item 1 Tutoriel Scheme @* -6271 +6335 @tab Jean-Charles Malahieude @tab @tab @@ -237,7 +237,7 @@ oui @item 2 Interfaces pour programmeurs @* -5925 +5756 @tab Valentin Villenave @* Jean-Charles Malahieude @@ -371,7 +371,7 @@ oui @item 2 Bases de notation musicale @* -4396 +4417 @tab Nicolas Grandclaude @* Ludovic Sardain @@ -406,7 +406,7 @@ oui @item 3 Concepts fondamentaux @* -11144 +11193 @tab Valentin Villenave @* Jean-Charles Malahieude @@ -435,7 +435,7 @@ oui @item 4 Retouche de partition @* -16191 +16570 @tab Valentin Villenave @* Nicolas Klutchnikoff @@ -468,7 +468,7 @@ oui @item A Modèles @* -372 +803 @tab Jean-Charles Malahieude @tab @tab @@ -594,7 +594,7 @@ oui @item 1.1 Hauteurs @* -4990 +5202 @tab Frédéric Chiasson @tab Valentin Villenave @* @@ -623,7 +623,7 @@ oui @item 1.2 Rythme @* -6890 +6916 @tab Frédéric Chiasson @* Jean-Charles Malahieude @@ -656,7 +656,7 @@ oui @item 1.3 Signes d'interprétation @* -1793 +1844 @tab Valentin Villenave @* Jean-Charles Malahieude @@ -687,7 +687,7 @@ oui @item 1.4 Répétitions et reprises @* -1050 +1181 @tab Valentin Villenave @* Jean-Charles Malahieude @@ -718,7 +718,7 @@ oui @item 1.5 Notes simultanées @* -2821 +2810 @tab Frédéric Chiasson @* Valentin Villenave @@ -780,7 +780,7 @@ oui @item 1.7 Annotations éditoriales @* -954 +1491 @tab Jean-Charles Malahieude @tab @tab @@ -807,7 +807,7 @@ oui @item 1.8 Texte @* -2816 +2820 @tab Jean-Charles Malahieude @tab Valentin Villenave @* @@ -865,7 +865,7 @@ oui @item 2.1 Musique vocale @* -5190 +4985 @tab Valentin Villenave @* Jean-Charles Malahieude @@ -925,7 +925,7 @@ oui @item 2.3 Cordes non frettées @* -281 +303 @tab Valentin Villenave @* Matthieu Jacquot @@ -956,7 +956,7 @@ oui @item 2.4 Instruments à cordes frettées @* -2662 +2707 @tab Matthieu Jacquot @tab Jean-Charles Malahieude @tab @@ -983,7 +983,7 @@ oui @item 2.5 Percussions @* -811 +804 @tab Valentin Villenave @* Jean-Charles Malahieude @@ -1043,7 +1043,7 @@ oui @item 2.7 Notation des accords @* -1972 +1916 @tab Valentin Villenave @* Jean-Charles Malahieude @@ -1101,7 +1101,7 @@ oui @item 2.9 Notations anciennes @* -5375 +5522 @tab Jean-Charles Malahieude @tab @tab @@ -1157,7 +1157,7 @@ oui @item 3 Généralités en matière d'entrée et sortie @* -10392 +10610 @tab Jean-Charles Malahieude @* Valentin Villenave @@ -1186,7 +1186,7 @@ oui @item 4 Gestion de l'espace @* -12256 +10886 @tab Frédéric Chiasson @* Jean-Charles Malahieude @@ -1215,7 +1215,7 @@ oui @item 5 Modification des réglages prédéfinis @* -15289 +15428 @tab Valentin Villenave @* Jean-Charles Malahieude @@ -1244,7 +1244,7 @@ oui @item A Tables du manuel de notation @* -2176 +3134 @tab Frédéric Chiasson @* Jean-Charles Malahieude @@ -1370,7 +1370,7 @@ oui @item 1 Exécution de @command{lilypond} @* -4537 +5080 @tab Jean-Charles Malahieude @tab @tab @@ -1397,7 +1397,7 @@ oui @item 2 Mise à jour avec @command{convert-ly} @* -1484 +1865 @tab Jean-Charles Malahieude @tab @tab @@ -1424,7 +1424,7 @@ oui @item 3 Association musique-texte avec @command{lilypond-book} @* -4137 +4217 @tab Jean-Charles Malahieude @tab @tab @@ -1451,7 +1451,7 @@ oui @item 4 Programmes externes @* -2817 +2830 @tab Jean-Charles Malahieude @tab @tab @@ -1523,7 +1523,7 @@ LilyPond -- la notation musicale pour tous @item Titre des chapitres @* -616 +642 @tab John Mandereau @tab @tab @@ -1577,7 +1577,7 @@ oui @item Introduction @* -4937 +5707 @tab Gauvain Pocentek @* Jean-Charles Malahieude @@ -1608,7 +1608,7 @@ oui @item Téléchargement @* -1201 +1145 @tab Jean-Charles Malahieude @* John Mandereau @@ -1637,7 +1637,7 @@ oui @item Manuels @* -1284 +1314 @tab John Mandereau @tab Jean-Charles Malahieude @tab @@ -1664,7 +1664,7 @@ oui @item Communauté @* -3073 +2991 @tab Jean-Charles Malahieude @* John Mandereau diff --git a/Documentation/fr/usage.tely b/Documentation/fr/usage.tely index 9ee78f1351..23a6ee5dea 100644 --- a/Documentation/fr/usage.tely +++ b/Documentation/fr/usage.tely @@ -1,6 +1,6 @@ \input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: 9bbdeb11a423017702c73e321643fa420614ce83 + Translation of GIT committish: 2af77c4ae79774eeb99314c052b12f990f03a538 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -17,8 +17,8 @@ @macro manualIntro Ce document constitue le manuel d'utilisation des programmes de GNU -LilyPond@tie{}@version{}. De plus, ce manuel suggère des @qq{bonnes -pratiques} pour une utilisation plus efficace. +LilyPond@tie{}@version{}. De plus, ce manuel suggère des « bonnes +pratiques » pour une utilisation plus efficace. @end macro @c `Usage' was born 1999-10-11 with this commit: @@ -28,7 +28,7 @@ pratiques} pour une utilisation plus efficace. @c file: Documentation/user/invoking.itexi @macro copyrightDeclare -Copyright @copyright{} 1999--2014 par les auteurs. +Copyright @copyright{} 1999--2015 par les auteurs. @end macro @set FDL diff --git a/Documentation/fr/usage/lilypond-book.itely b/Documentation/fr/usage/lilypond-book.itely index 2c1d263585..5c3f0b34bd 100644 --- a/Documentation/fr/usage/lilypond-book.itely +++ b/Documentation/fr/usage/lilypond-book.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: e0f3be42e16458e44183c142561ccdd05aa1bfb9 + Translation of GIT committish: 0a003d729ded8b728bf627c87c196719676dba6b When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -992,6 +992,23 @@ des fontes, que vous pouvez ignorer sans scrupule.@* Si vous utilisez @command{latex} en mode colonnage, n'oubliez pas d'ajouter @option{-t landscape} aux options de @command{dvips}. +Les environnements tels que + +@example +\begin@{lilypond@} @dots{} \end@{lilypond@} +@end example + +@noindent +ne sont pas interprétés par @LaTeX{}. En fait, @code{lilypond-book} +extrait ces « environnements » dans des fichiers accessoires et les +traite par LilyPond. Il récupère ensuite les graphiques résultants et +crée un fichier @file{.tex} dans lequel les macros +@code{\begin@{lilypond@}}@dots{}@code{\end@{lilypond@}} sont alors +remplacées par des commandes « d'inclusion de graphique ». C'est +seulement à ce moment là que @LaTeX{} est lancé -- bien que @LaTeX{} +aura préalablement tourné, cela aura été en fait sur un document +« vide » et pour calculer certains éléments comme @code{\linewidth}. + @knownissues La commande @code{\pageBreak} est inopérante dans un environnement @code{\begin@{lilypond@}@dots{}\end@{lilypond@}}. @@ -1479,4 +1496,3 @@ où @code{\includescore} est défini ainsi : D'autres moyens de mélanger musique et texte sans recourir à @command{lilypond-book} sont abordés au chapitre @ref{Inclusion de partition LilyPond dans d'autres programmes}. - diff --git a/Documentation/fr/usage/running.itely b/Documentation/fr/usage/running.itely index 48221a18bd..92b38f90ce 100644 --- a/Documentation/fr/usage/running.itely +++ b/Documentation/fr/usage/running.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: 6ec0d3283b9e23f2d21658d71ac6801c3aab69b8 + Translation of GIT committish: 0061a10c574353b9bb4097ba1c214da7d9d714a2 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -15,7 +15,7 @@ @node Exécution de lilypond @chapter Exécution de @command{lilypond} -@translationof Running lilyPond +@translationof Running lilypond Ce chapitre passe en revue ce qui se passe lorsque vous lancez LilyPond. @@ -47,11 +47,11 @@ certaines options particulières. D'autre part, certains utilitaires associés, tel que @code{midi2ly}, ne sont disponibles qu'en ligne de commande. -Par @qq{ligne de commande}, nous entendons l'interface de commande du +Par « ligne de commande », nous entendons l'interface de commande du système. Les utilisateurs de Windows seront certainement plus familiers -des termes @qq{fenêtre DOS} ou @qq{invite de commande}. Quant aux +des termes « fenêtre DOS » ou « invite de commande ». Quant aux utilisateurs de MacOS X, ils connaissent assurément les termes -@qq{console} et @qq{terminal}. Les paramétrages spécifiques au système +« console » et « terminal ». Les paramétrages spécifiques au système MacOS font l'objet d'un @rwebnamed{MacOS X,chapitre particulier}. Notre propos n'est pas ici d'expliquer ce qu'est l'interface de @@ -60,7 +60,7 @@ Aussi, si vous ne savez de quoi il retourne, nous vous renvoyons aux nombreuses documentations que vous pourrez trouver sur ce sujet. @menu -* Lancement de lilypond:: +* Lancement de LilyPond:: * Options basiques de lilypond:: * Options avancées de lilypond:: * Variables d'environnement:: @@ -68,9 +68,9 @@ nombreuses documentations que vous pourrez trouver sur ce sujet. @end menu -@node Lancement de lilypond -@unnumberedsubsec Lancement de @command{lilypond} -@translationof Invoking lilypond +@node Lancement de LilyPond +@unnumberedsubsec Lancement de LilyPond +@translationof Invoking LilyPond L'exécutable @command{lilypond} en ligne de commande se lance ainsi : @@ -108,32 +108,80 @@ fournira grâce à LilyPond @file{@var{racine}-violon.pdf} et @file{@var{racine}-cello-1.pdf}. -@unnumberedsubsubsec Commandes standard de l'interpréteur -@translationof Standard shell commands +@unnumberedsubsubsec Utilisation de LilyPond avec les fonctionnalités standard de l'interpréteur +@translationof Using LilyPond with standard shell features -Si votre interpréteur -- terminal, console, etc. -- prend en charge les -redirections, les commandes qui suivent vous permettront de -judicieusement rediriger les affichages de la console dans un -fichier : +Dans la mesure où LilyPond est une application qui fonctionne en ligne +de commande, les fonctionnalités de l'interpréteur utilisé pour lancer +LilyPond peuvent se révéler utiles. -@itemize +Par exemple, -@item -@code{lilypond fichier.ly 1>stdout.log} pour le verbiage normal +@example +lilypond *.ly +@end example -@item -@code{lilypond fichier.ly 2>stderr.log} pour les messages d'erreur +@noindent +traitera tous les fichiers LilyPond présents dans le répertoire en +cours. -@item -@code{lilypond fichier.ly &>tous.log} pour garder une trace de tout ce -qui s'est passé +Rediriger, par exemple dans un fichier, ce qui est émis à l'écran peut +s'avérer utile. -@end itemize +@example +lilypond fichier.ly 1> stdout.log + +lilypond fichier.ly 2> stderr.log + +lilypond fichier.ly &> tous.log +@end example + +@noindent +redirigeront respectivement le « verbiage normal », les erreurs ou tout, +dans un fichier texte. Consultez avant tout la documentation de votre interpréteur habituel -pour vérifier qu'il prend en charge ces options dans cette syntaxe. -Notez bien qu'il s'agit ici de commandes internes à l'interpréteur et -qui n'ont rien à voir avec LilyPond. +-- terminal, console, etc. -- pour vérifier qu'il prend en charge les +options dans cette syntaxe. + +Voici comment traiter un jeu de fichiers répartis dans un répertoire +donné ainsi que tous ses différents sous-répertoires. Les fichiers +résultants seront regroupés dans le répertoire à partir duquel la +commande a été exécutée, non selon l'emplacement des fichiers sources. + +@example +find . -name '*.ly' -exec lilypond '@{@}' \; +@end example + +@noindent +Cette commande, bien qu'effective uniquement dans un terminal, devrait +être fonctionnelle aussi pour les utilisateurs de MacOS X. + +Les utilisateurs de windows utiliseront l'instruction + +@example +forfiles /s /M *.ly /c "cmd /c lilypond @@file" +@end example + +@noindent +dans l'@code{interpréteur de commandes}, qui se trouve normalement sous +@code{Démarrer > Accessoires > Interpréteur de commandes} ou, pour la +version 8, en faisant une recherche sur « interpréteur de commande ». + +Par ailleurs, il est possible de spécifier de manière explicite le chemin +d'accès au dossier comportant des sous-répertoires où se trouvent les +fichiers sources, à l'aide de l'option @code{/p} : + +@example +forfiles /s /p C:\Documents\MesPartitions /M *.ly /c "cmd /c lilypond @@file" +@end example + +Dans le cas où ce chemin d'accès comporte des espaces, l'intégralité de +ce chemin devra être borné par des guillemets informatiques : + +@example +forfiles /s /p "C:\Documents\Mes Partitions" /M *.ly /c "cmd /c lilypond @@file" +@end example @node Options basiques de lilypond @@ -150,6 +198,35 @@ Différentes options sont disponibles en ligne de commande : @table @code +@item -b, --bigpdfs +@cindex bigpdfs + +Les fichiers PDF générés peuvent être beaucoup plus lourd que la normale +selon le degré d'optimisation des fontes. Néanmoins, lorsque plusieurs +fichiers PDF sont inclus dans un document @code{pdftex}, @code{xetex} ou +@code{luatex}, ils peuvent faire l'objet d'un traitement supplémentaire +par @code{ghostscript} afin de fusionner les données de fontes +redondantes et ainsi obtenir un fichier PDF @emph{significativement} +plus léger. + +@example +lilypond -b monfichier +@end example + +Puis lancer @code{ghostscript} : + +@example +gs -q -sDEVICE=pdfwrite -o gsout.pdf monfichier.pdf +@end example + +@code{pdfsizeopt.py} vient alors en complément pour optimiser encore la +taille du fichier : + +@example +pdfsizeopt.py --use-multivalent=no gsout.pdf final.pdf +@end example + + @item -d, --define-default=@var{variable}=@var{valeur} Voir @ref{Options avancées de lilypond}. @@ -188,7 +265,7 @@ doubles @code{"} en lieu et place des guillemets simples @code{'}.} Détermine le format à produire. Il peut s'agir de @code{ps}, @code{pdf} ou @code{png}. -Exemple : @code{lilypond -fpng @var{monfichier}.ly} +Exemple : @code{lilypond -fpng @var{monfichier}.ly} @item -h, --help Affiche un résumé des commandes. @@ -450,7 +527,11 @@ permet d'utiliser les fontes woff avec le moteur SVG. @item @code{clip-systems} @tab @code{#f} -@tab Génère des typons à partir d'une partition. +@tab Extrait des fragments musicaux d'une partition. Ceci requiert que +la fonction @code{clip-regions} a été définie au sein du bloc +@code{\layout} -- voir @ruser{Extraction de fragments musicaux}. Bien +entendu, aucun fragment ne sera extrait si l'on utilise l'option +@option{-dno-print-pages} @item @code{datadir} @tab @@ -1024,6 +1105,7 @@ facilement. * Message d'erreur FT_Get_Glyph_Name:: * staff-affinities devraient aller en ordre décroissant:: * Message d'erreur unexpected new:: +* Cette voix requiert un voiceXx ou un réglage shiftXx:: @end menu @@ -1066,7 +1148,7 @@ s'appliquer au contexte en cours. Pour des partitions simples, le fait que les contextes soient automatiquement créés rend bien des services, et c'est d'ailleurs le cas pour la majorité des exemples contenus dans les manuels de LilyPond. Cependant, la création implicite d'un contexte -peut aboutir à l'apparition d'une portée @qq{parasite}. On s'attend par +peut aboutir à l'apparition d'une portée « parasite ». On s'attend par exemple, en lisant le code qui suit, à ce que toutes les têtes de note soient en rouge, alors que le résultat nous présente deux portées et que les notes, placées sur la portée inférieure, restent en noir. @@ -1185,3 +1267,44 @@ dit, LilyPond les traitera simultanément : >> } @end lilypond + + +@node Cette voix requiert un voiceXx ou un réglage shiftXx +@unnumberedsubsec Cette voix requiert un @code{@bs{}voiceXx} ou un réglage @code{@bs{}shiftXx} +@translationof Warning this voice needs a voiceXx or shiftXx setting + +Lorsque des notes affectées à des voix différentes et ayant la même +orientation de hampe interviennent au même instant musical et qu'aucun +décalage spécifique à la voix n'a été spécifié, LilyPond émet +@code{Avertissement : Cette voix requiert un voiceXx ou un réglage +shiftXx} (@emph{warning: this voice needs a \voiceXx or \shiftXx +setting}). Cet avertissement est émis même lorsque ces notes n'ont pas +de hampe visible, comme par exemple des rondes, si les hampes des durées +inférieures à ces même hauteurs avaient la même orientation. + +N'oublions pas que l'orientation des hampes dépend de la position des +notes sur la portée à moins que cette orientation n'ait été spécifiée, +par exemple à l'aide d'un @code{\voiceOne} ou autre clause. En pareil +cas, l'avertissement ne sera émis que lorsque les hampes auront la même +orientation, autrement dit lorsque les notes seront dans la même moitié +de la portée. + +Le fait de placer les notes dans des voix auxquelles sont attachés +orientation de hampe et décalage, comme @code{\voiceOne} ou autre, peut +permettre d'éviter ces avertissements. + +Les notes se trouvant dans des voix au numéro plus élévé -- +@code{\voiceThree} ou @code{\voiceFour} -- sont automatiquement décalées +pour éviter que les empilements se chevauchent. Ceci aura pour résultat +de visuellement décaler les notes affublées de hampe sans toutefois +bouger les rondes, hormis dans le cas d'un réel chevauchement ou lorsque +ces voix se croisent (@code{\voiceThree} au dessus de@code{\voiceOne}). + +@seealso +Manuel d'initiation : +@rlearning{Instanciation explicite des voix}, +@rlearning{Exemple concret}. + +Manuel de notation : +@ruser{Polyphonie sur une portée}, +@ruser{Résolution des collisions}. diff --git a/Documentation/fr/usage/suggestions.itely b/Documentation/fr/usage/suggestions.itely index 864b06a4d7..24c1e41284 100644 --- a/Documentation/fr/usage/suggestions.itely +++ b/Documentation/fr/usage/suggestions.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: bd751630011a6fbfcf069ec1fc41a8eaed8a6b87 + Translation of GIT committish: b5bcf58b17f2e5d8a76740050fe9b7212748bd7b When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -60,27 +60,20 @@ jour. @section Suggestions générales @translationof General suggestions -Voici quelques conseils qui peuvent vous éviter certains problèmes ou -en résoudre d'autres. +Voici quelques conseils qui vous permettront d'éviter, voire même +résoudre, la plupart des problèmes de saisie. @itemize -@item @strong{Ajoutez le numéro de version dans chaque fichier}. -Notez que chaque fichier modèle contient une ligne -@code{\version "@version{}"}. Nous vous conseillons fortement -d'inclure cette ligne, même pour de petits fichiers. Par expérience, il -est très difficile de se rappeler quelle version de LilyPond on -utilisait quelques années auparavant. L'utilitaire @command{convert-ly} -demande que vous spécifiiez la version de LilyPond vous utilisiez alors. - -@item @strong{Ajoutez des contrôles} -@rusernamed{Vérifications d'octave,d'octaviation} et -@rusernamed{Vérification des limites et numéros de mesure,de limite ou -numéro de mesure}. Si vous avez ajouté des contrôles de loin en loin, -et que vous faites une erreur, vous pourrez la retrouver plus -rapidement. @qq{De loin en loin}, qu'est-ce à dire ? Cela dépend -de la complexité de la musique. Pour de la musique très simple, -peut-être une ou deux fois. Pour de la musique très complexe, peut-être -à chaque mesure. +@item @strong{Ajoutez toujours le numéro de version dans chaque +fichier}, quelle que soit sa taille. Par expérience, il est très +difficile de se rappeler quelle version de LilyPond a servi au moment de +la création d'un fichier. Ceci s'avèrera d'autant plus utile lors d'une +@rprogramnamed{Mise à jour avec convert-ly, mise à jour} +(@command{convert-ly} requiert la présence d'une ligne @code{\version}) +ou si vous transmettez votre fichier à d'autres utilisateurs -- y +compris pour demander de l'aide sur les listes de diffusion. Vous +noterez par ailleurs que tous les fichiers modèles de LilyPond ont une +mention @code{\version}. @item @strong{Une mesure par ligne de texte}. Si la musique en elle-même ou le résultat que vous désirez contient @@ -89,27 +82,77 @@ mesure par ligne. Économiser de la place en tassant huit mesures par ligne, ça ne vaut pas vraiment le coup si l'on doit corriger vos fichiers. +@item @strong{Ajoutez des contrôles} +@rusernamed{Vérifications d'octave,d'octaviation} et +@rusernamed{Vérification des limites et numéros de mesure,de limite ou +numéro de mesure}. Si vous avez ajouté des contrôles de loin en loin, +et que vous faites une erreur, vous pourrez la retrouver plus +rapidement. « De loin en loin », qu'est-ce à dire ? Cela dépend +de la complexité de la musique. Pour de la musique très simple, à +certains endroits stratégiques. Pour de la musique très complexe ou +avec une multiplicité de voix, peut-être à chaque mesure. + @item @strong{Ajoutez des commentaires}. Utilisez soit des numéros de mesure (assez souvent), soit des références -au contenu musical -- @qq{second thème des violons}, @qq{quatrième -variation}, etc. Vous pouvez ne pas avoir besoin des commentaires +au contenu musical -- « second thème des violons », « quatrième +variation », etc. Vous pouvez ne pas avoir besoin des commentaires lorsque vous écrivez une pièce pour la première fois, mais si vous souhaitez y revenir deux ou trois ans plus tard pour changer quelque chose, ou si vous donnez le fichier source à un ami, ce sera beaucoup plus difficile de déterminer vos intentions ou la manière dont votre fichier est structuré si vous n'y avez pas adjoint de commentaires. -@item @strong{Indentez les accolades}. -Beaucoup de problèmes viennent d'un défaut de parité entre @code{@{} et -@code{@}}. - @item @strong{Mentionnez les durées} au début de chaque section ou variable. Si vous saisissez @code{c4 d e} au début d'une phrase, vous vous épargnerez des problèmes si, plus tard, vous modifiez votre musique. +@item @strong{Indentez les accolades et indications de musique en parallèle}. +Beaucoup de problèmes viennent d'un défaut de parité entre @code{@{} et +@code{@}} ou @code{<<} et @code{>>}. Par exemple, + +@example +\new Staff @{ + \relative g' @{ + r4 g8 g c8 c4 d | + e4 r8 | + % Ossia section + << + @{ f8 c c | @} + \new Staff @{ + f8 f c | + @} + >> + r4 | + @} +@} +@end example + +@noindent +est bien plus facile à appréhender que + +@example +\new Staff @{ \relative g' @{ r4 g8 g c4 c8 d | e4 r8 +% Ossia section +<< @{ f8 c c @} \new Staff @{ f8 f c @} >> r4 | @} @} +@end example + + @item @strong{Séparez les affinages de mise en forme} -de la musique elle-même. Voyez +de la musique elle-même, ne serait-ce qu'en positionnant les dérogations +au sein du bloc @code{\layout} : + +@example +\score @{ + @var{@dots{}musique@dots{}} + \layout @{ + \override TabStaff.Stemstencil = ##f + @} +@} +@end example + +Ceci n'aura par pour effet de générer un contexte supplémentaire, mais +s'appliquera dès sa création. Voyez @rlearning{Économie de saisie grâce aux identificateurs et fonctions} et @rlearning{Feuilles de style}. @@ -125,7 +168,7 @@ c'est-à-dire de la musique déjà écrite, @itemize -@item +@item n'entrez qu'un seul système de la partition originale à la fois -- avec toujours une seule mesure par ligne de texte --, et vérifiez chaque système lorsqu'il est terminé. Vous pouvez diff --git a/Documentation/fr/usage/updating.itely b/Documentation/fr/usage/updating.itely index 3b695625a8..068f582b63 100644 --- a/Documentation/fr/usage/updating.itely +++ b/Documentation/fr/usage/updating.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: 6ec0d3283b9e23f2d21658d71ac6801c3aab69b8 + Translation of GIT committish: 4467a72a98fb582466ee4d5944ec8454b4b77fc6 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -20,12 +20,16 @@ @cindex mise à jour de fichiers LilyPond @cindex convert-ly -La syntaxe des fichiers LilyPond évolue avec le temps, que ce soit dans -le but de la simplifier ou pour l'améliorer. Il en résulte que -l'interpréteur de LilyPond se retrouve incapable de traiter d'anciens -fichiers. L'utilitaire @command{convert-ly} permet cependant de -mettre ces fichiers en conformité au fur et à mesure que de nouvelles -versions de LilyPond sont disponibles. +Au fur et à mesure des améliorations de LilyPond, la syntaxe ou façon de +libeller les fonctions et commandes peut être amenée à évoluer. Ceci +peut avoir pour effet de générer des erreurs ou avertissements +intempestifs, voire une sortie erronée, lorsque des fichiers créés avec +une version antérieure sont traités par une version plus récente du +progamme. + +L'utilitaire @command{convert-ly} permet alors de mettre ces fichiers en +conformité au fur et à mesure que de nouvelles versions de LilyPond sont +disponibles. @menu * LilyPond est une langue vivante:: @@ -43,27 +47,29 @@ versions de LilyPond sont disponibles. @cindex convert-ly @cindex mise à jour d'anciens fichiers -La syntaxe de LilyPond change de temps en temps. Ces changements de -syntaxe -- le langage d'entrée -- accompagnent les améliorations du -logiciel. Ces changements sont parfois destinés à rendre les fichiers -plus faciles à lire et à écrire, ou permettent d'intégrer de nouvelles -fonctionnalités. - -Par exemple, tous les noms des propriétés de @code{\paper} et -@code{\layout} devaient être libellées sous la forme -@code{@w{premier-deuxième-troisième}}. Nous avons constaté, une fois la -version 2.11.60 mise à disposition, que la propriété -@code{printallheaders} ne respectait pas cette convention. Aurions-nous -dû la laisser telle que, au risque de dérouter les nouveaux utilisateurs -par cette exception au formatage, ou bien la modifier -- ce qui allait -obliger ceux qui l'avaient déjà utilisée à se mettre en chasse ? -Pour ce cas d'espèce, nous avons décidé de changer pour -@code{print-all-headers}. Cette modification peut heureusement être -automatisée par notre utilitaire @command{convert-ly}. +La syntaxe de LilyPond change de temps en temps, que ce soit pour rendre +les fichiers plus faciles à lire et à écrire, ou pour intégrer de +nouvelles fonctionnalités. + +En voici un exemple flagrant : + +Tous les noms des propriétés de @code{\paper} et @code{\layout} sont +libellés sous la forme @code{@w{premier-deuxième-troisième}}. Nous +avons constaté, une fois la version 2.11.60 mise à disposition, que la +propriété @code{printallheaders} ne respectait pas cette convention. +Aurions-nous dû la laisser telle que, au risque de dérouter les nouveaux +utilisateurs par cette exception au formatage, ou bien la modifier -- ce +qui allait obliger ceux qui l'avaient déjà utilisée à se mettre en +chasse ? + +Pour ce cas d'espèce, nous avons décidé de changer le nom de cette +propriété en @code{print-all-headers} et de permettre à ceux qui +avaient utilisé l'ancienne syntaxe de modifier automatiquement leurs +fichiers à l'aide de notre utilitaire @command{convert-ly}. Malheureusement, @command{convert-ly} ne peut pas réaliser toutes les -modifications. Par exemple, dans les versions 2.4 et antérieures de -LilyPond, les accents et les lettres non anglaises étaient entrées en +modifications. Par exemple, dans les versions de LilyPond antérieures à +la 2.4.2, les accents et les lettres non anglaises étaient entrées en utilisant @LaTeX{} -- par exemple, @code{No\"el}. À partir de la version 2.6, le caractère @code{ë} doit être entré directement dans le fichier LilyPond comme caractère UTF-8. @command{convert-ly} ne @@ -83,10 +89,10 @@ manuelle ; la version de « départ » devrait toujours rester disponible pour comparaison. @item -Seules des conversions à un format plus récent sont possibles ; aucune -règle ne permet de revenir en arrière. La copie de travail d'un fichier -LilyPond ne devrait donc être mise à jour que lorsque la version sur -laquelle il repose n'est plus disponible. Des système de gestion de +Seules des conversions à une syntaxe plus récente sont possibles ; +aucune règle ne permet de revenir en arrière. La copie de travail d'un +fichier LilyPond ne devrait donc être mise à jour que lorsque la version +sur laquelle il repose n'est plus maintenue. Des système de gestion de version tels que Git permettent de se tenir à jour sur plusieurs versions. @@ -104,8 +110,8 @@ jour avec @command{convert-ly}. @section Exécution de @command{convert-ly} @translationof Invoking convert-ly -@command{convert-ly} utilise les mentions de @code{\version} -- que vous -n'avez sûrement pas oublié de porter dans vos fichiers -- pour +La commande @command{convert-ly} utilise les mentions de @code{\version} +-- que vous n'avez sûrement pas oublié de porter dans vos fichiers -- pour déterminer le numéro de l'ancienne version. Mettre à jour votre fichier ne vous demande que de lancer @@ -115,7 +121,8 @@ convert-ly -e monfichier.ly @noindent dans le dossier où il se trouve. @file{monfichier.ly} sera mis à jour, -et vous aurez une copie de l'original : @file{monfichier.ly~}. +avec un nouveau buméro en argument à @code{\version}, et vous aurez une +copie de l'original : @file{monfichier.ly~}. @warning{@command{convert-ly} effectuera les conversions jusqu'aux modifications de syntaxe les plus récentes qu'il contient. C'est la @@ -129,23 +136,56 @@ Vous pouvez convertir tous les fichiers d'un dossier en lançant convert-ly -e *.ly @end example -Vous pouvez aussi affecter un autre nom au fichier mis à jour et -conserver votre fichier original en l'état : +Les utilisatuers de Gnu/Linux ou de MacOS X peuvent lancer cette +commande dans un terminal. Les utilisateurs de MacOS X disposent d'une +entrée spécifique dans le menu : @code{Compile > Update syntax}. + +Un utilisateur de Windows lancera la commande @example -convert-ly monfichier.ly > monnouveaufichier.ly +convert-ly.py -e *.ly +@end example + +@noindent +dans l'@code{interpréteur de commandes}, qui se trouve normalement sous +@code{Démarrer > Accessoires > Interpréteur de commandes} ou, pour la +version 8, en faisant une recherche sur « interpréteur de commande ». + +La conversion d'un jeu de fichiers répartis dans différents +sous-répertoires s'obtient en lançant + +@example +find . -name '*.ly' -exec convert-ly -e '@{@}' \; +@end example + +Ceci aura pour effet de rechercher et convertir tous les fichiers +sources dans le répertoire en cours et dans tous ses sous-répertoires. +les fichiers convertis se trouveront à leur emplacement d'orignie, tout +comme les fichiers originels après renommage. Cette commande, bien +qu'effective uniquement dans un terminal, devrait etre fonctnionnelle +aussi pour les utilisateurs de MacOS X. + + +Les utilisateurs de windows utiliseront l'instruction + +@example +forfiles /s /M *.ly /c "cmd /c convert-ly.py -e @@fichier" @end example -Le programme affichera les numéros de version correspondant aux -différentes conversions effectuées. Si aucun numéro de version -n'apparaît, considérez que le fichier ne comporte pas de syntaxe -obsolète. +Par ailleurs, il est possible de spécifier de manière explicite le chemin +d'accès au dossier comportant des sous-répertoires où se trouvent les +fichiers sources, à l'aide de l'option @code{/p} : -Les utilisateurs de MacOS X disposent d'une entrée spécifique dans -le menu : @code{Compile > Update syntax}. +@example +forfiles /s /p C:\Documents\MesPartitions /M *.ly /c "cmd /c convert-ly.py -e @@fichier" +@end example -Si vous utilisez windows, ouvrez un interpréteur de commande en faisant -@code{Démarrer > Accessoires > Interpréteur de commandes}. +Dans le cas où ce chemin d'accès comporte des espaces, l'intégralité de +ce chemin devra être borné par des guillemets informatiques : + +@example +forfiles /s /p "C:\Documents\Mes Partitions" /M *.ly /c "cmd /c convert-ly.py -e @@fichier" +@end example @node Options en ligne de commande pour convert-ly @@ -175,6 +215,19 @@ pour éditer directement le fichier d'origine. Le fichier originel est renommé en que @file{monfichier.ly~}. Ce fichier de sauvegarde, selon le système d'exploitation, peut être « caché ». +Vous pouvez aussi affecter un autre nom au fichier mis à jour et +conserver votre fichier original en l'état : + +@example +convert-ly monfichier.ly > monnouveaufichier.ly +@end example + +@noindent et, pour les utilisateurs de windows : + +@example +convert-ly.py monfichier.ly > monnouveaufichier.ly +@end example + @item -b, --backup-numbered combine à l'option @samp{-e}, pour numéroter les sauvegardes de telle sorte qu'aucune version antérieure ne soit écrasée. Les fichiers de diff --git a/Documentation/fr/web.texi b/Documentation/fr/web.texi index a7fcc19039..c66f6cde22 100644 --- a/Documentation/fr/web.texi +++ b/Documentation/fr/web.texi @@ -1,6 +1,6 @@ \input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: 9bbdeb11a423017702c73e321643fa420614ce83 + Translation of GIT committish: c054eb280fd9953596eb164f67b0f9d5555c5a32 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -37,11 +37,11 @@ @c commit: d189a2119004c2f75da2020ea2ed36d817582fc5 @c @macro copyrightDeclare -@c Copyright @copyright{} 2003--2014 par les auteurs. +@c Copyright @copyright{} 2003--2015 par les auteurs. @c @end macro @copying -Copyright @copyright{} 2009--2014 par les auteurs. +Copyright @copyright{} 2009--2015 par les auteurs. @c next line is necessary for broken pre-4.13 texinfo's @c install-info, so leave it there until we officially diff --git a/Documentation/fr/web/community.itexi b/Documentation/fr/web/community.itexi index bd2f7def04..659b937d18 100644 --- a/Documentation/fr/web/community.itexi +++ b/Documentation/fr/web/community.itexi @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage : fr -*- @c This file is part of web.texi @ignore - Translation of GIT committish: 730d4eb3e0328e8ba0b376f8191a5bb6ae7f904c + Translation of GIT committish: c054eb280fd9953596eb164f67b0f9d5555c5a32 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -56,7 +56,8 @@ concernées. @ref{Développement} : pour ceux qui veulent contribuer et tester. @item -@ref{GSoC 2012}: liste des projets pour le Google Summer of Code 2012. +@ref{Google Summer of Code}: liste des projets pour le Google Summer of +Code 2012. @item @ref{Auteurs} : ceux qui ont permis à LilyPond d'être ce qu'il est @@ -97,7 +98,7 @@ aux cours des versions précédentes. * Participation:: * Mécénat:: * Développement:: -* GSoC 2012:: +* Google Summer of Code:: * Auteurs:: * Remerciements:: * Publications:: @@ -538,7 +539,7 @@ une fois qu'il aura été ajouté à la base. Vous pourrez alors, après l'avoir @qq{marqué}, y apporter vos commentaires et être automatiquement notifié du traitement apporté à ce -bogue, dès lors que vous avez un compte chez google. +bogue, dès lors que vous avez un identifiant reconnu par google. @divEnd @divClass{column-center-bottom} @@ -925,68 +926,61 @@ dernière mouture est consultable sur @url{http://lilypond.org}} @divEnd -@node GSoC 2012 -@unnumberedsec GSoC 2012 -@translationof GSoC 2012 +@node Google Summer of Code +@unnumberedsec Google Summer of Code +@translationof Google Summer of Code @divClass{column-center-top} @subheading Le Google Summer of Code -Le Google Summer of Code est un programme global qui rémunère des -étudiants durant la période estivale, pour travailler au profit de -projets @emph{open source}. +Ce programme global, mis en place par Google, rémunère des étudiants +durant la période estivale, pour travailler au profit de projets +@emph{open source}. -L'équipe LilyPond considère qu'il s'agit là d'une excellente opportunité -pour recruter de nouveaux contributeurs, encourager et motiver des -étudiants qui participent déjà au développement de LilyPond. L'un de -nos contributeurs a été reçu pour participer à l'édition 2012 du -programme, sous l'égide du @uref{http://www.gnu.org/, projet GNU}, et -nous comptons bien participer aux éditions futures. +Il s'agit là d'une excellente opportunité pour recruter de nouveaux +contributeurs, encourager et motiver des étudiants qui participent déjà +au développement de LilyPond. L'un de nos contributeurs a été reçu pour +participer à l'édition 2012 du programme, sous l'égide du +@uref{http://www.gnu.org/, projet GNU}, et espérons bien que d'autres se +feront acte de candidature pour les éditions futures. @divEnd @divClass{column-center-bottom} -@subheading Recensement de nos idées pour 2012 +@subheading Recensement de nos idées Voici les projets que nous avons proposés aux étudiants du GSoC 2012. -Bien que la période de candidature soit close, nous avons décidé de -maintenir en ligne cette page du site, comme source d'inspiration pour -ceux qui seraient intéressés au développement de LilyPond. Des membres -de l'équipe de développement aideront volontiers ceux qui aimeraient -s'attaquer à l'un de ces projets. +Nous avons décidé de maintenir en ligne cette page du site, comme source +d'inspiration pour ceux qui seraient intéressés au développement de +LilyPond. Des membres de l'équipe de développement aideront volontiers +ceux qui aimeraient s'attaquer à l'un de ces projets. -Il y a naturellement bien d'autres choses à améliorer dans LilyPond, y -compris dans les détails. Une liste exhaustive des problèmes est -disponible @uref{http://code.google.com/p/lilypond/issues/list, ici}. +Il y a bien d'autres choses à améliorer dans LilyPond et les membres de +l'équipe de développement aideront volontiers ceux qui aimeraient s'y +atteler. + +Une liste exhaustive des problèmes est disponible +@uref{http://code.google.com/p/lilypond/issues/list, ici}. @subheading Notes d'ornement @emph{(grace notes)} -Résolution des problèmes de synchronisation des notes d'ornement, tout -en tenant compte de l'architecture sous-jacente (voir -@uref{http://code.google.com/p/lilypond/issues/detail?id=34, -le numéro 34 de notre traceur}). Les notes d'ornement perturbent -LilyPond dans sa gestion du temps, dans la mesure où elles correspondent -quelque peu à un retour en arrière. Ceci entraîne des effets -indésirables tout particulièrement lorsqu'elles interviennent dans une -portée seulement. +Résolution des problèmes de synchronisation des notes d'ornement. Les +notes d'ornement peuvent venir perturber LilyPond dans sa gestion du +temps et entraîner des effets indésirables tout particulièrement +lorsqu'elles interviennent dans une portée seulement. @strong{Difficulté :} moyenne - @strong{Préalables :} C++, MIDI - @strong{Recommandé :} familiarité avec les arcanes de LilyPond - @strong{Mentors :} Mike Solomon, Carl Sorensen @subheading MusicXML -Ajout d'une fonctionnalité d'export au format MusiXML et amélioration de -l'import, tout en fournissant des tests de performance. Selon le temps -imparti, ceci pourrait se restreindre à : +Amélioration des fonctionnalités d'import et d'export : @divClass{keep-bullets} @itemize @@ -1017,40 +1011,29 @@ de mise en forme pour tout objet de rendu dans les balises XML. @end itemize @divEnd -Le but sera considéré atteint dès lors qu'une partition en XML aura été -importée, puis ré-exportée dans ce même format sans perte non -intentionnelle de donnée. - @strong{Difficulté :} moyenne - @strong{Préalables :} MusicXML, Python, les bases de LilyPond - @strong{Mentors :} Reinhold Kainhofer, Mike Solomon La connaissance d'autres éditeurs de partition, dans un but de tests -comparatifs, constituerait un plus. +comparatifs, constituerait une aide. @subheading Amélioration des liaisons Le galbe par défaut des liaisons n'est souvent pas pleinement -satisfaisant. Il est par ailleurs impossible de marquer une liaison de -prolongation entre des enharmoniques (@code{@{ cis'~ des' @}}), et la -@qq{coupure} d'une liaison par un changement de clef ou de ligne n'est -pas totalement fonctionnelle. Ce projet comporte entre autres un -recensement d'exemples de résultats défectueux, l'appréciation du -résultat optimal et l'écriture du code approprié. +satisfaisant. La « coupure » d'une liaison par un changement de clef ou +de ligne n'est pas totalement fonctionnelle. Ce projet comporte entre +autres un recensement d'exemples de résultats défectueux, l'appréciation +du résultat optimal et l'écriture du code approprié. @strong{Difficulté :} difficile - @strong{Préalables :} C++, expérience dans l'écriture d'heuristiques - @strong{Connaissances appréciées :} LilyPond, sens de l'esthétique - @strong{Mentor :} Mike Solomon -@subheading Ajout de variantes spécifiques pour certains glyphes +@subheading Ajout de variantes pour certains glyphes Il s'agit ici de pouvoir disposer de variantes, sur la ligne ou entre deux lignes, plus courts ou plus étroits, pour certains glyphes -- les @@ -1059,49 +1042,48 @@ gestion. Autre exemple, dans le domaine de la notation ancienne, avec deux variantes de la brève, l'une avec un évidement plus important que l'autre. -@strong{Difficulté :} facile +@divClass{keep-bullets} +@itemize -@strong{Préalables :} MetaFont, C++, une bonne vue pour les détails +@item +Ajout de variantes positionnables « sur une ligne » et « dans un +interligne ». -@strong{Connaissance appréciée :} les bases de LilyPond +@end itemize +@divEnd + +@strong{Difficulté :} facile +@strong{Préalables :} MetaFont, C++, une bonne vue pour les détails +@strong{Connaissance appréciée :} les bases de LilyPond @strong{Mentor :} Werner Lemberg -@subheading Amélioration des ligatures +@subheading Amélioration du positionnement par défaut des ligatures -Le positionnement des ligatures, qu'elles soient rectilignes, passent -d'une portée à l'autre, discontinues ou coudées, n'est pas optimal. -Une ligature devrait dépendre du contexte et des notes adjacentes (voir +Une ligature, qu'elle soit rectiligne, passe d'une portée à l'autre, +discontinue ou coudée, devrait dépendre du contexte et des notes +adjacentes (voir @uref{http://icking-music-archive.org/lists/sottisier/sottigra.pdf, la section 2.2 de cet article}). Dans la mesure du possible, raccourcir le temps de calcul nécessaire à la génération des ligatures. @strong{Difficulté :} moyenne - @strong{Préalables :} C++, expérience dans l'écriture d'heuristiques - @strong{Connaissance appréciée :} sens de l'esthétique - @strong{Mentors :} Mike Solomon, Carl Sorensen -@subheading Nettoyage des messages en cours de compilation +@subheading Aide à l'amélioration du comportement lors de la compilation -Il s'agit d'assainir les messages du compilateur, l'analyse du code -statique, ainsi que les messages de @emph{valgrind}. Les outils -d'analyse automatique du code (messages en @code{g++} ou @code{clang}) -ainsi que les outils d'analyse comme @emph{valgrind} pour les -éventuelles fuites de mémoire ou @emph{callgrind} pour le profilage du -code, fournissent des informations précieuses quant à d'éventuelles -faiblesses du code C++. Faire le ménage dans tous ces messages nous -permettrait de rejeter tout patch qui introduirait des messages -superflus. +Les outils d'analyse comme @emph{valgrind} pour la détection de fuites +de mémoire ou @emph{callgrind} pour le profilage du code, fournissent +des informations précieuses quant à d'éventuelles faiblesses du +code C++. Faire le ménage dans tous ces messages nous permettrait de +rejeter tout patch qui introduirait des messages superflus. @strong{Difficulté :} moyenne - @strong{Préalable :} C++ - @strong{Mentors :} Joe Neeman, Reinhold Kainhofer @divEnd diff --git a/Documentation/fr/web/introduction.itexi b/Documentation/fr/web/introduction.itexi index 61a6208025..be7a8620c9 100644 --- a/Documentation/fr/web/introduction.itexi +++ b/Documentation/fr/web/introduction.itexi @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @c This file is part of web.texi @ignore - Translation of GIT committish: e3c6bd65c8db492728d2f1f3a791bcf6bde056e4 + Translation of GIT committish: 30e2aa8813df8903dc553ae80c82b8461ffbb381 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -1299,7 +1299,10 @@ C'est le cas, en particulier, pour : @end ignore @divClass{column-center-top} -@subheading Frescobaldi +@subheading Applications avec interface graphique +@c VO Front-end Applications + +@subsubheading Frescobaldi @imageClickable{frescobaldi-lilypond-editor-small,png, (cliquez pour agrandir),frescobaldi-lilypond-editor,png,right} @@ -1317,10 +1320,8 @@ coloration syntaxique et auto-comlplétion. Frescobaldi est écrit en Python et PyQt4 ; il fonctionne actuellement sur la plupart des systèmes d'exploitation (GNU/Linux, MacOS X et Windows). -@divEnd -@divClass{column-center-top} -@subheading Denemo +@subsubheading Denemo @imageClickable{screenshot-denemo-small,png, (cliquez pour agrandir),screenshot-denemo,png,right} @@ -1344,15 +1345,20 @@ la vue graphique et toute erreur de syntaxe dans votre code sera mise en @divEnd - @divClass{column-center-top} -@subheading Tunefl -@c do we need logos for web-based packages? -@sourceimage{logo-linux,,,} -@sourceimage{logo-freebsd,,,} -@sourceimage{logo-macosx,,,} -@sourceimage{logo-windows,,,} + +@subheading Éditeurs basés sur un navigateur +@c VO Browser-based editors + +@subsubheading LilyBin +@uref{http://lilybin.com} + +LilyBin vous permet de saisir en ligne vos partitions sans avoir +préalablement installé LilyPond sur votre oridnateur. + + +@subheading Tunefl @uref{http://www.tunefl.com} @@ -1363,7 +1369,10 @@ tester toutes les fonctionnalités du programme dans une interface web. @divEnd @divClass{column-center-top} -@subheading Elysium +@subheading Greffons pour EDI +@c VO IDE Plug-ins + +@subsubheading Elysium @sourceimage{logo-linux,,,} @sourceimage{logo-freebsd,,,} @@ -1388,6 +1397,7 @@ de nombreux canevas. @sourceimage{logo-macosx,,,} @sourceimage{logo-windows,,,} +@subsubheading Emacs @uref{http://www.gnu.org/software/emacs/} Emacs est un éditeur de texte avec des fontionnalités spécifiques pour @@ -1399,20 +1409,22 @@ fichiers source LilyPond. L'un des développeurs a même écrit un mode majeur pour Emacs, @uref{https://github.com/nsceaux/lyqi,lyqi}. +@subsubheading Vim @uref{http://www.vim.org} Vim, éditeur de texte minimal, est une extension de l'ancien éditeur Unix @command{vi}. Il est également extensible et configurable. -En règle générale, si vous n'êtes pas déjà familier avec Emacs ou Vim, -alors vous préfèrerez peut-être utiliser un autre éditeur pour -travailler sur des fichiers source LilyPond. +Si vous n'êtes pas déjà familier avec Vim, vous préfèrerez probablement +utiliser un autre éditeur pour travailler sur des fichiers source +LilyPond. -Vous trouverez plus d'information quant au paramétrage d'Emacs et Vim au +Vous trouverez plus d'information quant au paramétrage de Vim au chapitre @rprogram{LilyPond et les éditeurs de texte}. @sourceimage{logo-macosx,,,} +@subsubheading TeXShop @uref{http://www.uoregon.edu/~koch/texshop} L'éditeur TexShop pour MacOS X peut être muni d'une extension pour @@ -1426,8 +1438,8 @@ disponible à @divClass{column-center-top} -@subheading Programmes qui exportent du code LilyPond -@c VO Programs that can export LilyPond code +@subheading Autres programmes, qui exportent du code LilyPond +@c VO Other programs that can export LilyPond code @subsubheading Éditeurs de partition, tablature et MIDI @@ -1448,15 +1460,15 @@ Les testeurs sont les bienvenus. @item @uref{http://enc2ly.sourceforge.net/en/,Enc2ly} est un programme -GNU/Linux qui convertit des partitions du format -@uref{http://www.gvox.com/,Encore} au format LilyPond. +GNU/Linux qui convertit des partitions du format Encore au format +LilyPond. @item @uref{https://github.com/hanwen/go-enc2ly,go-enc2ly} est un programme Go -qui convertit des fichiers @uref{http://www.gvox.com/,Encore} au format -LilyPond. Il a été conçu à partir du travail d'ingénierie inverse de -Felipe Castro en modifiant des fichiers @code{.enc} existant et en les -chargeant avec la version de démonstration 4.55. +qui convertit des fichiers Encore au format LilyPond. Il a été conçu à +partir du travail d'ingénierie inverse de Felipe Castro en modifiant des +fichiers @code{.enc} existant et en les chargeant avec la version de +démonstration 4.55. @item @uref{http://musescore.org,MuseScore} est un éditeur de partition. Il @@ -1482,15 +1494,6 @@ mixer plusieurs parties en un conducteur. @uref{http://www.rosegardenmusic.com,Rosegarden}, séquenceur audio et MIDI, comporte aussi un éditeur pour portée unique. -@item -@uref{http://launchpad.net/rumor/,Rumor}, un convertisseur monophonique -temps-réel MIDI vers LilyPond. - -@item -@uref{http://www.tuxguitar.com.ar/,TuxGuitar} est un éditeur de -tablatures multi-pistes. Il permet d'afficher tablatures et partitions, -et il peut exporter du code LilyPond. - @end itemize @@ -1521,14 +1524,15 @@ est un système de composition musicale basé sur le projet @divClass{column-center-top} -@subheading Autres programmes dont le développement est peu actif -@c VO Other programs not being actively developed +@subheading Autres programmes dont le développement n'est plus actif +@c VO Other programs no longer being actively developed @itemize @item -@uref{https://sourceforge.net/projects/lily4jedit,LilyPondTool} a été -créé en tant que greffon de l'éditeur @uref{http://www.jedit.org,jEdit}. +@uref{http://lilycomp.sourceforge.net,LilyComp} permet de saisir +graphiquement des notes. Il fonctionne comme un pavé numérique +permettant de produire de la notation LilyPond. @item @uref{http://lilykde.googlecode.com/,LilyKDE} a été remplacé par @@ -1536,6 +1540,10 @@ créé en tant que greffon de l'éditeur @uref{http://www.jedit.org,jEdit}. disponible en version LilyKDE3 pour KDE 3.5 et lilypond-KDE4 pour KDE 4.1. +@item +@uref{https://sourceforge.net/projects/lily4jedit,LilyPondTool} a été +créé en tant que greffon de l'éditeur @uref{http://www.jedit.org,jEdit}. + @item @uref{http://noteedit.berlios.de,NoteEdit}, qui importait @uref{http://www.makemusic.com/musicxml, MusicXML}, s'est scindé en @@ -1543,9 +1551,13 @@ KDE 4.1. et @uref{http://canorus.org,Canorus}. @item -@uref{http://lilycomp.sourceforge.net,LilyComp} permet de saisir -graphiquement des notes. Il fonctionne comme un pavé numérique -permettant de produire de la notation LilyPond. +@uref{http://launchpad.net/rumor/,Rumor}, un convertisseur monophonique +temps-réel MIDI vers LilyPond. + +@item +@uref{http://www.tuxguitar.com.ar/,TuxGuitar} est un éditeur de +tablatures multi-pistes. Il permet d'afficher tablatures et partitions, +et il peut exporter du code LilyPond. @end itemize diff --git a/Documentation/hu/essay.tely b/Documentation/hu/essay.tely new file mode 100644 index 0000000000..e186efcff4 --- /dev/null +++ b/Documentation/hu/essay.tely @@ -0,0 +1,76 @@ +\input texinfo @c -*- coding: utf-8; mode: texinfo; -*- +@ignore + Translation of GIT committish: e5d3fb33ceaec6d10e06af0c667e4e982a0028ce + + 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 + +@setfilename lilypond-essay.info +@settitle Esszé az automatizált kottaszedésről +@documentencoding UTF-8 +@documentlanguage hu +@afourpaper + +@c Translators: Hegyi Tamás, Harmath Dénes + +@macro manualIntro +Ez az esszé a LilyPond @version{} automatikus kottaszedési mechanizmusmába nyújt mélyebb betekintést. +@end macro + +@c `Essay' was born 2002-06-03 with this commit: +@c tremolo segfault +@c author: Han-Wen Nienhuys +@c commit: 29262ca70c3d5209126150752fd3d804bef8e9a3 +@c file: Documentation/user/introduction.itely + +@macro copyrightDeclare +Copyright @copyright{} 2002--2015 a szerzők. +@end macro + +@set FDL +@include macros.itexi + +@c don't remove this comment. +@ignore +@omfcreator Han-Wen Nienhuys, Jan Nieuwenhuizen +@omfdescription Essay on automated music engraving +@omftype essay +@omfcategory Applications|Publishing +@omflanguage English +@end ignore + + +@lilyTitlePage{Esszé} + + +@ifnottex + +@menu +* A kottaszedés:: +* Irodalomjegyzék:: +* GNU Free Documentation License:: E dokumentum licence. +* LilyPond tárgymutató:: +@end menu + +@docMain +@end ifnottex + + +@contents + +@allowcodebreaks false + +@include essay/engraving.itely +@include essay/literature.itely + +@include fdl.itexi + +@node LilyPond tárgymutató +@appendix LilyPond tárgymutató +@translationof LilyPond index + +@printindex cp + +@bye diff --git a/Documentation/hu/essay/engraving.itely b/Documentation/hu/essay/engraving.itely new file mode 100644 index 0000000000..1e90bc9d61 --- /dev/null +++ b/Documentation/hu/essay/engraving.itely @@ -0,0 +1,1638 @@ +@c -*- coding: utf-8; mode: texinfo; -*- + +@ignore + Translation of GIT committish: e5d3fb33ceaec6d10e06af0c667e4e982a0028ce + + 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.19.2" + +@node A kottaszedés +@chapter A kottaszedés +@translationof Music engraving + +Ez az esszé leírja, miért született a LilyPond, és hogyan képes ilyen gyönyörű kottákat előállítani. + + +@c TODO: +@c remove 3mm eps bounding box left padding for Sarabande (This will +@c require adding a new snippet option to lilypond-book.py +@c check formatting of HTML output + +@menu +* A LilyPond története:: +* A kottaszedés fortélyai:: +* Automated engraving:: +* Building software:: +* Putting LilyPond to work:: +* Engraved examples (BWV 861):: +@end menu + +@node A LilyPond története +@section A LilyPond története +@translationof The LilyPond story + +Mielőtt a LilyPondot koncerteken használt csodaszép kották szedésére kezdtük volna használni, mielőtt zenetudományi dokumentumok zenei idézeteit vagy akár egyszerű dallamokat le lehetett volna vele kottázni, mielőtt szerte a világon a felhasználók széles körben kezdték volna használni, vagy ez az esszé megszületett volna, a LilyPond története egy kérdéssel kezdődött: + +@quotation +Miért nem adják vissza a számítógép által szedett kották a kézzel szedett kották szépségét és kiegyensúlyozottságát? +@end quotation + +@noindent +Erre többnyire választ kaphatunk, ha górcső alá vesszük a következő két kottát. Az első példa egy gondosan kézzel szedett kotta 1950-ből, a második egy modern, számítógéppel szedett kiadás. + +@ifnottex +@quotation +@noindent +Bärenreiter BA 320, @copyright{}1950: + +@sourceimage{baer-suite1-fullpage,,,png} +@end quotation + +@quotation +@noindent +Henle no. 666, @copyright{}2000: + +@sourceimage{henle-suite1-fullpage,,,png} +@end quotation +@end ifnottex + +J. S. Bach első, csellóra írt szólószvitjének két kiadása hangról hangra megegyezik, mégis megjelenésükben merőben különbözőek, különösen, ha kinyomtatjuk és megszokott távolságból szemléljük őket. Próbáljuk meg mindkét kottapéldát elolvasni, illetve játszani belőlük, és meg fogjuk állapítani, hogy a kézzel szedett kotta használata kellemesebb. Folyékonysága és dinamikája egy élő, lélegző zenemű érzetét kelti, miközben az újabb kiadás hidegnek és mechanikusnak hat. + +Nehéz egyből észrevenni, miben rejlik a különbség a kották között. Az új kotta első ránézésre rendezett és pontos, talán még „jobb” is, mivel számítógéphez illőbb és egységes a megjelenése. Ez gondolkodóba ejtett minket egy időre. Javítani akartunk a számítógép által szedett kottaképen, de ehhez előbb rá kellett jönnünk, mi volt a gond vele. + +A válasz az új kotta precíz, matematikai pontosságú egyformaságában rejlik. Keressük csak meg minden sor közepén az ütemvonalakat: a kézzel szedett változatban az ütemvonalak elhelyezkedése természetes módon változik, míg a számítógép szinte pontosan egymás alá, középre szedte őket. Ezt mutatja be a következő egyszerűsített ábra, melyen a kézzel (balra), ill. a komputerrel szedett változat (jobbra) elrendezése látható: + +@quotation +@iftex +@sourceimage{pdf/page-layout-comparison,,,} +@end iftex +@ifnottex +@sourceimage{page-layout-comparison,,,png} +@end ifnottex +@end quotation +@noindent + +A számítógép által előállított szedésben még az egyes kottafejek is függőlegesen egymáshoz lettek igazítva, ami azt az érzetet kelti, mintha a dallamvonal eltűnne egy szimbólumokból álló merev rács mögött. + +További különbségek is vannak: a kézzel szedett változat függőleges vonalai erősebbek, a kötőívek szorosabban tapadnak a kottafejekhez, és a gerendák szögeiben is nagyobb változatosság figyelhető meg. Noha az ilyen részletes elemzés szőrszálhasogatásnak tűnhet, végeredménye egy olyan kotta, ami egyszerűbben olvasható. A számítógépes kottában minden sor szinte egyforma, és ha a zenész egy pillanatra máshová tekint, hamar elveszítheti a tájékozódást az oldalon. + +A LilyPond megalkotásának célja az volt, hogy kiküszöböljük a többi kottaszedő szoftver szépséghibáit, és segítségével olyan kottákat lehessen előállítani, melyek szépsége a legigényesebb kézzel szedett kottákéval vetélkedik. + +@iftex +@page +@noindent +Bärenreiter BA 320, @copyright{}1950: + +@sourceimage{baer-suite1-fullpage-hires,16cm,,} +@page +@noindent +Henle no. 666, @copyright{}2000: +@sp 3 +@sourceimage{henle-suite1-fullpage-hires,16cm,,} +@page +@end iftex + +@node A kottaszedés fortélyai +@section A kottaszedés fortélyai +@translationof Engraving details + +@cindex engraving +@cindex typography, music +@cindex music typography +@cindex plate engraving +@cindex music engraving + +A zeneművek nyomdai előkészítését @emph{kottaszedésnek} nevezik. Ez a kifejezés a kották nyomtatásának hagyományos, kézi módszerére utal.@footnote{A régi idők nyomdászai különböző technikákat próbáltak ki, mint például a kézzel metszett fa nyomóformák (nyomódúc), a mozgatható betű- és nyomóelemek, illetve a gravírozott vékony fémlemezek. A mozgatható betű- és nyomóelemekkel való szedésnek megvolt az az előnye, hogy gyorsan bele lehetett javítani és egyszerűen lehetett szöveget is beleilleszteni. De csak a fémlemezre végzett hangjegymetszés tette lehetővé a hibátlan elrendezést és az új kottaelemek gyors bevezetését. Végül ez utóbbi technika lett a szabvány, és még a 20. század elején is ez volt a helyzet, pár korálkönyv és daloskönyv kivételével, ahol a sablonelemek használatát annak gazdaságossága és gyorsasága indokolta.} Ez a folyamat még a 20. században első felében is úgy nézett ki, hogy a kotta elemeit kivágták, majd tükrözve belemélyesztették egy cink- vagy ónlemezbe. A lemezre ezután festéket hordtak fel, és a festék a bemélyedésekben maradt. A lemez a papírra rányomva a kotta képét adta. A metszést teljesen kézzel végezték, és bárminemű javítás nagyon körülményes volt, így a kottakép elsőre tökéletes kellett, hogy legyen. A kottaszedés tudománya nagyon különleges szakma, ahol a kézművesnek körülbelül öt éves képzést kellett elvégeznie, mielőtt a mester címet kérvényezhette. További öt év volt szükséges ahhoz, hogy a szakma minden csínját-bínját valóban magáénak tudhassa. + +@quotation +@iftex +@sourceimage{hader-slaan,,7cm,} +@end iftex +@ifnottex +@sourceimage{hader-slaan,,,jpg} +@end ifnottex +@end quotation + +A LilyPond megalkotását azok a kézzel szedett kották inspirálták, amelyeket a 20. század közepe felé az európai kottakiadók (többek között Bärenreiter, Duhem, Durand, Hofmeister, Peters és Schott) hoztak forgalomba. Munkásságukat bizonyos szempontból a hagyományos kottaszedés csúcsának lehet tekinteni. Kiadványaik tanulmányozásával rengeteget tanultunk arról, mik az ismertetőjelei egy szép tipográfiájú kottának, és milyen szempontokat szeretnénk a LilyPonddal utánozni. + +@c Now all newly printed music is produced with computers. This has +@c obvious advantages: prints are cheaper to make, editorial work can be +@c delivered by email, and the original data can be easily stored. +@c Unfortunately, computer-generated scores rarely match the quality of +@c hand-engraved scores. Instead, computer printouts have a bland, +@c mechanical look, which makes them unpleasant to play from. + +@menu +* A kottában használt betűtípusok:: +* Optical spacing:: +* Ledger lines:: +* Optical sizing:: +* Why work so hard?:: +@end menu + +@node A kottában használt betűtípusok +@unnumberedsubsec A kottában használt betűtípusok +@translationof Music fonts + +A lenti ábra jól mutatja a különbséget egy hagyományosan és egy számítógép által szedett kottaelem közt. A bal oldali képen egy beszkennelt b módosítójel látható egy kézi Bärenreiter kiadásból, míg a jobb oldali ugyanennek a zeneműnek 2000-ben kiadott változatából származik. Noha mindkét képet ugyanolyan árnyalatú tintával nyomtatták, a régebbi verzió sötétebb: a kottasorok vonalai vastagabbak, és a Bärenreiter b-je gömbölyded, majdhogynem érzékien kerek. A jobb oldali kép vonalai ezzel szemben vékonyabbak, elrendezése szögletes, sarkai élesek. + +@multitable @columnfractions .25 .25 .25 .25 +@item @tab +@ifnotinfo +@iftex +@sourceimage{baer-flat-gray,,4cm,} +@end iftex +@ifnottex +@sourceimage{baer-flat-gray,,,png} +@end ifnottex + +@tab +@iftex +@sourceimage{henle-flat-gray,,4cm,} +@end iftex +@ifnottex +@sourceimage{henle-flat-gray,,,png} +@end ifnottex + +@end ifnotinfo +@ifinfo +@sourceimage{henle-flat-bw,,,png} +@sourceimage{baer-flat-bw,,,png} +@sourceimage{lily-flat-bw,,,png} +@end ifinfo + + +@item @tab +Bärenreiter (1950) +@tab +Henle (2000) + +@end multitable + +@cindex musical symbols +@cindex font +@cindex blackness +@cindex balance + +Amikor úgy döntöttük, hogy írunk egy kottaszedő programot, nem volt olyan, szabad felhasználású zenei betűtípus, ami jól passzolt volna kedvenc kottáink elegáns kottaképéhez. Ezen felbuzdulva megalkottunk egy zenei szimbólumokból álló betűtípust, amely a kézzel szedett kották szemrevaló kinézetét veszi alapul. A betűtípus megtervezése során szerzett tapasztalatok nélkül soha nem ismertük volna fel, milyen csúnyák is azok a betűtípusok, amiket eleinte csodáltunk. + +Lent két zenei betűkészletre láthatunk példát: a felső a Sibelius alapbeállítású készlete (@emph{Opus}), az alsó a LilyPondé. + +@quotation +@iftex +@sourceimage{pdf/OpusAndFeta,,,} +@end iftex +@ifnottex +@sourceimage{OpusAndFeta,,,png} +@end ifnottex +@end quotation + +A LilyPond kottaelemei vastagabbak, valamint vastagságuk konzisztensebb, ami miatt jóval egyszerűbb az olvasásuk. A vonalaknak, mint például a negyed szünet szárnyai, nem hegyes végük van, hanem finoman legömbölyített. Ennek oka, hogy a hegyes végek a hagyományos nyomóformán nagyon törékenyek, és a használat közben gyorsan elkopnak. Összefoglalva, a jelkészlet teltségét gondosan össze kell hangolni a vonalak (gerendák, ívek) vastagságával, hogy erős, mégis kiegyensúlyozott összképet kapjunk. + +Vegyük észre továbbá, hogy a félkotta feje nem ellipszis, hanem enyhén rombusz alakú. A b módosítójel függőleges szára felfelé némileg kiszélesedik. A keresztet és a feloldójelet egyszerűbb távolról megkülönböztetni, mert ferde vonalaiknak eltérő a dőlésszöge, illetve függőleges vonalaik különböző vastagságúak. + +@node Optical spacing +@unnumberedsubsec Optical spacing + +In spacing, the distribution of space should reflect the durations +between notes. However, as we saw in the Bach Suite above, many modern +scores adhere to the durations with mathematical precision, which leads +to poor results. In the next example a motif is printed twice: the +first time using exact mathematical spacing, and the second with +corrections. Which do you prefer? + +@cindex optical spacing + +@lilypond +\paper { + ragged-right = ##t + indent = #0.0 +} + +music = { + c'4 e''4 e'4 b'4 + \stemDown + b'8[ e'' a' e''] + \stemNeutral + e'8[ e'8 e'8 e'8] +} +\score +{ + \music + \layout { + \context { + \Staff + \override NoteSpacing.stem-spacing-correction = #0.0 + \override NoteSpacing.same-direction-correction = #0.0 + \override StaffSpacing.stem-spacing-correction = #0.0 + } + } +} +@end lilypond + +@lilypond +\paper { + ragged-right = ##t + indent = #0.0 +} + +music = { + c'4 e''4 e'4 b'4 | + \stemDown + b'8[ e'' a' e''] + \stemNeutral + e'8[ e'8 e'8 e'8] +} + +\score +{ + \music + \layout { + \context { + \Staff + \override NoteSpacing.stem-spacing-correction = #0.6 + } + } +} +@end lilypond + +@cindex regular rhythms +@cindex regular spacing +@cindex spacing, regular + +Each bar in the fragment only uses notes that are played in a constant +rhythm. The spacing should reflect that. Unfortunately, the eye deceives +us a little; not only does it notice the distance between note heads, it +also takes into account the distance between consecutive stems. As a +result, the notes of an up-stem/@/down-stem combination should be put +farther apart, and the notes of a down-stem/@/up-stem combination should +be put closer together, all depending on the combined vertical positions +of the notes. The lower two measures are printed with this correction, +the upper two measures, however, form down-stem/@/up-stem clumps of +notes. A master engraver would adjust the spacing as needed to please +the eye. + +The spacing algorithms in LilyPond even take the barlines into account, +which is why the final up-stem in the properly spaced example has been +given a little more space before the barline to keep it from looking +crowded. A down-stem would not need this adjustment. + +@node Ledger lines +@unnumberedsubsec Ledger lines + +@cindex ledger lines +@cindex collisions + +Ledger lines present a typographical challenge: they make it more +difficult to space musical symbols close together and they must be clear +enough to identify the pitch at a glance. In the example below, we see +that ledger lines should be thicker than normal staff lines and that an +expert engraver will shorten a ledger line to allow closer spacing with +accidentals. We have included this feature in LilyPond's engraving. + +@multitable @columnfractions .25 .25 .25 .25 +@item @tab + +@iftex +@sourceimage{baer-ledger,3cm,,} +@end iftex +@ifnottex +@sourceimage{baer-ledger,,,png} +@end ifnottex + +@tab + +@iftex +@sourceimage{lily-ledger,3cm,,} +@end iftex +@ifnottex +@sourceimage{lily-ledger,,,png} +@end ifnottex + +@end multitable + + +@node Optical sizing +@unnumberedsubsec Optical sizing + +Music may need to be printed in a range of sizes. Originally, this was +accomplished by creating punching dies in each of the required sizes, +which meant that each die was designed to look its best at that size. +With the advent of digital fonts, a single outline can be mathematically +scaled to any size, which is very convenient, but at the smaller sizes +the glyphs will appear very light. + +In LilyPond, we have created fonts in a range of weights, corresponding +to a range of music sizes. This is a LilyPond engraving at staff size +26: + +@quotation +@iftex +@sourceimage{pdf/size26,,23mm,} +@end iftex +@ifnottex +@sourceimage{size26,,,png} +@end ifnottex +@end quotation + +@noindent +and this is the same engraving set at staff size 11, then +magnified by 236% to print at the same size as the previous example: + +@quotation +@iftex +@sourceimage{pdf/size11,,23mm,} +@end iftex +@ifnottex +@sourceimage{size11,,,png} +@end ifnottex +@end quotation + +@noindent +At smaller sizes, LilyPond uses proportionally heavier lines so the +music will still read well. + +This also allows staves of different sizes to coexist peacefully when +used together on the same page: + +@c Grieg's Violin Sonata Op. 45 +@lilypond[indent=1.5\cm] +global = { + \time 6/8 + \key c \minor +} + +\score { + << + \new Staff \with { + \magnifyStaff #2/3 + } + \relative c' { + \global + \set Staff.instrumentName = #"Violin" + c8.(\f^> b16 c d) ees8.(^> d16 c b) + g8.(^> b16 c ees) g8-.^> r r + R2. + } + \new PianoStaff << + \set PianoStaff.instrumentName = #"Piano" + \new Staff \relative c' { + \global + s2. + s4. s8 r8 r16 + 4.^> 8 r r + } + \new Staff \relative c { + \global + \clef "bass" + << + { + \once \override DynamicText.X-offset = #-3 + 2.~->^\f + 4.~ 8 + } \\ { + 2.~ + 4.~ 8 + } + >> + r8 r16 16 + 4.-> 8 r r + } + >> + >> +} +@end lilypond + + +@node Why work so hard? +@unnumberedsubsec Why work so hard? + +Musicians are usually more absorbed with performing than with studying +the looks of a piece of music, so nitpicking typographical details may +seem academic. But it is not. Sheet music is performance material: +everything is done to aid the musician in letting her perform better, +and anything that is unclear or unpleasant to read is a hindrance. + +Traditionally engraved music uses bold symbols on heavy staff to create +a strong, well-balanced look that stands out well when the music is far +away from the reader: for example, if it is on a music stand. A careful +distribution of white space allows music to be set very tightly without +crowding symbols together. The result minimizes the number of page +turns, which is a great advantage. + +This is a common characteristic of typography. Layout should be pretty, +not only for its own sake, but especially because it helps the reader in +his task. For sheet music this is of double importance because musicians +have a limited amount of attention. The less attention they need for +reading, the more they can focus on playing the music. In other words, +better typography translates to better performances. + +These examples demonstrate that music typography is an art that is +subtle and complex, and that producing it requires considerable +expertise, which musicians usually do not have. LilyPond is our +effort to bring the graphical excellence of hand-engraved music to +the computer age, and make it available to normal musicians. We +have tuned our algorithms, font-designs, and program settings to +produce prints that match the quality of the old editions we love +to see and love to play from. + + +@node Automated engraving +@section Automated engraving + +@cindex engraving, automated +@cindex automated engraving + +Here we describe what is required to create software that can mimic the +layout of engraved scores: a method of describing good layouts to the +computer and a lot of detailed comparisons with real engravings. + +@menu +* Beauty contests:: +* Improvement by benchmarking:: +* Getting things right:: +@end menu + +@node Beauty contests +@unnumberedsubsec Beauty contests + +How do we actually make formatting decisions? In other words, which +of the three configurations should we choose for the following slur? + +@lilypond +\relative c { + \clef bass + \once \override Slur.positions = #'(1.5 . 1) + e8[( f] g[ a b d,)] r4 + \once \override Slur.positions = #'(2 . 3) + e8[( f] g[ a b d,)] r4 + e8[( f] g[ a b d,)] r4 +} +@end lilypond + +There are a few books on the art of music engraving +available. Unfortunately, they contain simple rules of thumb and some +examples. Such rules can be instructive, but they are a far cry from +an algorithm that we could readily implement in a computer. Following +the instructions from literature leads to algorithms with lots of +hand-coded exceptions. Doing all this case analysis is a lot of work, +and often not all cases are covered completely: + +@quotation +@iftex +@sourceimage{ross-beam-scan,7cm,,} +@end iftex +@ifnottex +@sourceimage{ross-beam-scan,,,.jpg} +@end ifnottex +@end quotation + +(Image source: Ted Ross, @emph{The Art of Music Engraving}) + +Rather than trying to write detailed layout rules for every possible +scenario, we only have to describe the objectives well enough that +LilyPond can judge the attractiveness of several alternatives. Then, +for each possible configuration we compute an ugliness score and we +choose the least ugly configuration. + +For example, here are three possible slur configurations, and LilyPond +has given each one a score in @q{ugly points}. The first example gets +15.39 points for grazing one of the noteheads: + +@lilypond +\relative c { + \clef bass + \once \override Slur.positions = #'(1.5 . 1) + e8[(_"15.39" f] g[ a b d,)] r4 +} +@end lilypond + +The +second one is nicer, but the slur doesn't start or end on the note heads. +It gets 1.71 points for the left side and 9.37 points for the right +side, plus another 2 points because the slur ascends while the melody +descends for a total of 13.08 ugly points: + +@lilypond +\relative c { + \clef bass + \once \override Slur.positions = #'(2 . 3) + e8[(_"13.08" f] g[ a b d,)] r4 +} +@end lilypond + +The final slur gets 10.04 +points for the gap on the right and 2 points for the upward slope, but +it is the most attractive of the three configurations, so LilyPond +selects this one: + +@lilypond +\relative c { + \clef bass + e8[(_"12.04" f] g[ a b d,)] r4 +} +@end lilypond + +This technique is quite general, and is used to make optimal decisions +for beam configurations, ties and dots in chords, line breaks, and page +breaks. The results of these decisions can be judged by comparison to +real engravings. + +@node Improvement by benchmarking +@unnumberedsubsec Improvement by benchmarking + +LilyPond's output has improved gradually over time, and it continues to +improve by comparing its output to hand-engraved scores. + +For example, here is one line of a benchmark piece from a +hand-engraved edition (Bärenreiter BA320): + +@iftex +@sourceimage{baer-sarabande-hires,16cm,,} +@end iftex +@ifnottex +@sourceimage{baer-sarabande,,,png} +@end ifnottex + +@noindent +and the same quotation as engraved by a very old version of LilyPond +(version 1.4, May 2001): + +@iftex +@sourceimage{pdf/lily14-sarabande,16cm,,} +@end iftex +@ifnottex +@sourceimage{lily14-sarabande,,,png} +@end ifnottex + +@noindent The LilyPond 1.4 output is certainly readable, but close +comparison with the hand-engraved score showed a lot of errors in the +formatting details: + +@iftex +@sourceimage{lily14-sarabande-annotated-hires,16cm,,} +@end iftex +@ifnottex +@sourceimage{lily14-sarabande-annotated,,,png} +@end ifnottex + +@itemize @bullet +@item there is too much space before the time signature +@item the stems of the beamed notes are too long +@item the second and fourth measures are too narrow +@item the slur is awkward-looking +@item the trill marks are too big +@item the stems are too thin +@end itemize + +@noindent +(There were also two missing note heads, several missing editorial +annotations, and an incorrect pitch!) + +By adjusting the layout rules and font design, the output has improved +considerably. Compare the same reference score and the output +from the current version of LilyPond (@version{}): + +@iftex +@sourceimage{baer-sarabande-hires,16cm,,} +@end iftex +@ifnottex +@sourceimage{baer-sarabande,,,png} +@end ifnottex + +@lilypond[staffsize=17.5,line-width=15.9\cm] +\relative c { + \clef "bass" + \key d \minor + \time 3/4 + \mergeDifferentlyDottedOn + << + { \slurDashed d8.-\flageolet( e16) e4.-\trill( d16 e) } + \\ + { d4_2 a2 } + >> + \slurDashed + 4. e8( d c) + \slurSolid + bes8 g' f e16( f g_1 a_2 bes_3 d,_2) + \slurDashed + cis4.-\trill b8_3( a g) + << + { \slurDashed d'8.( e16) e4.-\trill( d16 e) } + \\ + { 4 a2 } + >> +} +@end lilypond + +@noindent +The current output is not a clone of the reference edition, but it is +much closer to publication quality that the earlier output. + +@node Getting things right +@unnumberedsubsec Getting things right + +We can also measure LilyPond's ability to make music engraving decisions +automatically by comparing LilyPond's output to the output of a +commercial software product. In this case we have chosen Finale 2008, +which is one of the most popular commercial score writers, particularly +in North America. Sibelius is its major rival and appears to be +especially strong in the European market. + +For our comparison we selected Bach's Fugue in G minor from the +Well-Tempered Clavier, Book I, BWV 861, whose opening subject is + +@lilypond +\relative c' { + \key g \minor + \clef "treble_8" + r8 d ees g, fis4 g + r8 a16 bes c8 bes16 a bes8 +} +@end lilypond + +@noindent + +We made our comparison by engraving the last seven measures of the piece +(28--34) in Finale and LilyPond. This is the point in the piece where +the subject returns in a three-part stretto and leads into the closing +section. In the Finale version, we have resisted the temptation to make +any adjustments to the default output because we are trying to show the +things that each software package gets right without assistance. The +only major edits that we made were adjusting the page size to match this +essay and forcing the music onto two systems to make the comparison +easier. By default Finale would have engraved two systems of three +measures each and a final, full-width system containing a single +measure. + +Many of the differences between the two engravings are visible in +measures 28--29, as shown here with Finale first and LilyPond second: + +@iftex +@sourceimage{pdf/bwv861mm28-29,14cm,,} +@end iftex +@ifnottex +@sourceimage{bwv861mm28-29,,,png} +@end ifnottex + +@lilypond[staffsize=19.5,line-width=14\cm] +global = { \key g \minor } + +partI = \relative c' { + \voiceOne + fis8 d' ees g, fis4 g + r8 a16 bes c8 bes16 a d8 r r4 +} + +partII = \relative c' { + \voiceTwo + d4 r4 r8 d'16 c bes8 c16 d + ees8 d c ees a, r r4 +} + +partIII = \relative c' { + \voiceOne + r2 r8 d ees g, fis4 g r8 a16 bes c8 bes16 a +} + +partIV = \relative c { + \voiceTwo + d4 r r2 + r8 d ees g, fis4 a +} + +\score { + << + % \set Score.barNumberVisibility = #all-bar-numbers-visible + % required in 2.13 + \set Score.currentBarNumber = #28 + \bar "" + \new PianoStaff << + \new Staff = "RH" << + \global + \new Voice = "voiceI" { \partI } + \new Voice = "voiceII" { \partII } + >> + \new Staff = "LH" + << + \clef "bass" + \global + \new Voice = "voiceIII" { \partIII } + \new Voice = "voiceIV" { \partIV } + >> + >> + >> + \layout { + \context { + \Staff + \remove "Time_signature_engraver" + } + \context { + \PianoStaff + \override StaffGrouper.staff-staff-spacing.padding = #1 + } + } +} +@end lilypond + +Some shortcomings in the unedited Finale output include: +@itemize @bullet +@item Most of the beams extend too far off the staff. A beam that points +towards the center of the staff should have a length of about one +octave, but engravers shorten this when the beam points away from the +staff in multi-voice music. The Finale beaming can easily be improved +with their Patterson Beams plug-in, but we elected to skip that step for +this example. +@item Finale doesn't adjust the positions of interlocking note heads, +which makes the music extremely difficult to read when the upper and +lower voices exchange positions temporarily: + +@lilypond +collide = \once \override NoteColumn.force-hshift = #0 + +\score { + << + \new Voice = "sample" \relative c''{ + \key g \minor + << + { \voiceOne g4 \collide g4 } + \new Voice { \voiceTwo bes \collide bes } + >> + } + \new Lyrics \lyricsto "sample" { "good " " bad" } + >> +} +@end lilypond + +@item Finale has placed all of the rests at fixed heights on the staff. +The user is free to adjust them as needed, but the software makes no +attempt to consider the content of the other voice. As luck would have +it, there are no true collisions between notes and rests in this example, +but that has more to do with the positions of the notes than the rest. +In other words, Bach deserves more credit for avoiding a complete +collision than Finale does. + +@end itemize + +This example is not intended to suggest that Finale cannot be used to +produce publication-quality output. On the contrary, in the hands of a +skilled user it can and does, but it requires skill and time. One of the +fundamental differences between LilyPond and commercial scorewriters is +that LilyPond hopes to reduce the amount of human intervention to an +absolute minimum, while other packages try to provide an attractive +interface in which to make these types of edits. + +One particularly glaring omission we found from Finale is a missing flat +in measure 33: + +@quotation +@iftex +@sourceimage{pdf/bwv861mm33-34-annotate,7.93cm,,} +@end iftex +@ifnottex +@sourceimage{bwv861mm33-34-annotate,,,png} +@end ifnottex +@end quotation + +@noindent +The flat symbol is required to cancel out the natural in the same +measure, but Finale misses it because it occurred in a different voice. +So in addition to running a beaming plug-in and checking the spacing on +the noteheads and rests, the user must also check each measure for +cross-voice accidentals to avoid interrupting a rehearsal over an +engraving error. + +If you are interested in examining these examples in more detail, the +full seven-measure excerpt can be found at the end of this essay along +with four different published engravings. Close examination reveals that +there is some acceptable variation among the hand-engravings, but that +LilyPond compares reasonably well to that acceptable range. There are +still some shortcomings in the LilyPond output, for example, it appears +a bit too aggressive in shortening some of the stems, so there is room +for further development and fine-tuning. + +Of course, typography relies on human judgment of appearance, so people +cannot be replaced completely. However, much of the dull work can be +automated. If LilyPond solves most of the common situations correctly, +this will be a huge improvement over existing software. Over the course +of years, the software can be refined to do more and more things +automatically, so manual overrides are less and less necessary. Where +manual adjustments are needed, LilyPond's structure has been designed +with that flexibility in mind. + +@node Building software +@section Building software + +This section describes some of the programming decisions that we made +when designing LilyPond. + +@menu +* Music representation:: +* What symbols to engrave?:: +* Flexible architecture:: +@end menu + + +@node Music representation +@unnumberedsubsec Music representation + +@cindex syntax +@cindex recursive structures + +Ideally, the input format for any high-level formatting system is +an abstract description of the content. In this case, that would +be the music itself. This poses a formidable problem: how can we +define what music really is? Instead of trying to find an answer, +we have reversed the question. We write a program capable of +producing sheet music, and adjust the format to be as lean as +possible. When the format can no longer be trimmed down, by +definition we are left with content itself. Our program serves as +a formal definition of a music document. + +The syntax is also the user-interface for LilyPond, hence it is +easy to type: + +@example +@{ + c'4 d'8 +@} +@end example + +@noindent +to create a quarter note on middle C (C1) and an eighth note on +the D above middle C (D1). + +@lilypond[quote] +{ + c'4 d'8 +} +@end lilypond + +On a microscopic scale, such syntax is easy to use. On a larger +scale, syntax also needs structure. How else can you enter +complex pieces like symphonies and operas? The structure is +formed by the concept of music expressions: by combining small +fragments of music into larger ones, more complex music can be +expressed. For example + +@lilypond[quote,verbatim,fragment,relative=1] +f4 +@end lilypond + +@noindent +Simultaneous notes can be constructed by enclosing them with +@code{<<} and @code{>>}: + +@example +<> +@end example + +@lilypond[quote,fragment,relative=1] +\new Voice { <> } +@end lilypond + +@noindent +This expression is put in sequence by enclosing it in curly braces +@code{@{@tie{}@dots{}@tie{}@}}: + +@example +@{ f4 <> @} +@end example + +@lilypond[quote,relative=1,fragment] +{ f4 <> } +@end lilypond + +@noindent +The above is also an expression, and so it may be combined again +with another simultaneous expression (a half note) using +@code{<<}, @code{\\}, and @code{>>}: + +@example +<< g2 \\ @{ f4 <> @} >> +@end example + +@lilypond[quote,fragment,relative=2] +\new Voice { << g2 \\ { f4 <> } >> } +@end lilypond + +Such recursive structures can be specified neatly and formally in +a context-free grammar. The parsing code is also generated from +this grammar. In other words, the syntax of LilyPond is clearly +and unambiguously defined. + +User-interfaces and syntax are what people see and deal with most. +They are partly a matter of taste, and also the subject of much +discussion. Although discussions on taste do have their merit, +they are not very productive. In the larger picture of LilyPond, +the importance of input syntax is small: inventing neat syntax is +easy, while writing decent formatting code is much harder. This +is also illustrated by the line-counts for the respective +components: parsing and representation take up less than 10% of +the source code. + +When designing the structures used in LilyPond, we made some different +decisions than are apparent in other software. Consider the hierarchical +nature of music notation: + +@lilypond[quote,fragment] +<< + \new Staff \relative c'' { + \key g \major + \time 3/4 + d4 g,8 a b c d4 g, g + } + \new Staff \relative c' { + \clef "bass" + \key g \major + 2 a4 b2. + } +>> +@end lilypond + +In this case, there are pitches grouped into chords that belong to +measures, which belong to staves. This resembles a tidy structure of +nested boxes: + +@quotation +@iftex +@sourceimage{pdf/nestedboxes,,4cm,} +@end iftex +@ifnottex +@sourceimage{nestedboxes,,,png} +@end ifnottex +@end quotation + +Unfortunately, the structure is tidy because it is based on some +excessively restrictive assumptions. This becomes apparent if we +consider a more complicated musical example: + +@lilypond[quote] +\layout { + \context { + \Score + \remove "Timing_translator" + \remove "Default_bar_line_engraver" + } + \context { + \Staff + \consists "Timing_translator" + \consists "Default_bar_line_engraver" + } +} + +\new PianoStaff << + \new Staff = "RH" << + \new Voice = "I" \relative c''' { + \time 3/4 + \voiceOne + \tuplet 7/6 { g8 g g g g g g } + \oneVoice + r4 r4\fermata + } + \new Voice = "II" \relative c' { + \voiceTwo + c4 + \tuplet 5/4 { + 8 f g + \change Staff = "LH" \oneVoice + \stemUp g,( c} + r4 + \override Stem.cross-staff = ##t + \override Stem.length = #12 + ) r\fermata + } + >> + \new Staff = "LH" << + \new Voice = "III" \relative c' { + \time 2/4 + \clef "bass" + g4 \stopStaff s + \startStaff s2*2 + } + >> +>> +@end lilypond + +In this example, staves start and stop at will, voices jump around +between staves, and the staves have different time signatures. Many +software packages would struggle with reproducing this example because +they are built on the nested box structure. With LilyPond, on the other +hand, we have tried to keep the input format and the structure as +flexible as possible. + +@node What symbols to engrave? +@unnumberedsubsec What symbols to engrave? + +@cindex engraving +@cindex typography +@cindex engraver +@cindex plug-in + +The formatting process decides where to place symbols. However, +this can only be done once it is decided @emph{what} symbols +should be printed -- in other words, what notation to use. + +Common music notation is a system of recording music that has +evolved over the past 1000 years. The form that is now in common +use dates from the early Renaissance. Although the basic form +(i.e., note heads on a 5-line staff) has not changed, the details +still evolve to express the innovations of contemporary notation. +Hence, common music notation encompasses some 500 years of music. +Its applications range from monophonic melodies to monstrous +counterpoints for a large orchestra. + +How can we get a grip on such a seven-headed beast, and force it +into the confines of a computer program? Our solution is to break +up the problem of notation (as opposed to engraving, i.e., +typography) into digestible and programmable chunks: every type of +symbol is handled by a separate module, a so-called plug-in. Each +plug-in is completely modular and independent, so each can be +developed and improved separately. Such plug-ins are called +@code{engraver}s, by analogy with craftsmen who translate musical +ideas to graphic symbols. + +In the following example, we start out with a plug-in for note +heads, the @code{Note_heads_engraver}. + +@lilypond[quote,ragged-right] +\include "engraver-example.ily" + +\score { + \topVoice + \layout { + \context { + \Voice + \remove "Stem_engraver" + \remove "Phrasing_slur_engraver" + \remove "Slur_engraver" + \remove "Script_engraver" + \remove "New_fingering_engraver" + \remove "Beam_engraver" + \remove "Auto_beam_engraver" + } + \context { + \Staff + \remove "Accidental_engraver" + \remove "Key_engraver" + \remove "Clef_engraver" + \remove "Bar_engraver" + \remove "Time_signature_engraver" + \remove "Staff_symbol_engraver" + \consists "Pitch_squash_engraver" + } + } +} +@end lilypond + +@noindent +Then a @code{Staff_symbol_engraver} adds the staff, + +@lilypond[quote,ragged-right] +\include "engraver-example.ily" + +\score { + \topVoice + \layout { + \context { + \Voice + \remove "Stem_engraver" + \remove "Phrasing_slur_engraver" + \remove "Slur_engraver" + \remove "Script_engraver" + \remove "New_fingering_engraver" + \remove "Beam_engraver" + \remove "Auto_beam_engraver" + } + \context { + \Staff + \remove "Accidental_engraver" + \remove "Key_engraver" + \remove "Clef_engraver" + \remove "Bar_engraver" + \consists "Pitch_squash_engraver" + \remove "Time_signature_engraver" + } + } +} +@end lilypond + +@noindent +the @code{Clef_engraver} defines a reference point for the staff, + +@lilypond[quote,ragged-right] +\include "engraver-example.ily" + +\score { + \topVoice + \layout { + \context { + \Voice + \remove "Stem_engraver" + \remove "Phrasing_slur_engraver" + \remove "Slur_engraver" + \remove "Script_engraver" + \remove "New_fingering_engraver" + \remove "Beam_engraver" + \remove "Auto_beam_engraver" + } + \context { + \Staff + \remove "Accidental_engraver" + \remove "Key_engraver" + \remove "Bar_engraver" + \remove "Time_signature_engraver" + } + } +} +@end lilypond + +@noindent +and the @code{Stem_engraver} adds stems. + +@lilypond[quote,ragged-right] +\include "engraver-example.ily" + +\score { + \topVoice + \layout { + \context { + \Voice + \remove "Phrasing_slur_engraver" + \remove "Slur_engraver" + \remove "Script_engraver" + \remove "New_fingering_engraver" + \remove "Beam_engraver" + \remove "Auto_beam_engraver" + } + \context { + \Staff + \remove "Accidental_engraver" + \remove "Key_engraver" + \remove "Bar_engraver" + \remove "Time_signature_engraver" + } + } +} +@end lilypond + +@noindent +The @code{Stem_engraver} is notified of any note head coming +along. Every time one (or more, for a chord) note head is seen, a +stem object is created and connected to the note head. By adding +engravers for beams, slurs, accents, accidentals, bar lines, time +signature, and key signature, we get a complete piece of notation. + +@lilypond[quote,ragged-right] +\include "engraver-example.ily" +\score { \topVoice } +@end lilypond + +@cindex polyphony +@cindex engraving multiple voices +@cindex contexts + +This system works well for monophonic music, but what about +polyphony? In polyphonic notation, many voices can share a staff. + +@lilypond[quote,ragged-right] +\include "engraver-example.ily" +\new Staff << \topVoice \\ \botVoice >> +@end lilypond + +In this situation, the accidentals and staff are shared, but the +stems, slurs, beams, etc., are private to each voice. Hence, +engravers should be grouped. The engravers for note heads, stems, +slurs, etc., go into a group called @q{Voice context}, while the +engravers for key, accidental, bar, etc., go into a group called +@q{Staff context}. In the case of polyphony, a single Staff +context contains more than one Voice context. Similarly, multiple +Staff contexts can be put into a single Score context. The Score +context is the top level notation context. + +@lilypond[quote,ragged-right] +\include "engraver-example.ily" +\score { + << + \new Staff << \topVoice \\ \botVoice >> + \new Staff << \pah \\ \hoom >> + >> +} +@end lilypond + +@seealso +Internals Reference: @rinternals{Contexts}. + +@node Flexible architecture +@unnumberedsubsec Flexible architecture + +When we started, we wrote the LilyPond program entirely in the C++ +programming language; the program's functionality was set in stone +by the developers. That proved to be unsatisfactory for a number +of reasons: + +@itemize + +@item When LilyPond makes mistakes, users need to override +formatting decisions. Therefore, the user must have access to the +formatting engine. Hence, rules and settings cannot be fixed by +us at compile-time but must be accessible for users at run-time. + +@item Engraving is a matter of visual judgment, and therefore a +matter of taste. As knowledgeable as we are, users can disagree +with our personal decisions. Therefore, the definitions of +typographical style must also be accessible to the user. + +@item Finally, we continually refine the formatting algorithms, so +we need a flexible approach to rules. The C++ language forces a +certain method of grouping rules that cannot readily be applied to +formatting music notation. + +@end itemize + +@cindex Scheme programming language + +These problems have been addressed by integrating an interpreter +for the Scheme programming language and rewriting parts of +LilyPond in Scheme. The current formatting architecture is built +around the notion of graphical objects, described by Scheme +variables and functions. This architecture encompasses formatting +rules, typographical style and individual formatting decisions. +The user has direct access to most of these controls. + +Scheme variables control layout decisions. For example, many +graphical objects have a direction variable that encodes the +choice between up and down (or left and right). Here you see two +chords, with accents and arpeggios. In the first chord, the +graphical objects have all directions down (or left). The second +chord has all directions up (right). + +@lilypond[quote,ragged-right] +\score { + \relative c' { + \stemDown 4_>-\arpeggio + \override Arpeggio.direction = #RIGHT + \stemUp 4^>-\arpeggio + } + \layout { + \context { + \Score + \override SpacingSpanner.spacing-increment = #3 + \hide TimeSignature + } + } +} +@end lilypond + +@cindex score formatting +@cindex formatting a score +@cindex formatting rules + +@noindent +The process of formatting a score consists of reading and writing +the variables of graphical objects. Some variables have a preset +value. For example, the thickness of many lines -- a +characteristic of typographical style -- is a variable with a +preset value. You are free to alter this value, giving your score +a different typographical impression. + +@lilypond[quote,ragged-right] +fragment = { + \clef bass f8 as8 + c'4-~ c'16 as g f e16 g bes c' des'4 +} +<< + \new Staff \fragment + \new Staff \with { + \override Beam.beam-thickness = #0.3 + \override Stem.thickness = #0.5 + \override Bar.thickness = #3.6 + \override Tie.thickness = #2.2 + \override StaffSymbol.thickness = #3.0 + \override Tie.extra-offset = #'(0 . 0.3) + } + \fragment +>> +@end lilypond + +Formatting rules are also preset variables: each object has +variables containing procedures. These procedures perform the +actual formatting, and by substituting different ones, we can +change the appearance of objects. In the following example, the +rule governing which note head objects are used to produce the +note head symbol is changed during the music fragment. + +@lilypond[quote,ragged-right] +#(set-global-staff-size 30) + +#(define (mc-squared grob orig current) + (let* ((interfaces (ly:grob-interfaces grob)) + (pos (ly:grob-property grob 'staff-position))) + (if (memq 'note-head-interface interfaces) + (begin + (ly:grob-set-property! grob 'stencil + (grob-interpret-markup grob + (make-lower-markup 0.5 + (case pos + ((-5) "m") + ((-3) "c ") + ((-2) (make-smaller-markup (make-bold-markup "2"))) + (else "bla"))))))))) + +\new Voice \relative c' { + \stemUp + \set autoBeaming = ##f + \time 2/4 + 4 + \once \override NoteHead.stencil = #note-head::brew-ez-stencil + \once \override NoteHead.font-size = #-7 + \once \override NoteHead.font-family = #'sans + \once \override NoteHead.font-series = #'bold + 4 + \once \override NoteHead.style = #'cross + 4 + \applyOutput #'Voice #mc-squared + 4 + << + { d8[ es-( fis^^ g] fis2-) } + \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 } + >> +} +@end lilypond + + + +@node Putting LilyPond to work +@section Putting LilyPond to work + +@cindex simple examples +@cindex examples, simple + +We have written LilyPond as an experiment of how to condense the +art of music engraving into a computer program. Thanks to all +that hard work, the program can now be used to perform useful +tasks. The simplest application is printing notes. + +@lilypond[quote,relative=1] +{ + \time 2/4 + c4 c g'4 g a4 a g2 +} +@end lilypond + +@noindent +By adding chord names and lyrics we obtain a lead sheet. + +@lilypond[quote,ragged-right] +<< + \chords { c2 c f2 c } + \new Staff + \relative c' { + \time 2/4 + c4 c g' g a a g2 + } + \addlyrics { twin -- kle twin -- kle lit -- tle star } +>> +@end lilypond + +Polyphonic notation and piano music can also be printed. The +following example combines some more exotic constructs. + +@lilypond[quote,line-width=15.9\cm] +\header { + title = "Screech and boink" + subtitle = "Random complex notation" + composer = "Han-Wen Nienhuys" +} + +\score { + \context PianoStaff << + \new Staff = "up" { + \time 4/8 + \key c \minor + << { + \revert Stem.direction + \change Staff = down + \set subdivideBeams = ##t + g16.[ + \change Staff = up + c'''32 + \change Staff = down + g32 + \change Staff = up + c'''32 + \change Staff = down + g16] + \change Staff = up + \stemUp + \set followVoice = ##t + c'''32([ b''16 a''16 gis''16 g''32)] + } \\ { + s4 \tuplet 3/2 { d'16[ f' g'] } as'32[ b''32 e'' d''] + } \\ { + s4 \autoBeamOff d''8.. f''32 + } \\ { + s4 es''4 + } >> + } + + \new Staff = "down" { + \clef bass + \key c \minor + \set subdivideBeams = ##f + \override Stem.french-beaming = ##t + \override Beam.beam-thickness = #0.3 + \override Stem.thickness = #4.0 + g'16[ b16 fis16 g16] + << \makeClusters { + as16 + + + } \\ { + \override Staff.Arpeggio.arpeggio-direction =#down + 4\arpeggio + } + >> } + >> + \midi { + \tempo 8 = 60 + } + \layout { + \context { + \Staff + \consists "Horizontal_bracket_engraver" + } + } +} +@end lilypond + +The fragments shown above have all been written by hand, but that +is not a requirement. Since the formatting engine is mostly +automatic, it can serve as an output means for other programs that +manipulate music. For example, it can also be used to convert +databases of musical fragments to images for use on websites and +multimedia presentations. + +This manual also shows an application: the input format is text, and can +therefore be easily embedded in other text-based formats such as +@LaTeX{}, HTML, or in the case of this manual, Texinfo. Using the +@command{lilypond-book} program, included with LilyPond, the input +fragments can be replaced by music images in the resulting PDF or HTML +output files. Another example is the third-party OOoLilyPond extension +for OpenOffice.org or LibreOffice, which makes it extremely easy to +embed musical examples in documents. + +For more examples of LilyPond in action, full documentation, and the +software itself, see our main website: www.lilypond.org. + +@page +@node Engraved examples (BWV 861) +@section Engraved examples (BWV 861) + +This section contains four reference engravings and two +software-engraved versions of Bach's Fugue in G minor from the +Well-Tempered Clavier, Book I, BWV 861 (the last seven measures). + +@noindent +Bärenreiter BA5070 (Neue Ausgabe Sämtlicher Werke, Serie V, Band 6.1, +1989): + +@iftex +@sourceimage{bwv861-baer,16cm,,} +@end iftex +@ifnottex +@sourceimage{bwv861-baer-small,,,png} +@end ifnottex + +@noindent +Bärenreiter BA5070 (Neue Ausgabe Sämtlicher Werke, Serie V, Band 6.1, +1989), an alternate musical source. Aside from the textual differences, +this demonstrates slight variations in the engraving decisions, even +from the same publisher and edition: + +@iftex +@sourceimage{bwv861-baer-alt,16cm,,} +@end iftex +@ifnottex +@sourceimage{bwv861-baer-alt-small,,,png} +@end ifnottex + +@noindent +Breitkopf & Härtel, edited by Ferruccio Busoni (Wiesbaden, 1894), also +available from the Petrucci Music Library (IMSLP #22081). The editorial +markings (fingerings, articulations, etc.) have been removed for clearer +comparison with the other editions here: + +@iftex +@sourceimage{bwv861-breitkopf,16cm,,} +@end iftex +@ifnottex +@sourceimage{bwv861-breitkopf-small,,,png} +@end ifnottex + +@noindent +Bach-Gesellschaft edition (Leipzig, 1866), available from the Petrucci +Music Library (IMSPL #02221): + +@iftex +@sourceimage{bwv861-gessellschaft,16cm,,} +@end iftex +@ifnottex +@sourceimage{bwv861-gessellschaft-small,,,png} +@end ifnottex + +@noindent +Finale 2008: + +@iftex +@sourceimage{pdf/bwv861-finale2008a,,,} +@end iftex +@ifnottex +@sourceimage{bwv861-finale2008a,,,png} +@end ifnottex + +@sp 4 +@noindent +LilyPond, version @version{}: + +@lilypond[staffsize=14.3,line-width=15.9\cm] +global = {\key g \minor} + +partI = \relative c' { + \voiceOne + fis8 d' ees g, fis4 g + r8 a16 bes c8 bes16 a d8 r r4 + r2 r8 d16 ees f8 ees16 d + ees4 ~ 16 d c bes a4 r8 ees'16 d + c8 d16 ees d8 e16 fis g8 fis16 g a4 ~ + 8 d, g f ees d c bes + a2 g\fermata \bar "|." +} + +partII = \relative c' { + \voiceTwo + d4 r4 r8 d'16 c bes8 c16 d + ees8 d c ees a, r r4 + r8 fis16 g a8 g16 fis g2 ~ + 2 r8 d' ees g, + fis4 g r8 a16 bes c8 bes16 a + bes4. 8 r r + 4 d2 +} +partIII = \relative c' { + \voiceOne + r2 r8 d ees g, fis4 g r8 a16 bes c8 bes16 a + bes2 ~ 8 b16 a g8 a16 b + c4 r r2 + R1 + r8 d ees g, fis4 g + r8 a16 bes c8 bes16 a b2 +} +partIV = \relative c { + \voiceTwo + d4 r r2 + r8 d ees g, fis4 a + d,8 d'16 c bes8 c16 d ees2 ~ + 8 ees16 d c8 d16 ees fis,8 a16 g fis8 g16 a + d,8 d'16 c bes8 c16 d ees8 c a fis' + g f ees d c bes a g + c a d d, g2\fermata +} + +\score { + << + % \set Score.barNumberVisibility = #all-bar-numbers-visible + % required in 2.13 + \set Score.currentBarNumber = #28 + \bar "" + \new PianoStaff << + \new Staff = "RH" << + \global + \new Voice = "voiceI" { \partI } + \new Voice = "voiceII" { \partII } + >> + + \new Staff = "LH" << + \clef "bass" + \global + \new Voice = "voiceIII" { \partIII } + \new Voice = "voiceIV" { \partIV } + >> + >> + >> + \layout { + \context { + \Staff + \remove "Time_signature_engraver" + } + \context { + \PianoStaff + \override StaffGrouper.staff-staff-spacing.padding = #1 + } + } +} +@end lilypond diff --git a/Documentation/hu/essay/literature.itely b/Documentation/hu/essay/literature.itely new file mode 100644 index 0000000000..4e62b291cd --- /dev/null +++ b/Documentation/hu/essay/literature.itely @@ -0,0 +1,106 @@ +@c -*- coding: utf-8; mode: texinfo; -*- + +@ignore + Translation of GIT committish: e5d3fb33ceaec6d10e06af0c667e4e982a0028ce + + 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.16.0" + +@node Irodalomjegyzék +@chapter Irodalomjegyzék +@translationof Literature list + +Here are lists of references used in LilyPond. + +@menu +* Short literature list:: +* Long literature list:: +@end menu + +@node Short literature list +@section Short literature list + +If you need to know more about music notation, here are some +interesting titles to read. + +@table @cite +@item Ignatzek 1995 +Klaus Ignatzek, Die Jazzmethode für Klavier. Schott's Söhne +1995. Mainz, Germany ISBN 3-7957-5140-3. + +A tutorial introduction to playing Jazz on the piano. One of the first +chapters contains an overview of chords in common use for Jazz music. + +@item Gerou 1996 +Tom Gerou and Linda Lusk, Essential Dictionary of Music +Notation. Alfred Publishing, Van Nuys CA ISBN 0-88284-768-6. + +A concise, alphabetically ordered list of typesetting and music +(notation) issues, covering most of the normal cases. + +@item Gould 2011 +Elaine Gould, Behind Bars: the Definitive Guide to Music Notation. +Faber Music Ltd. ISBN 0-571-51456-1. + +Hals über Kopf: Das Handbuch des Notensatzes. +Edition Peters. ISBN 1843670488. + +A comprehensive guide to the rules and conventions of music notation. +Covering everything from basic themes to complex techniques and +providing a comprehensive grounding in notational principles. + +@item Read 1968 +Gardner Read, Music Notation: A Manual of Modern Practice. +Taplinger Publishing, New York (2nd edition). + +A standard work on music notation. + +@item Ross 1987 +Ted Ross, Teach yourself the art of music engraving and processing. +Hansen House, Miami, Florida 1987. + +This book is about music engraving, i.e., professional typesetting. +It contains directions on stamping, use of pens and notational +conventions. The sections on reproduction technicalities and history +are also interesting. + +@item Schirmer 2001 +The G.Schirmer/AMP Manual of Style and Usage. G.Schirmer/AMP, NY, 2001. +(This book can be ordered from the rental department.) + +This manual specifically focuses on preparing print for publication by +Schirmer. It discusses many details that are not in other, normal +notation books. It also gives a good idea of what is necessary to bring +printouts to publication quality. + +@item Stone 1980 + +Kurt Stone, Music Notation in the Twentieth Century. +Norton, New York 1980. + +This book describes music notation for modern serious music, but +starts out with a thorough overview of existing traditional notation +practices. + +@end table + + +@node Long literature list +@section Long literature list + +@subheading University of Colorado Engraving music bibliography + +@include colorado.itexi + +@subheading Computer notation bibliography + +@include computer-notation.itexi + +@subheading Engraving bibliography + +@include engravingbib.itexi + diff --git a/Documentation/hu/learning.tely b/Documentation/hu/learning.tely index 6f026cc378..aac03cf1c2 100644 --- a/Documentation/hu/learning.tely +++ b/Documentation/hu/learning.tely @@ -20,7 +20,7 @@ Ez a tankönyv a LilyPond @version{} verziójába nyújt bevezetést. @end macro @macro copyrightDeclare -Copyright @copyright{} 1999--2014 a szerzők. +Copyright @copyright{} 1999--2015 a szerzők. @end macro @set FDL diff --git a/Documentation/hu/learning/fundamental.itely b/Documentation/hu/learning/fundamental.itely index 69104f29c6..0b9ca5891d 100644 --- a/Documentation/hu/learning/fundamental.itely +++ b/Documentation/hu/learning/fundamental.itely @@ -8,6 +8,7 @@ Guide, node Updating translation committishes.. @end ignore +@c Translators: Griechisch Erika, Harmath Dénes @c -*- coding: utf-8; mode: texinfo; -*- @c \version "2.19.2" @@ -494,11 +495,9 @@ frazeálóív, amely túlnyúlik a triolán. @section A szólamok zenét tartalmaznak @translationof Voices contain music - -Singers need voices to sing, and so does LilyPond. -The actual music for all instruments in a score -is contained in Voices -- the most fundamental -of all LilyPond's concepts. +Ahogy az énekeseknek dallamok kellenek ahhoz, hogy énekelhessenek, a LilyPondnak is szüksége van hangokra. +A valódi zene minden hangszer számára magában a kottában szereplő szólamokat jelenti -- +ezek nem csak a zenének, hanem magának a LilyPondnak is alapkövei. @menu * Hangzatos szólamok:: @@ -524,58 +523,50 @@ of all LilyPond's concepts. @cindex voices vs. chords @cindex chords vs. voices -The lowest, most fundamental or innermost layers in a LilyPond -score are called @q{Voice contexts} or just @q{Voices} for short. -Voices are sometimes called @q{layers} in other notation -packages. +A LilyPond kotta legalsó rétege a @q{Szólam környezet} vagy röviden @q{Szólamok}. +A szólamokat egyes csomagokban csak rétegeknek nevezzük. -In fact, a Voice layer or context is the only one which can contain -music. If a Voice context is not explicitly declared one is created -automatically, as we saw at the beginning of this chapter. Some -instruments such as an Oboe can play only one note at a time. Music -written for such instruments is monophonic and requires just a single -voice. Instruments which can play more than one note at a time like -the piano will often require multiple voices to encode the different -concurrent notes and rhythms they are capable of playing. +Valójában a szólam környezet az egyetlen, ami zenét tartalmazhat. +Ha szólam környezetet nem hozunk létre, akkor automatikusan készül +egy, ahogy láthattuk ennek a fejezetnek az elején. Egyes hangszerek +-- mint az oboa is -- egy időben csak egy hangot képesek kiadni. +Az ilyen hangszerekre írt zenék monofonikusak és csak egyetlen hangot +tartalmaznak (egy időben). Azon hangszerek esetén, melyek képesek egy +időben több hangot is kiadni -- mint a zongora -- sokszor többszörös +szólamokra van szükségünk, akár különböző ütemben. -A single voice can contain many notes in a chord, of course, -so when exactly are multiple voices needed? Look first at -this example of four chords: + +Egy egyszerű szólam több hangjegyet is tartalmazhat egy akkordban, +tehát felmerül a kérdés, hogy mikor is van szükségünk többszörös szólamra. +Nézzük az első példát, 4 akkorddal: @lilypond[quote,verbatim,fragment,ragged-right,relative=1] \key g \major 4 @end lilypond -This can be expressed using just the single angle bracket chord -symbols, @code{< ... >}, and for this just a single voice is -needed. But suppose the F-sharp were actually an eighth-note -followed by an eighth-note G, a passing note on the way to the A? -Now we have two notes which start at the same time but have -different durations: the quarter-note D and the eighth-note -F-sharp. How are these to be coded? They cannot be written as -a chord because all the notes in a chord must have the same -duration. And they cannot be written as two sequential notes -as they need to start at the same time. This is when two -voices are required. +A fenti példa leírható egyszerű, kúpos („kacsacsőr”) zárójelekkel, @code{< ... >}, +így csak egy egyszeres szólamra volt szükségünk. De tegyük fel, hogy, hogy a FISZ +egy nyolcad, melyet egy másik G nyolcad követ. Ebben esetben két hangunk van, +mely ugyanakkor kezdődik, de különböző hanghosszúságú: a negyed D és a nyolcad FISZ. +Hogy írjuk ezt le? Nem írhatjuk akkordként, hiszen egy akkordban minden hang azonos +hosszúságú és nem írhatjuk egymást követő hangokként sem, hiszen egy időben kell kezdődniük a hangoknak. Ilyenkor van szükségünk két szólamra. + -Let us see how this is done in LilyPond input syntax. + +Nézzük, hogy néz ez ki a LilyPond szintaxisában. @funindex << \\ >> @funindex \\ -The easiest way to enter fragments with more than one voice on a -staff is to enter each voice as a sequence (with @code{@{...@}}), -and combine them simultaneously with angle brackets, @code{<<...>>}. -The fragments must also be separated with double backward slashes, -@code{\\}, to place them in separate voices. Without these, the -notes would be entered into a single voice, which would usually -cause errors. This technique is particularly suited to pieces of -music which are largely monophonic with occasional short sections -of polyphony. +A legegyszerűbb módja olyan részek rögzítésének, amelyek több mint egy hangot +tartalmaznak egy szólamban, hogy szekvenciát @code{@{...@}} használunk és ezt kombináljuk a szögletes zárójelekkel @code{<<...>>}. +Az ilyen a részeket @code{\\} segítségével kell elválasztani ahhoz, hogy különböző szólamként jelenjenek meg. +Az elválasztó jelek nélkül a hangok egyetlen szólamként szerepelnének, ami általában hibát okoz. +Ez a technika használható olyan daraboknál melyek leginkább monofonikusak és néhány részük polifón. + -Here's how we split the chords above into two voices and add both -the passing note and a slur: +Itt egy példa, ami a fenti akkord egyik hangját két szólamra osztja és kötést is tartalmaz: @lilypond[quote,verbatim,fragment,ragged-right,relative=2] \key g \major @@ -583,9 +574,10 @@ the passing note and a slur: << { g4 fis8( g) a4 g } \\ { d4 d d d } >> @end lilypond -Notice how the stems of the second voice now point down. +Vegyük észre, hogy a második hang szárai lefele mutatnak. -Here's another simple example: + +Íme egy másik egyszerű példa: @lilypond[quote,verbatim,fragment,ragged-right,relative=2] \key d \minor @@ -595,11 +587,10 @@ Here's another simple example: << { a2. r4 } \\ { fis2. s4 } >> @end lilypond -It is not necessary to use a separate @code{<< \\ >>} construct -for each bar. For music with few notes in each bar this layout -can help the legibility of the code, but if there are many -notes in each bar it may be better to split out each voice -separately, like this: +Nem szükséges, hogy minden ütemet elválasszunk a @code{<< \\ >>} segítségével. +Olyan zenék esetén, ahol csak néhány hang van minden ütemben, ez a felépítés +segíti a kód olvashatóságát, de ha már sok hang van, akkor jobb, ha a hangokat külön-külön jegyezzük le, például így: + @lilypond[quote,verbatim,fragment,ragged-right,relative=2] \key d \minor @@ -622,13 +613,13 @@ separately, like this: @cindex slurs crossing brackets @cindex ties crossing brackest -This example has just two voices, but the same construct may be -used to encode three or more voices by adding more back-slash -separators. -The Voice contexts bear the names @code{"1"}, @code{"2"}, etc. -In each of these contexts, the vertical direction of slurs, -stems, ties, dynamics etc., is set appropriately. +A fenti példában csak két szólam van, de ha három vagy több szólamot kell +lejegyezni, azt is hasonlóan lehet megoldani visszaperjelek (back-slash) használatával. + +A szólam környezetek nevei @code{"1"}, @code{"2"}, stb. +Minden ilyen környezetben a függőleges elrendezés (kötések, szárak, dinamika, stb) megfelelően jelenik meg. + @lilypond[quote,verbatim,fragment] \new Staff \relative c' { @@ -636,23 +627,26 @@ stems, ties, dynamics etc., is set appropriately. c16 d e f % Voice "1" Voice "2" Voice "3" << { g4 f e } \\ { r8 e4 d c8~ } >> - << { d2 e2 } \\ { c8 b16 a b8 g~ 2 } \\ { s4 b4 c2 } >> + << { d2 e2 } \\ { c8 b16 a b8 g~ g2 } \\ { s4 b4 c2 } >> } @end lilypond -These voices are all separate from the main voice that contains -the notes just outside the @code{<< .. >>} construct. Let's call -this the @emph{simultaneous construct}. Slurs and ties may only -connect notes within the same voice, so slurs and ties cannot go -into or out of a simultaneous construct. Conversely, -parallel voices from separate simultaneous constructs on the same -staff are the same voice. Other voice-related properties also -carry across simultaneous constructs. Here is the same example, -with different colors and note heads for each voice. Note that -changes in one voice do not affect other voices, but they do -persist in the same voice later. Note also that tied notes may be -split across the same voices in two constructs, shown here in the -blue triangle voice. + +A fő szólamtól különválasztva jelennek meg a @code{<< .. >>} között +szereplő szólamok (hangok). Ezt hívjuk @emph{szimultán felépítésnek}. +Az átkötések és kötőívek csak az azonos szólamon belül kötik +össze a hangokat, tehát ezek nem kerülhetnek belülre vagy kívülre a +szimultán felépítéshez képest. +Fordítva, szimultán felépítés esetén azok a párhuzamos szólamok, +amelyek ugyanabban az ötvonalban vannak, egy szólamnak minősülnek. +Egyéb szólamhoz kapcsolódó tulajdonságok átöröklődnek a szimultán +felépítésbe is. Itt egy másik példa, melynél a különböző szólamokban +különböző színű hangok szerepelnek. Vegyük észre, hogy +adott szólambeli változások nincsenek hatással más szólamokra, +de a változtatások ugyanabban a szólamban később is érvényesek. +Vegyük észre azt is, hogy az összekötött hangokat szétválaszthatja +az ütemhatár, ahogy a kék háromszöget jelző szólamban láthatjuk: + @lilypond[quote,verbatim] \new Staff \relative c' { @@ -674,7 +668,7 @@ blue triangle voice. { d2 e2 } \\ % Voice 2 continues - { c8 b16 a b8 g ~ 2 } + { c8 b16 a b8 g ~ g2 } \\ { \voiceThreeStyle @@ -690,26 +684,26 @@ blue triangle voice. @funindex \voiceFourStyle @funindex \voiceNeutralStyle -The commands @code{\voiceXXXStyle} are mainly intended for use in -educational documents such as this one. They modify the color -of the note head, the stem and the beams, and the style of the -note head, so that the voices may be easily distinguished. -Voice one is set to red diamonds, voice two to blue triangles, -voice three to green crossed circles, and voice four (not used -here) to magenta crosses; @code{\voiceNeutralStyle} (also not -used here) reverts the style back to the default. -We shall see later how commands like these may be created by the -user. -See @ref{Visibility and color of objects} and -@ref{Using variables for tweaks}. + +A @code{\voiceXXXStyle} parancsot elsősorban oktatási célra érdemes +használni, olyan esetben, mint amilyet ez is. Ezek a parancsok +módosítják a hangok színét illetve a kottafejet, a szárat, a +gerendákat és a hangfejek stílusát, így lesznek a szólamok könnyen felismerhetőek. + +Az első szólam piros rombusz, a második kék háromszög, a +harmadik zöld áthúzott kör, a negyedik (itt nem használt) magenta kereszt. +A @code{\voiceNeutralStyle} (szintén nem használt a fenti példában) visszaállítja +a stílust az alapértelmezettre. Később az @ref{Objektumok láthatósága és színe} +és @ref{Változók felhasználása a finomhangoláshoz} fejezetekben majd látni fogjuk, +hogyan lehet hasonló parancsokat létrehozni. + @cindex polyphony and relative note entry @cindex relative note entry and polyphony -Polyphony does not change the relationship of notes within a -@code{\relative @{ @}} block. Each note is still calculated -relative to the note immediately preceding it, or to the first -note of the preceding chord. So in + +A polifónia nem változtatja meg a hangjegyek viszonyát a @code{\relative @{ @}} blokkon belül. +Minden hangjegy helyzetét az azt megelőző hang illetve első hang helyzete határozza meg. @example \relative c' @{ noteA << < noteB noteC > \\ noteD >> noteE @} @@ -722,9 +716,11 @@ note of the preceding chord. So in @code{noteC}; @* @code{noteE} is relative to @code{noteD}, not @code{noteA}. -An alternative way, which may be clearer if the notes in the -voices are widely separated, is to place a @code{\relative} -command at the start of each voice: + +Van egy másik módszer, ami egyszerűbb, ha a hangjegyek a +szólamokon belül teljesen szét vannak választva. +Ezt úgy érthetjük el, hogy a @code{\relative} parancsot használjuk minden szólam kezdetén: + @example \relative c' @{ noteA ... @} @@ -736,14 +732,14 @@ command at the start of each voice: \relative c' @{ noteE ... @} @end example -Let us finally analyze the voices in a more complex piece of music. -Here are the notes from the first two bars of the second of Chopin's -Deux Nocturnes, Op 32. This example will be used at later stages in -this and the next chapter to illustrate several techniques for -producing notation, so please ignore for now anything in the -underlying code which looks mysterious and concentrate just on the -music and the voices -- the complications will all be explained in -later sections. +Végül vizsgáljuk meg a szólamokat összetettebb zene esetén. +Nézzük Chopin Deux Nocturne, Op 32. művének első két ütemét. +A továbbiakban is ezt a példát fogjuk használni arra, hogy a +jelölésekre használható különböző technikákat szemléltessük, +ezért tekintsünk el attól, hogy az alábbi kód elsőre rejtélyesnek +tűnhet és koncentráljunk csak a zenére és a szólamokra -- a nehezebb részeket majd a későbbi fejezetekben áttekintjük. + + @c The following should appear as music without code @lilypond[quote,ragged-right] @@ -757,9 +753,9 @@ later sections. \\ % Voice four { % Ignore these for now - they are explained in Ch 4 - \once \override NoteColumn.force-hshift = #0 + \once \override NoteColumn #'force-hshift = #0 2 - \once \override NoteColumn.force-hshift = #0.5 + \once \override NoteColumn #'force-hshift = #0.5 des2 } >> | @@ -767,26 +763,13 @@ later sections. } @end lilypond -The direction of the stems is often used to indicate the continuity of -two simultaneous melodic lines. Here the stems of the highest notes -are all pointing up and the stems of the lower notes are all pointing -down. This is the first indication that more than one voice is -required. - -But the real need for multiple voices arises when notes -which start at the same time have different durations. -Look at the notes which start at beat three in the first -bar. The A-flat is a dotted quarter note, the F is a -quarter note and the D-flat is a half note. These -cannot be written as a chord as all the notes in a chord -must have the same duration. Neither can they be written -as sequential notes, as they must start at the same time. -This section of the bar requires three voices, and the -normal practice would be to write the whole bar as three -voices, as shown below, where we have used different note heads -and colors for the three voices. Again, the code behind this -example will be explained later, so ignore anything you do -not understand. +A szárak iránya gyakran jelzi két egyidejű dallamsor folytonosságát. +A fenti példánál a legfelső hangjegy szárai felfelé mutatnak, az alsóké mind lefelé. +Ez az első jelölés, amire szükségünk van több szólam lejegyzése során. + + +Leginkább viszont akkor van szükségünk többszörös szólamokra, amikor a hangok ugyanakkor kezdődnek ugyan, de különböző hosszúságúak. Nézzük azt a hangot, ami első ütem harmadik ütésekor kezdődik. Az ASZ egy pontozott negyed, az alatta levő F egy pontozatlan negyed, a DESZ pedig egy fél hang. Ezek nem írhatók le akkordként, hiszen akkord esetén minden hang azonos hosszúságú. Nem írhatóak le egymást követő hangokként sem, hiszen egy időben kell kezdődniük. Az ütemnek ebben a részében három szólamra van szükségünk, és normál esetben az egész ütem három szólamú, ahogy az alábbi példa mutatja, ahol különböző hangjegyfejeket használunk különböző színekkel a három szólamhoz. Szeretnénk ismét kihangsúlyozni, hogy az alábbi példa mögötti kódot később elmagyarázzuk, most csak hagyjuk figyelmen kívül azokat a részeket, amik nem érthetőek. + @c The following should appear as music without code @c The three voice styles should be defined in -init @@ -806,9 +789,9 @@ not understand. \\ % Voice four { \voiceThreeStyle % Ignore these for now - they are explained in Ch 4 - \once \override NoteColumn.force-hshift = #0 + \once \override NoteColumn #'force-hshift = #0 2 - \once \override NoteColumn.force-hshift = #0.5 + \once \override NoteColumn #'force-hshift = #0.5 des2 } >> @@ -816,11 +799,10 @@ not understand. } @end lilypond - -Let us try to encode this music from scratch. As we -shall see, this encounters some difficulties. We begin as -we have learnt, using the @code{<< \\ >>} construct to -enter the music of the first bar in three voices: +Kezdjük a legelején a fenti zene kódolását. +Látni fogjuk, hogy beleütközünk majd több problémába is (de ez ne keserítsen el minket, a lényeg, hogy ezekből tanulunk :) ). +Kezdjük azzal, amit tanultunk: a @code{<< \\ >>} használatával. +Gépeljük be a három szólam első ütemét: @lilypond[quote,verbatim,fragment,ragged-right] \new Staff \relative c'' { @@ -837,13 +819,9 @@ enter the music of the first bar in three voices: @cindex stem directions and voices @cindex stem up -The stem directions are automatically assigned with the -odd-numbered voices taking upward stems and the even-numbered -voices downward ones. The stems for voices 1 and 2 are right, -but the stems in voice 3 should go down in this particular piece -of music. We can correct this by skipping voice three -and placing the music in voice four. This is done by simply -adding another pair of @code{\\}. + +A szárak iránya automatikusan hozzárendelődik a szólamokhoz, a páratlan-sorszámú szólamoknál felfelé, a párosoknál lefelé. Az első és második szólamhoz tartozó hangok szárai megfelelőek, de a harmadik szólamban a száraknak lefelé kellene állniuk. Ezt úgy javíthatjuk, hogy a harmadik szólamot átugorjuk (üresen hagyjuk) és a negyedik szólamba helyezzük az eredetileg harmadik szólamot. Ezt egyszerűen megtehetjük a @code{\\} segítségével: + @lilypond[quote,verbatim,fragment,ragged-right] \new Staff \relative c'' { @@ -861,19 +839,10 @@ adding another pair of @code{\\}. @end lilypond @noindent -We see that this fixes the stem direction, but exposes a problem -sometimes encountered with multiple voices -- the stems of the notes -in one voice can collide with the note heads in other voices. In -laying out the notes, LilyPond allows the notes or chords from two -voices to occupy the same vertical note column provided the stems are -in opposite directions, but the notes from the third and fourth voices -are displaced, if necessary, to avoid the note heads colliding. This -usually works well, but in this example the notes of the lowest voice -are clearly not well placed by default. LilyPond provides several ways -to adjust the horizontal placing of notes. We are not quite ready yet -to see how to correct this, so we shall leave this problem until a -later section --- see the @code{force-hshift} property in @ref{Fixing -overlapping notation}. +Látjuk, hogy ez megoldotta a problémát a szárak irányával kapcsolatban, +de előhozott egy másikat, ami többszörös szólamoknál néha előfordul -- +a hangok szárai a szólamon belül ütköznek más kottafejekkel más szólamokban. +A hangok megtervezéséhez a LilyPond lehetővé teszi, hogy hangok illetve akkordok esetén, két hang ugyanazt a függőleges pozíciót foglalja el akár ellentétes szárirány esetén, viszont figyelembe veszi azt, hogy bizonyos esetekben a harmadik és a negyedik szólam elmozdulhat, ezzel elkerülve azt, hogy a kottafejek egymást fedjék. Ez általában működik, de a fenti példában egyértelmű, hogy az alacsonyabb szólamok alapértelmezetten nem jól helyezkednek el. Jelenleg még nem vagyunk készen rá, hogy ezt kijavítsuk, úgyhogy most ezt érintetlenül hagyjuk és visszatérünk rá egy későbbi fejezetben -- lásd @code{force-hshift} tulajdonság az @ref{Egymást átfedő jelek javítása} fejezetben. @seealso @@ -898,15 +867,11 @@ Notation Reference: @ruser{Multiple voices}. @funindex \new Voice @cindex voice contexts, creating -Voice contexts can also be created manually -inside a @code{<< >>} block to create polyphonic music, using -@code{\voiceOne} ... @code{\voiceFour} to indicate the required -directions of stems, slurs, etc. In longer scores this method -is clearer, as it permits the voices to be separated and to be -given more descriptive names. +A @code{<< >>} blokkon belül is létrehozhatunk polifón zenét és ha szükséges, +a @code{\voiceOne} ... @code{\voiceFour} parancsokkal jelezhetjük a szárak, ívek, stb irányát. +Hosszabb kották esetén ez a módszer átláthatóbb, mert így külön-külön írhatjuk a szólamokat és beszédesebb neveket is adhatunk nekik. -Specifically, the construct @code{<< \\ >>} which we used in -the previous section: +Konkrétan a @code{<< \\ >>}szerkezet, amit az előző fejezetben használtunk: @example \new Staff @{ @@ -917,7 +882,7 @@ the previous section: @end example @noindent -is equivalent to +egyenértékű az alábbival: @example \new Staff << @@ -926,7 +891,7 @@ is equivalent to >> @end example -Both of the above would produce +Mindkét fenti esetben az alábbi kottát kapjuk @c The following example should not display the code @lilypond[ragged-right,quote] @@ -939,54 +904,51 @@ Both of the above would produce @cindex voices, reverting to single @cindex reverting to a single voice -The @code{\voiceXXX} commands set the direction of stems, slurs, -ties, articulations, text annotations, augmentation dots of dotted -notes, and fingerings. @code{\voiceOne} and @code{\voiceThree} -make these objects point upwards, while @code{\voiceTwo} and -@code{\voiceFour} make them point downwards. These commands also -generate a horizontal shift for each voice when this is required -to avoid clashes of note heads. The command @code{\oneVoice} -reverts the settings back to the normal values for a single voice. -Let us see in some simple examples exactly what effect -@code{\oneVoice}, @code{\voiceOne} and @code{voiceTwo} have on -markup, ties, slurs, and dynamics: +A @code{\voiceXXX} parancs meghatározza a szárak irányát, az +átkötéseket, a kötőíveket, az artikulációt, a szöveges magyarázatokat, +a pontozott hangokat és az ujjrendet. A @code{\voiceOne} és a @code{\voiceThree} +hatására a mutató elemek felfele mutatnak, míg a @code{\voiceTwo} és a +@code{\voiceFour} esetén lefelé. Ezen parancsok ha szükséges vízszintes +eltolást is létrehoznak minden szólam esetén, hogy elkerüljék a kottafejek +ütközését. A @code{\oneVoice} parancs visszaállítja a beállításokat a normál egyszeres szólamra. + + +Nézzünk egy egyszerű példát arra, hogy a @code{\oneVoice}, @code{\voiceOne} és @code{\voiceTwo} +parancsok milyen hatással vannak a jelzésekre, ívekre illetve dinamikára: @lilypond[quote,ragged-right,verbatim] \relative c'{ % Default behavior or behavior after \oneVoice - c d8~ 8 e4( f g a) b-> c + c d8~ d e4( f g a) b-> c } @end lilypond @lilypond[quote,ragged-right,verbatim] \relative c'{ \voiceOne - c d8~ 8 e4( f g a) b-> c + c d8~ d e4( f g a) b-> c \oneVoice - c, d8~ 8 e4( f g a) b-> c + c, d8~ d e4( f g a) b-> c } @end lilypond @lilypond[quote,ragged-right,verbatim] \relative c'{ \voiceTwo - c d8~ 8 e4( f g a) b-> c + c d8~ d e4( f g a) b-> c \oneVoice - c, d8~ 8 e4( f g a) b-> c + c, d8~ d e4( f g a) b-> c } @end lilypond -Now let's look at three different ways to notate the same passage -of polyphonic music, each of which is advantageous in different -circumstances, using the example from the previous section. +Nézzük végig a három különböző lejegyzési módját ugyanannak a polifón dallamnak, +és vizsgáljuk meg melyik milyen esetben előnyös, használva az előző fejezetbeli példát. -An expression that appears directly inside a @code{<< >>} belongs -to the main voice (but, note, @strong{not} in a @code{<< \\ >>} -construct). This is useful when extra voices appear while the -main voice is playing. Here is a more correct rendition of our -example. The red diamond-shaped notes -demonstrate that the main melody is now in a single voice context, + +A @code{<< >>} közt található kifejezés a főszólamhoz tartozik (jegyezzük meg, hogy a @code{<< >>} használata során ez @strong{nem} igaz). +Ez akkor hasznos, amikor további szólamok jelennek meg a főszólam mellett. Egy helyesebb megvalósítása a példánknak alább látható. +The red diamond-shaped notes demonstrate that the main melody is now in a single voice context, permitting a phrasing slur to be drawn over them. @lilypond[quote,ragged-right,verbatim] @@ -1002,7 +964,7 @@ permitting a phrasing slur to be drawn over them. \new Voice { % Set stems, etc., down \voiceTwo - r8 e4 d c8~ | 8 b16 a b8 g~ 2 | + r8 e4 d c8~ | c8 b16 a b8 g~ g2 | } % Initiate third voice \new Voice { @@ -1020,9 +982,7 @@ permitting a phrasing slur to be drawn over them. @cindex voices, temporary @cindex voices, nesting -More deeply nested polyphony constructs are possible, and if a -voice appears only briefly this might be a more natural way to -typeset the music: +Létrehozhatunk többszörösen beágyazott polifón szerkezetet is, és ha a szólamok rövidek, az alábbi módon természetesebbnek tűnik a leírásuk: @lilypond[quote,ragged-right,verbatim] \new Staff \relative c' { @@ -1033,7 +993,7 @@ typeset the music: \voiceTwo r8 e4 d c8~ << - { c8 b16 a b8 g~ 2 } + { c8 b16 a b8 g~ g2 } \new Voice { \voiceThree s4 b4 c2 @@ -1046,12 +1006,7 @@ typeset the music: @cindex spacing notes -This method of nesting new voices briefly is useful -when only small sections of the music -are polyphonic, but when the whole staff is largely polyphonic -it can be clearer to use multiple voices throughout, using -spacing notes to step over sections where the voice is silent, -as here: +A szólamokat akkor érdemes így írni, ha a zene csak egy kis része polifón. Viszont amikor az egész ötvonalas kotta nagyrésze polifón, egyszerűbb, ha többszörös szólamokat használunk mindenütt, -- ritkított hangokkal, hogy átlépjük azokat a részeket, ahol a szólamok üresek. Az alábbi példa ezt mutatja: @lilypond[quote,ragged-right,verbatim] \new Staff \relative c' << @@ -1064,7 +1019,7 @@ as here: \new Voice { % Set stems, etc, down \voiceTwo - s4 r8 e4 d c8~ | 8 b16 a b8 g~ 2 | + s4 r8 e4 d c8~ | c8 b16 a b8 g~ g2 | } % Initiate third voice \new Voice { @@ -1075,7 +1030,7 @@ as here: >> @end lilypond -@subsubheading Note columns +@subsubheading Hangoszlopok @cindex note column @cindex note collisions @@ -1090,36 +1045,27 @@ as here: @funindex \shiftOnnn @funindex shiftOnnn -Closely spaced notes in a chord, or notes occurring at the same -time in different voices, are arranged in two, occasionally more, -columns to prevent the note heads overlapping. These are called -note columns. There are separate columns for each voice, and -the currently specified voice-dependent shift is applied to the -note column if there would otherwise be a collision. This can -be seen in the example above. In bar 2 the C in voice two is -shifted to the right relative to the D in voice one, and in the -final chord the C in voice three is also shifted to the right -relative to the other notes. - -The @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn}, and -@code{\shiftOff} commands specify the degree to which notes and -chords of the voice should be shifted if a collision -would otherwise occur. By default, the outer voices (normally -voices one and two) have @code{\shiftOff} specified, while the -inner voices (three and four) have @code{\shiftOn} specified. -When a shift is applied, voices one and three are shifted to -the right and voices two and four to the left. - -@code{\shiftOnn} and @code{\shiftOnnn} define further shift -levels which may be specified temporarily to resolve collisions -in complex situations -- see @ref{Real music example}. - -A note column can contain just one note (or chord) from a voice -with stems up and one note (or chord) from a voice with stems -down. If notes from two voices which have their stems in the -same direction are placed at the same position and both voices -have no shift or the same shift specified, the error message -@qq{Too many clashing note columns} will be produced. + +Egymáshoz közel elhelyezkedő, különböző szólamban levő hangok esetén +kettő, esetenként több oszlopba rendezzük a hangokat, hogy a kottafejek +fedését elkerüljük. Ezeket hangoszlopoknak hívjuk. Különálló oszlopokat +hozunk létre minden szólamhoz és az éppen aktuális szólam-független eltolást +minden oszlopra alkalmazzuk, ezzel elkerülve az ütközéseket. A fenti példában +is ezt láthatjuk. A 2. ütemben a C a kettes szólamban eltolódik a D-tól jobbra +(ami az első szólamban van) és a végső C akkord a hármas szólamban szintén eltolódik jobbra a többi hangtól. + +A @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn}, és +@code{\shiftOff} parancsok meghatározzák, hogy melyik hangot vagy akkordot milyen mértékben kell megemelnünk ahhoz, hogy az ütközést elkerüljük. Alapértelmezett esetben, a külső szólamokban (az egyes és a kettes szólamban) a @code{\shiftOff} érvényes, amíg a köztes szólamokban (hármas és négyes) a @code{\shiftOn}. Eltolás esetén az egyes és a hármas szólam jobbra a kettes és a négyes balra tolódik + + +A @code{\shiftOnn} és @code{\shiftOnnn} további eltolási szinteket +határoznak meg, melyek összetett esetekben ideiglenesen szükségesek +lehetnek ahhoz, hogy elkerüljük az ütközéseket – lásd @ref{Valós zenei példa}. + +Egy hangoszlop egyszerre csak egy hangot (vagy akkordot) tartalmazhat egy szólamból +szárral felfelé és egy másikat szárral lefelé. Ha két különböző szólambeli hang +azonos irányú szárral kerül ugyanabba a pozícióba és egyik szólamban sincs eltolás +vagy ugyanazt az eltolást adjuk meg, akkor a @qq{Too many clashing note columns} hibaüzenetet kapjuk. @seealso diff --git a/Documentation/hu/translations.itexi b/Documentation/hu/translations.itexi index af7c1a4117..67c7ccbf4d 100644 --- a/Documentation/hu/translations.itexi +++ b/Documentation/hu/translations.itexi @@ -16,7 +16,7 @@ td { border: 1px solid black; text-align: center; } @end html @end ifhtml -@emph{Last updated Wed Dec 18 12:23:14 UTC 2013 +@emph{Last updated Tue Dec 30 15:39:08 UTC 2014 } @multitable @columnfractions 0.166666666667 0.166666666667 0.166666666667 0.166666666667 0.166666666667 0.166666666667 @@ -47,7 +47,7 @@ yes @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -111,7 +111,7 @@ partially @item 2 Elemi kottaírás @* -4396 +4417 @tab Harmath Dénes @tab @tab @@ -128,7 +128,7 @@ partially (35 %) @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -138,7 +138,7 @@ partially @item 3 Alapfogalmak @* -11144 +11193 @tab Harmath Dénes @tab @tab @@ -165,7 +165,7 @@ partially @item 4 A kimenet finomhangolása @* -16191 +16570 @tab Harmath Dénes @tab @tab @@ -182,7 +182,7 @@ no @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -192,7 +192,7 @@ partially @item A Sablonok @* -372 +803 @tab Harmath Dénes @tab @tab @@ -209,7 +209,7 @@ no @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -248,7 +248,7 @@ yes @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -285,18 +285,18 @@ partially @item 1 A @command{lilypond} használata @* -4537 +5080 @tab Team-hu @tab @tab @ifhtml @html -partially (94 %) +partially (90 %) @end html @end ifhtml @ifnothtml -partially (94 %) +partially (90 %) @end ifnothtml @tab @ifhtml @@ -312,7 +312,7 @@ partially @item 2 A @command{convert-ly} használata @* -1484 +1865 @tab Team-hu @tab @tab @@ -329,7 +329,7 @@ yes @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -339,7 +339,7 @@ partially @item 3 A @command{lilypond-book} használata @* -4137 +4217 @tab Team-hu @tab @tab @@ -356,7 +356,7 @@ partially (13 %) @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -378,7 +378,7 @@ LilyPond -- kottaszedés mindenkinek @item Section titles @* -616 +642 @tab Harmath Dénes @tab @tab @@ -395,7 +395,7 @@ yes @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -432,7 +432,7 @@ partially @item Bevezetés @* -4937 +5707 @tab Harmath Dénes @tab @tab @@ -449,7 +449,7 @@ yes @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -459,7 +459,7 @@ partially @item Letöltés @* -1201 +1145 @tab Harmath Dénes @tab @tab @@ -476,7 +476,7 @@ yes @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -486,7 +486,7 @@ partially @item Dokumentáció @* -1284 +1314 @tab Harmath Dénes @tab @tab @@ -503,7 +503,7 @@ yes @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -513,24 +513,24 @@ partially @item Közösség @* -3073 +2991 @tab Harmath Dénes @tab @tab @ifhtml @html -partially (95 %) +partially (94 %) @end html @end ifhtml @ifnothtml -partially (95 %) +partially (94 %) @end ifnothtml @tab @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml diff --git a/Documentation/hu/usage.tely b/Documentation/hu/usage.tely index a8c50de969..3dd37c172c 100644 --- a/Documentation/hu/usage.tely +++ b/Documentation/hu/usage.tely @@ -13,7 +13,7 @@ @documentlanguage hu @afourpaper -@c translator: Team-hu +@c translator: Harmath Dénes @macro manualIntro Ez a dokumentáció ismerteti, hogyan kell a LilyPond @version{} verziójához @@ -23,7 +23,7 @@ használatához. @c `Usage' was born 1999-10-10 with git commit c82c30c... @macro copyrightDeclare -Copyright @copyright{} 1999--2014 a szerzők. +Copyright @copyright{} 1999--2015 a szerzők. @end macro @set FDL diff --git a/Documentation/hu/web.texi b/Documentation/hu/web.texi index f440ea23d7..a9f90a06bd 100644 --- a/Documentation/hu/web.texi +++ b/Documentation/hu/web.texi @@ -17,7 +17,7 @@ @c `Web' was imported 2009-08-05 with git commit b938d71... @c @macro copyrightDeclare -@c Copyright @copyright{} 2009--2014 by the authors. +@c Copyright @copyright{} 2009--2015 by the authors. @c @end macro @set FDL @@ -37,7 +37,7 @@ @end ignore @copying -Copyright @copyright{} 2009--2014 by the authors. +Copyright @copyright{} 2009--2015 by the authors. @c next line is necessary for broken pre-4.13 texinfo's @c install-info, so leave it there until we officially diff --git a/Documentation/included/authors.itexi b/Documentation/included/authors.itexi index 2bd3f019bd..7eb5059865 100644 --- a/Documentation/included/authors.itexi +++ b/Documentation/included/authors.itexi @@ -98,7 +98,8 @@ Core developer Translation Meister @item Janek Warchoł: -happy nitpicker +@email{janek.lilypond@@gmail.com}, +Core developer @end itemize @end macro diff --git a/Documentation/included/compile.itexi b/Documentation/included/compile.itexi index cc2894019f..31e68c46a1 100644 --- a/Documentation/included/compile.itexi +++ b/Documentation/included/compile.itexi @@ -75,7 +75,7 @@ installed by default) newer) @item @uref{http://www.gnu.org/software/guile/guile.html, Guile} -(1.8.2 or newer) +(1.8.8 - version 2.x is not currently supported) @item @uref{http://www.pango.org/, Pango} (1.12 or newer) diff --git a/Documentation/it/changes.tely b/Documentation/it/changes.tely index a5924b87fa..da3e83ebc2 100644 --- a/Documentation/it/changes.tely +++ b/Documentation/it/changes.tely @@ -1,6 +1,6 @@ \input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*- @ignore - Translation of GIT committish: 93d725094ee629b2d5200ab5a75b609579a62973 + Translation of GIT committish: 65a309c41e9f18befa34328a60efab9132e402c9 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -45,495 +45,535 @@ Vedi il manuale utente, \NAME\ @finalout @node Top -@top Nuove funzionalità nella versione 2.18 rispetto alla 2.16 +@top Nuove funzionalità nella versione 2.20 rispetto alla 2.18 @allowcodebreaks false @itemize -@ignore - -HINTS - -* add new items at the top - -* only show verbatim input for syntax/input changes - -* try to be as brief possible in those cases - -* don't try to provide real-world examples, they often get too big, -which scares away people. - -* Write complete sentences. - -* only show user-visible changes. - -@end ignore +@item +I numeri di pagina ora possono essere stampati in numeri romani impostando la +variabile del foglio @code{page-number-type}. @item -La funzionalità PostScript di regolazione del tratto non viene più -applicata automaticamente ma lasciata alla discrezione dello strumento -PostScript (di default, Ghostscript la usa per le risoluzioni fino a -150dpi quando genera immagini raster). Quando è abilitata, un algoritmo -di disegno più complesso, progettato per beneficiare della regolazione del -tratto, viene usato soprattutto per i gambi e le stanghette. +È ora possinile usare insieme @code{\time} e @code{\partial} +per cambiare l'indicazione di tempo a metà misura. -La regolazione del tratto può essere forzata tramite l'opzione da -linea di comando @samp{-dstrokeadjust}. Quando si generano file -@code{PDF}, questo produrrà solitamente anteprime @code{PDF} dall'aspetto -notevolmente migliore ma anche file di dimensione ben superiore. La -qualità della stampa ad alte risoluzioni non ne risente. +@lilypond[verbatim,quote,relative=1] +\override Score.BarNumber.break-visibility = #end-of-line-invisible +\partial 4 \time 3/4 f4 | 2 4 | 2 \bar "||" +\time 9/8 \partial 4. f8 8 8 | 2. 8 8 8 | +@end lilypond @item -Esiste un nuovo tipo di contesto chiamato @code{NullVoice} che, sebbene -non appaia nell'output, può essere usato per allineare il testo vocale. Ciò -è particolarmente utile se usato in parallelo a un costrutto @code{\partcombine}. +È ora possibile sovrascrivere la proprietà @code{text} dei nomi degli +accordi. -@lilypond[verbatim,quote] -soprano = \relative c' { c e g c } -alto = \relative c' { a c e g } -verse = \lyricmode { This is my song } - -\score { - \new Staff << - \partcombine \soprano \alto - \new NullVoice = "aligner" \soprano - \new Lyrics \lyricsto "aligner" \verse - >> - \layout {} +@lilypond[verbatim,fragment,quote] +<< +\new ChordNames \chordmode { + a' b c:7 + \once \override ChordName.text = #"bla" + d } +>> @end lilypond - - @item -Varie articolazioni possono essere inserite in una sola variabile o restituite -da una funzione di tipo evento: +Migliorato l'allineamento orizzontale quando si usa @code{TextScript}, +con @code{DynamicText} o @code{LyricText}. -@lilypond[verbatim,quote] -sempreStacc = -. ^\markup \italic sempre -\relative { c''4\sempreStacc c c c } -@end lilypond +@item +È stato aggiunto il nuovo comando @code{\magnifyStaff} che scala la +dimensione del rigo, delle linee del rigo, delle stanghette, delle +lineette della travatura e della spaziatura orizzontale generalmente +al livello di contesto @code{Staff}. Le linee del rigo non vengono +ridotte a una dimensione inferiore a quella predefinita perché lo +spessore di gambi, legature e simili è basato sullo spessore della +linea del rigo. @item -La linea di base delle partiture interne a un blocco \score viene presa ora -dal punto di riferimento (di solito il centro del rigo) del primo sistema -invece che dal punto più alto del rettangolo confinante. L'esempio seguente -@lilypond[verbatim,quote] -\markup { - violin: \score { \new Staff { 1 } - \layout { indent=0 } } , - cello: \score { \new Staff { \clef "bass" } - \layout { indent=0 } } -} -@end lilypond +@code{InstrumentName} ora supporta l'interfaccia @code{text-interface}. -precedentemente appariva così -@lilypond[quote] -\markup { - violin: \general-align #Y #UP - \score { \new Staff { 1 } - \layout { indent=0 } } , - cello: \general-align #Y #UP - \score { \new Staff { \clef "bass" } - \layout { indent=0 } } -} -@end lilypond +@item +È ora possibile regolare il @q{livello di espressione} dei canali +MIDI usando la proprietà di contesto @code{Staff.midiExpression}. +Si può usare per alterare il volume percepito delle note sostenute +in modo uniforme (sebbene in un modo molto di @q{basso livello}); si +può specificare un valore compreso tra @code{0.0} e @code{1.0}. -e non c'era un modo affidabile per allineare le due partiture. +@example +\score @{ + \new Staff \with @{ + midiExpression = #0.6 + midiInstrument = #"clarinet" + @} + << + @{ a'1~ a'1 @} + @{ + \set Staff.midiExpression = #0.7 s4\f\< + \set Staff.midiExpression = #0.8 s4 + \set Staff.midiExpression = #0.9 s4 + \set Staff.midiExpression = #1.0 s4 + + \set Staff.midiExpression = #0.9 s4\> + \set Staff.midiExpression = #0.8 s4 + \set Staff.midiExpression = #0.7 s4 + \set Staff.midiExpression = #0.6 s4\! + @} + >> + \midi @{ @} +@} +@end example @item -LilyPond non inferisce più automaticamente un contesto @samp{\defaultchild} -in una definizione di contesto che ha delle clausole @samp{\accepts}. Qualsiasi -definizione di contesto priva di una definizione esplicita o ereditata di -@samp{\defaultchild} viene considerata un contesto @samp{Bottom} e sarà idonea -per eventi ritmici e sovrascritture senza causare la creazione implicita di altri -contesti. Assicurati di specificare un @samp{\defaultchild} per i contesti diversi -da @samp{Bottom}, se li definisci da zero. +Ora è più facile usare dei tipi di carattere @q{musicali} alternativi +al predefinito Emmentaler in LilyPond. Visitare +@uref{http://fonts.openlilylib.org/} per maggiori informazioni. @item -Ora sono completamente supportati i simboli di registro basso e discant per -fisarmonica nel modulo @samp{scm accreg}, vedi @ruser{Accordion Registers}. -@lilypond[verbatim,quote] -#(use-modules (scm accreg)) -\new PianoStaff -<< - \new Staff \relative - { \clef "treble" \discant "10" - r8 s32 f'[ bes f] s e[ a e] s d[ g d] s16 e32[ a] - \discant "121" - << { r16 r r } \\ - { d r a r bes r } >> | - 1 - } - \new Staff \relative - { \clef "treble" \freeBass "1" - r8 d'32 s16. c32 s16. bes32 s16. a32[ cis] s16 - \clef "bass" \stdBass "Master" - << { r16 ^"b" r ^"am" r ^"gm" | - 1^"a" } \\ - { d8_"D" c_"C" bes_"B" | a1_"A" } - >> - } ->> -@end lilypond +I grob e i loro oggetti genitori possono essere allineati in modo +separato consentendo più flessibilità nelle posizioni dei grob. Per +esempio il margine @q{sinistro} di un grob ora può essere allineato +al @q{centro} del suo oggetto genitore. @item -I nuovi comandi @code{markLengthOn} e @code{markLengthOff} controllano -la spaziatura orizzontale dei segni di tempo e di chiamata. - -@lilypond[quote,relative=2] -\markLengthOn -\compressFullBarRests -\tempo "Molto vivace" c2 c' -\mark\default -\tempo "Meno mosso" R1*16 -\mark\default -g,2 g -\bar "||" -\markLengthOff -\tempo "Molto vivace" c2 c' -\mark#1 -\tempo "Meno mosso" R1*16 -\mark\default -g,2 g -@end lilypond +Sono stati introdotti dei miglioramenti al comando @code{\partial} per +evitare i problemi che sorgevano quando si usano molteplici contesti +paralleli. -@item -I segni di chiamata all'inizio di una linea sono ora posizionati a destra -della chiave e dell'armatura di chiave. Come nelle versioni precedenti, -@code{break-alignable-interface} ne controlla il comportamento. +@item @code{\chordmode} può ora usare i costrutti @code{< >} e +@code{<< >>}. -@lilypond[quote,relative=2] -\set Score.barNumberVisibility = #all-bar-numbers-visible -\set Timing.currentBarNumber = #72 -\bar"||" \time 3/4 \key e\major \mark#10 \tempo "Adagio" b2. -@end lilypond +@item +Il contesto @code{NullVoice} si trova ora @q{sotto} @code{Score}. @item -I numeri decimali possono ora essere scritti direttamente nella -musica, senza il segno di cancelletto. Grazie alla precedente -modifica del modo in cui le proprietà di un oggetto sono -specificate, il codice per cambiare la lunghezza dei gambi -è cambiato da così: +È stato aggiunto un nuovo comando @code{\tagGroup}, che si aggiunge +a quelli esistenti @code{\keepWithTag} e @code{\removeWithTag}. +Per esempio: + @example -\override Stem #'length = #5.6 -e' f' g' a' +\tagGroup #'(violinI violinII viola cello) @end example -a così: +dichiara una lista di @q{etichette} (@emph{tag}) che appartiene a un +solo @q{gruppo di etichette}. + @example -\override Stem.length = 5.6 -e' f' g' a' +\keepwithTag#'violinI @end example -Bisogna scrivere un numero a entrambi i lati del punto -- valori come -@code{4.} o @code{-.3} non sono permessi. +ora si preoccupa solo delle @q{etichette} del gruppo cui appartiene +l'etichetta @q{violinI}. -Le frazioni decimali non sono accettate in modalità @code{\chordmode}. +Qualsiasi elemento della musica inclusa contrassegnato con una o più +etichette del gruppo, ma @emph{non} con @var{violinI}, sarà rimosso. @item -Varie abbreviazioni come @code{(}, @code{)}, @code{|}, -@code{[}, @code{]}, @code{~}, @code{\(}, @code{\)} e altre possono -ora essere ridefinite liberamente come normali comandi. Ad esempio -@lilypond[verbatim,quote] -"\\{" = ( -"\\}" = ) -"(" = \melisma -")" = \melismaEnd +La funzione @code{\addlyrics} ora funziona con contesti arbitrari +incluso @code{Staff}. -\new Staff << - \relative c' { - c8 \{ d e f \} % con legatura di portamento - g ( a b c ) % nessuna legatura, c'è il melisma - c,1 \bar "|." - } - \addlyrics { Li -- ly -- pond. } ->> +@item +I numeri di corda ora possono essere stampati in numeri romani +(per esempio, per gli strumenti a corda senza tasti). +@lilypond[verbatim,quote,relative=2] +c2\2 +\romanStringNumbers +c\2 +\arabicStringNumbers +c1\3 @end lilypond @item -La forma abbreviata dell'articolazione @code{\staccatissimo} è stata -rinominata da @code{-|} a@tie{}@code{-!}. +La proprietà @code{thin-kern} del grob @code{BarLine} è stata rinominata +@code{segno-kern}. @item -L'ampiezza della variazione di tempo ora si scrive @code{\tempo 4 = 60 - 68} -invece di @code{\tempo 4 = 60 ~ 68}. +I grob @code{KeyCancellation} ora ignorano le chiavi delle notine (come +fanno anche i grob @code{KeySignature}). @item -Il grob @code{OctavateEight} è stato rinominato @code{ClefModifier}. -Le relative proprietà di contesto sono state rinominate da @code{xxxOctavationyyy} -a @code{xxxTranspositionyyy}. +Aggiunto il supporto per @code{\once@tie{}\unset} @item -C'è un nuovo comando @code{\absolute} che contrassegna in modo esplicito -il fatto che la musica sia inserita con altezze assolute. Sebbene quella assoluta -sia la modalità di inserimento implicita predefinita, un comando esplicito @code{\absolute} -impedisce la reinterpretazione quando il passaggio è posto dentro un blocco -@code{\relative}: -@lilypond[verbatim,quote] -\relative c { c'4 \absolute { f'' g'' } c } +È ora possibile colorare individualmente sia i punti che le parentesi +nei diagrammi dei tasti quando si usa il comando @code{\fret-diagram-verbose} +dentro un blocco @code{\markup}. + +@lilypond[verbatim,quote,relative=1] +\new Voice { + c1^\markup { + \override #'(fret-diagram-details . ( + (finger-code . in-dot))) { + \fret-diagram-verbose #'((mute 6) + (place-fret 5 3 1 red) + (place-fret 4 5 2 inverted) + (place-fret 3 5 3 green) + (place-fret 2 5 4 blue inverted) + (place-fret 1 3 1 violet) + (barre 5 1 3 )) + } + } + c1^\markup { + \override #'(fret-diagram-details . ( + (finger-code . below-string))) { + \fret-diagram-verbose #'((mute 6) + (place-fret 5 3 1 red parenthesized) + (place-fret 4 5 2 yellow + default-paren-color + parenthesized) + (place-fret 3 5 3 green) + (place-fret 2 5 4 blue ) + (place-fret 1 3 1) + (barre 5 1 3)) + } + } +} @end lilypond @item -Se si usa @code{\relative} senza un'esplicita altezza di riferimento, -ora l'altezza di riferimento è il centro della prima ottava, rendendo -la prima altezza inserita indistinguibile dall'altezza assoluta. -Precedentemente, se si ometteva l'altezza di riferimento veniva -presa come riferimento l'altezza @code{c'}. Dato che questa scelta -era in qualche modo arbitraria, si consigliava di specificare -sempre l'altezza di riferimento. +Sono state aggiunte due nuove proprietà da usare in +@code{fret-diagram-details} quando sia usa il comando @code{\fret-diagram-verbose} +in un blocco markup; @code{fret-label-horizontal-offset}, che agisce su +@code{fret-label-indication}, e @code{paren-padding} che regola lo spazio +tra il punto e le parentesi che lo circondano. + +@lilypond[verbatim,quote,relative=1] +\new Voice { + c1^\markup { + \fret-diagram-verbose #'((mute 6) + (place-fret 5 3 1) + (place-fret 4 5 2) + (place-fret 3 5 3) + (place-fret 1 6 4 parenthesized) + (place-fret 2 3 1) + (barre 5 2 3)) + } + c1^\markup { + \override #'(fret-diagram-details . ( + (fret-label-horizontal-offset . 2) + (paren-padding . 0.25))) { + \fret-diagram-verbose #'((mute 6) + (place-fret 5 3 1) + (place-fret 4 5 2) + (place-fret 3 5 3) + (place-fret 1 6 4 parenthesized) + (place-fret 2 3 1) + (barre 5 2 3)) + } + } +} +@end lilypond @item -Si può usare un nuovo comando @code{\single} per convertire la sovrascrittura -di una proprietà in una modifica da applicare a una singola espressione -musicale: +È stato aggiunto un nuovo comando per il testo: @code{\justify-line}. È simile +al comando @code{\fill-line} con la differenza che invece di impostare le +@emph{parole} in colonne, il comando @code{\justify-line} bilancia lo spazio +tra di esse assicurando che sia sempre regolare se ci sono tre o più +parole nel testo. + +@lilypond[quote,verbatim,papersize=a6] +\markup \fill-line {oooooo oooooo oooooo oooooo} +\markup \fill-line {ooooooooo oooooooo oo ooo} +@end lilypond -@lilypond[quote,verbatim,relative=2] -1 +@lilypond[quote,verbatim,papersize=a6] +\markup \justify-line {oooooo oooooo oooooo oooooo} +\markup \justify-line {ooooooooo oooooooo oo ooo} @end lilypond @item -I due modi per non far apparire un oggetto grafico nell'output sono -sovrascrivere la sua proprietà @code{transparent} con @code{#t} -(mantenendo la spaziatura originaria) o sovrascrivere la sua -proprietà @code{stencil} con @code{#f} (per non occupare alcun spazio). Queste -due operazioni hanno ora delle forme abbreviate chiamate rispettivamente -@code{\hide} (nascondi) e @code{\omit} (ometti). Prendono come argomento -un'espressione musicale da modificare o il nome di un oggetto grafico -per cui si deve creare una sovrascrittura (per specificare entrambi, -usare @code{\single} nella forma con override): +È stato aggiunto un nuovo comando @code{\magnifyMusic}, che permette di +cambiare la dimensione della notazione senza cambiare la dimensione del +rigo, ridimensionando proporzionalmente in automatico i gambi, le travature +e la spaziatura orizzontale. -@lilypond[quote,verbatim] -\new Staff \with { \omit Clef } -\relative c'' 1 +@lilypond[verbatim,quote] +\new Staff << + \new Voice \relative { + \voiceOne + 4 8. 16 8 4 r8 + } + \new Voice \relative { + \voiceTwo + \magnifyMusic 0.63 { + \override Score.SpacingSpanner.spacing-increment = #(* 1.2 0.63) + r32 c'' a c a c a c r c a c a c a c + r c a c a c a c a c a c a c a c + } + } +>> @end lilypond @item -Un nuovo comando @code{\temporary} può essere applicato alle sovrascritture -in modo che queste non sostituiscano precedenti impostazioni delle proprietà. Se -successivamente viene applicato un @code{\revert} alla stessa proprietà, riappare -l'impostazione precedente: +Viene fornito un nuovo e flessibile modello per vari tipi di musica +corale. Può essere usato per creare semplice musica corale, con +o senza accompagnamento per pianoforte, in due o quattro righi. +Diversamente da altri modelli, questo modello è @q{integrato}, ovvero +non c'è bisogno di copiarlo e modificarlo: basta includerlo con +@code{\include} nel file di input. Maggiori dettagli +in @rlearning{Modelli integrati}. + +@item +Il posizionamento dei numeri dei gruppi irregolari per le travature angolari +è stato migliorato molto. In precedenza, i numeri erano posizionati in +base alla posizione della parentesi del gruppo irregolare, anche se questa +era omessa. Ciò poteva causare numeri mal posizionati. Ora sono posizionati +più vicino alla travatura angolare se esiste un segmento di travatura appropriato +per il suo posizionamento e se la parentesi è omessa. + +È stato aggiunto anche il rilevamento delle collisioni, per cui il numero +viene spostato orizzontalmente se troppo vicino a una colonna di note +adiacente, ma viene preservata la distanza verticale tra il numero e la +travatura angolare. Se il numero è troppo grande per entrare nello +spazio disponibile, viene usato il sistema di posizionamento originale +basato sulla parentesi; e in caso di collisione (per esempio con un'alterazione) +il numero del gruppo irregolare viene invece spostato verticalmente. + +@lilypond[verbatim,fragment,quote,relative=1] +\time 3/4 +\override Beam.auto-knee-gap = 3 +\tuplet 3/2 4 { + g8 c'' e, + c'8 g,, e'' + g,,8 e''' c,, +} +@end lilypond -@lilypond[quote,verbatim,relative=2] -\override NoteHead.color = #red c4 -\override NoteHead.color = #green d -\revert NoteHead.color e2 -\override NoteHead.color = #red c4 -\temporary\override NoteHead.color = #green d -\revert NoteHead.color e -\revert NoteHead.color c +@noindent +Il comportamento originale può essere ottenuto attraverso un +@code{\override} e una nuova proprietà @code{knee-to-beam}. + +@lilypond[verbatim,fragment,quote,relative=1] +\time 3/4 +\override Beam.auto-knee-gap = 3 +\override TupletNumber.knee-to-beam = ##f +\tuplet 3/2 4 { + g8 c'' e, + c'8 g,, e'' + g,,8 e''' c,, +} @end lilypond -Questo è utile principalmente per scrivere funzioni musicali che -hanno bisogno di modificare alcune proprietà solo per la durata -della funzione. +@item +@code{\lyricsto} e @code{\addLyrics} sono stati @q{armonizzati}. Entrambi +ora accettano lo stesso tipo di lista di argomenti limitata che accettano +anche @code{\lyrics} e @code{\chords}. È stata aggiunta la compatibilità +all'indietro così che gli identificatori della musica (es: @code{\mus}) +sono permessi come argomenti. È stata aggiunta a convert-ly una regola +che toglie gli usi ridondanti di @code{\lyricmode} e riorganizza le +combinazioni con l'inizio dei contesti in modo che @code{\lyricsto} in +generale sia applicato per ultimo (ovvero come accadrebbe con @code{\lyricmode}). @item -@code{\tag}, @code{\removeWithTag} e @code{\keepWithTag} possono -ora accettare una lista di simboli invece di un solo simbolo -per contrassegnare, togliere o mantenere la musica usando un -qualsiasi numero di etichette (tag). Ciò è importante specialmente -per @code{\keepWithTag} dato che non si può ottenere lo stesso -risultato usando consecutivamente molteplici comandi @code{\keepWithTag}. +Le funzioni e gli identificatori Scheme ora possono essere usati come +definizioni di output. @item -L'opzione @samp{-d old-relative} è stata tolta. Non più veramente -accessibile dalla linea di comando, veniva usata soltanto per -interpretare @code{\relative} nei file LilyPond convertiti -automaticamente dalle versioni@tie{}1.8 o precedenti. Non è chiaro -quanto di questo fosse ancora realmente funzionante. +Le espressioni Scheme possono ora essere usate come costituenti di un accordo. @item -Il significato di @code{instrumentTransposition} è stato rovesciato. -Dopo -@example -\set instrumentTransposition = #@{ b #@} -@end example -un @code{c'} ora suona come un @code{b}. Precedentemente, sarebbe -stato l'esatto contrario. Questo e il cambiamento seguente dovrebbero -rendere più facile il lavoro con gli strumenti traspositori. +Migliorata la spaziatura verticale delle teste, di dimensione piccola e normale, +della nota @q{MI} negli stili Funk and Walker, così che ora abbiano la stessa +larghezza di altre note a forma variabile nei loro rispettivi gruppi. +Anche le teste della nota @code{SOL} ora sono migliorate visivamente +se utilizzate con le teste di dimensione normale o sottile degli stili +Aiken e Sacred Harp. @item -La musica generata dai comandi @code{\set} e @code{\override} non è -più influenzata da @code{\transpose}. La conseguenza principale -è che @code{\transpose} trasporrà l'intonazione reale e quella -a stampa della stessa quantità anche quando la musica trasposta -contiene @code{\transposition}. Precedentemente -@example -\transpose c' f' \transposition bes' -@end example -era equivalente a @code{\transposition f'}. Ora resta equivalente -a @code{\transposition bes'}. - -@item -Quando fa dei controlli per le collisioni, LilyPond non considera -più gli oggetti come rettangoli. Invece approssima la forma -reale degli oggetti usando un approccio simile ai numeri interi. -Questo produce generalmente un posizionamento degli oggetti e dei -sistemi più uniforme e compresso: - -@lilypond[relative=1] -#(ly:set-option 'debug-skylines #t) -\dynamicUp -c'4\f a4\f d\f( f) -a,4\< c c c\! -d4-.\downbow a4^"r'venu..." c \tempo "T1" e -@end lilypond +@code{LeftEdge} ora ha una proprietà @code{Y-extent} (verticale) che può +essere definita. Si veda @rinternals{LeftEdge}. -Precedentemente, il frammento precedente appariva così: - -@lilypond[relative=1] -#(ly:set-option 'debug-skylines #t) -\override Hairpin #'vertical-skylines = #'() -\override DynamicText #'vertical-skylines = #'() -\override TextScript #'vertical-skylines = #'() -\override Score.MetronomeMark #'vertical-skylines = #'() -\override Staff.Clef #'vertical-skylines = #'() -\dynamicUp -c'4\f a4\f d\f( f) -a,4\< c c c\! -d4-.\downbow a4^"r'venu..." c \tempo "T1" e -@end lilypond +@item +Aggiunta una nuova funzione @code{make-path-stencil} che supporta tutti +i comandi @code{path} sia relativi che assoluti: -Gli oggetti interessati comprendono @code{Accidentals}, @code{Beams}, @code{Clefs}, -@code{Dynamics}, @code{FiguredBass}, @code{Flags}, @code{Glissandos}, -@code{Lyrics}, @code{MetronomeMarks}, @code{OttavaBrackets}, -@code{Pedals}, @code{RehearsalMarks}, @code{Rests}, @code{Scripts}, -@code{TextScripts}, @code{Ties}, @code{Tuplets} e @code{VoltaBrackets}. - -@item -I gruppi irregolari sono ora creati col comando @code{\tuplet}, che prende -come argomento una frazione @code{@var{t}/@var{n}} per specificare che @var{t} -note sono suonate nel tempo solitamente concesso a @var{n} note. Un -comando @code{\tuplet} può creare vari gruppi irregolari se la loro -durata è inserita dopo la frazione. -@lilypond[quote,verbatim,relative=2] -\tuplet 3/2 { c8 d e } \tuplet 3/2 { f e d } c2 -\tuplet 3/2 4 { c8 d e f e d } c2 -@end lilypond -Il comando @code{\times} con la sua frazione invertita -@code{@var{n}/@var{t}} è ancora disponibile. +@code{lineto}, @code{rlineto}, @code{curveto}, @code{rcurveto}, +@code{moveto}, @code{rmoveto}, @code{closepath}. La funzione supporta +anche la sintassi di @q{single-letter} usata nei comandi path standard +dei file SVG: + +@code{L}, @code{l}, @code{C}, @code{c}, @code{M}, @code{m}, @code{Z} e +@code{z}. Il nuovo comando è anche compatibile all'indietro con la +funzione originale @code{make-connected-path-stencil}. Si veda anche +@file{scm/stencil.scm}. @item -Vengono introdotti due nuovi comandi markup: @code{\draw-dashed-line} e -@code{\draw-dotted-line}. +Le proprietà di contesto nominate nella proprietà @samp{alternativeRestores} sono +ripristinate al loro valore presente all'inizio della @emph{prima} alternativa in +tutte le alternative successive. + +Attualmente l'impostazione predefinita ripristina il @q{metro corrente}; + +@lilypond[verbatim,fragment,quote,relative=2] +\time 3/4 +\repeat volta 2 { c2 e4 | } +\alternative { + { \time 4/4 f2 d | } + { f2 d4 | } +} +g2. | +@end lilypond @noindent -La linea tratteggiata (dashed-line) si estende per l'intera lunghezza data da @var{dest}, se -@code{full-length} è impostato su @code{#t} (predefinito) senza alcuno -spazio all'inizio o alla fine. @code{off} viene poi modificato per entrarci. -Per insistere sui valori assegnati (o predefiniti) di @code{on}, @code{off} usare -@code{\override #'(full-length . #f)}. Sono possibili anche le impostazioni -manuali per @code{on}, @code{off} e @code{phase}. +@q{la posizione della misura}; + +@lilypond[verbatim,fragment,quote,relative=2] +\time 3/4 +\repeat volta 2 { c2 e4 | } +\alternative { + { \time 4/4 + \set Timing.measurePosition = #(ly:make-moment -1/2) + f2 | } + { f2 d4 | } +} +g2. | +@end lilypond @noindent -La linea puntata (dotted-line) si estende sempre per l'intera lunghezza data da @var{dest}, -senza alcun spazio all'inizio o alla fine. Sono possibili le impostazioni manuali -per @code{off} per definire uno spazio più grande o più piccolo tra i punti. -Il valore assegnato (o predefinito) di @code{off} verrà modificato per riempire -la lunghezza della linea. +e i @q{cambi di accordo}; -@lilypond[verbatim,quote] -\markup { - \draw-dashed-line #'(5.1 . 2.3) - \override #'(on . 0.3) - \override #'(off . 0.5) - \draw-dashed-line #'(5.1 . 2.3) - \draw-dotted-line #'(5.1 . 2.3) - \override #'(thickness . 2) - \override #'(off . 0.2) - \draw-dotted-line #'(5.1 . 2.3) +@lilypond[verbatim,fragment,quote] +<< + \new ChordNames { + \set chordChanges = ##t + \chordmode { c1:m d:m c:m d:m } + } + \new Staff { + \repeat volta 2 { \chordmode { c1:m } } + \alternative { + { \chordmode { d:m } } + { \chordmode { c:m } } + } + \chordmode { d:m } } +>> @end lilypond @item -A partire dalla versione@tie{}2.17.10, i messaggi di errore e gli -@acronym{URI} @code{textedit} usati per la funzionalità punta-e-clicca -specificano numeri di colonna che iniziano con@tie{}1 invece che -con@tie{}0. L'offset di byte (anch'esso parte degli @acronym{URI} -@code{textedit}) inizia ancora a@tie{}0. +Migliorato l'output MIDI dei respiri. Dopo le note legate con legatura +di valore, i respiri prendono il tempo @emph{solo} dall'ultima nota della +legatura; per esempio, @code{@{ c4~ c8 \breathe @}} viene riprodotto +come @code{@{ c4~ c16 r @}} invece di @code{@{ c4 r8 @}}. Ciò è più +coerente con le articolazioni e col modo in cui l'essere umano interpreta +i respiri che seguono una legatura di valore. Semplifica anche +l'allineamento di respiri simultanei su molteplici parti, tutte con +diverse lunghezze delle note. + +@item +È stata aggiunto un nuovo stile per le teste di nota dell'intavolatura; +@code{TabNoteHead.style = #'slash}. + +@item +Sono stati aggiunti quattro nuovi glifi di chiave: @emph{Doppio Sol}, +@emph{Sol tenore}, @emph{varpercussion} e @emph{varDo} e la loro relativa +tessitura. +@lilypond[verbatim,quote,fragment] + \override Staff.Clef.full-size-change = ##t + + \clef "GG" c c c c + \clef "tenorG" c c c c + \clef "varC" c c c c + \clef "altovarC" c c c c + \clef "tenorvarC" c c c c + \clef "baritonevarC" c c c c + \clef "varpercussion" c c c c + + \break + \override Staff.Clef.full-size-change = ##f + + \clef "GG" c c c c + \clef "tenorG" c c c c + \clef "varC" c c c c + \clef "altovarC" c c c c + \clef "tenorvarC" c c c c + \clef "baritonevarC" c c c + \clef "varpercussion" c c c c +@end lilypond @item -Il comando @code{\clef} supporta la trasposizione: -@lilypond[verbatim,quote,relative=1] -\clef "treble_(8)" -c2 c -\clef "bass^[15]" -c2 c +Le durate isolate di una sequenza musicale ora sono interpretate +come note prive di altezza. Possono essere utili per creare dei +ritmi musicali o delle funzioni scheme. Quando sono elaborate +per generare la partitura finale, le altezze sono prese dalla +nota o accordo precedenti. Ecco due esempi +Isolated durations in music sequences now stand for unpitched +notes. This may be useful for specifying rhythms to music or +scheme functions. When encountered in the final score, the +pitches are provided by the preceding note or chord. Here are two +che illustrano come l'input sia più facile da leggere: + +@lilypond[verbatim,quote] +\new DrumStaff \with { \override StaffSymbol.line-count = 1 } +\drummode { + \time 3/4 + tambourine 8 \tuplet 3/2 { 16 16 16 } + 8 \tuplet 3/2 { 16 16 16 } 8 8 | +} +@end lilypond + +@lilypond[verbatim,quote] +\new Staff { r16 c'16 ~ 8 ~ 4 ~ 2 | } @end lilypond @item -La sintassi LilyPond delle parole separate da punto @code{Voice.Accidental} -è stata resa intercambiabile con @code{#'(Voice Accidental)}, una lista -Scheme di simboli. Una delle conseguenze è che codice come -@example -\override Voice.TextSpanner #'(bound-details left text) = "rit." -@end example -equivale ora a -@example -\override Voice.TextSpanner bound-details.left.text = "rit." -@end example -o anche a +Le eccezioni della disposizione delle travature possono essere costruite +con la funzione scheme @code{\beamExceptions}. Ora si può scrivere + +@lilypond[verbatim,quote,relative=1] +\time #'(2 1) 3/16 +\set Timing.beamExceptions = + \beamExceptions { 32[ 32] 32[ 32] 32[ 32] } +c16 c c | +\repeat unfold 6 { c32 } | +@end lilypond + +@noindent +separando le eccezioni con i segni di controllo di battuta @code{|} +(scrivere lo schema ritmico senza altezza è comodo ma non obbligatorio). +In precedenza le eccezioni dovevano essere specificate così + @example -\override #'(Voice TextSpanner) bound-details.left.text = "rit." +\set Timing.beamExceptions = +#'( ;inizio della lista associativa + (end . ;elemento per la chiusura delle travature + ( ;inizio della lista associativa per le estremità + ((1 . 32) . (2 2 2)) ;regola per le travature di 1/32 -- chiudi ogni 1/16 + ))) @end example @item -Non è più necessario specificare il percorso del grob e della proprietà -del grob in due argomenti separati per comandi come @samp{\override} e -@code{\revert}, rendendo possibile la sintassi -@example -\override Voice.TextSpanner.bound-details.left.text = "rit." -@end example -Dato che funzioni musicali complementari come @samp{\overrideProperty} -non possono supportare forme con e senza spazio di separazione allo -stesso tempo, l'uso del percorso unico separato da punti è la forma -preferita. Specificare separatamente il percorso del grob e quello -della sua proprietà, attualmente ancora supportato con @samp{\override} e -@samp{\revert} per ragioni di compatibilità, è deprecato. - -@item -Dal momento che le parole ora vengono accettate come argomenti -di funzioni di simbolo, le interfacce di @samp{\accidentalStyle}, -@samp{\alterBroken}, @samp{\footnote} e @samp{\tweak} sono state -ridefinite quando erano presenti degli argomenti opzionali di -simbolo. Controllare la documentazione di ciascuna funzione -musicale per conoscere i dettagli. - -@item -Vari comandi ora accettano liste di simboli (inseriti opportunamente -come parole separate da punti) per vari tipi di argomenti. Questi -comprendono @samp{\accidentalStyle}, @samp{\alterBroken}, -@samp{\footnote}, @samp{\hide}, @samp{\omit}, -@samp{\overrideProperty}, @samp{\shape} e @samp{\tweak}. - -@item -L'interfaccia utente della stanghetta è cambiata. I glifi della battuta -ora rispecchiano l'aspetto della stanghetta, quindi un segno di ripetizione -posto a sinistra deve essere inserito con @code{.|:}. Il comando -@code{\defineBarLine} offre un modo semplice per definire ulteriori -stili per le stanghette. - -@item -Le alterazioni nell'armatura di chiave possono essere stampate in -ottave diverse dalle loro posizioni tradizionali, oppure in ottave -multiple. -@lilypond[quote,relative=0] -\override Staff.KeySignature #'flat-positions = #'((-5 . 5)) -\override Staff.KeyCancellation #'flat-positions = #'((-5 . 5)) -\clef bass \key es \major es g bes d -\clef treble \bar "||" \key es \major es g bes d -\override Staff.KeySignature #'sharp-positions = #'(2) -\bar "||" \key d \major b fis b2 -@end lilypond +Le articolazioni più comuni sono ora presenti nell'output MIDI. +L'accento e il marcato aumentano il volume delle note; staccato, +staccatissimo e portato le rendono più brevi. I respiri abbreviano +la nota precedente. + +Tale comportamento può essere personalizzato attraverso le proprietà +@code{midiLength} e @code{midiExtraVelocity} in @code{ArticulationEvent}. +Si vedano gli esempi in @file{script-init.ly}. + +@item +La funzionalità PostScript di regolazione del tratto non è più +applicata automaticamente bensì è lasciata alla discrezione del +dispositivo PostScript (il comportamento predefinito di Ghostscript +è di usarla per risoluzioni fino a 150ppp quando genera immagini raster). +Se abilitata, viene utilizzato un algoritmo di disegno più complesso +per avvantaggiarsi della regolazione del tratto. + +La regolazione del tratto può essere forzata specificando l'opzione +da linea di comando @samp{-dstrokeadjust} dell'eseguibile lilypond. +Quando si generano file @code{PDF}, di solito ciò produce anteprime +@code{PDF} notevolmente migliori ma anche file di dimensioni maggiori. +La qualità della stampa ad alte risoluzioni non è interessata da questa +modifica. @end itemize @ifhtml Per i cambiamenti precedenti, vai su +@uref{http://lilypond.org/doc/v2.18/Documentation/changes/}, @uref{http://lilypond.org/doc/v2.16/Documentation/changes/}, -@uref{http://lilypond.org/doc/v2.14/Documentation/changes/}, o @uref{../,vai indietro} all'indice della documentazione. diff --git a/Documentation/it/included/generating-output.itexi b/Documentation/it/included/generating-output.itexi index 999c8f5eab..2012d558c3 100644 --- a/Documentation/it/included/generating-output.itexi +++ b/Documentation/it/included/generating-output.itexi @@ -2,7 +2,7 @@ @c This file is part of web/download.itexi and @c learning/tutorial.itely @ignore - Translation of GIT committish: 63f65db72ca60bb87a6515a4f20a172c4a2897dc + Translation of GIT committish: 7a5bfc62fcac71d5c996b2df58921fd2fe783415 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -218,5 +218,3 @@ Success: compilation successfully completed Puoi visualizzare o stampare il file @file{test.pdf}. @end macro - - diff --git a/Documentation/it/learning.tely b/Documentation/it/learning.tely index 7f2b491c66..1199094722 100644 --- a/Documentation/it/learning.tely +++ b/Documentation/it/learning.tely @@ -1,7 +1,7 @@ \input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*- @c This file is part of lilypond-learning.tely @ignore - Translation of GIT committish: 08560a1b8076630c4fc6cb9b902614d8b74fd6fc + Translation of GIT committish: f291e8c30bbde2cf1fe2fc1b359288c94b8e2503 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -18,9 +18,8 @@ Questo file fornisce un'introduzione alla versione di LilyPond @version{}. @end macro -@c `Learning Manual' was born 1999-10-10 with git commit b9abaac... @macro copyrightDeclare -Copyright @copyright{} 1999--2014 by the authors. +Copyright @copyright{} 1999--2015 by the authors. @end macro @set FDL diff --git a/Documentation/it/learning/common-notation.itely b/Documentation/it/learning/common-notation.itely index 787d382643..c84f1e2e27 100644 --- a/Documentation/it/learning/common-notation.itely +++ b/Documentation/it/learning/common-notation.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*- @ignore - Translation of GIT committish: 45dd19546e9b75b3e1e977732f0962f35dd3290e + Translation of GIT committish: 62dddf43ef5990c6efc5944aadcab3ead9423f29 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -283,12 +283,29 @@ Guida alla notazione: Glossario musicale: @rglosnamed{tie,legatura di valore}. Una @notation{legatura di valore} si ottiene apponendo una tilde @code{~} alla -prima nota della legatura. +prima delle due note legate. @lilypond[verbatim,quote,relative=2] g4~ 4 c2~ | 4~ 8 a~ 2 | @end lilypond +@cindex durata senza altezza +@cindex durata isolata + +Quanndo l'altezza non cambia, come sempre accade nel caso di note legate +con legatura di valore, le altezze successive possono essere omesse e basta +specificare la sola durata: + +@lilypond[verbatim,quote,relative=2] +g4~ 4 c2~ | 4~ 8 a~ 2 | +@end lilypond + +Questa scorciatoia può essere utile in altre situazioni in cui il ritmo +cambia senza che l'altezza cambi; ma ricorda che una durata isolata +userà l'altezza che la precede, stampando una sola nota, se solo uno +spazio bianco le separa. + + @node Legature di portamento @unnumberedsubsubsec Legature di portamento @translationof Slurs diff --git a/Documentation/it/learning/fundamental.itely b/Documentation/it/learning/fundamental.itely index d52aabefec..c18a5627aa 100644 --- a/Documentation/it/learning/fundamental.itely +++ b/Documentation/it/learning/fundamental.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*- @ignore - Translation of GIT committish: 7fdce4f39834cc8c83f176480cc1d20900eb09f8 + Translation of GIT committish: 01980ec7e46ccd03ff7a379b6299842d788b8f8a When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -130,8 +130,7 @@ di creare sempre esplicitamente i righi e le voci.} Ora però torniamo al primo esempio ed esaminiamo il comando @code{\score}, lasciando gli altri comandi secondo l'impostazione predefinita. -Un blocco @code{\score} deve sempre contenere una sola espressione musicale, -e questa deve trovarsi subito dopo il comando @code{\score}. +Un blocco @code{\score} deve sempre contenere una sola espressione musicale. Ricorda che un'espressione musicale può essere qualsiasi cosa, da una singola nota a una grande espressione composta come @@ -273,20 +272,19 @@ In realtà non l'abbiamo affatto dimenticato. Il grande mistero è, semplicemente, che @emph{non c'è} alcun mistero. La seguente frase spiega tutto: @quotation -@emph{Un blocco @code{\score} deve iniziare con un'espressione musicale composta.} +@emph{Un blocco @code{\score} deve contenere una sola espressione musicale.} @end quotation @noindent -Per capire cosa si intende per espressione musicale e per espressione -musicale composta, potrebbe esserti utile ripassare il tutorial, -@ref{Espressioni musicali}. In quella sezione, abbiamo visto -come costruire grandi espressioni musicali a partire da piccoli brani -- abbiamo -iniziato con le note, poi gli accordi, etc. Adesso inizieremo da una grande -espressione musicale e proseguiremo poi a spiegarne i dettagli. Per semplicità, -nel nostro esempio useremo soltanto un canto e un pianoforte. Per questa formazione -non abbiamo bisogno di @code{StaffGroup}, che non fa altro che raggruppare un insieme -di righi con una parentesi graffa a sinistra, ma abbiamo comunque bisogno dei -righi per il canto e per il pianoforte. +Per capire cosa si intende per espressione musicale, potrebbe esserti utile +ripassare il tutorial, @ref{Espressioni musicali}. In quella sezione, abbiamo +visto come costruire grandi espressioni musicali a partire da piccoli brani -- +abbiamo iniziato con le note, poi gli accordi, etc. Adesso inizieremo da una +grande espressione musicale e proseguiremo poi a spiegarne i dettagli. Per +semplicità, nel nostro esempio useremo soltanto un canto e un pianoforte. Per +questa formazione non abbiamo bisogno di @code{StaffGroup}, che non fa altro che +raggruppare un insieme di righi con una parentesi graffa a sinistra, ma abbiamo +comunque bisogno dei righi per il canto e per il pianoforte. @example \score @{ @@ -796,18 +794,18 @@ più complesse saranno spiegate tutte in sezioni successive. @lilypond[quote,ragged-right] \new Staff \relative c'' { \key aes \major - << % Voice one + << % Prima voce { c2 aes4. bes8 } - \\ % Voice two + \\ % Voce due { - % Ignore these for now - they are explained in Ch 4 - \once \override NoteColumn.ignore-collision = ##t + % Puoi ignorare questi per ora, saranno spiegati nel capitolo 4 + \once \override NoteColumn.force-hshift = #0 2 \once \override NoteColumn.force-hshift = #0.5 des2 } - \\ % No voice three - \\ % Voice four + \\ % Nessuna terza voce + \\ % Quarta voce { \override NoteColumn.force-hshift = #0 aes'2 f4 fes @@ -842,20 +840,20 @@ ignora quel che non capisci. \new Staff \relative c'' { \key aes \major << - { % Voice one + { % Prima voce \voiceOneStyle c2 aes4. bes8 } - \\ % Voice two + \\ % Seconda voce { \voiceTwoStyle - % Ignore these for now - they are explained in Ch 4 - \once \override NoteColumn.ignore-collision = ##t + % Puoi ignorare questi per ora, saranno spiegati nel capitolo 4 + \once \override NoteColumn.force-hshift = #0 2 \once \override NoteColumn.force-hshift = #0.5 des2 } - \\ % No Voice three (we want stems down) - \\ % Voice four + \\ % Nessuna terza voce (vogliamo i gambi in giù) + \\ % Quarta voce { \voiceThreeStyle \override NoteColumn.force-hshift = #0 aes'2 f4 fes @@ -865,7 +863,6 @@ ignora quel che non capisci. } @end lilypond - Proviamo a scrivere il codice di questa musica da zero. Come vedremo, questo pone alcune difficoltà. Come abbiamo imparato, iniziamo usando il costrutto @code{<< \\ >>} per inserire la musica @@ -2449,8 +2446,16 @@ lower = \relative c, { } @end lilypond -Nessun modello fornisce esattamente questo assetto. Quello più simile -è @q{Partitura vocale SATB e riduzione automatica per pianoforte}, ma +@warning{Questa struttura può essere ottenuta facilmente usando il modello +integrato @code{satb.ly}, descritto in @ref{Built-in templates}. Ma per +facilità d'uso tale modello nasconde deliberatamente la necessaria struttura +dei contesti, dato che la fornisce automaticamente. Dunque a scopo di +apprendimento vediamo come costruire questa struttura da zero. Potresti +aver bisogno di far ciò se il modello integrato non soddisfa le tue +necessità.} + +Il modello @qq{copia e modifica} più simile a questa struttura +è @ref{SATB vocal score and automatic piano reduction}, ma abbiamo bisogno di modificare l'assetto e aggiungere un accompagnamento per pianoforte che non sia derivato automaticamente dalle parti vocali. Le variabili che si riferiscono alla musica e alle parole per @@ -3059,9 +3064,6 @@ violin = \relative c'' @{ @} @end example -@c TODO Replace the following with a better example -td -@c Skylining handles this correctly without padText - Finora abbiamo visto la sostituzione statica -- quando LilyPond vede @code{\padText}, lo sostituisce con quel che noi abbiamo definito che sia (ovvero tutto ciò che sta a destra di @@ -3223,5 +3225,3 @@ ovvero } >> @end lilypond - - diff --git a/Documentation/it/learning/templates.itely b/Documentation/it/learning/templates.itely index adee443417..cc6ed31f3f 100644 --- a/Documentation/it/learning/templates.itely +++ b/Documentation/it/learning/templates.itely @@ -1,14 +1,14 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*- @ignore - Translation of GIT committish: 67a345f965d169bc1acd23ff4160914fb2142f38 + Translation of GIT committish: 9fb28f4db2cf0f4d302f70c4def238cd2145f329 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.16.0" +@c \version "2.19.2" @node Modelli @appendix Modelli @@ -20,6 +20,7 @@ LilyPond e goderti dei belli spartiti! @c bad node name for ancient notation to avoid conflict @menu +* Modelli integrati:: * Modelli per rigo singolo:: * Modelli per pianoforte:: * Modelli per quartetto d'archi:: @@ -30,6 +31,177 @@ LilyPond e goderti dei belli spartiti! @end menu +@node Modelli integrati +@appendixsec Modelli integrati +@translationof Built-in templates + +Esiste un modello, adatto a vari tipi di musica corale, integrato +in LilyPond. Può essere usato per creare semplici brani di musica +corale, con o senza accompagnamento del pianoforte, in due o +quattro righi. Diversamente da altri modelli, questo modello è +@q{integrato}, ovvero non c'è bisogno di copiarlo e modificarlo, +basta includerlo nel file di input. + +@warning {Diversamente dalla maggior parte dei file da includere, questo +modello integrato deve essere incluso alla @emph{fine} del file di input.} + +Le espressioni musicali richieste si inseriscono definendo dei valori per +variabili ben precise. Tali definizioni devono precedere il file incluso +con @code{\include}. + +La musica può essere impostata su una o due voci per rigo impostando la +proprietà @code{TwoVoicesPerStaff} su @code{##f} (falso) o @code{##t} +(vero) rispettivamente. + +Ecco il file di input completo per produrre un arrangiamento SATB a quattro +parti con testi individuali e accompagnamento per pianoforte: + +@lilypond[verbatim, quote] + SopranoMusic = \relative { a'4\f a8 a a4 a } + SopranoLyrics = \lyricmode { Sop -- ra -- no ly -- rics } + AltoMusic = \relative { d'4\f d d d } + AltoLyrics = \lyricmode { Al -- to ly -- rics } + TenorMusic = \relative { a4\p a a a } + TenorLyrics = \lyricmode { Te -- nor ly -- rics } + BassMusic = \relative { c2\p c4 c } + BassLyrics = \lyricmode { Bass ly -- rics } + PianoRHMusic = \relative { c' e g c } + PianoDynamics = { s2\mp s4 s4 } + PianoLHMusic = \relative { c e g c } + \include "satb.ly" +@end lilypond + +Si può usare lo stesso input per generare una partitura con due voci per +rigo semplicemente impostando @code{TwoVoicesPerStaff} su @code{##t}. +Anche in questo caso ogni voce ha un testo individuale. + +@lilypond[verbatim, quote] + SopranoMusic = \relative { a'4\f a8 a a4 a } + SopranoLyrics = \lyricmode { Sop -- ra -- no ly -- rics } + AltoMusic = \relative { d'4\f d d d } + AltoLyrics = \lyricmode { Al -- to ly -- rics } + TenorMusic = \relative { a4\p a a a } + TenorLyrics = \lyricmode { Te -- nor ly -- rics } + BassMusic = \relative { c2\p c4 c } + BassLyrics = \lyricmode { Bass ly -- rics } + PianoRHMusic = \relative { c' e g c } + PianoDynamics = { s2\mp s4 s4 } + PianoLHMusic = \relative { c e g c } + TwoVoicesPerStaff = ##t + \include "satb.ly" +@end lilypond + +Quando @code{TwoVoicesPerStaff} è impostato su falso oppure è permesso +per impostazione predefinita, qualsiasi variabile musicale può essere +omessa per generare arrangiamenti con meno voci. Ecco come scrivere +un file di input per un duetto soprano/basso: + +@lilypond[verbatim,quote] + SopranoMusic = \relative { c'' c c c } + SopranoLyrics = \lyricmode { High voice ly -- rics } + BassMusic = \relative { a a a a } + BassLyrics = \lyricmode { Low voice ly -- rics } + \include "satb.ly" +@end lilypond + +Una seconda strofa o testo alternativo può essere aggiunto a +ciascuna parte: + +@lilypond[verbatim, quote] + SopranoMusic = \relative { a'4 a a a } + SopranoLyricsOne = \lyricsto "Soprano" { + \set stanza = "1." + Parole per prima strofa + } + SopranoLyricsTwo = \lyricsto "Soprano" { + \set stanza = "2." + Parole per seconda strofa + } + \include "satb.ly" +@end lilypond + +Quando il testo e le durate sono gli stessi in ogni parte, è meglio +disporre la musica vocale su due righi con due voci in ciascuno. Si +possono inserire fino a nove strofe. Ecco un esempio non accompagnato +con tre strofe. + +@lilypond[verbatim, quote] + SopranoMusic = \relative { a' a a a } + AltoMusic = \relative { f' f f f } + VerseOne = \lyricmode { + \set stanza = "1." + Parole per prima strofa + } + VerseTwo = \lyricmode { + \set stanza = "2." + Parole per seconda strofa + } + VerseThree = \lyricmode { + \set stanza = "3." + Parole per terza strofa + } + TenorMusic = \relative { a a a a } + BassMusic = \relative { f f f f } + TwoVoicesPerStaff = ##t + \include "satb.ly" +@end lilypond + +Si possono assegnare valori a altre variabili. Si possono cambiare +l'armatura di chiave e l'indicazione di tempo predefiniti: + +@lilypond[verbatim, quote] + Key = \key a \major + Time = { + \time 5/4 + \tempo "Allegro" 4 = 144 + } + SopranoMusic = \relative { gis' gis gis gis gis } + AltoMusic = \relative { cis' cis cis cis cis } + VerseOne = \lyricmode { Words to this du -- et } + TwoVoicesPerStaff = ##t + \include "satb.ly" +@end lilypond + +Si possono cambiare anche i nomi estesi o abbreviati degli strumenti: + +@lilypond[verbatim,quote] + SopranoMusic = \relative { c'' c c c } + SopranoLyrics = \lyricmode { High voice ly -- rics } + SopranoInstrumentName = "Soprano 1" + SopranoShortInstrumentName = "S1" + AltoMusic = \relative { a' a a a } + AltoLyrics = \lyricmode { Low voice ly -- rics } + AltoInstrumentName = "Soprano 2" + AltoShortInstrumentName = "S2" + \include "satb.ly" +@end lilypond + +Si può aggiungere un discanto definendo dei valori per la variabile +@code{DescantMusic} e il testo di discanto definendo i valori della +variabile @code{DescantLyrics}. + +I blocchi @code{\header} e @code{\paper} possono essere aggiunti, come +sempre. Un blocco @code{\layout} deve invece essere creato come valore +della variabile @code{Layout}: + +@example +Layout = \layout @{ ... @} +@end example + +L'insieme completo di variabili modificabili è visibile esaminando il +file @file{ly/satb.ly}. + +@seealso +Manuale di apprendimento: +@ref{Organizing pieces with variables}, +@ref{Vocal ensembles templates}, +@ref{Extending the templates}. + +@knownissues +Arrangiamenti più complessi della musica corale SATB non sono possibile +utilizzando questi semplici modelli integrati. + + @node Modelli per rigo singolo @appendixsec Modelli per rigo singolo @translationof Single staff templates @@ -130,6 +302,11 @@ LilyPond e goderti dei belli spartiti! @appendixsec Modelli per gruppi vocali @translationof Vocal ensembles templates +I modelli seguenti devono essere copiati nella tua partitura e modificati +lì. Se la disposizione della tua partitura SATB è relativamente semplice, +potresti preferire i modelli integrati, che possono essere semplicemente +inclusi con @code{include}, come è spiegato in @ref{Built-in templates}. + @menu * Partitura vocale SATB:: * Partitura vocale SATB e automatica riduzione per pianoforte:: @@ -269,7 +446,7 @@ violin concerto as TchaikovskyPI, whereas perhaps you wish to print @ The `line-width' is for \header. @li lypond[quote,verbatim,ragged-right,line-width] -\version "2.16.0" +\version "2.19.2" \header { dedication = "dedication" title = "Title" diff --git a/Documentation/it/learning/tweaks.itely b/Documentation/it/learning/tweaks.itely index ea4ef460e1..9069bc915d 100644 --- a/Documentation/it/learning/tweaks.itely +++ b/Documentation/it/learning/tweaks.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*- @ignore - Translation of GIT committish: 7fdce4f39834cc8c83f176480cc1d20900eb09f8 + Translation of GIT committish: 63e280b6c609d307b1cb9aa1852fce7862c39738 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -109,6 +109,12 @@ un punto finale e talvolta altre proprietà relative alla loro forma. Gli oggetti che hanno una forma estesa in questo modo vengono chiamati «Estensori» (in inglese @emph{Spanner}). +Esistono anche dei grob @q{astratti} che non stampano niente da soli, bensì +raccolgono, posizionano e gestiscono altri grob. Esempi comuni sono +@code{DynamicLineSpanner}, @code{BreakAlignment}, @code{NoteColumn}, +@code{VerticalAxisGroup}, @code{NonMusicalPaperColumn} e simili. Vedremo +in seguito come si usano alcuni di questi. + Resta da spiegare cosa sono le «Interfacce». Molti oggetti, pur essendo piuttosto diversi, condividono delle caratteristiche comuni che devono essere elaborate nello stesso modo. Ad esempio, tutti i @emph{grob} hanno un @@ -183,6 +189,7 @@ di oggetti e proprietà dai loro nomi. * Il prefisso once:: * Il comando overrideProperty:: * Il comando tweak:: +* Il prefisso single:: @end menu @node Il comando override @@ -458,7 +465,7 @@ seguire la sua origine fino all'evento originale: Questa forma estesa del comando @code{\tweak} può essere descritta così @example -\tweak @var{oggetto-formattazione}.@var{proprietà-formattazione} @var{valore} +\tweak @var{OggettoFormattazione}.@var{proprietà-formattazione} #@var{valore} @end example @cindex gruppi irregolari, annidati @@ -521,10 +528,67 @@ aspetto può essere modificato come di consueto con i comandi @code{\override}: } @end lilypond - @seealso +@c need to comment this until the node conflict is fixed - fb Guida alla Notazione: -@ruser{The tweak command}. +@ruser{The tweak command,,The tweak command}. + + +@node Il prefisso single +@unnumberedsubsubsec Il prefisso @code{@bs{}single} +@translationof The single prefix + +@funindex \single +@cindex tweak, generato da override + +Immaginiamo di voler enfatizzare alcune teste di nota in particolare +colorandole di rosso e aumentandone la dimensione; e immaginiamo anche +che per comodità abbiamo definito una funzione per fare ciò: + +@lilypond[quote,verbatim] +emphNoteHead = { + \override NoteHead.color = #red + \override NoteHead.font-size = 2 +} +\relative c'' { + c4 a \once \emphNoteHead f d | +} +@end lilypond + +Il prefisso @code{\once} funziona bene se si desidera enfatizzare note +singole o interi accordi, ma non permette di enfatizzare una singola +nota @emph{dentro} un accordo. Prima abbiamo visto come si possa usare +@code{\tweak} per fare ciò, vedi @ref{The tweak command}. +Ma non è possibile usare @code{\tweak} in una funzione; è in questo caso che +torna utile il comando @code{\single}: + +@lilypond[quote,verbatim] +emphNoteHead = { + \override NoteHead.color = #red + \override NoteHead.font-size = 2 +} +\relative c'' { + 4 +} +@end lilypond + +In sintesi, @code{\single} converte le modifiche introdotte dal comando +@code{\override} in modifiche eseguite dal comando @code{\tweak}. +Ciò significa che quando ci sono vari oggetti che si trovano nello stesso +momento musicale (come le teste di nota in un accordo), @code{\single} avrà +effetto su uno solo, quello generato dall'espressione musicale immediatamente +seguente; a differenza di @code{\once}, che ha effetto su tutti questi oggetti. + +Usando @code{\single} in questo modo qualsiasi funzione usata come +scorciatoia che contiene soltanto @code{\override} può essere applicata +a note individuali in un accordo. Tuttavia, @code{\single} non converte +@code{\revert}, @code{\set} e @code{\unset} in modifiche che hanno le +proprietà di @code{\tweak}. + +@seealso +Manuale di apprendimento: +@ref{The tweak command}, +@ref{Using variables for layout adjustments}. @node Manuale del Funzionamento interno @@ -3393,7 +3457,7 @@ rhMusic = \relative c'' { \time 6/4 \mergeDifferentlyHeadedOn \mergeDifferentlyDottedOn - bes2.^\markup { \bold "Moderato" } r8 + bes2.\tempo "Moderato" r8 << { c,8 d fis bes a } \new Voice { @@ -3646,12 +3710,12 @@ lhMusic = \relative c' { @end lilypond Proseguiamo con la terza battuta e l'inizio della sezione del Moderato. Nel -tutorial abbiamo visto come aggiungere del testo in grassetto tramite il -comando @code{\markup}, quindi aggiungere @qq{Moderato} in grassetto è -facile. Ma come facciamo ad accorpare le note appartenenti a voci -diverse? Ancora una volta dobbiamo rivolgerci alla guida alla Notazione per -un aiuto. Una ricerca del termine @qq{accorpare} (@emph{merge}) nell'indice della -guida ci porta rapidamente al paragrafo @ruser{Collision resolution}, dove +tutorial abbiamo visto come aggiungere un'indicazione di tempo col comando +@code{\tempo}, quindi aggiungere @qq{Moderato} è facile. Ma come facciamo +ad accorpare le note appartenenti a voci diverse? Ancora una volta +dobbiamo rivolgerci alla guida alla Notazione per un aiuto. Una ricerca +del termine @qq{accorpare} (in inglese @emph{merge}) nell'indice della guida +ci porta rapidamente al paragrafo @ruser{Collision resolution}, dove troviamo i comandi per allineare le note con teste e punti diversi. Nel nostro esempio abbiamo bisogno di accorpare entrambi i tipi di note per la durata della sezione polifonica della terza battuta. Dunque, usando le @@ -3682,7 +3746,7 @@ rhMusic = \relative c'' { bes1~ | \bar "||" \time 6/4 - bes2.^\markup { \bold "Moderato" } r8 + bes2.\tempo "Moderato" r8 \mergeDifferentlyHeadedOn \mergeDifferentlyDottedOn % Inizia la sezione polifonica a quattro voci @@ -3757,7 +3821,7 @@ rhMusic = \relative c'' { bes1~ | \bar "||" \time 6/4 - bes2.^\markup { \bold "Moderato" } r8 + bes2.\tempo "Moderato" r8 \mergeDifferentlyHeadedOn \mergeDifferentlyDottedOn % Inizia la sezione polifonica a quattro voci @@ -3909,20 +3973,15 @@ lhMusic = \relative c' { * Simulare una corona nel MIDI:: @end menu - -@cindex proprietà transparent, uso della -@cindex oggetti, renderli invisibili -@cindex togliere gli oggetti -@cindex oggetti, toglierli -@cindex nascondere gli oggetti -@cindex oggetti, nascondere -@cindex oggetti invisibili -@cindex legature di valore tra note di voci diverse +@cindex rimuovere gli oggetti +@cindex oggetti, rimuoverli @node Legature di valore tra note di voci diverse @unnumberedsubsubsec Legature di valore tra note di voci diverse @translationof Tying notes across voices +@cindex legature di valore tra note di voci diverse + L'esempio seguente mostra come unire con legature di valore note appartenenti a voci diverse. Di norma, solo le note nella stessa voce possono essere unite da una legatura di valore. @@ -3933,33 +3992,18 @@ Se si usano due voci con le note legate in una voce @end lilypond @noindent -e si cancella il primo gambo di quella voce, la legatura sembra +e si toglie il primo gambo di quella voce e la sua coda, la legatura sembra attraversare le voci: -@cindex Stem, esempio di sovrascrittura -@cindex proprietà transparent, esempio -@cindex transparent, esempio - -@lilypond[quote,fragment,relative=2,verbatim] -<< - { - \tweak Stem.transparent ##t - b8~ 8\noBeam - } -\\ - { b8[ g] } ->> -@end lilypond - -Per far sì che il gambo cancellato non schiacci troppo la legatura, -possiamo allungarlo impostando la proprietà -@code{length} su @code{8}, +@cindex Stem, esempio di rimozione +@cindex Flag, esempio di rimozione +@cindex @code{\omit}, esempio @lilypond[quote,fragment,relative=2,verbatim] << { - \tweak Stem.transparent ##t - \tweak Stem.length #8 + \once \omit Stem + \once \omit Flag b8~ 8\noBeam } \\ @@ -3967,36 +4011,10 @@ possiamo allungarlo impostando la proprietà >> @end lilypond -@funindex \single -@cindex tweak, generato da un override - -Per @emph{sovrascrivere} (con @code{\override}) la trasparenza di un oggetto -grafico, avremmo potuto usare la scorciatoia @code{\hide}, come spiegato -in precedenza. Ma la modifica manuale con @emph{\tweak} è un'operazione -diversa, che riguarda solo le proprietà generate da una singola espressione -musicale. Tuttavia è possibile convertire le sovrascritture in @emph{tweak} -usando @code{\single}. Questo ci permette di riscrivere l'esempio precedente -in questo modo - -@lilypond[quote,fragment,relative=2,verbatim] -<< - { - \single \hide Stem - \single \hide Flag - \tweak Stem.length #8 - b8~ 8\noBeam - } -\\ - { b8[ g] } ->> -@end lilypond - -In questo caso particolare, la differenza rispetto a @code{\once \hide} non -è evidente. La differenza è evidente quando ci sono vari oggetti che -si trovano nello stesso punto del tempo musicale (come le teste delle note -in un accordo). In quel caso, @code{\once} avrà effetto su tutti quegli -oggetti mentre @code{\single} solo su uno, ovvero quello generato -dall'espressione musicale immediatamente seguente. +@seealso +Manuale di apprendimento: +@ref{The once prefix,,Il prefisso @code{@bs{}once}}, +@ref{The stencil property}. @node Simulare una corona nel MIDI diff --git a/Documentation/it/notation.tely b/Documentation/it/notation.tely index 1ce4fec62d..9f94fb9183 100644 --- a/Documentation/it/notation.tely +++ b/Documentation/it/notation.tely @@ -1,6 +1,6 @@ \input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*- @ignore - Translation of GIT committish: 00cd4ff0b8dc4978344ba966bec06ddbc445f7e9 + Translation of GIT committish: f291e8c30bbde2cf1fe2fc1b359288c94b8e2503 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -22,7 +22,7 @@ presuppone che il lettore conosca il materiale esposto nel @c `Notation Reference' was born 1999-10-11 with git commit 940dda0... @macro copyrightDeclare -Copyright @copyright{} 1999--2014 degli autori. +Copyright @copyright{} 1999--2015 degli autori. @end macro @@ -48,7 +48,7 @@ Copyright @copyright{} 1999--2014 degli autori. @c Keep english titles of file not yet translated -- fb @menu * Notazione musicale:: Notazione usata in quasi tutti i progetti. -* Specialist notation:: Notazione usata solo in contesti specifici. @c Notazione specialistica +* Notazione specialistica:: Notazione usata solo in contesti specifici. * General input and output:: Informazioni generali su input e output. @c Input e output * Spacing issues:: Impaginazione della musica sul foglio. @c Gestione dello spazio * Changing defaults:: Aggiustamento dell'output. @c Modifica delle impostazioni predefinite diff --git a/Documentation/it/notation/editorial.itely b/Documentation/it/notation/editorial.itely index 03d2e38f77..4a53c7f13c 100644 --- a/Documentation/it/notation/editorial.itely +++ b/Documentation/it/notation/editorial.itely @@ -1,13 +1,13 @@ @c -*- coding: utf-8; mode: texinfo; -*- @ignore - Translation of GIT committish: ed1acf4b9b63f6acdb4feb24eb4acf3f83548319 + Translation of GIT committish: 39f7a447f567bf8cb4e61f2672a81d7d2306b53e 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.17.11" +@c \version "2.18.0" @c Translators: Federico Bruni @c Translation checkers: @@ -51,6 +51,7 @@ Questa sezione spiega come aggiungere enfasi agli elementi interni al rigo. @cindex scelta della dimensione del tipo di carattere (per gli elementi della notazione) @cindex notazione, dimensione del tipo di carattere @cindex teste di nota +@cindex ingrandimento del tipo di carattere @funindex fontSize @funindex font-size @@ -67,48 +68,194 @@ Questa sezione spiega come aggiungere enfasi agli elementi interni al rigo. @funindex small @funindex tiny @funindex teeny +@funindex \magnifyMusic +@funindex magnifyMusic +@funindex magnification->font-size -È possibile modificare la dimensione del tipo di carattere degli elementi -della notazione. Tale modifica non altera la dimensione di altri simboli -variabili, come le travature o le legature di portamento. +@warning{@* +Per le dimensioni del testo, leggere @ref{Selecting font and font size}.@* +Per la dimensione del rigo, leggere @ref{Setting the staff size}.@* +Per le citazioni in corpo piccolo, leggere @ref{Formatting cue notes}.@* +Per i righi ossia, leggere @ref{Ossia staves}.} -@warning{Per informazioni sulla dimensione del tipo di carattere per il -testo, si veda @ref{Selecting font and font size}.} +Per modificare la dimensione di un elemento della notazione senza cambiare +anche la dimensione del rigo, si può specificare un fattore di ingrandimento +col comando @code{\magnifyMusic}: + +@c Grieg Piano Concerto (mvt.1 cadenza) +@lilypond[verbatim,quote] +\new Staff << + \new Voice \relative { + \voiceOne + 4 8. 16 8 4 r8 + } + \new Voice \relative { + \voiceTwo + \magnifyMusic 0.63 { + \override Score.SpacingSpanner.spacing-increment = #(* 1.2 0.63) + r32 c'' a c a c a c r c a c a c a c + r c a c a c a c a c a c a c a c + } + } +>> +@end lilypond + +L'@code{\override} in questo esempio serve a eludere un difetto del programma, +spiegato in @qq{Known issues and warnings} alla fine di questa sezione. + +Se la testa di una nota di dimensione normale è accorpata con una più +piccola, potrebbe essere necessario ripristinare la dimensione della +nota più piccola (con @w{@samp{\once@tie{}\normalsize}}) in modo che i +gambi e le alterazioni siano allineati correttamente: + +@c Chopin Prelude op.28 no.8 +@lilypond[verbatim,quote] +\new Staff << + \key fis \minor + \mergeDifferentlyDottedOn + \new Voice \relative { + \voiceOne + \magnifyMusic 0.63 { + \override Score.SpacingSpanner.spacing-increment = #(* 1.2 0.63) + \once \normalsize cis'32( cis' gis b a fis \once \normalsize d d' + \once \normalsize cis, cis' gis b a gis \once \normalsize fis fis' + \once \normalsize fis, fis' ais, cis b gis \once \normalsize eis eis' + \once \normalsize a, a' bis, d cis b \once \normalsize gis gis') + } + } + \new Voice \relative { + \voiceTwo + cis'8. d16 cis8. fis16 fis8. eis16 a8. gis16 + } +>> +@end lilypond + +Il comando @code{\magnifyMusic} non è adatto per le citazioni in corpo +piccolo, gli abbellimenti o i righi ossia, per i quali esistono +metodi di inserimento più appropriati. È invece utile quando la +dimensione della notazione cambia in una singola parte strumentale +su un rigo e quando gli abbellimenti non sono la scelta appropriata, +come nei passaggi di tipo cadenza o in casi simili agli esempi +precedenti. Impostando il valore di @code{\magnifyMusic} su 0.63 +si duplicano le dimensioni del contesto @code{CueVoice}. + +@warning{Il comando @code{@bs{}magnifyMusic} @i{non} deve essere +usato quando si ridimensiona anche il rigo. Maggiori informazioni + in @ref{Setting the staff size}.} + +@subsubsubheading Ridimensionare oggetti della formattazione individualmente + +Un singolo oggetto della formattazione può essere ridimensionato +coi comandi @code{\tweak} o @code{\override} per regolare la sua +proprietà @code{font-size}: + +@lilypond[quote,verbatim,relative=1] +% ridimensiona una testa di nota +-5 +% ridimensiona una diteggiatura +bes-\tweak font-size 0 -3 +% ridimensiona un'alterazione +\once \override Accidental.font-size = -4 bes!-^ +% ridimensiona un'articolazione +\once \override Script.font-size = 4 bes!-^ +@end lilypond + +Il valore predefinito di @code{font-size} per ogni oggetto della +formattazione è elencato nella Guida al funzionamento interno. La +proprietà @code{font-size} può essere impostata solo per quegli +oggetti che supportano l'interfaccia di formattazione @code{font-interface}. +Se @code{font-size} non è specificato nella lista @q{Standard@tie{}settings} +dell'oggetto, il suo valore è 0. Si veda @rinternals{All layout objects}. + +@subsubsubheading Capire la proprietà @code{fontSize} + +La proprietà di contesto @code{fontSize} regola la dimensione relativa di +tutti gli elementi della notazione basati su un glifo in un contesto: @lilypond[verbatim,quote,relative=2] -\huge -c4.-> d8---3 -\large -c4.-> d8---3 -\normalsize -c4.-> d8---3 -\small -c4.-> d8---3 -\tiny -c4.-> d8---3 -\teeny -c4.-> d8---3 +\time 3/4 +d4---5 c8( b a g) | +\set fontSize = -6 +e'4-- c!8-4( b a g) | +\set fontSize = 0 +fis4---3 e8( d) fis4 | +g2. @end lilypond -Internamente, questi comandi impostano la proprietà @code{fontSize}. In questo -modo la proprietà @code{font-size} viene impostata per tutti gli oggetti della -formattazione. Il valore di @code{font-size} è un numero che indica la -dimensione relativa alla dimensione standard per l'altezza del rigo corrente. -Ogni grado in su corrisponde a un aumento di circa il 12% della dimensione -del tipo di carattere. Sei gradi corrispondono esattamente a un fattore -di due. La funzione Scheme @code{magstep} converte un numero di @code{font-size} -in un fattore di ridimensionamento. Si può impostare la proprietà -@code{font-size} anche direttamente, in modo da agire solo su certi -oggetti di formattazione. +Il valore di @code{fontSize} è un numero che indica la dimensione +relativa alla dimensione standard dell'altezza del rigo corrente. +Il valore predefinito di @code{fontSize} è 0; aggiungendo 6 a qualsiasi +valore di @code{fontSize} si raddoppia la dimensione dei glifi e +togliendo 6 si dimezza. Ogni punto aumenta la dimensione di circa +il 12%. + +Dato che le unità logaritmiche della proprietà @code{font-size} non sono +del tutto intuitive, viene fornita per comodità la funzione scheme +@code{magnification->font-size}. Per esempio, per ridurre la notazione +musicale al 75% della dimensione predefinita si usa: + +@example +\set fontSize = #(magnification->font-size 0.75) +@end example + +La funzione scheme @code{magstep} fa l'opposto: converte un valore +di @code{font-size} in un fattore di ingrandimento. + +La proprietà @code{fontSize} avrà effetto soltanto sugli elementi +della notazione che sono disegnati con glifi, come le teste di +nota, le alterazioni, i segni, etc. Non modificherà la dimensione +del rigo stesso né ridimensionerà proporzionalmente gambi, travature +o la spaziatura orizzontale. Per ridimensionare gambi, travature +e spaziatura orizzontale insieme alla dimensione degli elementi della +notazione (senza cambiare la dimensione del rigo), si usa il comando +@code{\magnifyMusic} presentato prima. Per ridimensionare tutto, +compreso il rigo, leggere @ref{Setting the staff size}. + +Ogni volta che la @i{proprietà di contesto} @code{fontSize} è impostata, il +suo valore viene aggiunto al valore della @i{proprietà del grob} @code{font-size} +per i singoli oggetti di formattazione, prima che siano stampati i glifi. +Ciò può creare confusione quando si impostano individualmente le proprietà +@code{font-size} mentre è impostato anche @code{fontSize}: @lilypond[verbatim,quote,relative=2] -\set fontSize = #3 +% il valore predefinito di font-size per NoteHead è 0 +% il valore predefinito di font-size per Fingering è -5 +c4-3 + +\set fontSize = -3 +% la dimensione effettiva per NoteHead è ora -3 +% la dimensione effettiva per Fingering è ora -8 +c4-3 + +\override Fingering.font-size = 0 +% la dimensione effettiva per Fingering è ora -3 +c4-3 +@end lilypond + +Sono anche disponibili le seguenti scorciatoie: + +@multitable @columnfractions .2 .4 .4 +@item @b{Comando} @tab @b{Equivalente a} @tab @b{Dimensione relativa} +@item @code{\teeny} @tab @code{\set fontSize = -3} @tab 71% +@item @code{\tiny} @tab @code{\set fontSize = -2} @tab 79% +@item @code{\small} @tab @code{\set fontSize = -1} @tab 89% +@item @code{\normalsize} @tab @code{\set fontSize = 0} @tab 100% +@item @code{\large} @tab @code{\set fontSize = 1} @tab 112% +@item @code{\huge} @tab @code{\set fontSize = 2} @tab 126% +@end multitable + +@lilypond[verbatim,quote,relative=2] +\teeny c4.-> d8---3 -\override NoteHead.font-size = #-4 +\tiny c4.-> d8---3 -\override Script.font-size = #2 +\small +c4.-> d8---3 +\normalsize c4.-> d8---3 -\override Stem.font-size = #-5 +\large +c4.-> d8---3 +\huge c4.-> d8---3 @end lilypond @@ -120,16 +267,13 @@ c4.-> d8---3 La modifica della dimensione del tipo di carattere si ottiene ridimensionando la dimensione, tra quelle predefinite, più vicina a quella desiderata. La -dimensione standard (per @w{@code{font-size = #0}}) dipende dall'altezza +dimensione standard (per @w{@code{font-size = 0}}) dipende dall'altezza standard del rigo: per un rigo di 20pt, viene scelto un tipo di carattere -di 10pt. - -La proprietà @code{font-size} si può impostare soltanto sugli oggetti di -formattazione che usano i tipi di carattere, ovvero quegli oggetti che -supportano l'interfaccia di formattazione @code{font-interface}. +di 11pt. @predefined +@code{\magnifyMusic}, @code{\teeny}, @code{\tiny}, @code{\small}, @@ -139,12 +283,44 @@ supportano l'interfaccia di formattazione @code{font-interface}. @endpredefined @seealso +Guida alla notazione: +@ref{Selecting font and font size}, +@ref{Setting the staff size}, +@ref{Formatting cue notes}, +@ref{Ossia staves}. + +File installati: +@file{ly/music-functions-init.ly}, +@file{ly/property-init.ly}. + Frammenti: @rlsr{Editorial annotations}. Guida al funzionamento interno: @rinternals{font-interface}. +@c The two issues mentioned below: +@c http://code.google.com/p/lilypond/issues/detail?id=3987 +@c http://code.google.com/p/lilypond/issues/detail?id=3990 +@knownissues +Attualmente ci sono due bug che impediscono una corretta spaziatura +orizzontale quando si usa @code{\magnifyMusic}. C'è un solo modo +per eludere questi bug e non funziona in tutte le circostanze. +Nell'esempio seguente, sostituire la variabile @var{mag} con un +valore a piacere. Si può provare anche a togliere uno o entrambi +i comandi @code{\newSpacingSection} e/o i comandi @code{\override} +e @code{\revert}: + +@example +\magnifyMusic @var{mag} @{ + \newSpacingSection + \override Score.SpacingSpanner.spacing-increment = #(* 1.2 @var{mag}) + @var{[music]} + \newSpacingSection + \revert Score.SpacingSpanner.spacing-increment +@} +@end example + @node Indicazioni di diteggiatura @unnumberedsubsubsec Indicazioni di diteggiatura @@ -393,8 +569,9 @@ un browser potrebbe non mostrare alcuna differenza tra @code{LimeGreen} e @code{ForestGreen}. Per il web si consiglia di usare i colori normali (ovvero @code{blue}, @code{green}, @code{red}). -Le note in un accordo non possono essere colorate con un @code{\override}; al -suo posto si usa @code{\tweak}, vedi @ref{The tweak command}. +Le note in un accordo non possono essere colorate separatamente con un +@code{\override}; al suo posto si usa @code{\tweak} o l'equivalente +@code{\single\override}, vedi @ref{The tweak command}. @node Parentesi diff --git a/Documentation/it/notation/expressive.itely b/Documentation/it/notation/expressive.itely index bb360d6be8..6cd943c6a2 100644 --- a/Documentation/it/notation/expressive.itely +++ b/Documentation/it/notation/expressive.itely @@ -1,13 +1,13 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*- @ignore - Translation of GIT committish: 48a57a1c8feb426029e059d9fbf8aaf1b14f0ff8 + Translation of GIT committish: e5f2d1122b7e2f4b6e4fd4b7c1404280e82bb6d5 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.17.25" +@c \version "2.18.0" @c Translators: Federico Bruni @c Translation checkers: Luca Rossetto Casel @@ -962,6 +962,12 @@ I respiri si inseriscono col comando @code{\breathe}: c2. \breathe d4 @end lilypond +Diversamente da altri segni di espressione, il respiro non è associato +alla nota precedente ma è un evento musicale separato. Dunque tutti i +segni espressivi attaccati alla nota precedente, tutte le parentesi quadre +che indicano le travature manuali e le parentesi che indicano le legature +di portamento e di frase devono essere poste prima di @code{\breathe}. + Un respiro termina una travatura automatica; per evitare questo comportamento, si veda @ref{Manual beams}. diff --git a/Documentation/it/notation/pitches.itely b/Documentation/it/notation/pitches.itely index bb3566adb0..ce726d7bdd 100644 --- a/Documentation/it/notation/pitches.itely +++ b/Documentation/it/notation/pitches.itely @@ -1,6 +1,6 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*- @ignore - Translation of GIT committish: fa12d929326daf49f84838a95b0570b32e4b3400 + Translation of GIT committish: a1c9c3d285a2f3e59cf79a375b67cfb58ceca7ba When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -1119,9 +1119,15 @@ Questa sezione tratta il modo di modificare l'aspetto delle altezze delle note. @funindex \clef @funindex clef -È possibile cambiare la chiave impiegata. Negli esempi seguenti mostriamo il Do -centrale. I seguenti nomi di chiave possono (ma non devono) essere -racchiusi tra virgolette. +Senza un comando esplicito, la chiave predefinita in LilyPond è la chiave +di violino (o di @emph{Sol}). + +@lilypond[verbatim,quote,relative=1,ragged-right] +c2 c +@end lilypond + +Per cambiare la chiave si usa il comando @code{\clef} seguito dal nome della +chiave. In tutti gli esempi seguenti viene mostrato il @emph{Do centrale}. @lilypond[verbatim,quote,relative=1] \clef treble @@ -1134,36 +1140,18 @@ c2 c c2 c @end lilypond -Altre chiavi: - -@lilypond[verbatim,quote,relative=1] -\clef french -c2 c -\clef soprano -c2 c -\clef mezzosoprano -c2 c -\clef baritone -c2 c - -\break +L'elenco completo di tutti i nomi di chiave possibili si trova in @ref{Clef styles}. +Chiavi speciali, come quelle usate nella musica @emph{antica}, sono descritte +in @ref{Mensural clefs} e @ref{Gregorian clefs}. La musica che utilizza le +chiavi dell'intavolatura è discussa in @ref{Default tablatures} e +@ref{Custom tablatures}. -\clef varbaritone -c2 c -\clef subbass -c2 c -\clef percussion -c2 c - -\break +@cindex notine, chiavi +@cindex citazioni in corpo piccolo, chiavi +@cindex chiavi con notine (citazioni in corpo piccolo) -\clef G % synonym for treble -c2 c -\clef F % synonym for bass -c2 c -\clef C % synonym for alto -c2 c -@end lilypond +Per mischiare le chiavi quando si usano le notine, leggere come si usano i comandi +@code{\cueClef} e @code{\cueDuringWithClef} descritti in @ref{Formatting cue notes}. @cindex chiave traspositrice @cindex trasposizione, chiave @@ -1205,11 +1193,58 @@ c2 c Le altezze vengono mostrate come se l'argomento numerico fosse inserito senza parentesi. -Alcune chiavi particolari sono descritte in @ref{Mensural clefs}, -@ref{Gregorian clefs}, @ref{Default tablatures} e @ref{Custom -tablatures}. Per alternare chiavi diverse nelle citazioni in corpo più piccolo -all'interno di una partitura, si vedano le funzioni @code{\cueClef} e -@code{\cueDuringWithClef} in @ref{Formatting cue notes}. +Se c'è un cambio di chiave quando si interrompe la linea, il simbolo della +nuova chiave viene ripetuto alla fine della linea precedente, come chiave +di @emph{avviso}, e all'inizio di quella successiva. Tale chiave di +@emph{precauzione} può essere soppressa. + +@lilypond[verbatim,quote,relative=1] +\clef treble { c2 c } \break +\clef bass { c2 c } \break +\clef alto + \set Staff.explicitClefVisibility = #end-of-line-invisible + { c2 c } \break + \unset Staff.explicitClefVisibility +\clef bass { c2 c } \break +@end lilypond + +Una chiave che è già stata visualizzata non viene ristampata se viene +ripetuto lo stesso comando @code{\clef} e verrà quindi ignorata. +Si può cambiare tale comportamento predefinito col comando +@code{\set Staff.forceClef = ##t}. + +@lilypond[verbatim,quote,relative=1] + \clef treble + c1 + \clef treble + c1 + \set Staff.forceClef = ##t + c1 + \clef treble + c1 +@end lilypond + +When there is a manual clef change, the glyph of the changed clef +will be smaller than normal. This behaviour can be overridden. + +@lilypond[verbatim,quote,relative=1] + \clef "treble" + c1 + \clef "bass" + c1 + \clef "treble" + c1 + \override Staff.Clef.full-size-change = ##t + \clef "bass" + c1 + \clef "treble" + c1 + \revert Staff.Clef.full-size-change + \clef "bass" + c1 + \clef "treble" + c1 +@end lilypond @snippets @@ -1224,6 +1259,9 @@ Guida alla notazione: @ref{Custom tablatures}, @ref{Formatting cue notes}. +File installati: +@file{scm/parser-clef.scm}. + Frammenti di codice: @rlsrnamed{Pitches, Altezze}. @@ -1238,10 +1276,10 @@ I numeri di ottavazione assegnati alle chiavi sono trattati come oggetti grafici separati. Quindi qualsiasi @code{\override} all'oggetto @var{Clef} dovrà essere applicato, con un altro @code{\override}, all'oggetto @var{ClefModifier}. -@lilypond[fragment,quote,relative=1] +@lilypond[fragment,quote,verbatim,relative=1] \new Staff \with { - \override ClefModifier.color = #red \override Clef.color = #blue + \override ClefModifier.color = #red } \clef "treble_8" c4 @@ -1420,6 +1458,9 @@ a2 b @lilypondfile[verbatim,quote,texidoc,doctitle] {adding-an-ottava-marking-to-a-single-voice.ly} +@lilypondfile[verbatim,quote,texidoc,doctitle] +{modifying-the-ottava-spanner-slope.ly} + @seealso Glossario musicale: @rglosnamed{octavation,ottavazione}. @@ -2388,8 +2429,8 @@ musicB = { @item dodecaphonic -@cindex stile delle alterazioni @emph{dodecaphonic} -@cindex @emph{dodecaphonic}, stile delle alterazioni +@cindex stile delle alterazioni @emph{dodecafonico} +@cindex @emph{dodecafonico}, stile delle alterazioni @funindex dodecaphonic @@ -2446,12 +2487,131 @@ musicB = { } @end lilypond +@item dodecaphonic-no-repeat + +@cindex stile delle alterazioni dodecafonico +@cindex stile dodecafonico neomoderno + +@funindex dodecaphonic-no-repeat + +Come nello stile delle alterazioni dodecafonico @emph{ogni} nota ha +un segno di alterazione, ma le alterazioni sono soppresse per tutte +le altezze ripetute immediatamente nello stesso rigo. + +@lilypond[quote] +musicA = { + << + \relative c' { + cis'8 fis, bes4 8 f bis4 | + cis2. 4 | + } + \\ + \relative c' { + ais'2 cis, | + fis8 b a4 cis2 | + } + >> +} + +musicB = { + \clef bass + \new Voice { + \voiceTwo \relative c' { + 8[ + \change Staff = up + cis' cis + \change Staff = down + ] + \showStaffSwitch + \change Staff = up + dis'4 | + \change Staff = down + 4 gis 2 | + } + } +} + +\new PianoStaff { + << + \context Staff = "up" { + \accidentalStyle dodecaphonic-no-repeat + \musicA + } + \context Staff = "down" { + \accidentalStyle dodecaphonic-no-repeat + \musicB + } + >> +} +@end lilypond + + +@item dodecaphonic-first + +@cindex stile delle alterazioni dodecafonico +@cindex stile dodecafonico neomoderno +@cindex dodecafonico, stile delle alterazioni +@cindex dodecafonico, stile neomoderno + +@funindex dodecaphonic-first + +In modo analogo allo stile delle alterazioni dodecafonico @emph{ogni} +altezza ha un segno di alterazione, ma solo la prima volta che si +incontra in una misura. Le alterazioni vengono ricordate solo per +l'ottava corrente ma in tutte le voci. + +@lilypond[quote] +musicA = { + << + \relative c' { + cis'8 fis, bes4 8 f bis4 | + cis2. 4 | + } + \\ + \relative c' { + ais'2 cis, | + fis8 b a4 cis2 | + } + >> +} + +musicB = { + \clef bass + \new Voice { + \voiceTwo \relative c' { + 8[ + \change Staff = up + cis' cis + \change Staff = down + ] + \showStaffSwitch + \change Staff = up + dis'4 | + \change Staff = down + 4 gis 2 | + } + } +} + +\new PianoStaff { + << + \context Staff = "up" { + \accidentalStyle dodecaphonic-first + \musicA + } + \context Staff = "down" { + \accidentalStyle dodecaphonic-first + \musicB + } + >> +} +@end lilypond @item teaching -@cindex stile delle alterazioni @emph{teaching} +@cindex stile delle alterazioni per insegnamento (@emph{teaching}) +@cindex insegnamento (@emph{teaching}), stile delle alterazioni @cindex @emph{teaching}, stile delle alterazioni - @funindex teaching Questa regola è pensata per gli studenti: permette di generare facilmente degli diff --git a/Documentation/it/notation/repeats.itely b/Documentation/it/notation/repeats.itely index 274a706498..d74780cad8 100644 --- a/Documentation/it/notation/repeats.itely +++ b/Documentation/it/notation/repeats.itely @@ -1,6 +1,6 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*- @ignore - Translation of GIT committish: 873151f815f8b8e27eb5231c74e28392561e4668 + Translation of GIT committish: c91fbc19fc727ed8ef98241b86deaedfb954f1ef When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -100,6 +100,16 @@ c2 d \repeat volta 2 { d4 e f g } @end lilypond +Il segno di inizio della ripetizione, per impostazione predefinita, non +appare nella prima misura. È tuttavia possibile aggiungerlo inserendo +a mano la battuta @code{\bar ".|:"} prima della prima nota. + +@lilypond[verbatim,fragment,quote,relative=2] +\repeat volta 2 { \bar ".|:" c4 d e f } +c2 d +\repeat volta 2 { d4 e f g } +@end lilypond + I finali alternativi si ottengono con @code{\alternative}. Ogni gruppo di alternative deve essere a sua volta racchiuso tra parentesi. @@ -206,41 +216,6 @@ a2 a | g1 | @end lilypond -Quando vengono aggiunti dei finali alternativi a una ripetizione che inizia -con una misura incompleta, diventa necessario impostare manualmente la -proprietà di contesto @code{Timing.measureLength} nei seguenti punti -specifici: - -@itemize -@item -all'inizio di tutte le misure incomplete nel blocco @code{\alternative}, che -di solito si trovano alla fine di ogni alternativa, con l'eccezione dell'ultima -(nella maggior parte dei casi). - -@item -all'inizio di ogni alternativa, eccetto la prima. -@end itemize - -@lilypond[verbatim,quote,relative=1] -\partial 4 -\repeat volta 2 { e4 | c2 e | } -\alternative { - { - f2 d | - \set Timing.measureLength = #(ly:make-moment 3/4) - g4 g g % un controllo di battuta opzionale è permesso qui - } - { - \set Timing.measureLength = #(ly:make-moment 4/4) - a2 a | - } -} -g1 | -@end lilypond - -La proprietà @code{measureLength} è descritta in @ref{Time -administration}. - @cindex ripetizioni con legature di valore @cindex finali alternativi con legature di valore @@ -374,6 +349,9 @@ Guida alla notazione: @ref{Modifying ties and slurs}, @ref{Time administration}. +File installati: +@file{ly/engraver-init.ly}. + Frammenti: @rlsr{Repeats}. @@ -820,14 +798,13 @@ essere racchiusa tra parentesi: @cindex segni di tremolo @cindex tremolo, segni -@funindex tremoloFlags @funindex : Si può ottenere lo stesso output aggiungendo @code{:@var{N}} dopo la nota, dove @code{@var{N}} indica la durata della suddivisione (deve essere almeno 8). Se @code{@var{N}} è 8, viene aggiunta una travatura al gambo della nota. Se @code{@var{N}} è omesso, viene -usato l'ultimo valore (salvato in @code{tremoloFlags}): +usato l'ultimo valore: @lilypond[quote,verbatim,relative=2] c2:8 c:32 diff --git a/Documentation/it/notation/rhythms.itely b/Documentation/it/notation/rhythms.itely index 3336269490..8434369d74 100644 --- a/Documentation/it/notation/rhythms.itely +++ b/Documentation/it/notation/rhythms.itely @@ -1,6 +1,6 @@ @c -*- coding: utf-8; mode: texinfo; -*- @ignore - Translation of GIT committish: 873151f815f8b8e27eb5231c74e28392561e4668 + Translation of GIT committish: 61d0f3c7bebf2a9cdea56ff4e3b52e3e3510bf8a When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -98,6 +98,14 @@ predefinito della prima nota è di un quarto. a a a2 a a4 a a1 a @end lilypond +Le durate isolate prendono l'altezza dalla nota o accordo precedenti. + +@lilypond[quote,verbatim,relative=2] +\time 8/1 +c \longa \breve 1 2 +4 8 16 32 64 128 128 +@end lilypond + @cindex note puntate @cindex punto, note @cindex note doppiamente puntate @@ -206,7 +214,7 @@ dell'espressione musicale per una frazione: @noindent Il numeratore della frazione apparirà sopra o sotto le note; eventualmente, con l'aggiunta opzionale di una parentesi quadra. Il gruppo irregolare più comune -è la terzina, in cui 3@tie{}note hanno la durata di @tie{}2: +è la terzina, in cui 3@tie{}note hanno la durata di@tie{}2: @lilypond[quote,verbatim,relative=2] a2 \tuplet 3/2 { b4 b b } @@ -236,7 +244,14 @@ g2 r8 \tuplet 3/2 8 { cis16 d e e f g g f e } @funindex tupletNeutral Le parentesi dei gruppi irregolari si possono posizionare manualmente sopra -o sotto il rigo, come spiegato dettagliatamente in @ref{Direction and placement}. +o sotto il rigo: + +@lilypond[quote,verbatim,relative=2] +\tupletUp \tuplet 3/2 { c8 d e } +\tupletNeutral \tuplet 3/2 { c8 d e } +\tupletDown \tuplet 3/2 { f,8 g a } +\tupletNeutral \tuplet 3/2 { f8 g a } +@end lilypond È possibile annidare i gruppi irregolari: @@ -248,9 +263,8 @@ c4 \tuplet 5/4 { f8 e f \tuplet 3/2 { e[ f g] } } f4 La modifica di gruppi irregolari annidati che iniziano simultaneamente richiede l'uso di @code{\tweak}. -Per modificare la durata delle note senza introdurre un gruppo -irregolare, si veda @ref{Scaling durations}. - +Per modificare la durata delle note senza che appaia la parentesi +quadra del gruppo irregolare, si veda @ref{Scaling durations}. @predefined @code{\tupletUp}, @@ -299,6 +313,7 @@ Manuale di apprendimento: @rlearning{Tweaking methods}. Guida alla notazione: +@ref{Direction and placement}, @ref{Time administration}, @ref{Scaling durations}, @ref{The tweak command}, @@ -312,20 +327,6 @@ Guida al funzionamento interno: @rinternals{TupletNumber}, @rinternals{TimeScaledMusic}. -@cindex abbellimenti all'interno della parentesi di un gruppo irregolare - -@knownissues -Gli abbellimenti possono essere inseriti all'interno delle parentesi dei gruppi -irregolari, @emph{eccetto} quando un rigo inizia con un abbellimento -seguito da un gruppo irregolare. In questo caso particolare, l'abbellimento -deve essere inserito prima del comando @code{\tuplet} per evitare errori. - -@cindex segni di tempo all'interno delle parentesi di un gruppo irregolare - -Quando si pone un gruppo irregolare all'inizio di un brano che presenta -un'indicazione di @code{\tempo}, la musica deve essere inserita esplicitamente -in un blocco @code{\new Voice}, come è spiegato in @rlearning{Voices contain music}. - @node Scalare le durate @unnumberedsubsubsec Scalare le durate @@ -436,6 +437,13 @@ essere legata alla nota successiva, che deve essere della stessa altezza. a2~ 4~ 16 r r8 @end lilypond +Le legature di valore possono avvantaggiarsi dell'interpretazione dell' +@q{ultima altezza esplicita} per le durate isolate: + +@lilypond[quote,verbatim,relative=2] +a2~ 4~ 16 r r8 +@end lilypond + Le legature di valore si usano per unire due note a cavallo di una stanghetta di battuta, oppure quando non si possono usare i punti per esprimere una particolare durata. Le legature si dovrebbero usare anche per @@ -462,7 +470,8 @@ non verrà creata alcuna legatura. Singoli suoni degli accordi possono essere legati inserendo la legatura all'interno dell'accordo stesso. @lilypond[quote,verbatim,relative=1] -~ +2 ~ 2 +4~ @end lilypond @@ -1032,7 +1041,10 @@ L'indicazione di tempo si imposta così: \time 3/4 c2. @end lilypond +I cambi di indicazione di tempo a metà misura sono trattati in @ref{Upbeats}. + @cindex indicazione di tempo, visibilità dell' +@cindex visibilità dell'indicazione di tempo Le indicazioni di tempo appaiono all'inizio di un brano e ogni volta che l'indicazione cambia. Se il cambio ha luogo alla fine di un rigo, @@ -1383,51 +1395,57 @@ Guida al funzionamento interno: @funindex \partial @funindex partial -Le misure parziali, come un @emph{anacrusi} o una battuta -in levare, si inseriscono col comando @code{\partial}, +Le misure parziali, come l'@emph{anacrusi} o la battuta +in levare, si inseriscono col comando @code{\partial}: @example \partial @var{durata} @end example -@noindent -dove @code{@var{durata}} è la lunghezza @emph{rimanente} della misura -parziale @emph{prima} dell'inizio della nuova misura completa. +Quando si usa @code{\partial} all'inizio di una partitura, la +@code{@var{durata}} è la lunghezza della musica che precede la +prima battuta. @lilypond[quote,verbatim,relative=1] \time 3/4 -\partial 8 -e8 | a4 c8 b c4 | +\partial 4. +r4 e8 | a4 c8 b c4 | @end lilypond -La @var{durata} può avere qualsiasi valore inferiore a quello di una misura intera: +Quando si usa @code{\partial} dopo l'inizio di una partitura, la +@var{durata} è la lunghezza @emph{rimanente} della misura corrente. +Non crea una battuta con un nuovo numero. @lilypond[quote,verbatim,relative=1] -\time 3/4 +\set Score.barNumberVisibility = #all-bar-numbers-visible +\override Score.BarNumber.break-visibility = + #end-of-line-invisible +\time 9/8 +d'4.~ 4 d8 d( c) b | c4.~ 4. \bar "||" +\time 12/8 \partial 4. -r4 e8 | a4 c8 b c4 | +c8( d) e | f2.~ 4 f8 a,( c) f | @end lilypond -L'espressione @code{\partial @var{durata}} si può scrivere anche così: - -@example -\set Timing.measurePosition -@var{durata} -@end example - -Quindi l'esempio precedente può essere scritto così: +Il comando @code{\partial} è @emph{obbligatorio} quando l'indicazione +di tempo cambia in mezzo a una misura, ma si può usare anche da solo. @lilypond[quote,verbatim,relative=1] -\time 3/4 -\set Timing.measurePosition = #(ly:make-moment -1/8) -e8 | a4 c8 b c4 | +\set Score.barNumberVisibility = #all-bar-numbers-visible +\override Score.BarNumber.break-visibility = + #end-of-line-invisible +\time 6/8 +\partial 8 +e8 | a4 c8 b[ c b] | +\partial 4 +r8 e,8 | a4 \bar "||" +\partial 4 +r8 e8 | a4 +c8 b[ c b] | @end lilypond -La proprietà @code{measurePosition} contiene un numero razionale, solitamente -positivo, che indica la durata corrispondente alla parte di misura trascorsa. -Il comando @code{\partial @var{durata}} lo imposta su un numero negativo -quando ha un senso diverso: in quel caso significa che la battuta corrente -(la prima) sarà @emph{preceduta} da una battuta 0 (la battuta parziale) -della durata indicata da @var{durata}. +Il comando @code{\partial} imposta la proprietà @code{Timing.measurePosition}, +che è un numero razionale che indica quanto tempo della misura è trascorsa. @seealso Glossario musicale: @@ -1442,20 +1460,6 @@ Frammenti di codice: Guida al funzionamento interno: @rinternals{Timing_translator}. -@knownissues -Il comando @code{\partial} deve essere collocato solo all'inizio di un -brano. Se è posto dopo l'inizio, il programma potrebbe produrre degli -avvisi o si potrebbero verificare problemi, dunque si consiglia di -usare @code{\set Timing.measurePosition} al suo posto. - -@lilypond[quote,verbatim,relative=1] -\time 6/8 -\partial 8 -e8 | a4 c8 b[ c b] | -\set Timing.measurePosition = #(ly:make-moment -1/4) -r8 e,8 | a4 c8 b[ c b] | -@end lilypond - @node Musica in tempo libero @unnumberedsubsubsec Musica in tempo libero @@ -1601,7 +1605,7 @@ di musica in tempo libero è necessario inserire manualmente delle stanghette @cindex indicazioni polimetriche @cindex indicazioni di tempo polimetrico @cindex polimetriche, indicazioni -@cindex tempo, polimetrico +@cindex tempo polimetrico @funindex timeSignatureFraction @funindex \scaleDurations @@ -1804,13 +1808,46 @@ della stanghetta e inseriscono le legature di valore. Uno dei suoi usi possibil è la verifica di partiture complesse: se le misure non sono riempite interamente, le legature di valore mostrano esattamente di quanto è ecceduta ogni misura. +La proprietà @code{completionUnit} imposta la durata preferita per le note +divise. + +@lilypond[quote,verbatim,relative=2] +\new Voice \with { + \remove "Note_heads_engraver" + \consists "Completion_heads_engraver" +} { + \time 9/8 g\breve. d4. \bar "||" + \set completionUnit = #(ly:make-moment 3 8) + g\breve. d4. +} +@end lilypond + +Questi incisori dividono le note che hanno una durata ridimensionata, come +quelle dei gruppi irregolari, in note con lo stesso fattore di ridimensionamento +della nota di input. + +@lilypond[quote,verbatim,relative=2] +\new Voice \with { + \remove "Note_heads_engraver" + \consists "Completion_heads_engraver" +} { + \time 2/4 r4 + \tuplet 3/2 {g4 a b} + \scaleDurations 2/3 {g a b} + g4*2/3 a b + \tuplet 3/2 {g4 a b} + r4 +} +@end lilypond + + @seealso Glossario musicale: @rglosnamed{tie,legatura di valore} Manuale di apprendimento: -@rlearning{Engravers explained}, -@rlearning{Adding and removing engravers}. +@rlearning{Gli incisori}, +@rlearning{Aggiungere e togliere gli incisori}. Frammenti di codice: @rlsr{Rhythms}. @@ -1823,12 +1860,12 @@ Guida al funzionamento interno: @rinternals{Forbid_line_break_engraver}. @knownissues -Non tutte le durate (specialmente quelle che contengono gruppi irregolari) possono -essere rappresentate esattamente con normali note e punti, ma l'incisore -@code{Completion_heads_engraver} non inserirà gruppi irregolari. - -L'incisore @code{Completion_heads_engraver} ha effetto solo sulle note, non -divide le pause. +In accordo col comportamento precedente, note e pause la cui durata è +più lunga di una misura, come @code{c1*2}, sono divise in note prive +di fattore di ridimensionamento, @code{@{ c1 c1 @}}. La proprietà +@code{completionFactor} controlla questo comportamento e impostandola +su @code{#f} fa sì che le note e le pause divise abbiano il fattore di +ridimensionamento delle durate di input. @node Mostrare i ritmi della melodia @@ -2036,6 +2073,7 @@ non inizia la @emph{successiva}, nuova travatura. @funindex autoBeaming @funindex baseMoment @funindex beamExceptions +@funindex \beamExceptions @funindex beatStructure @funindex measureLength @funindex \time @@ -2177,44 +2215,23 @@ Le regole speciali di disposizione automatica delle travature (diverse da quelle che determinano la corrispondenza della travatura alla suddivisione) sono definite nella proprietà @code{beamExceptions}. +Il valore di @code{beamExceptions}, una struttura dati Scheme piuttosto +complessa, è più facile da generare con la funzione @code{\beamExceptions}. +A tale funzione viene passato uno o più schemi ritmici della misura, +specificati con travature manuali. Le misure devono essere separate da +un controllo di battuta@tie{}@code{|} dato che la funzione non ha altro +modo per determinare la lunghezza della misura. Ecco un semplice esempio: + @lilypond[quote,relative=2,verbatim] \time 3/16 \set Timing.beatStructure = #'(2 1) \set Timing.beamExceptions = - #'( ;inizio della lista di associazioni (alist) - (end . ;estremità delle travature - ( ;inizio della lista che indica gli estremi - ((1 . 32) . (2 2 2)) ;regola per le travature da 1/32 -- termina ognuna a 1/16 - ))) %chiude tutti gli elementi + \beamExceptions { 32[ 32] 32[ 32] 32[ 32] } c16 c c | \repeat unfold 6 { c32 } | @end lilypond -@code{beamExceptions} è una lista di associazioni (@emph{alist}) che ha una -chiave che indica il tipo di regola e un valore che esprime le regole di -disposizione delle travature. - -Al momento l'unico tipo di regola disponibile è @code{'end}, che specifica -il termine della travatura. - -Le regole di disposizione delle travature sono una lista di associazione scheme -(o lista di coppie) che indica il tipo di travatura e la modalità di raggruppamento -da applicare alle travature contenenti note dalla durata più breve del tipo -di travatura a loro assegnato. - -@example -#'((travatura-1 . raggruppamento-1) - (travatura-2 . raggruppamento-2) - (travatura-3 . raggruppamento-3)) -@end example - -Il tipo di travatura è una coppia scheme che indica la durata della travatura, -ad esempio @code{(1 . 16)}. - -Il raggruppamento è una lista scheme che indica il raggruppamento da usare -per la travatura; ha come unità la durata specificata nel tipo di travatura. - -@warning{ Il valore di @code{beamExceptions} deve essere una lista @emph{completa} +@warning{Il valore di @code{beamExceptions} deve essere una lista @emph{completa} di eccezioni, ovvero bisogna includere tutte le eccezioni che si vogliono applicare. Non è possibile aggiungere, rimuovere o modificare soltanto una eccezione. Anche se questo può sembrare scomodo, significa anche che @@ -2387,6 +2404,7 @@ un solo rigo. \time 3/4 \set Timing.baseMoment = #(ly:make-moment 1/8) \set Timing.beatStructure = #'(1 5) + \set Timing.beamExceptions = #'() \repeat unfold 6 { a8 } } \new Staff { @@ -3494,6 +3512,12 @@ corrispondente negli altri righi. Riprendendo l'esempio precedente >> @end lilypond +L'uso del comando @code{\grace} nella parte con le pause spaziatrici è +obbligatorio, anche se la parte visibile usa @code{\acciaccatura} o +@code{\appoggiatura}, perché altrimenti apparirà un orribile frammento +di legatura di portamento che connette la nota di abbellimento invisibile +alla nota seguente. + L'uso degli abbellimenti all'interno dei contesti della voce confonde il modo in cui la voce viene rappresentata. Si può evitare il problema inserendo una pausa o una nota tra il comando della voce e l'abbellimento. diff --git a/Documentation/it/notation/simultaneous.itely b/Documentation/it/notation/simultaneous.itely index 18fbf44508..5f7f3d9150 100644 --- a/Documentation/it/notation/simultaneous.itely +++ b/Documentation/it/notation/simultaneous.itely @@ -1,6 +1,6 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*- @ignore - Translation of GIT committish: 45dd19546e9b75b3e1e977732f0962f35dd3290e + Translation of GIT committish: 01980ec7e46ccd03ff7a379b6299842d788b8f8a When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -160,6 +160,7 @@ i @ref{Clusters}. @cindex accordo, ripetizione @cindex ripetizione, uso di @code{q} +@cindex @code{q}, ripetizione accordo Per inserire la musica più rapidamente, si può usare una scorciatoia che ripete l'accordo precedente. Il simbolo di ripetizione dell'accordo è @code{q}: @@ -297,10 +298,8 @@ interpretate in voci diverse. @cindex collisioni, ignorare @knownissues -Se le note appartenenti a due o più voci, con gambi nella stessa direzione, si -trovano nello stesso punto del rigo e non è stato specificato uno spostamento -orizzontale (oppure è stato specificato lo stesso valore per lo spostamento), -il messaggio: +Se le note appartenenti a due o più voci, senza che sia stato specificato +uno spostamento, hanno i gambi nella stessa direzione, il messaggio @example attenzione: troppe collisioni tra colonne di note, ignorate @@ -417,7 +416,7 @@ automaticamente per evitare collisioni. Il comando @code{\oneVoice} ripristina tutte le impostazioni della voce alle direzioni neutrali predefinite. -@subsubsubheading Pasaggi polifonici temporanei +@subsubsubheading Passaggi polifonici temporanei Un passaggio polifonico temporaneo si può creare col seguente costrutto: diff --git a/Documentation/it/notation/specialist.itely b/Documentation/it/notation/specialist.itely new file mode 100644 index 0000000000..16165a2c68 --- /dev/null +++ b/Documentation/it/notation/specialist.itely @@ -0,0 +1,41 @@ +@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*- +@ignore + Translation of GIT committish: 26a079ca2393d053315ef8dbef626c897dc9645a + + 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.16.0" + +@node Notazione specialistica +@chapter Notazione specialistica +@translationof Specialist notation + +Questo capitolo spiega come creare la notazione musicale per particolari +tipi di strumento o per stili specifici. + +@menu +* Musica vocale:: +* Keyboard and other multi-staff instruments:: +* Unfretted string instruments:: +* Fretted string instruments:: +* Percussion:: +* Wind instruments:: +* Chord notation:: +* Contemporary music:: +* Ancient notation:: +* World music:: +@end menu + +@include notation/vocal.itely +@include notation/keyboards.itely +@include notation/unfretted-strings.itely +@include notation/fretted-strings.itely +@include notation/percussion.itely +@include notation/wind.itely +@include notation/chords.itely +@include notation/contemporary.itely +@include notation/ancient.itely +@include notation/world.itely diff --git a/Documentation/it/notation/staff.itely b/Documentation/it/notation/staff.itely index cc3dfb4285..fc031a1d30 100644 --- a/Documentation/it/notation/staff.itely +++ b/Documentation/it/notation/staff.itely @@ -1,6 +1,6 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*- @ignore - Translation of GIT committish: 9b0c8394bbd8510cfc39c40342879703a4b3d2c1 + Translation of GIT committish: 38a17c6133689ec42e6b8ecca925be59f3b78962 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -280,9 +280,6 @@ Guida al funzionamento interno: @rinternals{SystemStartBracket}, @rinternals{SystemStartSquare}. -@knownissues -@code{PianoStaff} non accetta @code{ChordNames}. - @node Gruppi di righi annidati @unnumberedsubsubsec Gruppi di righi annidati @@ -624,9 +621,7 @@ righi ossia. \new Staff \with { \remove "Time_signature_engraver" alignAboveContext = #"main" - fontSize = #-3 - \override StaffSymbol.staff-space = #(magstep -3) - \override StaffSymbol.thickness = #(magstep -3) + \magnifyStaff #2/3 firstClef = ##f } { e4 d f e } @@ -647,9 +642,7 @@ esempio. \new Staff = "ossia" \with { \remove "Time_signature_engraver" \hide Clef - fontSize = #-3 - \override StaffSymbol.staff-space = #(magstep -3) - \override StaffSymbol.thickness = #(magstep -3) + \magnifyStaff #2/3 } { \stopStaff s1*6 } @@ -685,9 +678,7 @@ su @code{\Staff \RemoveEmptyStaves} si trovano in @ref{Hiding staves}. \new Staff = "ossia" \with { \remove "Time_signature_engraver" \hide Clef - fontSize = #-3 - \override StaffSymbol.staff-space = #(magstep -3) - \override StaffSymbol.thickness = #(magstep -3) + \magnifyStaff #2/3 } \relative c'' { R1*3 c4 e8 d c2 diff --git a/Documentation/it/notation/text.itely b/Documentation/it/notation/text.itely index 863ff5b3e9..ba65cd4683 100644 --- a/Documentation/it/notation/text.itely +++ b/Documentation/it/notation/text.itely @@ -1,6 +1,6 @@ @c -*- coding: utf-8; mode: texinfo; -*- @ignore - Translation of GIT committish: 354e5ce3edd1dba03b4ecb68fc766bb46235f5d2 + Translation of GIT committish: 2583260566074fd263a84d515ef637267563d371 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -1134,9 +1134,10 @@ Una lista completa dei comandi specifici per la grafica si trova in @seealso Guida alla notazione: -@ref{Graphic}, +@ref{Align}, +@ref{Dimensions}, @ref{Editorial annotations}, -@ref{Align}. +@ref{Graphic}. File installati: @file{scm/define-markup-commands.scm}, @@ -1503,8 +1504,8 @@ a1_\markup { @funindex show-available-fonts -Il seguente comando mostra un elenco di tutti i tipi di carattere disponibili -nel sistema operativo: +Lanciando lilypond con la seguente opzione si ottiene un elenco di tutti i +tipi di carattere disponibili nel sistema operativo: @example lilypond -dshow-available-fonts x @@ -1564,4 +1565,3 @@ Guida alla notazione: @ref{Single entry fonts}, @ref{Selecting font and font size}, @ref{Font}. - diff --git a/Documentation/it/notation/vocal.itely b/Documentation/it/notation/vocal.itely new file mode 100644 index 0000000000..e1537f6551 --- /dev/null +++ b/Documentation/it/notation/vocal.itely @@ -0,0 +1,3417 @@ +@c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*- +@ignore + Translation of GIT committish: 85911b93739aed7bb9858ac950e975cd1343bfe6 + + 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.19.2" + +@c Translators: Federico Bruni +@c Translation checkers: + +@node Musica vocale +@section Musica vocale +@translationof Vocal music + +@lilypondfile[quote]{vocal-headword.ly} + +Questa sezione spiega come scrivere la musica vocale e assicurarsi che +il testo sia allineato con le note della melodia. + +@menu +* Notazione comune per la musica vocale:: +* Tecniche specifiche per il testo vocale:: +* Strofe:: +* Canzoni:: +* Musica corale:: +* Opera e musical:: +* Canti salmi e inni:: +* Musica vocale antica:: + +@end menu + + +@node Notazione comune per la musica vocale +@subsection Notazione comune per la musica vocale +@translationof Common notation for vocal music + +Questa sezione tratta le questioni relative alla maggior parte +delle tipologie di musica vocale. + +@menu +* Riferimenti per la musica vocale:: +* Inserimento del testo vocale:: +* Allineamento del testo alla melodia:: +* Durate automatiche delle sillabe:: +* Durate manuali delle sillabe:: +* Più sillabe in una nota:: +* Più note in una sillaba:: +* Estensori e trattini:: +@end menu + + +@node Riferimenti per la musica vocale +@unnumberedsubsubsec Riferimenti per la musica vocale +@translationof References for vocal music + +Questa sezione indica dove trovare informazioni dettagliate +sulle questioni comuni a qualsiasi tipo di musica vocale. + +@itemize + +@item +La maggior parte degli stili di musica vocale usa il testo +semplice per le parti vocali. Un'introduzione a questo tipo +di notazione è disponibile in @rlearning{Impostare canzoni semplici}. + +@item +La musica vocale richiede solitamente l'uso della modalità +@code{markup}, sia per il testo musicale che per altri elementi +testuali (i nomi dei personaggi, etc.). Questa sintassi è +spiegata in @ref{Text markup introduction}. + +@item +L'@notation{Ambitus} può essere aggiunto all'inizio dei righi per +la voce, come è spiegato in @ref{Ambitus}. + +@item +Le indicazioni dinamiche sono di norma posizionate sotto il rigo, +ma nella musica corale sono posizionate solitamente sopra il +rigo per evitare il testo, come è spiegato in @ref{Score layouts for choral}. + +@end itemize + +@seealso +Glossario musicale: +@rglos{ambitus}. + +Manuale di apprendimento: +@rlearning{Impostare canzoni semplici}. + +Guida alla notazione: +@ref{Text markup introduction}, +@ref{Ambitus}, +@ref{Score layouts for choral}. + +Frammenti: +@rlsr{Vocal music}. + + +@node Inserimento del testo vocale +@unnumberedsubsubsec Inserimento del testo vocale +@translationof Entering lyrics + +@cindex testo, inserimento +@cindex inserimento del testo +@cindex formattazione nel testo vocale +@cindex testo vocale, formattazione +@cindex punteggiatura nel testo vocale +@cindex testo vocale, punteggiatura +@cindex spazi nel testo vocale +@cindex testo vocale, spazi +@cindex citazioni nel testo vocale +@cindex testo vocale, citazioni +@funindex \lyricmode + +@c TODO should we explain hyphens here + +Il testo vocale viene inserito in una speciale modalità di input, che +può essere introdotta dai comandi @code{\lyricmode}, @code{\addlyrics} o +@code{\lyricsto}. In questa speciale modalità, l'input @code{d} non +viene analizzato come l'altezza @notation{Re}, ma come una sillaba di +una lettera. In altre parole, le sillabe si inseriscono come le note, +ma le altezze sono sostituite dal testo. + +Per esempio: + +@example +\lyricmode @{ Three4 blind mice,2 three4 blind mice2 @} +@end example + +Ci sono due metodi principali per determinare il posizionamento +orizzontale delle sillabe. Si può indicare la durata di ogni +sillaba esplicitamente, come nell'esempio precedente; oppure +si può lasciare che il testo sia allineato automaticamente a +una melodia o a un'altra voce del brano, usando @code{\addlyrics} o +@code{\lyricsto}. Il primo metodo è descritto sotto in +@ref{Manual syllable durations}; il secondo in +@ref{Automatic syllable durations}. + +Una parola o sillaba del testo inizia con un carattere alfabetico +(seguito da altri caratteri, vedi dopo) ed è terminata da uno +spazio bianco o da un numero. I caratteri successivi al primo +nella sillaba possono essere un qualsiasi carattere che non sia +un numero o uno spazio bianco. + +Dato che qualsiasi carattere che non sia un numero o uno spazio +viene considerato come parte della sillaba, una parola è valida +anche se finisce con @code{@}}, causando spesso il seguente errore: + +@example +\lyricmode @{ lah lah lah@} +@end example + +In questo esempio, la parentesi @code{@}} è inclusa nella sillaba finale, +dunque +la parentesi iniziale non viene chiusa e la compilazione del file +probabilmente non riuscirà. Le parentesi devono quindi essere +sempre circondate da uno spazio: + +@example +\lyricmode @{ lah lah lah @} +@end example + +La punteggiatura, i caratteri accentati, quelli di lingue diverse +dall'inglese e i caratteri speciali (come il simbolo del cuore o +le virgolette oblique) possono essere inseriti direttamente +nel file di input, purché sia salvato nella codifica UTF-8. +Ulteriori informazioni in @ref{Special characters}. + +@lilypond[quote,verbatim] +\relative c'' { d8 c16 a bes8 f e' d c4 } +\addlyrics { „Schad’ um das schö -- ne grü -- ne Band, } +@end lilypond + +Le virgolette normali possono essere usate nel testo vocale, ma +devono essere precedute da un carattere di barra inversa e l'intera +sillaba deve essere racchiusa tra altre virgolette. Per esempio, + +@lilypond[quote,verbatim] +\relative c' { \time 3/4 e4 e4. e8 d4 e d c2. } +\addlyrics { "\"I" am so lone -- "ly,\"" said she } +@end lilypond + +La definizione completa di come può iniziare una parola nella modalità +testo è un po' più complessa. Può iniziare con un carattere alfabetico, +@code{_}, @code{?}, @code{!}, @code{:}, @code{'}, i caratteri di controllo +@code{^A} fino a @code{^F}, @code{^Q} fino a @code{^W}, @code{^Y}, +@code{^^}, qualsiasi carattere a 8-bit con un codice ASCII superiore a +127 oppure una combinazione a due caratteri di una barra inversa +seguita da @code{`}, @code{'}, @code{"} o @code{^}. + +@c " to balance double quotes for not-so-bright context-sensitive editors + +Per avere un maggior controllo sull'aspetto del testo si può usare +@code{\markup} all'interno del testo. Per una spiegazione delle +molte opzioni disponibili leggere @ref{Formatting text}. + +@snippets + +@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] +{formatting-lyrics-syllables.ly} + + +@seealso +Manuale di apprendimento: +@rlearning{Canzoni}. + +Guida alla notazione: +@ref{Automatic syllable durations}, +@ref{Fonts}, +@ref{Formatting text}, +@ref{Input modes}, +@ref{Manual syllable durations}, +@ref{Special characters}. + +Guida al funzionamento interno: +@rinternals{LyricText}. + +Frammenti: +@rlsr{Text}. + + +@node Allineamento del testo alla melodia +@unnumberedsubsubsec Allineamento del testo alla melodia +@translationof Aligning lyrics to a melody + +@cindex testo vocale, allineamento a una melodia +@cindex @code{associatedVoice} +@funindex \lyricmode +@funindex \addlyrics +@funindex \lyricsto + +Il testo vocale viene interpretato in @code{\lyricmode} e stampato in un +contesto @code{Lyrics}, vedi @ref{Contexts explained}. + +@example +\new Lyrics \lyricmode @{ @dots{} @} +@end example + +Due varianti di @code{\lyricmode} impostano un contesto associato +usato per sincronizzare le sillabe del testo con la musica. Il più +comodo @code{\addlyrics} segue immediatamente il contenuto musicale +del contesto della voce con cui deve essere sincronizzato, creando +implicitamente un contesto Lyrics. Il più versatile @code{\lyricsto} +richiede sia di specificare il contesto della voce associata con un +nome sia di creare esplicitamente un contesto Lyrics che contenga il +testo. Maggiori dettagli in @ref{Automatic syllable durations}. + +Ci sono due modi per allineare il testo a una melodia: + +@itemize + +@item +Il testo può essere allineato automaticamente in modo che le +durate delle sillabe siano prese da un'altra voce o (in +circostanze speciali) da una melodia associata, usando +@code{\addlyrics}, @code{\lyricsto} o impostando la proprietà +@code{associatedVoice}. Ulteriori informazioni in +@ref{Automatic syllable durations}. + +@lilypond[quote,ragged-right,verbatim] +<< + \new Staff << + \time 2/4 + \new Voice = "one" \relative c'' { + \voiceOne + c4 b8. a16 g4. r8 a4 ( b ) c2 + } + \new Voice = "two" \relative c' { + \voiceTwo + s2 s4. f8 e4 d c2 + } + >> + +% prende le durate e l'allineamento dalle note in "one" + \new Lyrics \lyricsto "one" { + Life is __ _ love, live __ life. + } + +% prende le durate e l'allineamento dalle note in "one" inizialmente +% poi passa a "two" + \new Lyrics \lyricsto "one" { + No more let + \set associatedVoice = "two" % deve essere impostato prima della sillaba + sins and sor -- rows grow. + } +>> +@end lilypond + +La prima strofa mostra il modo normale di inserire il testo. + +La seconda strofa mostra come cambiare la voce da cui prendere +le durate per le sillabe del testo. Ciò è utile se le parole +di strofe diverse si distribuiscono lungo le note in modo differente e +tutte le durate sono disponibili nei contesti della voce. Ulteriori +dettagli in @ref{Stanzas}. + +@item +Il testo può essere allineato indipendentemente dalla durata +delle note se le durate delle sillabe vengono specificate esplicitamente +e inserite con @code{\lyricmode}. + +@lilypond[quote,ragged-right,verbatim] +<< + \new Voice = "one" \relative c'' { + \time 2/4 + c4 b8. a16 g4. f8 e4 d c2 + } + +% usa la durata esplicita precedente di 2; + \new Lyrics \lyricmode { + Joy to the earth! + } + +% durate esplicite, impostate su un ritmo diverso + \new Lyrics \lyricmode { + Life4 is love,2. live4 life.2 + } +>> +@end lilypond + +La prima strofa non è allineata con le note perché le durate non +sono state specificate, e il valore precedente di 2 viene usato +per ogni parola. + +La seconda strofa mostra come le parole possano essere allineate +in modo del tutto indipendente dalle note. Ciò è utile se le +parole di strofe diverse si distribuiscono lungo le note in modo differente +e le durate necessarie non sono disponibili in un contesto musicale. +Ulteriori dettagli in @ref{Manual syllable durations}. Questa tecnica +è utile anche quando si imposta un dialogo sopra una musica, come +si può vedere negli esempi in @ref{Dialogue over music}. + +@end itemize + +@seealso +Manuale di apprendimento: +@rlearning{Allineare il testo alla melodia}. + +Guida alla notazione: +@ref{Contexts explained}, +@ref{Automatic syllable durations}, +@ref{Stanzas}, +@ref{Manual syllable durations}, +@ref{Dialogue over music}, +@ref{Manual syllable durations}. + +Guida al funzionamento interno: +@rinternals{Lyrics}. + + +@node Durate automatiche delle sillabe +@unnumberedsubsubsec Durate automatiche delle sillabe +@translationof Automatic syllable durations + +@cindex sillabe, durata automatica +@cindex testo vocale e melodie +@cindex associatedVoice +@funindex \addlyrics +@funindex \lyricsto + +Il testo vocale può essere allineato automaticamente alle note di +una melodia in tre modi: + +@itemize + +@item +specificando il nome del contesto Voice contenente la melodia +con @code{\lyricsto}, + +@item +introducendo il testo con @code{\addlyrics} e inserendolo subito +dopo il contesto Voice contenente la melodia, + +@item +impostando la proprietà @code{associatedVoice}, l'allineamento del +testo può essere cambiato su un contesto Voice con un nome diverso +in qualsiasi momento musicale. + +@end itemize + +In tutti questi tre metodi è possibile disegnare dei trattini tra +le sillabe di una parole e delle linee di estensione oltre la +fine di una parola. Maggiori dettagli in @ref{Extenders and hyphens}. + +Il contesto @code{Voice} contenente la melodia al quale il testo si +deve allineare non deve essere @qq{morto}, altrimenti +il testo successivo a quel punto verrà perduto. Questo può accadere +se ci sono dei momenti in cui quella voce non ha nulla da fare. +Metodi per mantenere attivi i contesti sono descritti in +@ref{Keeping contexts alive}. + +@subheading Uso di @code{\lyricsto} + +@cindex \lyricsto +@funindex \lyricsto + +Il testo vocale può essere allineato a una melodia automaticamente +specificando il nome del contesto voce con @code{\lyricsto}: + +@lilypond[quote,verbatim,relative=2] +<< + \new Voice = "melody" { + a1 a4. a8 a2 + } + \new Lyrics \lyricsto "melody" { + These are the words + } +>> +@end lilypond + +@noindent +In questo modo il testo viene allineato alle note del contesto @code{Voice} +con quel nome, che deve già esistere. Ecco perché di solito il contesto +@code{Voice} viene indicato prima, seguito dal contesto @code{Lyrics}. +Il testo segue il comando @code{\lyricsto}. Il comando @code{\lyricsto} +invoca la modalità testo automaticamente. Per impostazione predefinita, +il testo viene posizionato sotto le note. Altri posizionamenti sono +descritti in @ref{Placing lyrics vertically}. + +@subheading Uso di @code{\addlyrics} + +@cindex \addlyrics +@funindex \addlyrics + +Il comando @code{\addlyrics} è solo una comoda scorciatoia da usare +per evitare di impostare il testo tramite una struttura più complessa. + +@example +@{ MUSICA @} +\addlyrics @{ TESTO VOCALE @} +@end example + +@noindent +equivale a + +@example +\new Voice = "blah" @{ MUSICA @} +\new Lyrics \lyricsto "blah" @{ TESTO VOCALE @} +@end example + +Ecco un esempio, + +@lilypond[verbatim,quote] +{ + \time 3/4 + \relative c' { c2 e4 g2. } + \addlyrics { play the game } +} +@end lilypond + +Si possono aggiungere più strofe aggiungendo più sezioni +@code{\addlyrics}: + + +@lilypond[ragged-right,verbatim,quote] +{ + \time 3/4 + \relative c' { c2 e4 g2. } + \addlyrics { play the game } + \addlyrics { speel het spel } + \addlyrics { joue le jeu } +} +@end lilypond + +Il comando @code{\addlyrics} non può gestire le impostazioni +polifoniche. Inoltre non può essere usato per associare il +testo alla voce per intavolatura (@code{TabVoice}). +In questi casi bisogna usare @code{\lyricsto}. + +@subheading Uso di associatedVoice + +La melodia a cui allineare il testo vocale può essere cambiata +impostando la proprietà @code{associatedVoice}, + +@example +\set associatedVoice = #"lala" +@end example + +@noindent + +Il valore della proprietà (qui: @code{"lala"}) deve essere il nome +di un contesto @code{Voice}. Per ragioni tecniche, il comando @code{\set} +deve essere posizionato una sillaba prima prima di quella alla quale +si riferisce il cambio di voce. + +Ecco un esempio che ne dimostra l'utilizzo: + +@lilypond[quote,ragged-right,verbatim] +<< + \new Staff << + \time 2/4 + \new Voice = "one" \relative c'' { + \voiceOne + c4 b8. a16 g4. r8 a4 ( b ) c2 + } + \new Voice = "two" \relative c' { + \voiceTwo + s2 s4. f8 e8 d4. c2 + } + >> +% inizialmente prende le note e le durate da "one" +% poi passa a "two" + \new Lyrics \lyricsto "one" { + No more let + \set associatedVoice = "two" % must be set one syllable early + sins and sor -- rows grow. + } +>> +@end lilypond + +@seealso +Guida alla notazione: +@ref{Extenders and hyphens}, +@ref{Keeping contexts alive}, +@ref{Placing lyrics vertically}. + + +@node Durate manuali delle sillabe +@unnumberedsubsubsec Durate manuali delle sillabe +@translationof Manual syllable durations + +In alcune musiche vocali complesse, si potrebbe voler posizionare +il testo in modo totalmente indipendente dalle note. In tali casi +non bisogna usare @code{\lyricsto} o @code{\addlyrics} e nemmeno +impostare @code{associatedVoice}. Le sillabe verranno invece +inserite come se fossero note, ma col testo al posto delle altezze, +e la durata di ogni sillaba sarà indicata esplicitamente dopo la +sillaba. + +Si possono mostrare le linee tratteggiate tra le sillabe come sempre, +mentre le linee di estensione non appaiono se non c'è una voce associata. + +Ecco due esempi: + +@lilypond[relative=1,verbatim,quote] +<< + \new Voice = "melody" { + c'2 a f f e e + } + \new Lyrics \lyricmode { + c4. -- a -- f -- f -- e2. -- e + } +>> +@end lilypond + + +@lilypond[quote,verbatim,ragged-right] +<< + \new Staff { + \relative c'' { + c2 c2 + d1 + } + } + \new Lyrics { + \lyricmode { + I2 like4. my8 cat!1 + } + } + \new Staff { + \relative c' { + c8 c c c c c c c + c8 c c c c c c c + } + } +>> +@end lilypond + +Questa tecnica è utile quando si scrivono dialoghi , vedi +@ref{Dialogue over music}. + +Per cambiare l'allineamento delle sillabe, basta impostare la +proprietà @code{self-alignment-X}: + +@lilypond[relative=1,verbatim,quote] +<< + \new Voice = "melody" { + \time 3/4 + c2 e4 g2 f + } + \new Lyrics \lyricmode { + \override LyricText.self-alignment-X = #LEFT + play1 a4 game4 + } +>> +@end lilypond + + +@seealso +Guida alla notazione: +@ref{Dialogue over music}. + +Guida al funzionamento interno: +@rinternals{Lyrics}, +@rinternals{Voice}. + + +@node Più sillabe in una nota +@unnumberedsubsubsec Più sillabe in una nota +@translationof Multiple syllables to one note + +@funindex _ +@cindex spazi, nel testo vocale +@cindex virgolette, nel testo vocale +@cindex legature, nel testo vocale + +Per assegnare più di una sillaba a una singola nota mantenendo uno +spazio tra le sillabe, occorre mettere la frase tra virgolette o +usare il carattere @code{_}. Altrimenti si può usare il simbolo +tilde (@code{~}) per ottenere una legatura di valore per il testo. + +@lilypond[quote,ragged-right,verbatim,relative=2] +{ + { \autoBeamOff + r8 b c fis, fis c' b e, + } + \addlyrics + { + \override LyricHyphen.minimum-distance = #1.0 % Ensure hyphens are visible + Che_in ques -- ta_e_in quel -- l'al -- tr'on -- da + } + \addlyrics { "Che in" ques -- "ta e in" quel -- l'al -- tr'on -- da } + \addlyrics { Che~in ques -- ta~e~in quel -- l'al -- tr'on -- da } +} +@end lilypond + +@seealso +Guida al funzionamento interno: +@rinternals{LyricCombineMusic}. + + +@node Più note in una sillaba +@unnumberedsubsubsec Più note in una sillaba +@translationof Multiple notes to one syllable + +@cindex melisma +@cindex fraseggio, nel testo vocale +@funindex \melisma +@funindex \melismaEnd + +Talvolta, in particolare nella musica medievale e barocca, molte +note vengono cantate in una sillaba; si chiama melisma (vedi +@rglos{melisma}). La sillaba di un melisma viene solitamente +allineata a sinistra della prima nota del melisma. + +Quando un melisma si trova su una sillaba diversa dall'ultima in +una parola, quella sillaba di solito viene collegata a quella successiva +con una linea tratteggiata. Ciò si indica inserendo un doppio +trattino @w{@code{--}}, subito dopo la sillaba. + +Altrimenti, se un melisma si trova sull'ultima o unica sillaba in +una parola, solitamente appare una linea di estensione dalla fine +della sillaba all'ultima nota del melisma. Ciò si indica inserendo +un doppio trattino basso, @code{__}, subito dopo la parola. + +Esistono cinque modi per indicare i melismi: + +@itemize + +@item +I melismi vengono creati automaticamente sulle note legate insieme: + +@lilypond[quote,relative=2,verbatim] +<< + \new Voice = "melody" { + \time 3/4 + f4 g2 ~ | + 4 e2 ~ | + 8 + } + \new Lyrics \lyricsto "melody" { + Ky -- ri -- e __ + } +>> +@end lilypond + +@item +I melismi possono essere creati automaticamente dalla musica inserendo +delle legature di portamento sulle note di ogni melisma. Questo è +il modo più comune di inserire il testo: + +@lilypond[quote,relative=2,verbatim] +<< + \new Voice = "melody" { + \time 3/4 + f4 g8 ( f e f ) + e8 ( d e2 ) + } + \new Lyrics \lyricsto "melody" { + Ky -- ri -- e __ + } +>> +@end lilypond + +Attenzione: le legature di frase non causano la creazione di melismi. + +@item +Le note sono considerate un melisma se le loro travature sono +disposte manualmente, purché la travatura automatica sia disabilitata. +Vedi @ref{Setting automatic beam behavior}. + +@lilypond[quote,relative=2,verbatim] +<< + \new Voice = "melody" { + \time 3/4 + \autoBeamOff + f4 g8[ f e f] + e2. + } + \new Lyrics \lyricsto "melody" { + Ky -- ri -- e + } +>> +@end lilypond + +Ovviamente ciò non è adatto ai melismi su note più lunghe degli ottavi. + +@item +Un gruppo di note privo di legature sarà trattato come un melisma +se sono comprese tra @code{\melisma} @code{\melismaEnd}. + +@lilypond[quote,relative=2,verbatim] +<< + \new Voice = "melody" { + \time 3/4 + f4 g8 + \melisma + f e f + \melismaEnd + e2. + } + \new Lyrics \lyricsto "melody" { + Ky -- ri -- e + } +>> +@end lilypond + +@item +Un melisma può essere definito interamente nel testo inserendo un +solo trattino basso, @code{_}, per ogni nota ulteriore da aggiungere +al melisma. + +@lilypond[verbatim, quote, relative=2] +<< + \new Voice = "melody" { + \time 3/4 + f4 g8 f e f + e8 d e2 + } + \new Lyrics \lyricsto "melody" { + Ky -- ri -- _ _ _ e __ _ _ + } +>> +@end lilypond + +@end itemize + +È possibile avere legature di portamento e di valore e travature manuali +nella melodia senza che indichino i melismi. Per farlo si imposta +@code{melismaBusyProperties}: + +@lilypond[relative=1,verbatim,quote] +<< + \new Voice = "melody" { + \time 3/4 + \set melismaBusyProperties = #'() + c4 d ( e ) + g8 [ f ] f4 ~ 4 + } + \new Lyrics \lyricsto "melody" { + Ky -- ri -- e e -- le -- i -- son + } +>> +@end lilypond + +Altre impostazioni di @code{melismaBusyProperties} possono essere +usate per includere o escludere selettivamente legature di valore +e di portamento e travature dal rilevamento automatico del melisma; +consultare @code{melismaBusyProperties} in @rinternals{Tunable context properties}. + +Altrimenti, se si vuole ignorare tutte le indicazioni di melisma, basta +impostare @code{ignoreMelismata} su vero; vedi @ref{Stanzas with different rhythms}. + +Se un melisma è necessario in un passaggio in cui @code{melismaBusyProperties} +è attivo, lo si può indicare inserendo un singolo trattino basso nel testo +per ogni nota che debba essere inclusa nel melisma: + +@lilypond[relative=1,verbatim,quote] +<< + \new Voice = "melody" { + \time 3/4 + \set melismaBusyProperties = #'() + c4 d ( e ) + g8 [ f ] ~ f4 ~ 4 + } + \new Lyrics \lyricsto "melody" { + Ky -- ri -- _ e __ _ _ _ + } +>> +@end lilypond + + +@predefined + +@code{\autoBeamOff}, +@code{\autoBeamOn}, +@code{\melisma}, +@code{\melismaEnd}. + +@seealso +Glossario musicale: +@rglos{melisma}. + +Manuale di apprendimento: +@rlearning{Allineare il testo alla melodia}. + +Guida alla notazione: +@ref{Aligning lyrics to a melody}, +@ref{Automatic syllable durations}, +@ref{Setting automatic beam behavior}, +@ref{Stanzas with different rhythms}. + +Guida al funzionamento interno: +@rinternals{Tunable context properties}. + +@knownissues +Le linee di estensione sotto i melismi non vengono creati automaticamente; +devono essere inseriti a mano con un doppio trattino basso. + + +@node Estensori e trattini +@unnumberedsubsubsec Estensori e trattini +@translationof Extenders and hyphens + +@cindex melisma +@cindex estensore + +@c TODO cf Multiple notes to one syllable; should this be merged in? + +@c leave this as samp. -gp +Nell'ultima sillaba di una parola, i melismi sono talvolta indicati +con una lunga linea orizzontale che inizia dalla sillaba del melisma +e termina in quella successiva. Tale linea viene chiamata linea di +estensione e si inserisce con @samp{ __ } (notare gli spazi prima e +dopo i due caratteri). + +@warning{I melismi appaiono nella partitura come linee di estensione, +che si inseriscono con un doppio trattino basso; ma i melismi brevi +si possono inserire anche saltando note singole +but short melismata can +also be entered by skipping individual notes, which are entered as +single underscore characters; these do not make an extender line to be +typeset by default.} + +@cindex hyphens + +@c leave this as samp. -gp +Il trattino centrato si inserisce con @samp{ -- } tra le sillabe di +una stessa parola (notare gli spazi prima e dopo i due caratteri). +Il trattino sarà centrato tra le sillabe e la sua lunghezza sarà +regolata a seconda dello spazio tra le sillabe. + +Nelle partiture compresse i trattini possono essere eliminati. +Questo comportamento è controllato da due proprietà di @code{LyricHyphen}: +@code{minimum-distance} (distanza minima tra le due sillabe) e +@code{minimum-length} (soglia sotto la quale i trattini vengono rimossi). + +@seealso +Guida al funzionamento interno: +@rinternals{LyricExtender}, +@rinternals{LyricHyphen}. + + +@node Tecniche specifiche per il testo vocale +@subsection Tecniche specifiche per il testo vocale +@translationof Techniques specific to lyrics + +@c TODO this whole section is to be reorganised + +@menu +* Lavorare con testo e variabili:: +* Posizionamento verticale del testo:: +* Posizionamento orizzontale delle sillabe:: +* Testo e ripetizioni:: +* Testi alternati:: +* Polifonia con testo in comune:: +@end menu + + + +@node Lavorare con testo e variabili +@unnumberedsubsubsec Lavorare con testo e variabili +@translationof Working with lyrics and variables + +@cindex testo vocale, uso delle variabili + +Si possono creare delle variabili contenenti il testo vocale, ma questo +deve essere inserito in modalità testo vocale: + +@lilypond[quote,verbatim] +musicOne = \relative c'' { + c4 b8. a16 g4. f8 e4 d c2 +} +verseOne = \lyricmode { + Joy to the world, the Lord is come. +} +\score { + << + \new Voice = "one" { + \time 2/4 + \musicOne + } + \new Lyrics \lyricsto "one" { + \verseOne + } + >> +} +@end lilypond + +Non è necessario aggiungere le durate se la variabile viene richiamata +con @code{\addlyrics} o @code{\lyricsto}. +Se la musica ha un ordine diverso e più complesso, conviene definire +prima le variabili che contengono la musica e il testo, poi impostare +la gerarchia di righi e testo, omettendo il testo stesso, e infine +aggiungere il testo all'interno di un blocco @code{\context}. Ciò +garantisce che le voci richiamate da @code{\lyricsto} siano sempre +state definite prima. Per esempio: + +@lilypond[quote,verbatim] +sopranoMusic = \relative c'' { c4 c c c } +contraltoMusic = \relative c'' { a4 a a a } +sopranoWords = \lyricmode { Sop -- ra -- no words } +contraltoWords = \lyricmode { Con -- tral -- to words } + +\score { + \new ChoirStaff << + \new Staff { + \new Voice = "sopranos" { + \sopranoMusic + } + } + \new Lyrics = "sopranos" + \new Lyrics = "contraltos" + \new Staff { + \new Voice = "contraltos" { + \contraltoMusic + } + } + \context Lyrics = "sopranos" { + \lyricsto "sopranos" { + \sopranoWords + } + } + \context Lyrics = "contraltos" { + \lyricsto "contraltos" { + \contraltoWords + } + } + >> +} +@end lilypond + +@seealso +Guida alla notazione: +@ref{Placing lyrics vertically}. + +Guida al funzionamento interno: +@rinternals{LyricCombineMusic}, +@rinternals{Lyrics}. + + +@node Posizionamento verticale del testo +@unnumberedsubsubsec Posizionamento verticale del testo +@translationof Placing lyrics vertically + +@cindex posizionamento del testo +@cindex testo, posizionamento + +A seconda del tipo di musica, il testo può trovarsi sopra o sotto +il rigo oppure tra i righi. Posizionare il testo sotto il rigo +associato è il modo più semplice, infatti basta definire il +contesto @code{Lyrics} sotto il contesto @code{Staff}; + +@lilypond[quote,verbatim] +\score { + << + \new Staff { + \new Voice = "melody" { + \relative c'' { c4 c c c } + } + } + \new Lyrics { + \lyricsto "melody" { + Here are the words + } + } + >> +} +@end lilypond + +Per posizionare il testo sopra il rigo ci sono due metodi. Il metodo più +semplice (e preferito) consiste nell'usare la stessa sintassi precedente e +indicare in modo esplicito la posizione del testo: + +@lilypond[quote,verbatim] +\score { + << + \new Staff = "staff" { + \new Voice = "melody" { + \relative c'' { c4 c c c } + } + } + \new Lyrics \with { alignAboveContext = "staff" } { + \lyricsto "melody" { + Here are the words + } + } + >> +} +@end lilypond + +Altrimenti si possono usare due passaggi. Prima si dichiara il +contesto Lyrics (privo di contenuto) prima dei contesti Staff e +Voice, poi il comando @code{\lyricsto} viene posizionato dopo la +voce a cui si riferisce tramite @code{\context}. Ecco un esempio: + +@lilypond[quote,verbatim] +\score { + << + \new Lyrics = "lyrics" \with { + % il testo sopra un rigo deve avere questo override + \override VerticalAxisGroup.staff-affinity = #DOWN + } + \new Staff { + \new Voice = "melody" { + \relative c'' { c4 c c c } + } + } + \context Lyrics = "lyrics" { + \lyricsto "melody" { + Here are the words + } + } + >> +} +@end lilypond + +Quando ci sono due voci in righi separati, si può posizionare il testo +tra i righi usando uno di questi metodi. Ecco un esempio del secondo +metodo: + +@lilypond[quote,verbatim] +\score { + \new ChoirStaff << + \new Staff { + \new Voice = "sopranos" { + \relative c'' { c4 c c c } + } + } + \new Lyrics = "sopranos" + \new Lyrics = "contraltos" \with { + % il testo sopra un rigo deve avere questo override + \override VerticalAxisGroup.staff-affinity = #DOWN + } + \new Staff { + \new Voice = "contraltos" { + \relative c'' { a4 a a a } + } + } + \context Lyrics = "sopranos" { + \lyricsto "sopranos" { + Sop -- ra -- no words + } + } + \context Lyrics = "contraltos" { + \lyricsto "contraltos" { + Con -- tral -- to words + } + } + >> +} +@end lilypond + +Si possono generare altre combinazioni di testo e righi a partire +da questi esempi oppure studiando i modelli nel +Manuale di apprendimento, vedi @rlearning{Modelli per gruppi vocali}. + +@snippets +@lilypondfile[verbatim,quote,texidoc,doctitle] +{obtaining-2.12-lyrics-spacing-in-newer-versions.ly} + +@seealso +Manuale di apprendimento: +@rlearning{Modelli per gruppi vocali}. + +Guida alla notazione: +@ref{Context layout order}, +@ref{Creating and referencing contexts}. + + +@node Posizionamento orizzontale delle sillabe +@unnumberedsubsubsec Posizionamento orizzontale delle sillabe +@translationof Placing syllables horizontally + +@cindex spaziatura del testo +@cindex testo vocale, aumentare lo spazio tra + +Per aumentare lo spazio tra le righe del testo, si imposta la proprietà +@code{minimum-distance} di @code{LyricSpace}. + +@lilypond[relative=1,verbatim,quote,ragged-right] +{ + c c c c + \override Lyrics.LyricSpace.minimum-distance = #1.0 + c c c c +} +\addlyrics { + longtext longtext longtext longtext + longtext longtext longtext longtext +} +@end lilypond + +@noindent +Per applicare questa modifica a tutti i testi della partitura, impostare la +proprietà nel blocco @code{\layout}. + +@lilypond[verbatim,quote,ragged-right] +\score { + \relative c' { + c c c c + c c c c + } + \addlyrics { + longtext longtext longtext longtext + longtext longtext longtext longtext + } + \layout { + \context { + \Lyrics + \override LyricSpace.minimum-distance = #1.0 + } + } +} +@end lilypond + +@snippets +@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] +{lyrics-alignment.ly} + +@c TODO: move to LSR -vv + +Verificare che le annotazioni testuali e il testo vocale stiano dentro i +margini richiede ulteriori calcoli. Se si desidera velocizzare un po' +l'elaborazione, tale funzionalità può essere disabilitata: + +@example +\override Score.PaperColumn.keep-inside-line = ##f +@end example + +Per far sì che il testo eviti anche le stanghette, usare + +@example +\layout @{ + \context @{ + \Lyrics + \consists "Bar_engraver" + \consists "Separating_line_group_engraver" + \hide BarLine + @} +@} +@end example + +@node Testo e ripetizioni +@unnumberedsubsubsec Testo e ripetizioni +@translationof Lyrics and repeats + +@cindex ripetizioni e testo vocale +@cindex testo vocale, ripetizioni + +@subheading Ripetizioni semplici + +Le ripetizioni in @emph{musica} sono trattate in un'altra sezione: +@ref{Repeats}. Questa sezione spiega come aggiungere del testo +vocale a delle parti musicali ripetute. + +Il testo che si riferisce a una sezione musicale ripetuta deve +avere lo stesso costrutto di ripetizione della musica, se le +parole non sono modificate. + +@lilypond[verbatim,quote] +\score { + << + \new Staff { + \new Voice = "melody" { + \relative c'' { + a4 a a a + \repeat volta 2 { b4 b b b } + } + } + } + \new Lyrics { + \lyricsto "melody" { + Non ri -- petu -- to. + \repeat volta 2 { Ri -- petu -- to due. } + } + } + >> +} +@end lilypond + +Le parole verranno poi espanse correttamente se le ripetizioni +sono ripetute. + +@lilypond[verbatim,quote] +\score { + \unfoldRepeats { + << + \new Staff { + \new Voice = "melody" { + \relative c'' { + a4 a a a + \repeat volta 2 { b4 b b b } + } + } + } + \new Lyrics { + \lyricsto "melody" { + Non ri -- petu -- to. + \repeat volta 2 { Ri -- petu -- to due. } + } + } + >> + } +} +@end lilypond + +Se la sezione ripetuta deve essere ripetuta di nuovo con parole diverse, +è sufficiente inserire tutte le parole: + +@lilypond[verbatim,quote,ragged-right] +\score { + << + \new Staff { + \new Voice = "melody" { + \relative c'' { + a4 a a a + \repeat unfold 2 { b4 b b b } + } + } + } + \new Lyrics { + \lyricsto "melody" { + Non ri -- petu -- to. + Parole della prima volta. + Parole della seconda volta. + } + } + >> +} +@end lilypond + +Quando le parole che si riferiscono a una ripetizione sono diverse, +le parole di ogni ripetizione devono essere inserite in contesti +@code{Lyrics} separati, annidati correttamente in sezioni parallele: + +@lilypond[verbatim,quote] +\score { + << + \new Staff { + \new Voice = "melody" { + \relative c'' { + a4 a a a + \repeat volta 2 { b4 b b b } + } + } + } + \new Lyrics \lyricsto "melody" { + Non ri -- petu -- to. + << + { Parole della prima volta. } + \new Lyrics { + \set associatedVoice = "melody" + Parole della seconda volta. + } + >> + } + >> +} +@end lilypond + +Si possono aggiungere più strofe in modo analogo: + +@lilypond[verbatim,quote] +\score { + << + \new Staff { + \new Voice = "singleVoice" { + \relative c'' { + a4 a a a + \repeat volta 3 { b4 b b b } + c4 c c c + } + } + } + \new Lyrics \lyricsto "singleVoice" { + Non ri -- petu -- to. + << + { Parole della prima volta. } + \new Lyrics { + \set associatedVoice = "singleVoice" + Parole della seconda volta. + } + \new Lyrics { + \set associatedVoice = "singleVoice" + Parole della terza volta. + } + >> + La sezione fi -- nale. + } + >> +} +@end lilypond + +@cindex alignBelowContext +@funindex alignBelowContext + +Tuttavia, se questo costrutto si trova all'interno di un contesto +multirigo come @code{ChoirStaff}, il testo della seconda e terza +strofa apparirà sotto il rigo inferiore. + +Per posizionarli correttamente usare @code{alignBelowContext}: + +@lilypond[verbatim,quote] +\score { + << + \new Staff { + \new Voice = "melody" { + \relative c'' { + a4 a a a + \repeat volta 3 { b4 b b b } + c4 c c c + } + } + } + \new Lyrics = "firstVerse" \lyricsto "melody" { + Non ri -- petu -- to. + << + { Parole della prima volta. } + \new Lyrics = "secondVerse" + \with { alignBelowContext = #"firstVerse" } { + \set associatedVoice = "melody" + Parole della seconda volta. + } + \new Lyrics = "thirdVerse" + \with { alignBelowContext = #"secondVerse" } { + \set associatedVoice = "melody" + Parole della terza volta.. + } + >> + La sezione fi -- nale. + } + \new Voice = "harmony" { + \relative c' { + f4 f f f \repeat volta 2 { g8 g g4 g2 } a4 a8. a16 a2 + } + } + >> +} +@end lilypond + + + +@c TODO positioning a common line of lyrics + +@subheading Ripetizioni con finali alternativi + +@cindex testo vocale, ripetizioni con finali alternativi +@cindex ripetere il testo vocale con finali alternativi +@cindex finali alternativi e testo vocale + +Se le parole della sezione ripetuta sono le stesse, si può +usare la stessa identica struttura sia per il testo che per +la musica. + +@lilypond[quote,verbatim] +\score { + << + \new Staff { + \time 2/4 + \new Voice = "melody" { + \relative c'' { + a4 a a a + \repeat volta 2 { b4 b } + \alternative { { b b } { b c } } + } + } + } + \new Lyrics { + \lyricsto "melody" { + Non ri -- petu -- to. + \repeat volta 2 { Ripe -- tu -- } + \alternative { { to due. } { to due. } } + } + } + >> +} +@end lilypond + +@funindex \skip +@cindex saltare le note nel teso vocale +@cindex testo vocale, saltare le note + +Ma quando la sezione ripetuta ha parole diverse, non si può usare +il costrutto della ripetizione per le parole e bisogna inserire +manualmente i comandi @code{\skip} per le note delle sezioni +alternative prive di un testo corrispondente. + +Attenzione: non usare il trattino basso, @code{_}, per saltare le note, +perché il trattino basso indica un melisma e fa sì che la sillaba +precedente sia allineata a sinistra. + +@warning{Il comando @code{@bs{}skip} deve essere seguito da un numero, +ma questo numero viene ignorato se nel testo vocale la durata delle +sillabe deriva dalla durata delle note in una melodia associata attraverso +@code{\addlyrics} o @code{\lyricsto}. Ogni @code{@bs{}skip} salta una +singola nota di un qualsiasi valore, senza tener conto del valore del +numero che segue.} + +@lilypond[verbatim,quote,ragged-right] +\score { + << + \new Staff { + \time 2/4 + \new Voice = "melody" { + \relative c'' { + \repeat volta 2 { b4 b } + \alternative { { b b } { b c } } + c4 c + } + } + } + \new Lyrics { + \lyricsto "melody" { + Parole della prima volta. + \repeat unfold 2 { \skip 1 } + Termina qui. + } + } + \new Lyrics { + \lyricsto "melody" { + Pa -- role + \repeat unfold 2 { \skip 1 } + seconda volta. + } + } + >> +} +@end lilypond + +@cindex testo vocale e note legate +@funindex \repeatTie + +Quando una nota è legata verso uno o più finali alternativi, si usa +una legatura di valore per portare quella nota nel primo finale +alternativo e @code{\repeatTie} per portarla nel secondo e nei successivi. +Questa struttura comporta dei problemi di difficile allineamento quando +è presente il testo; si può ottenere un risultato più accettabile +aumentando la lunghezza delle sezioni alternative in modo che le note +legate siano contenute interamente al loro interno. + +La legatura crea un melisma nella prima alternativa, ma non nella seconda +e nelle successive, dunque per allineare il testo correttamente occorre +disabilitare la creazione automatica dei melismi dopo la sezione delle volte +e inserire dei salti manuali. + +@lilypond[quote,verbatim] +\score { + << + \new Staff { + \time 2/4 + \new Voice = "melody" { + \relative c'' { + \set melismaBusyProperties = #'() + \repeat volta 2 { b4 b ~} + \alternative { { b b } { b \repeatTie c } } + \unset melismaBusyProperties + c4 c + } + } + } + \new Lyrics { + \lyricsto "melody" { + \repeat volta 2 { Ecco una __ } + \alternative { + { \skip 1 strofa } + { \skip 1 sec } + } + onda strofa. + } + } + >> +} +@end lilypond + +Se @code{\unfoldRepeats} precede una sezione contenente @code{\repeatTie}, +bisogna togliere @code{\repeatTie} per evitare che appaiano entrambi i +tipi di legatura. + +Quando la sezione ripetuta ha parola diverse, non si può mettere il +testo in un blocco @code{\repeat} e bisogna inserire manualmente i +comandi @code{\skip}, come si è visto prima. + +@lilypond[quote,verbatim] +\score { + << + \new Staff { + \time 2/4 + \new Voice = "melody" { + \relative c'' { + \repeat volta 2 { b4 b ~} + \alternative { { b b } { b \repeatTie c } } + c4 c + } + } + } + \new Lyrics { + \lyricsto "melody" { + Ecco una __ strofa. + \repeat unfold 2 { \skip 1 } + } + } + \new Lyrics { + \lyricsto "melody" { + Eccone un' + \repeat unfold 2 { \skip 1 } + altra da cantare. + } + } + >> +} +@end lilypond + +Se si desidera mostrare gli estensori e i trattini subito prima o dopo +un finale alternativo, questi vanno inseriti a mano. + +@lilypond[quote,verbatim] +\score { + << + \new Staff { + \time 2/4 + \new Voice = "melody" { + \relative c'' { + \repeat volta 2 { b4 b ~} + \alternative { { b b } { b \repeatTie c } } + c4 c + } + } + } + \new Lyrics { + \lyricsto "melody" { + Ecco una __ strofa. + \repeat unfold 2 { \skip 1 } + } + } + \new Lyrics { + \lyricsto "melody" { + Ecco "una_" + \skip 1 + "_" sec -- onda strofa. + } + } + >> +} +@end lilypond + +@seealso +Guida alla notazione: +@ref{Keeping contexts alive}, +@ref{Repeats}. + +@c non sono affatto sicuro di questa traduzione -- fb +@node Testi alternati +@unnumberedsubsubsec Testi alternati +@translationof Divisi lyrics + +@cindex testo vocale alternato +@cindex testo vocale diviso + +Quando solo le parole e le durate di due parti differiscono mentre le +altezze sono le stesse, conviene disabilitare temporaneamente la rilevazione +automatica dei melismi e indicare il melisma nel testo cantato: + +@lilypond[quote,verbatim] +\score { + << + \new Voice = "melody" { + \relative c' { + \set melismaBusyProperties = #'() + \slurDown + \slurDashed + e4 e8 ( e ) c4 c | + \unset melismaBusyProperties + c + } + } + \new Lyrics \lyricsto "melody" { + They shall not o -- ver -- come + } + \new Lyrics \lyricsto "melody" { + We will _ + } + >> +} +@end lilypond + +Quando sia la musica che le parole differiscono, è meglio nominare i contesti +della voce in cui musica e testo sono diversi e assegnare il testo a quei +contesti specifici: + +@lilypond[verbatim,ragged-right,quote] +\score { + << + \new Voice = "melody" { + \relative c' { + << + { + \voiceOne + e4 e8 e + } + \new Voice = "splitpart" { + \voiceTwo + c4 c + } + >> + \oneVoice + c4 c | + c + } + } + \new Lyrics \lyricsto "melody" { + They shall not o -- ver -- come + } + \new Lyrics \lyricsto "splitpart" { + We will + } + >> +} +@end lilypond + +Nella musica corale è comune avere una voce divisa in varie +misure. Il costrutto @code{<< @{@dots{}@} \\ @{@dots{}@} >>}, +in cui due (o più) espressioni musicali sono separate dalla +doppia barra inversa, potrebbe sembrare il modo giusto di +impostare le voci divise. Tuttavia questo costrutto assegna +@strong{tutte} le espressioni al suo interno a +@strong{NUOVI contesti Voice}, dunque @emph{nessun testo cantato} +sarà impostato per esse perché il testo si collegherà al contesto +della voce originale. Di norma, non è ciò che si desidera. +Il costrutto adatto in questa situazione è il passaggio polifonico +temporaneo, spiegato nella sezione @emph{Passaggi polifonici temporanei} +in @ref{Single-staff polyphony}. + + +@node Polifonia con testo in comune +@unnumberedsubsubsec Polifonia con testo in comune +@translationof Polyphony with shared lyrics + +@cindex NullVoice +@cindex polifonia, testo cantato condiviso +@cindex testo cantato, condiviso tra voci +@cindex \partcombine e testo cantato +@funindex \partcombine + +Quando due voci contenenti durate diverse condividono lo stesso +testo cantato, allineare il testo a una delle voci può creare +dei problemi nell'altra voce. Per esempio, il secondo estensore +del testo nell'esempio seguente è troppo corto, perché il testo +è allineato solo alla voce superiore: + +@lilypond[quote,verbatim] +soprano = \relative { b'8( c d c) d2 } +alto = \relative { g'2 b8( a g a) } +words = \lyricmode { la __ la __ } + +\new Staff << + \new Voice = "sopranoVoice" { \voiceOne \soprano } + \new Voice { \voiceTwo \alto } + \new Lyrics \lyricsto "sopranoVoice" \words +>> +@end lilypond + +Per ottenere il risultato desiderato, si allinea il testo a un +nuovo contesto @code{NullVoice} contenente una giusta combinazione +delle due voci. Le note del contesto @code{NullVoice} non appaiono +nello spartito, ma servono soltanto ad allineare il testo nel +modo corretto: + +@lilypond[quote,verbatim] +soprano = \relative { b'8( c d c) d2 } +alto = \relative { g'2 b8( a g a) } +aligner = \relative { b'8( c d c) b( a g a) } +words = \lyricmode { la __ la __ } + +\new Staff << + \new Voice { \voiceOne \soprano } + \new Voice { \voiceTwo \alto } + \new NullVoice = "aligner" \aligner + \new Lyrics \lyricsto "aligner" \words +>> +@end lilypond + +Questo metodo si può usare anche con la funzione @code{\partcombine}, +che di per sé non accetta il testo cantato: + +@lilypond[quote,verbatim] +soprano = \relative { b'8( c d c) d2 } +alto = \relative { g'2 b8( a g a) } +aligner = \relative { b'8( c d c) b( a g a) } +words = \lyricmode { la __ la __ } + +\new Staff << + \new Voice \partcombine \soprano \alto + \new NullVoice = "aligner" \aligner + \new Lyrics \lyricsto "aligner" \words +>> +@end lilypond + +@knownissues +La funzione @code{\addLyrics} funziona solo con testi vocali collegati +a contesti @code{Voice} e non può essere usata con @code{NullVoice}. + +@noindent +La funzione @code{\partcombine} è descritta in +@ref{Automatic part combining}. + +Infine, si può usare questo metodo anche quando le voci si trovano su +righi diversi e non è limitata a due sole voci: + +@lilypond[quote,verbatim] +soprano = \relative { b'8( c d c) d2 } +altoOne = \relative { g'2 b8( a b4) } +altoTwo = \relative { d'2 g4( fis8 g) } +aligner = \relative { b'8( c d c) d( d d d) } +words = \lyricmode { la __ la __ } + +\new ChoirStaff << + \new Staff << + \soprano + \new NullVoice = "aligner" \aligner + >> + \new Lyrics \lyricsto "aligner" \words + \new Staff \partcombine \altoOne \altoTwo +>> +@end lilypond + + +@node Strofe +@subsection Strofe +@translationof Stanzas + +@menu +* Aggiungere i numeri di strofa:: +* Aggiungere le dinamiche alle strofe:: +* Aggiungere i nomi dei cantanti alle strofe:: +* Strofe con durate diverse:: +* Stampare le strofe alla fine:: +* Stampare le strofe alla fine in molteplici colonne:: +@end menu + + +@node Aggiungere i numeri di strofa +@unnumberedsubsubsec Aggiungere i numeri di strofa +@translationof Adding stanza numbers + +@cindex numeri di strofa +@cindex strofa, numeri di + +I numeri di strofa si aggiungono impostando @code{stanza}: + +@lilypond[quote,ragged-right,verbatim,relative=2] +\new Voice { + \time 3/4 g2 e4 a2 f4 g2. +} \addlyrics { + \set stanza = #"1. " + Hi, my name is Bert. +} \addlyrics { + \set stanza = #"2. " + Oh, ché -- ri, je t'aime +} +@end lilypond + + +@noindent +Questi numeri appaiono prima dell'inizio della prima sillaba. + +@c TODO Create and add snippet to show how two lines of a +@c stanza can be grouped together, along these lines: +@c (might need improving a bit) -td + +@ignore +leftbrace = \markup { \override #'(font-encoding . fetaBraces) \lookup +#"brace105" } + +stanzaOneOne = { + \set stanza = \markup { "1. " \leftbrace } + \lyricmode { Child, you're mine and I love you. + Lend thine ear to what I say. + + } +} + +stanzaOneThree = { +% \set stanza = \markup { " "} + \lyricmode { Child, I have no great -- er joy + Than to have you walk in truth. + + } +} + +\new Voice { + \repeat volta 2 { c'8 c' c' c' c' c' c'4 + c'8 c' c' c' c' c' c'4 } +} \addlyrics { \stanzaOneOne } + \addlyrics { \stanzaOneThree } + +@end ignore + +@node Aggiungere le dinamiche alle strofe +@unnumberedsubsubsec Aggiungere le dinamiche alle strofe +@translationof Adding dynamics marks to stanzas + +Le strofe che hanno un volume diverso possono essere indicate con un +segno di dinamica all'inizio di ogni strofa. In LilyPond, tutto ciò +che si trova di fronte a una strofa va nell'oggetto @code{StanzaNumber}; +lo stesso vale per i segni di dinamica. Per ragioni tecniche, bisogna +impostare la strofa fuori da @code{\lyricmode}: + +@lilypond[quote,ragged-right,verbatim] +text = { + \set stanza = \markup { \dynamic "ff" "1. " } + \lyricmode { + Big bang + } +} + +<< + \new Voice = "tune" { + \time 3/4 + g'4 c'2 + } +\new Lyrics \lyricsto "tune" \text +>> +@end lilypond + +@node Aggiungere i nomi dei cantanti alle strofe +@unnumberedsubsubsec Aggiungere i nomi dei cantanti alle strofe +@translationof Adding singers' names to stanzas + +@cindex nome del cantante +@cindex cantante, nome del + +Si possono aggiungere anche i nomi dei cantanti. Appariranno +all'inizio del rigo, proprio come per i nomi degli strumenti. +Si creano impostando @code{vocalName}. Una versione abbreviata +si inserisce con @code{shortVocalName}. + +@lilypond[ragged-right,quote,verbatim,relative=2] +\new Voice { + \time 3/4 g2 e4 a2 f4 g2. +} \addlyrics { + \set vocalName = #"Bert " + Hi, my name is Bert. +} \addlyrics { + \set vocalName = #"Ernie " + Oh, ché -- ri, je t'aime +} +@end lilypond + +@node Strofe con durate diverse +@unnumberedsubsubsec Strofe con durate diverse +@translationof Stanzas with different rhythms + +Spesso, strofe diverse di una canzone sono collegate a una melodia in +modi leggermente diversi. Tali variazioni possono essere colte con +@code{\lyricsto}. + +@subsubheading Ignorare i melismi + +Può capitare ad esempio che il testo abbia un melisma in una strofa, +ma varie sillabe in un'altra. Una possibile soluzione consiste +nel far sì che la voce più veloce ignori il melisma, impostando +@code{ignoreMelismata} nel contesto Lyrics. + +@lilypond[verbatim,ragged-right,quote] +<< + \relative c' \new Voice = "lahlah" { + \set Staff.autoBeaming = ##f + c4 + \slurDotted + f8.[( g16]) + a4 + } + \new Lyrics \lyricsto "lahlah" { + più len -- ta + } + \new Lyrics \lyricsto "lahlah" { + più + \set ignoreMelismata = ##t + velo -- ce + \unset ignoreMelismata + ancora + } +>> +@end lilypond + +@knownissues +Diversamente dalla maggior parte dei comandi @code{\set}, +@code{\set ignoreMelismata} non funziona se preceduto da @code{\once}. +Bisogna usare @code{\set} e @code{\unset} per contrassegnare il testo +in cui il melisma deve essere ignorato. + +@subsubheading Aggiungere le sillabe agli abbellimenti + +@cindex abbellimenti e testo cantato +@cindex testo cantato su abbellimenti + +Per impostazione predefinita, gli abbellimenti (ovvero le note inserite +con @code{\grace}) non sono assegnati alle sillabe quando si usa +@code{\lyricsto}, ma tale comportamento può essere modificato: + +@lilypond[verbatim,ragged-right,quote] +<< + \new Voice = melody \relative c' { + f4 \appoggiatura a32 b4 + \grace { f16 a16 } b2 + \afterGrace b2 { f16[ a16] } + \appoggiatura a32 b4 + \acciaccatura a8 b4 + } + \new Lyrics + \lyricsto melody { + normal + \set includeGraceNotes = ##t + case, + gra -- ce case, + after -- grace case, + \set ignoreMelismata = ##t + app. case, + acc. case. + } +>> +@end lilypond + +@knownissues +Come per @code{associatedVoice}, @code{includeGraceNotes} deve essere +impostato al più tardi una sillaba prima di quella da mettere sotto +un abbellimento. Per il caso di un abbellimento proprio all'inizio +di un brano, meglio usare un blocco @code{\with} o @code{\context}: + +@lilypond[verbatim,ragged-right,quote] +<< + \new Voice = melody \relative c' { + \grace { c16( d e f } + g1) f + } + \new Lyrics \with { includeGraceNotes = ##t } + \lyricsto melody { + Ah __ fa + } +>> +@end lilypond + +@subsubheading Passare a una melodia alternativa + +@cindex associatedVoice +@cindex melodia alternativa, passare a + +Sono possibili variazioni più complesse nell'impostare testo e musica. +La melodia su cui è impostato il testo può essere modificata all'interno +del contesto del testo impostando la proprietà @code{associatedVoice}: + +@lilypond[verbatim,quote] +<< + \relative c' \new Voice = "lahlah" { + \set Staff.autoBeaming = ##f + c4 + << + \new Voice = "alternative" { + \voiceOne + \tuplet 3/2 { + % mostra chiaramente le associazioni. + \override NoteColumn.force-hshift = #-3 + f8 f g + } + } + { + \voiceTwo + f8.[ g16] + \oneVoice + } >> + a8( b) c + } + \new Lyrics \lyricsto "lahlah" { + Ju -- ras -- sic Park + } + \new Lyrics \lyricsto "lahlah" { + % Complicato: bisogna impostare associatedVoice + % una sillaba prima di quella cui si applica! + \set associatedVoice = "alternative" % si applica a "ran" + Ty -- + ran -- + no -- + \set associatedVoice = "lahlah" % si applica a "rus" + sau -- rus Rex + } >> +@end lilypond + +@noindent +Il testo per la prima strofa viene impostato sulla melodia +@q{lahlah} nel solito modo, ma la seconda strofa è impostata +inizialmente sul contesto @code{lahlah} e passa poi alla melodia +@code{alternative} per le sillabe da @q{ran} a @q{sau}: + +@example +\set associatedVoice = "alternative" % si applica a "ran" +Ty -- +ran -- +no -- +\set associatedVoice = "lahlah" % si applica a "rus" +sau -- rus Rex +@end example + +@noindent +In questo esempio @code{alternative} è il nome del contesto @code{Voice} +contenente la terzina. + +Attenzione al posizionamento del comando @code{\set associatedVoice}: appare +una sillaba troppo presto, ma ciò è corretto. + +@warning{Il comando @code{\set associatedVoice} deve essere inserito +una sillaba @emph{prima} di quella in cui deve verificarsi il passaggio +alla nuova voce. In altre parole, il passaggio alla voce associata +accade una sillaba dopo quella che ci si aspetterebbe. Ciò è dovuto +a ragioni tecniche e non è un difetto di LilyPond.} + + +@node Stampare le strofe alla fine +@unnumberedsubsubsec Stampare le strofe alla fine +@translationof Printing stanzas at the end + +Talvolta si allinea una sola strofa alla musica e le strofe +rimanenti appaiono in forma di versi alla fine del brano. +Per ottenere ciò si aggiungono le strofe ulteriori in un +blocco @code{\markup} esterno al blocco della partitura. +Nell'esempio seguente si possono notare due modi di forzare +le interruzioni di linea in un blocco @code{\markup}. + +@lilypond[ragged-right,verbatim,quote] +melody = \relative c' { +e d c d | e e e e | +d d e d | c1 | +} + +text = \lyricmode { +\set stanza = #"1." Ma- ry had a lit- tle lamb, +its fleece was white as snow. +} + +\score{ << + \new Voice = "one" { \melody } + \new Lyrics \lyricsto "one" \text +>> + \layout { } +} +\markup { \column{ + \line{ Verse 2. } + \line{ All the children laughed and played } + \line{ To see a lamb at school. } + } +} +\markup{ + \wordwrap-string #" + Verse 3. + + Mary took it home again, + + It was against the rule." +} +@end lilypond + + +@node Stampare le strofe alla fine in molteplici colonne +@unnumberedsubsubsec Stampare le strofe alla fine in molteplici colonne +@translationof Printing stanzas at the end in multiple columns + +Quando un brano ha molte strofe, queste sono spesso stampate in +molteplici colonne lungo la pagina. Un numero di strofa rientrato +spesso introduce ciascuna strofa. L'esempio seguente mostra come +riprodurre questo output in LilyPond. + +@lilypond[ragged-right,quote,verbatim] +melody = \relative c' { + c4 c c c | d d d d +} + +text = \lyricmode { + \set stanza = #"1." + This is verse one. + It has two lines. +} + +\score { + << + \new Voice = "one" { \melody } + \new Lyrics \lyricsto "one" \text + >> + \layout { } +} + +\markup { + \fill-line { + \hspace #0.1 % sposta la colonna in avanti rispetto al margine sinistro; + % può essere tolto se lo spazio nella pagina è stretto + \column { + \line { \bold "2." + \column { + "This is verse two." + "It has two lines." + } + } + \combine \null \vspace #0.1 % aggiunge spazio verticale tra le strofe + \line { \bold "3." + \column { + "This is verse three." + "It has two lines." + } + } + } + \hspace #0.1 % aggiunge spazio orizzontale tra le colonne; + \column { + \line { \bold "4." + \column { + "This is verse four." + "It has two lines." + } + } + \combine \null \vspace #0.1 % aggiunge spazio verticale tra le strofe + \line { \bold "5." + \column { + "This is verse five." + "It has two lines." + } + } + } + \hspace #0.1 % dà ulteriore spazio sul margine destro; + % può essere tolto se lo spazio nella pagina è stretto + } +} +@end lilypond + + +@seealso +Guida al funzionamento interno: +@rinternals{LyricText}, +@rinternals{StanzaNumber}. + + +@node Canzoni +@subsection Canzoni +@translationof Songs + +@menu +* Riferimenti per canzoni:: +* Canzonieri:: +@end menu + +@node Riferimenti per canzoni +@unnumberedsubsubsec Riferimenti per canzoni +@translationof References for songs + +Le canzoni si scrivono solitamente su tre righi: la melodia per il +cantante nel rigo superiore e due righi per l'accompagnamento di +pianoforte in basso. Il testo della prima strofa appare immediatamente +sotto il rigo superiore. Se ci sono solo poche altre strofe, queste +possono essere poste subito sotto la prima; ma se ci sono più strofe di +quante ne possano essere contenute lì la seconda strofa e le successive +vengono stampate dopo la musica come testo separato. + +Tutti gli elementi della notazione necessari per scrivere canzoni sono +descritti dettagliatamente in altre parti della documentazione: + +@itemize + +@item +Per costruire la struttura del rigo: @ref{Displaying staves}. + +@item +Per scrivere la musica per pianoforte: +@ref{Keyboard and other multi-staff instruments}. + +@item +Per scrivere il testo da associare a una linea melodica: +@ref{Common notation for vocal music}. + +@item +Per posizionare il testo: @ref{Placing lyrics vertically}. + +@item +Per inserire le strofe: @ref{Stanzas}. + +@item +Le canzoni hanno spesso i nomi degli accordi che appaiono sopra i +righi. Questo argomento è trattato in @ref{Displaying chords}. + +@item +Per stampare i diagrammi degli accordi per l'accompagnamento per chitarra o +altri strumenti a tasti: @qq{Fret diagram markups} in @ref{Common notation for fretted strings}. + +@end itemize + +@seealso +Manuale di apprendimento: +@rlearning{Canzoni}. + +Guida alla notazione: +@ref{Common notation for vocal music}, +@ref{Displaying chords}, +@ref{Displaying staves}, +@ref{Keyboard and other multi-staff instruments}, +@ref{Placing lyrics vertically}, +@ref{Stanzas}. + +Frammenti: +@rlsr{Vocal music}. + + +@node Canzonieri +@unnumberedsubsubsec Canzonieri +@translationof Lead sheets + +I canzonieri (in inglese @emph{lead sheet}) si ottengono combinando le +parti vocali con la @q{modalità per accordi}; la sintassi è +spiegata in @ref{Chord notation}. + +@snippets +@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] +{simple-lead-sheet.ly} + +@seealso +Guida alla notazione: +@ref{Chord notation}. + + +@node Musica corale +@subsection Musica corale +@translationof Choral + +@cindex anthems +@cindex part songs +@cindex oratorio +@cindex SATB + +Questa sezione tratta le questioni che hanno a che fare più direttamente +con la musica corale, compresi inni, cori polifonici, oratori, etc. + +@menu +* Riferimenti per musica corale:: +* Struttura di una partitura corale:: +* Voci divise:: +@end menu + +@node Riferimenti per musica corale +@unnumberedsubsubsec Riferimenti per musica corale +@translationof References for choral + +La musica corale viene solitamente rappresentata con due, tre o quattro +righi in un gruppo @code{ChoirStaff}. L'accompagnamento, se richiesto, +è posto sotto in un gruppo @code{PianoStaff}, che viene solitamente +rimpicciolito per le prove di opere corali @emph{a cappella}. Le note +di ogni parte vocale sono inserite in un contesto @code{Voice} e a ogni +rigo viene assegnato una sola parta vocale (ovvero un contesto @code{Voice}) o +una coppia di parti vocali (due contesti @code{Voice}). + +Le parole vengono poste nei contesti @code{Lyrics}, o sotto ciascun rigo +musicale corrispondente oppure una strofa sopra e una sotto il rigo musicale +se questo contiene musica per due parti. + +Vari argomenti comuni nella musica corale sono trattati dettagliatamente +in altre sezioni della documentazione: + +@itemize + +@item +Un'introduzione alla creazione di una partitura vocale SATB si trova +nel manuale di apprendimento: @rlearning{Partitura vocale a quattro parti SATB}. +È disponibile anche un modello integrato che semplifica la scrittura di +musica vocale SATB: @rlearning{Modelli integrati}. + +@item +Vari modelli adatti per vari stili di musica corale si trovano anche +nel manuale di apprendimento: @rlearning{Modelli per gruppi vocali}. + +@item +Le informazioni relative a @code{ChoirStaff} e @code{PianoStaff} si trovano +in @ref{Grouping staves}. + +@item +Le teste di nota a forma variabile, come quelle usate nello stile Sacred Harp e +notazione simile, sono descritte in @ref{Shape note heads}. + +@item +Quando due parti vocali si trovano su uno stesso rigo, i gambi, le +legature, etc. della parte più alta sono dirette in su e quelle della +parte più bassa sono rivolte in giù. Per farlo si usa @code{\voiceOne} e +@code{\voiceTwo}, come è spiegato in @ref{Single-staff polyphony}. + +@item +Quando una parte vocale si divide temporaneamente, si devono usare i +@emph{passaggi polifonici temporanei} +(vedi @ref{Single-staff polyphony}). + +@end itemize + +@predefined +@code{\oneVoice}, +@code{\voiceOne}, +@code{\voiceTwo}. + +@seealso +Manuale di apprendimento: +@rlearning{Partitura vocale a quattro parti SATB}, +@rlearning{Modelli per gruppi vocali}. + +Guida alla notazione: +@ref{Context layout order}, +@ref{Grouping staves}, +@ref{Shape note heads}, +@ref{Single-staff polyphony}. + +Frammenti: +@rlsr{Vocal music}. + +Guida al funzionamento interno: +@rinternals{ChoirStaff}, +@rinternals{Lyrics}, +@rinternals{PianoStaff}. + + +@node Struttura di una partitura corale +@unnumberedsubsubsec Struttura di una partitura corale +@translationof Score layouts for choral + +La musica corale contenente quattro righi, con o senza accompagnamento +del pianoforte, viene solitamente disposta in due sistemi per pagina. +A seconda della dimensione della pagina, ottenere ciò può richiedere +modifiche a varie impostazioni predefinite. Occorre considerare le +seguenti impostazioni: + +@itemize + +@item +La dimensione globale del rigo può essere modificata per cambiare la +dimensione degli elementi della partitura. Vedi @ref{Setting the staff size}. + +@item +Le distanze tra i sistemi, i righi e il testo cantato possono essere +tutte regolate in modo indipendente. Vedi @ref{Vertical spacing}. + +@item +Le dimensioni delle variabili di disposizione verticale possono essere +mostrate per facilitare la regolazione della spaziatura verticale. Questa +e altre possibilità per far entrare la musica in meno pagine sono +descritte in @ref{Fitting music onto fewer pages}. + +@item +Se il numero dei sistemi per pagina cambia da uno a due, è uso comune +indicare ciò con un separatore di sistema tra i due sistemi. Vedi +@ref{Separating systems}. + +@item +Per maggiori informazioni sulle proprietà di formattazione della pagina, +leggere @ref{Page layout}. + +@end itemize + + +Le indicazioni dinamiche sono poste, per impostazione predefinita, sotto +il rigo, ma nella musica corale sono poste solitamente sopra il rigo per +evitare il testo cantato. Il comando predefinito @code{\dynamicUp} permette +di ottenere ciò per le indicazioni dinamiche in un singolo contesto @code{Voice}. +Se ci sono molti contesti @code{Voice}, questo comando dovrebbe essere posto +in ciascuno di essi. Ma esiste la possibilità di usare una sola volta la +sua forma estesa, che sposta tutte le indicazioni dinamiche dell'intera +partitura sopra i loro rispettivi righi, come mostrato in questo esempio: + +@lilypond[verbatim,quote] +\score { + \new ChoirStaff << + \new Staff { + \new Voice { + \relative c'' { g4\f g g g } + } + } + \new Staff { + \new Voice { + \relative c' { d4 d d\p d } + } + } + >> + \layout { + \context { + \Score + \override DynamicText.direction = #UP + \override DynamicLineSpanner.direction = #UP + } + } +} +@end lilypond + +@predefined +@code{\dynamicUp}, @code{\dynamicDown}, @code{\dynamicNeutral}. + +@seealso +Guida alla notazione: +@ref{Changing spacing}, +@ref{Displaying spacing}, +@ref{Fitting music onto fewer pages}, +@ref{Page layout}, +@ref{Score layout}, +@ref{Separating systems}, +@ref{Setting the staff size}, +@ref{Breaks}, +@ref{Vertical spacing}. + +Guida al funzionamento interno: +@rinternals{VerticalAxisGroup}, +@rinternals{StaffGrouper}. + + +@node Voci divise +@unnumberedsubsubsec Voci divise +@translationof Divided voices + +@cindex voci divise + +@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] +{using-arpeggiobracket-to-make-divisi-more-visible.ly} + +@seealso +Guida alla notazione: +@ref{Expressive marks as lines}. + + +@node Opera e musical +@subsection Opera e musical +@translationof Opera and stage musicals + +La musica, il testo cantato e i dialoghi delle opere e dei musical +sono di solito impostati in una o più delle seguenti forme: + +@itemize + +@item +Una @emph{partitura del direttore} contenente l'intera partitura +orchestrale e le parti vocali, insieme a un libretto con le battute +d'entrata se ci sono dei passaggi parlati. + +@item +Le @emph{parti orchestrali} contenenti la musica degli strumenti +individuali dell'orchestra o della band. + +@item +Una @emph{partitura vocale} contenente tutte le parti vocali con +accompagnamento del pianoforte. L'accompagnamento di solito è +una riduzione orchestrale e in questo caso il nome dello strumento +orchestrale originale viene spesso indicato. Le partiture +vocali talvolta hanno anche le didascalie e il libretto +con le battute d'entrata. + +@item +Un @emph{libro vocale} contenente soltanto le parti vocali +(nessun accompagnamento), talvolta insieme al libretto. + +@item +Un @emph{libretto} contenente i passaggi estesi dei dialoghi +parlati solitamente presenti nei musical, insieme alle parole +delle parti cantate. Le didascalie sono solitamente incluse. +È possibile usare LilyPond per creare i libretti, ma dato che +non contengono musica è preferibile usare altri metodi. + +@end itemize + +Le sezioni della documentazione di LilyPond che trattano gli +argomenti necessari per creare partiture negli stili più comuni +nell'opera e nei musical sono indicati nei riferimenti seguenti. +A questi seguono sezioni che trattano le tecniche specifiche +che sono peculiari per le partiture di opera e musical. + +@menu +* Riferimenti per opera e musical:: +* Nomi dei personaggi:: +* Suggerimenti musicali:: +* Musica parlata:: +* Dialogo sopra la musica:: +@end menu + +@node Riferimenti per opera e musical +@unnumberedsubsubsec Riferimenti per opera e musical +@translationof References for opera and stage musicals + +@itemize + +@item +La partitura di un direttore d'orchestra contiene molti righi e +testi vocali raggruppati. I modi per raggruppare i righi sono +mostrati in @ref{Grouping staves}. Per annidare gruppi di +righi leggere @ref{Nested staff groups}. + +@item +La stampa di righi vuoti nelle partiture musicali e vocali dei direttori +è solitamente soppressa. Per creare tale partitura leggere +@ref{Hiding staves}. + +@item +La scrittura di parti orchestrali è trattata in @ref{Writing parts}. +Altre sezioni del capitolo Notazione specialistica potrebbero essere +rilevanti, a seconda dell'orchestrazione usata. Molti strumenti +sono strumenti traspositori, vedi @ref{Instrument transpositions}. + +@item +Se il numero di sistemi per pagina cambia da pagina a pagina, è di uso +comune separare i sistemi con un segno separatore di sistemi. +Vedi @ref{Separating systems}. + +@item +Per maggiori informazioni sulle proprietà di formattazione della pagina +leggere @ref{Page layout}. + +@item +Si possono inserire suggerimenti di dialogo, didascalie e note a pié di +pagina, vedi @ref{Creating footnotes} e @ref{Text}. Didascalie estese +possono essere aggiunte anche con una sezione di markup indipendenti +tra i due blocchi @code{\score}, vedi @ref{Separate text}. + +@end itemize + +@seealso +Glossario musicale: +@rglosnamed{Frenched score,Partitura senza righi vuoti}, +@rglosnamed{Frenched staves,Rigo temporaneo}, +@rglosnamed{transposing instrument,Strumento traspositore}. + +Guida alla notazione: +@ref{Creating footnotes}, +@ref{Grouping staves}, +@ref{Hiding staves}, +@ref{Instrument transpositions}, +@ref{Nested staff groups}, +@ref{Page layout}, +@ref{Separating systems}, +@ref{Transpose}, +@ref{Writing parts}, +@ref{Writing text}. + +Frammenti: +@rlsr{Vocal music}. + + +@node Nomi dei personaggi +@unnumberedsubsubsec Nomi dei personaggi +@translationof Character names + +@cindex nomi dei personaggi +@cindex personaggi, nomi dei + +I nomi dei personaggi sono solitamente mostrati a sinistra del rigo quando +il rigo è dedicato a quel personaggio soltanto: + +@lilypond[quote,verbatim,ragged-right] +\score { + << + \new Staff { + \set Staff.vocalName = \markup \smallCaps Kaspar + \set Staff.shortVocalName = \markup \smallCaps Kas. + \relative c' { + \clef "G_8" + c4 c c c + \break + c4 c c c + } + } + \new Staff { + \set Staff.vocalName = \markup \smallCaps Melchior + \set Staff.shortVocalName = \markup \smallCaps Mel + \clef "bass" + \relative c' { + a4 a a a + a4 a a a + } + } + >> +} +@end lilypond + +Quando due o più personaggi condividono lo stesso rigo, il nome del +personaggio è solitamente collocato sopra il rigo all'inizio di ogni +sezione appartenente a quel personaggio. È possibile fare ciò con +i markup. Spesso si usa un tipo di carattere preciso a questo scopo. + +@lilypond[quote,verbatim,relative=1] +\clef "G_8" +c4^\markup \fontsize #1 \smallCaps Kaspar +c c c +\clef "bass" +a4^\markup \fontsize #1 \smallCaps Melchior +a a a +\clef "G_8" +c4^\markup \fontsize #1 \smallCaps Kaspar +c c c +@end lilypond + +Altrimenti, se ci sono molti cambi di personaggi, è più semplice +impostare una variabile per salvare le definizioni di ogni +personaggio, in modo che il cambio di personaggio possa essere +indicato in modo facile e conciso. + +@lilypond[quote,verbatim] +kaspar = { + \clef "G_8" + \set Staff.shortVocalName = "Kas." + \set Staff.midiInstrument = "voice oohs" + <>^\markup \smallCaps "Kaspar" +} + +melchior = { + \clef "bass" + \set Staff.shortVocalName = "Mel." + \set Staff.midiInstrument = "choir aahs" + <>^\markup \smallCaps "Melchior" +} + +\relative c' { + \kaspar + c4 c c c + \melchior + a4 a a a + \kaspar + c4 c c c +} +@end lilypond + +@seealso +Manuale di apprendimento: +@rlearning{Organizzare i brani con le variabili}. + +Guida alla notazione: +@ref{Text}, +@ref{Text markup commands}. + + +@node Suggerimenti musicali +@unnumberedsubsubsec Suggerimenti musicali +@translationof Musical cues + +@cindex suggerimenti musicali +@cindex cues + +I suggerimenti musicali possono essere inseriti nelle pariture vocali, nei +libri vocali e nelle parti orchestrali per indicare quale musica in un'altra +parte precede immediatamente un'entrata. I suggerimenti sono spesso inseriti +anche nella riduzione per pianoforte nelle partiture vocali per indicare +cosa sta suonando ogni strumento dell'orchestra. Ciò aiuta il direttore +quando non è disponibile la partitura completa. + +Il meccanismo di base per inserire i suggerimenti è spiegato dettagliatamente +in @ref{Quoting other voices} e @ref{Formatting cue notes}. Ma quando si +devono inserire molti suggerimenti, per esempio per aiutare il direttore +in una partitura vocale, il nome dello strumento deve essere posizionato +attentamente proprio prima dell'inizio delle citazioni in corpo più piccolo +(@qq{cue notes}). L'esempio seguente mostra come si fa. + +@lilypond[quote,verbatim] +flute = \relative c'' { + s4 s4 e g +} +\addQuote "flute" { \flute } + +pianoRH = \relative c'' { + c4. g8 + % posiziona il nome dello strumento citato proprio prima delle citazioni in corpo piccolo, + % e sopra il rigo + \new CueVoice { + \override InstrumentSwitch.self-alignment-X = #RIGHT + \set instrumentCueName = "Flute" + } + \cueDuring "flute" #UP { g4 bes4 } +} +pianoLH = \relative c { c4 e, } + +\score { + \new PianoStaff << + \new Staff { + \pianoRH + } + \new Staff { + \clef "bass" + \pianoLH + } + >> +} +@end lilypond + +Se viene citato uno strumento traspositore, la parte strumentale deve +specificare la sua armatura di chiave in modo che la conversione delle +sue notine sia fatta automaticamente. Il prossimo esempio mostra questa +trasposizioone per un clarinetto in Si bemolle. Le note in questo esempio +si trovano in basso nel rigo, quindi viene specificato @code{DOWN} in +@code{\cueDuring} (in modo che i gambi vadano giù) e il nome dello strumento +è posizionato sotto il rigo. Si noti anche che la voce della mano destra +del pianoforte è dichiarata esplicitamente. Ciò è dovuto al fatto che le +notine in questo esempio si trovano all'inizio della prima battuta e ciò +altrimenti farebbe sì che tutte le note della mano destra siano posizionate +in un contesto @code{CueVoice}. + +@lilypond[quote,verbatim] +clarinet = \relative c' { + \transposition bes + fis4 d d c +} +\addQuote "clarinet" { \clarinet } + +pianoRH = \relative c'' { + \transposition c' + % posiziona il nome dello strumento citato sotto il rigo + \new CueVoice { + \override InstrumentSwitch.self-alignment-X = #RIGHT + \override InstrumentSwitch.direction = #DOWN + \set instrumentCueName = "Clar." + } + \cueDuring "clarinet" #DOWN { c4. g8 } + g4 bes4 +} +pianoLH = \relative c { c4 e, } + +\score { + << + \new PianoStaff << + \new Staff { + \new Voice { + \pianoRH + } + } + \new Staff { + \clef "bass" + \pianoLH + } + >> + >> +} +@end lilypond + +Da questi due esempi è evidente che inserire molte citazioni in corpo +piccolo in una partitura vocale sarebbe noioso, e le note della parte +per pianoforte sarebbero confuse. Tuttavia, come mostra il frammento +seguente, è possibile definire una funzione musicale per ridurre l'input +e rendere più chiare le note per pianoforte. + +@snippets +@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] +{adding-orchestral-cues-to-a-vocal-score.ly} + +@seealso +Glossario musicale: +@rglosnamed{cue-notes,Notine o Citazioni in corpo più piccolo}. + +Guida alla notazione: +@ref{Aligning objects}, +@ref{Direction and placement}, +@ref{Formatting cue notes}, +@ref{Quoting other voices}, +@ref{Using music functions}. + +Frammenti: +@rlsr{Vocal music}. + +Guida al funzionamento interno: +@rinternals{InstrumentSwitch}, +@rinternals{CueVoice}. + +@knownissues +@code{\cueDuring} inserisce automaticamente un contesto @code{CueVoice} e +tutte le notine sono poste in quel contesto. Ciò significa che non è +possibile avere due sequenze sovrapposte di notine con questa tecnica. +Si possono inserire sequenze sovrapposte solo dichiarando esplicitamente +contesti @code{CueVoice} distinti e usando @code{\quoteDuring} per estrarre +e inserire le notine. + + +@node Musica parlata +@unnumberedsubsubsec Musica parlata +@translationof Spoken music + +@cindex parlato +@cindex Sprechgesang +Effetti come il @q{parlato} o @q{Sprechgesang} chiedono all'esecutore +di parlare senza intonare note ma andando comunque a ritmo; tali effetti +si indicano con teste di nota barrate, come è illustrato in @ref{Special note heads}. + +@c TODO add "marking-notes-on-spoken-parts" snippet -vv +@c add "showing the rhythm of a melody" snip +@c add "one staff-line notation" +@c add "improvisation" ref +@c add "lyrics independents of notes" ref + +@node Dialogo sopra la musica +@unnumberedsubsubsec Dialogo sopra la musica +@translationof Dialogue over music + +Il dialogo parallelo alla musica appare solitamente sopra i righi in +corsivo, con l'inizio di ogni frase collegato a un momento musicale +ben preciso. + +In caso di brevi intromissioni può bastare un semplice @code{\markup}. + +@lilypond[quote,verbatim,relative=2] +a4^\markup { \smallCaps { Alex - } \italic { He's gone } } a a a +a4 a a^\markup { \smallCaps { Bethan - } \italic Where? } a +a4 a a a +@end lilypond + +In caso di frasi più lunghe può essere necessario espandere la musica +per poter far entrare le parole. Non c'è modo di fare ciò del tutto +automaticamente in LilyPond e sarà necessario anche qualche intervento +manuale per formattare la pagina. + +In caso di frasi lunghe o di passaggi con molti dialoghi serrati, +l'uso di un contesto Lyrics darà risultati migliori. Il contesto Lyrics +non deve essere associato a una voce musicale; occorre invece assegnare +a ogni parte del dialogo una durata esplicita. Se c'è un vuoto nel +dialogo, la parola finale deve essere separata dal resto e la durata +divisa tra le due così che la musica sottostante abbia spazio sufficiente. + +Se il dialogo si estende per più di un rigo sarà necessario inserire +manualmente dei @code{\break} e aggiustare il posizionamento del dialogo +per evitare di entrare nel margine destro. La parola finale dell'ultima +misura di un rigo deve anche essere separata, come mostrato prima. + +Ecco un esempio che illustra come fare. + +@c This should be a snippet, but it can't be as it needs to be +@c manually adjusted to suit the imposed line length. -td + +@lilypond[quote,verbatim,ragged-right] +music = \relative c'' { + \repeat unfold 3 { a4 a a a } +} + +dialogue = \lyricmode { + \markup { + \fontsize #1 \upright \smallCaps Abe: + "Say this over measures one and" + }4*7 + "two"4 | + \break + "and this over measure"4*3 + "three"4 | +} + +\score { + << + \new Lyrics \with { + \override LyricText.font-shape = #'italic + \override LyricText.self-alignment-X = #LEFT + } + { \dialogue } + \new Staff { + \new Voice { \music } + } + >> +} +@end lilypond + +@c TODO show use of \column to produce dialogue on two lines + +@seealso +Guida alla notazione: +@ref{Manual syllable durations}, +@ref{Text}. + +Internal Reference: +@rinternals{LyricText}. + + +@node Canti salmi e inni +@subsection Canti salmi e inni +@translationof Chants psalms and hymns + +@cindex canti +@cindex inni +@cindex musica religiosa + +La musica e le parole per canti, sali e inni di solito segue un +formato ben definito in ciascuna chiesa. Sebbene i formati possano +differire da chiesa a chiesa, i problemi tipografici che si possono +incontrare sono generalmente simili e sono trattati in questa sezione. + +@menu +* Riferimenti per canti e salmi:: +* Impostare un canto:: +* Salmi:: +* Misure parziali nei motivi degli inni:: +@end menu + +@node Riferimenti per canti e salmi +@unnumberedsubsubsec Riferimenti per canti e salmi +@translationof References for chants and psalms + +La composizione tipografica dei canti gregoriani in vari stili di +notazione antica è descritta in @ref{Ancient notation}. + +@seealso +Guida alla notazione: +@ref{Ancient notation}. + +Frammenti: +@rlsr{Vocal music}. + + +@node Impostare un canto +@unnumberedsubsubsec Impostare un canto +@translationof Setting a chant + +Le impostazioni per il canto moderno usano la notazione moderna insieme +ad alcuni elementi della notazione antica. Alcuni di questi elementi e +metodi sono mostrati in questa sezione. + +I canti usano spesso note di un quarto senza gambi per indicare +l'altezza, mentre le durate vengono dal ritmo parlato delle parole. + +@lilypond[verbatim,quote] +stemOff = { \hide Staff.Stem } + +\relative c' { + \stemOff + a'4 b c2 | +} + +@end lilypond + +Nei canti le stanghette sono spesso omesse oppure si usano delle +stanghette più brevi o punteggiate per indicare le pause nella +musica. Per omettere tutte le stanghette da tutti i righi +si disattiva l'incisore delle stanghette: + +@lilypond[verbatim,quote] +\score { + \new StaffGroup << + \new Staff { + \relative c'' { + a4 b c2 | + a4 b c2 | + a4 b c2 | + } + } + \new Staff { + \relative c'' { + a4 b c2 | + a4 b c2 | + a4 b c2 | + } + } + >> + \layout { + \context { + \Staff + \remove "Bar_engraver" + } + } +} +@end lilypond + +Le stanghette possono anche essere tolte solo in certi righi: + +@lilypond[verbatim, quote] +\score { + \new ChoirStaff << + \new Staff + \with { \remove "Bar_engraver" } { + \relative c'' { + a4 b c2 | + a4 b c2 | + a4 b c2 | + } + } + \new Staff { + \relative c'' { + a4 b c2 | + a4 b c2 | + a4 b c2 | + } + } + >> +} +@end lilypond + +Per togliere le stanghette da una sezione musicale soltanto basta +trattarla come una cadenza. Se la sezione è lunga potrebbe essere +necessario inserire delle stanghette fittizie con @code{\bar ""} per +mostrare dove si deve interrompere la linea. + +@lilypond[verbatim,quote,relative=2] +a4 b c2 | +\cadenzaOn +a4 b c2 +a4 b c2 +\bar "" +a4 b c2 +a4 b c2 +\cadenzaOff +a4 b c2 | +a4 b c2 | +@end lilypond + +Nei canti le pause si indicano con stanghette modificate. + +@lilypond[verbatim, quote,relative=2] +a4 +\cadenzaOn +b c2 +a4 b c2 +\bar "'" +a4 b c2 +a4 b c2 +\bar ";" +a4 b c2 +\bar "!" +a4 b c2 +\bar "||" +@end lilypond + +Altrimenti, talvolta si usa la notazione usata nel canto gregoriano per +le pause anche se il resto della notazione è moderna. Nell'esempio +seguente si usa un segno @code{\breathe} modificato: + +@lilypond[verbatim,quote] +divisioMinima = { + \once \override BreathingSign.stencil = #ly:breathing-sign::divisio-minima + \once \override BreathingSign.Y-offset = #0 + \breathe +} +divisioMaior = { + \once \override BreathingSign.stencil = #ly:breathing-sign::divisio-maior + \once \override BreathingSign.Y-offset = #0 + \breathe +} +divisioMaxima = { + \once \override BreathingSign.stencil = #ly:breathing-sign::divisio-maxima + \once \override BreathingSign.Y-offset = #0 + \breathe +} +finalis = { + \once \override BreathingSign.stencil = #ly:breathing-sign::finalis + \once \override BreathingSign.Y-offset = #0 + \breathe +} + +\score { + \relative c'' { + g2 a4 g + \divisioMinima + g2 a4 g + \divisioMaior + g2 a4 g + \divisioMaxima + g2 a4 g + \finalis + } + \layout { + \context { + \Staff + \remove "Bar_engraver" + } + } +} +@end lilypond + +Nei canti viene solitamente omessa l'indicazione di tempo e spesso +anche la chiave. + +@lilypond[verbatim,quote] +\score { + \new Staff { + \relative c'' { + a4 b c2 | + a4 b c2 | + a4 b c2 | + } + } + \layout { + \context { + \Staff + \remove "Bar_engraver" + \remove "Time_signature_engraver" + \remove "Clef_engraver" + } + } +} +@end lilypond + +I canti per salmi della tradizione anglicana sono solitamente o +@emph{singoli}, con 7 battute musicali, oppure @emph{doppi}, con due +gruppi di 7 battute. Ogni gruppo di 7 battute è diviso a metà, +che corrispondono alle metà di ciascun verso, di solito separato +da una doppia stanghetta. Si usano solo semibrevi e minime. La +prima battuta di ogni metà contiene sempre un solo accordo di semibrevi, +che viene chiamato la @qq{nota recitativa}. I canti sono centrati +sulla pagina. + +@lilypond[verbatim,quote] +SopranoMusic = \relative g' { + g1 | c2 b | a1 | \bar "||" + a1 | d2 c | c b | c1 | \bar "||" +} + +AltoMusic = \relative c' { + e1 | g2 g | f1 | + f1 | f2 e | d d | e1 | +} + +TenorMusic = \relative a { + c1 | c2 c | c1 | + d1 | g,2 g | g g | g1 | +} + +BassMusic = \relative c { + c1 | e2 e | f1 | + d1 | b2 c | g' g | c,1 | +} + +global = { + \time 2/2 +} + +% Si usa un blocco markup per centrare il canto sulla pagina +\markup { + \fill-line { + \score { % centered + << + \new ChoirStaff << + \new Staff << + \global + \clef "treble" + \new Voice = "Soprano" << + \voiceOne + \SopranoMusic + >> + \new Voice = "Alto" << + \voiceTwo + \AltoMusic + >> + >> + \new Staff << + \clef "bass" + \global + \new Voice = "Tenor" << + \voiceOne + \TenorMusic + >> + \new Voice = "Bass" << + \voiceTwo + \BassMusic + >> + >> + >> + >> + \layout { + \context { + \Score + \override SpacingSpanner.base-shortest-duration = #(ly:make-moment + 1/2) + } + \context { + \Staff + \remove "Time_signature_engraver" + } + } + } % End score + } +} % End markup +@end lilypond + +Altri approcci per impostare un canto simile sono illustrati nel primo +dei seguenti frammenti. + +@snippets + +@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] +{chant-or-psalms-notation.ly} + +I cantici e altri testi liturgici possono essere impostati in modo +più libero e possono usare elementi della notazione della musica +antica. Le parole sono spesso mostrate sotto e allineate con le note. +In questo caso le note sono spaziate in base alle sillabe invece che +alle durate delle note. + +@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] +{ancient-notation-template----modern-transcription-of-gregorian-music.ly} + +@seealso +Manuale di apprendimento: +@rlearning{Visibilità e colore degli oggetti}, +@rlearning{Modelli per gruppi vocali}. + +Guida alla notazione: +@ref{Ancient notation}, +@ref{Bar lines}, +@ref{Modifying context plug-ins}, +@ref{Typesetting Gregorian chant}, +@ref{Unmetered music}, +@ref{Visibility of objects}. + +@c esiste già un nodo con lo stesso nome: @rlearning{Salmi} +@node Salmi +@unnumberedsubsubsec Salmi +@translationof Pointing a psalm + +Le parole di un salmo anglicano sono solitamente stampate in +versi separati centrati sotto il canto. + +I canti singoli (7 battute) si ripetono per ogni verso. I canti +doppi (con 14 battute) si ripetono per ogni coppia di versi. +Sono inseriti dei segni nelle parole per mostrare come si +combinano col canto. Ogni verso è diviso a metà e tale divisione +è indicata solitamente dai due punti, che corrispondono alla +doppia stanghetta in musica. Le parole che precedono i due punti +sono cantate insieme alle prime tre battute della musica; quelle +successive insieme alle restanti quattro battute. + +Stanghette singole (o in alcuni libri di salmi una virgola inversa +o segno simile) sono inserite tra le parole per indicare dove +cadono le stanghette nella musica. In modalità markup una stanghetta +singola può essere inserita usando il simbolo di controllo battuta +@code{|}. + +@lilypond[verbatim,quote] +\markup { + \fill-line { + \column { + \left-align { + \line { O come let us sing | unto the | Lord : let } + \line { us heartily rejoice in the | strength of | our } + \line { sal- | -vation. } + } + } + } +} +@end lilypond + +Altri simboli potrebbero richiedere i glifi dei tipi di carattere @code{fetaMusic}. +Maggiori informazioni in @ref{Fonts}. + +@lilypond[verbatim,quote] +tick = \markup { + \raise #1 \fontsize #-5 \musicglyph #"scripts.rvarcomma" +} +\markup { + \fill-line { + \column { + \left-align { + \line { O come let us sing \tick unto the \tick Lord : let } + \line { + us heartily rejoice in the \tick strength of \tick our + } + \line { sal \tick vation. } + } + } + } +} +@end lilypond + +Se c'è una semibreve in una battuta, tutte le parole che si riferiscono +a quella battuta sono recitate su quella nota singola col ritmo del +parlato. Dove ci sono due note in una battuta ci saranno solo una o +due sillabe corrispondenti. Se ci sono più di due sillabe, si inserisce +solitamente un punto per indicare dove si trova il cambio di nota. + +@lilypond[verbatim,quote] +dot = \markup { + \raise #0.7 \musicglyph #"dots.dot" +} +tick = \markup { + \raise #1 \fontsize #-5 \musicglyph #"scripts.rvarcomma" +} +\markup { + \fill-line { + \column { + \left-align { + \line { + O come let us sing \tick unto \dot the \tick Lord : let + } + \line { + us heartily rejoice in the \tick strength of \tick our + } + \line { sal \tick vation. } + } + } + } +} +@end lilypond + +In alcuni libri di salmi si usa un asterisco, al posto di una virgola, per +indicare una pausa in una sezione recitata, mentre le sillabe accentate o +leggermente allungate sono indicate in grassetto. + +@lilypond[verbatim,quote] +dot = \markup { + \raise #0.7 \musicglyph #"dots.dot" +} +tick = \markup { + \raise #1 \fontsize #-5 \musicglyph #"scripts.rvarcomma" +} +\markup { + \fill-line { + \column { + \left-align { + \line { Today if ye will hear his voice * } + \line { + \concat { \bold hard en } + | not your | hearts : as in the pro- + } + \line { vocation * and as in the \bold day of tempt- | } + \line { -ation | in the | wilderness. } + } + } + } +} +@end lilypond + +In altri libri di salmi si usa un simbolo di accento sopra la sillaba +per indicare l'accento. + +@lilypond[verbatim,quote] +tick = \markup { + \raise #2 \fontsize #-5 \musicglyph #"scripts.rvarcomma" +} +\markup { + \fill-line { + \column { + \left-align { + \line { + O come let us \concat { + si \combine \tick ng + } + | unto the | Lord : let + } + \line { + us heartily \concat { + rejo \combine \tick ice + } + in the | strength of | our + } + \line { sal- | -vation. } + } + } + } +} +@end lilypond + +L'uso di @code{\markup} per centrare il testo e disporre le linee in +colonne è descritto in @ref{Formatting text}. + +La maggior parte di questi elementi sono mostrati in uno dei due versi +del modello @rlearning{Salmi}. + +@seealso +Manuale di apprendimento: +@rlearning{Salmi}, +@rlearning{Modelli per gruppi vocali}. + +Guida alla notazione: +@ref{Fonts}, +@ref{Formatting text}. + + +@node Misure parziali nei motivi degli inni +@unnumberedsubsubsec Misure parziali nei motivi degli inni +@translationof Partial measures in hymn tunes + +Le melodie degli inni spesso iniziano e terminano ogni rigo musicale +con misure parziali, così che ciascun rigo musicale corrisponda +esattamente a un rigo di testo. Per fare ciò è necessario un comando +@code{\partial} all'inizio della musica e dei comandi @code{\bar "|"} o +@code{\bar "||"} alla fine di ogni linea. + +@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] +{hymn-template.ly} + + +@node Musica vocale antica +@subsection Musica vocale antica +@translationof Ancient vocal music + +È supportata la musica vocale antica, come spiegato in +@ref{Ancient notation}. + +@c TODO + +@c Add "Printing both the ancient and the modern clef in vocal music" snippet, +@c and "Transcription of Ancient music with incipit" snippet. -vv + +@seealso +Guida alla notazione: +@ref{Ancient notation}. diff --git a/Documentation/it/search-box.ihtml b/Documentation/it/search-box.ihtml index 778c26fc57..b5602c33e5 100644 --- a/Documentation/it/search-box.ihtml +++ b/Documentation/it/search-box.ihtml @@ -1,17 +1,10 @@ -
} generano le diff --git a/Documentation/it/texidocs/engraving-ties-manually.texidoc b/Documentation/it/texidocs/engraving-ties-manually.texidoc index e64c6a62b0..b80aaece42 100644 --- a/Documentation/it/texidocs/engraving-ties-manually.texidoc +++ b/Documentation/it/texidocs/engraving-ties-manually.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Le legature di valore possono essere disegnate a mano cambiando la proprietà @code{tie-configuration} dell'oggetto @code{TieColumn}. Il diff --git a/Documentation/it/texidocs/entering-several-tuplets-using-only-one--times-command.texidoc b/Documentation/it/texidocs/entering-several-tuplets-using-only-one--times-command.texidoc deleted file mode 100644 index 653f1c6f16..0000000000 --- a/Documentation/it/texidocs/entering-several-tuplets-using-only-one--times-command.texidoc +++ /dev/null @@ -1,16 +0,0 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 - texidocit = " -La proprietà @code{tupletSpannerDuration} imposta la durata di ognuno dei -gruppi irregolari compresi tra parentesi dopo il comando @code{\\tuplet}. -In questo modo si possono inserire molti gruppi irregolari consecutivi -all'interno di una singola espressione @code{\\tuplet}, risparmiando così -tempo e spazio. - -Ci sono vari modi per impostare @code{tupletSpannerDuration}. Il -comando @code{\\tupletSpan} la imposta su una certa durata e poi -la annulla quando invece di una durata viene specificato -@code{\\default}. Altrimenti si può usare un argomento -opzionale con @code{\\tuplet}. - -" - doctitleit = "Inserire vari gruppi irregolari usando una sola volta il comando \\tuplet" diff --git a/Documentation/it/texidocs/entering-several-tuplets-using-only-one--tuplet-command.texidoc b/Documentation/it/texidocs/entering-several-tuplets-using-only-one--tuplet-command.texidoc new file mode 100644 index 0000000000..dbee06a69a --- /dev/null +++ b/Documentation/it/texidocs/entering-several-tuplets-using-only-one--tuplet-command.texidoc @@ -0,0 +1,16 @@ +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 + texidocit = " +La proprietà @code{tupletSpannerDuration} imposta la durata di ognuno dei +gruppi irregolari compresi tra parentesi dopo il comando @code{\\tuplet}. +In questo modo si possono inserire molti gruppi irregolari consecutivi +all'interno di una singola espressione @code{\\tuplet}, risparmiando così +tempo e spazio. + +Ci sono vari modi per impostare @code{tupletSpannerDuration}. Il +comando @code{\\tupletSpan} la imposta su una certa durata e poi +la annulla quando invece di una durata viene specificato +@code{\\default}. Altrimenti si può usare un argomento +opzionale con @code{\\tuplet}. + +" + doctitleit = "Inserire vari gruppi irregolari usando una sola volta il comando \\tuplet" diff --git a/Documentation/it/texidocs/extending-glissandi-across-repeats.texidoc b/Documentation/it/texidocs/extending-glissandi-across-repeats.texidoc index a742bc64fa..9e498c6e0a 100644 --- a/Documentation/it/texidocs/extending-glissandi-across-repeats.texidoc +++ b/Documentation/it/texidocs/extending-glissandi-across-repeats.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Un glissando che si estende in vari blocchi @code{\\alternative} può essere simulato aggiungendo all'inizio di ogni blocco @code{\\alternative} diff --git a/Documentation/it/texidocs/flat-flags-and-beam-nibs.texidoc b/Documentation/it/texidocs/flat-flags-and-beam-nibs.texidoc index 5b5b92c814..3fcb80a108 100644 --- a/Documentation/it/texidocs/flat-flags-and-beam-nibs.texidoc +++ b/Documentation/it/texidocs/flat-flags-and-beam-nibs.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " È possibile ottenere delle codette su note isolate e dei tratti di suddivisione all'estremità della travatura con una combinazione di @code{stemLeftBeamCount}, @@ -10,10 +10,11 @@ Per ottenere delle codette rivolte a destra, si usa la coppia di indicatori Per ottenere delle codette rivolte a sinistra, si imposta invece @code{stemRightBeamCount} (Example 2). -Perché i tratti di suddivisione alla fine di un gruppo di note unite da travatura siano rivolti -a destra, si imposta @code{stemRightBeamCount} su un valore positivo. Perché i -tratti di suddivisione all'inizio di un gruppo di note unite da travatura siano rivolti a sinistra, -si imposta invece @code{stemLeftBeamCount} (Example 3). +Perché i tratti di suddivisione alla fine di un gruppo di note unite da +travatura siano rivolti a destra, si imposta @code{stemRightBeamCount} su un +valore positivo. Perché i tratti di suddivisione all'inizio di un gruppo di note +unite da travatura siano rivolti a sinistra, si imposta invece +@code{stemLeftBeamCount} (Example 3). Talvolta, ad esempio per una nota isolata circondata da pause, ha senso avere una coda che punti sia a destra che a sinistra. Lo si può fare con @@ -22,7 +23,7 @@ una coppia di indicatori di travatura @code{[]} da soli (Example 4). (Nota che @code{\\set stemLeftBeamCount} è sempre equivalente a @code{\\once \\set}. In altre parole, le impostazioni che definiscono il conteggio delle travature non @qq{permangono}, quindi la coppia di code -attaccate al @code{c'16[]} solitario nell'ultimo esempio non hanno nulla a +attaccate al @code{16[]} solitario nell'ultimo esempio non hanno nulla a che fare con l'impostazione @code{\\set} di due note prima.) " diff --git a/Documentation/it/texidocs/forcing-horizontal-shift-of-notes.texidoc b/Documentation/it/texidocs/forcing-horizontal-shift-of-notes.texidoc index 957354fdb1..b540b04366 100644 --- a/Documentation/it/texidocs/forcing-horizontal-shift-of-notes.texidoc +++ b/Documentation/it/texidocs/forcing-horizontal-shift-of-notes.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Quando il motore tipografico non riesce a risolvere una situazione, si può usare la sintassi che sovrascrive le decisioni tipografiche. L'unità di diff --git a/Documentation/it/texidocs/formatting-lyrics-syllables.texidoc b/Documentation/it/texidocs/formatting-lyrics-syllables.texidoc new file mode 100644 index 0000000000..10fe1609af --- /dev/null +++ b/Documentation/it/texidocs/formatting-lyrics-syllables.texidoc @@ -0,0 +1,7 @@ +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 + texidocit = " +La modalità markup può essere usata per formattare le singole +sillabe del testo vocale. + +" + doctitleit = "Formattazione delle sillabe del testo vocale" diff --git a/Documentation/it/texidocs/grid-lines--changing-their-appearance.texidoc b/Documentation/it/texidocs/grid-lines--changing-their-appearance.texidoc index 70a58e8286..9606dc2b66 100644 --- a/Documentation/it/texidocs/grid-lines--changing-their-appearance.texidoc +++ b/Documentation/it/texidocs/grid-lines--changing-their-appearance.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " L'aspetto delle linee della griglia può essere modificato sovrascrivendo alcune delle loro proprietà. diff --git a/Documentation/it/texidocs/guitar-strum-rhythms.texidoc b/Documentation/it/texidocs/guitar-strum-rhythms.texidoc index a4b66a0c3a..351d58ef72 100644 --- a/Documentation/it/texidocs/guitar-strum-rhythms.texidoc +++ b/Documentation/it/texidocs/guitar-strum-rhythms.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Per la musica per chitarra, è possibile mostrare i ritmi di accompagnamento, insieme alle note della melodia e ai nomi e ai diagrammi degli accordi. diff --git a/Documentation/it/texidocs/hiding-accidentals-on-tied-notes-at-the-start-of-a-new-system.texidoc b/Documentation/it/texidocs/hiding-accidentals-on-tied-notes-at-the-start-of-a-new-system.texidoc index 762b59dd44..a889848014 100644 --- a/Documentation/it/texidocs/hiding-accidentals-on-tied-notes-at-the-start-of-a-new-system.texidoc +++ b/Documentation/it/texidocs/hiding-accidentals-on-tied-notes-at-the-start-of-a-new-system.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Questo frammento mostra come nascondere le alterazioni delle note unite alla figura precedente mediante una legatura di valore all'inizio di un nuovo sistema diff --git a/Documentation/it/texidocs/hiding-the-extender-line-for-text-dynamics.texidoc b/Documentation/it/texidocs/hiding-the-extender-line-for-text-dynamics.texidoc index c123168f04..b6eef51340 100644 --- a/Documentation/it/texidocs/hiding-the-extender-line-for-text-dynamics.texidoc +++ b/Documentation/it/texidocs/hiding-the-extender-line-for-text-dynamics.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " I cambi di dinamica in stile testuale (come cresc. e dim.) appaiono con una linea tratteggiata che mostra la loro estensione. Questa linea diff --git a/Documentation/it/texidocs/hymn-template.texidoc b/Documentation/it/texidocs/hymn-template.texidoc index 8ee2ac1b3f..c6b30cc715 100644 --- a/Documentation/it/texidocs/hymn-template.texidoc +++ b/Documentation/it/texidocs/hymn-template.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Il codice seguente presenta un modo di impostare un inno in cui ogni verso inizia e finisce con una misura parziale. Mostra anche come aggiungere delle diff --git a/Documentation/it/texidocs/inserting-a-caesura.texidoc b/Documentation/it/texidocs/inserting-a-caesura.texidoc index bc108107da..d1f9d84202 100644 --- a/Documentation/it/texidocs/inserting-a-caesura.texidoc +++ b/Documentation/it/texidocs/inserting-a-caesura.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " I segni di cesura possono essere creati sovrascrivendo la proprietà @code{'text} dell'oggetto @code{BreathingSign}. È disponibile anche un segno di cesura diff --git a/Documentation/it/texidocs/isolated-percent-repeats.texidoc b/Documentation/it/texidocs/isolated-percent-repeats.texidoc index 34daa2f11c..45a8039f78 100644 --- a/Documentation/it/texidocs/isolated-percent-repeats.texidoc +++ b/Documentation/it/texidocs/isolated-percent-repeats.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Si possono stampare anche segni di percentuale isolati. diff --git a/Documentation/it/texidocs/jazz-combo-template.texidoc b/Documentation/it/texidocs/jazz-combo-template.texidoc index 9e84989ac5..81f89d53be 100644 --- a/Documentation/it/texidocs/jazz-combo-template.texidoc +++ b/Documentation/it/texidocs/jazz-combo-template.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Ecco un modello piuttosto complesso, per un gruppo jazz. Si noti che tutti gli strumenti sono in @code{\\key c \\major}. Si tratta della tonalità diff --git a/Documentation/it/texidocs/lyrics-alignment.texidoc b/Documentation/it/texidocs/lyrics-alignment.texidoc new file mode 100644 index 0000000000..4ee1d782db --- /dev/null +++ b/Documentation/it/texidocs/lyrics-alignment.texidoc @@ -0,0 +1,10 @@ +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 + texidocit = " + +L'allineamento orizzontale del testo vocale si imposta attraverso la +proprietà @code{self-alignment-X} dell'oggetto @code{LyricText}. +@code{#-1} è sinistra, @code{#0} è centro e @code{#1} è destra; +si possono usare anche @code{#LEFT}, @code{#CENTER} e @code{#RIGHT}. + +" + doctitleit = "Allineamento del testo vocale" diff --git a/Documentation/it/texidocs/making-glissandi-breakable.texidoc b/Documentation/it/texidocs/making-glissandi-breakable.texidoc index 93fca27a9b..72f5656201 100644 --- a/Documentation/it/texidocs/making-glissandi-breakable.texidoc +++ b/Documentation/it/texidocs/making-glissandi-breakable.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Per permettere a un glissando di andare a capo se capita su un'interruzione di riga, si impostano le proprietà @code{breakable} e @code{after-line-breaking} diff --git a/Documentation/it/texidocs/making-slurs-with-complex-dash-structure.texidoc b/Documentation/it/texidocs/making-slurs-with-complex-dash-structure.texidoc index cbade23e06..273d560949 100644 --- a/Documentation/it/texidocs/making-slurs-with-complex-dash-structure.texidoc +++ b/Documentation/it/texidocs/making-slurs-with-complex-dash-structure.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Le legature di portamento possono avere schemi di tratteggio complessi definendo la proprietà @code{dash-definition}. @code{dash-definition} è diff --git a/Documentation/it/texidocs/making-some-staff-lines-thicker-than-the-others.texidoc b/Documentation/it/texidocs/making-some-staff-lines-thicker-than-the-others.texidoc index 24efb79a76..71b6cf8496 100644 --- a/Documentation/it/texidocs/making-some-staff-lines-thicker-than-the-others.texidoc +++ b/Documentation/it/texidocs/making-some-staff-lines-thicker-than-the-others.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " In ambito didattico può essere utile rendere più spesso una linea del rigo (per esempio, la linea centrale, o per sottolineare la linea diff --git a/Documentation/it/texidocs/mensurstriche-layout-bar-lines-between-the-staves.texidoc b/Documentation/it/texidocs/mensurstriche-layout-bar-lines-between-the-staves.texidoc index d102b528f7..9edd151fe5 100644 --- a/Documentation/it/texidocs/mensurstriche-layout-bar-lines-between-the-staves.texidoc +++ b/Documentation/it/texidocs/mensurstriche-layout-bar-lines-between-the-staves.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " La formattazione mensurale, in cui le stanghette non appaiono sui righi ma nello spazio tra i righi, si può ottenere usando @code{StaffGroup} al posto diff --git a/Documentation/it/texidocs/modifying-default-values-for-articulation-shorthand-notation.texidoc b/Documentation/it/texidocs/modifying-default-values-for-articulation-shorthand-notation.texidoc index 56f6f86e33..16288d3543 100644 --- a/Documentation/it/texidocs/modifying-default-values-for-articulation-shorthand-notation.texidoc +++ b/Documentation/it/texidocs/modifying-default-values-for-articulation-shorthand-notation.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Le abbreviazioni sono definite in @samp{ly/script-init.ly}, dove sono assegnati valori predefiniti alle variabili @code{dashHat}, @code{dashPlus}, diff --git a/Documentation/it/texidocs/modifying-the-ottava-spanner-slope.texidoc b/Documentation/it/texidocs/modifying-the-ottava-spanner-slope.texidoc new file mode 100644 index 0000000000..57f72078e6 --- /dev/null +++ b/Documentation/it/texidocs/modifying-the-ottava-spanner-slope.texidoc @@ -0,0 +1,6 @@ +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 + texidocit = " +È possibile cambiare l'inclinazione dell'estensore dell'ottava. + +" + doctitleit = "Modificare l'inclinazione dell'estensore dell'ottava" diff --git a/Documentation/it/texidocs/multi-measure-rest-markup.texidoc b/Documentation/it/texidocs/multi-measure-rest-markup.texidoc index 62d258d356..d64590cf2a 100644 --- a/Documentation/it/texidocs/multi-measure-rest-markup.texidoc +++ b/Documentation/it/texidocs/multi-measure-rest-markup.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Il testo a margine di una pausa multipla viene centrato sopra o sotto di essa. Se il testo è lungo, la misura non si espanderà. Per espandere diff --git a/Documentation/it/texidocs/nesting-staves.texidoc b/Documentation/it/texidocs/nesting-staves.texidoc index c241c17677..9a2811a5d7 100644 --- a/Documentation/it/texidocs/nesting-staves.texidoc +++ b/Documentation/it/texidocs/nesting-staves.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Si può usare la proprietà @code{systemStartDelimiterHierarchy} per creare gruppi di righi annidati più complessi. Il comando @code{\\set diff --git a/Documentation/it/texidocs/non-default-tuplet-numbers.texidoc b/Documentation/it/texidocs/non-default-tuplet-numbers.texidoc index 718e2ca14b..2c7da8f6fa 100644 --- a/Documentation/it/texidocs/non-default-tuplet-numbers.texidoc +++ b/Documentation/it/texidocs/non-default-tuplet-numbers.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " LilyPond fornisce anche funzioni di formattazione che permettono di creare numeri di gruppi irregolari diversi dalla frazione vera e propria, così come diff --git a/Documentation/it/texidocs/non-traditional-key-signatures.texidoc b/Documentation/it/texidocs/non-traditional-key-signatures.texidoc index c3eba8e1c1..600218e625 100644 --- a/Documentation/it/texidocs/non-traditional-key-signatures.texidoc +++ b/Documentation/it/texidocs/non-traditional-key-signatures.texidoc @@ -1,13 +1,13 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Il comando @code{\\key} comunemente usato imposta la proprietà -@code{keySignature}, che fa parte del contesto @code{Staff}. +@code{keyAlterations}, che fa parte del contesto @code{Staff}. Per creare armature di chiave non standard, tale proprietà va impostata esplicitamente. Il formato di questo comando è una lista: -@code{\\set Staff.keySignature = #`(((ottava . grado) . alterazione) ((ottava +@code{\\set Staff.keyAlterations = #`(((ottava . grado) . alterazione) ((ottava . grado) . alterazione) ...)} dove, per ogni elemento della lista, @code{ottava} indica l'ottava (0@tie{}è l'ottava dal Do@tie{}centrale al Si precedente), @code{grado} indica la nota all'interno diff --git a/Documentation/it/texidocs/numbers-as-easy-note-heads.texidoc b/Documentation/it/texidocs/numbers-as-easy-note-heads.texidoc index 5c0dc37bbc..e2d61000d4 100644 --- a/Documentation/it/texidocs/numbers-as-easy-note-heads.texidoc +++ b/Documentation/it/texidocs/numbers-as-easy-note-heads.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Le teste di nota con nome della nota usano la proprietà @code{note-names} dell'oggetto @code{NoteHead} per determinare cosa appaia diff --git a/Documentation/it/texidocs/obtaining-2.12-lyrics-spacing-in-newer-versions.texidoc b/Documentation/it/texidocs/obtaining-2.12-lyrics-spacing-in-newer-versions.texidoc new file mode 100644 index 0000000000..c78343a10f --- /dev/null +++ b/Documentation/it/texidocs/obtaining-2.12-lyrics-spacing-in-newer-versions.texidoc @@ -0,0 +1,12 @@ +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 + texidocit = " +Il motore di spaziatura verticale è cambiato a partire dalla +versione 2.14. Ciò può far sì che il testo vocale abbia un +posizionamento diverso. + +È possibile impostare delle proprietà dei contesti @code{Lyric} e @code{Staff} +che facciano sì che il motore di spaziatura si comporti come nella versione 2.12. + + +" + doctitleit = "Ottenere la spaziatura del testo della vecchia versione 2.12" diff --git a/Documentation/it/texidocs/orchestra,-choir-and-piano-template.texidoc b/Documentation/it/texidocs/orchestra,-choir-and-piano-template.texidoc index cd2ebd5461..b5074e0a88 100644 --- a/Documentation/it/texidocs/orchestra,-choir-and-piano-template.texidoc +++ b/Documentation/it/texidocs/orchestra,-choir-and-piano-template.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Questo modello mostra come usare i contesti annidati @code{StaffGroup} e @code{GrandStaff} per creare sottogruppi degli strumenti dello stesso diff --git a/Documentation/it/texidocs/ottava-text.texidoc b/Documentation/it/texidocs/ottava-text.texidoc index 62672e3c9b..fa96a6f050 100644 --- a/Documentation/it/texidocs/ottava-text.texidoc +++ b/Documentation/it/texidocs/ottava-text.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Internamente, @code{\\ottava} imposta le proprietà @code{ottavation} (ad esempio, su @code{8va} o @code{8vb}) e @code{middleCPosition}. Per diff --git a/Documentation/it/texidocs/partcombine-and-autobeamoff.texidoc b/Documentation/it/texidocs/partcombine-and-autobeamoff.texidoc index f77194353a..2d17d20b79 100644 --- a/Documentation/it/texidocs/partcombine-and-autobeamoff.texidoc +++ b/Documentation/it/texidocs/partcombine-and-autobeamoff.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " La funzione @code{\\autoBeamOff}, se usata insieme a @code{\\partcombine}, può essere difficile da comprendere. diff --git a/Documentation/it/texidocs/percent-repeat-count-visibility.texidoc b/Documentation/it/texidocs/percent-repeat-count-visibility.texidoc index b4220af42f..d3f6af9306 100644 --- a/Documentation/it/texidocs/percent-repeat-count-visibility.texidoc +++ b/Documentation/it/texidocs/percent-repeat-count-visibility.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " I contatori della ripetizione con segno percentuale possono essere mostrati a intervalli regolari impostando la proprietà di contesto @code{repeatCountVisibility}. diff --git a/Documentation/it/texidocs/percent-repeat-counter.texidoc b/Documentation/it/texidocs/percent-repeat-counter.texidoc index 7f47617d19..4e1c4e5ee6 100644 --- a/Documentation/it/texidocs/percent-repeat-counter.texidoc +++ b/Documentation/it/texidocs/percent-repeat-counter.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Le ripetizioni di misura che hanno più di due ripetizioni possono avere un contatore se si cambia la proprietà opportuna, come mostra questo esempio: diff --git a/Documentation/it/texidocs/permitting-line-breaks-within-beamed-tuplets.texidoc b/Documentation/it/texidocs/permitting-line-breaks-within-beamed-tuplets.texidoc index 3b17ed2656..8cde60f814 100644 --- a/Documentation/it/texidocs/permitting-line-breaks-within-beamed-tuplets.texidoc +++ b/Documentation/it/texidocs/permitting-line-breaks-within-beamed-tuplets.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Questo esempio artificioso mostra come permettere interruzioni del rigo sia manuali che automatiche all'interno di un gruppo irregolare con travature. diff --git a/Documentation/it/texidocs/piano-template-simple.texidoc b/Documentation/it/texidocs/piano-template-simple.texidoc index 8c30ac6714..f6fb20a308 100644 --- a/Documentation/it/texidocs/piano-template-simple.texidoc +++ b/Documentation/it/texidocs/piano-template-simple.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Ecco un comune doppio pentagramma per pianoforte con un po' di note. diff --git a/Documentation/it/texidocs/piano-template-with-centered-lyrics.texidoc b/Documentation/it/texidocs/piano-template-with-centered-lyrics.texidoc index ca4fb20b31..4cf51eda6e 100644 --- a/Documentation/it/texidocs/piano-template-with-centered-lyrics.texidoc +++ b/Documentation/it/texidocs/piano-template-with-centered-lyrics.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Invece di destinare un rigo a parte alla linea melodica e al suo testo, è possibile collocare il testo al centro di un doppio pentagramma per pianoforte. diff --git a/Documentation/it/texidocs/piano-template-with-melody-and-lyrics.texidoc b/Documentation/it/texidocs/piano-template-with-melody-and-lyrics.texidoc index 67ce1696db..9339fa5522 100644 --- a/Documentation/it/texidocs/piano-template-with-melody-and-lyrics.texidoc +++ b/Documentation/it/texidocs/piano-template-with-melody-and-lyrics.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Ecco un tipico formato per canzoni: un rigo con linea melodica e testo, e sotto l'accompagnamento per pianoforte. diff --git a/Documentation/it/texidocs/positioning-grace-notes-with-floating-space.texidoc b/Documentation/it/texidocs/positioning-grace-notes-with-floating-space.texidoc index 2c5382474b..448b1e3099 100644 --- a/Documentation/it/texidocs/positioning-grace-notes-with-floating-space.texidoc +++ b/Documentation/it/texidocs/positioning-grace-notes-with-floating-space.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Se si imposta la proprietà @code{'strict-grace-spacing}, le colonne musicali degli abbellimenti 'fluttuano', ovvero si scollegano dalle note normali: diff --git a/Documentation/it/texidocs/positioning-multi-measure-rests.texidoc b/Documentation/it/texidocs/positioning-multi-measure-rests.texidoc index 18724dedbd..0bee15c038 100644 --- a/Documentation/it/texidocs/positioning-multi-measure-rests.texidoc +++ b/Documentation/it/texidocs/positioning-multi-measure-rests.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Diversamente dalle pause normali, non esiste un comando predefinito per cambiare la posizione sul rigo di un simbolo di pausa multipla di qualsiasi diff --git a/Documentation/it/texidocs/positioning-text-markups-inside-slurs.texidoc b/Documentation/it/texidocs/positioning-text-markups-inside-slurs.texidoc index 5108fc0d8e..ed769212e6 100644 --- a/Documentation/it/texidocs/positioning-text-markups-inside-slurs.texidoc +++ b/Documentation/it/texidocs/positioning-text-markups-inside-slurs.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " I testi a margine devono avere la proprietà @code{outside-staff-priority} impostata su false per poter apparire dentro le legature di portamento. diff --git a/Documentation/it/texidocs/preventing-extra-naturals-from-being-automatically-added.texidoc b/Documentation/it/texidocs/preventing-extra-naturals-from-being-automatically-added.texidoc index 17fc9173af..00bfe73b34 100644 --- a/Documentation/it/texidocs/preventing-extra-naturals-from-being-automatically-added.texidoc +++ b/Documentation/it/texidocs/preventing-extra-naturals-from-being-automatically-added.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Secondo le norme tipografiche tradizionali, un segno di bequadro viene inserito prima di un diesis o di un bemolle se un precedente doppio diesis o diff --git a/Documentation/it/texidocs/preventing-natural-signs-from-being-printed-when-the-key-signature-changes.texidoc b/Documentation/it/texidocs/preventing-natural-signs-from-being-printed-when-the-key-signature-changes.texidoc index 3286fbb098..26dcdec86d 100644 --- a/Documentation/it/texidocs/preventing-natural-signs-from-being-printed-when-the-key-signature-changes.texidoc +++ b/Documentation/it/texidocs/preventing-natural-signs-from-being-printed-when-the-key-signature-changes.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Quando l'armatura di chiave cambia, vengono inseriti automaticamente i segni di bequadro per annulare le alterazioni di precedenti armature. Si diff --git a/Documentation/it/texidocs/printing-a-repeat-sign-at-the-beginning-of-a-piece.texidoc b/Documentation/it/texidocs/printing-a-repeat-sign-at-the-beginning-of-a-piece.texidoc index f9791cb141..1c7d362756 100644 --- a/Documentation/it/texidocs/printing-a-repeat-sign-at-the-beginning-of-a-piece.texidoc +++ b/Documentation/it/texidocs/printing-a-repeat-sign-at-the-beginning-of-a-piece.texidoc @@ -1,7 +1,6 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " -Una stanghetta @code{.|:} può apparire all'inizio di un brano, se si -sovrascrive la proprietà pertinente: +Una stanghetta @code{.|:} può apparire all'inizio di un brano. " doctitleit = "Stampare un segno di ripetizione all'inizio di un brano" diff --git a/Documentation/it/texidocs/printing-bar-numbers-at-regular-intervals.texidoc b/Documentation/it/texidocs/printing-bar-numbers-at-regular-intervals.texidoc index 7de0cba7c4..abe6c4be7b 100644 --- a/Documentation/it/texidocs/printing-bar-numbers-at-regular-intervals.texidoc +++ b/Documentation/it/texidocs/printing-bar-numbers-at-regular-intervals.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " I numeri di battuta possono essere resi visbili a intervalli regolari attraverso la proprietà @code{barNumberVisibility}. In questo esempio diff --git a/Documentation/it/texidocs/printing-bar-numbers-inside-boxes-or-circles.texidoc b/Documentation/it/texidocs/printing-bar-numbers-inside-boxes-or-circles.texidoc index c61342d4f3..9120ece29f 100644 --- a/Documentation/it/texidocs/printing-bar-numbers-inside-boxes-or-circles.texidoc +++ b/Documentation/it/texidocs/printing-bar-numbers-inside-boxes-or-circles.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " I numeri di battuta possono apparire anche all'interno di rettangoli o cerchi. diff --git a/Documentation/it/texidocs/printing-hairpins-in-various-styles.texidoc b/Documentation/it/texidocs/printing-hairpins-in-various-styles.texidoc index 5a3c1018f2..a0b2ab4713 100644 --- a/Documentation/it/texidocs/printing-hairpins-in-various-styles.texidoc +++ b/Documentation/it/texidocs/printing-hairpins-in-various-styles.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Il segno di dinamica della forcella può avere diversi stili diff --git a/Documentation/it/texidocs/printing-hairpins-using-al-niente-notation.texidoc b/Documentation/it/texidocs/printing-hairpins-using-al-niente-notation.texidoc index 4df9c3a1b7..5da211f352 100644 --- a/Documentation/it/texidocs/printing-hairpins-using-al-niente-notation.texidoc +++ b/Documentation/it/texidocs/printing-hairpins-using-al-niente-notation.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Le forcelle di dinamica possono essere rappresentate con ua punta tonda (notazione @qq{al niente}) impostando la proprietà @code{circled-tip} diff --git a/Documentation/it/texidocs/printing-marks-at-the-end-of-a-line.texidoc b/Documentation/it/texidocs/printing-marks-at-the-end-of-a-line.texidoc index 43f285f559..8b57b8ae61 100644 --- a/Documentation/it/texidocs/printing-marks-at-the-end-of-a-line.texidoc +++ b/Documentation/it/texidocs/printing-marks-at-the-end-of-a-line.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " È possibile posizionare le indicazioni alla fine della linea corrente, invece che all'inizio della linea successiva. In tali casi, può essere preferibile diff --git a/Documentation/it/texidocs/printing-marks-on-every-staff.texidoc b/Documentation/it/texidocs/printing-marks-on-every-staff.texidoc index 6781d12c62..e20ad27cab 100644 --- a/Documentation/it/texidocs/printing-marks-on-every-staff.texidoc +++ b/Documentation/it/texidocs/printing-marks-on-every-staff.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Sebbene le indicazioni testuali siano di norma collocate solo sopra il rigo più alto, è possibile farle apparire su ogni rigo. diff --git a/Documentation/it/texidocs/printing-metronome-and-rehearsal-marks-below-the-staff.texidoc b/Documentation/it/texidocs/printing-metronome-and-rehearsal-marks-below-the-staff.texidoc index 231bf41de3..4afad8b5c1 100644 --- a/Documentation/it/texidocs/printing-metronome-and-rehearsal-marks-below-the-staff.texidoc +++ b/Documentation/it/texidocs/printing-metronome-and-rehearsal-marks-below-the-staff.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Di norma, il metronomo e i numeri di chiamata vengono posizionati sopra il rigo. Per metterli sotto il rigo basta impostare correttamente la proprietà diff --git a/Documentation/it/texidocs/printing-the-bar-number-for-the-first-measure.texidoc b/Documentation/it/texidocs/printing-the-bar-number-for-the-first-measure.texidoc index 8f8861f3a6..661f4e9805 100644 --- a/Documentation/it/texidocs/printing-the-bar-number-for-the-first-measure.texidoc +++ b/Documentation/it/texidocs/printing-the-bar-number-for-the-first-measure.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Il primo numero di battuta di una partitura viene soppresso se è inferiore o uguale a `1'. Se si imposta @code{barNumberVisibility} su diff --git a/Documentation/it/texidocs/redefining-grace-note-global-defaults.texidoc b/Documentation/it/texidocs/redefining-grace-note-global-defaults.texidoc index 1686d57dc8..a0005530ab 100644 --- a/Documentation/it/texidocs/redefining-grace-note-global-defaults.texidoc +++ b/Documentation/it/texidocs/redefining-grace-note-global-defaults.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Le impostazioni globali predefinite degli abbellimenti sono salvate negli identificatori @code{startGraceMusic}, @code{stopGraceMusic}, diff --git a/Documentation/it/texidocs/removing-bar-numbers-from-a-score.texidoc b/Documentation/it/texidocs/removing-bar-numbers-from-a-score.texidoc index 070ddd40ef..7e48717f54 100644 --- a/Documentation/it/texidocs/removing-bar-numbers-from-a-score.texidoc +++ b/Documentation/it/texidocs/removing-bar-numbers-from-a-score.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " I numeri di battuta possono essere tolti rimuovendo l'incisore @code{Bar_number_engraver} dal contesto @code{Score}. diff --git a/Documentation/it/texidocs/removing-the-first-empty-line.texidoc b/Documentation/it/texidocs/removing-the-first-empty-line.texidoc index d864a456a0..8cd3705e37 100644 --- a/Documentation/it/texidocs/removing-the-first-empty-line.texidoc +++ b/Documentation/it/texidocs/removing-the-first-empty-line.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Il primo rigo vuoto si può togliere dalla partitura impostando la proprietà @code{remove-first} di @code{VerticalAxisGroup}. Questa impostazione diff --git a/Documentation/it/texidocs/rest-styles.texidoc b/Documentation/it/texidocs/rest-styles.texidoc index eeb368617f..7b7cb54bfe 100644 --- a/Documentation/it/texidocs/rest-styles.texidoc +++ b/Documentation/it/texidocs/rest-styles.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Esistono vari stili di pausa. diff --git a/Documentation/it/texidocs/satb-choir-template---four-staves.texidoc b/Documentation/it/texidocs/satb-choir-template---four-staves.texidoc index 37a913dd9d..a034d33b6b 100644 --- a/Documentation/it/texidocs/satb-choir-template---four-staves.texidoc +++ b/Documentation/it/texidocs/satb-choir-template---four-staves.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Modello per coro SATB (quattro righi) diff --git a/Documentation/it/texidocs/setting-hairpin-behavior-at-bar-lines.texidoc b/Documentation/it/texidocs/setting-hairpin-behavior-at-bar-lines.texidoc index 5692773d49..8f2ba53703 100644 --- a/Documentation/it/texidocs/setting-hairpin-behavior-at-bar-lines.texidoc +++ b/Documentation/it/texidocs/setting-hairpin-behavior-at-bar-lines.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Se la nota che termina una forcella si trova sul primo battito di una battuta, la forcella si ferma prima della stanghetta che precede la diff --git a/Documentation/it/texidocs/setting-the-double-repeat-default-for-volte.texidoc b/Documentation/it/texidocs/setting-the-double-repeat-default-for-volte.texidoc index 6ccd71fc61..aa04f77990 100644 --- a/Documentation/it/texidocs/setting-the-double-repeat-default-for-volte.texidoc +++ b/Documentation/it/texidocs/setting-the-double-repeat-default-for-volte.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Esistono tre diversi stili di doppie ripetizioni per le volte, che si possono impostare con @code{doubleRepeatType}. diff --git a/Documentation/it/texidocs/setting-the-minimum-length-of-hairpins.texidoc b/Documentation/it/texidocs/setting-the-minimum-length-of-hairpins.texidoc index cca0a8ceda..cd354d6c22 100644 --- a/Documentation/it/texidocs/setting-the-minimum-length-of-hairpins.texidoc +++ b/Documentation/it/texidocs/setting-the-minimum-length-of-hairpins.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Se le forcelle sono troppo corte, possono essere allungate modificando la proprietà @code{minimum-length} dell'oggetto @code{Hairpin}. diff --git a/Documentation/it/texidocs/shortening-volta-brackets.texidoc b/Documentation/it/texidocs/shortening-volta-brackets.texidoc index 84889afc7c..63b4c9c0e6 100644 --- a/Documentation/it/texidocs/shortening-volta-brackets.texidoc +++ b/Documentation/it/texidocs/shortening-volta-brackets.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Per impostazione predefinita, le parentesi delle volte si estendono per tutta l'alternativa, ma si possono accorciare impostando diff --git a/Documentation/it/texidocs/simple-lead-sheet.texidoc b/Documentation/it/texidocs/simple-lead-sheet.texidoc new file mode 100644 index 0000000000..18e1402eee --- /dev/null +++ b/Documentation/it/texidocs/simple-lead-sheet.texidoc @@ -0,0 +1,7 @@ +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 + texidocit = " +Mettendo insieme nomi degli accordi, melodia e testo si ottiene un +canzoniere (in inglese @qq{lead sheet}): + +" + doctitleit = "Canzoniere semplice" diff --git a/Documentation/it/texidocs/single-staff-template-with-notes,-lyrics,-and-chords.texidoc b/Documentation/it/texidocs/single-staff-template-with-notes,-lyrics,-and-chords.texidoc index e9c8d7004e..a17f2d1543 100644 --- a/Documentation/it/texidocs/single-staff-template-with-notes,-lyrics,-and-chords.texidoc +++ b/Documentation/it/texidocs/single-staff-template-with-notes,-lyrics,-and-chords.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Ecco il modello di un comune spartito semplificato (lead sheet): include linea melodica, testo vocale e sigle degli accordi. diff --git a/Documentation/it/texidocs/single-staff-template-with-notes-and-chords.texidoc b/Documentation/it/texidocs/single-staff-template-with-notes-and-chords.texidoc index 8a4eddc7f3..f0ba43a537 100644 --- a/Documentation/it/texidocs/single-staff-template-with-notes-and-chords.texidoc +++ b/Documentation/it/texidocs/single-staff-template-with-notes-and-chords.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Vuoi preparare uno spartito semplificato (lead sheet) con melodia e accordi? La tua ricerca è finita! diff --git a/Documentation/it/texidocs/single-staff-template-with-notes-and-lyrics.texidoc b/Documentation/it/texidocs/single-staff-template-with-notes-and-lyrics.texidoc index f4e9103178..636b5b0056 100644 --- a/Documentation/it/texidocs/single-staff-template-with-notes-and-lyrics.texidoc +++ b/Documentation/it/texidocs/single-staff-template-with-notes-and-lyrics.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Questo piccolo modello presenta una semplice linea melodica con un testo. Copialo e incollalo, aggiungi le note e le parole. Questo esempio disabilita la diff --git a/Documentation/it/texidocs/single-staff-template-with-only-notes.texidoc b/Documentation/it/texidocs/single-staff-template-with-only-notes.texidoc index 02b6699976..6e08eeadca 100644 --- a/Documentation/it/texidocs/single-staff-template-with-only-notes.texidoc +++ b/Documentation/it/texidocs/single-staff-template-with-only-notes.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Questo modello molto semplice mette a disposizione un rigo con delle note ed è quindi adatto per uno strumento non accompagnato o per un frammento diff --git a/Documentation/it/texidocs/stand-alone-two-column-markup.texidoc b/Documentation/it/texidocs/stand-alone-two-column-markup.texidoc index 3a2f283f88..496adc4564 100644 --- a/Documentation/it/texidocs/stand-alone-two-column-markup.texidoc +++ b/Documentation/it/texidocs/stand-alone-two-column-markup.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Il testo separato può essere disposto su varie colonne con i comandi di @code{\\markup}: diff --git a/Documentation/it/texidocs/strict-beat-beaming.texidoc b/Documentation/it/texidocs/strict-beat-beaming.texidoc index 123e051fb5..cf6a865f42 100644 --- a/Documentation/it/texidocs/strict-beat-beaming.texidoc +++ b/Documentation/it/texidocs/strict-beat-beaming.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Si possono impostare i tratti di suddivisione della travatura in modo che siano rivolti verso la relativa pulsazione. La prima travatura fa sì che non spuntino diff --git a/Documentation/it/texidocs/string-quartet-template-simple.texidoc b/Documentation/it/texidocs/string-quartet-template-simple.texidoc index f7b7f8b8ca..8bba443c55 100644 --- a/Documentation/it/texidocs/string-quartet-template-simple.texidoc +++ b/Documentation/it/texidocs/string-quartet-template-simple.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Questo modello presenta un semplice quartetto d'archi. Impiega anche una sezione @code{\\global} per definire il tempo e l'armatura di chiave. diff --git a/Documentation/it/texidocs/string-quartet-template-with-separate-parts.texidoc b/Documentation/it/texidocs/string-quartet-template-with-separate-parts.texidoc index ac32c5342d..5dab78bc26 100644 --- a/Documentation/it/texidocs/string-quartet-template-with-separate-parts.texidoc +++ b/Documentation/it/texidocs/string-quartet-template-with-separate-parts.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Il frammento di codice del @qq{Modello per quartetto d'archi} crea un bel quartetto, ma cosa fare se si ha bisogno di creare le singole parti? Questo diff --git a/Documentation/it/texidocs/subdividing-beams.texidoc b/Documentation/it/texidocs/subdividing-beams.texidoc index d50e918b39..0bb520904d 100644 --- a/Documentation/it/texidocs/subdividing-beams.texidoc +++ b/Documentation/it/texidocs/subdividing-beams.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Le travature di note consecutive di un sedicesimo (o più brevi) non vengono suddivise, ovvero i tre (o più) tratti della travatura si estendono, senza diff --git a/Documentation/it/texidocs/time-signature-printing-only-the-numerator-as-a-number-instead-of-the-fraction.texidoc b/Documentation/it/texidocs/time-signature-printing-only-the-numerator-as-a-number-instead-of-the-fraction.texidoc index 5516022dad..7c94dbe468 100644 --- a/Documentation/it/texidocs/time-signature-printing-only-the-numerator-as-a-number-instead-of-the-fraction.texidoc +++ b/Documentation/it/texidocs/time-signature-printing-only-the-numerator-as-a-number-instead-of-the-fraction.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Talvolta un'indicazione di tempo non deve mostrare la frazione intera (ad esempio 7/4), ma solo il numeratore (7 in questo caso). Si può ottenere facilmente con diff --git a/Documentation/it/texidocs/transposing-pitches-with-minimum-accidentals-smart-transpose.texidoc b/Documentation/it/texidocs/transposing-pitches-with-minimum-accidentals-smart-transpose.texidoc index 399c967e53..62ce018494 100644 --- a/Documentation/it/texidocs/transposing-pitches-with-minimum-accidentals-smart-transpose.texidoc +++ b/Documentation/it/texidocs/transposing-pitches-with-minimum-accidentals-smart-transpose.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Questo esempio usa del codice Scheme per imporre delle modifiche enarmoniche alle note che permettano di avere il numero minimo di diff --git a/Documentation/it/texidocs/tweaking-clef-properties.texidoc b/Documentation/it/texidocs/tweaking-clef-properties.texidoc index c3eb8f2ef3..60e4fd9738 100644 --- a/Documentation/it/texidocs/tweaking-clef-properties.texidoc +++ b/Documentation/it/texidocs/tweaking-clef-properties.texidoc @@ -1,32 +1,18 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " -Il comando @code{\\clef \"treble_8\"} equivale a impostare +Cambiando il glifo della chiave, la sua posizione o l'ottavazione non +cambia la posizione delle note successive nel rigo. Per far sì che +le armature di chiave si trovino sulle linee del rigo corrette, bisogna +specificare anche @code{middleCPosition}, con valori positivi o negativi +che spostano il @emph{Do centrale} rispettivamente su o giù in senso +relativo alla linea centrale del rigo. + +Per esempio, @code{\\clef \"treble_8\"} equivale a impostare @code{clefGlyph}, @code{clefPosition} (che regola la posizione verticale della chiave), @code{middleCPosition} e @code{clefTransposition}. Viene stampata una chiave quando cambia una di queste proprietà, eccetto @code{middleCPosition}. - -La modifica del glifo, della posizione della chiave o -dell'ottavazione non è sufficiente per cambiare la posizione delle -note che seguono sul rigo: bisogna anche specificare la posizione -del Do centrale (middle C). Per far sì che le armature di chiave -si trovino sulle linee corrette del rigo, occorre impostare anche -@code{middleCClefPosition}. I parametri di posizione sono relativi -alla linea centrale del rigo, con i numeri positivi che indicano -la parte superiore: ogni linea e spazio valgono uno. Il valore -@code{clefTransposition} di norma è impostato su 7, -7, 15 -o -15, ma altri valori sono considerati validi. - - -Quando un cambio di chiave avviene in corrispondenza di un'interruzione di -linea, di norma il simbolo della nuova chiave viene inserito sia alla fine -del rigo precedente sia all'inizio di quello successivo. Se la -chiave di avvertimento a fine rigo non fosse necessaria, -può essere nascosta impostando la proprietà @code{explicitClefVisibility} -del contesto @code{Staff} su @code{end-of-line-invisible}. Il comportamento -predefinito può essere ripristinato con @code{\\unset Staff.explicitClefVisibility}. - Gli esempi seguenti mostrano le possibilità date dall'impostazione manuale di tali proprietà. Sulla prima linea le modifiche manuali preservano il posizionamento relativo standard di chiavi e note, mentre sulla seconda diff --git a/Documentation/it/texidocs/tweaking-grace-layout-within-music.texidoc b/Documentation/it/texidocs/tweaking-grace-layout-within-music.texidoc index d04af80f3e..eac4f1f144 100644 --- a/Documentation/it/texidocs/tweaking-grace-layout-within-music.texidoc +++ b/Documentation/it/texidocs/tweaking-grace-layout-within-music.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " L'aspetto di tutte le espressioni contenute nei blocchi @code{\grace} di un brano può essere modificato con le funzioni @code{add-grace-property} e diff --git a/Documentation/it/texidocs/use-square-bracket-at-the-start-of-a-staff-group.texidoc b/Documentation/it/texidocs/use-square-bracket-at-the-start-of-a-staff-group.texidoc index 61bcf198e9..e793ed97b9 100644 --- a/Documentation/it/texidocs/use-square-bracket-at-the-start-of-a-staff-group.texidoc +++ b/Documentation/it/texidocs/use-square-bracket-at-the-start-of-a-staff-group.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Si può usare il segno @code{SystemStartSquare} (uno dei segni che delimitano l'inizio del sistema) impostandolo esplicitamente in un contesto diff --git a/Documentation/it/texidocs/using-a-tick-as-the-breath-mark-symbol.texidoc b/Documentation/it/texidocs/using-a-tick-as-the-breath-mark-symbol.texidoc index a24b630523..b099f52aa4 100644 --- a/Documentation/it/texidocs/using-a-tick-as-the-breath-mark-symbol.texidoc +++ b/Documentation/it/texidocs/using-a-tick-as-the-breath-mark-symbol.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " La musica vocale e per fiati usa frequentemente il segno di spunta come segno di respiro. Questo indica un respiro che sottrae un po' di tempo alla nota diff --git a/Documentation/it/texidocs/using-arpeggiobracket-to-make-divisi-more-visible.texidoc b/Documentation/it/texidocs/using-arpeggiobracket-to-make-divisi-more-visible.texidoc new file mode 100644 index 0000000000..2f6bc46324 --- /dev/null +++ b/Documentation/it/texidocs/using-arpeggiobracket-to-make-divisi-more-visible.texidoc @@ -0,0 +1,8 @@ +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 + texidocit = " +Si può usare @code{arpeggioBracket} per indicare la divisione delle +voci quando non ci sono gambi che forniscano questa informazione. Questo +caso è frequente nella musica corale. + +" + doctitleit = "Usare arpeggioBracket per rendere i divisi più visibili" diff --git a/Documentation/it/texidocs/using-double-slurs-for-legato-chords.texidoc b/Documentation/it/texidocs/using-double-slurs-for-legato-chords.texidoc index 4e29990d83..5295de8190 100644 --- a/Documentation/it/texidocs/using-double-slurs-for-legato-chords.texidoc +++ b/Documentation/it/texidocs/using-double-slurs-for-legato-chords.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Alcuni compositori scrivono due legature di portamento per indicare gli accordi legati. Si può ottenere questo risultato impostando @code{doubleSlurs}. diff --git a/Documentation/it/texidocs/using-grace-note-slashes-with-normal-heads.texidoc b/Documentation/it/texidocs/using-grace-note-slashes-with-normal-heads.texidoc index c9f74b1dda..c02bf186e2 100644 --- a/Documentation/it/texidocs/using-grace-note-slashes-with-normal-heads.texidoc +++ b/Documentation/it/texidocs/using-grace-note-slashes-with-normal-heads.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Il gambo barrato presente nelle acciaccature può essere applicato in altre situazioni. diff --git a/Documentation/it/texidocs/using-ties-with-arpeggios.texidoc b/Documentation/it/texidocs/using-ties-with-arpeggios.texidoc index 094d5867d3..d336a89e5f 100644 --- a/Documentation/it/texidocs/using-ties-with-arpeggios.texidoc +++ b/Documentation/it/texidocs/using-ties-with-arpeggios.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Le legature di valore vengono usate talvolta per scrivere un arpeggio. In questo caso, le due note da legare devono non essere consecutive. Per ottenere tale risultato diff --git a/Documentation/it/texidocs/vertically-aligned-dynamics-and-textscripts.texidoc b/Documentation/it/texidocs/vertically-aligned-dynamics-and-textscripts.texidoc index 026dcff14f..2145a3c4cd 100644 --- a/Documentation/it/texidocs/vertically-aligned-dynamics-and-textscripts.texidoc +++ b/Documentation/it/texidocs/vertically-aligned-dynamics-and-textscripts.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Tutti gli oggetti @code{DynamicLineSpanner} (forcelle e testi di dinamica) sono posti a una distanza minima dal rigo determinata da @code{'staff-padding}. diff --git a/Documentation/it/texidocs/vertically-aligning-ossias-and-lyrics.texidoc b/Documentation/it/texidocs/vertically-aligning-ossias-and-lyrics.texidoc index 1b9f453629..eae5f119af 100644 --- a/Documentation/it/texidocs/vertically-aligning-ossias-and-lyrics.texidoc +++ b/Documentation/it/texidocs/vertically-aligning-ossias-and-lyrics.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Questo frammento mostra come usare le proprietà di contesto @code{alignBelowContext} e @code{alignAboveContext} per diff --git a/Documentation/it/texidocs/vocal-ensemble-template-with-automatic-piano-reduction.texidoc b/Documentation/it/texidocs/vocal-ensemble-template-with-automatic-piano-reduction.texidoc index ebd4932d0a..eb582ce076 100644 --- a/Documentation/it/texidocs/vocal-ensemble-template-with-automatic-piano-reduction.texidoc +++ b/Documentation/it/texidocs/vocal-ensemble-template-with-automatic-piano-reduction.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Questo modello aggiunge una riduzione automatica per pianoforte alla tipica partitura vocale SATB illustrata in @qq{Modello per complesso vocale}. Si diff --git a/Documentation/it/texidocs/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.texidoc b/Documentation/it/texidocs/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.texidoc index f9cd799b68..039834b249 100644 --- a/Documentation/it/texidocs/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.texidoc +++ b/Documentation/it/texidocs/vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Questo modello è fondamentalmente analogo al semplice modello @qq{Complesso vocale}, con l'unica differenza che qui tutti i versi del testo sono posizionati diff --git a/Documentation/it/texidocs/vocal-ensemble-template-with-verse-and-refrain.texidoc b/Documentation/it/texidocs/vocal-ensemble-template-with-verse-and-refrain.texidoc index 72a37ec5aa..755531e79d 100644 --- a/Documentation/it/texidocs/vocal-ensemble-template-with-verse-and-refrain.texidoc +++ b/Documentation/it/texidocs/vocal-ensemble-template-with-verse-and-refrain.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Questo modello crea una partitura che inizia con una sezione solistica e prosegue in un ritornello a due voci. Illustra anche l'uso delle diff --git a/Documentation/it/texidocs/vocal-ensemble-template.texidoc b/Documentation/it/texidocs/vocal-ensemble-template.texidoc index 5b86cfea09..7611077892 100644 --- a/Documentation/it/texidocs/vocal-ensemble-template.texidoc +++ b/Documentation/it/texidocs/vocal-ensemble-template.texidoc @@ -1,4 +1,4 @@ -%% Translation of GIT committish: 5db593aa3737cf8c60f9c4c4fcbe317c2d832766 +%% Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 texidocit = " Ecco una tipica partitura corale a quattro parti, SATB. Se il complesso è più ampio, è spesso comodo scrivere gli elementi comuni in un'unica sezione, che diff --git a/Documentation/it/translations.itexi b/Documentation/it/translations.itexi index df15a8a68a..4a21c39363 100644 --- a/Documentation/it/translations.itexi +++ b/Documentation/it/translations.itexi @@ -16,7 +16,7 @@ td { border: 1px solid black; text-align: center; } @end html @end ifhtml -@emph{Ultimo aggiornamento Wed Dec 18 12:23:14 UTC 2013 +@emph{Ultimo aggiornamento Tue Dec 30 15:39:08 UTC 2014 } @multitable @columnfractions 0.166666666667 0.166666666667 0.166666666667 0.166666666667 0.166666666667 0.166666666667 @@ -30,7 +30,7 @@ Cambiamenti in LilyPond @item Section titles @* -1453 +1540 @tab Federico Bruni @tab @tab @@ -177,7 +177,7 @@ sì @item 2 Notazione comunemente utilizzata @* -4396 +4417 @tab Federico Bruni @tab Luca Rossetto Casel @tab @@ -194,17 +194,17 @@ sì @ifhtml @html -sì +parzialmente @end html @end ifhtml @ifnothtml -sì +parzialmente @end ifnothtml @tab pre-GDP @item 3 Concetti fondamentali @* -11144 +11193 @tab Federico Bruni @tab Luca Rossetto Casel @tab @@ -231,7 +231,7 @@ sì @item 4 Modifica dell'output @* -16191 +16570 @tab Federico Bruni @tab Luca Rossetto Casel @tab @@ -258,7 +258,7 @@ sì @item A Modelli @* -372 +803 @tab Federico Bruni @tab Luca Rossetto Casel @tab @@ -378,7 +378,7 @@ sì @item 1.1 Altezze @* -4990 +5202 @tab Federico Bruni @tab Luca Rossetto Casel @tab @@ -405,7 +405,7 @@ sì @item 1.2 Ritmi @* -6890 +6916 @tab Federico Bruni @tab Luca Rossetto Casel @tab @@ -432,7 +432,7 @@ sì @item 1.3 Segni di espressione @* -1793 +1844 @tab Federico Bruni @tab Luca Rossetto Casel @tab @@ -459,7 +459,7 @@ sì @item 1.4 Ripetizioni @* -1050 +1181 @tab Federico Bruni @tab Luca Rossetto Casel @tab @@ -486,7 +486,7 @@ sì @item 1.5 Note simultanee @* -2821 +2810 @tab Federico Bruni @tab Luca Rossetto Casel @tab @@ -540,7 +540,7 @@ sì @item 1.7 Note editoriali @* -954 +1491 @tab Federico Bruni @tab @tab @@ -567,7 +567,61 @@ sì @item 1.8 Testo @* -2816 +2820 +@tab Federico Bruni +@tab +@tab +@ifhtml + +@html +sì +@end html +@end ifhtml +@ifnothtml +sì +@end ifnothtml +@tab +@ifhtml + +@html +sì +@end html +@end ifhtml +@ifnothtml +sì +@end ifnothtml +@tab pre-GDP +@item +2 Notazione specialistica +@* +81 +@tab Federico Bruni +@tab +@tab +@ifhtml + +@html +sì +@end html +@end ifhtml +@ifnothtml +sì +@end ifnothtml +@tab +@ifhtml + +@html +sì +@end html +@end ifhtml +@ifnothtml +sì +@end ifnothtml +@tab pre-GDP +@item +2.1 Musica vocale +@* +4985 @tab Federico Bruni @tab @tab @@ -660,7 +714,7 @@ sì @item 1 Eseguire @command{lilypond} @* -4537 +5080 @tab Federico Bruni @tab Luca Rossetto Casel @tab @@ -677,17 +731,17 @@ sì @ifhtml @html -sì +parzialmente @end html @end ifhtml @ifnothtml -sì +parzialmente @end ifnothtml @tab pre-GDP @item 2 Aggiornare i file con @command{convert-ly} @* -1484 +1865 @tab Federico Bruni @tab Luca Rossetto Casel @tab @@ -704,17 +758,17 @@ sì @ifhtml @html -sì +parzialmente @end html @end ifhtml @ifnothtml -sì +parzialmente @end ifnothtml @tab pre-GDP @item 3 Eseguire @command{lilypond-book} @* -4137 +4217 @tab Federico Bruni @tab Luca Rossetto Casel @tab @@ -741,7 +795,7 @@ sì @item 4 Programmi esterni @* -2817 +2830 @tab Federico Bruni @tab Luca Rossetto Casel @tab @@ -807,7 +861,7 @@ LilyPond -- Notazione musicale per tutti @item Section titles @* -616 +642 @tab Federico Bruni @tab Luca Rossetto Casel @tab @@ -861,7 +915,7 @@ sì @item Introduzione @* -4937 +5707 @tab Federico Bruni @tab Luca Rossetto Casel @tab @@ -878,17 +932,17 @@ sì @ifhtml @html -sì +parzialmente @end html @end ifhtml @ifnothtml -sì +parzialmente @end ifnothtml @tab pre-GDP @item Download @* -1201 +1145 @tab Federico Bruni @tab Luca Rossetto Casel @tab @@ -915,7 +969,7 @@ sì @item Manuali @* -1284 +1314 @tab Federico Bruni @tab Luca Rossetto Casel @tab @@ -942,7 +996,7 @@ sì @item Comunità @* -3073 +2991 @tab Federico Bruni @tab Luca Rossetto Casel @tab @@ -959,11 +1013,11 @@ sì @ifhtml @html -sì +parzialmente @end html @end ifhtml @ifnothtml -sì +parzialmente @end ifnothtml @tab pre-GDP @end multitable diff --git a/Documentation/it/usage.tely b/Documentation/it/usage.tely index e659f7d55e..eb65ea0592 100644 --- a/Documentation/it/usage.tely +++ b/Documentation/it/usage.tely @@ -1,6 +1,6 @@ \input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*- @ignore - Translation of GIT committish: 08560a1b8076630c4fc6cb9b902614d8b74fd6fc + Translation of GIT committish: f291e8c30bbde2cf1fe2fc1b359288c94b8e2503 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -24,7 +24,7 @@ LilyPond versione @version{}. Inoltre, suggerisce alcune delle @c `Usage' was born 1999-10-10 with git commit c82c30c... @macro copyrightDeclare -Copyright @copyright{} 1999--2014 degli autori. +Copyright @copyright{} 1999--2015 degli autori. @end macro @set FDL diff --git a/Documentation/it/usage/external.itely b/Documentation/it/usage/external.itely index ddae2b9cdc..bb33c13726 100644 --- a/Documentation/it/usage/external.itely +++ b/Documentation/it/usage/external.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*- @ignore - Translation of GIT committish: 07c022f5e65a806e27c3f5f4f4bdae4020c1af8e + Translation of GIT committish: 223b1ac16b1b80cd1226eed24968bf7c49c24ec8 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -44,7 +44,7 @@ elementi musicali. @translationof Configuring the system for point and click Quando questa funzionalità è attiva, LilyPond aggiunge dei collegamenti -ipertestuali al file PDF. Questi collegamenti vengono inviati a un +ipertestuali al file PDF e SVG. Questi collegamenti vengono inviati a un @q{programma di supporto per URI} o al browser web, che apre un editor di testo col cursore posizionato nel punto giusto. @@ -212,11 +212,11 @@ con altri visualizzatori. @cindex file di output, dimensione La funzionalità "punta e clicca" è abilitata di default quando si creano -i file PDF. +i file PDF o SVG. I collegamenti "punta e clicca" appesantiscono sensibilmente i file di output. Per -ridurre la dimensione dei file PDF e PS, è possibile disattivare il "punta e -clicca" inserendo +ridurre la dimensione di questi file (e dei file PS), è possibile disattivare +il "punta e clicca" inserendo @example \pointAndClickOff @@ -237,7 +237,7 @@ lilypond -dno-point-and-click file.ly @end example @warning{Occorre sempre disattivare il "punta e clicca" nei file LilyPond -che si vogliano diffondere, per evitare di includere nel file .pdf delle informazioni +che si vogliano diffondere, per evitare di includere nel file PDF delle informazioni sui percorsi del proprio computer: questo infatti può costituire un rischio di sicurezza.} @@ -834,5 +834,3 @@ mordenti. La sua principale limitazione è che può agire solo sugli elementi che conosce: qualsiasi cosa che sia del semplice testo (invece di una proprietà della nota) viene dunque ignorato. - - diff --git a/Documentation/it/usage/lilypond-book.itely b/Documentation/it/usage/lilypond-book.itely index e54bc7c786..a37d6b139b 100644 --- a/Documentation/it/usage/lilypond-book.itely +++ b/Documentation/it/usage/lilypond-book.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*- @ignore - Translation of GIT committish: eba67a0bc70f38a7847de75c640d7ad19c6fd804 + Translation of GIT committish: fab824ac128346465690246f7a42ce1e8b42db8dq When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -899,7 +899,7 @@ indipendentemente da quello che userai, puoi convertire facilmente PostScript e PDF con strumenti come @command{ps2pdf} e @command{pdf2ps} inclusi nel pacchetto Ghostscript. -Per creare un file PDF con PDF@LaTeX{}, si usa +Per creare un file PDF con PDF@LaTeX{}, si usa: @example lilypond-book --pdf tuofile.lytex @@ -910,8 +910,7 @@ pdflatex tuofile.tex @cindex type1, carattere @cindex dvips @cindex utilizzo di dvips -Per produrre l'output PDF attraverso @LaTeX{}/@command{dvips}/@command{ps2pdf}, -bisogna usare questi comandi +Per produrre l'output PDF attraverso @LaTeX{}/@command{dvips}/@command{ps2pdf}: @example lilypond-book tuofile.lytex @@ -930,6 +929,23 @@ relativi ai caratteri; questi messaggi sono innocui e possono essere ignorati. Se esegui @command{latex} in modalità due colonne, ricorda di aggiungere @option{-t landscape} alle opzioni di @command{dvips}. +Gli ambienti come: + +@example +\begin@{lilypond@} @dots{} \end@{lilypond@} +@end example + +@noindent +non sono interpretati da @LaTeX{}. @code{lilypond-book} estrae questi +@q{ambienti} e li copia in file in un suo formato per poter eseguire +LilyPond su di essi. Prende quindi gli elementi grafici risultanti +e crea un file @file{.tex} dove le macro +@code{\begin@{lilypond@}}@dots{}@code{\end@{lilypond@}} sono poi +sostituite da comandi di @q{inclusione di immagini}. È a questo +punto che @LaTeX{} viene eseguito (anche se @LaTeX{} è stato eseguito +in precedenza, in realtà ha agito su un documento @q{vuoto} solo per +fare alcuni calcoli, come per esempio di @code{\linewidth}). + @knownissues Il comando @code{\pageBreak} non funziona all'interno dell'ambiente @code{\begin@{lilypond@} @dots{} \end@{lilypond@}}. @@ -1394,4 +1410,3 @@ dove @code{\includescore} viene definito in questo modo: Altri modi per combinare testo e musica (senza usare @command{lilypond-book}) sono trattati in @ref{LilyPond output in other programs}. - diff --git a/Documentation/it/usage/running.itely b/Documentation/it/usage/running.itely index 74b238600f..a2c3445b9a 100644 --- a/Documentation/it/usage/running.itely +++ b/Documentation/it/usage/running.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*- @ignore - Translation of GIT committish: 93d725094ee629b2d5200ab5a75b609579a62973 + Translation of GIT committish: 62b428826f37228ab4644dbaabac7935c17ecdcd When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -55,16 +55,16 @@ obiettivi di questo manuale; si prega di consultare altra documentazione su questo argomento se non si conosce la linea di comando. @menu -* Utilizzo di lilypond:: +* Utilizzo di LilyPond:: * Opzioni di base della linea di comando per LilyPond:: * Opzioni avanzate della linea di comando per LilyPond:: * Variabili d'ambiente:: * LilyPond in una gabbia chroot:: @end menu -@node Utilizzo di lilypond +@node Utilizzo di LilyPond @unnumberedsubsec Utilizzo di @command{lilypond} -@translationof Invoking lilypond +@translationof Invoking LilyPond L'eseguibile @command{lilypond} può essere lanciato dalla linea di comando nel seguente modo. @@ -101,28 +101,37 @@ produrrà come output @var{base}@file{-violin.pdf} e @var{base}@file{-cello-1.pdf}. -@unnumberedsubsubsec Comandi standard da shell +@unnumberedsubsubsec Usare LilyPond con funzionalità standard della shell -Se la shell (ovvero la finestra dei comandi) utilizzata supporta le normali -redirezioni, potrebbe essere utile usare i seguenti comandi per dirigere -l'output di una console in un file: +Dato che LilyPond è un'applicazione a linea di comando, si possono sfruttare +le funzionalità della @q{shell} usata per lanciare LilyPond. -@itemize +Per esempio: -@item -@code{lilypond file.ly 1>stdout.log} per redirigere l'output normale +@example +lilypond *.ly +@end example -@item -@code{lilypond file.ly 2>stderr.log} per redirigere i messaggi di errore +@noindent +elaborerà tutti i file LilyPond nella directory corrente. -@item -@code{lilypond file.ly &>all.log} per redirigere tutto l'output +Potrebbe essere utile anche redirigere l'output della console (per esempio +in un file): -@end itemize +@example +lilypond file.ly 1> stdout.txt + +lilypond file.ly 2> stderr.txt -Consulta la documentazione della tua shell per vedere se supporta queste -opzioni o se la sintassi è diversa. Nota che questi sono comandi shell -e non hanno niente a che fare con lilypond. +lilypond file.ly &> all.txt +@end example + +@noindent +Questi tre comandi redirigono rispettivamente l'output @q{normale}, gli +@q{errori} o @q{tutto} in un file di testo. Consulta la documentazione +della tua shell, del prompt dei comandi (Windows), delle applicazioni +Terminale o Console (MacOS X), per vedere se la redirezione dell'output +è supportata o se la sintassi è diversa. @node Opzioni di base della linea di comando per LilyPond @@ -190,9 +199,9 @@ Imposta il file di inizializzazione su @var{file} (predefinito: @file{init.ly}). @cindex percorso di ricerca @item -I, --include=@var{directory} -Aggiunge @var{directory} al percorso di ricerca per i file di input. È possibile assegnare più opzioni -I. La ricerca inizierà nella prima +Aggiunge @var{directory} al percorso di ricerca per i file di input. directory definita, e se il file da includere non viene trovato la ricerca continuerà nelle directory seguenti. @@ -408,8 +417,7 @@ incorporati, per ogni pagina dell'output. Si raccomanda di installare i font Century Schoolbook, inclusi nell'installazione di LilyPond, per una resa ottimale. In UNIX basta copiare questi font dalla directory di LilyPond (solitamente @file{/usr/share/lilypond/VERSION/fonts/otf/}) in -@file{~/.fonts/}. L'output SVG dovrebbe essere compatibile con qualsiasi -editor SVG o user agent. C'è anche un'opzione @code{svg-woff} (sotto) per +@file{~/.fonts/}. C'è anche un'opzione @code{svg-woff} (sotto) per poter usare i file di font woff nel backend SVG. @item @@ -553,8 +561,8 @@ essere compresa tra virgolette precedute dal segno di escape. @tab Imposta il formato di output di GhostScript per le immagini raster. @item @code{point-and-click} -@tab @code{#f} -@tab Aggiunge i collegamenti @q{punta e clicca} all'output @code{PDF}. Si veda +@tab @code{#t} +@tab Aggiunge i collegamenti @q{punta e clicca} all'output PDF e SVG. Si veda @ref{Point and click}. @item @code{preview} @@ -619,9 +627,9 @@ scempio, ad esempio @quotation @verbatim -#(system "rm -rf /") +#(s ystem "rm -rf /") % troppo pericoloso per scriverlo correttamente { - c4^$(ly:gulp-file "/etc/passwd") + c4^$(ly:gulp-file "/etc/passwd") % malvagio ma non distruttivo } @end verbatim @end quotation @@ -670,13 +678,12 @@ di output. @item @code{strokeadjust} @tab @code{#f} @tab Forza l'aggiustamento del tratto da parte di PostScript. Questa opzione -è utile quando il @code{PDF} è generato dall'output PostScript (l'aggiustamento +è utile quando il PDF è generato dall'output PostScript (l'aggiustamento del tratto di solito è abilitato automaticamente per gli strumenti bitmap -a bassa risoluzione). Senza questa opzione, le anteprime@tie{}@code{PDF} -tendono a produrre larghezze dei gambi molto variabili alle risoluzioni -tipiche dei monitor. L'opzione non produce effetti visibili sulla -qualità di stampa e causa un notevole aumento della dimensione dei file -@code{PDF}. +a bassa risoluzione). Senza questa opzione, i lettori PDF tendono a +produrre larghezze dei gambi molto variabili alle risoluzioni tipiche +dei monitor. L'opzione non produce effetti visibili sulla qualità di +stampa e causa un notevole aumento della dimensione dei file PDF. @item @code{svg-woff} @@ -922,12 +929,19 @@ test.ly:2:19: error: not a duration: 5 5 g' @} @end example -Queste posizioni indicano la migliore ipotesi di LilyPond a proposito del -punto in cui l'avvertimento o l'errore sono comparsi, ma (per loro +Queste posizioni indicano il punto in cui LilyPond ritiene più probabile +che siano apparsi l'avvertimento o l'errore, ma (per loro stessa natura) avvertimenti ed errori capitano quando succede qualcosa -di imprevisto. Se non riesci a vedere un errore nella riga indicata -del file di input, prova a controllare una o due righe sopra la posizione -indicata. +di imprevisto. Se non riesci a vedere un errore nella riga suggerita, +prova a controllare una o due righe sopra la posizione indicata. + +Attenzione: l'analisi degli errori è sempre attivata nel corso dei vari +passaggi di elaborazione. Per esempio, se ci sono parti di input che +sono elaborati varie volte (es: per produrre l'output midi e quello +grafico) oppure se viene usata la stessa variabile musicale in vari +contesti, potrebbe apparire lo stesso messaggio molteplici volte. Anche +la diagnosi eseguita in uno degli @q{ultimi} passaggi (es: controlli di +battuta) può apparire varie volte. Maggiori informazioni sugli errori si trovano in @ref{Errori comuni}. @@ -948,6 +962,7 @@ comprese, è facile gestirle. * Messaggio di errore FT_Get_Glyph_Name:: * Avvertimento sul fatto che le affinità del rigo devono solo diminuire:: * Messaggio di errore new inaspettato:: +* Avviso ignorare troppe collisioni tra colonne di nota:: @end menu @node La musica esce dalla pagina @@ -1011,29 +1026,6 @@ corretto per colorare le teste di tutte le note è } @end lilypond -Vediamo un secondo esempio. Se un comando @code{\relative} viene posto -dentro un comando @code{\repeat}, vengono generati due righi, il secondo -spostato orizzontalmente rispetto al primo, perché il comando @code{\repeat} -genera due blocchi @code{\relative}, ognuno dei quali crea implicitamente i -blocchi @code{Staff} e @code{Voice}. - -@lilypond[quote,verbatim] -\repeat unfold 2 { - \relative c' { c4 d e f } -} -@end lilypond - -Per correggere il problema basta istanziare esplicitamente il contesto -@code{Voice}: - -@lilypond[quote,verbatim] -\new Voice { - \repeat unfold 2 { - \relative c' { c4 d e f } - } -} -@end lilypond - @node Messaggio di errore Unbound variable % @unnumberedsubsec Messaggio di errore Unbound variable % @@ -1123,3 +1115,40 @@ che i nuovi righi siano avviati in parallelo, ovvero contemporaneamente: >> } @end lilypond + +@node Avviso ignorare troppe collisioni tra colonne di nota +@unnumberedsubsec Avviso ignorare troppe collisioni tra colonne di nota +@translationof Warning ignoring too many clashing note columns + +Se note appartenenti a due voci diverse con gambi nella stessa +direzione si trovano nello stesso momento musicale, e per le voci +non è stato specificato alcun spostamento, quando si compila il +file apparirà il messaggio di avviso +@samp{avviso: ignorare troppe collisioni tra colonne di nota}. +Tale avviso apparirà anche quando le note non hanno gambi visibili, +come nel caso delle semibrevi, se i gambi di note più brevi della +stessa altezza sono nella stessa direzione. + +Ricorda che la direzione del gambo, a meno che non sia specificata, per +esempio tramite @code{\voiceOne}, etc., dipende dalla posizione della +nota sul rigo. Dunque se la direzione del gambo non è specificata, l'avviso +apparirà solo quando i gambi si trovano nella stessa direzione, ovvero +quando le note si trovano nella stessa metà del rigo. + +Si possono evitare questi avvisi mettendo le note in voci in cui siano +indicate le direzioni dei gambi e gli spostamenti, per esempio usando +@code{\voiceOne}, etc. + +Le note delle voci con un numero maggiore di due, @code{\voiceThree} etc., sono +spostate automaticamente per avitare la collisione tra colonne di note. Ciò +causa uno spostamento visibile delle note con gambo, mentre le semibrevi +non sono spostate visibilmente, a meno che non si verifichi una reale collisione +tra teste di nota oppure quando le voci si incrociano rispetto al loro ordine +naturale (quando le note di @code{\voiceThree} sono più alte di quelle di +@code{\voiceOne}, etc.) + +@seealso +@rlearning{Definire esplicitamente le voci}, +@rlearning{Esempio musicale}, +@ruser{Polifonia su un singolo rigo}, +@ruser{Risoluzione delle collisioni}. diff --git a/Documentation/it/usage/updating.itely b/Documentation/it/usage/updating.itely index 91c0081b2e..e568ecaa28 100644 --- a/Documentation/it/usage/updating.itely +++ b/Documentation/it/usage/updating.itely @@ -1,7 +1,7 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*- @ignore - Translation of GIT committish: b381556a3132e765159edc75107b31259dbf5988 + Translation of GIT committish: 15b9d5a33fe02826075a651e96ae21d2ae66a680 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -156,8 +156,10 @@ Esistono le seguenti opzioni: aumenta il numero di versione in @code{\version} solo se il file è stato modificato da @command{convert-ly}. In questo caso, la dichiarazione di versione corrisponderà alla versione successiva all'ultimo reale cambiamento. -Senza questa opzione, la versione rifletterà l'ultima conversione -@emph{tentata}. +Il numero di una versione instabile sarà arrotondato al numero della versione +stabile successiva, a meno che ciò non vada oltre il numero di versione +obiettivo. Senza questa opzione, la versione rifletterà l'ultima +conversione @emph{tentata}. @item -e, --edit Applica le conversioni direttamente nel file di input, modificando diff --git a/Documentation/it/web.texi b/Documentation/it/web.texi index 50e55171d3..716b7858c4 100644 --- a/Documentation/it/web.texi +++ b/Documentation/it/web.texi @@ -1,6 +1,6 @@ \input texinfo @c -*- coding: utf-8; mode: texinfo; -*- @ignore - Translation of GIT committish: 0807a75d66c302c6b7fb13c9b586a25ebf0265ad + Translation of GIT committish: f291e8c30bbde2cf1fe2fc1b359288c94b8e2503 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -13,11 +13,6 @@ @documentlanguage it @afourpaper -@c `Web' was imported 2009-08-05 with git commit b938d71... -@c @macro copyrightDeclare -@c Copyright @copyright{} 2009--2014 by the authors. -@c @end macro - @set FDL @set web @include macros.itexi @@ -37,7 +32,7 @@ @c Translation checkers: Luca Rossetto Casel @copying -Copyright @copyright{} 2009--2014 degli autori. +Copyright @copyright{} 2009--2015 degli autori. @quotation Permission is granted to copy, distribute and/or modify this diff --git a/Documentation/it/web/community.itexi b/Documentation/it/web/community.itexi index 2f6d65a231..f046c35d79 100644 --- a/Documentation/it/web/community.itexi +++ b/Documentation/it/web/community.itexi @@ -1,6 +1,6 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*- @ignore - Translation of GIT committish: b4a06339566ce7e7f17ba60745261fc26b32abb0 + Translation of GIT committish: 0ea80a5e850c6114d1ba7dc4cfd81d5a45d9604a When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' diff --git a/Documentation/it/web/download.itexi b/Documentation/it/web/download.itexi index a20dfeec53..59411cc4c4 100644 --- a/Documentation/it/web/download.itexi +++ b/Documentation/it/web/download.itexi @@ -1,6 +1,6 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*- @ignore - Translation of GIT committish: 53ea968b35ad64c914a7bd503786aaf8d3b0c762 + Translation of GIT committish: 7a5bfc62fcac71d5c996b2df58921fd2fe783415 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -142,12 +142,12 @@ immagini dei prodotti. @divClass{column-center-top} @subheading Pacchetti generici o pacchetti specifici di una distribuzione? -Molte distribuzioni includono LilyPond nel loro repository di pacchetti -e questi pacchetti sono spesso molto più facili da installare rispetto -ai pacchetti generici che si trovano su queto sito. Tuttavia le versioni -di LilyPond in questi repository sono @emph{molto} più vecchi della versione -stabile corrente. Se preferisci usare i nostri pacchetti generici, controlla -che il tuo editor LilyPond stia usando la versione corretta. Vedi @ref{Easier editing}. +Molte distribuzioni includono LilyPond nei loro repository ma i loro +pacchetti sono spesso @emph{molto} più vecchi della versione +stabile corrente. Anche se questi pacchetti più vecchi sono più facili +da installare, consigliamo @emph{caldamente} di usare i nostri pacchetti +generici. In questo caso, controlla che il tuo editor LilyPond stia usando +la versione corretta. Vedi @ref{Easier editing}. @divEnd @@ -167,12 +167,12 @@ che il tuo editor LilyPond stia usando la versione corretta. Vedi @ref{Easier e @ifset web_version @downloadStableLinuxNormal @end ifset - -(se non sei sicuro, usa questo) +Sistemi a 32bit. @item @sourceimage{logo-linux,,,} @downloadStableLinuxBig +Sistemi a 64bit. @item @sourceimage{logo-linux,,,} @@ -181,10 +181,12 @@ che il tuo editor LilyPond stia usando la versione corretta. Vedi @ref{Easier e @item @sourceimage{logo-freebsd,,,} @downloadStableFreeBSDNormal +Sistemi a 32bit. @item @sourceimage{logo-freebsd,,,} @downloadStableFreeBSDBig +Sistemi a 64bit. @end itemize @@ -219,44 +221,7 @@ sh lilypond-@versionStable{}-OS-TYPE.sh --help @divClass{column-right-top} -@subheading Pacchetti specifici di una distribuzione - -Usa il gestore pacchetti della tua distribuzione per istallare o -aggiornare a queste versioni. - -@itemize - -@item -@sourceimage{logo-fedora,,,} -@uref{http://koji.fedoraproject.org/koji/packageinfo?packageID=2447, -Fedora: LilyPond 2.14.2} - -@item -@sourceimage{logo-ubuntu,,,} -@uref{http://packages.ubuntu.com/search?keywords=lilypond, -Ubuntu: LilyPond 2.14.2} - -@item -@sourceimage{logo-slackware,,,} -@uref{http://www.johannes-schoepfer.de/lilypond/, -Slackware: LilyPond 2.14.2} -@item -@sourceimage{logo-debian,,,} -@uref{http://packages.debian.org/search?keywords=lilypond, -Debian: LilyPond 2.12.3} - -@item -@sourceimage{logo-suse,,,} -@uref{http://software.opensuse.org/search?baseproject=openSUSE%3A11.2&p=1&q=lilypond, -openSUSE: LilyPond 2.12.3} - -@end itemize - -@divEnd - - -@divClass{column-center-top} @subheading Compilare un file @lilypadCommandLine diff --git a/Documentation/it/web/introduction.itexi b/Documentation/it/web/introduction.itexi index 74c4ea7d9f..62a26cf719 100644 --- a/Documentation/it/web/introduction.itexi +++ b/Documentation/it/web/introduction.itexi @@ -1,6 +1,6 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*- @ignore - Translation of GIT committish: 62dd4c2473cba2401ef83ccac3d353959c166399 + Translation of GIT committish: b567622265c20aaafdb5904b910794ae171d01e4 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -21,10 +21,13 @@ l'aspetto meccanico degli spartiti realizzati col computer. I musicisti preferiscono leggere musica ben scritta; allora, perché dei programmatori non potrebbero scrivere un software in grado di produrre partiture eleganti? -Il risultato è un sistema che fa sì che i musicisti possano non curarsi dei -dettagli d'impaginazione per concentrarsi invece sulla musica. LilyPond lavora -con loro per creare partiture con una qualità di livello editoriale, realizzate secondo -le migliori tradizioni della tipografia musicale. +Il risultato è un programma che crea delle belle partiture seguendo le +migliori tradizioni della tipografia musicale. Si prende cura in modo +programmatico dei dettagli della formattazione, consentendo a compositori, +trascrittori e editori di prestare attenzione alla @emph{musica} invece di +cercare di migliorare l'output del proprio software. Gli esecutori +otterranno delle parti che permetteranno loro di concentrarsi sull' +@emph{esecuzione} della musica invece che sulla sua @emph{lettura}. @divEnd @@ -102,11 +105,8 @@ le migliori tradizioni della tipografia musicale. @unnumberedsec Funzionalità @translationof Features - -@subheading Perché passare a LilyPond? - - -@subsubheading Eccellente incisione classica +@divClass{column-center-top} +@subheading Eccellente incisione classica @imageFloat{flat-design,png,right} @@ -119,74 +119,169 @@ L'output di LilyPond ha lo stesso aspetto netto, equilibrato ed elegante delle migliori partiture classiche. Questo è stato approfondito nel nostro @ref{Essay}. +@divClass{column-center-top} +@subheading Input testuale + +@subsubheading Tutto è esplicito -@subsubheading Pochi ritocchi +LilyPond elabora input testuale, contenente tutte le informazioni +sul @emph{contenuto} della partitura e può essere facilmente letto +da un altro essere umano così come da un altro programma. Non ci +sono oscure impostazioni nascoste dietro le voci di un menù né +salvataggi in file binari. -Impieghi minor tempo nel correggere l'output; LilyPond imposta la -formattazione corretta fin dall'inizio. Determina da solo lo -spazio, e le interruzioni di linea e di pagina per fornire un'impaginazione -proporzionata e uniforme. Le collisioni tra testo, note e accordi vengono risolte -e le legature di portamento e le codette sono posizionate automaticamente! +Questo concetto è approfondito in @ref{Text input}. -@subsubheading Input testuale +@subsubheading Le modifiche manuali sono robuste e tracciabili -LilyPond riceve l'input in ASCII, che puoi creare nel tuo editor di -testo preferito, velocemente e comodamente. L'input contiene tutte le -informazioni necessarie, dunque non c'è bisogno di ricordare complesse -sequenze di comandi: puoi semplicemente salvare il file per una -consultazione successiva. +Se devi cambiare qualcosa relativo all'aspetto, tale modifica +sarà visibile anche nel file di input in una forma comprensibile +per un essere umano. Quindi sei sempre in grado di rivedere +le tracce di ciò che hai fatto. Se tu dovessi per sbaglio +rendere il file non funzionante, puoi facilmente ripristinare +o modificare qualsiasi decisione senza essere costretto a +usare una funzione @emph{Annulla}. -@subsubheading Accessibilità +@subsubheading I file di testo sono a prova di fallimento e di futuro -L'input testuale rende inoltre la scrittura musicale possibile per gli utenti -con serie inabilità fisiche. Gli utenti con problemi di coordinazione che non -sono in grado di usare la tastiera o il mouse possono usare software di -riconoscimento vocale per modificare i file LilyPond. Anche gli utenti -totalmente privi di vista possono usare un software di lettura dello schermo -per scrivere file LilyPond -- un'operazione impossibile nei programmi -di scrittura musicale basati su interfaccia grafica. +I file di testo sono molto robusti contro la corruzione di file. Ed +essendo leggibili dall'essere umano sei anche sempre in grado di +interpretarli pur non avendo accesso al programma che li ha creati. -@subsubheading Unisci musica e testo +@subsubheading Gestisci le tue partiture col controllo di versione + +I file di testo possono essere gestiti con un programma di controllo +di versione. Provalo e sperimenta gli infiniti e diversi meccanismi +per annullare e ripetere le modifiche nonché la possibilità di avere la +storia dell'intero sviluppo delle tue partiture. Il controllo di +versione potrebbe anche aprirti la strada a nuovi metodi di lavoro +(collaborativo). + +@divEnd + +@divClass{column-center-top} +@subheading Usabilità @imageFloat{lilypond-book,png,right} + +@subsubheading Scelte di formattazione efficaci + +Impieghi minor tempo nel correggere l'output; LilyPond imposta la formattazione +corretta fin dall'inizio. Determina da solo lo spazio, e le interruzioni di +linea e di pagina per fornire un'impaginazione proporzionata e uniforme. Le +collisioni tra testo, note e accordi vengono risolte e le legature di portamento +e le codette sono posizionate automaticamente! + + +@subsubheading Unisci musica e testo + Inserisci frammenti di musica nel testo senza dover tagliare e incollare -immagini. Integra comodamente la musica in @LaTeX{} e in HTML, o -aggiungi la musica in OpenOffice.org o LibreOffice con OOoLilyPond. +immagini. Integra comodamente la musica in @LaTeX{} o HTML, o aggiungi la +musica in OpenOffice.org/LibreOffice con OOoLilyPond. Esistono anche dei +plugin che permettono di usare l'input di LilyPond in blog e wiki, rendendo +possibile la collaborazione online. +@subsubheading Accessibilità -@subsubheading Software libero +L'input testuale rende inoltre la scrittura musicale possibile per gli utenti +con serie inabilità fisiche. Gli utenti con problemi di coordinazione che non +sono in grado di usare la tastiera o il mouse possono usare software di +riconoscimento vocale per modificare i file LilyPond. Anche gli utenti +totalmente privi di vista possono usare un software di lettura dello schermo per +scrivere file LilyPond – un'operazione impossibile nei programmi di scrittura +musicale basati su interfaccia grafica. Puoi vedere una partitura spettacolare +in @ref{Examples}. -LilyPond può essere scaricato gratuitamente! Sì: è gratuito. Scaricalo -dalla pagina di download. +@subsubheading Diversità degli editor -È anche software libero. Viene distribuito col codice sorgente e il -permesso di modificarlo e copiarlo. Sei infastidito da un -malfunzionamento, o desideri una nuova funzionalità? Puoi aggiungerla tu -stesso, o pagare qualcun altro per farlo. +Molti sviluppatori, loro stessi attivi utenti LilyPond, hanno scritto +degli strumenti volti proprio a rendere più veloce e efficace il processo +di modifica dei file LilyPond; non sei quindi legato a una singola interfaccia +utente ma puoi usare strumenti diversi per compiti diversi. Puoi perfino +usare un editor LilyPond ricco di funzionalità a casa e l'app blocco note +del telefonino per modificare i file quando sei in movimento. Alcuni esempi +sono elencati in @ref{Easier editing}. -@subsubheading Modello estendibile +@divEnd + +@divClass{column-center-top} + +@subheading Progettazione estendibile + +@subsubheading Facile gestione dei fogli di stile Tutte le impostazioni possono essere modificate per soddisfare il tuo -personale gusto tipografico. Se questo non è ancora abbastanza, c'è sempre -il linguaggio di scripting Scheme, un dialetto del potente linguaggio -LISP. Impostazioni, variabili e funzioni sono tutte documentate -nell'esauriente manuale di riferimento del programma. +personale gusto tipografico. Puoi facilmente scrivere dei fogli di +stile che cambiano qualsiasi elemento dell'aspetto predefinito delle +partiture create da LilyPond. Dato che anche questi sono scritti come +file di testo e possono essere salvati in file separati, puoi semplicemente +passare da un foglio di stile all'altro per produrre partiture con un +aspetto o una disposizione completamente diversi. +Desideri stampare una partitura su foglio A4 e proiettarla con un +proiettore, un sistema per pagina? Il motore della formattazione di +LilyPond genererà entrambi dallo stesso input. + +@subsubheading Aggiungi le tue funzioni +Se questo non è ancora abbastanza, c'è sempre il linguaggio di scripting +Scheme, che può accedere al motore della formattazione di LilyPond allo +stesso di livello cui ci accede LilyPond stesso, rendendolo uno strumento +@emph{molto} potente. Impostazioni, variabili e funzioni sono tutte +documentate nell'esauriente manuale di riferimento del programma.. + +@subsubheading Elabora le partiture tramite la programmazione + +I file di input di LilyPond possono essere modificati o perfino generati +da programmi e script, per esempio per la composizionoe algoritmica. +Ma si può accedere al contenuto musicale anche per analizzarlo o per +gestire dei frammenti di input in un database. Non ci sono limiti +tranne la tua immaginazione. + + +@subsubheading Creare nuovi strumenti che usano LilyPond + +LilyPond, non essendo un monolitico programma a interfaccia grafica ma +uno strumento a linea di comando, può essere usato anche da altre applicazioni. +È così possibile dare il potere di incisione di LilyPond a certi +programmi come un'applicazione web. Esistono già vari strumenti online +che usano LilyPond. + + +@divEnd + +@divClass{column-center-top} + +@subheading Ambiente + +@imageFloat{frescobaldi-lilypond-editor-small,png,right} @subsubheading Ottimo supporto LilyPond gira su tutte le piattaforme più note: GNU/Linux, MacOS X, e Windows. LilyPond include un'ampia documentazione e centinaia di file di esempio. C'è un'attiva comunità di utenti che risponde alle -domande nella mailing list dedicata agli utenti Lilypond, mentre il team -di sviluppo si assicura che i problemi vengano risolti rapidamente. +domande nella mailing list internazionale dedicata agli utenti Lilypond, +offrendo gentilmente il proprio aiuto. I tempi di risposta sono solitamente +molto brevi e spesso vengono suggerite brillanti soluzioni dei problemi +segnalati. Grazie alla stretta interazione col team di sviluppo, tali +soluzioni sono spesso incluse in LilyPond stesso. Maggiori informazioni +in @ref{Community}. + +@subsubheading Software libero +LilyPond può essere scaricato gratuitamente! Sì: è gratuito. Scaricalo +dalla pagina di download. + +È anche software libero. Viene distribuito col codice sorgente e il +permesso di modificarlo e copiarlo. Sei infastidito da un +malfunzionamento, o desideri una nuova funzionalità? Puoi aggiungerla tu +stesso, o pagare qualcun altro per farlo. @divClass{column-center-bottom} @@ -203,6 +298,10 @@ già deciso di provare LilyPond, per prima cosa informati sul nostro @unnumberedsec Esempi @translationof Examples +@divClass{column-center-top} + +@subheading Begli esempi + Lilypond è uno strumento potente e flessibile per scrivere ogni tipo di musica. Dai un'occhiata alla galleria di esempi e lasciati ispirare! @@ -230,7 +329,8 @@ Questo brano per organo di J.S. Bach rappresenta un tipico esempio di progetto L Questo esempio tratto dalle @emph{Goyescas} di Enrique Granados mostra alcune delle funzionalità tipografiche più avanzate, come la ripartizione di travature -e gambi tra più righi e l'evidenziazione dello svolgimento di una singola voce mediante tratti spezzati. +e gambi tra più righi e l'evidenziazione dello svolgimento di una singola voce +mediante tratti spezzati. @exampleImage{granados} @newsEnd @@ -294,6 +394,16 @@ I colori sono stati aggiunti per migliorare la visibilità. @exampleImage{bach-schenker} @newsEnd +@newsItem +@subsubheading Output personalizzato + +Un breve estratto del Klavierstück II di Stockhausen per dimostrare la +capacità di Lilypond di fornire output personalizzato. + +@exampleImage{Stockhausen_Klavierstueck2} +@newsEnd + + @newsItem @subsubheading Musica Vocale @@ -339,6 +449,7 @@ da Hu Haipeng, un compositore cieco. @exampleImage{orchestra} @newsEnd +@divEnd @divClass{column-center-bottom} @subheading E ora? @@ -470,9 +581,11 @@ LilyPond, per prima cosa informati sul nostro @ref{Input testuale}. Abbiamo un lungo saggio che descrive l'estetica computazionale: l'arte di creare la bellezza con un computer. -Se cerchi soltanto una rapida introduzione a LilyPond, il saggio potrebbe -contenere troppe informazioni da leggere. Se vuoi leggerlo ora, -procedi in @ref{Essay}. +Si tratta di una lettura interessante se ti incuriosisce una discussione +approfondita delle nostre idee principali. A causa del suo volume, il +saggio è presentato come "manunale". Se vuoi leggerlo ora, passa a +@ref{Essay}. Tuttavia, se vuoi solo una rapida introduzione a LilyPond, +per ora puoi saltarlo. @divEnd @divClass{column-center-bottom} @@ -489,6 +602,15 @@ LilyPond, per prima cosa informati sul nostro @ref{Input testuale}. @translationof Productions @divClass{column-left-top} + +@subheading Produzioni che usano LilyPond + +Qui puoi informarti sulle persone che usano LilyPond nelle +loro produzioni, sia per le esecuzioni della loro musica +che per le partiture pubblicate. + +@divEnd + @subheading Concerti Lilypond è stato usato per esecuzioni in tutto il mondo. @@ -638,6 +760,11 @@ nostro @ref{Input testuale}. @unnumberedsec Recensioni @translationof Reviews +@divClass{column-center-top} +@subheading Cosa dicono di LilyPond? + +@divEnd + @divClass{column-left-top} @subheading Articoli pubblicati @@ -1036,9 +1163,9 @@ per aiutare i nuovi utenti, a cominciare dal manuale di @ref{Apprendimento}. Il di Apprendimento è il luogo migliore da cui iniziare, perché molte domande trovano risposta prima ancora di manifestarsi! -Sei pregato di leggere il Manuale di Apprendimento prima di lamentarti per ipotetici malfunzionamenti! -I nuovi utenti talvolta credono che LilyPond non stia funzionando -bene, quando in realtà sta funzionando proprio come è stato progettato. +Talvolta i nuovi utenti sono confusi, senza motivo, da alcuni aspetti del +comportamento di LilyPond. Leggi la documentazione prima di pensare che +LilyPond non stia funzionando bene. Informazioni più approfondite sono disponibili nei @ref{Manuali}. @@ -1078,55 +1205,6 @@ ancora convinto? Leggi a proposito dell' @ref{Editing facilitato}. @unnumberedsec Editing facilitato @translationof Easier editing -@ignore -GNU policy forbids us from linking to non-Free software, so don't -add such links. - -In particular, don't link to: -- the LilyPond bundle for TextMate (a commercial editor for MacOS). - -@end ignore - -@divClass{column-center-top} -@subheading Tunefl - -@sourceimage{logo-linux,,,} -@sourceimage{logo-freebsd,,,} -@sourceimage{logo-macosx,,,} -@sourceimage{logo-windows,,,} - -@uref{http://www.tunefl.com} - -Con tunefl è possibile scrivere le partiture direttamente online, -senza bisogno di installare LilyPond sul proprio computer. Consente di -sperimentare tutte le funzionalità del programma usando una comoda -interfaccia web. - -@divEnd - - -@divClass{column-center-top} -@subheading LilyPondTool - -@imageClickable{lilypondtool-2.12-screenshot-400wide,png, - (clicca per ingrandire),lilypondtool-2.12-screenshot,png,right} - -@sourceimage{logo-linux,,,} -@sourceimage{logo-freebsd,,,} -@sourceimage{logo-macosx,,,} -@sourceimage{logo-windows,,,} - -@uref{http://lilypondtool.organum.hu} - -Nato come plugin per l'editor di testo -@uref{http://www.jedit.org,jEdit}, -LilyPondTool è uno degli strumenti con le maggiori funzioni per scrivere -partiture con LilyPond. Le sue funzionalità includono una procedura guidata alla -creazione del documento, con supporto al testo, per impostare i documenti più -facilmente, e un lettore di PDF incorporato con supporto avanzato al punta-e-clicca. - -@divEnd - @divClass{column-center-top} @subheading Frescobaldi @@ -1136,12 +1214,18 @@ facilmente, e un lettore di PDF incorporato con supporto avanzato al punta-e-cli @sourceimage{logo-linux,,,} @sourceimage{logo-freebsd,,,} @sourceimage{logo-windows,,,} +@sourceimage{logo-macosx,,,} @uref{http://www.frescobaldi.org} -Frescobaldi è un editor di testo e musica leggero ma potente; è progettato -specificamente per LilyPond e ha un lettore PDF incluso. È facile da usare -e funziona su tutti i principali sistemi operativi (Linux, Mac OS X e Windows). +Frescobaldi è un editor di testo e musica leggero ma potente, con tante +funzionalità e progettato specificamente per LilyPond. Le principali +funzionalità comprendono i collegamenti punta-e-clicca tra codice di +input e spartito, guide assistite dettagliate alla creazione di un nuovo +spartito, navigatore integrato della documentazione di LilyPond, evidenziazione +della sintassi e completamento automatico. Frescobaldi è scritto in Python, +usa PyQt4 per la sua interfaccia utente e funziona su tutti i principali +sistemi operativi (Linux, Mac OS X e Windows). @divEnd @@ -1152,6 +1236,7 @@ e funziona su tutti i principali sistemi operativi (Linux, Mac OS X e Windows). (clicca per ingrandire),screenshot-denemo,png,right} @sourceimage{logo-linux,,,} +@sourceimage{logo-macosx,,,} @sourceimage{logo-windows,,,} @uref{http://denemo.org} @@ -1168,24 +1253,50 @@ nella visualizzazione grafica, e qualsiasi errore di sintassi nelle tue modifich manuali al codice LilyPond viene evidenziato nella visualizzazione testuale quando elaborato da lì. - @divEnd + @divClass{column-center-top} -@subheading Editor testuali +@subheading Tunefl @sourceimage{logo-linux,,,} @sourceimage{logo-freebsd,,,} @sourceimage{logo-macosx,,,} @sourceimage{logo-windows,,,} -@uref{http://elysium.thsoft.hu} +@uref{http://www.tunefl.com} + +Con tunefl è possibile scrivere le partiture direttamente online, +senza bisogno di installare LilyPond sul proprio computer. Consente di +sperimentare tutte le funzionalità del programma usando una comoda +interfaccia web. + +@divEnd + + +@divClass{column-center-top} +@subheading Elysium + +@sourceimage{logo-linux,,,} +@sourceimage{logo-freebsd,,,} +@sourceimage{logo-macosx,,,} +@sourceimage{logo-windows,,,} Elysium è un ambiente di sviluppo integrato (IDE) per LilyPond ed è un'estensione dell'editor Eclipse. Ha una vista che affianca sorgente e spartito e permette un rapido feedback visivo e sonoro senza bisogno di cambiare i contesti. Include molti modelli con configurazione assistita. +@divEnd + + +@divClass{column-center-top} +@subheading Editor testuali + +@sourceimage{logo-linux,,,} +@sourceimage{logo-freebsd,,,} +@sourceimage{logo-macosx,,,} +@sourceimage{logo-windows,,,} @uref{http://www.gnu.org/software/emacs/} @@ -1323,6 +1434,10 @@ ambiente costruito sul linguaggio di programmazione a vincoli @itemize +@item +@uref{https://sourceforge.net/projects/lily4jedit,LilyPondTool} è stato +creato come plugin dell'editor di testo @uref{http://www.jedit.org,jEdit}. + @item @uref{http://lilykde.googlecode.com/,LilyKDE} è stato sostituito da @uref{http://www.frescobaldi.org/,Frescobaldi}; esiste soltanto come diff --git a/Documentation/it/web/manuals.itexi b/Documentation/it/web/manuals.itexi index 0a83725e44..7a4f2b6560 100644 --- a/Documentation/it/web/manuals.itexi +++ b/Documentation/it/web/manuals.itexi @@ -1,6 +1,6 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: it -*- @ignore - Translation of GIT committish: fdb9b90f39b33d15d097f69c43c7799b1c1dce9b + Translation of GIT committish: 0ea80a5e850c6114d1ba7dc4cfd81d5a45d9604a When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' @@ -609,4 +609,3 @@ per cui l'abbiamo scelta, è disponibile in @ref{Libertà}. @include fdl.itexi @divEnd - diff --git a/Documentation/ja/learning.tely b/Documentation/ja/learning.tely index ea80ad8461..1823000945 100644 --- a/Documentation/ja/learning.tely +++ b/Documentation/ja/learning.tely @@ -20,7 +20,7 @@ @c `Learning Manual' was born 1999-10-10 with git commit b9abaac... @macro copyrightDeclare -Copyright @copyright{} 1999--2014 by the authors. +Copyright @copyright{} 1999--2015 by the authors. @end macro @set FDL diff --git a/Documentation/ja/notation.tely b/Documentation/ja/notation.tely index d714899256..ab84313ba6 100644 --- a/Documentation/ja/notation.tely +++ b/Documentation/ja/notation.tely @@ -21,7 +21,7 @@ @c `Notation Reference' was born 1999-10-11 with git commit 940dda0... @macro copyrightDeclare -Copyright @copyright{} 1999--2014 by 著作者一同 +Copyright @copyright{} 1999--2015 by 著作者一同 @end macro diff --git a/Documentation/ja/notation/cheatsheet.itely b/Documentation/ja/notation/cheatsheet.itely index cefecafef0..f57a38d6be 100644 --- a/Documentation/ja/notation/cheatsheet.itely +++ b/Documentation/ja/notation/cheatsheet.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.11" +@c \version "2.19.16" @c Translators: Yoshiki Sawada @@ -133,7 +133,7 @@ c c, @tab @lilypond[relative=2] \set Score.timing = ##f -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \set Staff.autoBeaming = ##f c( d e) @end lilypond @@ -144,7 +144,7 @@ c( d e) @tab @lilypond[relative=2] \set Score.timing = ##f -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \set Staff.autoBeaming = ##f c\( c( d) e\) @end lilypond @@ -155,7 +155,7 @@ c\( c( d) e\) @tab @lilypond[relative=2] \set Score.timing = ##f -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \set Staff.autoBeaming = ##f a8-[ b-] @end lilypond @@ -166,11 +166,11 @@ a8-[ b-] @tab @lilypond[relative=1] << \new Staff { - \set Staff.implicitTimeSignatureVisibility = #all-invisible + \set Staff.initialTimeSignatureVisibility = #all-invisible c1 } \new Staff { - \set Staff.implicitTimeSignatureVisibility = #all-invisible + \set Staff.initialTimeSignatureVisibility = #all-invisible c1 } >> @end lilypond @@ -180,7 +180,7 @@ a8-[ b-] @tab アーティキュレーション @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible c-> c-. @end lilypond @@ -189,7 +189,7 @@ c-> c-. @tab 強弱記号 @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible c2\mf c\sfz @end lilypond @@ -199,7 +199,7 @@ c2\mf c\sfz @tab @lilypond[relative=2] \set Score.timing = ##f -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \set Staff.autoBeaming = ##f a\< a a\! @end lilypond @@ -209,7 +209,7 @@ a\< a a\! @tab @lilypond[relative=2] \set Score.timing = ##f -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \set Staff.autoBeaming = ##f a\> a a\! @end lilypond @@ -219,7 +219,7 @@ a\> a a\! @tab 和音 @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible @end lilypond @@ -237,7 +237,7 @@ f8 c2 d e @tab 3 連符 @tab @lilypond[relative=1] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \tuplet 3/2 { f8 g a } @end lilypond @@ -246,7 +246,7 @@ f8 c2 d e @tab 装飾小音符 @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \context Voice { \grace b16 c4 } @end lilypond @@ -267,7 +267,7 @@ twinkle @tab 歌詞のハイフン @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible << { g'1 g } \new Lyrics \lyricsto "" { twin -- kle } @@ -278,7 +278,7 @@ twinkle @tab コード @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \chordmode { c:dim f:maj7 } @end lilypond @@ -293,7 +293,7 @@ twinkle @tab 多声 @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \context Staff <<{e f} \\ {c d}>> @end lilypond diff --git a/Documentation/ja/notation/editorial.itely b/Documentation/ja/notation/editorial.itely index 084b00f579..03cc04a756 100644 --- a/Documentation/ja/notation/editorial.itely +++ b/Documentation/ja/notation/editorial.itely @@ -124,7 +124,7 @@ c4.-> d8---3 (一定の割合で) 増減することによって、達成されます@c 標準フォント サイズ (@w{@code{font-size = #0}} のフォント サイズ) は@c 標準の譜の高さに基づきます。@c -20pt の譜では、10pt のフォントが選択されます。 +20pt の譜では、11pt のフォントが選択されます。 @code{font-size} プロパティはフォントを使用するレイアウト オブジェクトだけに@c セットすることができます@c diff --git a/Documentation/ja/notation/input.itely b/Documentation/ja/notation/input.itely index 6ed135dd7a..89da58e23e 100644 --- a/Documentation/ja/notation/input.itely +++ b/Documentation/ja/notation/input.itely @@ -2286,7 +2286,7 @@ Unicode U+03BE の文字を入力します } \addlyrics { O \markup { \concat { Ph \char ##x0153 be! } } } } -\markup { "Copyright 2008--2014" \char ##x00A9 } +\markup { "Copyright 2008--2015" \char ##x00A9 } @end lilypond @cindex copyright sign (著作権記号) diff --git a/Documentation/ja/notation/wind.itely b/Documentation/ja/notation/wind.itely index 5b6c57ad56..2d9f4f3c87 100644 --- a/Documentation/ja/notation/wind.itely +++ b/Documentation/ja/notation/wind.itely @@ -7,7 +7,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.16.0" +@c \version "2.19.16" @c Translators: Yoshiki Sawada @c Translation status: post-GDP @@ -196,9 +196,9 @@ LilyPond はスコティッシュ、ハイランド バグパイプ音楽のた 現代音楽のなかには、@c C と F をフラットにするためクロス フィンガリングを使うものがあります。@c -これは @code{cflat} や @code{fflat} で示すことができます。@c +これは @code{c-flat} や @code{f-flat} で示すことができます。@c 同様に、軽音楽のピブロホ ハイ G (piobaireachd high g) は、@c -@code{gflat} で示すことができます。 +@code{g-flat} で示すことができます。 @seealso コード断片集: diff --git a/Documentation/ja/translations.itexi b/Documentation/ja/translations.itexi index 2bd1429e24..68c2073da0 100644 --- a/Documentation/ja/translations.itexi +++ b/Documentation/ja/translations.itexi @@ -16,7 +16,7 @@ td { border: 1px solid black; text-align: center; } @end html @end ifhtml -@emph{最終更新日 Wed Dec 18 12:23:14 UTC 2013 +@emph{最終更新日 Tue Dec 30 15:39:08 UTC 2014 } @multitable @columnfractions 0.166666666667 0.166666666667 0.166666666667 0.166666666667 0.166666666667 0.166666666667 @@ -47,11 +47,11 @@ GNU LilyPond 学習マニュアル @ifhtml @html -はい +partially @end html @end ifhtml @ifnothtml -はい +partially @end ifnothtml @tab post-GDP @item @@ -111,24 +111,24 @@ partially @item 2 一般的な記譜法 @* -4396 +4417 @tab Yoshiki Sawada @tab @tab @ifhtml @html -一部 (35 %) +一部 (36 %) @end html @end ifhtml @ifnothtml -一部 (35 %) +一部 (36 %) @end ifnothtml @tab @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -138,7 +138,7 @@ partially @item 3 基礎となるコンセプト @* -11144 +11193 @tab Yoshiki Sawada @tab @tab @@ -155,7 +155,7 @@ partially @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -165,24 +165,24 @@ partially @item 4 出力を調整する @* -16191 +16570 @tab Yoshiki Sawada @tab @tab @ifhtml @html -一部 (98 %) +一部 (95 %) @end html @end ifhtml @ifnothtml -一部 (98 %) +一部 (95 %) @end ifnothtml @tab @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -192,28 +192,28 @@ partially @item A テンプレート @* -372 +803 @tab Yoshiki Sawada @tab @tab @ifhtml @html -はい +一部 (99 %) @end html @end ifhtml @ifnothtml -はい +一部 (99 %) @end ifnothtml @tab @ifhtml @html -はい +partially @end html @end ifhtml @ifnothtml -はい +partially @end ifnothtml @tab post-GDP @end multitable @@ -248,11 +248,11 @@ LilyPond 記譜法リファレンス @ifhtml @html -はい +partially @end html @end ifhtml @ifnothtml -はい +partially @end ifnothtml @tab post-GDP @item @@ -312,7 +312,7 @@ LilyPond --- \TITLE\ @item 1.1 ピッチ @* -4990 +5202 @tab Yoshiki Sawada @tab @tab @@ -329,7 +329,7 @@ LilyPond --- \TITLE\ @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -339,7 +339,7 @@ partially @item 1.2 リズム @* -6890 +6916 @tab Yoshiki Sawada @tab @tab @@ -356,7 +356,7 @@ partially @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -366,7 +366,7 @@ partially @item 1.3 発想記号 @* -1793 +1844 @tab Yoshiki Sawada @tab @tab @@ -383,17 +383,17 @@ partially @ifhtml @html -はい +partially @end html @end ifhtml @ifnothtml -はい +partially @end ifnothtml @tab post-GDP @item 1.4 繰り返し @* -1050 +1181 @tab Yoshiki Sawada @tab @tab @@ -410,17 +410,17 @@ partially @ifhtml @html -はい +partially @end html @end ifhtml @ifnothtml -はい +partially @end ifnothtml @tab post-GDP @item 1.5 同時進行する音符 @* -2821 +2810 @tab Yoshiki Sawada @tab @tab @@ -437,7 +437,7 @@ partially @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -474,7 +474,7 @@ partially @item 1.7 編集者の注釈 @* -954 +1491 @tab Yoshiki Sawada @tab @tab @@ -491,17 +491,17 @@ partially @ifhtml @html -はい +partially @end html @end ifhtml @ifnothtml -はい +partially @end ifnothtml @tab post-GDP @item 1.8 テキスト @* -2816 +2820 @tab Yoshiki Sawada @tab @tab @@ -555,7 +555,7 @@ partially @item 2.1 声楽 @* -5190 +4985 @tab Yoshiki Sawada @tab @tab @@ -572,7 +572,7 @@ partially @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -609,7 +609,7 @@ partially @item 2.3 フレットの無い弦楽器 @* -281 +303 @tab Yoshiki Sawada @tab @tab @@ -626,17 +626,17 @@ partially @ifhtml @html -はい +partially @end html @end ifhtml @ifnothtml -はい +partially @end ifnothtml @tab post-GDP @item 2.4 フレットのある弦楽器 @* -2662 +2707 @tab Yoshiki Sawada @tab @tab @@ -653,7 +653,7 @@ partially @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -663,7 +663,7 @@ partially @item 2.5 打楽器 @* -811 +804 @tab Yoshiki Sawada @tab @tab @@ -680,7 +680,7 @@ partially @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -707,17 +707,17 @@ partially @ifhtml @html -はい +partially @end html @end ifhtml @ifnothtml -はい +partially @end ifnothtml @tab post-GDP @item 2.7 和音記譜法 @* -1972 +1916 @tab Yoshiki Sawada @tab @tab @@ -734,7 +734,7 @@ partially @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -798,7 +798,7 @@ partially @item 3 入出力全般 @* -10392 +10610 @tab Yoshiki Sawada @tab @tab @@ -815,7 +815,7 @@ partially @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -825,7 +825,7 @@ partially @item 4 スペースの問題 @* -12256 +10886 @tab Yoshiki Sawada @tab @tab @@ -842,7 +842,7 @@ partially @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -852,24 +852,24 @@ partially @item 5 デフォルトを変更する @* -15289 +15428 @tab Yoshiki Sawada @tab @tab @ifhtml @html -一部 (97 %) +一部 (94 %) @end html @end ifhtml @ifnothtml -一部 (97 %) +一部 (94 %) @end ifnothtml @tab @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -896,11 +896,11 @@ A カンニング ペーパー @ifhtml @html -はい +partially @end html @end ifhtml @ifnothtml -はい +partially @end ifnothtml @tab post-GDP @end multitable @@ -935,11 +935,11 @@ GNU LilyPond -- アプリケーション使用方法 @ifhtml @html -はい +partially @end html @end ifhtml @ifnothtml -はい +partially @end ifnothtml @tab post-GDP @item @@ -972,24 +972,24 @@ LilyPond --- \TITLE\ @item 1 @command{lilypond} を実行する @* -4537 +5080 @tab Yoshiki Sawada @tab @tab @ifhtml @html -一部 (97 %) +一部 (92 %) @end html @end ifhtml @ifnothtml -一部 (97 %) +一部 (92 %) @end ifnothtml @tab @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -999,7 +999,7 @@ partially @item 2 @command{convert-ly} を使ってファイルを更新する @* -1484 +1865 @tab Yoshiki Sawada @tab @tab @@ -1016,7 +1016,7 @@ partially @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -1026,7 +1026,7 @@ partially @item 3 @command{lilypond-book} を実行する @* -4137 +4217 @tab Yoshiki Sawada @tab @tab @@ -1043,7 +1043,7 @@ partially @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -1053,7 +1053,7 @@ partially @item 4 外部プログラム @* -2817 +2830 @tab Yoshiki Sawada @tab @tab @@ -1070,7 +1070,7 @@ partially @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -1119,7 +1119,7 @@ LilyPond -- みんなの楽譜作成 @item セクション タイトル @* -616 +642 @tab Yoshiki Sawada @* Yoshinobu Ishizaki @@ -1138,11 +1138,11 @@ Yoshinobu Ishizaki @ifhtml @html -はい +partially @end html @end ifhtml @ifnothtml -はい +partially @end ifnothtml @tab pre-GDP @item @@ -1177,7 +1177,7 @@ Yoshinobu Ishizaki @item 導入部 @* -4937 +5707 @tab Yoshiki Sawada @* Yoshinobu Ishizaki @@ -1196,7 +1196,7 @@ Yoshinobu Ishizaki @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -1206,7 +1206,7 @@ partially @item ダウンロード @* -1201 +1145 @tab Yoshiki Sawada @tab @tab @@ -1223,7 +1223,7 @@ partially @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -1233,7 +1233,7 @@ partially @item マニュアル @* -1284 +1314 @tab Yoshiki Sawada @tab @tab @@ -1250,7 +1250,7 @@ partially @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml @@ -1260,7 +1260,7 @@ partially @item コミュニティ @* -3073 +2991 @tab Yoshiki Sawada @tab @tab @@ -1277,7 +1277,7 @@ partially @ifhtml @html -partially +partially @end html @end ifhtml @ifnothtml diff --git a/Documentation/ja/usage.tely b/Documentation/ja/usage.tely index bf2dc399a0..a604a9b5f2 100644 --- a/Documentation/ja/usage.tely +++ b/Documentation/ja/usage.tely @@ -21,7 +21,7 @@ @c `Usage' was born 1999-10-10 with git commit c82c30c... @macro copyrightDeclare -Copyright @copyright{} 1999--2014 by the authors. +Copyright @copyright{} 1999--2015 by the authors. @end macro @set FDL diff --git a/Documentation/ja/web.texi b/Documentation/ja/web.texi index 9cde7d4904..65bca0276a 100644 --- a/Documentation/ja/web.texi +++ b/Documentation/ja/web.texi @@ -15,7 +15,7 @@ @c `Web' was imported 2009-08-05 with git commit b938d71... @c @macro copyrightDeclare -@c Copyright @copyright{} 2009--2014 by the authors. +@c Copyright @copyright{} 2009--2015 by the authors. @c @end macro @set FDL @@ -35,7 +35,7 @@ @c Translators: Yoshiki Sawada, Yoshinobu Ishizaki @copying -Copyright @copyright{} 2009--2014 by the authors. +Copyright @copyright{} 2009--2015 by the authors. @c next line is necessary for broken pre-4.13 texinfo's @c install-info, so leave it there until we officially diff --git a/Documentation/learning.tely b/Documentation/learning.tely index b00e8074f2..ee5464d342 100644 --- a/Documentation/learning.tely +++ b/Documentation/learning.tely @@ -25,7 +25,7 @@ This file provides an introduction to LilyPond version @c file: Documentation/tex/tutorial.yo @macro copyrightDeclare -Copyright @copyright{} 1998--2014 by the authors. +Copyright @copyright{} 1998--2015 by the authors. @end macro @set FDL diff --git a/Documentation/learning/common-notation.itely b/Documentation/learning/common-notation.itely index 7b07c8e959..ff5775a616 100644 --- a/Documentation/learning/common-notation.itely +++ b/Documentation/learning/common-notation.itely @@ -52,7 +52,7 @@ on one staff. @menu * Bar lines and bar checks:: -* Accidentals and key signatures:: +* Pitches and key signatures:: * Ties and slurs:: * Articulation and dynamics:: * Adding text:: @@ -104,25 +104,24 @@ Notation Reference: @ruser{Bar and bar number checks}. -@node Accidentals and key signatures -@subsection Accidentals and key signatures +@node Pitches and key signatures +@subsection Pitches and key signatures @menu -* Accidentals:: +* Pitch alterations:: * Key signatures:: * Warning key signatures and pitches:: @end menu -@warning{New users are often confused by these -- please read the -warning at the bottom of this page, especially if you are not -familiar with music theory!} +@warning{New users often misunderstand how LilyPond uses the key +signature -- please read the warning at the bottom of this page.} -@node Accidentals -@unnumberedsubsubsec Accidentals +@node Pitch alterations +@unnumberedsubsubsec Pitch alterations @cindex accidentals -@cindex accidentals and key signatures +@cindex natural @cindex sharp @cindex double sharp @cindex sharp, double @@ -138,13 +137,16 @@ familiar with music theory!} Music Glossary: @rglos{sharp}, @rglos{flat}, @rglos{double sharp}, @rglos{double flat}, @rglos{accidental}. +Note-names in LilyPond identify pitches. For example, @code{c} +always means C-natural, regardless of the key signature. + A @notation{sharp} pitch is made by adding @code{is} to the name, and a @notation{flat} pitch by adding @code{es}. As you might expect, a @notation{double sharp} or @notation{double flat} is made by adding @code{isis} or @code{eses}. This syntax is derived from note naming conventions in Nordic and Germanic languages, like German and Dutch. To use other names for -@notation{accidentals}, see @ruser{Note names in other languages}. +@notation{alterations}, see @ruser{Note names in other languages}. @lilypond[verbatim,quote,relative=2] cis4 ees fisis, aeses @@ -176,11 +178,11 @@ Music Glossary: @rglos{key signature}, @rglos{major}, The @notation{key signature} is set with the command @code{\key} followed by a pitch and @code{\major} or @code{\minor}. -@lilypond[verbatim,quote,relative=2] +@lilypond[verbatim,quote,relative=1] \key d \major -a1 | -\key c \minor -a1 | +d4 fis a c | +\bar "||" \key c \minor +c,4 ees g b | @end lilypond @smallspace @@ -193,22 +195,18 @@ Music Glossary: @rglos{accidental}, @rglos{key signature}, @rglos{pitch}, @rglos{flat}, @rglos{natural}, @rglos{sharp}, @rglos{transposition}, @rglos{Pitch names}. -To determine whether to print an @notation{accidental}, LilyPond -examines the pitches and the @notation{key signature}. The key -signature only affects the @emph{printed} accidentals, not the -note's @notation{pitch}! This is a feature that often causes -confusion to newcomers, so let us explain it in more detail. - -LilyPond makes a clear distinction between musical content and -layout. The alteration (@notation{flat}, @notation{natural sign} or -@notation{sharp}) of a note is part of the pitch, and is therefore -musical content. Whether an accidental (a @emph{printed} flat, -natural or sharp sign) is printed in front of the corresponding -note is a question of layout. Layout is something that follows -rules, so accidentals are printed automatically according to those -rules. The pitches in your music are works of art, so they will -not be added automatically, and you must enter what you want to -hear. +LilyPond makes a distinction between musical content and +its printed representation. Input such as @code{d4 e fis2} +defines the pitches and durations of notes, which is musical +content. The @notation{key signature} is part of the printed +representation. The key signature also sets rules for the +printed representations of notes. LilyPond compares each input +pitch to the key signature to determine whether to print an +@notation{accidental}. + +The command @code{\key} sets the @notation{key signature}, which +affects the printed representation, but does @emph{not} change +the pitch assigned to a note such as @code{c} in the input. In this example: @@ -231,10 +229,8 @@ note with pitch B-natural.} In the key of A-flat major, it aes4 c b c @end lilypond -If the above seems confusing, consider this: if you were playing a -piano, which key would you hit? If you would press a black key, -then you @emph{must} add @w{@code{-is}} or @w{@code{-es}} to the note -name! +Whenever you enter a pitch that is a black key on the piano, you +@emph{must} add @w{@code{-is}} or @w{@code{-es}} to the note name. Adding all alterations explicitly might require a little more effort when typing, but the advantage is that @@ -274,16 +270,31 @@ Notation Reference: @node Ties @unnumberedsubsubsec Ties - Music Glossary: @rglos{tie}. A @notation{tie} is created by appending a tilde @code{~} to the -first note being tied. +first of the two notes being tied. + +@lilypond[verbatim,quote,relative=2] +g4~ g c2~ | c4~ c8 a~ a2 | +@end lilypond + +@cindex bare duration +@cindex duration, bare + +When the pitch does not change, as is always the case with tied notes, +subsequent pitches may be omitted, specifying just the bare duration: @lilypond[verbatim,quote,relative=2] g4~ 4 c2~ | 4~ 8 a~ 2 | @end lilypond +This shorthand may be useful in other places where the rhythm changes +with an unchanging pitch, but remember a bare duration will attach to +the preceding pitch, making a single note, if only white space +separates them. + + @node Slurs @unnumberedsubsubsec Slurs diff --git a/Documentation/learning/fundamental.itely b/Documentation/learning/fundamental.itely index bcf449f276..108d200ca0 100644 --- a/Documentation/learning/fundamental.itely +++ b/Documentation/learning/fundamental.itely @@ -1167,7 +1167,8 @@ with stems up and one note (or chord) from a voice with stems down. If notes from two voices which have their stems in the same direction are placed at the same position and both voices have no shift or the same shift specified, the error message -@qq{Too many clashing note columns} will be produced. +@qq{This voice needs a @code{@bs{}voiceXx} or @code{@bs{}shiftXx} setting} +will be produced. @seealso diff --git a/Documentation/learning/tweaks.itely b/Documentation/learning/tweaks.itely index 160c0e3901..b6429dcf43 100644 --- a/Documentation/learning/tweaks.itely +++ b/Documentation/learning/tweaks.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.19.2" +@c \version "2.19.16" @node Tweaking output @chapter Tweaking output @@ -187,6 +187,7 @@ the types of objects and properties from their names. * The once prefix:: * The overrideProperty command:: * The tweak command:: +* The single prefix:: @end menu @node The override command @@ -521,6 +522,60 @@ appearance may be modified in the usual way with Notation Reference: @ruser{The tweak command}. +@node The single prefix +@unnumberedsubsubsec The @code{@bs{}single} prefix + +@funindex \single +@cindex tweak, generated from override + +Suppose we wanted to emphasize particular note heads by coloring them +red and increasing their size, and to make it easy suppose also we +have defined a function to do this: + +@lilypond[quote,verbatim] +emphNoteHead = { + \override NoteHead.color = #red + \override NoteHead.font-size = 2 +} +\relative c'' { + c4 a \once \emphNoteHead f d | +} +@end lilypond + +The @code{\once} prefix works fine to emphasize single notes or +complete chords, but it cannot be used to emphasize a single note +@emph{within} a chord. Earlier we have seen how @code{\tweak} can +be used to do this, see +@ref{The tweak command,,The @code{@bs{}tweak} command}. But +@code{\tweak} cannot be used with a function; that's where +@code{\single} comes in: + +@lilypond[quote,verbatim] +emphNoteHead = { + \override NoteHead.color = #red + \override NoteHead.font-size = 2 +} +\relative c'' { + 4 +} +@end lilypond + +In summary, @code{\single} converts overrides into tweaks so when +there are several objects at the same point in musical time (like +noteheads in a chord), @code{\single} will only affect a single one, +the one generated by the immediately following music expression, in +contrast to @code{\once} which will affect all of those objects. + +By using @code{\single} in this way any shorthand function +containing just overrides may be applied to individual notes in a +chord. However, @code{\single} does not convert @code{\revert}, +@code{\set} or @code{\unset} into tweaks. + +@seealso +Learning Manual: +@ref{The tweak command,,The @code{@bs{}tweak} command}, +@ref{Using variables for layout adjustments}. + @node The Internals Reference manual @section The Internals Reference manual @@ -3154,18 +3209,26 @@ do this, see @ruser{Modifying ties and slurs}. Here's a further example. We see that the beams collide with the ties: -@lilypond[quote,verbatim,fragment,ragged-right] +@lilypond[quote,verbatim,fragment,ragged-right,relative=1] { \time 4/2 << - { c'1 ~ 2. e'8 f' } + { c1~ 2. e8 f } \\ - { e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g'' } + { + e'8 e e e + e e e e + f2 g + } >> << - { c'1 ~ 2. e'8 f' } + { c,,1~ 2. e8 f } \\ - { e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g'' } + { + e'8 e e e + e e e e + f2 g + } >> } @end lilypond @@ -3178,29 +3241,37 @@ say, 1: @cindex Beam, example of overriding @cindex positions property, example -@lilypond[quote,verbatim,fragment,ragged-right] +@lilypond[quote,verbatim,ragged-right,relative=1] { \time 4/2 << - { c'1 ~ 2. e'8 f' } + { c1~ 2. e8 f } \\ { \override Beam.positions = #'(-1 . -1) - e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g'' + e'8 e e e + e e e e + f2 g } >> << - { c'1 ~ 2. e'8 f' } + { c,,1~ 2. e8 f } \\ - { e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g'' } + { + e'8 e e e + e e e e + f2 g + \revert Beam.positions + } >> } @end lilypond @noindent -Note that the override continues to apply in the first voice of +Note that the override continues to apply in the second voice of the second measure of eighth notes, but not to any of the beams in the -second voice. +first voice, even those in the later second measure. As soon as the +override should no longer apply it should be reverted, as shown. @node The force-hshift property @unnumberedsubsubsec The @code{force-hshift} property @@ -3227,10 +3298,7 @@ was left looking like this: @noindent The inner note of the first chord (i.e. the A-flat in the fourth Voice) need not be shifted away from the note column of the higher -note. We might expect to correct this by using @code{\shiftOff}, but -this will cause warnings about clashing note columns. Instead, we -set @code{force-hshift}, which is a property of @code{NoteColumn}, -of this note to zero. +note, so we use @code{\shiftOff}. In the second chord we prefer the F to line up with the A-flat and the lowest note to be positioned slightly right to avoid a collision @@ -3256,8 +3324,7 @@ Here's the final result: { 2 \once \override NoteColumn.force-hshift = 0.5 des } \\ \\ - { \once \override NoteColumn.force-hshift = 0 aes'2 - \once \override NoteColumn.force-hshift = 0 f4 fes } + { \once \shiftOff aes'2 \once \shiftOff f4 fes } >> | 1 | } @@ -3803,56 +3870,38 @@ lhMusic = \relative c' { * Simulating a fermata in MIDI:: @end menu -@cindex transparent property, use of -@cindex objects, making invisible @cindex removing objects @cindex objects, removing -@cindex hiding objects -@cindex objects, hiding -@cindex invisible objects -@cindex objects, invisible @node Tying notes across voices @unnumberedsubsubsec Tying notes across voices @cindex tying notes across voices -The following example demonstrates how to connect notes in -different voices using ties. Normally, only two notes in the -same voice can be connected with ties. By using two voices, -with the tied notes in one of them +The following example demonstrates how to connect notes in different +voices using ties. Normally, only notes in the same voice can be +connected with ties. By using two voices, with the tied notes in one +of them @lilypond[quote,fragment,relative=2] << { b8~ 8\noBeam } \\ { b8[ g] } >> @end lilypond @noindent -and blanking the first up-stem in that voice, the tie appears to -cross voices: - -@cindex Stem, example of overriding -@cindex transparent property, example - -@lilypond[quote,fragment,relative=2,verbatim] -<< - { - \tweak Stem.transparent ##t - b8~ 8\noBeam - } -\\ - { b8[ g] } ->> -@end lilypond +and removing the first up-stem and its flag in that voice, the tie +appears to cross voices: -To make sure that the just-blanked stem doesn't squeeze the tie -too much, we can lengthen the stem by setting the -@code{length} to @code{8}, +@funindex \omit +@cindex Stem, example of removing +@cindex Flag, example of removing +@cindex @code{\omit}, example +@cindex example of @code{\omit} @lilypond[quote,fragment,relative=2,verbatim] << { - \tweak Stem.transparent ##t - \tweak Stem.length #8 + \once \omit Stem + \once \omit Flag b8~ 8\noBeam } \\ @@ -3860,34 +3909,11 @@ too much, we can lengthen the stem by setting the >> @end lilypond -@funindex \single -@cindex tweak, generated from override -Now for @emph{overriding} the transparency of a graphical object, -we could have used the shorthand @code{\hide} as explained above. -Tweaking is a different operation, affecting only properties -generated from a single music expression. It turns out that we -can convert overrides into tweaks using @code{\single}, making it -possible to rewrite the above example as - -@lilypond[quote,fragment,relative=2,verbatim] -<< - { - \single \hide Stem - \single \hide Flag - \tweak Stem.length #8 - b8~ 8\noBeam - } -\\ - { b8[ g] } ->> -@end lilypond +@seealso +Learning Manual: +@ref{The once prefix,,The @code{@bs{}once} prefix}, +@ref{The stencil property}. -In this particular case, the difference to @code{\once \hide} is -not apparent. It is important when there are several objects at -the same point in musical time (like noteheads in a chord). In -that case, @code{\once} will affect all of those objects while -@code{\single} will only affect a single one, the one generated by -the immediately following music expression. @node Simulating a fermata in MIDI @unnumberedsubsubsec Simulating a fermata in MIDI diff --git a/Documentation/lilypond-texi2html.init b/Documentation/lilypond-texi2html.init index 1ae43523cf..f39179e0ca 100644 --- a/Documentation/lilypond-texi2html.init +++ b/Documentation/lilypond-texi2html.init @@ -1192,7 +1192,7 @@ sub split_texi_filename ($) ############################################################################# # Include our standard CSS file, not hard-coded CSS code directly in the HTML! -# For IE, conditionally include the lilypond-ie-fixes.css style sheet +# For IE, add a second conditionally included CSS file. sub lilypond_css_lines ($$) { my $import_lines = shift; @@ -1216,10 +1216,13 @@ sub lilypond_css_lines ($$) "{FILENAME}\" title=\"$ref->{TITLE}\">\n"; } - # The ie-fixes stylesheet is needed for the docs, but not the website. - if (not ($web_manual)) { + # Add a conditionally included CSS file for IE, for either the docs or the website + if ($web_manual) { + $Texi2HTML::THISDOC{'CSS_LINES'} .= + "\n"; + } else { $Texi2HTML::THISDOC{'CSS_LINES'} .= - "\n"; + "\n"; } if ($ENV{'AJAX_SEARCH'} == 1) { @@ -1665,22 +1668,6 @@ sub generate_ly_toc_entries($$$$$) my $is_parent_of_current = $element->{'id'} && $element_path->{$element->{'id'}}; my $ind = ' ' x $level; my $this_css_class = " class=\""; - # color indices for the second navigation bar on the website - if ($web_manual) { - my %color_maps = ( - 'introduction' => [2, 2, 2, 2, 3, 3, 4, 4], - 'download' => [2, 2, 2, 3, 3, 4], - 'manuals' => [1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4], - 'community' => [1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4], - ); - my $addColor = "colorDefault"; - while (($top_section, $color_indices) = each %color_maps) { - if (index ($element->{'sectionup'}->{'file'}, $top_section) >= 0) { - $addColor = "color" . $color_indices->[$child_count]; - } - } - $this_css_class .= $addColor; - } $this_css_class .= $is_parent_of_current ? ' toc_current"' : '"'; my $entry = "$ind" . &$anchor ($element->{'tocid'}, @@ -1753,10 +1740,10 @@ sub lilypond_generate_page_toc_body($) # FIXME: add link to main page, really hackily. if ($element->{'sectionup'}) { # it's not the top element - push (@toc_entries, "
  • Main
  • \n"); + push (@toc_entries, "
  • LilyPond
  • \n"); } else { push (@toc_entries, - "
  • Main
  • \n"); + "
  • LilyPond
  • \n"); } } else { push (@toc_entries, "
    \n"); diff --git a/Documentation/music-glossary.tely b/Documentation/music-glossary.tely index 46f04f513a..b86c367d34 100644 --- a/Documentation/music-glossary.tely +++ b/Documentation/music-glossary.tely @@ -19,7 +19,7 @@ terms used in the documentation manuals for LilyPond version @c file: Documentation/user/glossary.texi @macro copyrightDeclare -Copyright @copyright{} 1999--2014 by the authors +Copyright @copyright{} 1999--2015 by the authors @end macro @set FDL @@ -5614,7 +5614,7 @@ theme or subject. @lilypond[quote,line-width=13.0\cm] \score{ \relative c'' { - \set Score.implicitTimeSignatureVisibility = #all-invisible + \set Score.initialTimeSignatureVisibility = #all-invisible \override Score.TimeSignature #'break-visibility = #all-invisible \time 4/4 \key g \major diff --git a/Documentation/nl/learning.tely b/Documentation/nl/learning.tely index bd45b542b4..c23be1aa0a 100644 --- a/Documentation/nl/learning.tely +++ b/Documentation/nl/learning.tely @@ -26,7 +26,7 @@ This file provides an introduction to LilyPond version @c `Learning Manual' was born 1999-10-10 with git commit b9abaac... @macro copyrightDeclare -Copyright @copyright{} 1999--2014 door de auteurs. +Copyright @copyright{} 1999--2015 door de auteurs. @end macro @set FDL diff --git a/Documentation/nl/translations.itexi b/Documentation/nl/translations.itexi index 6e28d6897d..f23ae4cc90 100644 --- a/Documentation/nl/translations.itexi +++ b/Documentation/nl/translations.itexi @@ -16,7 +16,7 @@ td { border: 1px solid black; text-align: center; } @end html @end ifhtml -@emph{Meest recente update Wed Dec 18 12:23:14 UTC 2013 +@emph{Meest recente update Tue Dec 30 15:39:08 UTC 2014 } @multitable @columnfractions 0.166666666667 0.166666666667 0.166666666667 0.166666666667 0.166666666667 0.166666666667 @@ -47,11 +47,11 @@ ja @ifhtml @html -ja +gedeeltelijk @end html @end ifhtml @ifnothtml -ja +gedeeltelijk @end ifnothtml @tab na-GDP @item @@ -111,24 +111,24 @@ gedeeltelijk @item 2 Algemene muzieknotatie @* -4396 +4417 @tab Jan Nieuwenhuizen @tab @tab @ifhtml @html -gedeeltelijk (35 %) +gedeeltelijk (36 %) @end html @end ifhtml @ifnothtml -gedeeltelijk (35 %) +gedeeltelijk (36 %) @end ifnothtml @tab @ifhtml @html -gedeeltelijk +gedeeltelijk @end html @end ifhtml @ifnothtml @@ -138,7 +138,7 @@ gedeeltelijk @item 3 Fundamentele concepten @* -11144 +11193 @tab Jan Nieuwenhuizen @tab @tab @@ -155,7 +155,7 @@ ja @ifhtml @html -gedeeltelijk +gedeeltelijk @end html @end ifhtml @ifnothtml @@ -165,24 +165,24 @@ gedeeltelijk @item 4 Tweaking output @* -16191 +16570 @tab Jan Nieuwenhuizen @tab @tab @ifhtml @html -gedeeltelijk (98 %) +gedeeltelijk (95 %) @end html @end ifhtml @ifnothtml -gedeeltelijk (98 %) +gedeeltelijk (95 %) @end ifnothtml @tab @ifhtml @html -gedeeltelijk +gedeeltelijk @end html @end ifhtml @ifnothtml @@ -192,28 +192,28 @@ gedeeltelijk @item A Templates @* -372 +803 @tab Jan Nieuwenhuizen @tab @tab @ifhtml @html -ja +gedeeltelijk (99 %) @end html @end ifhtml @ifnothtml -ja +gedeeltelijk (99 %) @end ifnothtml @tab @ifhtml @html -ja +gedeeltelijk @end html @end ifhtml @ifnothtml -ja +gedeeltelijk @end ifnothtml @tab voor-GDP @end multitable @@ -231,7 +231,7 @@ LilyPond -- Muzieknotatie voor iedereen @item Paragraaftitels @* -616 +642 @tab Jan Nieuwenhuizen @tab Tineke de Munnik @tab @@ -248,11 +248,11 @@ ja @ifhtml @html -ja +gedeeltelijk @end html @end ifhtml @ifnothtml -ja +gedeeltelijk @end ifnothtml @tab na-GDP @item @@ -285,7 +285,7 @@ ja @item Inleiding @* -4937 +5707 @tab Jan Nieuwenhuizen @tab Tineke de Munnik @tab @@ -302,7 +302,7 @@ ja @ifhtml @html -gedeeltelijk +gedeeltelijk @end html @end ifhtml @ifnothtml @@ -312,7 +312,7 @@ gedeeltelijk @item Download @* -1201 +1145 @tab Jan Nieuwenhuizen @tab Tineke de Munnik @tab @@ -329,7 +329,7 @@ ja @ifhtml @html -gedeeltelijk +gedeeltelijk @end html @end ifhtml @ifnothtml @@ -339,7 +339,7 @@ gedeeltelijk @item Handleidingen @* -1284 +1314 @tab Jan Nieuwenhuizen @tab Tineke de Munnik @tab @@ -356,7 +356,7 @@ ja @ifhtml @html -gedeeltelijk +gedeeltelijk @end html @end ifhtml @ifnothtml diff --git a/Documentation/nl/web.texi b/Documentation/nl/web.texi index d8a686b558..e977208b10 100644 --- a/Documentation/nl/web.texi +++ b/Documentation/nl/web.texi @@ -35,7 +35,7 @@ @copying -Copyright @copyright{} 2009--2014 by the authors. +Copyright @copyright{} 2009--2015 by the authors. @c next line is necessary for broken pre-4.13 texinfo's @c install-info, so leave it there until we officially diff --git a/Documentation/notation.tely b/Documentation/notation.tely index bdbf5cff55..c055ab1e5f 100644 --- a/Documentation/notation.tely +++ b/Documentation/notation.tely @@ -27,7 +27,7 @@ the reader is familiar with the material in the @c file: Documentation/tex/refman.yo @macro copyrightDeclare -Copyright @copyright{} 1998--2014 by the authors. +Copyright @copyright{} 1998--2015 by the authors. @end macro diff --git a/Documentation/notation/changing-defaults.itely b/Documentation/notation/changing-defaults.itely index 6d6b724cff..f2f869bf64 100644 --- a/Documentation/notation/changing-defaults.itely +++ b/Documentation/notation/changing-defaults.itely @@ -2585,6 +2585,7 @@ modified by completely re-defining them as alists.} * Input modes:: * Direction and placement:: * Distances and measurements:: +* Dimensions:: * Staff symbol properties:: * Spanners:: * Visibility of objects:: @@ -2844,6 +2845,35 @@ Notation Reference: @ref{Setting the staff size}. +@node Dimensions +@subsection Dimensions + +@cindex dimensions +@cindex bounding box + +The dimensions of a graphical object specify the positions of the left +and right edges and the bottom and top edges of the objects' bounding +box as distances from the objects' reference point in units of +staff-spaces. These positions are usually coded as two Scheme pairs. +For example, the text markup command @code{\with-dimensions} takes +three arguments, the first two of which are a Scheme pair giving the +left and right edge positions and a Scheme pair giving the bottom and +top edge positions: + +@example +\with-dimensions #'(-5 . 10) #'(-3 . 15) @var{arg} +@end example + +This specifies a bounding box for @var{arg} with its left edge at -5, +its right edge at 10, its bottom edge at -3 and its top edge at 15, +all measured from the objects' reference point in units of +staff-spaces. + +@seealso +Notation Reference: +@ref{Distances and measurements}. + + @node Staff symbol properties @subsection Staff symbol properties @@ -3046,7 +3076,7 @@ Objects which support the @code{line-spanner-interface} include @end itemize The routine responsible for drawing the stencils for these spanners is -@code{ly:line-interface::print}. This routine determines the +@code{ly:line-spanner::print}. This routine determines the exact location of the two end points and draws a line between them, in the style requested. The locations of the two end points of the spanner are computed on-the-fly, but it is @@ -3349,18 +3379,18 @@ by pre-defined functions, defined in @file{scm/output-lib.scm}, where the last three columns indicate whether the layout objects will be visible in the positions shown at the head of the columns: -@multitable {@code{begin-of-line-invisible}} {@code{'#(#t #t #t)}} {Before} {At no} {After} -@headitem Function @tab Vector @tab Before @tab At no @tab After -@headitem form @tab form @tab break @tab break @tab break - -@item @code{all-visible} @tab @code{'#(#t #t #t)} @tab yes @tab yes @tab yes -@item @code{begin-of-line-visible} @tab @code{'#(#f #f #t)} @tab no @tab no @tab yes -@item @code{center-visible} @tab @code{'#(#f #t #f)} @tab no @tab yes @tab no -@item @code{end-of-line-visible} @tab @code{'#(#t #f #f)} @tab yes @tab no @tab no -@item @code{begin-of-line-invisible} @tab @code{'#(#t #t #f)} @tab yes @tab yes @tab no -@item @code{center-invisible} @tab @code{'#(#t #f #t)} @tab yes @tab no @tab yes -@item @code{end-of-line-invisible} @tab @code{'#(#f #t #t)} @tab no @tab yes @tab yes -@item @code{all-invisible} @tab @code{'#(#f #f #f)} @tab no @tab no @tab no +@multitable {@code{begin-of-line-invisible}} {@code{#(#t #t #t)}} {Before} {At no} {After} +@headitem Function @tab Vector @tab Before @tab At no @tab After +@headitem form @tab form @tab break @tab break @tab break + +@item @code{all-visible} @tab @code{#(#t #t #t)} @tab yes @tab yes @tab yes +@item @code{begin-of-line-visible} @tab @code{#(#f #f #t)} @tab no @tab no @tab yes +@item @code{center-visible} @tab @code{#(#f #t #f)} @tab no @tab yes @tab no +@item @code{end-of-line-visible} @tab @code{#(#t #f #f)} @tab yes @tab no @tab no +@item @code{begin-of-line-invisible} @tab @code{#(#t #t #f)} @tab yes @tab yes @tab no +@item @code{center-invisible} @tab @code{#(#t #f #t)} @tab yes @tab no @tab yes +@item @code{end-of-line-invisible} @tab @code{#(#f #t #t)} @tab no @tab yes @tab yes +@item @code{all-invisible} @tab @code{#(#f #f #f)} @tab no @tab no @tab no @end multitable The default settings of @code{break-visibility} depend on the @@ -3580,7 +3610,7 @@ These all use the same routines as the glissando for drawing the texts and the lines, and tuning their behavior is therefore also done in the same way. It is done with a spanner, and the routine responsible for drawing the spanners is -@code{ly:line-interface::print}. This routine determines the +@code{ly:line-spanner::print}. This routine determines the exact location of the two @i{span points} and draws a line between them, in the style requested. diff --git a/Documentation/notation/cheatsheet.itely b/Documentation/notation/cheatsheet.itely index 711be9782a..8b895bd902 100644 --- a/Documentation/notation/cheatsheet.itely +++ b/Documentation/notation/cheatsheet.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.11" +@c \version "2.19.16" @c TODO: add tablature. @@ -127,7 +127,7 @@ c c, @tab @lilypond[relative=2] \set Score.timing = ##f -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \set Staff.autoBeaming = ##f c( d e) @end lilypond @@ -138,7 +138,7 @@ c( d e) @tab @lilypond[relative=2] \set Score.timing = ##f -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \set Staff.autoBeaming = ##f c\( c( d) e\) @end lilypond @@ -149,7 +149,7 @@ c\( c( d) e\) @tab @lilypond[relative=2] \set Score.timing = ##f -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \set Staff.autoBeaming = ##f a8-[ b-] @end lilypond @@ -160,11 +160,11 @@ a8-[ b-] @tab @lilypond[relative=1] << \new Staff { - \set Staff.implicitTimeSignatureVisibility = #all-invisible + \set Staff.initialTimeSignatureVisibility = #all-invisible c1 } \new Staff { - \set Staff.implicitTimeSignatureVisibility = #all-invisible + \set Staff.initialTimeSignatureVisibility = #all-invisible c1 } >> @end lilypond @@ -174,7 +174,7 @@ a8-[ b-] @tab articulations @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible c-> c-. @end lilypond @@ -183,7 +183,7 @@ c-> c-. @tab dynamics @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible c2\mf c\sfz @end lilypond @@ -193,7 +193,7 @@ c2\mf c\sfz @tab @lilypond[relative=2] \set Score.timing = ##f -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \set Staff.autoBeaming = ##f a\< a a\! @end lilypond @@ -203,7 +203,7 @@ a\< a a\! @tab @lilypond[relative=2] \set Score.timing = ##f -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \set Staff.autoBeaming = ##f a\> a a\! @end lilypond @@ -213,7 +213,7 @@ a\> a a\! @tab chord @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible @end lilypond @@ -231,7 +231,7 @@ f8 c2 d e @tab triplets @tab @lilypond[relative=1] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \tuplet 3/2 { f8 g a } @end lilypond @@ -240,7 +240,7 @@ f8 c2 d e @tab grace notes @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \context Voice { \grace b16 c4 } @end lilypond @@ -261,7 +261,7 @@ twinkle @tab lyric hyphen @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible << { g'1 g } \new Lyrics \lyricsto "" { twin -- kle } @@ -272,7 +272,7 @@ twinkle @tab chords @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \chordmode { c:dim f:maj7 } @end lilypond @@ -287,7 +287,7 @@ twinkle @tab polyphony @tab @lilypond[relative=2] -\set Staff.implicitTimeSignatureVisibility = #all-invisible +\set Staff.initialTimeSignatureVisibility = #all-invisible \context Staff <<{e f} \\ {c d}>> @end lilypond diff --git a/Documentation/notation/editorial.itely b/Documentation/notation/editorial.itely index c121cf7bb3..8f23a50cf8 100644 --- a/Documentation/notation/editorial.itely +++ b/Documentation/notation/editorial.itely @@ -264,7 +264,7 @@ c4.-> d8---3 Font size changes are achieved by scaling the design size that is closest to the desired size. The standard font size (for @w{@code{font-size = 0}}) depends on the standard staff height. -For a 20pt staff, a 10pt font is selected. +For a 20pt staff, a 11pt font is selected. @predefined diff --git a/Documentation/notation/input.itely b/Documentation/notation/input.itely index f28d19f43d..8cede953f0 100644 --- a/Documentation/notation/input.itely +++ b/Documentation/notation/input.itely @@ -2088,7 +2088,7 @@ to tagged music is as follows: Tagged music preceded by @code{\keepWithTag #'@var{name}} or @code{\keepWithTag #'(@var{name1} @var{name2}@dots{})} @tab Untagged music and music tagged with any of the given tag - names is included; + names is included; music tagged with any other tag name is excluded. @item Tagged music preceded by @code{\removeWithTag #'@var{name}} or @@ -2105,7 +2105,13 @@ Tagged music not preceded by either @code{\keepWithTag} or The arguments of the @code{\tag}, @code{\keepWithTag} and @code{\removeWithTag} commands should be a symbol or list of symbols (such as @code{#'score} or @code{#'(violinI violinII}), -followed by a music expression. +followed by a music expression. If @emph{and only if} the symbols +are valid LilyPond identifiers (alphabetic characters only, no +numbers, underscores, or dashes) which cannot be confused with notes, +the @code{#'} may be omitted and, as a shorthand, a list of symbols +can use the dot separator: i.e. @code{\tag #'(violinI violinII)} can +be written @code{\tag violinI.violinII}. The same applies to +@code{\keepWithTag} and @code{\removeWithTag}. In the following example, we see two versions of a piece of music, one showing trills with the usual notation, and one with trills @@ -2432,7 +2438,7 @@ lyrics and as stand-alone text below the score: } \addlyrics { O \markup { \concat { Ph \char ##x0153 be! } } } } -\markup { "Copyright 2008--2014" \char ##x00A9 } +\markup { "Copyright 2008--2015" \char ##x00A9 } @end lilypond @cindex copyright sign @@ -2508,40 +2514,54 @@ Installed Files: * Replacing the notation font:: @end menu +@funindex clip-regions +@cindex Fragments, music +@cindex Music fragments + @node Extracting fragments of music @subsection Extracting fragments of music -It is possible to quote small fragments of a large score directly from -the output. This can be compared to clipping a piece of a paper score -with scissors. - -This is done by defining the measures that need to be cut out -separately. For example, including the following definition +It is possible to output one or more fragments of a score by defining +the explicit location of the music to be extracted within the +@code{\layout} block of the the input file using the @code{clip-regions} +function, and then running LilyPond with the @option{-dclip-systems} +option; - -@verbatim -\layout { +@example +\layout @{ clip-regions = #(list (cons (make-rhythmic-location 5 1 2) (make-rhythmic-location 7 3 4))) -} -@end verbatim +@} +@end example @noindent -will extract a fragment starting halfway the fifth measure, ending in -the seventh measure. The meaning of @code{5 1 2} is: after a 1/2 note -in measure 5, and @code{7 3 4} after 3 quarter notes in measure 7. +This example will extract a single fragment of the input file +@emph{starting} after a half-note duration in fifth measure +(@code{5 1 2}) and @emph{ending} after the third quarter-note in the +seventh measure (@code{7 3 4}). + +Additional fragments can be extracted by adding more pairs of +@code{make-rhythmic-location} entries to the @code{clip-regions} list in +the @code{\layout} block. + +By default, each music fragment will be output as a separate @code{EPS} +file, but other formats such as @code{PDF} or @code{PNG} can also be +created if required. The extracted music is output as if had been +literally @q{cut} from the original printed score so if a fragment runs +over one or more lines, a separate ouput file for each line will be +generated. + +@seealso +Notation Reference: +@ref{The layout block}. -More clip regions can be defined by adding more pairs of -rhythmic-locations to the list. +Application Usage +@rprogram{Command-line usage}. -In order to use this feature, LilyPond must be invoked with -@option{-dclip-systems}. The clips are output as EPS files, and are -converted to PDF and PNG if these formats are switched on as well. -For more information on output formats, see @rprogram{Invoking LilyPond}. @node Skipping corrected music @subsection Skipping corrected music diff --git a/Documentation/notation/pitches.itely b/Documentation/notation/pitches.itely index 60fb0cc443..2f7b822d9b 100644 --- a/Documentation/notation/pitches.itely +++ b/Documentation/notation/pitches.itely @@ -324,11 +324,11 @@ Internals Reference: @c duplicated in Key signature and Accidentals @warning{New users are sometimes confused about accidentals and -key signatures. In LilyPond, note names are the raw input; key -signatures and clefs determine how this raw input is displayed. +key signatures. In LilyPond, note names specify pitches; key +signatures and clefs determine how these pitches are displayed. An unaltered note like@tie{}@code{c} means @q{C natural}, regardless of the key signature or clef. For more information, -see @rlearning{Accidentals and key signatures}.} +see @rlearning{Pitches and key signatures}.} @cindex note names, Dutch @cindex note names, default @@ -353,10 +353,9 @@ for accidentals, see @ref{Note names in other languages}. ais1 aes aisis aeses @end lilypond -A natural will cancel the effect of an accidental or key -signature. However, naturals are not encoded into the note name -syntax with a suffix; a natural pitch is shown as a simple note -name: +A natural pitch is entered as a simple note name; no suffix is +required. A natural sign will be printed when needed to cancel +the effect of an earlier accidental or key signature. @lilypond[verbatim,quote,relative=2] a4 aes a2 @@ -391,8 +390,7 @@ print them manually. A reminder accidental can be forced by adding an exclamation mark@tie{}@code{!} after the pitch. A cautionary accidental (i.e., an accidental within parentheses) can be obtained by adding the question mark@tie{}@code{?} after the -pitch. These extra accidentals can also be used to produce -natural signs. +pitch. @lilypond[verbatim,quote,relative=2] cis cis cis! cis? c c c! c? @@ -429,7 +427,7 @@ Music Glossary: @rglos{quarter tone}. Learning Manual: -@rlearning{Accidentals and key signatures}. +@rlearning{Pitches and key signatures}. Notation Reference: @ref{Automatic accidentals}, @@ -510,7 +508,7 @@ In addition to note names, accidental suffixes may also vary depending on the language: @quotation -@multitable {@code{nederlands}} {-s/-sharp} {-ess/-es} {-ss/-x/-sharpsharp} {-essess/-eses} +@multitable {@code{nederlands}} {-s/--sharp} {-ess/-es} {-ss/-x/--sharpsharp} {-essess/-eses} @headitem Language @tab sharp @tab flat @tab double sharp @tab double flat @item @code{nederlands} @@ -520,8 +518,8 @@ also vary depending on the language: @item @code{deutsch} @tab -is @tab -es @tab -isis @tab -eses @item @code{english} - @tab -s/-sharp @tab -f/-flat @tab -ss/-x/-sharpsharp - @tab -ff/-flatflat + @tab -s/--sharp @tab -f/--flat @tab -ss/-x/--sharpsharp + @tab -ff/--flatflat @item @code{espanol} or @code{español} @tab -s @tab -b @tab -ss/-x @tab -bb @item @code{italiano} or @code{français} @@ -1287,7 +1285,7 @@ key signatures. In LilyPond, note names are the raw input; key signatures and clefs determine how this raw input is displayed. An unaltered note like@tie{}@code{c} means @q{C natural}, regardless of the key signature or clef. For more information, -see @rlearning{Accidentals and key signatures}.} +see @rlearning{Pitches and key signatures}.} The key signature indicates the tonality in which a piece is played. It is denoted by a set of alterations (flats or sharps) @@ -1390,7 +1388,7 @@ Music Glossary: @rglos{scordatura}. Learning Manual: -@rlearning{Accidentals and key signatures}. +@rlearning{Pitches and key signatures}. Snippets: @rlsr{Pitches}. diff --git a/Documentation/notation/rhythms.itely b/Documentation/notation/rhythms.itely index a2c506cbbe..6e6d5fcf3e 100644 --- a/Documentation/notation/rhythms.itely +++ b/Documentation/notation/rhythms.itely @@ -3064,15 +3064,6 @@ next example, the second bar check will signal an error. \time 3/4 c2 e4 | g2 | @end example -Bar checks can also be used in lyrics: - -@example -\lyricmode @{ - \time 2/4 - Twin -- kle | Twin -- kle | -@} -@end example - An incorrect duration can result in a completely garbled score, especially if the score is polyphonic, so a good place to start correcting input is by scanning for failed bar checks and @@ -3082,6 +3073,22 @@ If successive bar checks are off by the same musical interval, only the first warning message is displayed. This allows the warning to focus on the source of the timing error. +Bar checks can also be inserted in lyrics: + +@example +\lyricmode @{ + \time 2/4 + Twin -- kle | Twin -- kle | +@} +@end example + +Note that bar check marks in lyrics are evaluated at the musical +moment when the syllable @emph{following} the check mark is processed. +If the lyrics are associated with the notes of a voice which has a +rest at the beginning of a bar, then no syllable can be located at the +start of that bar and a warning will be issued if a bar check mark is +placed in the lyrics at that position. + @funindex | @funindex "|" diff --git a/Documentation/notation/simultaneous.itely b/Documentation/notation/simultaneous.itely index 70846342e7..0e7b8092ea 100644 --- a/Documentation/notation/simultaneous.itely +++ b/Documentation/notation/simultaneous.itely @@ -7,7 +7,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.19.2" +@c \version "2.19.16" @node Simultaneous notes @@ -286,7 +286,6 @@ generate multiple staves implicitly: Here different rhythms cause no problems because they are interpreted in different voices. -@cindex collisions, clashing note columns @cindex collisions, ignoring @knownissues @@ -294,7 +293,7 @@ If notes from two or more voices, with no shifts specified, have stems in the same direction, the message @example -warning: ignoring too many clashing note columns +warning: This voice needs a \voiceXx or \shiftXx setting @end example will appear during compilation. This message can be suppressed by: diff --git a/Documentation/notation/spacing.itely b/Documentation/notation/spacing.itely index e90d71a45f..efd6fb2ed7 100644 --- a/Documentation/notation/spacing.itely +++ b/Documentation/notation/spacing.itely @@ -634,14 +634,27 @@ Also see @code{check-consistency}. @item line-width @funindex line-width -The horizontal extent of the staff lines in unindented, non-ragged -systems, equal to +When specified in a @code{\paper} block this defines the horizontal +extent available for the staff lines in un-indented systems. If left +unspecified, the paper's @code{line-width} is determined from @code{(paper-width@tie{}@minus{}@tie{}left-margin@tie{}@minus{}@tie{}right-margin)} -when unset. If @code{line-width} is set, and both -@code{left-margin} and @code{right-margin} are unset, then the +If the paper's @code{line-width} is specified, and both +@code{left-margin} and @code{right-margin} are not, then the margins will be updated to center the systems on the page -automatically. Also see @code{check-consistency}. This variable -can also be set in a @code{\layout} block. +automatically. Also see @code{check-consistency}. + +@code{line-width}s for individual scores can be specified in the +scores' @code{\layout} blocks. These values control the width of the +lines produced on a score-by-score basis. If @code{line-width} is not +specified for a score, it defaults to the paper's @code{line-width}. +Setting a score's @code{line-width} has no effect on the paper margins. +Staff lines, of a length determined by the score's @code{line-width}, +are left-aligned within the paper area defined by the paper's +@code{line-width}. If the score and paper @code{line-width}s are equal, +the staff lines will extend exactly from the left margin to the right +margin, but if the score's @code{line-width} is greater than the +paper's @code{line-width} the staff lines will run over into the right +margin. @item left-margin @funindex left-margin @@ -674,12 +687,12 @@ and the systems are consequently centered on the page. Also see @item check-consistency @funindex check-consistency -If set to true, print a warning if @code{left-margin}, -@code{line-width}, and @code{right-margin} do not exactly add up -to @code{paper-width}, and replace each of these (except -@code{paper-width}) with its default value (scaled to the paper -size if necessary). If set to false, ignore any inconsistencies -and allow systems to run off the edge of the page. +If this is true (the default value), print a warning if +@code{left-margin}, @code{line-width}, and @code{right-margin} do not +exactly add up to @code{paper-width}, and replace each of these +(except @code{paper-width}) with their default values (scaled to the +paper size if necessary). If set to false, ignore any +inconsistencies and allow systems to run off the edge of the page. @item ragged-right @funindex ragged-right @@ -786,16 +799,21 @@ separators) are shifted to the right. Default: @code{0.0\mm}. The level of indentation for the first system in a score. If the paper size is modified, this dimension's default value is scaled -accordingly. This variable can also be set in a @code{\layout} -block. +accordingly. The space within @code{line-width} available for +the first system is reduced by this amount. @code{indent} may also +be specified in @code{\layout} blocks to set indents on a +score-by-score basis. @item short-indent @funindex short-indent The level of indentation for all systems in a score besides the first system. If the paper size is modified, this dimension's -default value is scaled accordingly. This variable can also be -set in a @code{\layout} block. +default value is scaled accordingly. The space within +@code{line-width} available for systems other than the first is +reduced by this amount. @code{short-indent} may also be specified in +@code{\layout} blocks to set short indents on a score-by-score +basis. @end table @@ -991,6 +1009,14 @@ If set to true, a page number is printed on the first page. If set to false, page numbers are not printed. +@cindex page numbers in roman numerals +@item page-number-type +@funindex page-number-type + +The type of numerals used for page numbers. Choices include +@code{roman-lower}, @code{roman-upper} and @code{arabic}. +Default: @code{'arabic}. + @end table @seealso @@ -1096,8 +1122,10 @@ The @code{layout-set-staff-size} function is discussed in the next section, @ref{Setting the staff size}. Context modifications are discussed in a separate chapter; see @ref{Modifying context plug-ins} and -@ref{Changing context default settings}. The @code{\paper} -variables that can appear in a @code{\layout} block are: +@ref{Changing context default settings}. + +The @code{\paper} variables that can appear in a @code{\layout} +block, with default values taken from the @code{\paper} block are: @itemize @@ -1357,14 +1385,19 @@ staff lines. @menu * Line breaking:: * Page breaking:: -* Explicit breaks:: @end menu @node Line breaking @subsection Line breaking -@cindex line breaks +@funindex \break +@funindex \noBreak +@funindex \autoBreaksOff +@funindex \autoBreaksOn +@funindex \autoLineBreaksOff +@funindex \autoLineBreaksOn +@cindex manual line breaks @cindex breaking lines Line breaks are normally determined automatically. They are @@ -1422,6 +1455,18 @@ c8 c] c2. | The @code{\noBreak} command forbids a line break at the bar line where it is inserted. +Within a score, automatic line breaking is prevented within music +lying between @code{\autoLineBreaksOff} and @code{\autoLineBreaksOn} +commands. If automatic page breaks should also be prevented, the +commands @code{\autoBreaksOff} and @code{\autoBreaksOn} should be +used. Manual breaks are unaffected by these commands. Note that +inhibiting automatic line breaks may cause music to run over the +right margin if it cannot all be contained within one line. + +Automatic line breaks (but not page breaks) may be enabled at single +bar lines by using @code{\once \autoLineBreaksOn} at a bar line. +This identifies a permitted rather than a forced line break. + The most basic settings influencing line spacing are @code{indent} and @code{line-width}. They are set in the @code{\layout} block. They control the indentation of the first line of music, and the @@ -1466,12 +1511,19 @@ broken every 4 measures, and only there: @predefined -@funindex \break @code{\break}, -@funindex \noBreak -@code{\noBreak}. +@code{\noBreak}, +@code{\autoBreaksOff}, +@code{\autoBreaksOn}, +@code{\autoLineBreaksOff}, +@code{\autoLineBreaksOn}. @endpredefined +@snippets + +@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] +{using-an-extra-voice-for-breaks.ly} + @seealso Notation Reference: @ref{paper variables for line breaking} @@ -1483,6 +1535,12 @@ Snippets: Internals Reference: @rinternals{LineBreakEvent}. +@knownissues + +Placing @code{\autoLineBreaksOff} or @code{\autoBreaksOff} before +any music will cause error messages to appear. Always place these +commands after some music. + @node Page breaking @subsection Page breaking @@ -1502,16 +1560,26 @@ how to modify them. @node Manual page breaking @unnumberedsubsubsec Manual page breaking +@funindex \pageBreak +@funindex \noPageBreak +@funindex \autoPageBreaksOn +@funindex \autoPageBreaksOff +@cindex page breaking, manual + The default page breaking may be overridden by inserting @code{\pageBreak} or @code{\noPageBreak} commands. These commands are analogous to @code{\break} and @code{\noBreak}. They should be inserted at a bar line. These commands force and forbid a -page-break from happening. Of course, the @code{\pageBreak} -command also forces a line break. +page-break from happening at that bar line. Of course, the +@code{\pageBreak} command also forces a line break. The @code{\pageBreak} and @code{\noPageBreak} commands may also be inserted at top-level, between scores and top-level markups. +Within a score, automatic page breaks are prevented within music +lying between @code{\autoPageBreaksOff} and @code{\autoPageBreaksOn} +commands. Manual page breaks are unaffected by these commands. + There are also analogous settings to @code{ragged-right} and @code{ragged-last} which have the same effect on vertical spacing. If @code{ragged-bottom} is set to @code{#t} the systems will not @@ -1569,10 +1637,10 @@ functions may also be used in different book parts. @predefined -@funindex \pageBreak @code{\pageBreak}, -@funindex \noPageBreak -@code{\noPageBreak}. +@code{\noPageBreak}, +@code{\autoPageBreaksOn}, +@code{\autoPageBreaksOff}. @endpredefined @seealso @@ -1582,6 +1650,13 @@ Notation Reference: Snippets: @rlsr{Spacing}. +@knownissues + +The @code{\once} prefix is ineffective with @code{\autoPageBreaksOn} +and @code{\autoPageBreaksOff}. If auto page breaking is off and is +then turned on to permit a page break, it must remain on for a few +bars (the precise number of bars depends on the score) before being +turned off, else the opportunity to break the page will not be taken. @node Optimal page breaking @unnumberedsubsubsec Optimal page breaking @@ -1732,59 +1807,6 @@ Use only one @code{Page_turn_engraver} per score. If there are more, they will interfere with each other. -@node Explicit breaks -@subsection Explicit breaks - -There are cases when manual @code{\break} or @code{\pageBreak} -commands are ignored by LilyPond. There are two commands to -override this behavior: - -@example -\override NonMusicalPaperColumn.line-break-permission = ##f -\override NonMusicalPaperColumn.page-break-permission = ##f -@end example - -If @code{line-break-permission} is set to @code{##f}, all line -breaks must be explicitly inserted with a @code{\break} command. -Likewise, if @code{page-break-permission} is set to @code{##f}, -all page breaks must be explicitly inserted with a -@code{\pageBreak} command. - -@lilypond[quote,verbatim] -\paper { - indent = #0 - ragged-right = ##t - ragged-bottom = ##t -} - -music = \relative c'' { c8 c c c } - -\score { - \new Staff { - \repeat unfold 2 { \music } \break - \repeat unfold 4 { \music } \break - \repeat unfold 6 { \music } \break - \repeat unfold 8 { \music } \pageBreak - \repeat unfold 8 { \music } \break - \repeat unfold 6 { \music } \break - \repeat unfold 4 { \music } \break - \repeat unfold 2 { \music } - } - \layout { - \context { - \Score - \override NonMusicalPaperColumn.line-break-permission = ##f - \override NonMusicalPaperColumn.page-break-permission = ##f - } - } -} -@end lilypond - -@snippets - -@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] -{using-an-extra-voice-for-breaks.ly} - @seealso Notation Reference: @ref{Vertical spacing}. @@ -2441,7 +2463,7 @@ by looking at an example that includes no overrides at all. This score isolates line- and page-breaking information in a dedicated voice. This technique of creating a breaks voice will help keep layout separate from music entry as our example becomes more complicated. -See @ref{Explicit breaks}. +See @ref{Breaks}. Explicit @code{\breaks} evenly divide the music into six measures per line. Vertical spacing results from LilyPond's defaults. To set @@ -2717,8 +2739,7 @@ The most common shortest duration is determined as follows: in every measure, the shortest duration is determined. The most common shortest duration is taken as the basis for the spacing, with the stipulation that this shortest duration should always be equal to or shorter than -an 8th note. The shortest duration is printed when you run -@code{lilypond} with the @option{--verbose} option. +an 8th note. These durations may also be customized. If you set the @code{common-shortest-duration} in @rinternals{SpacingSpanner}, then diff --git a/Documentation/notation/staff.itely b/Documentation/notation/staff.itely index d2bb608d32..bb59664769 100644 --- a/Documentation/notation/staff.itely +++ b/Documentation/notation/staff.itely @@ -963,67 +963,49 @@ that context. For details, see @ref{Modifying context plug-ins}. @cindex instrument names, changing @cindex changing instrument names -The @code{shortInstrumentName} may be changed in the middle of a piece. +The @code{shortInstrumentName} may be changed in the middle of a piece, +along with other settings as needed for the new instrument. However, only the first instance of @code{instrumentName} will be printed and subsequent changes will be ignored: -@lilypond[verbatim,quote,ragged-right,relative=1] -\new Staff \with { - instrumentName = #"Flute" - shortInstrumentName = #"Flt." -} -{ - c1 c c c \break - c1 c c c \break - \set Staff.instrumentName = #"Clarinet" - \set Staff.shortInstrumentName = #"Clt." - c1 c c c \break - c1 c c c \break +@lilypond[verbatim,quote,ragged-right] +prepPiccolo = <>^\markup \italic { muta in Piccolo } + +setPiccolo = { + \set Staff.instrumentName = #"Piccolo" + \set Staff.shortInstrumentName = #"Picc." + \set Staff.midiInstrument = #"piccolo" + <>^\markup \bold { Piccolo } + \transposition c'' } -@end lilypond - -@cindex instrument switch -@cindex switching instruments -@funindex \addInstrumentDefinition -@funindex addInstrumentDefinition -@funindex \instrumentSwitch -@funindex instrumentSwitch +prepFlute = <>^\markup \italic { muta in Flauto } -If an instrument @emph{switch} is needed, -@code{\addInstrumentDefinition} may be used in combination with -@code{\instrumentSwitch} to create a detailed list of the -necessary changes for the switch. The -@code{\addInstrumentDefinition} command has two arguments: an -identifying string, and an association list of context properties -and values to be used for the instrument. It must be placed in -the toplevel scope. @code{\instrumentSwitch} is used in the music -expression to declare the instrument switch: - -@lilypond[verbatim,quote,ragged-right] -\addInstrumentDefinition #"contrabassoon" - #`((instrumentTransposition . ,(ly:make-pitch -1 0 0)) - (shortInstrumentName . "Cbsn.") - (clefGlyph . "clefs.F") - (middleCPosition . 6) - (clefPosition . 2) - (instrumentCueName . ,(make-bold-markup "cbsn.")) - (midiInstrument . "bassoon")) +setFlute = { + \set Staff.instrumentName = #"Flute" + \set Staff.shortInstrumentName = #"Flt." + \set Staff.midiInstrument = #"flute" + <>^\markup \bold { Flute } + \transposition c' +} \new Staff \with { - instrumentName = #"Bassoon" + instrumentName = #"Flute" + shortInstrumentName = #"Flt." + midiInstrument = #"flute" } -\relative c' { - \clef tenor - \compressFullBarRests - c2 g' - R1*16 - \instrumentSwitch "contrabassoon" - c,,2 g \break - c,1 ~ | 1 +\relative c'' { + g1 g g g \break + g1 g \prepPiccolo R R \break + \setPiccolo + g1 g g g \break + g1 g \prepFlute R R \break + \setFlute + g1 g g g } @end lilypond + @seealso Notation Reference: @ref{paper variables for shifts and indents,,@code{@bs{}paper} variables for shifts and indents}, @@ -1300,7 +1282,7 @@ fluteNotes = \relative c'' { oboeNotes = \relative c'' { R1 - \new CueVoice { \set instrumentCueName = "flute" } + <>^\markup \tiny { flute } \cueDuring #"flute" #UP { R1 } g2 c, } @@ -1343,11 +1325,8 @@ oboeNotes = \relative c'' { } @end lilypond -The name of the instrument playing the cue can be printed by setting -the @code{instrumentCueName} property in a temporary @code{CueVoice} -context. The placement and style of the @code{instrumentCueName} is -controlled by the @code{InstrumentSwitch} object, see -@ref{Instrument names}. If the cue notes require a change in clef, +Markup can be used to show the name of the quoted instrument. +If the cue notes require a change in clef, this can be done manually but the original clef should also be restored manually at the end of the cue notes. @@ -1360,7 +1339,7 @@ bassoonNotes = \relative c { \clef bass R1 \clef treble - \new CueVoice { \set instrumentCueName = "flute" } + <>^\markup \tiny { flute } \cueDuring #"flute" #UP { R1 } \clef bass g4. b8 d2 @@ -1386,7 +1365,7 @@ fluteNotes = \relative c'' { bassoonNotes = \relative c { \clef bass R1 - \new CueVoice { \set instrumentCueName = "flute" } + <>^\markup { \tiny "flute" } \cueDuringWithClef #"flute" #UP #"treble" { R1 } g4. b8 d2 } @@ -1441,8 +1420,6 @@ bassClarinetNotes = \relative c' { @funindex \killCues @funindex killCues -@funindex \addInstrumentDefinition -@funindex addInstrumentDefinition The @code{\killCues} command removes cue notes from a music expression, so the same music expression can be used to produce @@ -1462,7 +1439,7 @@ bassoonNotes = \relative c { R1 \tag #'part { \clef treble - \new CueVoice { \set instrumentCueName = "flute" } + <>^\markup \tiny { flute } } \cueDuring #"flute" #UP { R1 } \tag #'part \clef bass diff --git a/Documentation/notation/text.itely b/Documentation/notation/text.itely index 739abbdf49..ac5436b94b 100644 --- a/Documentation/notation/text.itely +++ b/Documentation/notation/text.itely @@ -1122,9 +1122,10 @@ An exhaustive list of graphics-specific commands can be found in @seealso Notation Reference: -@ref{Graphic}, +@ref{Align}, +@ref{Dimensions}, @ref{Editorial annotations}, -@ref{Align}. +@ref{Graphic}. Installed Files: @file{scm/define-markup-commands.scm}, diff --git a/Documentation/notation/vocal.itely b/Documentation/notation/vocal.itely index a86c0acbab..013fabfd9b 100644 --- a/Documentation/notation/vocal.itely +++ b/Documentation/notation/vocal.itely @@ -156,7 +156,7 @@ into the input file, providing it is saved with UTF-8 encoding. For more information, see @ref{Special characters}. @lilypond[quote,verbatim] -\relative c'' { d8 c16 a bes8 f e' d c4 } +\relative c'' { d8 c16 a bes8 f ees' d c4 } \addlyrics { „Schad’ um das schö -- ne grü -- ne Band, } @end lilypond @@ -218,13 +218,22 @@ Snippets: @funindex \addlyrics @funindex \lyricsto -Lyrics are printed by interpreting them in the context called -@code{Lyrics}, see @ref{Contexts explained}. +Lyrics are interpreted in @code{\lyricmode} and printed in a +@code{Lyrics} context, see @ref{Contexts explained}. @example \new Lyrics \lyricmode @{ @dots{} @} @end example +Two variants of @code{\lyricmode} additionally set an associated +context used to synchronise the lyric syllables to music. The more +convenient @code{\addlyrics} immediately follows the musical content +of the Voice context with which it should be synchronised, implicitly +creating a Lyrics context of its own. The more versatile +@code{\lyricsto} requires both specifying the associated Voice context +by name and explicitly creating a containing Lyrics context. For +details see @ref{Automatic syllable durations}. + Lyrics can be aligned with melodies in two main ways: @itemize @@ -392,9 +401,9 @@ context, which must already exist. Therefore normally the @code{Voice} context is specified first, followed by the @code{Lyrics} context. The lyrics themselves follow the @code{\lyricsto} command. The @code{\lyricsto} command -invokes lyric mode automatically, so the @code{\lyricmode} keyword -may be omitted. By default, the lyrics are placed underneath the -notes. For other placements, see @ref{Placing lyrics vertically}. +invokes lyric mode automatically. By default, the lyrics are placed +underneath the notes. For other placements, see +@ref{Placing lyrics vertically}. @subheading Using @code{\addlyrics} @@ -2389,7 +2398,7 @@ Notation Reference: @ref{Score layout}, @ref{Separating systems}, @ref{Setting the staff size}, -@ref{Explicit breaks}, +@ref{Breaks}, @ref{Vertical spacing}. Internals Reference: @@ -2641,10 +2650,7 @@ pianoRH = \relative c'' { c4. g8 % position name of cue-ing instrument just before the cue notes, % and above the staff - \new CueVoice { - \override InstrumentSwitch.self-alignment-X = #RIGHT - \set instrumentCueName = "Flute" - } + <>^\markup { \right-align { \tiny "Flute" } } \cueDuring "flute" #UP { g4 bes4 } } pianoLH = \relative c { c4 e, } @@ -2667,11 +2673,7 @@ specify its key so the conversion of its cue notes will be done automatically. The example below shows this transposition for a B-flat clarinet. The notes in this example are low on the staff so @code{DOWN} is specified in @code{\cueDuring} (so the stems are -down) and the instrument name is positioned below the staff. Note -also that the piano right-hand voice is explicitly declared. This -is because the cue notes in this example begin at the start of the -first bar and this would otherwise cause the entire piano right-hand -notes to be placed in a @code{CueVoice} context. +down) and the instrument name is positioned below the staff. @lilypond[quote,verbatim] clarinet = \relative c' { @@ -2683,11 +2685,7 @@ clarinet = \relative c' { pianoRH = \relative c'' { \transposition c' % position name of cue-ing instrument below the staff - \new CueVoice { - \override InstrumentSwitch.self-alignment-X = #RIGHT - \override InstrumentSwitch.direction = #DOWN - \set instrumentCueName = "Clar." - } + <>_\markup { \right-align { \tiny "Clar." } } \cueDuring "clarinet" #DOWN { c4. g8 } g4 bes4 } @@ -2735,7 +2733,6 @@ Snippets: @rlsr{Vocal music}. Internals Reference: -@rinternals{InstrumentSwitch}, @rinternals{CueVoice}. @knownissues diff --git a/Documentation/notation/wind.itely b/Documentation/notation/wind.itely index 64fee0f3ca..c540b204d2 100644 --- a/Documentation/notation/wind.itely +++ b/Documentation/notation/wind.itely @@ -7,7 +7,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.16.0" +@c \version "2.19.16" @node Wind instruments @section Wind instruments @@ -182,8 +182,8 @@ reason want to show the key signature, you can use @code{\showKeySignature} instead. Some modern music use cross fingering on c and f to flatten those notes. -This can be indicated by @code{cflat} or @code{fflat}. Similarly, the -piobaireachd high g can be written @code{gflat} when it occurs in light +This can be indicated by @code{c-flat} or @code{f-flat}. Similarly, the +piobaireachd high g can be written @code{g-flat} when it occurs in light music. @seealso diff --git a/Documentation/notation/world.itely b/Documentation/notation/world.itely index 741d6702ac..920650c5dc 100644 --- a/Documentation/notation/world.itely +++ b/Documentation/notation/world.itely @@ -342,7 +342,7 @@ Notation Reference: @ref{Key signature}. Learning Manual: -@rlearning{Accidentals and key signatures}. +@rlearning{Pitches and key signatures}. Internals Reference: @rinternals{KeySignature}. diff --git a/Documentation/pictures/lily-home-32x32.png b/Documentation/pictures/lily-home-32x32.png new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Documentation/pictures/nav1-active.png b/Documentation/pictures/nav1-active.png new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Documentation/pictures/nav1-bg.png b/Documentation/pictures/nav1-bg.png new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Documentation/pictures/nav1-hover.png b/Documentation/pictures/nav1-hover.png new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Documentation/pictures/nav2-active.png b/Documentation/pictures/nav2-active.png new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Documentation/pictures/nav2-bg.png b/Documentation/pictures/nav2-bg.png new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Documentation/pictures/nav2-hover.png b/Documentation/pictures/nav2-hover.png new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Documentation/po/it.po b/Documentation/po/it.po index 1737322565..710e4b35a1 100644 --- a/Documentation/po/it.po +++ b/Documentation/po/it.po @@ -1,5 +1,5 @@ # translation of LilyPond documentation to Italian -# Copyright (C) 2009--2014 Han-Wen Nienhuys, Jan Nieuwenhuizen +# Copyright (C) 2009--2015 Han-Wen Nienhuys, Jan Nieuwenhuizen # This file is distributed under the same license as the lilypond package. # Federico Bruni , 2009, 2012. # diff --git a/Documentation/snippets.tely b/Documentation/snippets.tely index 2d30fa92ae..a6426b5f3f 100644 --- a/Documentation/snippets.tely +++ b/Documentation/snippets.tely @@ -8,7 +8,7 @@ @macro manualIntro This document shows a selected set of LilyPond snippets from the -@uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository} +@uref{http://lsr@/.di@/.unimi@/.it,LilyPond Snippet Repository} (LSR). It is in the public domain. We would like to address many thanks to Sebastiano Vigna for maintaining diff --git a/Documentation/snippets/README b/Documentation/snippets/README index f91aacb1dd..48bd30b50e 100644 --- a/Documentation/snippets/README +++ b/Documentation/snippets/README @@ -1,5 +1,5 @@ This directory contains examples generated automatically from LSR -http://lsr.dsi.unimi.it/ +http://lsr.di.unimi.it/ To update this directory and find additional information, see the Contributor's Guide, section "LSR to Git". diff --git a/Documentation/snippets/conducting-signs,-measure-grouping-signs.ly b/Documentation/snippets/conducting-signs,-measure-grouping-signs.ly index 514718f9bd..b0fc8eb5e7 100644 --- a/Documentation/snippets/conducting-signs,-measure-grouping-signs.ly +++ b/Documentation/snippets/conducting-signs,-measure-grouping-signs.ly @@ -12,7 +12,7 @@ texidoc = " Beat grouping within a measure is controlled by the context property @code{beatStructure}. Values of @code{beatStructure} are established -for many time signatures in @@file@{scm/time-signature-settings.scm@}. +for many time signatures in @file{scm/time-signature-settings.scm}. Values of @code{beatStructure} can be changed or set with @code{\\set}. Alternatively, @code{\\time} can be used to both set the time signature and establish the beat structure. For this, you specify the internal @@ -28,7 +28,7 @@ display contexts, measure grouping signs will be created. Such signs ease reading rhythmically complex modern music. In the example, the 9/8 measure is grouped in two different patterns using the two different methods, while the 5/8 measure is grouped according to the default -setting in @@file@{scm/time-signature-settings.scm@}: +setting in @file{scm/time-signature-settings.scm}: " doctitle = "Conducting signs measure grouping signs" diff --git a/Documentation/translations.itexi b/Documentation/translations.itexi index 6951c1ce8f..7491898f6e 100644 --- a/Documentation/translations.itexi +++ b/Documentation/translations.itexi @@ -16,7 +16,7 @@ td { border: 1px solid black; text-align: center; } @end html @end ifhtml -@emph{Last updated Wed Dec 18 12:23:14 UTC 2013 +@emph{Last updated Tue Dec 30 15:39:08 UTC 2014 } @multitable @columnfractions 0.333333333333 0.333333333333 0.333333333333 @@ -27,7 +27,7 @@ LilyPond Changes @item Section titles @* -(1453) +(1540) @tab Francisco Vila @* @@ -45,11 +45,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Federico Bruni @* @@ -155,11 +155,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Francisco Vila @* @@ -178,11 +178,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Jean-Charles Malahieude @* @@ -323,7 +323,7 @@ up to date @item 1 Music engraving @* -(5296) +(5315) @tab  Till Paala @* @@ -341,7 +341,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -420,7 +420,7 @@ up to date @item 2 Literature list @* -(326) +(382) @tab Till Paala @* @@ -438,11 +438,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Francisco Vila @* @@ -461,11 +461,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Jean-Jacques Gerbaud @* @@ -495,11 +495,11 @@ Jean-Charles Malahieude @ifhtml @html -partially translated (92 %) +partially translated (93 %) @end html @end ifhtml @ifnothtml -partially translated (92 %) +partially translated (93 %) @end ifnothtml @* @@ -636,11 +636,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Francisco Vila @* @@ -659,11 +659,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Jean-Charles Malahieude @* @@ -764,7 +764,7 @@ up to date @item 1 Scheme tutorial @* -(6271) +(6335) @tab Till Paala @* @@ -782,7 +782,7 @@ partially translated (53 %) @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -805,11 +805,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Jean-Charles Malahieude @* @@ -837,7 +837,7 @@ up to date @item 2 Interfaces for programmers @* -(5925) +(5756) @tab Till Paala @* @@ -855,7 +855,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -878,11 +878,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Valentin Villenave @* @@ -1038,7 +1038,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -1061,11 +1061,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Francisco Vila @* @@ -1084,11 +1084,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab John Mandereau @* @@ -1132,7 +1132,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -1198,11 +1198,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Jan Nieuwenhuizen @* @@ -1241,11 +1241,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @item LilyPond --- \TITLE\ @@ -1776,25 +1776,25 @@ partially up to date @item 2 Common notation @* -(4396) +(4417) @tab Pavel Fric @* @ifhtml @html -partially translated (35 %) +partially translated (36 %) @end html @end ifhtml @ifnothtml -partially translated (35 %) +partially translated (36 %) @end ifnothtml @* @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -1806,18 +1806,18 @@ partially up to date @ifhtml @html -partially translated (35 %) +partially translated (36 %) @end html @end ifhtml @ifnothtml -partially translated (35 %) +partially translated (36 %) @end ifnothtml @* @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -1840,11 +1840,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Nicolas Grandclaude @* @@ -1932,7 +1932,7 @@ partially translated (35 %) @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -1975,11 +1975,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Yoshiki Sawada @* @@ -1987,18 +1987,18 @@ up to date @ifhtml @html -partially translated (35 %) +partially translated (36 %) @end html @end ifhtml @ifnothtml -partially translated (35 %) +partially translated (36 %) @end ifnothtml @* @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -2030,18 +2030,18 @@ partially up to date @ifhtml @html -partially translated (35 %) +partially translated (36 %) @end html @end ifhtml @ifnothtml -partially translated (35 %) +partially translated (36 %) @end ifnothtml @* @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -2050,7 +2050,7 @@ partially up to date @item 3 Fundamental concepts @* -(11144) +(11193) @tab Pavel Fric @* @@ -2068,7 +2068,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -2093,7 +2093,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -2116,11 +2116,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Valentin Villenave @* @@ -2250,7 +2250,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -2293,7 +2293,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -2302,25 +2302,25 @@ partially up to date @item 4 Tweaking output @* -(16191) +(16570) @tab Pavel Fric @* @ifhtml @html -partially translated (50 %) +partially translated (51 %) @end html @end ifhtml @ifnothtml -partially translated (50 %) +partially translated (51 %) @end ifnothtml @* @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -2332,18 +2332,18 @@ partially up to date @ifhtml @html -partially translated (52 %) +partially translated (50 %) @end html @end ifhtml @ifnothtml -partially translated (52 %) +partially translated (50 %) @end ifnothtml @* @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -2355,22 +2355,22 @@ partially up to date @ifhtml @html -translated +partially translated (98 %) @end html @end ifhtml @ifnothtml -translated +partially translated (98 %) @end ifnothtml @* @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Valentin Villenave @* @@ -2447,7 +2447,7 @@ not translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -2502,18 +2502,18 @@ up to date @ifhtml @html -partially translated (98 %) +partially translated (95 %) @end html @end ifhtml @ifnothtml -partially translated (98 %) +partially translated (95 %) @end ifnothtml @* @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -2545,18 +2545,18 @@ partially up to date @ifhtml @html -partially translated (98 %) +partially translated (95 %) @end html @end ifhtml @ifnothtml -partially translated (98 %) +partially translated (95 %) @end ifnothtml @* @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -2565,25 +2565,25 @@ partially up to date @item A Templates @* -(372) +(803) @tab Pavel Fric @* @ifhtml @html -partially translated (38 %) +partially translated (66 %) @end html @end ifhtml @ifnothtml -partially translated (38 %) +partially translated (66 %) @end ifnothtml @* @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -2595,18 +2595,18 @@ partially up to date @ifhtml @html -partially translated (38 %) +partially translated (66 %) @end html @end ifhtml @ifnothtml -partially translated (38 %) +partially translated (66 %) @end ifnothtml @* @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -2618,22 +2618,22 @@ partially up to date @ifhtml @html -translated +partially translated (99 %) @end html @end ifhtml @ifnothtml -translated +partially translated (99 %) @end ifnothtml @* @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Jean-Charles Malahieude @* @@ -2675,7 +2675,7 @@ not translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -2730,22 +2730,22 @@ up to date @ifhtml @html -translated +partially translated (99 %) @end html @end ifhtml @ifnothtml -translated +partially translated (99 %) @end ifnothtml @* @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Jan Nieuwenhuizen @* @@ -2773,22 +2773,22 @@ up to date @ifhtml @html -translated +partially translated (99 %) @end html @end ifhtml @ifnothtml -translated +partially translated (99 %) @end ifnothtml @* @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @item B GNU Free Documentation License @@ -3053,11 +3053,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Francisco Vila @* @@ -3076,11 +3076,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab John Mandereau @* @@ -3147,11 +3147,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @item LilyPond --- \TITLE\ @@ -3398,7 +3398,7 @@ up to date @item 1.1 Pitches @* -(4990) +(5202) @tab Till Paala @* @@ -3416,7 +3416,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -3439,11 +3439,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Frédéric Chiasson @* @@ -3559,7 +3559,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -3568,7 +3568,7 @@ partially up to date @item 1.2 Rhythms @* -(6890) +(6916) @tab Till Paala @* @@ -3586,7 +3586,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -3609,11 +3609,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Frédéric Chiasson @* @@ -3742,7 +3742,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -3751,7 +3751,7 @@ partially up to date @item 1.3 Expressive marks @* -(1793) +(1844) @tab Till Paala @* @@ -3914,16 +3914,16 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @item 1.4 Repeats @* -(1050) +(1181) @tab Till Paala @* @@ -3941,7 +3941,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -3964,11 +3964,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Valentin Villenave @* @@ -4086,16 +4086,16 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @item 1.5 Simultaneous notes @* -(2821) +(2810) @tab Till Paala @* @@ -4113,7 +4113,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -4136,11 +4136,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Frédéric Chiasson @* @@ -4260,7 +4260,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -4430,7 +4430,7 @@ partially up to date @item 1.7 Editorial annotations @* -(954) +(1491) @tab Till Paala @* @@ -4448,7 +4448,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -4471,11 +4471,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Jean-Charles Malahieude @* @@ -4560,16 +4560,16 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @item 1.8 Text @* -(2816) +(2820) @tab Till Paala @* @@ -4817,11 +4817,11 @@ up to date @ifhtml @html -partially translated (2 %) +translated @end html @end ifhtml @ifnothtml -partially translated (2 %) +translated @end ifnothtml @* @@ -4860,7 +4860,7 @@ up to date @item 2.1 Vocal music @* -(5190) +(4985) @tab Till Paala @* @@ -4878,7 +4878,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -4901,11 +4901,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Valentin Villenave @* @@ -4958,11 +4958,31 @@ up to date @ifhtml @html -not translated + @end html @end ifhtml @ifnothtml -not translated + +@end ifnothtml +@* + +@ifhtml + +@html + +@end html +@end ifhtml +@ifnothtml + +@end ifnothtml +@ifhtml + +@html +translated +@end html +@end ifhtml +@ifnothtml +translated @end ifnothtml @* @@ -4992,7 +5012,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -5153,7 +5173,7 @@ up to date @item 2.3 Unfretted string instruments @* -(281) +(303) @tab Till Paala @* @@ -5171,7 +5191,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -5194,11 +5214,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Valentin Villenave @* @@ -5296,16 +5316,16 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @item 2.4 Fretted string instruments @* -(2662) +(2707) @tab Till Paala @* @@ -5323,7 +5343,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -5346,11 +5366,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Matthieu Jacquot @* @@ -5435,7 +5455,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -5444,7 +5464,7 @@ partially up to date @item 2.5 Percussion @* -(811) +(804) @tab Till Paala @* @@ -5462,7 +5482,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -5485,11 +5505,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Valentin Villenave @* @@ -5576,7 +5596,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -5603,11 +5623,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Francisco Vila @* @@ -5626,11 +5646,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Valentin Villenave @* @@ -5728,16 +5748,16 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @item 2.7 Chord notation @* -(1972) +(1916) @tab Till Paala @* @@ -5755,7 +5775,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -5778,11 +5798,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Valentin Villenave @* @@ -5880,7 +5900,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -6028,7 +6048,7 @@ up to date @item 2.9 Ancient notation @* -(5375) +(5522) @tab Till Paala @* @@ -6046,7 +6066,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -6069,11 +6089,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Jean-Charles Malahieude @* @@ -6288,7 +6308,7 @@ up to date @item 3 General input and output @* -(10392) +(10610) @tab Till Paala @* @@ -6306,7 +6326,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -6329,11 +6349,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Jean-Charles Malahieude @* @@ -6400,7 +6420,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -6409,7 +6429,7 @@ partially up to date @item 4 Spacing issues @* -(12256) +(10886) @tab Till Paala @* @@ -6427,7 +6447,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -6450,11 +6470,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Frédéric Chiasson @* @@ -6521,7 +6541,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -6530,7 +6550,7 @@ partially up to date @item 5 Changing defaults @* -(15289) +(15428) @tab Till Paala @* @@ -6548,7 +6568,7 @@ partially translated (85 %) @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -6560,22 +6580,22 @@ partially up to date @ifhtml @html -translated +partially translated (99 %) @end html @end ifhtml @ifnothtml -translated +partially translated (99 %) @end ifnothtml @* @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Valentin Villenave @* @@ -6651,18 +6671,18 @@ up to date @ifhtml @html -partially translated (97 %) +partially translated (94 %) @end html @end ifhtml @ifnothtml -partially translated (97 %) +partially translated (94 %) @end ifnothtml @* @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -6671,7 +6691,7 @@ partially up to date @item A Notation manual tables @* -(2176) +(3134) @tab Till Paala @* @@ -6689,11 +6709,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Francisco Vila @* @@ -6712,11 +6732,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Frédéric Chiasson @* @@ -6810,7 +6830,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -6833,11 +6853,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Valentin Villenave @* @@ -6922,11 +6942,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @item C GNU Free Documentation License @@ -7083,11 +7103,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Francisco Vila @* @@ -7106,11 +7126,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab John Mandereau @* @@ -7154,7 +7174,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -7220,11 +7240,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @item LilyPond --- \TITLE\ @@ -7393,7 +7413,7 @@ up to date @item 1 Running @command{lilypond} @* -(4537) +(5080) @tab Reinhold Kainhofer @* Till Paala @@ -7422,18 +7442,18 @@ Till Paala @ifhtml @html -translated +partially translated (95 %) @end html @end ifhtml @ifnothtml -translated +partially translated (95 %) @end ifnothtml @* @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -7445,22 +7465,22 @@ partially up to date @ifhtml @html -translated +partially translated (95 %) @end html @end ifhtml @ifnothtml -translated +partially translated (95 %) @end ifnothtml @* @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Jean-Charles Malahieude @* @@ -7511,11 +7531,11 @@ up to date @ifhtml @html -partially translated (94 %) +partially translated (90 %) @end html @end ifhtml @ifnothtml -partially translated (94 %) +partially translated (90 %) @end ifnothtml @* @@ -7565,11 +7585,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Yoshiki Sawada @* @@ -7577,18 +7597,18 @@ up to date @ifhtml @html -partially translated (97 %) +partially translated (92 %) @end html @end ifhtml @ifnothtml -partially translated (97 %) +partially translated (92 %) @end ifnothtml @* @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -7597,7 +7617,7 @@ partially up to date @item 2 Updating files with @command{convert-ly} @* -(1484) +(1865) @tab Till Paala @* @@ -7615,7 +7635,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -7638,11 +7658,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Jean-Charles Malahieude @* @@ -7704,7 +7724,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -7747,11 +7767,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Yoshiki Sawada @* @@ -7770,7 +7790,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -7779,7 +7799,7 @@ partially up to date @item 3 Running @command{lilypond-book} @* -(4137) +(4217) @tab Reinhold Kainhofer @* @@ -7817,7 +7837,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -7840,11 +7860,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Jean-Charles Malahieude @* @@ -7906,7 +7926,7 @@ partially translated (13 %) @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -7972,7 +7992,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -7981,7 +8001,7 @@ partially up to date @item 4 External programs @* -(2817) +(2830) @tab Till Paala @* Reinhold Kainhofer @@ -8001,7 +8021,7 @@ partially translated (87 %) @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -8024,11 +8044,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Jean-Charles Malahieude @* @@ -8136,7 +8156,7 @@ partially translated (87 %) @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -8515,10 +8535,11 @@ up to date @end multitable -@multitable @columnfractions 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 +@multitable @columnfractions 0.0909090909091 0.0909090909091 0.0909090909091 0.0909090909091 0.0909090909091 0.0909090909091 0.0909090909091 0.0909090909091 0.0909090909091 0.0909090909091 0.0909090909091 @headitem LilyPond -- Music notation for everyone +@tab ca @tab cs @tab de @tab es @@ -8531,7 +8552,30 @@ LilyPond -- Music notation for everyone @item Section titles @* -(616) +(642) +@tab Walter Garcia-Fontes +@* + +@ifhtml + +@html +translated +@end html +@end ifhtml +@ifnothtml +translated +@end ifnothtml +@* + +@ifhtml + +@html +partially up to date +@end html +@end ifhtml +@ifnothtml +partially up to date +@end ifnothtml @tab Pavel Fric @* @@ -8549,7 +8593,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -8572,11 +8616,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Francisco Vila @* @@ -8595,11 +8639,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab John Mandereau @* @@ -8641,7 +8685,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -8709,11 +8753,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Jan Nieuwenhuizen @* @@ -8752,11 +8796,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Ben Luo @* @@ -8777,16 +8821,39 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @item LilyPond --- \TITLE\ @* (1139) +@tab Walter Garcia-Fontes +@* + +@ifhtml + +@html +translated +@end html +@end ifhtml +@ifnothtml +translated +@end ifnothtml +@* + +@ifhtml + +@html +up to date +@end html +@end ifhtml +@ifnothtml +up to date +@end ifnothtml @tab Pavel Fric @* @@ -9041,7 +9108,30 @@ translated @item Introduction @* -(4937) +(5707) +@tab Walter Garcia-Fontes +@* + +@ifhtml + +@html +translated +@end html +@end ifhtml +@ifnothtml +translated +@end ifnothtml +@* + +@ifhtml + +@html +partially up to date +@end html +@end ifhtml +@ifnothtml +partially up to date +@end ifnothtml @tab Pavel Fric @* @@ -9059,7 +9149,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -9082,7 +9172,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -9105,11 +9195,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Gauvain Pocentek @* @@ -9175,7 +9265,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -9218,11 +9308,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Yoshiki Sawada @* @@ -9243,7 +9333,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -9286,7 +9376,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -9320,7 +9410,30 @@ translated @item Download @* -(1201) +(1145) +@tab Walter Garcia-Fontes +@* + +@ifhtml + +@html +translated +@end html +@end ifhtml +@ifnothtml +translated +@end ifnothtml +@* + +@ifhtml + +@html +up to date +@end html +@end ifhtml +@ifnothtml +up to date +@end ifnothtml @tab Pavel Fric @* @@ -9338,7 +9451,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -9361,7 +9474,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -9384,11 +9497,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Jean-Charles Malahieude @* @@ -9452,7 +9565,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -9518,7 +9631,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -9561,7 +9674,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -9595,7 +9708,30 @@ translated @item Manuals @* -(1284) +(1314) +@tab Walter Garcia-Fontes +@* + +@ifhtml + +@html +translated +@end html +@end ifhtml +@ifnothtml +translated +@end ifnothtml +@* + +@ifhtml + +@html +up to date +@end html +@end ifhtml +@ifnothtml +up to date +@end ifnothtml @tab Pavel Fric @* @@ -9613,7 +9749,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -9636,7 +9772,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -9725,7 +9861,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -9791,7 +9927,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -9834,7 +9970,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -9877,7 +10013,7 @@ translated @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -9887,6 +10023,29 @@ partially up to date A GNU Free Documentation License @* (3724) +@tab Walter Garcia-Fontes +@* + +@ifhtml + +@html +not translated +@end html +@end ifhtml +@ifnothtml +not translated +@end ifnothtml +@* + +@ifhtml + +@html +up to date +@end html +@end ifhtml +@ifnothtml +up to date +@end ifnothtml @tab Pavel Fric @* @@ -10177,18 +10336,41 @@ up to date @item Community @* -(3073) +(2991) +@tab Walter Garcia-Fontes +@* + +@ifhtml + +@html +translated +@end html +@end ifhtml +@ifnothtml +translated +@end ifnothtml +@* + +@ifhtml + +@html +partially up to date +@end html +@end ifhtml +@ifnothtml +partially up to date +@end ifnothtml @tab  Pavel Fric @* @ifhtml @html -partially translated (95 %) +partially translated (94 %) @end html @end ifhtml @ifnothtml -partially translated (95 %) +partially translated (94 %) @end ifnothtml @* @@ -10218,7 +10400,7 @@ partially translated (97 %) @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -10241,11 +10423,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Jean-Charles Malahieude @* @@ -10298,18 +10480,18 @@ up to date @ifhtml @html -partially translated (95 %) +partially translated (94 %) @end html @end ifhtml @ifnothtml -partially translated (95 %) +partially translated (94 %) @end ifnothtml @* @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml @@ -10352,11 +10534,11 @@ translated @ifhtml @html -up to date +partially up to date @end html @end ifhtml @ifnothtml -up to date +partially up to date @end ifnothtml @tab Yoshiki Sawada @* @@ -10375,7 +10557,7 @@ partially translated (97 %) @ifhtml @html -partially up to date +partially up to date @end html @end ifhtml @ifnothtml diff --git a/Documentation/usage.tely b/Documentation/usage.tely index 5959a48f09..cd2dbffb1c 100644 --- a/Documentation/usage.tely +++ b/Documentation/usage.tely @@ -26,7 +26,7 @@ LilyPond version @version{}. In addition, it suggests some @c file: Documentation/user/invoking.itexi @macro copyrightDeclare -Copyright @copyright{} 1999--2014 by the authors. +Copyright @copyright{} 1999--2015 by the authors. @end macro @set FDL diff --git a/Documentation/usage/lilypond-book.itely b/Documentation/usage/lilypond-book.itely index 4707d7083c..958fa8a1d1 100644 --- a/Documentation/usage/lilypond-book.itely +++ b/Documentation/usage/lilypond-book.itely @@ -882,7 +882,7 @@ way you use, you can easily convert between PostScript and PDF with tools, like @command{ps2pdf} and @command{pdf2ps} included in Ghostscript package. -To produce a PDF file through PDF@LaTeX{}, use; +To produce a PDF file through PDF@LaTeX{}, use: @example lilypond-book --pdf yourfile.lytex @@ -893,7 +893,7 @@ pdflatex yourfile.tex @cindex type1 fonts @cindex dvips @cindex invoking dvips -To produce PDF output via @LaTeX{}/@command{dvips}/@command{ps2pdf}; +To produce PDF output via @LaTeX{}/@command{dvips}/@command{ps2pdf}: @example lilypond-book yourfile.lytex @@ -919,14 +919,14 @@ Environments such as; @end example @noindent -are not interpreted by @LaTeX{}. Instead, @code{lilypond-book} extracts -those @q{environments} into files of its own and runs LilyPond on them'. +are not interpreted by @LaTeX{}. Instead, @code{lilypond-book} extracts +those @q{environments} into files of its own and runs LilyPond on them. It then takes the resulting graphics and creates a @file{.tex} file where the @code{\begin@{lilypond@}}@dots{}@code{\end@{lilypond@}} macros are then replaced by @q{graphics inclusion} commands. It is at this time that @LaTeX{} is run (although @LaTeX{} will have run previously, it will have been, effectively, on an @q{empty} document in order to -calculate things like @code{\linewidth}. +calculate things like @code{\linewidth}). @knownissues @@ -1393,5 +1393,3 @@ where @code{\includescore} is defined as: Other means of mixing text and music (without @command{lilypond-book}) are discussed in @ref{LilyPond output in other programs}. - - diff --git a/Documentation/usage/running.itely b/Documentation/usage/running.itely index 7f42d14bdd..fab28a6297 100644 --- a/Documentation/usage/running.itely +++ b/Documentation/usage/running.itely @@ -128,6 +128,44 @@ particular shell, Command (Windows), Terminal or Console applications (MacOS X) to see if output redirection is supported or if the syntax is different. +The following example searches and processes all input files in the +current directory and all directories below it recursively. The output +files will be located in the same directory that the command was run in, +rather than in the same directories as the original input files. + +@example +find . -name '*.ly' -exec lilypond '@{@}' \; +@end example + +@noindent +This should also work for MacOS@tie{}X users. + +A Windows user would run; + +@example +forfiles /s /M *.ly /c "cmd /c lilypond @@file" +@end example + +@noindent +entering these commands in a @code{command prompt} usually found under +@code{Start > Accessories > Command Prompt} or for version 8 users, +by typing in the search window @q{command prompt}. + +Alternatively, an explicit path to the top-level of your folder +containing all the sub-folders that have input files in them can be +stated using the @code{/p} option; + +@example +forfiles /s /p C:\Documents\MyScores /M *.ly /c "cmd /c lilypond @@file" +@end example + +If there are spaces in the path to the top-level folder, then the whole +path needs to be inside double quotes; + +@example +forfiles /s /p "C:\Documents\My Scores" /M *.ly /c "cmd /c lilypond @@file" +@end example + @node Basic command line options for LilyPond @unnumberedsubsec Basic command line options for LilyPond @@ -141,6 +179,34 @@ The following options are supported: @table @code +@item -b, --bigpdfs +@cindex bigpdfs + +PDF files generated will be much larger than normal (due to little or no +font optimization). However, if two or more PDF files are included +within @w{@code{pdftex}}, @w{@code{xetex}} or @w{@code{luatex}} +documents they can then be processed further via ghostscript (merging +duplicated font data) resulting in @emph{significantly} smaller PDF +files. + +@example +lilypond -b myfile +@end example + +Then run @code{ghostscript}; + +@example +gs -q -sDEVICE=pdfwrite -o gsout.pdf myfile.pdf +@end example + +@code{pdfsizeopt.py} can then be used to further optimize the size +of file; + +@example +pdfsizeopt.py --use-multivalent=no gsout.pdf final.pdf +@end example + + @item -d, --define-default=@var{var}=@var{val} See @ref{Advanced command line options for LilyPond}. @@ -426,7 +492,10 @@ files in the SVG backend. @item @code{clip-systems} @tab @code{#f} -@tab Generate cut-out snippets of a score. +@tab Extract music fragments out of a score. This requires that the +@code{clip-regions} function has been defined within the @code{\layout} +block. See @ruser{Extracting fragments of music}. No fragments are +extracted though if used with the @option{-dno-print-pages} option. @item @code{datadir} @tab @@ -947,6 +1016,7 @@ are easily handled. * Error message FT_Get_Glyph_Name:: * Warning staff affinities should only decrease:: * Error message unexpected new:: +* Warning this voice needs a voiceXx or shiftXx setting:: @end menu @node Music runs off the page @@ -1030,6 +1100,7 @@ UTF-8 encoding. For details, see @ruser{Text encoding}. @node Warning staff affinities should only decrease @unnumberedsubsec Warning staff affinities should only decrease + This warning can appear if there are no staves in the printed output, for example if there are just a @code{ChordName} context and a @code{Lyrics} context as in a lead sheet. The warning @@ -1093,3 +1164,38 @@ staves are introduced in parallel, i.e. simultaneously: >> } @end lilypond + +@node Warning this voice needs a voiceXx or shiftXx setting +@unnumberedsubsec Warning this voice needs a @code{@bs{}voiceXx} + or @code{@bs{}shiftXx} setting + +If notes from two different voices with stems in the same direction +occur at the same musical moment, but the voices have no +voice-specific shifts specified, the warning message +@samp{warning: this voice needs a \voiceXx or \shiftXx setting} will appear +when compiling the LilyPond file. This warning will appear even when +the notes have no visible stems, e.g. whole notes, if the stems for +shorter notes at the same pitch would be in the same direction. + +Remember that the stem direction depends on the position of the +note on the staff unless the stem direction is specified, for example +by using @code{\voiceOne}, etc. In this case the warning will appear +only when the stems happen to be in the same direction, i.e. when the +notes are in the same half of the staff. + +By placing the notes in voices with stem directions and shifts +specified, for example by using @code{\voiceOne}, etc., these warnings +may be avoided. + +Notes in higher numbered voices, @code{\voiceThree} etc., are +automatically shifted to avoid clashing note columns. This causes a +visible shift for notes with stems, but whole notes are not visibly +shifted unless an actual clash of the note heads occurs, or when the +voices cross over from their natural order (when @code{\voiceThree} +is higher than @code{\voiceOne}, etc.) + +@seealso +@rlearning{Explicitly instantiating voices}, +@rlearning{Real music example}, +@ruser{Single-staff polyphony}, +@ruser{Collision resolution}. diff --git a/Documentation/usage/suggestions.itely b/Documentation/usage/suggestions.itely index 2c6fcaca8f..263e12e687 100644 --- a/Documentation/usage/suggestions.itely +++ b/Documentation/usage/suggestions.itely @@ -53,51 +53,92 @@ structured in order to be easier (or harder) to update. @node General suggestions @section General suggestions -Here are a few suggestions that can help you to avoid or fix -problems: +Here are a few suggestions that can help to avoid (and fix) the most +common problems when typesetting: @itemize -@item @strong{Include @code{\version} numbers in every file}. Note that all -templates contain @code{\version} information. We -highly recommend that you always include the @code{\version}, no matter -how small your file is. Speaking from personal experience, it's -quite frustrating to try to remember which version of LilyPond you were -using a few years ago. @command{convert-ly} requires you to declare -which version of LilyPond you used. - -@item @strong{Include checks}: @ruser{Bar and bar number checks}, -@ruser{Octave checks}. If you include checks every so often, then -if you make a mistake, you can pinpoint it quicker. How often is -@q{every so often}? It depends on the complexity of the music. -For very simple music, perhaps just once or twice. For very -complex music, perhaps every bar. - -@item @strong{One bar per line of text}. If there is anything complicated, -either in the music -itself or in the output you desire, it's often good to write only one bar -per line. Saving screen space by cramming eight bars per line just isn't -worth it if you have to @q{debug} your input files. - -@item @strong{Comment your input files}. Use either bar numbers -(every so often) or -references to musical themes (@q{second theme in violins,} @q{fourth -variation,} etc.). You may not need comments when you're writing the piece -for the first time, but if you want to go back to change something two or -three years later, or if you pass the source over to a friend, it will -be much more -challenging to determine your intentions or how your file is structured if -you didn't comment the file. - -@item @strong{Indent your braces}. A lot of problems are caused by an -imbalance -in the number of @code{@{} and @code{@}}. - -@item @strong{Explicitly add durations} at the beginnings of sections -and variables. If you specify @code{c4 d e} at the beginning of a -phrase (instead of just @code{c d e}) you can save yourself some -problems if you rearrange your music later. - -@item @strong{Separate tweaks} from music definitions. See +@item +@strong{Always include a @code{\version} number in your input files} no +matter how small they are. This prevents having to remember which +version of LilyPond the file was created with and is especially relevant +when @ref{Updating files with convert-ly} command (which requires the +@code{\version} statement to be present); or if sending your input files +to other users (e.g. when asking for help on the mail lists). Note that +all of the LilyPond templates contain @code{\version} numbers. + +@item +@strong{For each line in your input file, write one bar of music}. This +will make debugging any problems in your input files much simpler. + +@item +@strong{Include @ruser{Bar and bar number checks} as well as +@ruser{Octave checks}}. Including @q{checks} of this type in your input +files will help pinpoint mistakes more quickly. How often checks are +added will depend on the complexity of the music being typeset. For +simple compositions, checks added at a few at strategic points within +the music can be enough but for more complex music, with many voices +and/or staves, checks may be better placed after every bar. + +@item +@strong{Add comments within input files}. References to musical themes +(i.e. @q{second theme in violins}, @q{fourth variation,} etc.), or +simply including bar numbers as comments, will make navigating the input +file much simpler especically if something needs to be altered later +on or if passing on LilyPond input files to another person. + +@item +@strong{Add explicit note durations at the start of @q{sections}}. For +example, @code{c4 d e f} instead of just @code{c d e f} can make +rearranging the music later on simpler. + +@item +@strong{Learn to indent and align braces and parallel music}. Many +problems are often caused by either @q{missing} braces. Clearly +indenting @q{opening} and @q{closing} braces (or @code{<<} and @code{>>} +indicators) will help avoid such problems. For example; + +@example +\new Staff @{ + \relative g' @{ + r4 g8 g c8 c4 d | + e4 r8 | + % Ossia section + << + @{ f8 c c | @} + \new Staff @{ + f8 f c | + @} + >> + r4 | + @} +@} +@end example + +@noindent +is much easier to follow than; + +@example +\new Staff @{ \relative g' @{ r4 g8 g c4 c8 d | e4 r8 +% Ossia section +<< @{ f8 c c @} \new Staff @{ f8 f c @} >> r4 | @} @} +@end example + + +@item +@strong{Keep music and style separate} by putting overrides in the +@code{\layout} block; + +@example +\score @{ + @var{@dots{}music@dots{}} + \layout @{ + \override TabStaff.Stemstencil = ##f + @} +@} +@end example + +This will not create a new context but it will apply when one is +created. Also see @rlearning{Saving typing with variables and functions}, and @rlearning{Style sheets}. diff --git a/Documentation/usage/updating.itely b/Documentation/usage/updating.itely index ad92a834e3..60b71c29de 100644 --- a/Documentation/usage/updating.itely +++ b/Documentation/usage/updating.itely @@ -17,11 +17,13 @@ @cindex Updating a LilyPond file @cindex convert-ly -The LilyPond input syntax is routinely changed to simplify it or improve -it in different ways. As a side effect of this, the LilyPond interpreter -often is no longer compatible with older input files. To remedy this, -the program @command{convert-ly} can be used for upgrading files -to newer versions of LilyPond. +As LilyPond is improved, the syntax (input language) of some commands +and functions can change. This can result in unexpected errors, +warnings or even output when input files, previously created with older +versions of LilyPond are then used with later versions. + +To help with this the @command{convert-ly} command can be used to +upgrade these older input files to use the newer syntax. @menu * Why does the syntax change?:: @@ -38,102 +40,148 @@ to newer versions of LilyPond. @cindex convert-ly @cindex updating old input files -The LilyPond input syntax occasionally changes. As LilyPond -itself improves, the syntax (input language) is modified -accordingly. Sometimes these changes are made to make the input -easier to read and write or sometimes the changes are made to -accommodate new features of LilyPond. - -For example, all @code{\paper} and @code{\layout} property names -are supposed to be written in the form @code{first-second-third}. -However, in version 2.11.60, we noticed that the -@code{printallheaders} property did not follow this convention. -Should we leave it alone (confusing new users who must deal with -an inconsistent input format), or change it (annoying old users -with existing scores)? In this case, we decided to change the -name to @code{print-all-headers}. Fortunately, this change can be -automated with our @command{convert-ly} tool. - -Unfortunately, @command{convert-ly} cannot handle all input changes. -For example, in LilyPond 2.4 and earlier, accents and non-English -letters were entered using LaTeX -- displaying the French word for -Christmas was entered as @code{No\"el}. But in LilyPond -@c keep "-matching straight in fancy editors -2.6 and above, the special @code{ë} must be entered directly into -the LilyPond file as an UTF-8 character. @command{convert-ly} cannot -change all the LaTeX special characters into UTF-8 characters; you -must manually update your old LilyPond input files. - -The conversion rules of @command{convert-ly} work using text pattern -matching and replacement rather than a thorough understanding of -LilyPond. This has several consequences: +Often, syntax changes are made to make the input simpler to both read +and write, but occasionally the changes are made to accommodate new +features or enhancements to existing functions. + +To illustrate this here is a real example: + +All @code{\paper} and @code{\layout} property names were supposed to be +written in the form @code{first-second-third}. However, in LilyPond +version 2.11.60, it was noticed that the @code{printallheaders} property +did not follow this convention. Should this property be left alone +(confusing new users with an inconsistent format)? Or should it be +changed (annoying old users with existing LilyPond input files)? + +The decision was made to change the name of the property to +@code{print-all-headers}, and by using the @command{convert-ly} command +the old users had a way to automatically update their existing input +files. + +However, the @command{convert-ly} command cannot always be used to +manage all syntax changes. In versions of LilyPond before 2.4.2, +accents and non-English characters were entered using standard LaTeX +notation. For example the French word for @q{Christmas} was entered as +@code{No\"el}. But in LilyPond 2.6 onwards, the special @code{ë} must +be entered directly as a UTF-8 character. The @command{convert-ly} +command cannot change LaTeX special characters into UTF-8 characters, so +older LilyPond input files have to edited manually. + +The conversion rules of the @command{convert-ly} command work using text +pattern-matching and replacement (rather than @q{understanding} the +context of what it is changing within a given input file). This has +several consequences: + @itemize @bullet @item -The reliability of the conversion depends on the quality of each -applied rule set and on the complexity of the respective change. -Sometimes conversions may require manual fixes, so the old version -should be kept available for comparison. +The reliability of the conversion depends on the quality of each applied +rule set and on the complexity of the respective change. Sometimes +conversions may require additional, manual fixes, so the original input +files should be kept for comparison just in case. + @item -Only conversions to newer formats are possible: there are no rule -sets for downgrading. So the main working copy of a LilyPond file -should only be upgraded when older versions of LilyPond no longer -need to be supported. Version control systems such as Git might -help with maintaining multiple versions. +Only conversions to newer syntax changes are possible: there are no rule +sets to go back to older versions of LilyPond. So the input file +should only be upgraded when older versions of LilyPond are no longer +being maintained. Again, the original input files should be kept just +in case; perhaps using version control systems (i.e. Git) to help with +maintaining multiple versions of your input files. + @item -LilyPond and Scheme themselves are quite robust against creatively -placed and omitted spaces, but the rules used by -@command{convert-ly} tend to make some stylistic assumptions. -Following the style used in the manuals is the safest bet for -painless upgrades, particularly as the manuals themselves are -upgraded using @command{convert-ly}. +LilyPond is quite robust when processing @q{creatively} placed or +omitted whitespace, but the rules used by @command{convert-ly} often +make some stylistic assumptions. Therefore following the input style as +used in the LilyPond manuals is advised for painless upgrades, +particularly as the examples in the manuals themselves are all upgraded +using the @command{convert-ly} command. @end itemize @node Invoking convert-ly @section Invoking @command{convert-ly} -@command{convert-ly} uses @code{\version} statements in the input -file to detect the old version number. In most cases, to upgrade -your input file it is sufficient to run +The @command{convert-ly} command uses the @code{\version} number in +the input file to detect older versions. In most cases, to upgrade your +input file it is sufficient just to run; @example convert-ly -e myfile.ly @end example @noindent -in the directory containing the file. This will upgrade -@file{myfile.ly} in-place and preserve the original file in -@file{myfile.ly~}. +in the directory containing the input file. This will upgrade +@file{myfile.ly} in-place and preserve the original file by renaming it +@file{myfile.ly~}. The @code{\version} number in the upgraded input +file, along with any required syntax updates, is also changed. + +When run, the @command{convert-ly} command will output the version +numbers of which conversions have been made to. If no version numbers +are listed in the output for the file, it is already up to date and +using the latest LilyPond syntax. + +@warning{For each new version of LilyPond, a new @command{convert-ly} +command is created, however not every version of LilyPond will need +syntax changes for its input files from the version before. This means +that the @command{convert-ly} command will only convert input files up +to the latest syntax change it has and this, in turn, may mean that the +@code{\version} number left in the upgraded input file is sometimes +earlier than the version of @command{convert-ly} command itself.} + +To convert all input files in a single directory use; -@warning{@command{convert-ly} always converts up to the last -syntax change handled by it. This means that the @code{\version} -number left in the file is usually lower than the version of -@command{convert-ly} itself.} +@example +convert-ly -e *.ly +@end example -To convert all the input files in a directory together use +Linux and MacOS@tie{}X users can both use the appropriate terminal +application, but MacOS@tie{}X users can also execute this command +directly under the menu entry @code{Compile > Update syntax}. + +A Windows user would run the command; @example -convert-ly -e *.ly +convert-ly.py -e *.ly @end example -Alternatively, if you want to specify a different name for the -upgraded file, preserving the original file and name unchanged, -use +@noindent +entering these commands in a @code{command prompt} usually found under +@code{Start > Accessories > Command Prompt} or for version 8 users, +by typing in the search window @q{command prompt}. + +To convert all input files that reside in different sets of +subdirectories; @example -convert-ly myfile.ly > mynewfile.ly +find . -name '*.ly' -exec convert-ly -e '@{@}' \; @end example -The program will list the version numbers for which conversions -have been made. If no version numbers are listed the file is -already up to date. +This example searches and converts all input files in the current +directory and all directories below it recursively. The converted files +will be located in the same directory along with their renamed +originals. This should also work for MacOS@tie{}X users, although only +via the terminal app. -MacOS@tie{}X users may execute these commands under the menu entry -@code{Compile > Update syntax}. +Windows user would use; + +@example +forfiles /s /M *.ly /c "cmd /c convert-ly.py -e @@file" +@end example + +Alternatively, an explicit path to the top-level of your folder +containing all the sub-folders that have input files in them can be +stated using the @code{/p} option; + +@example +forfiles /s /p C:\Documents\MyScores /M *.ly /c "cmd /c convert-ly.py -e @@file" +@end example + +If there are spaces in the path to the top-level folder, then the whole +path needs to be inside double quotes; + +@example +forfiles /s /p "C:\Documents\My Scores" /M *.ly /c "cmd /c convert-ly.py -e @@file" +@end example -Windows users should enter these commands in a Command Prompt -window, which is usually found under -@code{Start > Accessories > Command Prompt}. @node Command line options for convert-ly @@ -161,6 +209,19 @@ conversion. Apply the conversions direct to the input file, modifying it in-place. The original file is renamed as @file{myfile.ly~}. This backup file may be a hidden file on some operating systems. +Alternatively, if you want to specify a different name for the +upgraded file without using the @code{-e} options default @code{~} +appended to the old input file, the output can be redirected instead; + +@example +convert-ly myfile.ly > mynewfile.ly +@end example + +Windows user would use; + +@example +convert-ly.py myfile.ly > mynewfile.ly +@end example @item -b, --backup-numbered When used with the @samp{-e} option, number the backup files so that @@ -168,9 +229,9 @@ no previous version is overwritten. The backup files may be hidden on some operating systems. @item -f, --from=@var{from-patchlevel} -Set the version to convert from. If this is not set, @command{convert-ly} -will guess this, on the basis of @code{\version} strings in the file. -E.g. @option{--from=2.10.25} +Set the version to convert from. If this is not set, +@command{convert-ly} will guess this, on the basis of @code{\version} +strings in the file. E.g. @option{--from=2.10.25} @item -h, --help Print usage help. diff --git a/Documentation/web.texi b/Documentation/web.texi index ed1f1ffefb..5d140400b1 100644 --- a/Documentation/web.texi +++ b/Documentation/web.texi @@ -34,11 +34,11 @@ @c commit: d189a2119004c2f75da2020ea2ed36d817582fc5 @c @macro copyrightDeclare -@c Copyright @copyright{} 2003--2014 by the authors. +@c Copyright @copyright{} 2003--2015 by the authors. @c @end macro @copying -Copyright @copyright{} 2003--2014 by the authors. +Copyright @copyright{} 2003--2015 by the authors. @c next line is necessary for broken pre-4.13 texinfo's @c install-info, so leave it there until we officially diff --git a/Documentation/web/community.itexi b/Documentation/web/community.itexi index 70362a5d27..de483cfa29 100644 --- a/Documentation/web/community.itexi +++ b/Documentation/web/community.itexi @@ -49,7 +49,7 @@ discussing LilyPond. @ref{Development}: for contributors and testers. @item -@ref{GSoC 2012}: our ideas for 2012 edition of Google Summer of Code. +@ref{Google Summer of Code}: ideas for Google Summer of Code (GSoC). @item @ref{Authors}: the people who made LilyPond what it is today. @@ -87,7 +87,7 @@ discussing LilyPond. * Help us:: * Sponsoring:: * Development:: -* GSoC 2012:: +* Google Summer of Code:: * Authors:: * Acknowledgements:: * Publications:: @@ -492,14 +492,14 @@ report. Once your bug report has been sent to the list, our Bug Squad will examine it; they may ask you for more information. You will be notified -when the report will be added to the bug tracker. Please allow up to 4 days, -as we have a limited number of volunteers for this task. +when the report will be added to the bug tracker. Please allow up to 4 +days, as we have a limited number of volunteers for this task. Once a bug has been added to the tracker, you can comment it to add more information about it. You may also mark the bug so that you automatically receive emails when -any activity on the bug occurs. This requires you have a google -account. +any activity on the bug occurs. This requires you have a google account +login. @divEnd @divClass{column-center-bottom} @@ -881,165 +881,144 @@ manuals can be found at @url{http://lilypond.org}} -@node GSoC 2012 -@unnumberedsec GSoC 2012 +@node Google Summer of Code +@unnumberedsec Google Summer of Code @divClass{column-center-top} @subheading What is Google Summer of Code? -It is a global program run by Google that offers students stipends -for working on open source software projects during summer vacations. +A global program run by Google that offers students stipends for working +on open source software projects during summer vacations. -The LilyPond Team decided that this is an excellent opportunity to find -new contributors and encourage students already participating in LilyPond -development to become more involved. One of our contributors was accepted -for 2012 edition of the program as part of the -@uref{http://www.gnu.org/, GNU project}; -we hope to participate in future editions as well. +It is an excellent opportunity to find new contributors, and encourage +students already participating in LilyPond development, to become more +involved. One of our contributors was accepted in the 2012 program as +part of the @uref{http://www.gnu.org/, GNU project}; and we are always +looking for others to participate in future programs. @divEnd @divClass{column-center-bottom} -@subheading Our 2012 Ideas List +@subheading Our Ideas List -Below is a list of projects that we suggested for GSoC 2012 students. -Although the application period is over, we decided to keep this webpage -online as an inspiration for anyone who is interested in developing LilyPond. -Some members of the development team are willing to help people who would like -to tackle these projects. +Below is a list of projects that were suggested for the GSoC 2012 +students and is retained here as an inspiration for anyone +who is interested in developing LilyPond for future GSoC projects. -Of course, there are many more things to improve in LilyPond, including -very small ones. A full list of all known issues can be found +There are many more things that can be done to improve LilyPond and +members of the LilyPond development team are always willing to help +those who would like to tackle projects such as those listed below. + +A full list of all the current open issues can be found @uref{http://code.google.com/p/lilypond/issues/list, here}. @subheading Grace notes -Fix problems with synchronization of grace notes, -together with all underlying architecture (see -@uref{http://code.google.com/p/lilypond/issues/detail?id=34, -issue 34 in our tracker}). Grace notes are confusing to LilyPond's -timing because they're like going back in time. This causes weird -effects, especially when one staff has a grace note and the other -doesn't. +Fix problems with synchronization of grace notes. Grace notes can +intefere with LilyPond's timing and cause odd effects, especially when +multiple staffs are used where some have grace notes and others don't. @strong{Difficulty:} medium - @strong{Requirements:} C++, MIDI - @strong{Recommended:} familiarity with LilyPond internals - @strong{Mentor(s):} Mike Solomon, Carl Sorensen @subheading MusicXML -Adding comprehensive MusicXML export and improving import, -together with tests checking that it works. Depending on time available, -implement some or all of the following: +Improving MusicXML import and export functions: @divClass{keep-bullets} @itemize @item Handle basic musical content export like the MIDI export (i.e. using -dedicated exporter classes, derived from the translator class) +dedicated exporter classes, derived from the translator class). @item -Build the XML tree of the basic musical content, -add a connection from music event to XML tag +Build the XML tree of the basic musical content, add a connection from +music event to XML tag. @item -Let all LilyPond engravers do their job +Let all LilyPond engravers do their job. @item -Add ability to link each output object -(basically each stencil / group of stencils) to the music cause -(and thus to the XML tag in the XML tree) +Link each output object (i.e. each stencil or group of stencils) to the +music cause (and thus to the XML tag in the XML tree). @item -Add a XML output backend, which can then add the layout information -for each output object to the XML tags +Add an XML output backend, which can then add layout information for +each output object to the XML tags. @end itemize @divEnd -The goal will be considered achieved when a (previously chosen) score -could be imported from MusicXML and exported back with no unintentional -loss of data. - @strong{Difficulty:} medium - @strong{Requirements:} MusicXML, Python, basic LilyPond knowledge - @strong{Mentor(s):} Reinhold Kainhofer, Mike Solomon -Familiarity with other scorewriters (for cross-testing) would be a nice -bonus. +Familiarity with other scorewriters (for cross-testing) would also help. + @subheading Improve slurs and ties -The default shape of slur and tie curves is often unsatisfactory. -Ties on enharmonic notes @code{@{ cis'~ des' @}} are not supported, -ties "broken" by clef or staff change aren't supported well. -The project includes collecting and sorting examples of bad output, -deciding on the intended output and writing the actual code. +The default curves of slurs and ties are often unsatisfactory. Ties +@q{broken} by clef or staff changes are not handled well. The project +could include collecting and sorting examples of bad output, deciding on +the intended output and writing code to improve them. @strong{Difficulty:} hard - @strong{Requirements:} C++, experience with writing heuristics - @strong{Recommended knowledge:} LilyPond knowledge, aesthetic sense - @strong{Mentor(s):} Mike Solomon -@subheading Adding special variant of font glyphs -Adding on-staff-line, between-staff-line, shorter and narrower variants -of some glyphs, for example accidentals, together with a generic -infrastructure to support them. An example is ancient notation breve -notehead coming in two variants, with smaller and bigger hole. +@subheading Adding variants of font glyphs -@strong{Difficulty:} easy +@divClass{keep-bullets} +@itemize -@strong{Requirements:} MetaFont, C++, good eye for details +@item +Adding @q{on} and @q{between} staff-line variants. -@strong{Recommended knowledge:} basic LilyPond knowledge +@item +Shorter and narrower variants of some glyphs for example, accidentals. +Another, more specific example could be an ancient notation breve +notehead coming in two variants one with a small or big @q{hole} within +it. + +@end itemize +@divEnd +@strong{Difficulty:} easy +@strong{Requirements:} MetaFont, C++, good eye for details +@strong{Recommended knowledge:} basic LilyPond knowledge @strong{Mentor(s):} Werner Lemberg -@subheading Improve beaming +@subheading Improve default beam positioning -Default positioning of regular, cross-staff, broken and kneed beams -should be improved. Beaming should depend on context and neighbor notes +For regular, cross-staff, broken and kneed beams. Beaming should depend +on context and neighbor notes (see @uref{http://icking-music-archive.org/lists/sottisier/sottieng.pdf, -section 2.2 here}). If possible, reduce beaming computation time. +section 2.2 here}). If possible also reduce beaming-computation time. @strong{Difficulty:} medium - @strong{Requirements:} C++, experience with writing heuristics - @strong{Recommended knowledge:} aesthetic sense - @strong{Mentor(s):} Mike Solomon, Carl Sorensen -@subheading Clean up various compilation warnings +@subheading Help improve compilation behavior -Clean up compiler warnings, static code analysis, and valgrind warnings. -Automatic code analysis tools (warnings in @code{g++} and @code{clang}) -and analysis tools like valgrind memory leak detection and callgrind -code profilers provide valuable information about possible flaws in C++ -code. Cleaning these warnings would allow us to automatically reject -any patch which introduced extra warnings. +Automatic code analysis tools, like valgrind memory leak detection or +callgrind code profilers, provide valuable information about possible +flaws in our C++ code. Cleaning up warnings would allow us to automate +the rejection of any patch which introduced extra warnings. @strong{Difficulty:} medium - @strong{Requirements:} C++ - @strong{Mentor(s):} Joe Neeman, Reinhold Kainhofer @divEnd - - @node Authors @unnumberedsec Authors diff --git a/Documentation/web/download.itexi b/Documentation/web/download.itexi index b4c6e2f13b..ece6c7b39f 100644 --- a/Documentation/web/download.itexi +++ b/Documentation/web/download.itexi @@ -82,7 +82,7 @@ latest unstable version @divEnd -@divClass{column-center-bottom} +@divClass{column-center-middle-color2} @subheading Software License @@ -91,7 +91,7 @@ LilyPond is published under the @divEnd -@divClass{color1} +@divClass{column-center-bottom} @subheading Sponsors diff --git a/Documentation/web/introduction.itexi b/Documentation/web/introduction.itexi index b0ed9e47be..cf00fadf64 100644 --- a/Documentation/web/introduction.itexi +++ b/Documentation/web/introduction.itexi @@ -466,7 +466,7 @@ not require hundreds of dollars of software! @c @divClass{column-left-top} -@divClass{color2} +@divClass{column-center-middle-color2} @divClass{keep-bullets} @subheading What are the benefits to users? @@ -507,7 +507,7 @@ available for copying, modifications, and distribution. @c @divClass{column-right-top} -@divClass{color3} +@divClass{column-center-middle-color3} @divClass{keep-bullets} @subheading Why do LilyPond developers @qq{give away} their work for free? @@ -1205,7 +1205,8 @@ In particular, don't link to: @end ignore @divClass{column-center-top} -@subheading Frescobaldi +@subheading Front-end Applications +@subsubheading Frescobaldi @imageClickable{frescobaldi-lilypond-editor-small,png, (click to enlarge),frescobaldi-lilypond-editor,png,right} @@ -1224,10 +1225,7 @@ highlighting and automatic completion. Frescobaldi is written in Python, with PyQt4 for its user interface, and will run on all major operating systems (GNU/Linux, Mac OS X and Windows). -@divEnd - -@divClass{column-center-top} -@subheading Denemo +@subsubheading Denemo @imageClickable{screenshot-denemo-small,png, (click to enlarge),screenshot-denemo,png,right} @@ -1251,24 +1249,27 @@ the text view when printed from there. @divEnd @divClass{column-center-top} -@subheading Tunefl -@c do we need logos for web-based packages? -@sourceimage{logo-linux,,,} -@sourceimage{logo-freebsd,,,} -@sourceimage{logo-macosx,,,} -@sourceimage{logo-windows,,,} +@subheading Browser-based editors +@subsubheading LilyBin +@uref{http://lilybin.com} + +A web-based LilyPond editor where you can typeset your scores directly +online without needing to install LilyPond. + +@subsubheading Tunefl @uref{http://www.tunefl.com} -With tunefl, you can typeset your mini-scores directly online -without needing to install LilyPond locally. It allows -trying out all the program's features using a convenient -web interface. +With tunefl, you can typeset your mini-scores directly online without +needing to install LilyPond locally. It allows trying out all the +program's features using a convenient web interface. @divEnd @divClass{column-center-top} -@subheading Elysium +@subheading IDE Plug-ins + +@subsubheading Elysium @sourceimage{logo-linux,,,} @sourceimage{logo-freebsd,,,} @@ -1292,32 +1293,37 @@ templates. @sourceimage{logo-macosx,,,} @sourceimage{logo-windows,,,} +@subsubheading Emacs @uref{http://www.gnu.org/software/emacs/} +Emacs is a text editor with language-sensitive capabilities for many +different computer languages. Emacs is a highly extensible editor and +can be used as an Integrated Development Environment. There is a +@q{lilypond mode} which supplies the language definitions for working +with LilyPond source files. A developer has written +@uref{https://github.com/nsceaux/lyqi,lyqi}, an Emacs major mode. -Emacs is a text editor with language-sensitive capabilities for -many different computer languages. Emacs is a highly extensible -editor and can be used as an Integrated Development Environment. -There is a @q{lilypond mode} which supplies the language -definitions for working with LilyPond source files. A developer -has written @uref{https://github.com/nsceaux/lyqi,lyqi}, an Emacs major -mode. +If you are not already familiar with Emacs then you may probably prefer +to use a different editor for writing LilyPond input files. -@uref{http://www.vim.org} +More information on setting up Emacs can be found in +@rprogram{Text editor support}. +@subsubheading Vim +@uref{http://www.vim.org} Vim is a minimal text editor and is an extension of the older Unix @command{vi} editor. It is also extensible and configurable. -As a general rule, if you are not already familiar with Emacs or -Vim, then you would probably prefer to use a different editor for -writing LilyPond input files. +If you are not already familiar with Vi then you may probably prefer +to use a different editor for writing LilyPond input files. -More information on setting up Emacs and Vim can be found in +More information on setting up Vim can be found in @rprogram{Text editor support}. @sourceimage{logo-macosx,,,} +@subsubheading TeXShop @uref{http://www.uoregon.edu/~koch/texshop} -The TexShop editor for MacOS@tie{}X can be extended to run LilyPond, +The TeXShop editor for MacOS@tie{}X can be extended to run LilyPond, @command{lilypond-book} and @command{convert-ly} from within the editor, using the extensions available at: @@ -1328,8 +1334,7 @@ using the extensions available at: @divEnd @divClass{column-center-top} -@subheading Programs that can export LilyPond code - +@subheading Other programs that can export LilyPond code @subsubheading Score, tab and MIDI editors: @@ -1347,15 +1352,13 @@ to LilyPond, but is still beta-software. Testers are welcome, though. @item @uref{http://enc2ly.sourceforge.net/en/,Enc2ly} is a GNU/Linux program -which converts an @uref{http://www.gvox.com/,Encore} music score into -a LilyPond one. +which converts an Encore music score into a LilyPond one. @item @uref{https://github.com/hanwen/go-enc2ly,go-enc2ly} is a Go tool that -converts @uref{http://www.gvox.com/,Encore} files to LilyPond. It was -created using Felipe Castro's research and reverse engineering by -tweaking existing .enc files and loading them using the 4.55 demo -version. +converts Encore files to LilyPond. It was created using Felipe Castro's +research and reverse engineering by tweaking existing .enc files and +loading them using the 4.55 demo version. @item @uref{http://www.musescore.org,MuseScore}, a score editor, has @@ -1379,14 +1382,6 @@ mixing different musical works together in a single score or part. @uref{http://www.rosegardenmusic.com,Rosegarden}, an audio and MIDI sequencer, which also has a score editor for single-staff editing. -@item -@uref{https://launchpad.net/rumor/,Rumor}, a realtime monophonic -MIDI-to-LilyPond converter. - -@item -@uref{http://www.tuxguitar.com.ar/,TuxGuitar}, a multitrack tablature -editor and player, includes a score viewer and can export to LilyPond. - @end itemize @subsubheading Algorithmic code generators @@ -1416,14 +1411,14 @@ language. @divClass{column-center-top} -@subheading Other programs not being actively developed +@subheading Other programs no longer being actively developed @itemize @item -@uref{https://sourceforge.net/projects/lily4jedit,LilyPondTool} was created as a -plugin for the -@uref{http://www.jedit.org,jEdit} text editor. +@uref{https://sourceforge.net/projects/lily4jedit,LilyPondTool} was +created as a plugin for the @uref{http://www.jedit.org,jEdit} text +editor. @item @uref{http://lilykde.googlecode.com/,LilyKDE} has been replaced by @@ -1432,16 +1427,23 @@ for KDE 3.5 and lilypond-KDE4 for KDE 4.1 only. @item @uref{http://noteedit.berlios.de,NoteEdit}, which imported -@uref{http://www.makemusic.com/musicxml,MusicXML}, has been forked -into +@uref{http://www.makemusic.com/musicxml,MusicXML}, has been forked into @uref{http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml,NtEd} and @uref{http://canorus.org,Canorus}. +@item +@uref{http://lilycomp.sourceforge.net, LilyComp} is a graphical note +entry program, acting much like a number-pad which produces LilyPond +notes. + +@item +@uref{https://launchpad.net/rumor/,Rumor}, a realtime monophonic +MIDI-to-LilyPond converter. @item -@uref{http://lilycomp.sourceforge.net, LilyComp} is a graphical -note entry program, acting much like a number-pad which produces -LilyPond notes. +@uref{http://sourceforge.net/projects/tuxguitar/,TuxGuitar}, a +multitrack tablature editor and player, includes a score viewer and can +export to LilyPond. @end itemize diff --git a/Documentation/zh/translations.itexi b/Documentation/zh/translations.itexi index ed86a34394..d61270948f 100644 --- a/Documentation/zh/translations.itexi +++ b/Documentation/zh/translations.itexi @@ -16,7 +16,7 @@ td { border: 1px solid black; text-align: center; } @end html @end ifhtml -@emph{最近更新 Wed Dec 18 12:23:14 UTC 2013 +@emph{最近更新 Tue Dec 30 15:39:08 UTC 2014 } @multitable @columnfractions 0.166666666667 0.166666666667 0.166666666667 0.166666666667 0.166666666667 0.166666666667 @@ -30,7 +30,7 @@ LilyPond -- 人人的乐谱软件 @item 章节标题 @* -616 +642 @tab Ben Luo @* Anthony Fok @@ -49,11 +49,11 @@ Anthony Fok @ifhtml @html -是 +部分 @end html @end ifhtml @ifnothtml -是 +部分 @end ifnothtml @tab GDP 前 @item @@ -88,7 +88,7 @@ Anthony Fok @item 简介 @* -4937 +5707 @tab Ben Luo @* Anthony Fok @@ -117,7 +117,7 @@ Anthony Fok @item 下载 @* -1201 +1145 @tab Ben Luo @* Anthony Fok @@ -146,7 +146,7 @@ Anthony Fok @item 手册 @* -1284 +1314 @tab Ben Luo @tab Anthony Fok @tab @@ -163,7 +163,7 @@ Anthony Fok @ifhtml @html -部分 +部分 @end html @end ifhtml @ifnothtml @@ -173,7 +173,7 @@ Anthony Fok @item 社区 @* -3073 +2991 @tab Ben Luo @* Anthony Fok diff --git a/Documentation/zh/web.texi b/Documentation/zh/web.texi index 17c96355a4..c2a5daa8ab 100644 --- a/Documentation/zh/web.texi +++ b/Documentation/zh/web.texi @@ -15,7 +15,7 @@ @c `Web' was imported 2009-08-05 with git commit b938d71... @c @macro copyrightDeclare -@c Copyright @copyright{} 2009--2014 by the authors. +@c Copyright @copyright{} 2009--2015 by the authors. @c @end macro @c Translators: Ben Luo, Anthony Fok @@ -36,7 +36,7 @@ @end ignore @copying -Copyright @copyright{} 2009--2014 by the authors. +Copyright @copyright{} 2009--2015 by the authors. @c next line is necessary for broken pre-4.13 texinfo's @c install-info, so leave it there until we officially diff --git a/LICENSE.OFL b/LICENSE.OFL index 717c3d3967..edc3956b8b 100644 --- a/LICENSE.OFL +++ b/LICENSE.OFL @@ -1,5 +1,5 @@ -Copyright (c) 1996--2014, The LilyPond authors (lilypond.org) +Copyright (c) 1996--2015, The LilyPond authors (lilypond.org) with Reserved Font Name "Emmentaler" and "Feta". This Font Software is licensed under the SIL Open Font License, Version 1.1. diff --git a/elisp/lilypond-font-lock.el b/elisp/lilypond-font-lock.el index 73a8df8f7d..be7b592635 100644 --- a/elisp/lilypond-font-lock.el +++ b/elisp/lilypond-font-lock.el @@ -58,8 +58,8 @@ ;; ... keywords (defined above, see kwregex) (cons (concat "\\(\\([_^-]?\\(" kwregex "\\)\\)+\\)\\($\\|[] \t(~{}>\\\\_()^*-]\\)") '(1 font-lock-keyword-face)) -;; ... user defined identifiers \[a-zA-Z]+ - '("\\([_^-]?\\\\\\([a-zA-Z][a-zA-Z]*\\)\\)" 1 font-lock-constant-face) +;; ... user defined identifiers, roughly \[a-zA-Z]+ with single - or _ in between. + '("\\([_^-]?\\\\\\([a-zA-Z[:nonascii:]]\\(?:[-_]?[a-zA-Z[:nonascii:]]\\)*\\)\\)" 1 font-lock-constant-face) ;; ... the left side of '=' -mark '("\\([_a-zA-Z.0-9-]+\\)[ \t]*=[ \t]*" 1 font-lock-variable-name-face) diff --git a/elisp/lilypond-indent.el b/elisp/lilypond-indent.el index bc04ed5a38..70d24f9b18 100644 --- a/elisp/lilypond-indent.el +++ b/elisp/lilypond-indent.el @@ -154,11 +154,11 @@ Returns nil if line starts inside a string" ;; start there too. If LilyPond-indent-level is zero, use ;; LilyPond-brace-offset instead (+ (if (and (bolp) (zerop LilyPond-indent-level)) - (cond ((= (following-char) ?{) + (cond ((= (following-char) ?{) LilyPond-brace-offset) - ((= (following-char) ?<) + ((= (following-char) ?<) LilyPond-angle-offset) - ((= (following-char) ?[) + ((= (following-char) ?\[) LilyPond-square-offset) ((= (following-char) ?\)) LilyPond-scheme-paren-offset) @@ -196,7 +196,7 @@ Return the amount the indentation changed by." (setq indent (+ indent (- LilyPond-close-brace-offset LilyPond-indent-level)))) ((= (following-char) ?>) (setq indent (+ indent (- LilyPond-close-angle-offset LilyPond-indent-level)))) - ((= (following-char) ?]) + ((= (following-char) ?\]) (setq indent (+ indent (- LilyPond-close-square-offset LilyPond-indent-level)))) ((and (= (following-char) ?\)) (LilyPond-inside-scheme-p)) (setq indent (+ indent (- LilyPond-close-scheme-paren-offset LilyPond-indent-level)))) @@ -204,7 +204,7 @@ Return the amount the indentation changed by." (setq indent (+ indent LilyPond-brace-offset))) ((= (following-char) ?<) (setq indent (+ indent LilyPond-angle-offset))) - ((= (following-char) ?[) + ((= (following-char) ?\[) (setq indent (+ indent LilyPond-square-offset))) ((and (= (following-char) ?\() (LilyPond-inside-scheme-p)) (setq indent (+ indent LilyPond-scheme-paren-offset))) @@ -326,7 +326,7 @@ Argument LIM limit." ;; duh .. a single '>', as in chords '<< ... >>', was not matched here ( ?} . ("{" . "}")) ;; ligatures '\[ ... \]' are skipped in the following expression - ( ?] . ("\\([^\\]\\([\\][\\]\\)*\\|^\\)[[]" . "\\([^\\]\\([\\][\\]\\)*\\|^\\)[]]")) + ( ?\] . ("\\([^\\]\\([\\][\\]\\)*\\|^\\)[[]" . "\\([^\\]\\([\\][\\]\\)*\\|^\\)[]]")) ( "\\]" . ("\\([^\\]\\|^\\)\\([\\][\\]\\)*[\\][[]" . "\\([^\\]\\|^\\)\\([\\][\\]\\)*[\\][]]")) ( "\\)" . ("\\([^\\]\\|^\\)\\([\\][\\]\\)*[\\][(]" . "\\([^\\]\\|^\\)\\([\\][\\]\\)*[\\][)]")) )) @@ -335,7 +335,7 @@ Argument LIM limit." (defconst LilyPond-parens-alist `( ( ?< . ?> ) ( ?{ . ?} ) - ( ?[ . ?] ) + ( ?\[ . ?\] ) ( "\\[" . "\\]" ) ( ?\( . ?\) ) ( "\\(" . "\\)" ) @@ -406,7 +406,7 @@ slur-paren-p defaults to nil. (if (not (save-excursion (goto-char (match-end 0)) ;; skip over strings and comments (LilyPond-inside-string-or-comment-p))) - (if (memq match '(?} ?> ?] ?\))) + (if (memq match '(?} ?> ?\] ?\))) ;; count closing brackets (progn (setq level (1+ level)) ;; slurs may be close to each other, e.g., @@ -452,17 +452,16 @@ slur-paren-p defaults to nil. (let ( (test-point (point)) (level 0) ) (save-excursion - (if (or (and (/= (point) (point-max)) - (= (char-after (point)) ?\() - (or (= (char-after (- (point) 1)) ?#) - (and (= (char-after (- (point) 2)) ?#) - (= (char-after (- (point) 1)) ?`)))) - (and (re-search-backward "#(\\|#`(" nil t) + (if (or (and (eq (char-after (point)) ?\() + (save-excursion + (skip-chars-backward "'`") + (memq (char-before) '(?# ?$)))) + (and (re-search-backward "[#$][`']?(" nil t) (progn (search-forward "(") (setq level 1) (while (and (> level 0) - (re-search-forward "(\\|)" test-point t) + (re-search-forward "[()]" test-point t) (setq match (char-after (match-beginning 0))) (<= (point) test-point)) (if (= match ?\() @@ -492,7 +491,7 @@ builtin 'blink-matching-open' is not used. In syntax table, see ;; Test if a ligature \] or expressional slur \) was encountered (setq bracket-type (char-after (point))) (setq char-before-bracket-type nil) - (if (memq bracket-type '(?] ?\) ?[ ?\()) + (if (memq bracket-type '(?\] ?\) ?\[ ?\()) (progn (setq np -1) (while (eq (char-before (- (point) (setq np (+ np 1)))) ?\\) diff --git a/elisp/lilypond-mode.el b/elisp/lilypond-mode.el index fa7cffc439..98b9401150 100644 --- a/elisp/lilypond-mode.el +++ b/elisp/lilypond-mode.el @@ -1,7 +1,7 @@ ;;;; lilypond-mode.el -- Major mode for editing GNU LilyPond music scores ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 1999--2014 Jan Nieuwenhuizen +;;;; Copyright (C) 1999--2015 Jan Nieuwenhuizen ;;;; Changed 2001--2003 Heikki Junes ;;;; * Add PS-compilation, PS-viewing and MIDI-play (29th Aug 2001) ;;;; * Keyboard shortcuts (12th Sep 2001) diff --git a/elisp/lilypond-what-beat.el b/elisp/lilypond-what-beat.el index 4a00ed36c3..59a4fe1d52 100644 --- a/elisp/lilypond-what-beat.el +++ b/elisp/lilypond-what-beat.el @@ -57,12 +57,12 @@ (defun add-fractions (f1 f2) "Adds two fractions, both are (numerator denominator)" - (set 'result (list (+ (* (car f1) (cadr f2)) (* (car f2) (cadr f1))) + (setq result (list (+ (* (car f1) (cadr f2)) (* (car f2) (cadr f1))) (* (cadr f1) (cadr f2)))) - (set 'result (reduce-fraction result 2)) - (set 'result (reduce-fraction result 3)) - (set 'result (reduce-fraction result 5)) - (set 'result (reduce-fraction result 7)) + (setq result (reduce-fraction result 2)) + (setq result (reduce-fraction result 3)) + (setq result (reduce-fraction result 5)) + (setq result (reduce-fraction result 7)) ) @@ -72,7 +72,7 @@ (= 0 (% (cadr result) divisor)) (< 1 (cadr result)) (< 0 (car result))) - (set 'result (list (/ (car result) divisor) (/ (cadr result) divisor)))) + (setq result (list (/ (car result) divisor) (/ (cadr result) divisor)))) result ) @@ -86,24 +86,21 @@ (denominator (or (extract-match duration 8) "1"))) (if (and (not (null dots)) (< 0 (string-width dots))) (dotimes (dummy (string-width dots)) - (set 'result (list (1+ (* 2 (car result))) (* 2 (cadr result)))))) + (setq result (list (1+ (* 2 (car result))) (* 2 (cadr result)))))) (list (* (string-to-int numerator) (car result)) (* (string-to-int denominator) (cadr result))) )) (defun walk-note-duration () -"Returns duration of next note, moving point past note. + "Returns duration of next note, moving point past note. If point is not before a note, returns nil If next note has no duration, returns t" - (if (not (looking-at pitch-regex)) - nil - (progn + (let ((have-pitch (looking-at pitch-regex))) + (if have-pitch (goto-char (match-end 0))) + (if (not (looking-at duration-regex)) + have-pitch (goto-char (match-end 0)) - (if (not (looking-at duration-regex)) - t - (progn - (goto-char (match-end 0)) - (parse-duration (match-string 0))))))) + (parse-duration (match-string 0))))) ; returns nil if not at a comment (defun skip-comment () @@ -161,7 +158,7 @@ If next note has no duration, returns t" (skip-quotation) (skip-sexp))) ; Now skip anything that isn't alphanum or \. And skip comments or quotations - (while (or (< 0 (skip-chars-forward "^A-Za-z<%}#=\"")) + (while (or (< 0 (skip-chars-forward "^A-Za-z1-9<%}#=\"")) (skip-comment) (skip-quotation) (skip-sexp))) @@ -201,31 +198,33 @@ If next note has no duration, returns t" (duration (if (= -1 last-dur) 0 (parse-duration (match-string 0)))) (result '(0 1))) ; 0 in fraction form (if (= measure-start -1) - (error "No | before point") - (progn - (goto-char (1+ measure-start)) - (goto-note-begin) - (while (< (point) end) - (set 'new-duration (walk-note-duration)) + (message "No | before point") + (goto-char (1+ measure-start)) + (goto-note-begin) + (while (< (point) end) + (let ((new-duration (walk-note-duration))) (if (null new-duration) - (if (not (looking-at "\\\\times[ \t]*\\([1-9]*\\)/\\([1-9]*\\)[ \t\n]*{")) + (if (not (looking-at + (concat "\\\\t\\(?:\\(imes\\)\\|uplet\\)[ \t]*\\([0-9]+\\)/\\([0-9]+\\)\\(?:[ \t\n]" + duration-regex "\\)?[ \t\n]*{"))) (skip-good-keywords) - ; handle \times specially - (let ((numerator (string-to-int (match-string 1))) - (denominator (string-to-int (match-string 2)))) + ; handle \times/\tuplet specially + (let* ((times-p (match-beginning 1)) + (numerator (string-to-int (match-string (if times-p 2 3)))) + (denominator (string-to-int (match-string (if times-p 3 2))))) (goto-char (match-end 0)) (goto-note-begin) (while (and (not (looking-at "}")) (< (point) end)) - (set 'new-duration (walk-note-duration)) + (setq new-duration (walk-note-duration)) (if (null new-duration) (if (looking-at "\\\\[a-z]*[ \t]*[a-z]*") (goto-char (match-end 0)) (error "Unknown text: %S %s" result(buffer-substring (point) end)))) (if (not (eq new-duration t)) - (set 'duration new-duration)) - (set 'result (add-fractions result + (setq duration new-duration)) + (setq result (add-fractions result (list (* numerator (car duration)) (* denominator (cadr duration))))) (goto-note-begin)) @@ -233,12 +232,11 @@ If next note has no duration, returns t" (forward-char 1)))) ; skip } (if (not (eq new-duration t)) - (set 'duration new-duration)) - (set 'result (add-fractions result duration))) - (goto-note-begin)) + (setq duration new-duration)) + (setq result (add-fractions result duration))) + (goto-note-begin))) - result -)))))) + result))))) (defun LilyPond-what-beat () "Returns how much of a measure lies between last measaure '|' and point. diff --git a/flower/cpu-timer.cc b/flower/cpu-timer.cc index 962cf78254..931dc6df0a 100644 --- a/flower/cpu-timer.cc +++ b/flower/cpu-timer.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/file-name.cc b/flower/file-name.cc index 188056675f..eaadadf3ef 100644 --- a/flower/file-name.cc +++ b/flower/file-name.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify diff --git a/flower/file-path.cc b/flower/file-path.cc index 660895a1f5..09e9c4a2fa 100644 --- a/flower/file-path.cc +++ b/flower/file-path.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify diff --git a/flower/getopt-long.cc b/flower/getopt-long.cc index 0d6da2c60e..9adc0c3592 100644 --- a/flower/getopt-long.cc +++ b/flower/getopt-long.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys, + Copyright (C) 1996--2015 Han-Wen Nienhuys, LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/include/arithmetic-operator.hh b/flower/include/arithmetic-operator.hh index 2bd081c990..fc6f68f65e 100644 --- a/flower/include/arithmetic-operator.hh +++ b/flower/include/arithmetic-operator.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/include/axis.hh b/flower/include/axis.hh index 12bcf25938..f39eac4b97 100644 --- a/flower/include/axis.hh +++ b/flower/include/axis.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/include/compare.hh b/flower/include/compare.hh index 929c19d81e..0b398aa18c 100644 --- a/flower/include/compare.hh +++ b/flower/include/compare.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/include/cpu-timer.hh b/flower/include/cpu-timer.hh index f4d0be2523..3c492eeef9 100644 --- a/flower/include/cpu-timer.hh +++ b/flower/include/cpu-timer.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/include/direction.hh b/flower/include/direction.hh index 6c6b9a7d02..f3b31e3811 100644 --- a/flower/include/direction.hh +++ b/flower/include/direction.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/include/drul-array.hh b/flower/include/drul-array.hh index fbb45dfcec..6ef5fe1ffe 100644 --- a/flower/include/drul-array.hh +++ b/flower/include/drul-array.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/include/file-name.hh b/flower/include/file-name.hh index e0fedd314b..6f2da75093 100644 --- a/flower/include/file-name.hh +++ b/flower/include/file-name.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/include/file-path.hh b/flower/include/file-path.hh index 62ddf1d53d..1c039cf4ab 100644 --- a/flower/include/file-path.hh +++ b/flower/include/file-path.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/include/flower-proto.hh b/flower/include/flower-proto.hh index 59613cc279..ded0f6da41 100644 --- a/flower/include/flower-proto.hh +++ b/flower/include/flower-proto.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/include/guile-compatibility.hh b/flower/include/guile-compatibility.hh index d532abbf08..e68f422033 100644 --- a/flower/include/guile-compatibility.hh +++ b/flower/include/guile-compatibility.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/include/international.hh b/flower/include/international.hh index e317efda45..f2f48996de 100644 --- a/flower/include/international.hh +++ b/flower/include/international.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/include/interval-set.hh b/flower/include/interval-set.hh index 78507625fb..84f6debb30 100644 --- a/flower/include/interval-set.hh +++ b/flower/include/interval-set.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/include/interval.hh b/flower/include/interval.hh index af277a33b4..8160b37c2c 100644 --- a/flower/include/interval.hh +++ b/flower/include/interval.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/include/interval.tcc b/flower/include/interval.tcc index 2fd51b408f..72be6e81e9 100644 --- a/flower/include/interval.tcc +++ b/flower/include/interval.tcc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/include/libc-extension.hh b/flower/include/libc-extension.hh index d2de8252d4..04056e6c49 100644 --- a/flower/include/libc-extension.hh +++ b/flower/include/libc-extension.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/include/matrix.hh b/flower/include/matrix.hh index 7b7e8540af..a6c13f837c 100644 --- a/flower/include/matrix.hh +++ b/flower/include/matrix.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Joe Neeman + Copyright (C) 2006--2015 Joe Neeman LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/include/memory-stream.hh b/flower/include/memory-stream.hh index 98915fea79..2cce5986b5 100644 --- a/flower/include/memory-stream.hh +++ b/flower/include/memory-stream.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/include/offset.hh b/flower/include/offset.hh index c7f84ddbb9..cddec1fc00 100644 --- a/flower/include/offset.hh +++ b/flower/include/offset.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/include/parray.hh b/flower/include/parray.hh index 3c3e4796e7..9ef9ddb217 100644 --- a/flower/include/parray.hh +++ b/flower/include/parray.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/include/polynomial.hh b/flower/include/polynomial.hh index 1724ab82a2..f80b53c2ee 100644 --- a/flower/include/polynomial.hh +++ b/flower/include/polynomial.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1993--2014 Han-Wen Nienhuys + Copyright (C) 1993--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/include/pqueue.hh b/flower/include/pqueue.hh index 0b15f1fef9..39e0cbe743 100644 --- a/flower/include/pqueue.hh +++ b/flower/include/pqueue.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/include/rational.hh b/flower/include/rational.hh index 8583de70e2..253e09f4cc 100644 --- a/flower/include/rational.hh +++ b/flower/include/rational.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/include/real.hh b/flower/include/real.hh index 7345079680..d7208b4e56 100644 --- a/flower/include/real.hh +++ b/flower/include/real.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/include/std-string.hh b/flower/include/std-string.hh index cc0de9fae8..ea65fe042e 100644 --- a/flower/include/std-string.hh +++ b/flower/include/std-string.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Jan Nieuwenhuizen + Copyright (C) 2006--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/include/std-vector.hh b/flower/include/std-vector.hh index 2480ecb93a..bb2103235e 100644 --- a/flower/include/std-vector.hh +++ b/flower/include/std-vector.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Jan Nieuwenhuizen + Copyright (C) 2006--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/include/tuple.hh b/flower/include/tuple.hh index b7f788ee94..d9f5188625 100644 --- a/flower/include/tuple.hh +++ b/flower/include/tuple.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Han-Wen Nienhuys + Copyright (C) 2006--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/include/virtual-methods.hh b/flower/include/virtual-methods.hh index 71deec28b1..dc91d7b669 100644 --- a/flower/include/virtual-methods.hh +++ b/flower/include/virtual-methods.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/include/warn.hh b/flower/include/warn.hh index 8203c2d4e8..f52d3818cc 100644 --- a/flower/include/warn.hh +++ b/flower/include/warn.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/international.cc b/flower/international.cc index 287a490a4c..1518182a2c 100644 --- a/flower/international.cc +++ b/flower/international.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/interval-set.cc b/flower/interval-set.cc index f179a86bd8..da857f277c 100644 --- a/flower/interval-set.cc +++ b/flower/interval-set.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/interval.cc b/flower/interval.cc index c9f8829a15..a73da9e788 100644 --- a/flower/interval.cc +++ b/flower/interval.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/libc-extension.cc b/flower/libc-extension.cc index fbb4b61652..1b8060cde2 100644 --- a/flower/libc-extension.cc +++ b/flower/libc-extension.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify diff --git a/flower/memory-stream.cc b/flower/memory-stream.cc index 71a61d4422..511657f5fc 100644 --- a/flower/memory-stream.cc +++ b/flower/memory-stream.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/offset.cc b/flower/offset.cc index 78c3eeffc3..0554e6b2e9 100644 --- a/flower/offset.cc +++ b/flower/offset.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/polynomial.cc b/flower/polynomial.cc index cefb8d1f97..ec8605058c 100644 --- a/flower/polynomial.cc +++ b/flower/polynomial.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1993--2014 Han-Wen Nienhuys + Copyright (C) 1993--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/rational.cc b/flower/rational.cc index f6dd6bae12..559e1646a0 100644 --- a/flower/rational.cc +++ b/flower/rational.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -216,11 +216,11 @@ Rational::compare (Rational const &r, Rational const &s) return -1; else if (r.sign_ > s.sign_) return 1; - else if (r.is_infinity ()) + else if (r.is_infinity ()) // here s is also infinite with the same sign return 0; - else if (r.sign_ == 0) + else if (r.sign_ == 0) // here s.sign_ is also zero return 0; - return r.sign_ * ::sign ((I64) (r.num_ * s.den_) - (I64) (s.num_ * r.den_)); + return ::sign (r - s); } int diff --git a/flower/std-string.cc b/flower/std-string.cc index 277c4747fc..347f0f3688 100644 --- a/flower/std-string.cc +++ b/flower/std-string.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Jan Nieuwenhuizen + Copyright (C) 2006--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/flower/warn.cc b/flower/warn.cc index 9ff173bf35..f17a36483f 100644 --- a/flower/warn.cc +++ b/flower/warn.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/input/regression/beam-rest-extreme.ly b/input/regression/beam-rest-extreme.ly index 9c7d5df3b9..4dccd6b394 100644 --- a/input/regression/beam-rest-extreme.ly +++ b/input/regression/beam-rest-extreme.ly @@ -10,5 +10,5 @@ that gets their spacing correct in the majority of circumstances. 16[ r ] 16[ r ] 16[ r ] - 16[ r ] + 16[ r ] } diff --git a/input/regression/bookparts.ly b/input/regression/bookparts.ly index 52660c9312..7ee4cf1683 100644 --- a/input/regression/bookparts.ly +++ b/input/regression/bookparts.ly @@ -10,10 +10,6 @@ Page labels are also collected into the top-level paper." #(set-default-paper-size "a6") -#(define-markup-command (roman-page-number layout props) () - (let ((page-number (chain-assoc-get 'page:page-number props))) - (interpret-markup layout props (format #f "~@r" page-number)))) - \book { \tocItem \markup "First part" \header { title = "Book with several parts" } @@ -25,8 +21,17 @@ Page labels are also collected into the top-level paper." left-margin = 20\mm right-margin = 20\mm line-width = 65\mm - evenHeaderMarkup = \markup \fill-line { \roman-page-number "SECOND PART" \null } - oddHeaderMarkup = \markup \fill-line { \null "SECOND PART" \roman-page-number } + page-number-type = #'roman-upper + evenHeaderMarkup = \markup \fill-line { + \fromproperty #'page:page-number-string + "SECOND PART" + \null + } + oddHeaderMarkup = \markup \fill-line { + \null + "SECOND PART" + \fromproperty #'page:page-number-string + } } \tocItem \markup "Second part" \markup \justify { Second part, with different margins and page header. } diff --git a/input/regression/chord-repetition-accidentals.ly b/input/regression/chord-repetition-accidentals.ly new file mode 100644 index 0000000000..50b20db168 --- /dev/null +++ b/input/regression/chord-repetition-accidentals.ly @@ -0,0 +1,11 @@ +\version "2.18.0" + +\header { + texidoc = "Chord repeats should omit forced and reminder accidentals." +} + +\relative +{ + q q q | + q q q +} diff --git a/input/regression/compound-time-signature-style.ly b/input/regression/compound-time-signature-style.ly new file mode 100644 index 0000000000..531536147d --- /dev/null +++ b/input/regression/compound-time-signature-style.ly @@ -0,0 +1,14 @@ +\version "2.19.16" + +\header { + texidoc = "Simple-fraction components of a compound time signature are numeric regardless of the time signature style. +" +} + +\relative b' { + \compoundMeter #'(2 2) b1 + \compoundMeter #'(4 4) b1 + \compoundMeter #'((1 1) (2 2)) b\breve + \compoundMeter #'((2 2) (4 4)) b\breve + \compoundMeter #'((4 4) (3 3 2 8)) b\breve +} diff --git a/input/regression/glissando-dots.ly b/input/regression/glissando-dots.ly new file mode 100644 index 0000000000..c0c6621231 --- /dev/null +++ b/input/regression/glissando-dots.ly @@ -0,0 +1,24 @@ +\version "2.19.16" + +\header { + texidoc = "Glissandi begin after dots by default. This behavior may +be changed by overriding the @code{start-at-dot} property. +" +} + +\layout { + indent = 0 + ragged-right = ##t +} + +\relative c'' { + c2.\glissando b4 + c2..\glissando b8 + c2...\glissando b16 + \bar "||" + 2. -\tweak style #'trill \glissando 4 + \bar "||" + c2...\glissando g''16 + \override Glissando.bound-details.left.start-at-dot = ##f + c,,2...\glissando g''16 +} diff --git a/input/regression/markup-compound-meter.ly b/input/regression/markup-compound-meter.ly new file mode 100644 index 0000000000..2a8a853f50 --- /dev/null +++ b/input/regression/markup-compound-meter.ly @@ -0,0 +1,28 @@ +\version "2.19.16" + +\header { + texidoc = "The @code{\\compound-meter} markup command can produce various kinds of numeric time signature." +} + +\markup { + \vspace #2 + These are conventional time signatures: + \compound-meter #3 + \compound-meter #'(3 . 4) + \compound-meter #'(4 4) + (Aren't they pretty?) +} + +\markup { + \vspace #2 + This is single-digit compound time signature: + \compound-meter #'((2) (3)) + (Isn't it pretty?) +} + +\markup { + \vspace #2 + This is an unusual time signature: + \compound-meter #'((6.22e23 1) (-4 . 3) (3.14) (9876 5432 0) (-1)) + (Isn't it pretty?) +} diff --git a/input/regression/markup-first-visible.ly b/input/regression/markup-first-visible.ly new file mode 100644 index 0000000000..bba748cd93 --- /dev/null +++ b/input/regression/markup-first-visible.ly @@ -0,0 +1,87 @@ +\version "2.19.16" + +\header { + texidoc = "The markup command @code{\\first-visible} uses the first argument that produces a non-empty stencil and ignores the rest. + +The expected markup on this score is \"Lame Songs for Testing\" followed by a \"C\" time signature symbol." + + publication = "Lame Songs for Testing" +} + +#(ly:expect-warning "Cannot find glyph nonesuch-1") +#(ly:expect-warning "Cannot find glyph nonesuch-2") + +\paper { + scoreTitleMarkup = \markup { + \first-visible { + \musicglyph #"nonesuch-1" + \fromproperty #'header:composer + \italic \fromproperty #'header:publication + } + \first-visible { + \musicglyph #"timesig.C44" + \musicglyph #"this should not be attempted" + } + } +} + +\score { f' } + +\markup { + No elements: \first-visible {} +} + +\markup { + One element (expect 111): \first-visible { 111 } +} + +\markup { + Single markup list (expect aaa): + \first-visible \column-lines { + \musicglyph #"nonesuch-2" + "" + aaa + bbb + } +} + +\markup { + Multiple markup lists (expect ccc): + \first-visible { + \column-lines { } + \column-lines { ccc ddd } + \column-lines { eee } + } +} + +\markup { + Mixed markup and markup lists (expect fff): + \first-visible { + "" + \column-lines { } + \normal-text fff + \column-lines { ggg hhh } + iii + } +} + +\markup { + Nested markup lists (expect jjj): + \first-visible { + \column-lines { + \column-lines { + \column-lines { + "" + } + } + } + \column-lines { + \column-lines { + \column-lines { + jjj + } + } + } + kkk + } +} diff --git a/input/regression/minimum-length-after-break.ly b/input/regression/minimum-length-after-break.ly new file mode 100644 index 0000000000..8d8fbb6145 --- /dev/null +++ b/input/regression/minimum-length-after-break.ly @@ -0,0 +1,45 @@ +\version "2.19.16" + +\header { + texidoc = "The property @code{minimum-length-after-break} can be +used to stretch broken spanners starting after a line break. The +following example shows usage for a variety of spanners. +" +} + +\layout { + ragged-right = ##t +} + +{ + \once \override Tie.minimum-length-after-break = 20 + a1~ + \break + a1 + + \once \override Slur.minimum-length-after-break = 20 + a1( + \break + d'1) + + \once \override TextSpanner.springs-and-rods = #ly:spanner::set-spacing-rods + \once \override TextSpanner.minimum-length-after-break = 20 + a1\startTextSpan + \break + a1\stopTextSpan + + \once \override Hairpin.after-line-breaking = ##t + \once \override Hairpin.to-barline = ##f + \once \override Hairpin.minimum-length-after-break = 20 + a1\< + \break + a1\! + + \once \override Glissando.springs-and-rods = #ly:spanner::set-spacing-rods + \once \override Glissando.breakable = ##t + \once \override Glissando.after-line-breaking = ##t + \once \override Glissando.minimum-length-after-break = 20 + a1\glissando + \break + d'1 +} diff --git a/input/regression/minimum-length-broken-ties.ly b/input/regression/minimum-length-broken-ties.ly new file mode 100644 index 0000000000..ef824ac254 --- /dev/null +++ b/input/regression/minimum-length-broken-ties.ly @@ -0,0 +1,39 @@ +\version "2.19.16" + +\header { + texidoc = "The following shows the interaction between the +properties @code{minimum-length} and +@code{minimum-length-after-break}. When @code{minimum-length} +is used alone, both segments of the tie are affected. The +properties @code{minimum-length-after-break} only affects +the sibling starting a line. Both properties may be used +together to create independent changes of both siblings. This +example shows that both properties have an identical effect on +the sibling after the break. +" +} + +\layout { + ragged-right = ##t +} + +music = { + 1~ + \break + q1 +} + +{ + % default + \music + + \once \override Tie.minimum-length = 11 + \music + + \once \override Tie.minimum-length-after-break = 11 + \music + + \once \override Tie.minimum-length = 8 + \once \override Tie.minimum-length-after-break = 11 + \music +} diff --git a/input/regression/musicxml/41f-StaffGroups-Overlapping.xml b/input/regression/musicxml/41f-StaffGroups-Overlapping.xml index 9b6d2afe9f..41c0731457 100644 --- a/input/regression/musicxml/41f-StaffGroups-Overlapping.xml +++ b/input/regression/musicxml/41f-StaffGroups-Overlapping.xml @@ -7,8 +7,8 @@ MusicXML allows for overlapping part-groups, while many applications do not allow overlapping groups, but require them to be properly nested. In this case, one group - (with a square bracket) goes from staff 2 to 4) and another group - (with a curly bracket) goes from staff 3 to 5. + (within parenthesis) goes from staff 1 to 4 and another group + (also within parenthesis) goes from staff 3 to 5. diff --git a/input/regression/part-combine-chord-range.ly b/input/regression/part-combine-chord-range.ly new file mode 100644 index 0000000000..e28f6d4cdf --- /dev/null +++ b/input/regression/part-combine-chord-range.ly @@ -0,0 +1,23 @@ +\header { + texidoc ="The part combiner has an option to set the range of +differences in steps between parts that may be combined into chords." +} + +\version "2.19.16" + +\layout { ragged-right = ##t } + +vone = \relative e' { + d4 e f fisis | g geses b' bisis | b2 beses +} + +vtwo = \relative e' { + e4 e e e | e eisis d deses | c2 cisis +} + +comm = { s1_"apart" s1_"chords" s1_"apart" } + +\new Staff << + \partcombine #'(2 . 12) \vone \vtwo + \comm +>> diff --git a/input/regression/part-combine-force-once.ly b/input/regression/part-combine-force-once.ly index 6b784513dc..76a230b7e8 100644 --- a/input/regression/part-combine-force-once.ly +++ b/input/regression/part-combine-force-once.ly @@ -16,6 +16,7 @@ mI = \relative c' { c \partcombineUnisonoOnce c c c | \partcombineAutomatic \partcombineSoloIOnce r2 c4 c | \partcombineSoloIIOnce R1 | + d'2 \partcombineChordsOnce d4^"1 chord" d| } mII = \relative c' { c4 \partcombineApartOnce c c c | @@ -23,6 +24,7 @@ mII = \relative c' { c c c c | R1 | r2 c4 c | + b4 b b b | } \score { diff --git a/input/regression/part-combine-mmrest-after-apart-silence.ly b/input/regression/part-combine-mmrest-after-apart-silence.ly new file mode 100644 index 0000000000..99f1f8f34b --- /dev/null +++ b/input/regression/part-combine-mmrest-after-apart-silence.ly @@ -0,0 +1,18 @@ +\version "2.19.16" + +\header { + texidoc = "Normal rests are preferred over multi-measure rests. A multi-measure rest beginning in one part in the middle of a multi-measure rest in the other part appears as expected." +} + +\score { << + \new Staff { + \partcombine + \relative f' { r2 r2 | R1 } + \relative f' { R1*2 } + } + \new Staff { + \partcombine + \relative f' { R1*2 } + \relative f' { r2 r2 | R1 } + } +>> } diff --git a/input/regression/part-combine-mmrest-shared.ly b/input/regression/part-combine-mmrest-shared.ly new file mode 100644 index 0000000000..62a866770b --- /dev/null +++ b/input/regression/part-combine-mmrest-shared.ly @@ -0,0 +1,26 @@ +\version "2.19.16" + +\header { + texidoc = "Multi-measure rests do not have to begin and end simultaneously to be combined." +} + +\score { << + \compressFullBarRests + \partcombine + \relative f' { R1*8 | R1*16 | R1*4 } + \relative f' { R1*16 | R1*8 | R1*4 } +>> } + +\score { << + \compressFullBarRests + \partcombine + \relative f' { R1*8 | r1^"r" | R1*15 | R1*4 } + \relative f' { R1*16 | R1*8 | R1*4 } +>> } + +\score { << + \compressFullBarRests + \partcombine + \relative f' { R1*16 | R1*8 | R1*4 } + \relative f' { R1*8 | r1_"r" | R1*15 | R1*4 } +>> } diff --git a/input/regression/part-combine-silence-mixed.ly b/input/regression/part-combine-silence-mixed.ly new file mode 100644 index 0000000000..7d59777775 --- /dev/null +++ b/input/regression/part-combine-silence-mixed.ly @@ -0,0 +1,18 @@ +\version "2.19.16" + +\header { + texidoc = "Different kinds of silence are not merged into the shared voice even if they begin and end simultaneously." +} + +\score { << + \new Staff { + \partcombine + \relative f' { R1^"R" | s1^"s" | r1^"r" } + \relative f' { r1_"r" | R1_"R" | s1_"s" } + } + \new Staff { + \partcombine + \relative f' { r1^"r" | R1^"R" | s1^"s" } + \relative f' { R1_"R" | s1_"s" | r1_"r" } + } +>> } diff --git a/input/regression/part-combine-silence.ly b/input/regression/part-combine-silence.ly new file mode 100644 index 0000000000..796242b80f --- /dev/null +++ b/input/regression/part-combine-silence.ly @@ -0,0 +1,31 @@ +\version "2.19.16" + +\header { + texidoc = "Rests must begin and end simultaneously to be merged into the shared voice." +} + +% rests of different durations beginning simultaneously, followed by +% unisilence + +\score { + \partcombine + \relative f' { r4 r2 r8 r8 | r1 } + \relative f' { r8 r8 r2 r4 | r1 } +} + +% rests of different durations beginning simultaneously, followed by +% solo then a2. + +\score { + \partcombine + \relative f' { r4 f2. | r8 f e2. } + \relative f' { r8 d f2. | r4 e2. } +} + +% mmrest and rest of different durations beginning simultaneously + +\score { + \partcombine + \relative f' { r4 f2. | R1 } + \relative f' { R1 | r4 d2. } +} diff --git a/input/regression/repeat-sign-global-size-10.ly b/input/regression/repeat-sign-global-size-10.ly index aa8f3cbc35..9cba9b7117 100644 --- a/input/regression/repeat-sign-global-size-10.ly +++ b/input/regression/repeat-sign-global-size-10.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.19.16" \header { texidoc = "The two dots of a repeat sign should be symmetric to the staff centre and avoid staff lines even for exotic staves. @@ -30,20 +30,20 @@ Test set-global-staff size 10 (with layout-set-staff-size)." \score { << - \context Staff = "s1" { + \context Staff = "s1" \with { + \override StaffSymbol.staff-space = #0.6 + } { s1 \bar ":|." } \context Staff = "s2" \with { - \override StaffSymbol.staff-space = #1.7 \override StaffSymbol.line-positions = #'(-4 -2 0 2) + \override StaffSymbol.staff-space = #0.7 } { s1 \bar ":|." } - \context Staff = "s3" \with { - \override StaffSymbol.staff-space = #3 - } { + \context Staff = "s3" { s1 \bar ":|." } >> diff --git a/input/regression/repeat-sign-global-size-30.ly b/input/regression/repeat-sign-global-size-30.ly index a5beda8c69..3d42956495 100644 --- a/input/regression/repeat-sign-global-size-30.ly +++ b/input/regression/repeat-sign-global-size-30.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.19.16" \header { texidoc = "The two dots of a repeat sign should be symmetric to the staff centre and avoid staff lines even for exotic staves. @@ -30,20 +30,20 @@ Test set-global-staff size 30 (with layout-set-staff-size)." \score { << - \context Staff = "s1" { + \context Staff = "s1" \with { + \override StaffSymbol.staff-space = #0.5 + } { s1 \bar ":|." } \context Staff = "s2" \with { - \override StaffSymbol.staff-space = #0.33 + \override StaffSymbol.staff-space = #0.6 + \override StaffSymbol.line-positions = #'(-4 -2 0 2) } { s1 \bar ":|." } - \context Staff = "s3" \with { - \override StaffSymbol.staff-space = #0.33 - \override StaffSymbol.line-positions = #'(-4 -2 0 2) - } { + \context Staff = "s3" { s1 \bar ":|." } >> diff --git a/input/regression/repeat-sign-global-size-5.ly b/input/regression/repeat-sign-global-size-5.ly index 4d386efa32..5822579f79 100644 --- a/input/regression/repeat-sign-global-size-5.ly +++ b/input/regression/repeat-sign-global-size-5.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.19.16" \header { texidoc = "The two dots of a repeat sign should be symmetric to the staff centre and avoid staff lines even for exotic staves. @@ -29,20 +29,19 @@ Test set-global-staff size 10 (with layout-set-staff-size)." \score { << - \context Staff = "s1" { + \context Staff = "s1" \with { + \override StaffSymbol.staff-space = #0.7 + } { s1 \bar ":|." } \context Staff = "s2" \with { - \override StaffSymbol.staff-space = #3 \override StaffSymbol.line-positions = #'(-4 -2 0 2) } { s1 \bar ":|." } - \context Staff = "s3" \with { - \override StaffSymbol.staff-space = #6 - } { + \context Staff = "s3" { s1 \bar ":|." } >> diff --git a/input/regression/repeat-sign-layout-size.ly b/input/regression/repeat-sign-layout-size.ly index 73d267d362..77274d9512 100644 --- a/input/regression/repeat-sign-layout-size.ly +++ b/input/regression/repeat-sign-layout-size.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.19.16" \header { texidoc = "The two dots of a repeat sign should be symmetric to the staff centre and avoid staff lines even for exotic staves. @@ -8,13 +8,13 @@ Test layout-set-staff-size." \score { << \context Staff = "s1" \with { - \override StaffSymbol.staff-space = #0.3 + \override StaffSymbol.staff-space = #0.5 } { s1 \bar ":|." } \context Staff = "s2" \with { - \override StaffSymbol.staff-space = #0.5 + \override StaffSymbol.staff-space = #0.6 } { s1 \bar ":|." } diff --git a/input/regression/rest-dot-position.ly b/input/regression/rest-dot-position.ly index 2aef41e8e3..fc18e4a5d9 100644 --- a/input/regression/rest-dot-position.ly +++ b/input/regression/rest-dot-position.ly @@ -6,19 +6,30 @@ \version "2.16.0" +\layout { indent = 0 } \paper { ragged-right = ##t } { \set Score.timing = ##f + \set Score.initialTimeSignatureVisibility = #(vector #f #f #f) r\longa. r\breve. - r1. r2. r4. r8. r16. r32. r64. r64. + r1. r2. r4. + \once \override Rest #'style = #'classical r4. + \once \override Rest #'style = #'z r4. + r8. r16. r32. r64. r64. \bar "" << { r\longa. r\breve. - r1. r2. r4. r8. r16. r32. r64. r64. + r1. r2. r4. + \once \override Rest #'style = #'classical r4. + \once \override Rest #'style = #'z r4. + r8. r16. r32. r64. r64. } \\ { r\longa. r\breve. - r1. r2. r4. r8. r16. r32. r64. r64. + r1. r2. r4. + \once \override Rest #'style = #'classical r4. + \once \override Rest #'style = #'z r4. + r8. r16. r32. r64. r64. } >> } diff --git a/input/regression/rest-note-collision.ly b/input/regression/rest-note-collision.ly index 2a448aa75b..cd69298105 100644 --- a/input/regression/rest-note-collision.ly +++ b/input/regression/rest-note-collision.ly @@ -8,8 +8,8 @@ \version "2.16.0" -\new Staff { +music = { << \relative c'' { f e d c b a g f e d c @@ -29,3 +29,15 @@ } >> } + +\score { + \new Staff { \music } +} + +\score { + \new Staff { \override Staff.Rest #'style = #'z \music } +} + +\score { + \new Staff { \override Staff.Rest #'style = #'classical \music } +} diff --git a/input/regression/rest-polyphonic.ly b/input/regression/rest-polyphonic.ly index a1e762923b..4dca1efc9a 100644 --- a/input/regression/rest-polyphonic.ly +++ b/input/regression/rest-polyphonic.ly @@ -2,7 +2,7 @@ texidoc = "In polyphonic situations, rests are moved according to their @code{direction} even if there is no opposite note or rest. -The amount is two @code{staff-space}s. " +The amount in @code{staff-position}s is set by @code{voiced-position}." } @@ -15,6 +15,9 @@ The amount is two @code{staff-space}s. " \new Staff \relative c' { << { r8 g''4 g8 r g4 g8 } \\ { d,4 r \stemUp b r } >> + \override Staff.Rest.voiced-position = 2 + << { r8 g''4 g8 r g4 g8 } \\ + { d,4 r \stemUp b r } >> } diff --git a/input/regression/scheme-text-spanner.ly b/input/regression/scheme-text-spanner.ly index 8442f60a96..6dc7445409 100644 --- a/input/regression/scheme-text-spanner.ly +++ b/input/regression/scheme-text-spanner.ly @@ -145,13 +145,13 @@ schemeTextSpannerEngraver = ((stop-translation-timestep trans) (if (and (ly:spanner? span) (null? (ly:spanner-bound span LEFT))) - (set! (ly:spanner-bound span LEFT) - (ly:context-property context 'currentMusicalColumn))) + (ly:spanner-set-bound! span LEFT + (ly:context-property context 'currentMusicalColumn))) (if (ly:spanner? finished) (begin (if (null? (ly:spanner-bound finished RIGHT)) - (set! (ly:spanner-bound finished RIGHT) - (ly:context-property context 'currentMusicalColumn))) + (ly:spanner-set-bound! finished RIGHT + (ly:context-property context 'currentMusicalColumn))) (set! finished '()) (set! event-start '()) (set! event-stop '())))) @@ -159,8 +159,8 @@ schemeTextSpannerEngraver = (if (ly:spanner? finished) (begin (if (null? (ly:spanner-bound finished RIGHT)) - (set! (ly:spanner-bound finished RIGHT) - (ly:context-property context 'currentMusicalColumn))) + (ly:spanner-set-bound! finished RIGHT + (ly:context-property context 'currentMusicalColumn))) (set! finished '()))) (if (ly:spanner? span) (begin diff --git a/input/regression/script-shift-staccato.ly b/input/regression/script-shift-staccato.ly new file mode 100644 index 0000000000..fc29dd75ad --- /dev/null +++ b/input/regression/script-shift-staccato.ly @@ -0,0 +1,29 @@ + +\header { + texidoc = "The horizontal placement of staccato dots above an +upstem or below a downstem note differs from the placement of +other scripts in that different positioning is used when the dot is +alone and when it is part of a compound articulation. The +property @code{toward-stem-shift-in-column} ensures good default +positioning of the staccato (see first measure below), and allows +precise horizontal control of a column containing a staccato and +of the staccato within it (second measure). (@code{0.0} means +centered on the note head, @code{1.0} means centered on the stem.) +" +} + +\version "2.19.16" + +\relative c'' +{ + % default + a4^. c_. + a^.^- c_._- + + \override Script.toward-stem-shift-in-column = 1.0 + a4^.^- c_._- + \revert Script.toward-stem-shift-in-column + + a4-\tweak toward-stem-shift-in-column 1.0 ^. ^- + c4-\tweak toward-stem-shift-in-column 1.0 _. _- +} diff --git a/input/regression/script-shift.ly b/input/regression/script-shift.ly index 88f8f72f02..1877fcd0a5 100644 --- a/input/regression/script-shift.ly +++ b/input/regression/script-shift.ly @@ -7,12 +7,12 @@ means centered on the stem). " } -\version "2.17.6" +\version "2.19.16" \relative c'' { - \override Script.toward-stem-shift = #0.0 - a4^. c_. - \override Script.toward-stem-shift = #1.0 - a4^. c_. + a4^> c_> + + \override Script.toward-stem-shift = #0.0 + a4^> c_> } diff --git a/input/regression/tie-enharmonic.ly b/input/regression/tie-enharmonic.ly new file mode 100644 index 0000000000..3d4d972463 --- /dev/null +++ b/input/regression/tie-enharmonic.ly @@ -0,0 +1,18 @@ +\version "2.19.16" + +\header { texidoc = " +LilyPond should accept a tie between notes which are +enharmonically identical. +" } + +\score +{ + { + \time 3/4 + \repeat unfold 3 { + cis'4~ des' + } + } + \layout { ragged-right = ##t } + %\midi {} +} diff --git a/input/regression/time-signature-mensural.ly b/input/regression/time-signature-mensural.ly new file mode 100644 index 0000000000..32081c902f --- /dev/null +++ b/input/regression/time-signature-mensural.ly @@ -0,0 +1,35 @@ +\version "2.19.16" + +\header { + texidoc = "This test covers the mensural and neomensural time signature styles." +} + +% N.B. It's strange that these warnings are doubled. +#(ly:expect-warning "Cannot find glyph timesig.mensural11") +#(ly:expect-warning "Cannot find glyph timesig.mensural11") +#(ly:expect-warning "Cannot find glyph timesig.neomensural11") +#(ly:expect-warning "Cannot find glyph timesig.neomensural11") + +\layout { indent = 0 } + +testMusic = \relative f' { + \time 4/4 \partial 4 f4 + \time 2/2 \partial 4 f4 + \time 6/4 \partial 4 f4 + \time 6/8 \partial 4 f4 + \time 3/2 \partial 4 f4 + \time 3/4 \partial 4 f4 + \time 9/4 \partial 4 f4 + \time 9/8 \partial 4 f4 + \time 4/8 \partial 4 f4 + \time 2/4 \partial 4 f4 + \time 1/1 \partial 4 f4 +} + +\new Staff { + \override Staff.TimeSignature.break-visibility = ##(#f #t #t) + \override Staff.TimeSignature.style = #'mensural + \testMusic \break + \override Staff.TimeSignature.style = #'neomensural + \testMusic \break +} diff --git a/input/regression/time-signature-numbered.ly b/input/regression/time-signature-numbered.ly new file mode 100644 index 0000000000..e28772d2d4 --- /dev/null +++ b/input/regression/time-signature-numbered.ly @@ -0,0 +1,17 @@ +\version "2.19.16" + +\header { + texidoc = "The numbered time signature style prints a fraction." +} + +\new Staff { + \relative d' { + \override Staff.TimeSignature.style = #'numbered + \time 4/4 d1 + \time 3/4 d2. + \time 2/2 d1 + \time 16/128 d8 + #(ly:expect-warning "strange time signature found: 10/6") + \time 10/6 \tuplet 6/4 { d2. d2 d2. d2 } + } +} diff --git a/input/regression/time-signature-single-digit.ly b/input/regression/time-signature-single-digit.ly new file mode 100644 index 0000000000..fcf473c57b --- /dev/null +++ b/input/regression/time-signature-single-digit.ly @@ -0,0 +1,15 @@ +\version "2.19.16" + +\header { + texidoc = "The single-digit time signature style prints the numerator only." +} + +\new Staff { + \relative d' { + \override Staff.TimeSignature.style = #'single-digit + \time 1/2 d2 + \time 2/4 d4 d + \time 3/4 d2. + \time 16/4 d\longa + } +} diff --git a/lily/accidental-engraver.cc b/lily/accidental-engraver.cc index af6ce5ee8e..fcc9fcb977 100644 --- a/lily/accidental-engraver.cc +++ b/lily/accidental-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys Modified 2001--2002 by Rune Zedeler LilyPond is free software: you can redistribute it and/or modify @@ -367,6 +367,18 @@ Accidental_engraver::stop_translation_timestep () for (vsize j = ties_.size (); j--;) { Grob *r = Tie::head (ties_[j], RIGHT); + Grob *l = Tie::head (ties_[j], LEFT); + if (l && r) + { + // Don't mark accidentals as "tied" when the pitch is not + // actually the same. This is relevant for enharmonic ties. + Stream_event *le = Stream_event::unsmob (l->get_property ("cause")); + Stream_event *re = Stream_event::unsmob (r->get_property ("cause")); + if (le && re + && !ly_is_equal (le->get_property ("pitch"), re->get_property ("pitch"))) + continue; + } + for (vsize i = accidentals_.size (); i--;) if (accidentals_[i].head_ == r) { @@ -452,22 +464,20 @@ Accidental_engraver::acknowledge_rhythmic_head (Grob_info info) Stream_event *note = info.event_cause (); if (note && (note->in_event_class ("note-event") - || note->in_event_class ("trill-span-event"))) + || note->in_event_class ("trill-span-event")) + // option to skip accidentals on string harmonics + && (to_boolean (get_property ("harmonicAccidentals")) + || info.grob ()->get_property ("style") != ly_symbol2scm ("harmonic")) + // ignore accidentals in non-printing voices like NullVoice + && !to_boolean (info.context ()->get_property ("nullAccidentals"))) { - /* - string harmonics usually don't have accidentals. - */ - if (info.grob ()->get_property ("style") != ly_symbol2scm ("harmonic") - || to_boolean (get_property ("harmonicAccidentals"))) - { - Accidental_entry entry; - entry.head_ = info.grob (); - entry.origin_engraver_ = dynamic_cast (info.origin_translator ()); - entry.origin_ = entry.origin_engraver_->context (); - entry.melodic_ = note; + Accidental_entry entry; + entry.head_ = info.grob (); + entry.origin_engraver_ = dynamic_cast (info.origin_translator ()); + entry.origin_ = entry.origin_engraver_->context (); + entry.melodic_ = note; - accidentals_.push_back (entry); - } + accidentals_.push_back (entry); } } diff --git a/lily/accidental-placement.cc b/lily/accidental-placement.cc index c00c5574fe..c8c14d4bd9 100644 --- a/lily/accidental-placement.cc +++ b/lily/accidental-placement.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2002--2014 Han-Wen Nienhuys + Copyright (C) 2002--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/accidental.cc b/lily/accidental.cc index ee0b6e88b9..06873f0705 100644 --- a/lily/accidental.cc +++ b/lily/accidental.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2001--2014 Han-Wen Nienhuys + Copyright (C) 2001--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/align-interface.cc b/lily/align-interface.cc index 90db684848..d187326922 100644 --- a/lily/align-interface.cc +++ b/lily/align-interface.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys + Copyright (C) 2000--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/all-font-metrics-scheme.cc b/lily/all-font-metrics-scheme.cc index 354a2b10d8..738f3179b9 100644 --- a/lily/all-font-metrics-scheme.cc +++ b/lily/all-font-metrics-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2007--2014 Han-Wen Nienhuys + Copyright (C) 2007--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/all-font-metrics.cc b/lily/all-font-metrics.cc index 537daa50ad..c39cee79d3 100644 --- a/lily/all-font-metrics.cc +++ b/lily/all-font-metrics.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/ambitus-engraver.cc b/lily/ambitus-engraver.cc index f7b18b5901..0a76267c7e 100644 --- a/lily/ambitus-engraver.cc +++ b/lily/ambitus-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2002--2014 Juergen Reuter + Copyright (C) 2002--2015 Juergen Reuter Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/arpeggio-engraver.cc b/lily/arpeggio-engraver.cc index d2d1ed67b4..e191470161 100644 --- a/lily/arpeggio-engraver.cc +++ b/lily/arpeggio-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Jan Nieuwenhuizen + Copyright (C) 2000--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/arpeggio.cc b/lily/arpeggio.cc index 751d91d28f..54a9a4903a 100644 --- a/lily/arpeggio.cc +++ b/lily/arpeggio.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Jan Nieuwenhuizen + Copyright (C) 2000--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/articulations.cc b/lily/articulations.cc index 7ffa7fb260..e55e7eb8ff 100644 --- a/lily/articulations.cc +++ b/lily/articulations.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2010--2014 Carl Sorensen + Copyright (C) 2010--2015 Carl Sorensen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/audio-column.cc b/lily/audio-column.cc index 60cfe593cf..04b39c3b1e 100644 --- a/lily/audio-column.cc +++ b/lily/audio-column.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/audio-element-info.cc b/lily/audio-element-info.cc index 59d3441331..6e6b7a54e6 100644 --- a/lily/audio-element-info.cc +++ b/lily/audio-element-info.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/audio-element.cc b/lily/audio-element.cc index a036100c26..d8244d1800 100644 --- a/lily/audio-element.cc +++ b/lily/audio-element.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/audio-item.cc b/lily/audio-item.cc index 4d63ff8d23..97a15d552a 100644 --- a/lily/audio-item.cc +++ b/lily/audio-item.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/audio-staff.cc b/lily/audio-staff.cc index aaab0cf756..0e2c8205ba 100644 --- a/lily/audio-staff.cc +++ b/lily/audio-staff.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/auto-beam-engraver.cc b/lily/auto-beam-engraver.cc index d9a3dd8ff6..bdf5b8f491 100644 --- a/lily/auto-beam-engraver.cc +++ b/lily/auto-beam-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Jan Nieuwenhuizen + Copyright (C) 1999--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/auto-change-iterator.cc b/lily/auto-change-iterator.cc index 4559344fd8..41459bd56a 100644 --- a/lily/auto-change-iterator.cc +++ b/lily/auto-change-iterator.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/axis-group-engraver.cc b/lily/axis-group-engraver.cc index a09fd04af3..adc0dae661 100644 --- a/lily/axis-group-engraver.cc +++ b/lily/axis-group-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/axis-group-interface-scheme.cc b/lily/axis-group-interface-scheme.cc index 4741b3719c..8e183f9d34 100644 --- a/lily/axis-group-interface-scheme.cc +++ b/lily/axis-group-interface-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/axis-group-interface.cc b/lily/axis-group-interface.cc index 7e8e1b8bb4..946db34a8b 100644 --- a/lily/axis-group-interface.cc +++ b/lily/axis-group-interface.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys + Copyright (C) 2000--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/balloon-engraver.cc b/lily/balloon-engraver.cc index fb3cd056fb..b5c96bcce1 100644 --- a/lily/balloon-engraver.cc +++ b/lily/balloon-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Han-Wen Nienhuys + Copyright (C) 2006--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/balloon.cc b/lily/balloon.cc index 859aa5f422..b412a435d2 100644 --- a/lily/balloon.cc +++ b/lily/balloon.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/bar-check-iterator.cc b/lily/bar-check-iterator.cc index 79e346365d..2a3efe757c 100644 --- a/lily/bar-check-iterator.cc +++ b/lily/bar-check-iterator.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2001--2014 Han-Wen Nienhuys + Copyright (C) 2001--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/bar-engraver.cc b/lily/bar-engraver.cc index b99de3811e..b210ab7680 100644 --- a/lily/bar-engraver.cc +++ b/lily/bar-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/bar-line.cc b/lily/bar-line.cc index ab6f7f7281..e378f3b22c 100644 --- a/lily/bar-line.cc +++ b/lily/bar-line.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/bar-number-engraver.cc b/lily/bar-number-engraver.cc index 7b6af94f5f..eb4af48054 100644 --- a/lily/bar-number-engraver.cc +++ b/lily/bar-number-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/beam-collision-engraver.cc b/lily/beam-collision-engraver.cc index d2fde8419c..01dbbf9e5e 100644 --- a/lily/beam-collision-engraver.cc +++ b/lily/beam-collision-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2011--2014 Mike Solomon + Copyright (C) 2011--2015 Mike Solomon LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/beam-engraver.cc b/lily/beam-engraver.cc index b8e17fe2b1..4e4f991cb3 100644 --- a/lily/beam-engraver.cc +++ b/lily/beam-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/beam-performer.cc b/lily/beam-performer.cc index 15c1872bf9..a6e78d67c7 100644 --- a/lily/beam-performer.cc +++ b/lily/beam-performer.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Jan Nieuwenhuizen + Copyright (C) 1996--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/beam-quanting.cc b/lily/beam-quanting.cc index ab98dd50bc..a1486cc7ee 100644 --- a/lily/beam-quanting.cc +++ b/lily/beam-quanting.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/beam.cc b/lily/beam.cc index 3d9db72501..a9a19b38c7 100644 --- a/lily/beam.cc +++ b/lily/beam.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify @@ -1301,7 +1301,7 @@ Beam::rest_collision_callback (SCM smob, SCM prev_offset) /* Estimate the position of a rest under a beam, - as the average position of its neighboring heads. + using the average position of its neighboring heads. */ MAKE_SCHEME_CALLBACK_WITH_OPTARGS (Beam, pure_rest_collision_callback, 4, 1, ""); SCM @@ -1324,15 +1324,6 @@ Beam::pure_rest_collision_callback (SCM smob, Real ss = Staff_symbol_referencer::staff_space (me); - /* - This gives the extrema of rest positions. - Even with noteheads on ledgers, beams typically remain within the staff, - and push rests at most one staff-space (2 positions) from the staff. - */ - Grob *staff = Staff_symbol_referencer::get_staff_symbol (me); - Interval rest_max_pos = staff ? Staff_symbol::line_span (staff) : Interval (0.0, 0.0); - rest_max_pos.widen (2); - extract_grob_set (beam, "stems", stems); vector my_stems; @@ -1363,24 +1354,26 @@ Beam::pure_rest_collision_callback (SCM smob, right = my_stems[idx + 1]; } - /* In stems with several heads, use the one closest to the beam. */ + /* Estimate the closest beam to be four positions away from the heads, */ Direction beamdir = get_grob_direction (beam); - Real shift = min (max ( (Stem::head_positions (left)[beamdir] - + Stem::head_positions (right)[beamdir]) / 2.0, - rest_max_pos[DOWN]), - rest_max_pos[UP] - ) * ss / 2.0 - - previous; - - // So that ceil below kicks in for rests that would otherwise brush - // up against a beam quanted to a ledger line, add a bit of space - // between the beam and the rest. - shift += (0.01 * beamdir); - - /* Always move by a whole number of staff spaces */ - shift = ceil (fabs (shift / ss)) * ss * sign (shift); - - return scm_from_double (previous + shift); + Real beam_pos = (Stem::head_positions (left)[beamdir] + + Stem::head_positions (right)[beamdir]) / 2.0 + + 4.0 * beamdir; // four staff-positions + /* and that the closest beam never crosses staff center by more than two positions */ + beam_pos = max (-2.0, beam_pos * beamdir) * beamdir; + + Real minimum_distance + = ss * (robust_scm2double (stem->get_property ("stemlet-length"), 0.0) + + robust_scm2double (me->get_property ("minimum-distance"), 0.0)); + Real offset = beam_pos * ss / 2.0 + - minimum_distance * beamdir + - me->extent (me, Y_AXIS)[beamdir]; + + /* Always move by a whole number of staff spaces, always away from the beam */ + offset = floor (min (0.0, (offset - previous) / ss * beamdir)) + * ss * beamdir + previous; + + return scm_from_double (offset); } bool diff --git a/lily/beaming-pattern.cc b/lily/beaming-pattern.cc index 4415debf98..5ffbcfb9d9 100644 --- a/lily/beaming-pattern.cc +++ b/lily/beaming-pattern.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/bend-engraver.cc b/lily/bend-engraver.cc index 8461570dfb..30c50388aa 100644 --- a/lily/bend-engraver.cc +++ b/lily/bend-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Han-Wen Nienhuys + Copyright (C) 2006--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/bezier-bow.cc b/lily/bezier-bow.cc index 967ee36e72..e049bd734c 100644 --- a/lily/bezier-bow.cc +++ b/lily/bezier-bow.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Jan Nieuwenhuizen + Copyright (C) 1998--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/bezier.cc b/lily/bezier.cc index 7d3ad6af14..41e7d898b8 100644 --- a/lily/bezier.cc +++ b/lily/bezier.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Jan Nieuwenhuizen + Copyright (C) 1998--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/book-scheme.cc b/lily/book-scheme.cc index e7bae34f7c..d5f1c79153 100644 --- a/lily/book-scheme.cc +++ b/lily/book-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/book.cc b/lily/book.cc index a6750d78cb..8e63d889e0 100644 --- a/lily/book.cc +++ b/lily/book.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -47,6 +47,7 @@ Book::Book () } Book::Book (Book const &s) + : Smob () { paper_ = 0; header_ = SCM_EOL; diff --git a/lily/box.cc b/lily/box.cc index 700eec3a6c..629b8010fa 100644 --- a/lily/box.cc +++ b/lily/box.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/break-align-engraver.cc b/lily/break-align-engraver.cc index ed804493de..6da5ba603e 100644 --- a/lily/break-align-engraver.cc +++ b/lily/break-align-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/break-alignment-interface.cc b/lily/break-alignment-interface.cc index f9993b0892..db0a74f59a 100644 --- a/lily/break-alignment-interface.cc +++ b/lily/break-alignment-interface.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/break-substitution.cc b/lily/break-substitution.cc index 094411f7d1..c2a363cb73 100644 --- a/lily/break-substitution.cc +++ b/lily/break-substitution.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2001--2014 Han-Wen Nienhuys + Copyright (C) 2001--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/breathing-sign-engraver.cc b/lily/breathing-sign-engraver.cc index c4a7340adb..34b296d10b 100644 --- a/lily/breathing-sign-engraver.cc +++ b/lily/breathing-sign-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Michael Krause + Copyright (C) 1999--2015 Michael Krause written for the GNU LilyPond music typesetter diff --git a/lily/breathing-sign.cc b/lily/breathing-sign.cc index 2cbe20e303..77dcfb4a30 100644 --- a/lily/breathing-sign.cc +++ b/lily/breathing-sign.cc @@ -1,8 +1,8 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Michael Krause - Extensions for ancient notation (c) 2003--2014 by Juergen Reuter + Copyright (C) 1999--2015 Michael Krause + Extensions for ancient notation (c) 2003--2015 by Juergen Reuter LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -119,7 +119,7 @@ Breathing_sign::divisio_maior (SCM smob) ydim[DOWN]); assert (line_pos.begin () < it); double val = (it[-1] + it[0]) / 2; - if (ydim[DOWN] < val && line_pos.begin () < it + 1) + if (ydim[DOWN] < val && line_pos.begin () < it - 1) val = (it[-2] + it[-1]) / 2; ydim.add_point (val); diff --git a/lily/change-iterator.cc b/lily/change-iterator.cc index 631a333398..f38344be55 100644 --- a/lily/change-iterator.cc +++ b/lily/change-iterator.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/chord-name-engraver.cc b/lily/chord-name-engraver.cc index ded53c5534..539efcdf4c 100644 --- a/lily/chord-name-engraver.cc +++ b/lily/chord-name-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Jan Nieuwenhuizen + Copyright (C) 1998--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/chord-name.cc b/lily/chord-name.cc index ea8c6c2f9a..2fcff940bb 100644 --- a/lily/chord-name.cc +++ b/lily/chord-name.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Jan Nieuwenhuizen + Copyright (C) 1999--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/chord-tremolo-engraver.cc b/lily/chord-tremolo-engraver.cc index 0e7d79525f..3855c350d7 100644 --- a/lily/chord-tremolo-engraver.cc +++ b/lily/chord-tremolo-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys + Copyright (C) 2000--2015 Han-Wen Nienhuys Erik Sandberg LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/chord-tremolo-iterator.cc b/lily/chord-tremolo-iterator.cc index f73e846bcf..601f7bccb0 100644 --- a/lily/chord-tremolo-iterator.cc +++ b/lily/chord-tremolo-iterator.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys + Copyright (C) 2000--2015 Han-Wen Nienhuys Erik Sandberg LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/clef-engraver.cc b/lily/clef-engraver.cc index 684069819e..b6efa00c76 100644 --- a/lily/clef-engraver.cc +++ b/lily/clef-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys Mats Bengtsson LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/clef-modifier.cc b/lily/clef-modifier.cc index c56b935a16..04ae174f6f 100644 --- a/lily/clef-modifier.cc +++ b/lily/clef-modifier.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2014--2014 Janek Warchoł + Copyright (C) 2014--2015 Janek Warchoł LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/clef.cc b/lily/clef.cc index 7f914a19d1..c38b899d00 100644 --- a/lily/clef.cc +++ b/lily/clef.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/cluster-engraver.cc b/lily/cluster-engraver.cc index 79e6cdfba5..462a1d21fe 100644 --- a/lily/cluster-engraver.cc +++ b/lily/cluster-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2002--2014 Juergen Reuter + Copyright (C) 2002--2015 Juergen Reuter Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/cluster.cc b/lily/cluster.cc index b1e1f6aec1..03e4e1eb36 100644 --- a/lily/cluster.cc +++ b/lily/cluster.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2002--2014 Juergen Reuter + Copyright (C) 2002--2015 Juergen Reuter Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/coherent-ligature-engraver.cc b/lily/coherent-ligature-engraver.cc index 16225da853..d7960b4ff8 100644 --- a/lily/coherent-ligature-engraver.cc +++ b/lily/coherent-ligature-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2003--2014 Juergen Reuter + Copyright (C) 2003--2015 Juergen Reuter LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/collision-engraver.cc b/lily/collision-engraver.cc index a59a357098..d2cf95e1e8 100644 --- a/lily/collision-engraver.cc +++ b/lily/collision-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/column-x-positions.cc b/lily/column-x-positions.cc index caaf0895b3..d5d60e110b 100644 --- a/lily/column-x-positions.cc +++ b/lily/column-x-positions.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/completion-note-heads-engraver.cc b/lily/completion-note-heads-engraver.cc index 8a55ddf462..677ede56a6 100644 --- a/lily/completion-note-heads-engraver.cc +++ b/lily/completion-note-heads-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/completion-rest-engraver.cc b/lily/completion-rest-engraver.cc index 8700b6cced..6430629873 100644 --- a/lily/completion-rest-engraver.cc +++ b/lily/completion-rest-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/concurrent-hairpin-engraver.cc b/lily/concurrent-hairpin-engraver.cc index 72490775a2..aa167b7de4 100644 --- a/lily/concurrent-hairpin-engraver.cc +++ b/lily/concurrent-hairpin-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2011--2014 Mike Solomon + Copyright (C) 2011--2015 Mike Solomon LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/constrained-breaking.cc b/lily/constrained-breaking.cc index 725b220750..e2d7081497 100644 --- a/lily/constrained-breaking.cc +++ b/lily/constrained-breaking.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Joe Neeman + Copyright (C) 2006--2015 Joe Neeman LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/context-def.cc b/lily/context-def.cc index ec80878b2d..534567de2c 100644 --- a/lily/context-def.cc +++ b/lily/context-def.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys + Copyright (C) 2000--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -54,6 +54,7 @@ Context_def::origin () const } Context_def::Context_def (Context_def const &s) + : Smob () { context_aliases_ = SCM_EOL; translator_group_type_ = SCM_EOL; diff --git a/lily/context-handle.cc b/lily/context-handle.cc index 2732915c9f..f399937c18 100644 --- a/lily/context-handle.cc +++ b/lily/context-handle.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/context-mod-scheme.cc b/lily/context-mod-scheme.cc index 5028cfdf4d..4d6fef5c09 100644 --- a/lily/context-mod-scheme.cc +++ b/lily/context-mod-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2010--2014 Jan Nieuwenhuizen + Copyright (C) 2010--2015 Jan Nieuwenhuizen Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/context-mod.cc b/lily/context-mod.cc index f72cb8b404..fd2a25d2fe 100644 --- a/lily/context-mod.cc +++ b/lily/context-mod.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2010--2014 Reinhold Kainhofer + Copyright (C) 2010--2015 Reinhold Kainhofer LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/context-property.cc b/lily/context-property.cc index 70370e3800..62e04a2732 100644 --- a/lily/context-property.cc +++ b/lily/context-property.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/context-scheme.cc b/lily/context-scheme.cc index 8ff668eada..a3462354e0 100644 --- a/lily/context-scheme.cc +++ b/lily/context-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Jan Nieuwenhuizen + Copyright (C) 1998--2015 Jan Nieuwenhuizen Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/context-specced-music-iterator.cc b/lily/context-specced-music-iterator.cc index 81c5f4c854..1a27d2a93d 100644 --- a/lily/context-specced-music-iterator.cc +++ b/lily/context-specced-music-iterator.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2002--2014 Han-Wen Nienhuys + Copyright (C) 2002--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/context.cc b/lily/context.cc index 8397875fdf..caac314bf7 100644 --- a/lily/context.cc +++ b/lily/context.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -56,11 +56,6 @@ Context::check_removal () } } -Context::Context (Context const & /* src */) -{ - assert (false); -} - Scheme_hash_table * Context::properties_dict () const { diff --git a/lily/cue-clef-engraver.cc b/lily/cue-clef-engraver.cc index f2988585cd..33cceff59c 100644 --- a/lily/cue-clef-engraver.cc +++ b/lily/cue-clef-engraver.cc @@ -1,9 +1,9 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys Mats Bengtsson - Copyright (C) 2010--2014 Reinhold Kainhofer + Copyright (C) 2010--2015 Reinhold Kainhofer LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/custos-engraver.cc b/lily/custos-engraver.cc index 023536e35b..90c221c10f 100644 --- a/lily/custos-engraver.cc +++ b/lily/custos-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Juergen Reuter , + Copyright (C) 2000--2015 Juergen Reuter , Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/custos.cc b/lily/custos.cc index 739316a6d1..584dcaba49 100644 --- a/lily/custos.cc +++ b/lily/custos.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Juergen Reuter + Copyright (C) 2000--2015 Juergen Reuter LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/default-bar-line-engraver.cc b/lily/default-bar-line-engraver.cc index 49ce6b597e..4eeb230367 100644 --- a/lily/default-bar-line-engraver.cc +++ b/lily/default-bar-line-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/dimension-cache.cc b/lily/dimension-cache.cc index fe40dc9321..33294db5e6 100644 --- a/lily/dimension-cache.cc +++ b/lily/dimension-cache.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/dimensions-scheme.cc b/lily/dimensions-scheme.cc index 2eba0eff6d..17ce14be0f 100644 --- a/lily/dimensions-scheme.cc +++ b/lily/dimensions-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/directional-element-interface.cc b/lily/directional-element-interface.cc index 0e3556ecf7..5dee7ed04e 100644 --- a/lily/directional-element-interface.cc +++ b/lily/directional-element-interface.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/dispatcher-scheme.cc b/lily/dispatcher-scheme.cc index ce58926eb7..fdb27251a2 100644 --- a/lily/dispatcher-scheme.cc +++ b/lily/dispatcher-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Erik Sandberg + Copyright (C) 2006--2015 Erik Sandberg LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/dispatcher.cc b/lily/dispatcher.cc index 51162e88b4..b268218f47 100644 --- a/lily/dispatcher.cc +++ b/lily/dispatcher.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Erik Sandberg + Copyright (C) 2005--2015 Erik Sandberg LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/dot-column-engraver.cc b/lily/dot-column-engraver.cc index 6e2c731dac..7064eafba3 100644 --- a/lily/dot-column-engraver.cc +++ b/lily/dot-column-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/dot-column.cc b/lily/dot-column.cc index 36864410ad..853a7715a2 100644 --- a/lily/dot-column.cc +++ b/lily/dot-column.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/dot-configuration.cc b/lily/dot-configuration.cc index 81b8d08608..25d35eb691 100644 --- a/lily/dot-configuration.cc +++ b/lily/dot-configuration.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/dot-formatting-problem.cc b/lily/dot-formatting-problem.cc index d1743af7b2..221ab584b4 100644 --- a/lily/dot-formatting-problem.cc +++ b/lily/dot-formatting-problem.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2007--2014 Han-Wen Nienhuys + Copyright (C) 2007--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/dots-engraver.cc b/lily/dots-engraver.cc index 2efd2215b8..b58bd46912 100644 --- a/lily/dots-engraver.cc +++ b/lily/dots-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Han-Wen Nienhuys + Copyright (C) 2006--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/dots.cc b/lily/dots.cc index 11c0aa4cb9..a8d6809026 100644 --- a/lily/dots.cc +++ b/lily/dots.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/double-percent-repeat-engraver.cc b/lily/double-percent-repeat-engraver.cc index 9dcaf33302..2569adbf14 100644 --- a/lily/double-percent-repeat-engraver.cc +++ b/lily/double-percent-repeat-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2011--2014 Neil Puttock + Copyright (C) 2011--2015 Neil Puttock LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/drum-note-engraver.cc b/lily/drum-note-engraver.cc index 591fc9d1b6..1721dae62f 100644 --- a/lily/drum-note-engraver.cc +++ b/lily/drum-note-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/drum-note-performer.cc b/lily/drum-note-performer.cc index 44a624313b..6c565cd8e0 100644 --- a/lily/drum-note-performer.cc +++ b/lily/drum-note-performer.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Jan Nieuwenhuizen + Copyright (C) 1996--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/duration-scheme.cc b/lily/duration-scheme.cc index f0a1b140fe..59a2fdcba8 100644 --- a/lily/duration-scheme.cc +++ b/lily/duration-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/duration.cc b/lily/duration.cc index 7c45ef700b..4768f015b5 100644 --- a/lily/duration.cc +++ b/lily/duration.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/dynamic-align-engraver.cc b/lily/dynamic-align-engraver.cc index 130d1d9f41..df5c24cb33 100644 --- a/lily/dynamic-align-engraver.cc +++ b/lily/dynamic-align-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2008--2014 Han-Wen Nienhuys + Copyright (C) 2008--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/dynamic-engraver.cc b/lily/dynamic-engraver.cc index 6baceb1f31..8be008f8fb 100644 --- a/lily/dynamic-engraver.cc +++ b/lily/dynamic-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2008--2014 Han-Wen Nienhuys + Copyright (C) 2008--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/dynamic-performer.cc b/lily/dynamic-performer.cc index 411fbd2f0a..1ed800a03a 100644 --- a/lily/dynamic-performer.cc +++ b/lily/dynamic-performer.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Jan Nieuwenhuizen + Copyright (C) 2000--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/enclosing-bracket.cc b/lily/enclosing-bracket.cc index 0ae950879e..be22297ad7 100644 --- a/lily/enclosing-bracket.cc +++ b/lily/enclosing-bracket.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/engraver-group.cc b/lily/engraver-group.cc index 97e9277fcc..3fc8cf2f85 100644 --- a/lily/engraver-group.cc +++ b/lily/engraver-group.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/engraver-scheme.cc b/lily/engraver-scheme.cc index 8bdea635db..e3aa2aaab2 100644 --- a/lily/engraver-scheme.cc +++ b/lily/engraver-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/engraver.cc b/lily/engraver.cc index 681c646f42..e2fbe860c0 100644 --- a/lily/engraver.cc +++ b/lily/engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/episema-engraver.cc b/lily/episema-engraver.cc index 4c60b2d9db..f8b714b137 100644 --- a/lily/episema-engraver.cc +++ b/lily/episema-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2010--2014 Neil Puttock + Copyright (C) 2010--2015 Neil Puttock LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/event-chord-iterator.cc b/lily/event-chord-iterator.cc index 9b3e5dae14..0eea36763f 100644 --- a/lily/event-chord-iterator.cc +++ b/lily/event-chord-iterator.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/event-iterator.cc b/lily/event-iterator.cc index e50e15ad5f..71a34abe18 100644 --- a/lily/event-iterator.cc +++ b/lily/event-iterator.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/extender-engraver.cc b/lily/extender-engraver.cc index f951c3a3c7..3f3ef3b3ff 100644 --- a/lily/extender-engraver.cc +++ b/lily/extender-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Glen Prideaux , + Copyright (C) 1999--2015 Glen Prideaux , Han-Wen Nienhuys , Jan Nieuwenhuizen diff --git a/lily/figured-bass-continuation.cc b/lily/figured-bass-continuation.cc index 14af189bee..b3c36dace5 100644 --- a/lily/figured-bass-continuation.cc +++ b/lily/figured-bass-continuation.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/figured-bass-engraver.cc b/lily/figured-bass-engraver.cc index 1784ac49e3..67e4d6072e 100644 --- a/lily/figured-bass-engraver.cc +++ b/lily/figured-bass-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/figured-bass-position-engraver.cc b/lily/figured-bass-position-engraver.cc index 7654208610..c1df4623e6 100644 --- a/lily/figured-bass-position-engraver.cc +++ b/lily/figured-bass-position-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/file-name-map.cc b/lily/file-name-map.cc index 54a84dc07a..6266aec3c3 100644 --- a/lily/file-name-map.cc +++ b/lily/file-name-map.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/fingering-engraver.cc b/lily/fingering-engraver.cc index f14b9d62d4..58dfa4106a 100644 --- a/lily/fingering-engraver.cc +++ b/lily/fingering-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/flag.cc b/lily/flag.cc index 7255555bea..7ce1fc1021 100644 --- a/lily/flag.cc +++ b/lily/flag.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/font-config-scheme.cc b/lily/font-config-scheme.cc index 7e91982b85..a273bcea14 100644 --- a/lily/font-config-scheme.cc +++ b/lily/font-config-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/font-config.cc b/lily/font-config.cc index 11cfed0b40..81c0e844c8 100644 --- a/lily/font-config.cc +++ b/lily/font-config.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/font-interface.cc b/lily/font-interface.cc index 7e8f1bd964..4e6f5aac05 100644 --- a/lily/font-interface.cc +++ b/lily/font-interface.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys + Copyright (C) 2000--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/font-metric-scheme.cc b/lily/font-metric-scheme.cc index ed870296c6..b2b9db1123 100644 --- a/lily/font-metric-scheme.cc +++ b/lily/font-metric-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/font-metric.cc b/lily/font-metric.cc index a7f934143e..f18b2d7256 100644 --- a/lily/font-metric.cc +++ b/lily/font-metric.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -63,6 +63,7 @@ Font_metric::Font_metric () } Font_metric::Font_metric (Font_metric const &) + : Smob () { } diff --git a/lily/font-select.cc b/lily/font-select.cc index b35a7935a5..a5957ba715 100644 --- a/lily/font-select.cc +++ b/lily/font-select.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2003--2014 Han-Wen Nienhuys + Copyright (C) 2003--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/font-size-engraver.cc b/lily/font-size-engraver.cc index c489da711f..b9250358dd 100644 --- a/lily/font-size-engraver.cc +++ b/lily/font-size-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2001--2014 Han-Wen Nienhuys + Copyright (C) 2001--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/footnote-engraver.cc b/lily/footnote-engraver.cc index 4cac194478..3b04ceae18 100644 --- a/lily/footnote-engraver.cc +++ b/lily/footnote-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2011--2014 Mike Solomon + Copyright (C) 2011--2015 Mike Solomon LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/freetype-error.cc b/lily/freetype-error.cc index 4588518d03..8846b4d041 100644 --- a/lily/freetype-error.cc +++ b/lily/freetype-error.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2007--2014 Han-Wen Nienhuys + Copyright (C) 2007--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/freetype.cc b/lily/freetype.cc index f6cdd4ecfd..73d2271448 100644 --- a/lily/freetype.cc +++ b/lily/freetype.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/fretboard-engraver.cc b/lily/fretboard-engraver.cc index 27a922339a..2ce799bf0f 100644 --- a/lily/fretboard-engraver.cc +++ b/lily/fretboard-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Han-Wen Nienhuys + Copyright (C) 2006--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/function-documentation.cc b/lily/function-documentation.cc index f666043ca4..7a9d33bd62 100644 --- a/lily/function-documentation.cc +++ b/lily/function-documentation.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/general-scheme.cc b/lily/general-scheme.cc index 95d4081f39..068fb27aad 100644 --- a/lily/general-scheme.cc +++ b/lily/general-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Jan Nieuwenhuizen + Copyright (C) 1998--2015 Jan Nieuwenhuizen Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify @@ -302,6 +302,14 @@ LY_DEFINE (ly_output_formats, "ly:output-formats", return lst; } +LY_DEFINE (ly_bigpdfs, "ly:bigpdfs", + 0, 0, 0, (), + "Return true if the command line includes the @option{--bigpdf} parameter." +) +{ + return bigpdfs ? SCM_BOOL_T : SCM_BOOL_F; +} + LY_DEFINE (ly_wide_char_2_utf_8, "ly:wide-char->utf-8", 1, 0, 0, (SCM wc), "Encode the Unicode codepoint @var{wc}, an integer, as UTF-8.") diff --git a/lily/glissando-engraver.cc b/lily/glissando-engraver.cc index 40151c2943..35ff94228a 100644 --- a/lily/glissando-engraver.cc +++ b/lily/glissando-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Jan Nieuwenhuizen + Copyright (C) 2000--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/global-context-scheme.cc b/lily/global-context-scheme.cc index dc7ff6e560..3dc5afa3ad 100644 --- a/lily/global-context-scheme.cc +++ b/lily/global-context-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/global-context.cc b/lily/global-context.cc index 9168f612a9..5e940a670d 100644 --- a/lily/global-context.cc +++ b/lily/global-context.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/global-ctor.cc b/lily/global-ctor.cc index 67931e933c..908a611e0c 100644 --- a/lily/global-ctor.cc +++ b/lily/global-ctor.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/global-vars.cc b/lily/global-vars.cc index dd6c271e47..dce813691a 100644 --- a/lily/global-vars.cc +++ b/lily/global-vars.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -33,6 +33,9 @@ string init_name_global; /* Output formats to generate. */ string output_format_global = ""; +/* Generate big pdfs */ +bool bigpdfs = false; + /* Current output name. */ string output_name_global; diff --git a/lily/grace-engraver.cc b/lily/grace-engraver.cc index a0962da888..4249a922a4 100644 --- a/lily/grace-engraver.cc +++ b/lily/grace-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/grace-iterator.cc b/lily/grace-iterator.cc index 97920b06e6..daaaf855bf 100644 --- a/lily/grace-iterator.cc +++ b/lily/grace-iterator.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/grace-music.cc b/lily/grace-music.cc index eb466d30a3..cf71a79505 100644 --- a/lily/grace-music.cc +++ b/lily/grace-music.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/grace-spacing-engraver.cc b/lily/grace-spacing-engraver.cc index dfef3312f0..641c99c7d9 100644 --- a/lily/grace-spacing-engraver.cc +++ b/lily/grace-spacing-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Han-Wen + Copyright (C) 2006--2015 Han-Wen LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/gregorian-ligature-engraver.cc b/lily/gregorian-ligature-engraver.cc index 3d63fc4411..485b97a184 100644 --- a/lily/gregorian-ligature-engraver.cc +++ b/lily/gregorian-ligature-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2003--2014 Juergen Reuter + Copyright (C) 2003--2015 Juergen Reuter LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/gregorian-ligature.cc b/lily/gregorian-ligature.cc index d5e2798b1f..6fbbd0927b 100644 --- a/lily/gregorian-ligature.cc +++ b/lily/gregorian-ligature.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2003--2014 Han-Wen Nienhuys + Copyright (C) 2003--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/grid-line-interface.cc b/lily/grid-line-interface.cc index 5b51499223..4c86d2f7ea 100644 --- a/lily/grid-line-interface.cc +++ b/lily/grid-line-interface.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/grid-line-span-engraver.cc b/lily/grid-line-span-engraver.cc index 170b3c90c3..d51236b681 100644 --- a/lily/grid-line-span-engraver.cc +++ b/lily/grid-line-span-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/grid-point-engraver.cc b/lily/grid-point-engraver.cc index bcf37cbed0..b39ad0b2d6 100644 --- a/lily/grid-point-engraver.cc +++ b/lily/grid-point-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/grob-array-scheme.cc b/lily/grob-array-scheme.cc index 5f5ccae114..b62c629224 100644 --- a/lily/grob-array-scheme.cc +++ b/lily/grob-array-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/grob-array.cc b/lily/grob-array.cc index 308f057242..2747e0d77f 100644 --- a/lily/grob-array.cc +++ b/lily/grob-array.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/grob-info.cc b/lily/grob-info.cc index 419b7ff4fc..ee79e4ec66 100644 --- a/lily/grob-info.cc +++ b/lily/grob-info.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/grob-interface-scheme.cc b/lily/grob-interface-scheme.cc index 9c6fbc058c..843420c9df 100644 --- a/lily/grob-interface-scheme.cc +++ b/lily/grob-interface-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/grob-interface.cc b/lily/grob-interface.cc index b353205d84..d444d3d71d 100644 --- a/lily/grob-interface.cc +++ b/lily/grob-interface.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2002--2014 Han-Wen Nienhuys + Copyright (C) 2002--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/grob-pq-engraver.cc b/lily/grob-pq-engraver.cc index f9b56575b0..82083f4648 100644 --- a/lily/grob-pq-engraver.cc +++ b/lily/grob-pq-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2001--2014 Han-Wen Nienhuys + Copyright (C) 2001--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/grob-scheme.cc b/lily/grob-scheme.cc index 8273061ebf..238a0af751 100644 --- a/lily/grob-scheme.cc +++ b/lily/grob-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Jan Nieuwenhuizen + Copyright (C) 1998--2015 Jan Nieuwenhuizen Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/grob-smob.cc b/lily/grob-smob.cc index 3558d4415a..f3383e77fd 100644 --- a/lily/grob-smob.cc +++ b/lily/grob-smob.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/grob.cc b/lily/grob.cc index a41ac5d006..660a34d072 100644 --- a/lily/grob.cc +++ b/lily/grob.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -92,6 +92,7 @@ Grob::Grob (SCM basicprops) } Grob::Grob (Grob const &s) + : Smob () { original_ = (Grob *) & s; diff --git a/lily/guile-init.cc b/lily/guile-init.cc index 98b779efaa..975cab0c2b 100644 --- a/lily/guile-init.cc +++ b/lily/guile-init.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Han-Wen Nienhuys + Copyright (C) 2006--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/hairpin.cc b/lily/hairpin.cc index edf5c7cbf7..2ba6ab0d23 100644 --- a/lily/hairpin.cc +++ b/lily/hairpin.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/hara-kiri-group-spanner.cc b/lily/hara-kiri-group-spanner.cc index 8afef8f5ea..a682a0aa6d 100644 --- a/lily/hara-kiri-group-spanner.cc +++ b/lily/hara-kiri-group-spanner.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Jan Nieuwenhuizen + Copyright (C) 1998--2015 Jan Nieuwenhuizen Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/horizontal-bracket-engraver.cc b/lily/horizontal-bracket-engraver.cc index fdf3669e75..cd46817904 100644 --- a/lily/horizontal-bracket-engraver.cc +++ b/lily/horizontal-bracket-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2002--2014 Han-Wen Nienhuys + Copyright (C) 2002--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/horizontal-bracket.cc b/lily/horizontal-bracket.cc index 003a375d52..df8b79173b 100644 --- a/lily/horizontal-bracket.cc +++ b/lily/horizontal-bracket.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2002--2014 Han-Wen Nienhuys + Copyright (C) 2002--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/hyphen-engraver.cc b/lily/hyphen-engraver.cc index 78470bf2fb..be43665556 100644 --- a/lily/hyphen-engraver.cc +++ b/lily/hyphen-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Glen Prideaux , + Copyright (C) 1999--2015 Glen Prideaux , Han-Wen Nienhuys , Jan Nieuwenhuizen diff --git a/lily/includable-lexer.cc b/lily/includable-lexer.cc index 772adeee85..8567ec9171 100644 --- a/lily/includable-lexer.cc +++ b/lily/includable-lexer.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/accidental-interface.hh b/lily/include/accidental-interface.hh index cbb61b772a..f5c36c5583 100644 --- a/lily/include/accidental-interface.hh +++ b/lily/include/accidental-interface.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2002--2014 Han-Wen Nienhuys + Copyright (C) 2002--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/accidental-placement.hh b/lily/include/accidental-placement.hh index abbc468279..bb47efdb0a 100644 --- a/lily/include/accidental-placement.hh +++ b/lily/include/accidental-placement.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2002--2014 Han-Wen Nienhuys + Copyright (C) 2002--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/align-interface.hh b/lily/include/align-interface.hh index 655d894d08..f893b75efd 100644 --- a/lily/include/align-interface.hh +++ b/lily/include/align-interface.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys + Copyright (C) 2000--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/all-font-metrics.hh b/lily/include/all-font-metrics.hh index 8ab15cf8ce..784a337afa 100644 --- a/lily/include/all-font-metrics.hh +++ b/lily/include/all-font-metrics.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/arpeggio.hh b/lily/include/arpeggio.hh index 6c070e7055..6a59b56000 100644 --- a/lily/include/arpeggio.hh +++ b/lily/include/arpeggio.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Jan Nieuwenhuizen + Copyright (C) 2000--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/articulations.hh b/lily/include/articulations.hh index 3cdc1967d6..543bbf51e0 100644 --- a/lily/include/articulations.hh +++ b/lily/include/articulations.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2010--2014 Carl Sorensen + Copyright (C) 2010--2015 Carl Sorensen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/audio-column.hh b/lily/include/audio-column.hh index 17e0518ed2..059321f7c9 100644 --- a/lily/include/audio-column.hh +++ b/lily/include/audio-column.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/audio-element-info.hh b/lily/include/audio-element-info.hh index cd2e560943..9b2f18f525 100644 --- a/lily/include/audio-element-info.hh +++ b/lily/include/audio-element-info.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/audio-element.hh b/lily/include/audio-element.hh index 99f22dabdc..e678c724d1 100644 --- a/lily/include/audio-element.hh +++ b/lily/include/audio-element.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/audio-item.hh b/lily/include/audio-item.hh index bd996a582c..8c41d18a52 100644 --- a/lily/include/audio-item.hh +++ b/lily/include/audio-item.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Jan Nieuwenhuizen + Copyright (C) 1996--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/audio-staff.hh b/lily/include/audio-staff.hh index f7f4200346..13124cfc09 100644 --- a/lily/include/audio-staff.hh +++ b/lily/include/audio-staff.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Jan Nieuwenhuizen + Copyright (C) 1996--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/axis-group-interface.hh b/lily/include/axis-group-interface.hh index 6a90cf5fcb..cd16c1e95f 100644 --- a/lily/include/axis-group-interface.hh +++ b/lily/include/axis-group-interface.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys + Copyright (C) 2000--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/bar-line.hh b/lily/include/bar-line.hh index 100248dc63..1a157f3c44 100644 --- a/lily/include/bar-line.hh +++ b/lily/include/bar-line.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/beam-scoring-problem.hh b/lily/include/beam-scoring-problem.hh index fc6e2c6942..bbabfde7de 100644 --- a/lily/include/beam-scoring-problem.hh +++ b/lily/include/beam-scoring-problem.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/include/beam.hh b/lily/include/beam.hh index 691c601129..a1b651a357 100644 --- a/lily/include/beam.hh +++ b/lily/include/beam.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/include/beaming-pattern.hh b/lily/include/beaming-pattern.hh index 8210e1e5f8..217af19088 100644 --- a/lily/include/beaming-pattern.hh +++ b/lily/include/beaming-pattern.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/bezier.hh b/lily/include/bezier.hh index 88ff5dbbbf..681c8c1816 100644 --- a/lily/include/bezier.hh +++ b/lily/include/bezier.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Jan Nieuwenhuizen + Copyright (C) 1998--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/book.hh b/lily/include/book.hh index f74d1d981f..6b1c2bfb14 100644 --- a/lily/include/book.hh +++ b/lily/include/book.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/break-align-interface.hh b/lily/include/break-align-interface.hh index ceb9580149..55c1e34f97 100644 --- a/lily/include/break-align-interface.hh +++ b/lily/include/break-align-interface.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/breathing-sign.hh b/lily/include/breathing-sign.hh index 3a0d6c81bd..c140bfd1b4 100644 --- a/lily/include/breathing-sign.hh +++ b/lily/include/breathing-sign.hh @@ -1,7 +1,7 @@ /* breathing-sign.hh - Copyright (c) 1999--2014 Michael Krause + Copyright (c) 1999--2015 Michael Krause written for the GNU LilyPond music typesetter */ diff --git a/lily/include/change-iterator.hh b/lily/include/change-iterator.hh index 6d040d2fc6..99d2b7ec91 100644 --- a/lily/include/change-iterator.hh +++ b/lily/include/change-iterator.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/chord-name.hh b/lily/include/chord-name.hh index 0f5e4cf197..5a289e223f 100644 --- a/lily/include/chord-name.hh +++ b/lily/include/chord-name.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Jan Nieuwenhuizen + Copyright (C) 1999--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/chord-tremolo-iterator.hh b/lily/include/chord-tremolo-iterator.hh index bb4a11d965..7f39b66460 100644 --- a/lily/include/chord-tremolo-iterator.hh +++ b/lily/include/chord-tremolo-iterator.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys + Copyright (C) 2000--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/clef.hh b/lily/include/clef.hh index 1066097af4..240086ce8b 100644 --- a/lily/include/clef.hh +++ b/lily/include/clef.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys + Copyright (C) 2000--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/cluster.hh b/lily/include/cluster.hh index c35d4808f7..b9d6cf0e07 100644 --- a/lily/include/cluster.hh +++ b/lily/include/cluster.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2002--2014 Juergen Reuter + Copyright (C) 2002--2015 Juergen Reuter LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/coherent-ligature-engraver.hh b/lily/include/coherent-ligature-engraver.hh index a2b780a5d6..19e731815a 100644 --- a/lily/include/coherent-ligature-engraver.hh +++ b/lily/include/coherent-ligature-engraver.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2003--2014 Juergen Reuter + Copyright (C) 2003--2015 Juergen Reuter LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/column-x-positions.hh b/lily/include/column-x-positions.hh index d70d9ec12a..f4ef6a02dc 100644 --- a/lily/include/column-x-positions.hh +++ b/lily/include/column-x-positions.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/constrained-breaking.hh b/lily/include/constrained-breaking.hh index 13f89236bf..e35fcc0bbe 100644 --- a/lily/include/constrained-breaking.hh +++ b/lily/include/constrained-breaking.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Joe Neeman + Copyright (C) 2006--2015 Joe Neeman LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/context-def.hh b/lily/include/context-def.hh index caf44894ea..9a7db15b6d 100644 --- a/lily/include/context-def.hh +++ b/lily/include/context-def.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys + Copyright (C) 2000--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/context-handle.hh b/lily/include/context-handle.hh index 53b4de9e0c..1d5b849e13 100644 --- a/lily/include/context-handle.hh +++ b/lily/include/context-handle.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/context-mod.hh b/lily/include/context-mod.hh index 72ad0a5e9f..a42ec91433 100644 --- a/lily/include/context-mod.hh +++ b/lily/include/context-mod.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2010--2014 Reinhold Kainhofer + Copyright (C) 2010--2015 Reinhold Kainhofer LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/context.hh b/lily/include/context.hh index 06d0cf10d2..dc13314277 100644 --- a/lily/include/context.hh +++ b/lily/include/context.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -37,7 +37,7 @@ public: virtual ~Context (); private: Scheme_hash_table *properties_dict () const; - Context (Context const &src); + Context (Context const &src); // Do not define! Not copyable! DECLARE_CLASSNAME (Context); void terminate (); diff --git a/lily/include/custos.hh b/lily/include/custos.hh index 07cf935459..fcb9e9e146 100644 --- a/lily/include/custos.hh +++ b/lily/include/custos.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Juergen Reuter + Copyright (C) 2000--2015 Juergen Reuter LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/dimension-cache.hh b/lily/include/dimension-cache.hh index d5433d5962..24f2615b38 100644 --- a/lily/include/dimension-cache.hh +++ b/lily/include/dimension-cache.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/directional-element-interface.hh b/lily/include/directional-element-interface.hh index 619ec69e27..898f6f1d89 100644 --- a/lily/include/directional-element-interface.hh +++ b/lily/include/directional-element-interface.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/dispatcher.hh b/lily/include/dispatcher.hh index 1f5f41243b..f4fe9156bc 100644 --- a/lily/include/dispatcher.hh +++ b/lily/include/dispatcher.hh @@ -22,6 +22,7 @@ #include "listener.hh" #include "stream-event.hh" +#include "smobs.hh" class Dispatcher : public Smob { diff --git a/lily/include/dot-column.hh b/lily/include/dot-column.hh index fcb381d338..a816f426ae 100644 --- a/lily/include/dot-column.hh +++ b/lily/include/dot-column.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/dot-configuration.hh b/lily/include/dot-configuration.hh index 69627d02ba..b4e2219e6c 100644 --- a/lily/include/dot-configuration.hh +++ b/lily/include/dot-configuration.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2007--2014 Han-Wen Nienhuys + Copyright (C) 2007--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/dots.hh b/lily/include/dots.hh index 1ac8625374..fdd0673af9 100644 --- a/lily/include/dots.hh +++ b/lily/include/dots.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/duration.hh b/lily/include/duration.hh index c46d03614b..b752e329b8 100644 --- a/lily/include/duration.hh +++ b/lily/include/duration.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/engraver-group.hh b/lily/include/engraver-group.hh index 8f02c20594..bbb759b1ac 100644 --- a/lily/include/engraver-group.hh +++ b/lily/include/engraver-group.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -31,8 +31,7 @@ protected: DECLARE_LISTENER (override); DECLARE_LISTENER (revert); public: - VIRTUAL_COPY_CONSTRUCTOR (Translator_group, Engraver_group); - + DECLARE_CLASSNAME (Engraver_group); Engraver_group (); virtual void derived_mark () const; void do_announces (); diff --git a/lily/include/engraver.hh b/lily/include/engraver.hh index 77f55f0e48..a2b3118192 100644 --- a/lily/include/engraver.hh +++ b/lily/include/engraver.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/event-chord-iterator.hh b/lily/include/event-chord-iterator.hh index e905f8e00e..8e9f4740ba 100644 --- a/lily/include/event-chord-iterator.hh +++ b/lily/include/event-chord-iterator.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/event-iterator.hh b/lily/include/event-iterator.hh index 9dd40727e7..ca71bdbaae 100644 --- a/lily/include/event-iterator.hh +++ b/lily/include/event-iterator.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Han-Wen Nienhuys + Copyright (C) 2006--2015 Han-Wen Nienhuys Erik Sandberg LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/include/file-name-map.hh b/lily/include/file-name-map.hh index fb823fa3c1..3fb22d6a2a 100644 --- a/lily/include/file-name-map.hh +++ b/lily/include/file-name-map.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/fingering-column.hh b/lily/include/fingering-column.hh index f302470918..e7d47c0b43 100644 --- a/lily/include/fingering-column.hh +++ b/lily/include/fingering-column.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/font-interface.hh b/lily/include/font-interface.hh index 7b68e0c9ff..96b6b0b8d9 100644 --- a/lily/include/font-interface.hh +++ b/lily/include/font-interface.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys + Copyright (C) 2000--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/font-metric.hh b/lily/include/font-metric.hh index 927d9bb678..b1016b65c6 100644 --- a/lily/include/font-metric.hh +++ b/lily/include/font-metric.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/freetype.hh b/lily/include/freetype.hh index 28d2cdac55..e4009ba072 100644 --- a/lily/include/freetype.hh +++ b/lily/include/freetype.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/global-context.hh b/lily/include/global-context.hh index f940561739..49436bcf87 100644 --- a/lily/include/global-context.hh +++ b/lily/include/global-context.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/global-ctor.hh b/lily/include/global-ctor.hh index a88742e74a..62c4ce8c69 100644 --- a/lily/include/global-ctor.hh +++ b/lily/include/global-ctor.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/grace-fixup.hh b/lily/include/grace-fixup.hh index 6491fcd1ea..8a79442535 100644 --- a/lily/include/grace-fixup.hh +++ b/lily/include/grace-fixup.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/grace-iterator.hh b/lily/include/grace-iterator.hh index 4718adf0be..aee58b8c50 100644 --- a/lily/include/grace-iterator.hh +++ b/lily/include/grace-iterator.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/gregorian-ligature-engraver.hh b/lily/include/gregorian-ligature-engraver.hh index 2f227eff8b..5aea42662b 100644 --- a/lily/include/gregorian-ligature-engraver.hh +++ b/lily/include/gregorian-ligature-engraver.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2003--2014 Juergen Reuter + Copyright (C) 2003--2015 Juergen Reuter LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/gregorian-ligature.hh b/lily/include/gregorian-ligature.hh index 8caf27044e..b0cfd7afda 100644 --- a/lily/include/gregorian-ligature.hh +++ b/lily/include/gregorian-ligature.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2003--2014 Juergen Reuter + Copyright (C) 2003--2015 Juergen Reuter LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/grid-line-interface.hh b/lily/include/grid-line-interface.hh index 3a4e0f9717..75ed7a7cdf 100644 --- a/lily/include/grid-line-interface.hh +++ b/lily/include/grid-line-interface.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/grob-array.hh b/lily/include/grob-array.hh index b32d0032a3..87cb19e23d 100644 --- a/lily/include/grob-array.hh +++ b/lily/include/grob-array.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/grob-info.hh b/lily/include/grob-info.hh index 8fa83120c7..1df88ce749 100644 --- a/lily/include/grob-info.hh +++ b/lily/include/grob-info.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/grob-interface.hh b/lily/include/grob-interface.hh index 2062393f0b..fc9e58c4a2 100644 --- a/lily/include/grob-interface.hh +++ b/lily/include/grob-interface.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2002--2014 Han-Wen Nienhuys + Copyright (C) 2002--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/grob-properties.hh b/lily/include/grob-properties.hh index 157613debb..7b128353b8 100644 --- a/lily/include/grob-properties.hh +++ b/lily/include/grob-properties.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2014 David Kastrup + Copyright (C) 2014--2015 David Kastrup LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/grob.hh b/lily/include/grob.hh index f5c6ac96e5..4748b17273 100644 --- a/lily/include/grob.hh +++ b/lily/include/grob.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/group-interface.hh b/lily/include/group-interface.hh index a4077a6fd4..a3abca8b55 100644 --- a/lily/include/group-interface.hh +++ b/lily/include/group-interface.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/hairpin.hh b/lily/include/hairpin.hh index 9a922421f2..8807bc8cc8 100644 --- a/lily/include/hairpin.hh +++ b/lily/include/hairpin.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/hara-kiri-group-spanner.hh b/lily/include/hara-kiri-group-spanner.hh index a283fe6c7f..41d0c52496 100644 --- a/lily/include/hara-kiri-group-spanner.hh +++ b/lily/include/hara-kiri-group-spanner.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Jan Nieuwenhuizen + Copyright (C) 1998--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/horizontal-bracket.hh b/lily/include/horizontal-bracket.hh index 6b02036593..e2fbb22b09 100644 --- a/lily/include/horizontal-bracket.hh +++ b/lily/include/horizontal-bracket.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/includable-lexer.hh b/lily/include/includable-lexer.hh index e349917aaf..bfc3d81718 100644 --- a/lily/include/includable-lexer.hh +++ b/lily/include/includable-lexer.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/input.hh b/lily/include/input.hh index 43dff1e4b9..b33b506730 100644 --- a/lily/include/input.hh +++ b/lily/include/input.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/interval-minefield.hh b/lily/include/interval-minefield.hh index 9350db7b27..fc748c17b6 100644 --- a/lily/include/interval-minefield.hh +++ b/lily/include/interval-minefield.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2011--2014 Mike Solomon + Copyright (C) 2011--2015 Mike Solomon Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/include/item.hh b/lily/include/item.hh index 9342d6f981..914d2ef7b8 100644 --- a/lily/include/item.hh +++ b/lily/include/item.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/keyword.hh b/lily/include/keyword.hh index c139b8a7bb..0f36fe812b 100644 --- a/lily/include/keyword.hh +++ b/lily/include/keyword.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/kievan-ligature.hh b/lily/include/kievan-ligature.hh index d8c90e7be5..a74387a89b 100644 --- a/lily/include/kievan-ligature.hh +++ b/lily/include/kievan-ligature.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2013--2014 Aleksandr Andreev + Copyright (C) 2013--2015 Aleksandr Andreev LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/least-squares.hh b/lily/include/least-squares.hh index f8fa88a922..5a8c39bacc 100644 --- a/lily/include/least-squares.hh +++ b/lily/include/least-squares.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/ligature-engraver.hh b/lily/include/ligature-engraver.hh index 321144f0af..6f53331a4e 100644 --- a/lily/include/ligature-engraver.hh +++ b/lily/include/ligature-engraver.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2002--2014 Juergen Reuter + Copyright (C) 2002--2015 Juergen Reuter LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/lily-guile-macros.hh b/lily/include/lily-guile-macros.hh index a858a0a2ed..1196f1ec5d 100644 --- a/lily/include/lily-guile-macros.hh +++ b/lily/include/lily-guile-macros.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/lily-guile.hh b/lily/include/lily-guile.hh index d678ec848a..38709a14c5 100644 --- a/lily/include/lily-guile.hh +++ b/lily/include/lily-guile.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Jan Nieuwenhuizen + Copyright (C) 1998--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/lily-lexer.hh b/lily/include/lily-lexer.hh index a3dbe62dff..5a622c9317 100644 --- a/lily/include/lily-lexer.hh +++ b/lily/include/lily-lexer.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/lily-parser.hh b/lily/include/lily-parser.hh index 589562fc14..0b1b87aa23 100644 --- a/lily/include/lily-parser.hh +++ b/lily/include/lily-parser.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/lily-proto.hh b/lily/include/lily-proto.hh index 3dd0825b27..6a69e371db 100644 --- a/lily/include/lily-proto.hh +++ b/lily/include/lily-proto.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/lily-version.hh b/lily/include/lily-version.hh index 6cacfab231..edb46c6c58 100644 --- a/lily/include/lily-version.hh +++ b/lily/include/lily-version.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Jan Nieuwenhuizen + Copyright (C) 1999--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/lilypond-version.hh b/lily/include/lilypond-version.hh index c59afb561e..818414abdf 100644 --- a/lily/include/lilypond-version.hh +++ b/lily/include/lilypond-version.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Jan Nieuwenhuizen + Copyright (C) 1998--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/line-interface.hh b/lily/include/line-interface.hh index 3a56c9c746..f45aca5b22 100644 --- a/lily/include/line-interface.hh +++ b/lily/include/line-interface.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/lookup.hh b/lily/include/lookup.hh index 6f167113b0..3c9c19d7de 100644 --- a/lily/include/lookup.hh +++ b/lily/include/lookup.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/include/ly-module.hh b/lily/include/ly-module.hh index c00849ebb5..e763138ef8 100644 --- a/lily/include/ly-module.hh +++ b/lily/include/ly-module.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2002--2014 Han-Wen Nienhuys + Copyright (C) 2002--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/lyric-extender.hh b/lily/include/lyric-extender.hh index 2d61f1db8b..88135421e4 100644 --- a/lily/include/lyric-extender.hh +++ b/lily/include/lyric-extender.hh @@ -2,7 +2,7 @@ /* extender-spanner.hh -- part of GNU LilyPond - Copyright (C) 1998--2014 Jan Nieuwenhuizen + Copyright (C) 1998--2015 Jan Nieuwenhuizen */ #ifndef EXTENDER_SPANNER_HH diff --git a/lily/include/lyric-hyphen.hh b/lily/include/lyric-hyphen.hh index fc335bc821..95418bc36a 100644 --- a/lily/include/lyric-hyphen.hh +++ b/lily/include/lyric-hyphen.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Glen Prideaux + Copyright (C) 1999--2015 Glen Prideaux LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/main.hh b/lily/include/main.hh index 9bad23f902..1e6e2caf51 100644 --- a/lily/include/main.hh +++ b/lily/include/main.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -39,6 +39,7 @@ extern vector dump_header_fieldnames_global; extern vector start_environment_global; extern string output_backend_global; extern string output_name_global; +extern bool bigpdfs; extern bool be_safe_global; extern bool do_internal_type_checking_global; extern string lilypond_datadir; diff --git a/lily/include/measure-grouping-spanner.hh b/lily/include/measure-grouping-spanner.hh index 363c5fd748..44eb334b17 100644 --- a/lily/include/measure-grouping-spanner.hh +++ b/lily/include/measure-grouping-spanner.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2002--2014 Han-Wen Nienhuys + Copyright (C) 2002--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/melody-spanner.hh b/lily/include/melody-spanner.hh index 72d0a0e3b9..4609a4c90d 100644 --- a/lily/include/melody-spanner.hh +++ b/lily/include/melody-spanner.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/mensural-ligature.hh b/lily/include/mensural-ligature.hh index 0881d6b6a8..97b8e2e216 100644 --- a/lily/include/mensural-ligature.hh +++ b/lily/include/mensural-ligature.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2002--2014 Juergen Reuter , + Copyright (C) 2002--2015 Juergen Reuter , Pal Benko LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/include/midi-chunk.hh b/lily/include/midi-chunk.hh index 3769ce2e42..0786a4871d 100644 --- a/lily/include/midi-chunk.hh +++ b/lily/include/midi-chunk.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2007--2014 Han-Wen Nienhuys + Copyright (C) 2007--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/midi-item.hh b/lily/include/midi-item.hh index 9945be8906..b593ce1527 100644 --- a/lily/include/midi-item.hh +++ b/lily/include/midi-item.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/midi-stream.hh b/lily/include/midi-stream.hh index 3bb0090d2f..a14ac80e20 100644 --- a/lily/include/midi-stream.hh +++ b/lily/include/midi-stream.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/midi-walker.hh b/lily/include/midi-walker.hh index 18df26b3a5..f23b7407e8 100644 --- a/lily/include/midi-walker.hh +++ b/lily/include/midi-walker.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/include/mingw-compatibility.hh b/lily/include/mingw-compatibility.hh index b2b032509c..39b57856de 100644 --- a/lily/include/mingw-compatibility.hh +++ b/lily/include/mingw-compatibility.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Jan Nieuwenhuizen + Copyright (C) 2005--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/minimal-page-breaking.hh b/lily/include/minimal-page-breaking.hh index 5f1703cfd9..50a60a8b66 100644 --- a/lily/include/minimal-page-breaking.hh +++ b/lily/include/minimal-page-breaking.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2007--2014 Nicolas Sceaux + Copyright (C) 2007--2015 Nicolas Sceaux LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/misc.hh b/lily/include/misc.hh index 0ea0a94252..b294b3188f 100644 --- a/lily/include/misc.hh +++ b/lily/include/misc.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/modified-font-metric.hh b/lily/include/modified-font-metric.hh index c1c893a613..c63c532fbd 100644 --- a/lily/include/modified-font-metric.hh +++ b/lily/include/modified-font-metric.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/moment.hh b/lily/include/moment.hh index 63048a3a75..80a78fbf59 100644 --- a/lily/include/moment.hh +++ b/lily/include/moment.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/multi-measure-rest.hh b/lily/include/multi-measure-rest.hh index d248bb1034..0c4dd88b6f 100644 --- a/lily/include/multi-measure-rest.hh +++ b/lily/include/multi-measure-rest.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Jan Nieuwenhuizen + Copyright (C) 1998--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/music-function.hh b/lily/include/music-function.hh index ef24b63f0e..aacb646e0d 100644 --- a/lily/include/music-function.hh +++ b/lily/include/music-function.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -28,7 +28,6 @@ class Music_function : public Smob2 { public: static const char type_p_name_[]; - SCM mark_smob (); int print_smob (SCM, scm_print_state *); SCM get_signature () { return scm1 (); } SCM get_function () { return scm2 (); } diff --git a/lily/include/music-iterator.hh b/lily/include/music-iterator.hh index 01bff5d59d..2afa31941a 100644 --- a/lily/include/music-iterator.hh +++ b/lily/include/music-iterator.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -70,7 +70,8 @@ protected: Moment start_mom_; DECLARE_CLASSNAME (Music_iterator); - Music_iterator (Music_iterator const &); +private: + Music_iterator (Music_iterator const &); // Do not define! Not copyable! public: Moment music_get_length () const; diff --git a/lily/include/music-output.hh b/lily/include/music-output.hh index 2831d566fc..37437fbcac 100644 --- a/lily/include/music-output.hh +++ b/lily/include/music-output.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/music-sequence.hh b/lily/include/music-sequence.hh index bed9e3df2a..ad47f72bdc 100644 --- a/lily/include/music-sequence.hh +++ b/lily/include/music-sequence.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys + Copyright (C) 2000--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/music-wrapper-iterator.hh b/lily/include/music-wrapper-iterator.hh index efb460d8c1..47cd6763c3 100644 --- a/lily/include/music-wrapper-iterator.hh +++ b/lily/include/music-wrapper-iterator.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/music-wrapper.hh b/lily/include/music-wrapper.hh index fcf42283f3..a500b582c7 100644 --- a/lily/include/music-wrapper.hh +++ b/lily/include/music-wrapper.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/music.hh b/lily/include/music.hh index 72b48859c2..8cb69d0700 100644 --- a/lily/include/music.hh +++ b/lily/include/music.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/note-collision.hh b/lily/include/note-collision.hh index 3759d85d36..fcdece0a59 100644 --- a/lily/include/note-collision.hh +++ b/lily/include/note-collision.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/note-column.hh b/lily/include/note-column.hh index 6f688c09ff..cd09b076af 100644 --- a/lily/include/note-column.hh +++ b/lily/include/note-column.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/note-head.hh b/lily/include/note-head.hh index 4691c42cc5..451bdb9f8d 100644 --- a/lily/include/note-head.hh +++ b/lily/include/note-head.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/note-spacing.hh b/lily/include/note-spacing.hh index 367acf1ebb..7fde934f51 100644 --- a/lily/include/note-spacing.hh +++ b/lily/include/note-spacing.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2001--2014 Han-Wen Nienhuys + Copyright (C) 2001--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/open-type-font.hh b/lily/include/open-type-font.hh index 8c79ef9f27..f08d4fa71c 100644 --- a/lily/include/open-type-font.hh +++ b/lily/include/open-type-font.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/optimal-page-breaking.hh b/lily/include/optimal-page-breaking.hh index 546d057fba..224f0e96d4 100644 --- a/lily/include/optimal-page-breaking.hh +++ b/lily/include/optimal-page-breaking.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Joe Neeman + Copyright (C) 2006--2015 Joe Neeman LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/output-def.hh b/lily/include/output-def.hh index 1673c46d5b..1364b64666 100644 --- a/lily/include/output-def.hh +++ b/lily/include/output-def.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/page-breaking.hh b/lily/include/page-breaking.hh index 435d849992..9a38485c28 100644 --- a/lily/include/page-breaking.hh +++ b/lily/include/page-breaking.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Joe Neeman + Copyright (C) 2006--2015 Joe Neeman LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/page-layout-problem.hh b/lily/include/page-layout-problem.hh index 930109bcf1..a98d264354 100644 --- a/lily/include/page-layout-problem.hh +++ b/lily/include/page-layout-problem.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2009--2014 Joe Neeman + Copyright (C) 2009--2015 Joe Neeman LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/page-marker.hh b/lily/include/page-marker.hh index 9670b68129..cb823d0f0d 100644 --- a/lily/include/page-marker.hh +++ b/lily/include/page-marker.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2007--2014 Nicolas Sceaux + Copyright (C) 2007--2015 Nicolas Sceaux LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/page-spacing-result.hh b/lily/include/page-spacing-result.hh index d75dd98616..ccba917b07 100644 --- a/lily/include/page-spacing-result.hh +++ b/lily/include/page-spacing-result.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2007--2014 Han-Wen Nienhuys + Copyright (C) 2007--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/page-spacing.hh b/lily/include/page-spacing.hh index 92fba0210a..4775baf674 100644 --- a/lily/include/page-spacing.hh +++ b/lily/include/page-spacing.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Joe Neeman + Copyright (C) 2006--2015 Joe Neeman LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/page-turn-page-breaking.hh b/lily/include/page-turn-page-breaking.hh index d8e1b969c7..93fdaceada 100644 --- a/lily/include/page-turn-page-breaking.hh +++ b/lily/include/page-turn-page-breaking.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Joe Neeman + Copyright (C) 2006--2015 Joe Neeman LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/pango-font.hh b/lily/include/pango-font.hh index 43eca3a6ba..ff5e6302f0 100644 --- a/lily/include/pango-font.hh +++ b/lily/include/pango-font.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/paper-book.hh b/lily/include/paper-book.hh index 716ddd5b3d..40a40a39b6 100644 --- a/lily/include/paper-book.hh +++ b/lily/include/paper-book.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Jan Nieuwenhuizen + Copyright (C) 2004--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/paper-column-engraver.hh b/lily/include/paper-column-engraver.hh index 44e7003d83..1279ff17c9 100644 --- a/lily/include/paper-column-engraver.hh +++ b/lily/include/paper-column-engraver.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/paper-column.hh b/lily/include/paper-column.hh index c0c33b268d..03c503f9a8 100644 --- a/lily/include/paper-column.hh +++ b/lily/include/paper-column.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/paper-outputter.hh b/lily/include/paper-outputter.hh index e99d21e37f..73daf148b4 100644 --- a/lily/include/paper-outputter.hh +++ b/lily/include/paper-outputter.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/paper-score.hh b/lily/include/paper-score.hh index a919cebce0..e3d0813b4b 100644 --- a/lily/include/paper-score.hh +++ b/lily/include/paper-score.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -61,7 +61,7 @@ protected: virtual void derived_mark () const; private: - Paper_score (Paper_score const &); + Paper_score (Paper_score const &); // Do not define! Not copyable! }; #endif /* PAPER_SCORE_HH */ diff --git a/lily/include/paper-system.hh b/lily/include/paper-system.hh index 4fc87c7f76..2e1df905e2 100644 --- a/lily/include/paper-system.hh +++ b/lily/include/paper-system.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Jan Nieuwenhuizen + Copyright (C) 2004--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/parse-scm.hh b/lily/include/parse-scm.hh index 6234a84fec..e5db86dcb0 100644 --- a/lily/include/parse-scm.hh +++ b/lily/include/parse-scm.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/percent-repeat-item.hh b/lily/include/percent-repeat-item.hh index 55bb7be88a..448b811034 100644 --- a/lily/include/percent-repeat-item.hh +++ b/lily/include/percent-repeat-item.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2001--2014 Han-Wen Nienhuys + Copyright (C) 2001--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/performance.hh b/lily/include/performance.hh index 2df4bb75c6..14c811b150 100644 --- a/lily/include/performance.hh +++ b/lily/include/performance.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/performer-group.hh b/lily/include/performer-group.hh index deaa33efcb..350af84de2 100644 --- a/lily/include/performer-group.hh +++ b/lily/include/performer-group.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify @@ -29,7 +29,7 @@ typedef void (Performer:: *Performer_method) (void); class Performer_group : public Translator_group { public: - VIRTUAL_COPY_CONSTRUCTOR (Translator_group, Performer_group); + DECLARE_CLASSNAME (Performer_group); void do_announces (); virtual void announce_element (Audio_element_info); diff --git a/lily/include/performer.hh b/lily/include/performer.hh index 123713d3cb..82b4ce50cc 100644 --- a/lily/include/performer.hh +++ b/lily/include/performer.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/include/pitch-interval.hh b/lily/include/pitch-interval.hh index 08755a5181..dd6b085c20 100644 --- a/lily/include/pitch-interval.hh +++ b/lily/include/pitch-interval.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/pitch.hh b/lily/include/pitch.hh index ebf39ed742..90b4317f68 100644 --- a/lily/include/pitch.hh +++ b/lily/include/pitch.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/pointer-group-interface.hh b/lily/include/pointer-group-interface.hh index 356b29656c..26ff640610 100644 --- a/lily/include/pointer-group-interface.hh +++ b/lily/include/pointer-group-interface.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/prob.hh b/lily/include/prob.hh index e90355c5eb..9f6ad9609a 100644 --- a/lily/include/prob.hh +++ b/lily/include/prob.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Jan Nieuwenhuizen + Copyright (C) 2004--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/profile.hh b/lily/include/profile.hh index 3771d60ed0..f0f1a61237 100644 --- a/lily/include/profile.hh +++ b/lily/include/profile.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/program-option.hh b/lily/include/program-option.hh index 7048f70256..acf1a93b5c 100644 --- a/lily/include/program-option.hh +++ b/lily/include/program-option.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2001--2014 Jan Nieuwenhuizen + Copyright (C) 2001--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/property-iterator.hh b/lily/include/property-iterator.hh index 52fead0773..3f9577f6f7 100644 --- a/lily/include/property-iterator.hh +++ b/lily/include/property-iterator.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/protected-scm.hh b/lily/include/protected-scm.hh index 2847adb79a..03f61e318e 100644 --- a/lily/include/protected-scm.hh +++ b/lily/include/protected-scm.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/pure-from-neighbor-interface.hh b/lily/include/pure-from-neighbor-interface.hh index 85dffe8ecd..ec53a97f47 100644 --- a/lily/include/pure-from-neighbor-interface.hh +++ b/lily/include/pure-from-neighbor-interface.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2011--2014 Mike Solomon + Copyright (C) 2011--2015 Mike Solomon LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/relocate.hh b/lily/include/relocate.hh index b05ea79670..c531d97cfb 100644 --- a/lily/include/relocate.hh +++ b/lily/include/relocate.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/repeated-music.hh b/lily/include/repeated-music.hh index e33c4b1b98..e0e7cdf376 100644 --- a/lily/include/repeated-music.hh +++ b/lily/include/repeated-music.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/rest-collision.hh b/lily/include/rest-collision.hh index 39fa8e1bda..b9cfc17b8e 100644 --- a/lily/include/rest-collision.hh +++ b/lily/include/rest-collision.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/rest.hh b/lily/include/rest.hh index 900b3aefbc..d8ddde60f3 100644 --- a/lily/include/rest.hh +++ b/lily/include/rest.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/rhythmic-head.hh b/lily/include/rhythmic-head.hh index 19b1550499..e7cb7cfc4a 100644 --- a/lily/include/rhythmic-head.hh +++ b/lily/include/rhythmic-head.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/rod.hh b/lily/include/rod.hh index e583398895..01b4e5cc2c 100644 --- a/lily/include/rod.hh +++ b/lily/include/rod.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/scale.hh b/lily/include/scale.hh index d3d132810b..19cd175c79 100644 --- a/lily/include/scale.hh +++ b/lily/include/scale.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Han-Wen Nienhuys + Copyright (C) 2006--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/scheme-engraver.hh b/lily/include/scheme-engraver.hh index 997743152a..ec3d0756d9 100644 --- a/lily/include/scheme-engraver.hh +++ b/lily/include/scheme-engraver.hh @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - Copyright (c) 2009--2014 Han-Wen Nienhuys + Copyright (c) 2009--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/scheme-listener.hh b/lily/include/scheme-listener.hh index 03652534f2..f7d8eac8b5 100644 --- a/lily/include/scheme-listener.hh +++ b/lily/include/scheme-listener.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Erik Sandberg + Copyright (C) 2006--2015 Erik Sandberg LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/scm-hash.hh b/lily/include/scm-hash.hh index 6c390be8f5..d14997676a 100644 --- a/lily/include/scm-hash.hh +++ b/lily/include/scm-hash.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/score-engraver.hh b/lily/include/score-engraver.hh index 4b042fe94b..b52f589f93 100644 --- a/lily/include/score-engraver.hh +++ b/lily/include/score-engraver.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/score-performer.hh b/lily/include/score-performer.hh index 7a1cb628a6..b97c673688 100644 --- a/lily/include/score-performer.hh +++ b/lily/include/score-performer.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify @@ -30,7 +30,7 @@ class Score_performer : public Performer_group { public: - VIRTUAL_COPY_CONSTRUCTOR (Translator_group, Score_performer); + DECLARE_CLASSNAME (Score_performer); Performance *performance_; ~Score_performer (); diff --git a/lily/include/score.hh b/lily/include/score.hh index e282a5e81b..0baf198fa3 100644 --- a/lily/include/score.hh +++ b/lily/include/score.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/script-column.hh b/lily/include/script-column.hh index 81f08e3b9d..51f2eb9206 100644 --- a/lily/include/script-column.hh +++ b/lily/include/script-column.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/script-interface.hh b/lily/include/script-interface.hh index 6d2ae552ca..2839010b0d 100644 --- a/lily/include/script-interface.hh +++ b/lily/include/script-interface.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/self-alignment-interface.hh b/lily/include/self-alignment-interface.hh index 867f97bf86..ffdfb82501 100644 --- a/lily/include/self-alignment-interface.hh +++ b/lily/include/self-alignment-interface.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/semi-tie-column.hh b/lily/include/semi-tie-column.hh index 88bde59bba..7ad63e80d1 100644 --- a/lily/include/semi-tie-column.hh +++ b/lily/include/semi-tie-column.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/include/semi-tie.hh b/lily/include/semi-tie.hh index 2be7d15e56..9fe673a717 100644 --- a/lily/include/semi-tie.hh +++ b/lily/include/semi-tie.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/separation-item.hh b/lily/include/separation-item.hh index 40b518e97a..f78fd0d6a9 100644 --- a/lily/include/separation-item.hh +++ b/lily/include/separation-item.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/sequential-iterator.hh b/lily/include/sequential-iterator.hh index 6c09ae3d09..2b35bde1f8 100644 --- a/lily/include/sequential-iterator.hh +++ b/lily/include/sequential-iterator.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2002--2014 Han-Wen Nienhuys + Copyright (C) 2002--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/side-position-interface.hh b/lily/include/side-position-interface.hh index 46f592fb8d..ac0e2c7c0f 100644 --- a/lily/include/side-position-interface.hh +++ b/lily/include/side-position-interface.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/simple-closure.hh b/lily/include/simple-closure.hh index f6a2cfdf58..8903bba1fa 100644 --- a/lily/include/simple-closure.hh +++ b/lily/include/simple-closure.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/simple-music-iterator.hh b/lily/include/simple-music-iterator.hh index 96fddabaeb..46551101a9 100644 --- a/lily/include/simple-music-iterator.hh +++ b/lily/include/simple-music-iterator.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys + Copyright (C) 2000--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/simple-spacer.hh b/lily/include/simple-spacer.hh index 32bf205e86..d036dd191d 100644 --- a/lily/include/simple-spacer.hh +++ b/lily/include/simple-spacer.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/simultaneous-music-iterator.hh b/lily/include/simultaneous-music-iterator.hh index 40d35de89b..0135a7a191 100644 --- a/lily/include/simultaneous-music-iterator.hh +++ b/lily/include/simultaneous-music-iterator.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/skyline-pair.hh b/lily/include/skyline-pair.hh index 73b5586029..6d7cea0ac2 100644 --- a/lily/include/skyline-pair.hh +++ b/lily/include/skyline-pair.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2008--2014 Han-Wen Nienhuys + Copyright (C) 2008--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -40,7 +40,6 @@ public: Real right () const; void raise (Real); void shift (Real); - void deholify (); void insert (Box const &, Axis); void merge (Skyline_pair const &other); Skyline &operator [] (Direction d); diff --git a/lily/include/skyline.hh b/lily/include/skyline.hh index 31f6969d5b..21693420c8 100644 --- a/lily/include/skyline.hh +++ b/lily/include/skyline.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Joe Neeman + Copyright (C) 2006--2015 Joe Neeman LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -44,8 +44,7 @@ struct Building Real height (Real x) const; Real intersection_x (Building const &other) const; - void leading_part (Real chop); - bool conceals (Building const &other, Real x) const; + bool above (Building const &other, Real x) const; Real shift_to_intersect (Real x, Real y) const; }; @@ -74,7 +73,6 @@ public: Skyline (Box const &b, Axis a, Direction sky); vector to_points (Axis) const; - void deholify (); void merge (Skyline const &); void insert (Box const &, Axis); void print () const; diff --git a/lily/include/slur-configuration.hh b/lily/include/slur-configuration.hh index 815eb1379a..be30352676 100644 --- a/lily/include/slur-configuration.hh +++ b/lily/include/slur-configuration.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/slur-proto-engraver.hh b/lily/include/slur-proto-engraver.hh index 3dc6211863..5bae1647f1 100644 --- a/lily/include/slur-proto-engraver.hh +++ b/lily/include/slur-proto-engraver.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2013--2014 Mike Solomon + Copyright (C) 2013--2015 Mike Solomon LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/slur-score-parameters.hh b/lily/include/slur-score-parameters.hh index 6095cc3633..2177d03bf7 100644 --- a/lily/include/slur-score-parameters.hh +++ b/lily/include/slur-score-parameters.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Han-Wen Nienhuys + Copyright (C) 2006--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/slur-scoring.hh b/lily/include/slur-scoring.hh index 311de61132..1ae187477b 100644 --- a/lily/include/slur-scoring.hh +++ b/lily/include/slur-scoring.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/slur.hh b/lily/include/slur.hh index 1d900220e6..000c07dce8 100644 --- a/lily/include/slur.hh +++ b/lily/include/slur.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/small-smobs.hh b/lily/include/small-smobs.hh index fa63af9a90..41171b4881 100644 --- a/lily/include/small-smobs.hh +++ b/lily/include/small-smobs.hh @@ -24,8 +24,8 @@ template class Smob1 : public Smob_base { - Smob1 () { } // private constructor: objects don't exist, only - // "pointers" to them + Smob1 (); // Do not define! Not constructible! + Smob1 (const Smob1 &); // Do not define! Not copyable! public: SCM self_scm () const { return SCM_PACK (this); } SCM & scm1 () const { return *SCM_SMOB_OBJECT_LOC (self_scm ()); } @@ -41,8 +41,8 @@ public: template class Smob2 : public Smob_base { - Smob2 () { } // private constructor: objects don't exist, only - // "pointers" to them + Smob2 (); // Do not define! Not constructible! + Smob2 (const Smob2 &); // Do not define! Not copyable! public: SCM self_scm () const { return SCM_PACK (this); } SCM & scm1 () const { return *SCM_SMOB_OBJECT_LOC (self_scm ()); } @@ -65,8 +65,8 @@ public: template class Smob3 : public Smob_base { - Smob3 () { } // private constructor: objects don't exist, only - // "pointers" to them + Smob3 (); // Do not define! Not constructible! + Smob3 (const Smob3 &); // Do not define! Not copyable! public: SCM self_scm () const { return SCM_PACK (this); } SCM & scm1 () const { return *SCM_SMOB_OBJECT_LOC (self_scm ()); } @@ -80,7 +80,7 @@ public: SCM_UNPACK (arg2), SCM_UNPACK (arg3)); } - static SCM mark_smob (SCM s) + SCM mark_smob () { scm_gc_mark (scm3 ()); scm_gc_mark (scm2 ()); diff --git a/lily/include/smobs.hh b/lily/include/smobs.hh index 2d1cbd4d89..a816b67ca3 100644 --- a/lily/include/smobs.hh +++ b/lily/include/smobs.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -255,6 +255,9 @@ class Smob : public Smob_base { private: SCM self_scm_; SCM protection_cons_; + Smob (const Smob &); // Do not define! Not copyable! +protected: + Smob () : self_scm_ (SCM_UNDEFINED), protection_cons_ (SCM_EOL) { }; public: static size_t free_smob (SCM obj) { @@ -263,7 +266,6 @@ public: } SCM unprotected_smobify_self () { - self_scm_ = SCM_UNDEFINED; self_scm_ = Smob_base::register_ptr (static_cast (this)); return self_scm_; } @@ -277,7 +279,6 @@ public: return self_scm_; } void smobify_self () { - protection_cons_ = SCM_EOL; self_scm_ = unprotected_smobify_self (); protect (); } diff --git a/lily/include/smobs.tcc b/lily/include/smobs.tcc index 3a8e8c4f23..b4dacacaa3 100644 --- a/lily/include/smobs.tcc +++ b/lily/include/smobs.tcc @@ -1,7 +1,7 @@ /* -*- C++ -*- This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -32,14 +32,20 @@ template SCM Smob_base::mark_trampoline (SCM arg) { - return (Super::unsmob (arg))->mark_smob (); + Super *ptr = Super::unsmob (arg); + if (ptr) + return ptr->mark_smob (); + return SCM_UNDEFINED; } template int Smob_base::print_trampoline (SCM arg, SCM port, scm_print_state *p) { - return (Super::unsmob (arg))->print_smob (port, p); + Super *ptr = Super::unsmob (arg); + if (ptr) + return ptr->print_smob (port, p); + return 0; } template @@ -96,6 +102,7 @@ Smob_base::unregister_ptr (SCM obj) { Super *p = Super::unchecked_unsmob (obj); scm_gc_unregister_collectable_memory (p, sizeof (*p), smob_name_.c_str ()); + SCM_SET_SMOB_DATA (obj, static_cast (0)); return p; } diff --git a/lily/include/source-file.hh b/lily/include/source-file.hh index 3c21e1df6e..223725f462 100644 --- a/lily/include/source-file.hh +++ b/lily/include/source-file.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Jan Nieuwenhuizen + Copyright (C) 1999--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/sources.hh b/lily/include/sources.hh index 165b59038d..2db87cee97 100644 --- a/lily/include/sources.hh +++ b/lily/include/sources.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ class Sources { - Sources (Sources const &); + Sources (Sources const &); // Do not define! Not copyable! vector sourcefiles_; public: diff --git a/lily/include/spaceable-grob.hh b/lily/include/spaceable-grob.hh index 8dd955182e..ba219c28a9 100644 --- a/lily/include/spaceable-grob.hh +++ b/lily/include/spaceable-grob.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys + Copyright (C) 2000--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/spacing-interface.hh b/lily/include/spacing-interface.hh index 81f2401e9d..2ade005a22 100644 --- a/lily/include/spacing-interface.hh +++ b/lily/include/spacing-interface.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2002--2014 Han-Wen Nienhuys + Copyright (C) 2002--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/spacing-options.hh b/lily/include/spacing-options.hh index a270d585e1..7f73cd6d1a 100644 --- a/lily/include/spacing-options.hh +++ b/lily/include/spacing-options.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Han-Wen Nienhuys + Copyright (C) 2006--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/spacing-spanner.hh b/lily/include/spacing-spanner.hh index ea61d5acdd..61ed8dc4ac 100644 --- a/lily/include/spacing-spanner.hh +++ b/lily/include/spacing-spanner.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/spanner.hh b/lily/include/spanner.hh index f618e9c58e..788b0e46ee 100644 --- a/lily/include/spanner.hh +++ b/lily/include/spanner.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/spring.hh b/lily/include/spring.hh index ce3dbfd93b..fd01ca048c 100644 --- a/lily/include/spring.hh +++ b/lily/include/spring.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/staff-grouper-interface.hh b/lily/include/staff-grouper-interface.hh index aaeb401738..3ad0ccf568 100644 --- a/lily/include/staff-grouper-interface.hh +++ b/lily/include/staff-grouper-interface.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2009--2014 Joe Neeman + Copyright (C) 2009--2015 Joe Neeman LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/staff-spacing.hh b/lily/include/staff-spacing.hh index 066041f93c..521be99d19 100644 --- a/lily/include/staff-spacing.hh +++ b/lily/include/staff-spacing.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2001--2014 Han-Wen Nienhuys + Copyright (C) 2001--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/staff-symbol-referencer.hh b/lily/include/staff-symbol-referencer.hh index 3867ac7549..3c5f55b836 100644 --- a/lily/include/staff-symbol-referencer.hh +++ b/lily/include/staff-symbol-referencer.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/staff-symbol.hh b/lily/include/staff-symbol.hh index 7aae8a287d..19e826d3d0 100644 --- a/lily/include/staff-symbol.hh +++ b/lily/include/staff-symbol.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/stem-info.hh b/lily/include/stem-info.hh index a4089c2af9..9015688045 100644 --- a/lily/include/stem-info.hh +++ b/lily/include/stem-info.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/stem-tremolo.hh b/lily/include/stem-tremolo.hh index 0ae21592bf..55ce3248e7 100644 --- a/lily/include/stem-tremolo.hh +++ b/lily/include/stem-tremolo.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/stem.hh b/lily/include/stem.hh index f657e2da0f..23ece790d2 100644 --- a/lily/include/stem.hh +++ b/lily/include/stem.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/stencil.hh b/lily/include/stencil.hh index 4f1bceaec4..6b78c18e4b 100644 --- a/lily/include/stencil.hh +++ b/lily/include/stencil.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/stream-event.hh b/lily/include/stream-event.hh index 8c56f16340..27a83ed72f 100644 --- a/lily/include/stream-event.hh +++ b/lily/include/stream-event.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Erik Sandberg + Copyright (C) 2005--2015 Erik Sandberg LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/system-start-delimiter.hh b/lily/include/system-start-delimiter.hh index ab650ec671..3e1848c530 100644 --- a/lily/include/system-start-delimiter.hh +++ b/lily/include/system-start-delimiter.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys + Copyright (C) 2000--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/system.hh b/lily/include/system.hh index 97fee80117..84b39bd02f 100644 --- a/lily/include/system.hh +++ b/lily/include/system.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/text-interface.hh b/lily/include/text-interface.hh index 7c1bd765f8..f8f86d6f33 100644 --- a/lily/include/text-interface.hh +++ b/lily/include/text-interface.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/include/tie-column.hh b/lily/include/tie-column.hh index 79075a37e9..8ec9cad18b 100644 --- a/lily/include/tie-column.hh +++ b/lily/include/tie-column.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys + Copyright (C) 2000--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/tie-configuration.hh b/lily/include/tie-configuration.hh index 62b6a15a72..aaf0746a4a 100644 --- a/lily/include/tie-configuration.hh +++ b/lily/include/tie-configuration.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/tie-details.hh b/lily/include/tie-details.hh index 39fbb90eb9..f559c0cf53 100644 --- a/lily/include/tie-details.hh +++ b/lily/include/tie-details.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Han-Wen Nienhuys + Copyright (C) 2006--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/tie-formatting-problem.hh b/lily/include/tie-formatting-problem.hh index df24f2ccf4..2d3ce617b4 100644 --- a/lily/include/tie-formatting-problem.hh +++ b/lily/include/tie-formatting-problem.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/tie-specification.hh b/lily/include/tie-specification.hh index 330fe24011..9ca5116109 100644 --- a/lily/include/tie-specification.hh +++ b/lily/include/tie-specification.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2007--2014 Han-Wen Nienhuys + Copyright (C) 2007--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/tie.hh b/lily/include/tie.hh index 349f5b83e2..189bb77579 100644 --- a/lily/include/tie.hh +++ b/lily/include/tie.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/time-scaled-music-iterator.hh b/lily/include/time-scaled-music-iterator.hh index 83e234bb7a..e8c6a83abd 100644 --- a/lily/include/time-scaled-music-iterator.hh +++ b/lily/include/time-scaled-music-iterator.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys , + Copyright (C) 1998--2015 Han-Wen Nienhuys , Erik Sandberg LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/include/time-signature.hh b/lily/include/time-signature.hh deleted file mode 100644 index 784af867b6..0000000000 --- a/lily/include/time-signature.hh +++ /dev/null @@ -1,41 +0,0 @@ -/* - This file is part of LilyPond, the GNU music typesetter. - - Copyright (C) 1996--2014 Han-Wen Nienhuys - - LilyPond is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - LilyPond is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with LilyPond. If not, see . -*/ - -#ifndef METER_HH -#define METER_HH - -#include "grob-interface.hh" -#include "lily-proto.hh" - -/** - Print a time_signature sign. - - TODO: - - 2+3+2/8 time_signatures -*/ -struct Time_signature -{ - DECLARE_GROB_INTERFACE (); - static Stencil special_time_signature (Grob *, SCM, int, int); - static Stencil numbered_time_signature (Grob *, int, int); - DECLARE_SCHEME_CALLBACK (print, (SCM)); -}; -#endif // METER_HH - diff --git a/lily/include/timing-translator.hh b/lily/include/timing-translator.hh index 2b98e68786..18b4425483 100644 --- a/lily/include/timing-translator.hh +++ b/lily/include/timing-translator.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/translator-dispatch-list.hh b/lily/include/translator-dispatch-list.hh index 38a67e5fed..ee109db6b2 100644 --- a/lily/include/translator-dispatch-list.hh +++ b/lily/include/translator-dispatch-list.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/translator-group.hh b/lily/include/translator-group.hh index 40152b320b..c45e29de0a 100644 --- a/lily/include/translator-group.hh +++ b/lily/include/translator-group.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -67,7 +67,7 @@ private: DECLARE_LISTENER (create_child_translator); public: - VIRTUAL_COPY_CONSTRUCTOR (Translator_group, Translator_group); + DECLARE_CLASSNAME (Translator_group); virtual void connect_to_context (Context *c); virtual void disconnect_from_context (); diff --git a/lily/include/translator.hh b/lily/include/translator.hh index 885198a720..d342d3363c 100644 --- a/lily/include/translator.hh +++ b/lily/include/translator.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/translator.icc b/lily/include/translator.icc index eca9a78788..0362b5b6c5 100644 --- a/lily/include/translator.icc +++ b/lily/include/translator.icc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/tuplet-bracket.hh b/lily/include/tuplet-bracket.hh index 48e7e47180..72daae4da9 100644 --- a/lily/include/tuplet-bracket.hh +++ b/lily/include/tuplet-bracket.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/tuplet-number.hh b/lily/include/tuplet-number.hh index 214f0acfdc..9780beefb2 100644 --- a/lily/include/tuplet-number.hh +++ b/lily/include/tuplet-number.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/unpure-pure-container.hh b/lily/include/unpure-pure-container.hh index cff9d6fb3c..5166f590a4 100644 --- a/lily/include/unpure-pure-container.hh +++ b/lily/include/unpure-pure-container.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/vaticana-ligature.hh b/lily/include/vaticana-ligature.hh index c8aab6870e..912b54dece 100644 --- a/lily/include/vaticana-ligature.hh +++ b/lily/include/vaticana-ligature.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2003--2014 Juergen Reuter + Copyright (C) 2003--2015 Juergen Reuter LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/include/volta-bracket.hh b/lily/include/volta-bracket.hh index a42e840531..1a934d4a4a 100644 --- a/lily/include/volta-bracket.hh +++ b/lily/include/volta-bracket.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/input-scheme.cc b/lily/input-scheme.cc index 37b7524fd7..a324ccf0f4 100644 --- a/lily/input-scheme.cc +++ b/lily/input-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/input-smob.cc b/lily/input-smob.cc index 7ed92deab5..0a33bd6a59 100644 --- a/lily/input-smob.cc +++ b/lily/input-smob.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys + Copyright (C) 2000--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/input.cc b/lily/input.cc index b5d5dccc5c..ea8bbe7813 100644 --- a/lily/input.cc +++ b/lily/input.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/instrument-name-engraver.cc b/lily/instrument-name-engraver.cc index 1fe860fa4a..41c68a5a14 100644 --- a/lily/instrument-name-engraver.cc +++ b/lily/instrument-name-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys + Copyright (C) 2000--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/instrument-switch-engraver.cc b/lily/instrument-switch-engraver.cc index f0c6e6aec6..67a58c7e6f 100644 --- a/lily/instrument-switch-engraver.cc +++ b/lily/instrument-switch-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Han-Wen Nienhuys + Copyright (C) 2006--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/interval-minefield.cc b/lily/interval-minefield.cc index 96d7d27704..ddd79186ed 100644 --- a/lily/interval-minefield.cc +++ b/lily/interval-minefield.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2011--2014 Mike Solomon + Copyright (C) 2011--2015 Mike Solomon Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/item-scheme.cc b/lily/item-scheme.cc index 58b98b29f5..24ccf5bf0d 100644 --- a/lily/item-scheme.cc +++ b/lily/item-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify @@ -19,6 +19,7 @@ */ #include "item.hh" +#include "paper-column.hh" LY_DEFINE (ly_item_p, "ly:item?", 1, 0, 0, (SCM g), @@ -39,3 +40,17 @@ LY_DEFINE (ly_item_break_dir, "ly:item-break-dir", Item *me = Item::unsmob (it); return scm_from_int (me->break_status_dir ()); } + +LY_DEFINE (ly_item_get_column, "ly:item-get-column", + 1, 0, 0, (SCM it), + "Return the @code{PaperColumn} or @code{NonMusicalPaperColumn}" + " associated with this @code{Item}.") +{ + LY_ASSERT_SMOB (Item, it, 1); + Item *me = Item::unsmob (it); + + if (Paper_column *col = me->get_column ()) + return col->self_scm (); + + return SCM_EOL; +} diff --git a/lily/item.cc b/lily/item.cc index ec5c943f2a..220176e55b 100644 --- a/lily/item.cc +++ b/lily/item.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/keep-alive-together-engraver.cc b/lily/keep-alive-together-engraver.cc index c65ff45531..c67e6e0cca 100644 --- a/lily/keep-alive-together-engraver.cc +++ b/lily/keep-alive-together-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2010--2014 Joe Neeman + Copyright (C) 2010--2015 Joe Neeman LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/key-engraver.cc b/lily/key-engraver.cc index 07324d230b..9f77135ede 100644 --- a/lily/key-engraver.cc +++ b/lily/key-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/key-performer.cc b/lily/key-performer.cc index 4fcd3f6fa6..fa76c883a4 100644 --- a/lily/key-performer.cc +++ b/lily/key-performer.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/key-signature-interface.cc b/lily/key-signature-interface.cc index e345e9d132..ad8c3fd0f5 100644 --- a/lily/key-signature-interface.cc +++ b/lily/key-signature-interface.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys keyplacement by Mats Bengtsson diff --git a/lily/kievan-ligature-engraver.cc b/lily/kievan-ligature-engraver.cc index 5437538204..f56e73c101 100644 --- a/lily/kievan-ligature-engraver.cc +++ b/lily/kievan-ligature-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2013--2014 Aleksandr Andreev + Copyright (C) 2013--2015 Aleksandr Andreev LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/kievan-ligature.cc b/lily/kievan-ligature.cc index 2421e156ef..b8b91d3415 100644 --- a/lily/kievan-ligature.cc +++ b/lily/kievan-ligature.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2013--2014 Aleksandr Andreev + Copyright (C) 2013--2015 Aleksandr Andreev LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/laissez-vibrer-engraver.cc b/lily/laissez-vibrer-engraver.cc index ba38cdae1e..1ab028bfd0 100644 --- a/lily/laissez-vibrer-engraver.cc +++ b/lily/laissez-vibrer-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/least-squares.cc b/lily/least-squares.cc index 0cc99c6e83..9c250bea91 100644 --- a/lily/least-squares.cc +++ b/lily/least-squares.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/ledger-line-engraver.cc b/lily/ledger-line-engraver.cc index 1bb85695ba..9004dc07e3 100644 --- a/lily/ledger-line-engraver.cc +++ b/lily/ledger-line-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/ledger-line-spanner.cc b/lily/ledger-line-spanner.cc index f4bf36ef48..900187b333 100644 --- a/lily/ledger-line-spanner.cc +++ b/lily/ledger-line-spanner.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/lexer.ll b/lily/lexer.ll index 63776c9a9c..89c8695987 100644 --- a/lily/lexer.ll +++ b/lily/lexer.ll @@ -2,7 +2,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/ligature-bracket-engraver.cc b/lily/ligature-bracket-engraver.cc index cb37ead208..bc3d379c22 100644 --- a/lily/ligature-bracket-engraver.cc +++ b/lily/ligature-bracket-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2002--2014 Juergen Reuter + Copyright (C) 2002--2015 Juergen Reuter LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/ligature-engraver.cc b/lily/ligature-engraver.cc index 3ebe65f77c..4fde711055 100644 --- a/lily/ligature-engraver.cc +++ b/lily/ligature-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2002--2014 Juergen Reuter + Copyright (C) 2002--2015 Juergen Reuter LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/lily-guile.cc b/lily/lily-guile.cc index c37eb33844..6896d43d7c 100644 --- a/lily/lily-guile.cc +++ b/lily/lily-guile.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Jan Nieuwenhuizen + Copyright (C) 1998--2015 Jan Nieuwenhuizen Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/lily-lexer-scheme.cc b/lily/lily-lexer-scheme.cc index 55c637bcb1..c5a0bc5b7a 100644 --- a/lily/lily-lexer-scheme.cc +++ b/lily/lily-lexer-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Han-Wen Nienhuys + Copyright (C) 2006--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/lily-lexer.cc b/lily/lily-lexer.cc index f71c14fcf2..4ddd864325 100644 --- a/lily/lily-lexer.cc +++ b/lily/lily-lexer.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/lily-parser-scheme.cc b/lily/lily-parser-scheme.cc index 5fdff0fef9..8aedecbb0f 100644 --- a/lily/lily-parser-scheme.cc +++ b/lily/lily-parser-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/lily-parser.cc b/lily/lily-parser.cc index 8d0b180e77..35e0309510 100644 --- a/lily/lily-parser.cc +++ b/lily/lily-parser.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify @@ -54,6 +54,7 @@ Lily_parser::Lily_parser (Sources *sources) } Lily_parser::Lily_parser (Lily_parser const &src, SCM closures, SCM location) + : Smob () { lexer_ = 0; sources_ = src.sources_; diff --git a/lily/lily-version.cc b/lily/lily-version.cc index ef27bc3626..f84730450f 100644 --- a/lily/lily-version.cc +++ b/lily/lily-version.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Jan Nieuwenhuizen + Copyright (C) 1999--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/lilypond-version.cc b/lily/lilypond-version.cc index fcee302dd0..b3401854c2 100644 --- a/lily/lilypond-version.cc +++ b/lily/lilypond-version.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Jan Nieuwenhuizen + Copyright (C) 1998--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/lilypond.rc.in b/lily/lilypond.rc.in index e09242da2f..489a2d76b8 100644 --- a/lily/lilypond.rc.in +++ b/lily/lilypond.rc.in @@ -20,7 +20,7 @@ VS_VERSION_INFO VERSIONINFO VALUE "FileDescription", "LilyPond" VALUE "FileVersion", "@MAJOR_VERSION@.@MINOR_VERSION@.@PATCH_LEVEL@.@BUILD_VERSION@" VALUE "InternalName", "LilyPond@" - VALUE "LegalCopyright ", "Copyright (C) 1995--2014 Han-Wen Nienhuys and Jan Nieuwenhuizen, and others." + VALUE "LegalCopyright ", "Copyright (C) 1995--2015 Han-Wen Nienhuys and Jan Nieuwenhuizen, and others." VALUE "OriginalFilename", "lilypond.exe" VALUE "ProductName", "LilyPond" VALUE "ProductVersion", "@MAJOR_VERSION@.@MINOR_VERSION@.@PATCH_LEVEL@" diff --git a/lily/line-interface.cc b/lily/line-interface.cc index 1e2dd53c6b..30b1216f80 100644 --- a/lily/line-interface.cc +++ b/lily/line-interface.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/line-spanner.cc b/lily/line-spanner.cc index ddc4d7d178..5184d396a6 100644 --- a/lily/line-spanner.cc +++ b/lily/line-spanner.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Jan Nieuwenhuizen + Copyright (C) 2000--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -118,6 +118,10 @@ Line_spanner::calc_bound_info (SCM smob, Direction dir) if (acc && to_boolean (ly_assoc_get (ly_symbol2scm ("end-on-accidental"), details, SCM_BOOL_F))) x_coord = robust_relative_extent (acc, commonx, X_AXIS).linear_combination (attach); + Grob *dot = Grob::unsmob (bound_grob->get_object ("dot")); + if (dot && to_boolean (ly_assoc_get (ly_symbol2scm ("start-at-dot"), details, SCM_BOOL_F))) + x_coord = robust_relative_extent (dot, commonx, X_AXIS).linear_combination (attach); + details = scm_acons (ly_symbol2scm ("X"), scm_from_double (x_coord), details); diff --git a/lily/lookup.cc b/lily/lookup.cc index 306d04e9be..9bef343fed 100644 --- a/lily/lookup.cc +++ b/lily/lookup.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys Jan Nieuwenhuizen diff --git a/lily/ly-module.cc b/lily/ly-module.cc index 8023947c1e..2b91e8583e 100644 --- a/lily/ly-module.cc +++ b/lily/ly-module.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2002--2014 Han-Wen Nienhuys + Copyright (C) 2002--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/lyric-combine-music-iterator.cc b/lily/lyric-combine-music-iterator.cc index c0c1af5a61..031e6aabf0 100644 --- a/lily/lyric-combine-music-iterator.cc +++ b/lily/lyric-combine-music-iterator.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/lyric-combine-music.cc b/lily/lyric-combine-music.cc index de6e2d0493..7611d75543 100644 --- a/lily/lyric-combine-music.cc +++ b/lily/lyric-combine-music.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/lyric-engraver.cc b/lily/lyric-engraver.cc index d4bbe64a98..56ce20dada 100644 --- a/lily/lyric-engraver.cc +++ b/lily/lyric-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/lyric-extender.cc b/lily/lyric-extender.cc index 9d4c443637..e6943fefa0 100644 --- a/lily/lyric-extender.cc +++ b/lily/lyric-extender.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Jan Nieuwenhuizen + Copyright (C) 1998--2015 Jan Nieuwenhuizen Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/lyric-hyphen.cc b/lily/lyric-hyphen.cc index 584a0e7425..b8afd7718c 100644 --- a/lily/lyric-hyphen.cc +++ b/lily/lyric-hyphen.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2003--2014 Han-Wen Nienhuys + Copyright (C) 2003--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/lyric-performer.cc b/lily/lyric-performer.cc index 9c24d2e9e2..0ad69ae053 100644 --- a/lily/lyric-performer.cc +++ b/lily/lyric-performer.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/main.cc b/lily/main.cc index bae977603c..808274c6e8 100644 --- a/lily/main.cc +++ b/lily/main.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -158,6 +158,7 @@ static Long_option_init options_static[] {0, "pdf", 0, _i ("generate PDF (default)")}, {0, "png", 0, _i ("generate PNG")}, {0, "ps", 0, _i ("generate PostScript")}, + {0, "bigpdfs", 'b', _i("generate big PDF files")}, {0, "help", 'h', _i ("show this help and exit")}, { _i ("FIELD"), "header", 'H', _i ("dump header field FIELD to file\n" @@ -259,7 +260,7 @@ copyright () */ { /* Do not update the copyright years here, run `make grand-replace' */ - printf ("%s", (_f ("Copyright (c) %s by\n%s and others.", "1996--2014", + printf ("%s", (_f ("Copyright (c) %s by\n%s and others.", "1996--2015", AUTHORS).c_str ())); printf ("\n"); } @@ -613,6 +614,10 @@ parse_argv (int argc, char **argv) relocate_binary = true; break; + case 'b': + bigpdfs = true; + break; + case 'd': { string arg (option_parser->optional_argument_str0_); diff --git a/lily/mark-engraver.cc b/lily/mark-engraver.cc index 465e140e2d..6eb7ee321d 100644 --- a/lily/mark-engraver.cc +++ b/lily/mark-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Jan Nieuwenhuizen + Copyright (C) 1998--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/measure-grouping-engraver.cc b/lily/measure-grouping-engraver.cc index 003e8b418b..84da388861 100644 --- a/lily/measure-grouping-engraver.cc +++ b/lily/measure-grouping-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2002--2014 Han-Wen Nienhuys + Copyright (C) 2002--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/measure-grouping-spanner.cc b/lily/measure-grouping-spanner.cc index 2c2299ccc2..ab1618a37d 100644 --- a/lily/measure-grouping-spanner.cc +++ b/lily/measure-grouping-spanner.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2002--2014 Han-Wen Nienhuys + Copyright (C) 2002--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/melody-engraver.cc b/lily/melody-engraver.cc index c60b0a5041..2d982056d3 100644 --- a/lily/melody-engraver.cc +++ b/lily/melody-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/melody-spanner.cc b/lily/melody-spanner.cc index 9c81cade5d..9713b99999 100644 --- a/lily/melody-spanner.cc +++ b/lily/melody-spanner.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/mensural-ligature-engraver.cc b/lily/mensural-ligature-engraver.cc index 73009a3c0d..7d4794434d 100644 --- a/lily/mensural-ligature-engraver.cc +++ b/lily/mensural-ligature-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2002--2014 Juergen Reuter , + Copyright (C) 2002--2015 Juergen Reuter , Pal Benko LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/mensural-ligature.cc b/lily/mensural-ligature.cc index 92a1c9d36c..036ce027af 100644 --- a/lily/mensural-ligature.cc +++ b/lily/mensural-ligature.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2002--2014 Juergen Reuter , + Copyright (C) 2002--2015 Juergen Reuter , Pal Benko LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/metronome-engraver.cc b/lily/metronome-engraver.cc index 1b2d4226c5..841ae6df94 100644 --- a/lily/metronome-engraver.cc +++ b/lily/metronome-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Jan Nieuwenhuizen + Copyright (C) 1998--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/midi-chunk.cc b/lily/midi-chunk.cc index c9e6dc77ed..aed9e2b7dd 100644 --- a/lily/midi-chunk.cc +++ b/lily/midi-chunk.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2007--2014 Han-Wen Nienhuys + Copyright (C) 2007--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/midi-control-function-performer.cc b/lily/midi-control-function-performer.cc index f1bd36f71a..0a02668c30 100644 --- a/lily/midi-control-function-performer.cc +++ b/lily/midi-control-function-performer.cc @@ -1,9 +1,9 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2013--2014 by Heikki Tauriainen . + Copyright (C) 2013--2015 by Heikki Tauriainen . Adapted from performer implementations - Copyright (C) 1996--2014 Jan Nieuwenhuizen , + Copyright (C) 1996--2015 Jan Nieuwenhuizen , Han-Wen Nienhyus and others. LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/midi-item.cc b/lily/midi-item.cc index 514436c79c..b19527f5bf 100644 --- a/lily/midi-item.cc +++ b/lily/midi-item.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/midi-stream.cc b/lily/midi-stream.cc index 9c059a0681..1c7153a1e3 100644 --- a/lily/midi-stream.cc +++ b/lily/midi-stream.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/midi-walker.cc b/lily/midi-walker.cc index 20d3252aba..bc6c93dc56 100644 --- a/lily/midi-walker.cc +++ b/lily/midi-walker.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/minimal-page-breaking.cc b/lily/minimal-page-breaking.cc index 8f065632dd..968c4bf9b7 100644 --- a/lily/minimal-page-breaking.cc +++ b/lily/minimal-page-breaking.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2007--2014 Nicolas Sceaux + Copyright (C) 2007--2015 Nicolas Sceaux LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/misc.cc b/lily/misc.cc index 6021380023..773e4ecad8 100644 --- a/lily/misc.cc +++ b/lily/misc.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/modified-font-metric.cc b/lily/modified-font-metric.cc index 53ccefa299..d1c80b66f0 100644 --- a/lily/modified-font-metric.cc +++ b/lily/modified-font-metric.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/module-scheme.cc b/lily/module-scheme.cc index 58fc141f38..67f642ec08 100644 --- a/lily/module-scheme.cc +++ b/lily/module-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/moment-scheme.cc b/lily/moment-scheme.cc index ef02483385..9f17543bdb 100644 --- a/lily/moment-scheme.cc +++ b/lily/moment-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/moment.cc b/lily/moment.cc index 0ad463c5ad..9f3e8ed383 100644 --- a/lily/moment.cc +++ b/lily/moment.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/multi-measure-rest-engraver.cc b/lily/multi-measure-rest-engraver.cc index 83cd3777a8..f8a541cf6f 100644 --- a/lily/multi-measure-rest-engraver.cc +++ b/lily/multi-measure-rest-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Jan Nieuwenhuizen + Copyright (C) 1998--2015 Jan Nieuwenhuizen Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/multi-measure-rest.cc b/lily/multi-measure-rest.cc index c8a0525d66..e13d5bf17a 100644 --- a/lily/multi-measure-rest.cc +++ b/lily/multi-measure-rest.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Jan Nieuwenhuizen + Copyright (C) 1998--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,7 +20,6 @@ #include "multi-measure-rest.hh" #include "directional-element-interface.hh" -#include "duration.hh" #include "font-interface.hh" #include "international.hh" #include "lookup.hh" @@ -132,7 +131,7 @@ Multi_measure_rest::height (SCM smob) } int -calc_closest_duration_log (Grob *me, double duration, bool force_round_up, bool paranoid) +calc_closest_duration_log (Grob *me, double duration, bool force_round_up) { bool round_up = force_round_up || to_boolean (me->get_property ("round-up-to-longer-rest")); @@ -147,9 +146,8 @@ calc_closest_duration_log (Grob *me, double duration, bool force_round_up, bool int maximum_usable_duration_log = 15; SCM duration_logs_list = me->get_property ("usable-duration-logs"); - if (paranoid - && (to_boolean (scm_null_p (duration_logs_list)) - || !to_boolean (scm_list_p (duration_logs_list)))) + if (to_boolean (scm_null_p (duration_logs_list)) + || !to_boolean (scm_list_p (duration_logs_list))) { warning (_ ("usable-duration-logs must be a non-empty list." " Falling back to whole rests.")); @@ -187,7 +185,7 @@ calc_closest_duration_log (Grob *me, double duration, bool force_round_up, bool } int -calc_measure_duration_log (Grob *me, bool paranoid) +calc_measure_duration_log (Grob *me) { SCM sml = dynamic_cast (me)->get_bound (LEFT) ->get_property ("measure-length"); @@ -197,8 +195,7 @@ calc_measure_duration_log (Grob *me, bool paranoid) bool force_round_up = to_boolean (scm_list_p (scm_member (scm_cons (scm_from_int64 (ml.numerator ()), scm_from_int64 (ml.denominator ())), me->get_property ("round-up-exceptions")))); - - return calc_closest_duration_log (me, measure_duration, force_round_up, paranoid); + return calc_closest_duration_log (me, measure_duration, force_round_up); } Stencil @@ -221,7 +218,7 @@ Multi_measure_rest::symbol_stencil (Grob *me, Real space) } Font_metric *musfont = Font_interface::get_default_font (me); - int mdl = calc_measure_duration_log (me, true); + int mdl = calc_measure_duration_log (me); if (measure_count == 1) { @@ -231,7 +228,7 @@ Multi_measure_rest::symbol_stencil (Grob *me, Real space) Real pos = Rest::staff_position_internal (me, mdl, dir); me->set_property ("staff-position", scm_from_double (pos)); } - + Stencil s = musfont->find_by_name (Rest::glyph_name (me, mdl, "", true, 0.0)); s.translate_axis ((space - s.extent (X_AXIS).length ()) / 2, X_AXIS); @@ -279,7 +276,7 @@ Multi_measure_rest::church_rest (Grob *me, Font_metric *musfont, int measure_cou SCM mols = SCM_EOL; int symbol_count = 0; Real symbols_width = 0.0; - double total_duration = measure_count * pow (2.0, -calc_measure_duration_log (me, true)); + double total_duration = measure_count * pow (2.0, -calc_measure_duration_log (me)); SCM staff_position = me->get_property ("staff-position"); @@ -299,7 +296,7 @@ Multi_measure_rest::church_rest (Grob *me, Font_metric *musfont, int measure_cou while (total_duration > 0) { - int dl = calc_closest_duration_log (me, total_duration, false, true); + int dl = calc_closest_duration_log (me, total_duration, false); double duration = pow (2.0, -dl); total_duration -= duration; @@ -357,21 +354,26 @@ Multi_measure_rest::calculate_spacing_rods (Grob *me, Real length) Item *ri = sp->get_bound (RIGHT)->get_column (); Item *lb = li->find_prebroken_piece (RIGHT); Item *rb = ri->find_prebroken_piece (LEFT); + Grob *spacing = Grob::unsmob (li->get_object ("spacing")); if (!spacing) spacing = Grob::unsmob (ri->get_object ("spacing")); - if (!spacing) - me->warning (_ ("Using naive multi measure rest spacing.")); - else + if (spacing) { Spacing_options options; options.init_from_grob (me); - int dl = calc_measure_duration_log (me, false); - Duration dur = Duration (dl, 0); - Rational rat = dur.get_length (); - length = max (length, options.get_duration_space (rat)); + Moment mlen = robust_scm2moment (li->get_property ("measure-length"), + Moment (1)); + length += robust_scm2double (li->get_property ("full-measure-extra-space"), 0.0) + + options.get_duration_space (mlen.main_part_) + + (robust_scm2double (me->get_property ("space-increment"), 0.0) + * log_2 (robust_scm2int (me->get_property ("measure-count"), 1))); } + length += 2 * robust_scm2double (me->get_property ("bound-padding"), 0.0); + + Real minlen = robust_scm2double (me->get_property ("minimum-length"), 0.0); + Item *combinations[4][2] = {{li, ri}, {lb, ri}, {li, rb}, @@ -390,12 +392,8 @@ Multi_measure_rest::calculate_spacing_rods (Grob *me, Real length) rod.item_drul_[LEFT] = li; rod.item_drul_[RIGHT] = ri; - rod.distance_ = Paper_column::minimum_distance (li, ri) - + length - + 2 * robust_scm2double (me->get_property ("bound-padding"), 1.0); - - Real minlen = robust_scm2double (me->get_property ("minimum-length"), 0); - rod.distance_ = max (rod.distance_, minlen); + rod.distance_ = max (Paper_column::minimum_distance (li, ri) + length, + minlen); rod.add_to_cols (); } } @@ -438,6 +436,7 @@ ADD_INTERFACE (Multi_measure_rest, "minimum-length " "round-up-exceptions " "round-up-to-longer-rest " + "space-increment " "spacing-pair " "thick-thickness " "usable-duration-logs " diff --git a/lily/music-function.cc b/lily/music-function.cc index 6fcb49d2a6..35341e3c6d 100644 --- a/lily/music-function.cc +++ b/lily/music-function.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -32,10 +32,3 @@ Music_function::print_smob (SCM port, scm_print_state *) /* Non-zero means success. */ return 1; } - -SCM -Music_function::mark_smob () -{ - ASSERT_LIVE_IS_ALLOWED (self_scm ()); - return Smob2::mark_smob (); -} diff --git a/lily/music-iterator.cc b/lily/music-iterator.cc index 372a33ba1c..8eb238c295 100644 --- a/lily/music-iterator.cc +++ b/lily/music-iterator.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -37,11 +37,6 @@ Music_iterator::Music_iterator () smobify_self (); } -Music_iterator::Music_iterator (Music_iterator const &) -{ - assert (false); -} - Music_iterator::~Music_iterator () { } diff --git a/lily/music-output.cc b/lily/music-output.cc index 64d8c83983..0907bf38f4 100644 --- a/lily/music-output.cc +++ b/lily/music-output.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/music-scheme.cc b/lily/music-scheme.cc index ffd7c5cdd8..64866c75c7 100644 --- a/lily/music-scheme.cc +++ b/lily/music-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/music-sequence.cc b/lily/music-sequence.cc index ec700d3465..38c384ab05 100644 --- a/lily/music-sequence.cc +++ b/lily/music-sequence.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/music-wrapper-iterator.cc b/lily/music-wrapper-iterator.cc index 46ad77c6da..cf0ee67a97 100644 --- a/lily/music-wrapper-iterator.cc +++ b/lily/music-wrapper-iterator.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/music-wrapper.cc b/lily/music-wrapper.cc index c03f08b5c4..f3feee8449 100644 --- a/lily/music-wrapper.cc +++ b/lily/music-wrapper.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/music.cc b/lily/music.cc index 46376ee5ed..81f4a3d67f 100644 --- a/lily/music.cc +++ b/lily/music.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/new-fingering-engraver.cc b/lily/new-fingering-engraver.cc index e8612d13c0..55ff41ed4f 100644 --- a/lily/new-fingering-engraver.cc +++ b/lily/new-fingering-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/note-collision.cc b/lily/note-collision.cc index 0008bad23a..728f64dfae 100644 --- a/lily/note-collision.cc +++ b/lily/note-collision.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -503,24 +503,23 @@ Note_collision_interface::automatic_shift (Grob *me, if (i == 0) offset = inner_offset; - else if (shifts[i] == shifts[i - 1]) - { - // Match the previous notecolumn offset, - // but warn if the user did not set these equal shifts explictly - if (!scm_is_number (sh)) - col->warning (_ ("ignoring too many clashing note columns")); - } - else if (extents[d][i][UP] > extents[d][i - 1][DOWN] - && extents[d][i][DOWN] < extents[d][i - 1][UP]) - offset += 1.0; // fully clear the inner-voice heads else { - // check if we cross the inner voice - if (d * extents[d][i][-d] >= d * extents[d][i - 1][d]) + bool explicit_shift = scm_is_number (sh); + if (!explicit_shift) + col->warning (_ ("this Voice needs a \\voiceXx or \\shiftXx setting")); + + if (explicit_shift && shifts[i] == shifts[i - 1]) + ; // Match the previous notecolumn offset + else if (extents[d][i][UP] > extents[d][i - 1][DOWN] + && extents[d][i][DOWN] < extents[d][i - 1][UP]) + offset += 1.0; // fully clear the previous-notecolumn heads + else if (d * extents[d][i][-d] >= d * extents[d][i - 1][d]) offset += Stem::is_valid_stem (stems[d][i - 1]) - ? 1.0 : 0.5; + ? 1.0 : 0.5; // we cross the previous notecolumn else if (Stem::is_valid_stem (stems[d][i])) offset += 0.5; + // check if we cross the opposite-stemmed voices if (d * extents[d][i][-d] < d * extent_union[-d][d]) offset = max (offset, 0.5); diff --git a/lily/note-column-scheme.cc b/lily/note-column-scheme.cc index ed2b04ef95..d9eee204ca 100644 --- a/lily/note-column-scheme.cc +++ b/lily/note-column-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2010--2014 Nicolas Sceaux + Copyright (C) 2010--2015 Nicolas Sceaux LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/note-column.cc b/lily/note-column.cc index e8eb8012d5..91a7690697 100644 --- a/lily/note-column.cc +++ b/lily/note-column.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/note-head-line-engraver.cc b/lily/note-head-line-engraver.cc index ba0c65d71d..f9a6c91b2c 100644 --- a/lily/note-head-line-engraver.cc +++ b/lily/note-head-line-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Jan Nieuwenhuizen + Copyright (C) 2000--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -113,12 +113,10 @@ Note_head_line_engraver::stop_translation_timestep () ADD_ACKNOWLEDGER (Note_head_line_engraver, rhythmic_head); ADD_TRANSLATOR (Note_head_line_engraver, /* doc */ - "Engrave a line between two note heads, for example a" - " glissando. If @code{followVoice} is set, staff switches" - " also generate a line.", + "Engrave a line between two note heads in a staff" + " switch if @code{followVoice} is set.", /* create */ - "Glissando " "VoiceFollower ", /* read */ diff --git a/lily/note-head-scheme.cc b/lily/note-head-scheme.cc index 56347ce5f9..fa0e58dcc6 100644 --- a/lily/note-head-scheme.cc +++ b/lily/note-head-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Han-Wen Nienhuys + Copyright (C) 2006--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/note-head.cc b/lily/note-head.cc index 33128589c0..89c0047c0f 100644 --- a/lily/note-head.cc +++ b/lily/note-head.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -204,6 +204,7 @@ ADD_INTERFACE (Note_head, " @ruser{Note head styles}.", /* properties */ + "duration-log " "note-names " "accidental-grob " "glyph-name " diff --git a/lily/note-heads-engraver.cc b/lily/note-heads-engraver.cc index f2d2159f77..0431981eb6 100644 --- a/lily/note-heads-engraver.cc +++ b/lily/note-heads-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/note-name-engraver.cc b/lily/note-name-engraver.cc index c7ea5ea604..13d3746faf 100644 --- a/lily/note-name-engraver.cc +++ b/lily/note-name-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/note-performer.cc b/lily/note-performer.cc index cd9a3046cb..1ddbb13ca3 100644 --- a/lily/note-performer.cc +++ b/lily/note-performer.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Jan Nieuwenhuizen + Copyright (C) 1996--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/note-spacing-engraver.cc b/lily/note-spacing-engraver.cc index 769b22b968..7a7ca7275f 100644 --- a/lily/note-spacing-engraver.cc +++ b/lily/note-spacing-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Han-Wen Nienhuys + Copyright (C) 2006--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/note-spacing.cc b/lily/note-spacing.cc index 7e17027cb2..0a90b2ddf7 100644 --- a/lily/note-spacing.cc +++ b/lily/note-spacing.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2001--2014 Han-Wen Nienhuys + Copyright (C) 2001--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/open-type-font-scheme.cc b/lily/open-type-font-scheme.cc index 3ec403c9fc..bba695ba00 100644 --- a/lily/open-type-font-scheme.cc +++ b/lily/open-type-font-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/open-type-font.cc b/lily/open-type-font.cc index 49d8fd3177..c6ca27def3 100644 --- a/lily/open-type-font.cc +++ b/lily/open-type-font.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/optimal-page-breaking.cc b/lily/optimal-page-breaking.cc index 5ad4daf9bf..4bcf05f8e4 100644 --- a/lily/optimal-page-breaking.cc +++ b/lily/optimal-page-breaking.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Joe Neeman + Copyright (C) 2006--2015 Joe Neeman LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/ottava-bracket.cc b/lily/ottava-bracket.cc index 7c115de263..f34afd1695 100644 --- a/lily/ottava-bracket.cc +++ b/lily/ottava-bracket.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/ottava-engraver.cc b/lily/ottava-engraver.cc index 67eb00ba11..a2562b785a 100644 --- a/lily/ottava-engraver.cc +++ b/lily/ottava-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys + Copyright (C) 2000--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/output-def-scheme.cc b/lily/output-def-scheme.cc index 7b33582082..0b85c133a8 100644 --- a/lily/output-def-scheme.cc +++ b/lily/output-def-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/output-def.cc b/lily/output-def.cc index efbe2b937a..b6a83212c1 100644 --- a/lily/output-def.cc +++ b/lily/output-def.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -45,6 +45,7 @@ Output_def::Output_def () } Output_def::Output_def (Output_def const &s) + : Smob () { scope_ = SCM_EOL; parent_ = 0; diff --git a/lily/output-property-engraver.cc b/lily/output-property-engraver.cc index 2dc50c72e9..7efe061304 100644 --- a/lily/output-property-engraver.cc +++ b/lily/output-property-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys + Copyright (C) 2000--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/page-breaking-scheme.cc b/lily/page-breaking-scheme.cc index 79619e7d92..2ab01aa509 100644 --- a/lily/page-breaking-scheme.cc +++ b/lily/page-breaking-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Joe Neeman + Copyright (C) 2006--2015 Joe Neeman LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/page-breaking.cc b/lily/page-breaking.cc index 252e24c5df..768cb79cc2 100644 --- a/lily/page-breaking.cc +++ b/lily/page-breaking.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Joe Neeman + Copyright (C) 2006--2015 Joe Neeman LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -747,7 +747,7 @@ Page_breaking::find_chunks_and_breaks (Break_predicate is_break, Prob_break_pred vector line_breaker_columns; line_breaker_columns.push_back (0); - for (vsize j = 1; j < cols.size (); j++) + for (vsize j = 0; j < cols.size (); j++) { if (forced_line_break_cols.size ()) { @@ -1440,7 +1440,7 @@ Page_breaking::finalize_spacing_result (vsize configuration, Page_spacing_result } for (vsize i = ragged () ? res.force_.size () - 1 : 0; - i < res.force_.size () - ragged_last (); + i < res.force_.size () - (is_last () && ragged_last ()); i++) { Real f = res.force_[i]; diff --git a/lily/page-layout-problem-scheme.cc b/lily/page-layout-problem-scheme.cc index 933368517c..68df82a959 100644 --- a/lily/page-layout-problem-scheme.cc +++ b/lily/page-layout-problem-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2011--2014 Joe Neeman + Copyright (C) 2011--2015 Joe Neeman LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/page-layout-problem.cc b/lily/page-layout-problem.cc index 780dd4dfa4..426299f0ad 100644 --- a/lily/page-layout-problem.cc +++ b/lily/page-layout-problem.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2009--2014 Joe Neeman + Copyright (C) 2009--2015 Joe Neeman LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/page-marker-scheme.cc b/lily/page-marker-scheme.cc index e5537e46db..f78069ff96 100644 --- a/lily/page-marker-scheme.cc +++ b/lily/page-marker-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2007--2014 Nicolas Sceaux + Copyright (C) 2007--2015 Nicolas Sceaux LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/page-marker.cc b/lily/page-marker.cc index 78b1b2cefe..1e393862e6 100644 --- a/lily/page-marker.cc +++ b/lily/page-marker.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2007--2014 Nicolas Sceaux + Copyright (C) 2007--2015 Nicolas Sceaux LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -28,6 +28,7 @@ Page_marker::Page_marker () } Page_marker::Page_marker (Page_marker const &src) + : Smob () { symbol_ = src.symbol_; permission_ = src.permission_; diff --git a/lily/page-spacing-result.cc b/lily/page-spacing-result.cc index 90608cf63a..1f29d20f98 100644 --- a/lily/page-spacing-result.cc +++ b/lily/page-spacing-result.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2007--2014 Han-Wen Nienhuys + Copyright (C) 2007--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/page-spacing.cc b/lily/page-spacing.cc index 2c8a88a64b..af7546f671 100644 --- a/lily/page-spacing.cc +++ b/lily/page-spacing.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Joe Neeman + Copyright (C) 2006--2015 Joe Neeman LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/page-turn-engraver.cc b/lily/page-turn-engraver.cc index a3127e0706..22d26371a0 100644 --- a/lily/page-turn-engraver.cc +++ b/lily/page-turn-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Joe Neeman + Copyright (C) 2006--2015 Joe Neeman LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/page-turn-page-breaking.cc b/lily/page-turn-page-breaking.cc index 9008def09a..e8f43b6946 100644 --- a/lily/page-turn-page-breaking.cc +++ b/lily/page-turn-page-breaking.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Joe Neeman + Copyright (C) 2006--2015 Joe Neeman LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/pango-font-scheme.cc b/lily/pango-font-scheme.cc index aec0868932..7f6c60909e 100644 --- a/lily/pango-font-scheme.cc +++ b/lily/pango-font-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/pango-font.cc b/lily/pango-font.cc index 8fe5da409e..4212e21392 100644 --- a/lily/pango-font.cc +++ b/lily/pango-font.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/pango-select-scheme.cc b/lily/pango-select-scheme.cc index f4bb158b87..3c080a5ac4 100644 --- a/lily/pango-select-scheme.cc +++ b/lily/pango-select-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/pango-select.cc b/lily/pango-select.cc index cbca39c230..a0cf0aaee3 100644 --- a/lily/pango-select.cc +++ b/lily/pango-select.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/paper-book-scheme.cc b/lily/paper-book-scheme.cc index 5023f000c8..da2522b560 100644 --- a/lily/paper-book-scheme.cc +++ b/lily/paper-book-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/paper-book.cc b/lily/paper-book.cc index 9cf318416c..382577146f 100644 --- a/lily/paper-book.cc +++ b/lily/paper-book.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Jan Nieuwenhuizen + Copyright (C) 2004--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/paper-column-engraver.cc b/lily/paper-column-engraver.cc index e25e83510d..68c4882904 100644 --- a/lily/paper-column-engraver.cc +++ b/lily/paper-column-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/paper-column.cc b/lily/paper-column.cc index f6e26ec6a1..4e1d68f5f8 100644 --- a/lily/paper-column.cc +++ b/lily/paper-column.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -181,10 +181,13 @@ Paper_column::minimum_distance (Grob *left, Grob *right) } Interval -Paper_column::break_align_width (Grob *me, SCM align_sym) +Paper_column::break_align_width (Grob *me, SCM align_syms) { Grob *p = me->get_parent (X_AXIS); + if (scm_is_symbol (align_syms)) + align_syms = scm_list_1 (align_syms); + if (is_musical (me)) { me->programming_error ("tried to get break-align-width of a musical column"); @@ -192,22 +195,27 @@ Paper_column::break_align_width (Grob *me, SCM align_sym) } Grob *align = 0; - if (align_sym == ly_symbol2scm ("staff-bar") - || align_sym == ly_symbol2scm ("break-alignment")) - align - = Pointer_group_interface::find_grob (me, ly_symbol2scm ("elements"), - (align_sym == ly_symbol2scm ("staff-bar") - ? Bar_line::non_empty_barline - : Break_alignment_interface::has_interface)); - else + for (;!align && scm_is_pair (align_syms); align_syms = scm_cdr (align_syms)) { - extract_grob_set (me, "elements", elts); - for (vsize i = 0; i < elts.size (); i++) + SCM align_sym = scm_car (align_syms); + if (align_sym == ly_symbol2scm ("staff-bar") + || align_sym == ly_symbol2scm ("break-alignment")) + align = Pointer_group_interface::find_grob + (me, ly_symbol2scm ("elements"), + (align_sym == ly_symbol2scm ("staff-bar") + ? Bar_line::non_empty_barline + : Break_alignment_interface::has_interface)); + else { - if (elts[i]->get_property ("break-align-symbol") == align_sym) + extract_grob_set (me, "elements", elts); + for (vsize i = 0; i < elts.size (); i++) { - align = elts[i]; - break; + if (elts[i]->get_property ("break-align-symbol") == align_sym + && !elts[i]->extent (elts[i], X_AXIS).is_empty ()) + { + align = elts[i]; + break; + } } } } @@ -248,7 +256,13 @@ Paper_column::get_interface_extent (Grob *column, SCM iface, Axis a) to your score. Also, as of 2013-10-16 there's a switch in Frescobaldi that turns this on. */ -MAKE_SCHEME_CALLBACK (Paper_column, print, 1); +MAKE_DOCUMENTED_SCHEME_CALLBACK (Paper_column, print, 1, + "Optional stencil for @code{PaperColumn} or" + "@code{NonMusicalPaperColumn}.\n" + "Draws the @code{rank number} of each column," + " its moment in time, a blue arrow showing the" + " ideal distance, and a red arrow showing the" + " minimum distance between columns."); SCM Paper_column::print (SCM p) { diff --git a/lily/paper-def.cc b/lily/paper-def.cc index 34ce9cc1a4..f997c9905d 100644 --- a/lily/paper-def.cc +++ b/lily/paper-def.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/paper-outputter-scheme.cc b/lily/paper-outputter-scheme.cc index 33b2645f21..92863533c4 100644 --- a/lily/paper-outputter-scheme.cc +++ b/lily/paper-outputter-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/paper-outputter.cc b/lily/paper-outputter.cc index 3600d1dbfb..5ba03e95c7 100644 --- a/lily/paper-outputter.cc +++ b/lily/paper-outputter.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/paper-score-scheme.cc b/lily/paper-score-scheme.cc index 40ea72fd2f..5ee1fc5dde 100644 --- a/lily/paper-score-scheme.cc +++ b/lily/paper-score-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/paper-score.cc b/lily/paper-score.cc index 38f108f3c4..af6622a9f3 100644 --- a/lily/paper-score.cc +++ b/lily/paper-score.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -42,12 +42,6 @@ Paper_score::Paper_score (Output_def *layout) paper_systems_ = SCM_BOOL_F; } -Paper_score::Paper_score (Paper_score const &s) - : Music_output (s) -{ - assert (false); -} - void Paper_score::derived_mark () const { diff --git a/lily/paper-system-scheme.cc b/lily/paper-system-scheme.cc index b679d87c5c..c8f515aa52 100644 --- a/lily/paper-system-scheme.cc +++ b/lily/paper-system-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2008--2014 Han-Wen Nienhuys + Copyright (C) 2008--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/paper-system.cc b/lily/paper-system.cc index bdd38e4181..c0b70121fa 100644 --- a/lily/paper-system.cc +++ b/lily/paper-system.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Jan Nieuwenhuizen + Copyright (C) 2004--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/parenthesis-engraver.cc b/lily/parenthesis-engraver.cc index abd1d07cc4..160a393587 100644 --- a/lily/parenthesis-engraver.cc +++ b/lily/parenthesis-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/parse-scm.cc b/lily/parse-scm.cc index a8505fdec6..d18afa9d81 100644 --- a/lily/parse-scm.cc +++ b/lily/parse-scm.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/parser.yy b/lily/parser.yy index 9b67e65193..8a050f0ef9 100644 --- a/lily/parser.yy +++ b/lily/parser.yy @@ -2,7 +2,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/part-combine-engraver.cc b/lily/part-combine-engraver.cc index 3fe404ce35..54ad1797a4 100644 --- a/lily/part-combine-engraver.cc +++ b/lily/part-combine-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Jan Nieuwenhuizen + Copyright (C) 2000--2015 Jan Nieuwenhuizen Han-Wen Nienhuys diff --git a/lily/part-combine-iterator.cc b/lily/part-combine-iterator.cc index 01039d66ab..2428d4a70f 100644 --- a/lily/part-combine-iterator.cc +++ b/lily/part-combine-iterator.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -80,18 +80,26 @@ private: { APART, TOGETHER, - SOLO1, - SOLO2, + SOLO, UNISONO, UNISILENCE, }; Status state_; - Status playing_state_; - /* - Should be SOLO1 or SOLO2 - */ - Status last_playing_; + // For states in which it matters, this is the relevant part, + // e.g. 1 for Solo I, 2 for Solo II. + int chosen_part_; + + // States for generating partcombine text. + enum PlayingState + { + PLAYING_OTHER, + PLAYING_UNISONO, + PLAYING_SOLO1, + PLAYING_SOLO2, + } playing_state_; + + int last_playing_; /* TODO: this is getting off hand... @@ -107,7 +115,7 @@ private: void solo1 (); void solo2 (); void apart (bool silent); - void unisono (bool silent); + void unisono (bool silent, int newpart); }; void @@ -144,8 +152,9 @@ Part_combine_iterator::Part_combine_iterator () horizontalShiftOne_ = scm_from_int (0); horizontalShiftTwo_ = scm_from_int (1); state_ = APART; - playing_state_ = APART; - last_playing_ = APART; + chosen_part_ = 1; + playing_state_ = PLAYING_OTHER; + last_playing_ = 0; busy_ = false; notice_busy_ = false; @@ -234,26 +243,21 @@ Part_combine_iterator::kill_mmrest (int in) } void -Part_combine_iterator::unisono (bool silent) +Part_combine_iterator::unisono (bool silent, int newpart) { Status newstate = (silent) ? UNISILENCE : UNISONO; - if (newstate == state_) + if ((newstate == state_) and (newpart == chosen_part_)) return; else { - /* - If we're coming from SOLO2 state, we might have kill mmrests - in the 1st voice, so in that case, we use the second voice - as a basis for events. - */ - Outlet_type c1 = (last_playing_ == SOLO2) ? CONTEXT_NULL : CONTEXT_SHARED; - Outlet_type c2 = (last_playing_ == SOLO2) ? CONTEXT_SHARED : CONTEXT_NULL; + Outlet_type c1 = (newpart == 2) ? CONTEXT_NULL : CONTEXT_SHARED; + Outlet_type c2 = (newpart == 2) ? CONTEXT_SHARED : CONTEXT_NULL; substitute_both (c1, c2); - kill_mmrest ((last_playing_ == SOLO2) ? CONTEXT_ONE : CONTEXT_TWO); + kill_mmrest ((newpart == 2) ? CONTEXT_ONE : CONTEXT_TWO); kill_mmrest (CONTEXT_SHARED); - if (playing_state_ != UNISONO + if (playing_state_ != PLAYING_UNISONO && newstate == UNISONO) { if (!unisono_event_) @@ -264,29 +268,31 @@ Part_combine_iterator::unisono (bool silent) unisono_event_->unprotect (); } - Context *out = (last_playing_ == SOLO2 ? second_iter_ : first_iter_) + Context *out = (newpart == 2 ? second_iter_ : first_iter_) ->get_outlet (); out->event_source ()->broadcast (unisono_event_); - playing_state_ = UNISONO; + playing_state_ = PLAYING_UNISONO; } state_ = newstate; + chosen_part_ = newpart; } } void Part_combine_iterator::solo1 () { - if (state_ == SOLO1) + if ((state_ == SOLO) && (chosen_part_ == 1)) return; else { - state_ = SOLO1; + state_ = SOLO; + chosen_part_ = 1; substitute_both (CONTEXT_SOLO, CONTEXT_NULL); kill_mmrest (CONTEXT_TWO); kill_mmrest (CONTEXT_SHARED); - if (playing_state_ != SOLO1) + if (playing_state_ != PLAYING_SOLO1) { if (!solo_one_event_) { @@ -298,22 +304,22 @@ Part_combine_iterator::solo1 () first_iter_->get_outlet ()->event_source ()->broadcast (solo_one_event_); } - playing_state_ = SOLO1; + playing_state_ = PLAYING_SOLO1; } } void Part_combine_iterator::solo2 () { - if (state_ == SOLO2) + if ((state_ == SOLO) and (chosen_part_ == 2)) return; else { - state_ = SOLO2; - + state_ = SOLO; + chosen_part_ = 2; substitute_both (CONTEXT_NULL, CONTEXT_SOLO); - if (playing_state_ != SOLO2) + if (playing_state_ != PLAYING_SOLO2) { if (!solo_two_event_) { @@ -324,7 +330,7 @@ Part_combine_iterator::solo2 () } second_iter_->get_outlet ()->event_source ()->broadcast (solo_two_event_); - playing_state_ = SOLO2; + playing_state_ = PLAYING_SOLO2; } } } @@ -336,7 +342,7 @@ Part_combine_iterator::chords_together () return; else { - playing_state_ = TOGETHER; + playing_state_ = PLAYING_OTHER; state_ = TOGETHER; substitute_both (CONTEXT_SHARED, CONTEXT_SHARED); @@ -347,7 +353,7 @@ void Part_combine_iterator::apart (bool silent) { if (!silent) - playing_state_ = APART; + playing_state_ = PLAYING_OTHER; if (state_ == APART) return; @@ -491,9 +497,20 @@ Part_combine_iterator::process (Moment m) || tag == ly_symbol2scm ("apart-spanner")) apart (tag == ly_symbol2scm ("apart-silence")); else if (tag == ly_symbol2scm ("unisono")) - unisono (false); + { + // Continue to use the most recently used part because we might have + // killed mmrests in the other part. + unisono (false, (last_playing_ == 2) ? 2 : 1); + } else if (tag == ly_symbol2scm ("unisilence")) - unisono (true); + { + // as for unisono + unisono (true, (last_playing_ == 2) ? 2 : 1); + } + else if (tag == ly_symbol2scm ("silence1")) + unisono (true, 1); + else if (tag == ly_symbol2scm ("silence2")) + unisono (true, 2); else if (tag == ly_symbol2scm ("solo1")) solo1 (); else if (tag == ly_symbol2scm ("solo2")) @@ -509,13 +526,13 @@ Part_combine_iterator::process (Moment m) if (first_iter_->ok ()) { if (try_process (first_iter_, m)) - last_playing_ = SOLO1; + last_playing_ = 1; } if (second_iter_->ok ()) { if (try_process (second_iter_, m)) - last_playing_ = SOLO2; + last_playing_ = 2; } } diff --git a/lily/partial-iterator.cc b/lily/partial-iterator.cc index a5dd82ab1e..7d1c44fcac 100644 --- a/lily/partial-iterator.cc +++ b/lily/partial-iterator.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2010--2014 Neil Puttock + Copyright (C) 2010--2015 Neil Puttock LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/pdf-scheme.cc b/lily/pdf-scheme.cc index 2c86056391..da2ce2cef3 100644 --- a/lily/pdf-scheme.cc +++ b/lily/pdf-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2011--2014 Reinhold Kainhofer + Copyright (C) 2011--2015 Reinhold Kainhofer LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/percent-repeat-engraver.cc b/lily/percent-repeat-engraver.cc index b2ba05f1ec..004548b2e9 100644 --- a/lily/percent-repeat-engraver.cc +++ b/lily/percent-repeat-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys , Erik Sandberg + Copyright (C) 2000--2015 Han-Wen Nienhuys , Erik Sandberg LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/percent-repeat-item.cc b/lily/percent-repeat-item.cc index f3509dd96a..0b88a8cb45 100644 --- a/lily/percent-repeat-item.cc +++ b/lily/percent-repeat-item.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2001--2014 Han-Wen Nienhuys + Copyright (C) 2001--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/percent-repeat-iterator.cc b/lily/percent-repeat-iterator.cc index c2779f97e3..9d64e65561 100644 --- a/lily/percent-repeat-iterator.cc +++ b/lily/percent-repeat-iterator.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2001--2014 Han-Wen Nienhuys + Copyright (C) 2001--2015 Han-Wen Nienhuys Erik Sandberg LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/performance-scheme.cc b/lily/performance-scheme.cc index e1c31a4146..ed42635756 100644 --- a/lily/performance-scheme.cc +++ b/lily/performance-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/performance.cc b/lily/performance.cc index 800b3cb52e..f462c33229 100644 --- a/lily/performance.cc +++ b/lily/performance.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/performer-group.cc b/lily/performer-group.cc index 78c52f59bc..980590ca1a 100644 --- a/lily/performer-group.cc +++ b/lily/performer-group.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/performer.cc b/lily/performer.cc index fed24aadb2..0f8b2e14b1 100644 --- a/lily/performer.cc +++ b/lily/performer.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/pfb.cc b/lily/pfb.cc index c69333437a..c971024548 100644 --- a/lily/pfb.cc +++ b/lily/pfb.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/phrasing-slur-engraver.cc b/lily/phrasing-slur-engraver.cc index ef11e66ac3..9a36699864 100644 --- a/lily/phrasing-slur-engraver.cc +++ b/lily/phrasing-slur-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/piano-pedal-align-engraver.cc b/lily/piano-pedal-align-engraver.cc index 4c984f253e..5b98c34205 100644 --- a/lily/piano-pedal-align-engraver.cc +++ b/lily/piano-pedal-align-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Han-Wen Nienhuys + Copyright (C) 2006--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/piano-pedal-bracket.cc b/lily/piano-pedal-bracket.cc index f6338ce8da..d01776882c 100644 --- a/lily/piano-pedal-bracket.cc +++ b/lily/piano-pedal-bracket.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2003--2014 Han-Wen Nienhuys + Copyright (C) 2003--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/piano-pedal-engraver.cc b/lily/piano-pedal-engraver.cc index 6699078cee..02c8dff869 100644 --- a/lily/piano-pedal-engraver.cc +++ b/lily/piano-pedal-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Jan Nieuwenhuizen , + Copyright (C) 2000--2015 Jan Nieuwenhuizen , Erik Sandberg Chris Jackson - extended to support diff --git a/lily/piano-pedal-performer.cc b/lily/piano-pedal-performer.cc index b3c2aefd58..49ec0dd7fe 100644 --- a/lily/piano-pedal-performer.cc +++ b/lily/piano-pedal-performer.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Jan Nieuwenhuizen + Copyright (C) 2000--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/pitch-interval.cc b/lily/pitch-interval.cc index db5bae653b..3a5670be50 100644 --- a/lily/pitch-interval.cc +++ b/lily/pitch-interval.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/pitch-scheme.cc b/lily/pitch-scheme.cc index 22b18c4bbe..16f11c983e 100644 --- a/lily/pitch-scheme.cc +++ b/lily/pitch-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/pitch-squash-engraver.cc b/lily/pitch-squash-engraver.cc index c2832da16a..d9796ff0e0 100644 --- a/lily/pitch-squash-engraver.cc +++ b/lily/pitch-squash-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/pitch.cc b/lily/pitch.cc index 94c46a2cdb..0fd7512947 100644 --- a/lily/pitch.cc +++ b/lily/pitch.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/pitched-trill-engraver.cc b/lily/pitched-trill-engraver.cc index 68897e2987..b30d984edc 100644 --- a/lily/pitched-trill-engraver.cc +++ b/lily/pitched-trill-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/pointer-group-interface-scheme.cc b/lily/pointer-group-interface-scheme.cc index 42ff535f54..02be37d814 100644 --- a/lily/pointer-group-interface-scheme.cc +++ b/lily/pointer-group-interface-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2010--2014 Han-Wen Nienhuys + Copyright (C) 2010--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/pointer-group-interface.cc b/lily/pointer-group-interface.cc index 2b03999c0c..73cf9fd6a9 100644 --- a/lily/pointer-group-interface.cc +++ b/lily/pointer-group-interface.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/prob-scheme.cc b/lily/prob-scheme.cc index 0dd8380ef2..a57cb7aa9f 100644 --- a/lily/prob-scheme.cc +++ b/lily/prob-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/prob.cc b/lily/prob.cc index 918c4d8d70..52ce8b6821 100644 --- a/lily/prob.cc +++ b/lily/prob.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Jan Nieuwenhuizen + Copyright (C) 2004--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -76,7 +76,7 @@ Prob::equal_p (SCM sa, SCM sb) return SCM_BOOL_T; } -Prob::Prob (SCM type, SCM immutable_init) +Prob::Prob (SCM type, SCM immutable_init) : Smob () { mutable_property_alist_ = SCM_EOL; immutable_property_alist_ = immutable_init; @@ -89,6 +89,7 @@ Prob::~Prob () } Prob::Prob (Prob const &src) + : Smob () { immutable_property_alist_ = src.immutable_property_alist_; mutable_property_alist_ = SCM_EOL; diff --git a/lily/profile.cc b/lily/profile.cc index f51df87ef0..dd38f0425b 100644 --- a/lily/profile.cc +++ b/lily/profile.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/program-option-scheme.cc b/lily/program-option-scheme.cc index 71538d69e6..769c97064f 100644 --- a/lily/program-option-scheme.cc +++ b/lily/program-option-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2001--2014 Han-Wen Nienhuys + Copyright (C) 2001--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/program-option.cc b/lily/program-option.cc index e54429319d..21fc5c166c 100644 --- a/lily/program-option.cc +++ b/lily/program-option.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2007--2014 Han-Wen Nienhuys + Copyright (C) 2007--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/property-iterator.cc b/lily/property-iterator.cc index 24f6383a7a..bb1d3b4c18 100644 --- a/lily/property-iterator.cc +++ b/lily/property-iterator.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/protected-scm.cc b/lily/protected-scm.cc index bfcd1c45ea..c0235496f4 100644 --- a/lily/protected-scm.cc +++ b/lily/protected-scm.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/pure-from-neighbor-engraver.cc b/lily/pure-from-neighbor-engraver.cc index 0c246f1b71..7061a92684 100644 --- a/lily/pure-from-neighbor-engraver.cc +++ b/lily/pure-from-neighbor-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2011--2014 Mike Solomon + Copyright (C) 2011--2015 Mike Solomon LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/pure-from-neighbor-interface.cc b/lily/pure-from-neighbor-interface.cc index a24c761480..e4be5c4db1 100644 --- a/lily/pure-from-neighbor-interface.cc +++ b/lily/pure-from-neighbor-interface.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2011--2014 Mike Solomon + Copyright (C) 2011--2015 Mike Solomon LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -53,8 +53,8 @@ Pure_from_neighbor_interface::calc_pure_relevant_grobs (SCM smob) } ADD_INTERFACE (Pure_from_neighbor_interface, - "A collection of routines to allow for objects' pure" - "heights and heights to be calculated based on the" + "A collection of routines to allow for objects' pure " + "heights and heights to be calculated based on the " "heights of the objects' neighbors.", /* properties */ diff --git a/lily/quote-iterator.cc b/lily/quote-iterator.cc index 17f7b71433..66f0590893 100644 --- a/lily/quote-iterator.cc +++ b/lily/quote-iterator.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/relative-octave-check.cc b/lily/relative-octave-check.cc index 00973f79fc..a68c5b8e4a 100644 --- a/lily/relative-octave-check.cc +++ b/lily/relative-octave-check.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/relative-octave-music.cc b/lily/relative-octave-music.cc index f501e19a79..52efa5098c 100644 --- a/lily/relative-octave-music.cc +++ b/lily/relative-octave-music.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/relocate.cc b/lily/relocate.cc index f4cee071af..2adfb6f2f7 100644 --- a/lily/relocate.cc +++ b/lily/relocate.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/repeat-acknowledge-engraver.cc b/lily/repeat-acknowledge-engraver.cc index 1846d6686d..a76484e086 100644 --- a/lily/repeat-acknowledge-engraver.cc +++ b/lily/repeat-acknowledge-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys + Copyright (C) 2000--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/repeat-tie-engraver.cc b/lily/repeat-tie-engraver.cc index 14a08e5251..9c59ac01c9 100644 --- a/lily/repeat-tie-engraver.cc +++ b/lily/repeat-tie-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/repeated-music.cc b/lily/repeated-music.cc index b56c61c648..f7eb5d9964 100644 --- a/lily/repeated-music.cc +++ b/lily/repeated-music.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/rest-collision-engraver.cc b/lily/rest-collision-engraver.cc index 620c606349..47e2d71f11 100644 --- a/lily/rest-collision-engraver.cc +++ b/lily/rest-collision-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/rest-collision.cc b/lily/rest-collision.cc index d82358661f..7648f6d9a0 100644 --- a/lily/rest-collision.cc +++ b/lily/rest-collision.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/rest-engraver.cc b/lily/rest-engraver.cc index b64dfe4a4d..928e4d7d95 100644 --- a/lily/rest-engraver.cc +++ b/lily/rest-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/rest.cc b/lily/rest.cc index 7191b3ba93..4f05764296 100644 --- a/lily/rest.cc +++ b/lily/rest.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -72,12 +72,13 @@ Rest::staff_position_internal (Grob *me, int duration_log, int dir) return pos; } - pos = 4 * dir; + Real vpos = dir * robust_scm2int (me->get_property ("voiced-position"), 0); + pos = vpos; if (duration_log > 1) /* Only half notes or longer want alignment with staff lines */ return pos; - + /* We need a staff symbol for actually aligning anything */ @@ -89,9 +90,9 @@ Rest::staff_position_internal (Grob *me, int duration_log, int dir) if (linepos.empty ()) return pos; - + std::sort (linepos.begin (), linepos.end ()); - + if (duration_log == 0) { /* @@ -105,7 +106,7 @@ Rest::staff_position_internal (Grob *me, int duration_log, int dir) make a semibreve rest hang from the next available line, except when there is none. */ - + std::vector::const_iterator it = std::upper_bound (linepos.begin (), linepos.end (), pos); if (it != linepos.end ()) @@ -127,16 +128,15 @@ Rest::staff_position_internal (Grob *me, int duration_log, int dir) return pos; /* If we have a voiced position, make sure that it's on the - proper side of neutral before using it. If it isn't, we fall - back to a constant offset from neutral position. + proper side of neutral before using it. */ Real neutral = staff_position_internal (me, duration_log, 0); if (dir * (pos - neutral) > 0) return pos; - - return neutral + 4 * dir; + else + return neutral + vpos; } /* A rest might lie under a beam, in which case it should be cross-staff if @@ -199,11 +199,10 @@ Rest::glyph_name (Grob *me, int durlog, const string &style, bool try_ledgers, actual_style = ""; } - if ((style == "classical") && (durlog != 2)) + if (((style == "classical") || (style == "z")) && (durlog != 2)) { /* - classical style: revert back to default style for any rest other - than quarter rest + these styles differ from the default in quarter rests only */ actual_style = ""; } @@ -318,4 +317,5 @@ ADD_INTERFACE (Rest, "direction " "minimum-distance " "style " + "voiced-position " ); diff --git a/lily/rhythmic-column-engraver.cc b/lily/rhythmic-column-engraver.cc index 34691ff20e..28a06f79b0 100644 --- a/lily/rhythmic-column-engraver.cc +++ b/lily/rhythmic-column-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/rhythmic-head.cc b/lily/rhythmic-head.cc index 2c6b2bee5f..1030f5e13b 100644 --- a/lily/rhythmic-head.cc +++ b/lily/rhythmic-head.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/rod.cc b/lily/rod.cc index db619ea09b..9d9b6520fc 100644 --- a/lily/rod.cc +++ b/lily/rod.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/scale.cc b/lily/scale.cc index 8bdf02bdf0..a5afd41dae 100644 --- a/lily/scale.cc +++ b/lily/scale.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Han-Wen Nienhuys + Copyright (C) 2006--2015 Han-Wen Nienhuys 2007--2008 Rune Zedeler 2008 Joe Neeman @@ -143,6 +143,7 @@ Scale::Scale (vector const &tones) } Scale::Scale (Scale const &src) + : Smob () { step_tones_ = src.step_tones_; smobify_self (); diff --git a/lily/scheme-engraver.cc b/lily/scheme-engraver.cc index 80a3310ba7..8d2054161b 100644 --- a/lily/scheme-engraver.cc +++ b/lily/scheme-engraver.cc @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - Copyright (c) 2009--2014 Han-Wen Nienhuys + Copyright (c) 2009--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/scheme-listener-scheme.cc b/lily/scheme-listener-scheme.cc index 3a9187c648..8a3930c6fb 100644 --- a/lily/scheme-listener-scheme.cc +++ b/lily/scheme-listener-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Erik Sandberg + Copyright (C) 2006--2015 Erik Sandberg LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/scheme-listener.cc b/lily/scheme-listener.cc index 5db5125caa..9df6960bdf 100644 --- a/lily/scheme-listener.cc +++ b/lily/scheme-listener.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Erik Sandberg + Copyright (C) 2006--2015 Erik Sandberg LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/scm-hash.cc b/lily/scm-hash.cc index 91958477eb..5eb048f6d1 100644 --- a/lily/scm-hash.cc +++ b/lily/scm-hash.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -50,6 +50,7 @@ Scheme_hash_table::Scheme_hash_table () } Scheme_hash_table::Scheme_hash_table (Scheme_hash_table const &src) + : Smob () { hash_tab_ = SCM_EOL; smobify_self (); diff --git a/lily/score-engraver.cc b/lily/score-engraver.cc index 54f34575d2..08f7b9c460 100644 --- a/lily/score-engraver.cc +++ b/lily/score-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/score-performer.cc b/lily/score-performer.cc index e14fa62638..9c3b82267d 100644 --- a/lily/score-performer.cc +++ b/lily/score-performer.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Jan Nieuwenhuizen + Copyright (C) 1996--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/score-scheme.cc b/lily/score-scheme.cc index 913cdc14c0..ed930d5fa0 100644 --- a/lily/score-scheme.cc +++ b/lily/score-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/score.cc b/lily/score.cc index 6ebad7db9d..3a1232d2a2 100644 --- a/lily/score.cc +++ b/lily/score.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -73,6 +73,7 @@ Score::mark_smob () } Score::Score (Score const &s) + : Smob () { header_ = SCM_EOL; music_ = SCM_EOL; diff --git a/lily/script-column-engraver.cc b/lily/script-column-engraver.cc index 86c6f8681f..dc34098664 100644 --- a/lily/script-column-engraver.cc +++ b/lily/script-column-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/script-column.cc b/lily/script-column.cc index 4735af862f..2456f8b00b 100644 --- a/lily/script-column.cc +++ b/lily/script-column.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -39,6 +39,7 @@ Script_column::add_side_positioned (Grob *me, Grob *script) return; Pointer_group_interface::add_grob (me, ly_symbol2scm ("scripts"), script); + script->set_object ("script-column", me->self_scm ()); } LY_DEFINE (ly_grob_script_priority_less, "ly:grob-script-priority-less", @@ -179,5 +180,5 @@ ADD_INTERFACE (Script_column, " @code{script-priority} and @code{outside-staff-priority}.", /* properties */ - "" + "scripts " ); diff --git a/lily/script-engraver.cc b/lily/script-engraver.cc index d9783523e8..f2ef9697a1 100644 --- a/lily/script-engraver.cc +++ b/lily/script-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/script-interface.cc b/lily/script-interface.cc index b30363ebcc..c4a136b06f 100644 --- a/lily/script-interface.cc +++ b/lily/script-interface.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -153,11 +153,13 @@ ADD_INTERFACE (Script_interface, "avoid-slur " "direction-source " "positioning-done " + "script-column " "script-priority " "script-stencil " "side-relative-direction " "slur " "slur-padding " "toward-stem-shift " + "toward-stem-shift-in-column " ); diff --git a/lily/script-row-engraver.cc b/lily/script-row-engraver.cc index 6c22930e0c..dc81f38b7f 100644 --- a/lily/script-row-engraver.cc +++ b/lily/script-row-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Han-Wen Nienhuys + Copyright (C) 2006--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/self-alignment-interface.cc b/lily/self-alignment-interface.cc index 8e7bf9203b..bdb2854fd4 100644 --- a/lily/self-alignment-interface.cc +++ b/lily/self-alignment-interface.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/semi-tie-column.cc b/lily/semi-tie-column.cc index ba5707016b..9af746cf4c 100644 --- a/lily/semi-tie-column.cc +++ b/lily/semi-tie-column.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/semi-tie.cc b/lily/semi-tie.cc index 0423160798..d9209098dd 100644 --- a/lily/semi-tie.cc +++ b/lily/semi-tie.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/separating-line-group-engraver.cc b/lily/separating-line-group-engraver.cc index c63ff065ed..07f2681c4c 100644 --- a/lily/separating-line-group-engraver.cc +++ b/lily/separating-line-group-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/separation-item.cc b/lily/separation-item.cc index 6b50b117ee..5e93a13e4c 100644 --- a/lily/separation-item.cc +++ b/lily/separation-item.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -186,7 +186,15 @@ Separation_item::boxes (Grob *me, Grob *left) return out; } -MAKE_SCHEME_CALLBACK (Separation_item, print, 1) +MAKE_DOCUMENTED_SCHEME_CALLBACK (Separation_item, print, 1, + "Optional stencil for @code{PaperColumn} or" + "@code{NonMusicalPaperColumn}.\n" + "Draws the @code{horizontal-skylines} of each" + " @code{PaperColumn}, showing the shapes used" + " to determine the minimum distances between" + " @code{PaperColumns} at the note-spacing step," + " before staves have been spaced (vertically)" + " on the page.") SCM Separation_item::print (SCM smob) { diff --git a/lily/sequential-iterator.cc b/lily/sequential-iterator.cc index 1429abd51e..0ff37e8a02 100644 --- a/lily/sequential-iterator.cc +++ b/lily/sequential-iterator.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/side-position-interface.cc b/lily/side-position-interface.cc index ee4b94570a..95eba005ee 100644 --- a/lily/side-position-interface.cc +++ b/lily/side-position-interface.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -380,10 +380,9 @@ Side_position_interface::aligned_side (Grob *me, Axis a, bool pure, int start, i Interval staff_span = Staff_symbol::line_span (staff); staff_span.widen (1); if (staff_span.contains (position) - /* In case of a ledger lines, quantize even if we're outside the staff. */ + /* If we are between notehead and staff, quantize for ledger lines. */ || (Note_head::has_interface (head) - - && abs (Staff_symbol_referencer::get_position (head)) > abs (position))) + && dir * position < 0)) { total_off += (rounded - position) * 0.5 * ss; if (Staff_symbol_referencer::on_line (me, int (rounded))) diff --git a/lily/simple-closure.cc b/lily/simple-closure.cc index de8eb22af1..e99c8570b7 100644 --- a/lily/simple-closure.cc +++ b/lily/simple-closure.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/simple-music-iterator.cc b/lily/simple-music-iterator.cc index a67f976bd1..8345d60d6f 100644 --- a/lily/simple-music-iterator.cc +++ b/lily/simple-music-iterator.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys + Copyright (C) 2000--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/simple-spacer-scheme.cc b/lily/simple-spacer-scheme.cc index fe14925be8..cc09da1021 100644 --- a/lily/simple-spacer-scheme.cc +++ b/lily/simple-spacer-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/simple-spacer.cc b/lily/simple-spacer.cc index 1f2f5aaa6d..d17fa1ed73 100644 --- a/lily/simple-spacer.cc +++ b/lily/simple-spacer.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys TODO: - add support for different stretch/shrink constants? diff --git a/lily/simultaneous-music-iterator.cc b/lily/simultaneous-music-iterator.cc index 3e42ed96c0..1ce8490772 100644 --- a/lily/simultaneous-music-iterator.cc +++ b/lily/simultaneous-music-iterator.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/skyline-pair.cc b/lily/skyline-pair.cc index 205fd889d5..92ae97a342 100644 --- a/lily/skyline-pair.cc +++ b/lily/skyline-pair.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2008--2014 Han-Wen Nienhuys + Copyright (C) 2008--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify @@ -54,13 +54,6 @@ Skyline_pair::raise (Real r) skylines_[DOWN].raise (r); } -void -Skyline_pair::deholify () -{ - skylines_[UP].deholify (); - skylines_[DOWN].deholify (); -} - void Skyline_pair::shift (Real r) { diff --git a/lily/skyline.cc b/lily/skyline.cc index 36cceceb8e..66cca3fd53 100644 --- a/lily/skyline.cc +++ b/lily/skyline.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Joe Neeman + Copyright (C) 2006--2015 Joe Neeman LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -22,7 +22,6 @@ #include #include - /* A skyline is a sequence of non-overlapping buildings: something like this: _______ @@ -124,11 +123,11 @@ Building::precompute (Real start, Real start_height, Real end_height, Real end) assert (start_height == end_height); y_intercept_ = start_height; } - else if (fabs(slope_) > 1e6) + else if (fabs (slope_) > 1e6) // too steep to be stored in slope-intercept form, given round-off error { slope_ = 0.0; - y_intercept_ = max(start_height, end_height); + y_intercept_ = max (start_height, end_height); } else y_intercept_ = start_height - slope_ * start; @@ -153,13 +152,6 @@ Building::intersection_x (Building const &other) const return isnan (ret) ? -infinity_f : ret; } -void -Building::leading_part (Real chop) -{ - assert (chop <= end_); - end_ = chop; -} - // Returns a shift s such that (x + s, y) intersects the roof of // this building. If no such shift exists, returns infinity_f. Real @@ -173,50 +165,12 @@ Building::shift_to_intersect (Real x, Real y) const return infinity_f; } -static Real -first_intersection (Building const &b, list *s, Real start_x) -/* Return the first x >= start_x where skyline s above Building b. - * Removes buildings from s that are concealed by b. */ -{ - while (!s->empty () && start_x < b.end_) - { - Building c = s->front (); - - // conceals and intersection_x involve multiplication and - // division. Avoid that, if we can. - if (c.y_intercept_ == -infinity_f) - { - if (c.end_ > b.end_) - return b.end_; - start_x = c.end_; - s->pop_front (); - continue; - } - - if (c.conceals (b, start_x)) - return start_x; - - Real i = b.intersection_x (c); - if (i > start_x && i <= b.end_ && i <= c.end_) - return i; - - start_x = c.end_; - if (b.end_ > c.end_) - s->pop_front (); - } - return b.end_; -} - bool -Building::conceals (Building const &other, Real x) const +Building::above (Building const &other, Real x) const { - if (slope_ == other.slope_) - return y_intercept_ > other.y_intercept_; - - /* their slopes were not equal, so there is an intersection point */ - Real i = intersection_x (other); - return (i <= x && slope_ > other.slope_) - || (i > x && slope_ < other.slope_); + return (isinf (y_intercept_) || isinf (other.y_intercept_) || isinf (x)) + ? y_intercept_ > other.y_intercept_ + : (slope_ - other.slope_) * x + y_intercept_ > other.y_intercept_; } // Remove redundant empty buildings from the skyline. @@ -246,93 +200,80 @@ Skyline::normalize () } void -Skyline::deholify () -{ - // Since a skyline should always be normalized, we can - // assume that there are never two adjacent empty buildings. - // That is, if center is empty then left and right are not. - list::iterator left = buildings_.begin (); - list::iterator center = buildings_.begin (); - list::iterator right; - - for (right = buildings_.begin (); right != buildings_.end (); right++) - { - if (center != buildings_.begin () && center->y_intercept_ == -infinity_f) - { - Real p1 = left->height (left->end_); - Real p2 = right->height (right->start_); - *center = Building (center->start_, p1, p2, center->end_); - - left = center; - center = right; - } - } -} - -void -Skyline::internal_merge_skyline (list *s1, list *s2, +Skyline::internal_merge_skyline (list *sb, list *sc, list *const result) const { - if (s1->empty () || s2->empty ()) + if (sb->empty () || sc->empty ()) { programming_error ("tried to merge an empty skyline"); return; } - Real x = -infinity_f; - Real last_end = -infinity_f; - while (!s1->empty ()) + Building b = sb->front (); + for (; !sc->empty (); sc->pop_front ()) { - if (s2->front ().conceals (s1->front (), x)) - swap (s1, s2); - - Building b = s1->front (); - Building c = s2->front (); - - // Optimization: if the other skyline is empty at this point, - // we can avoid testing some intersections. Just grab as many - // buildings from s1 as we can, and shove them onto the output. - if (c.y_intercept_ == -infinity_f - && c.end_ >= b.end_) - { - list::iterator i = s1->begin (); - i++; - while (i != s1->end () && i->end_ <= c.end_) - i++; - - s1->front ().start_ = x; - result->splice (result->end (), *s1, s1->begin (), i); - x = result->back ().end_; - last_end = x; - continue; - } - // first_intersection() removes buildings from s2 if b hides them - Real end = first_intersection (b, s2, x); - if (s2->empty ()) + /* Building b is continuing from the previous pass through the loop. + Building c is newly-considered, and starts no earlier than b started. + The comments draw b as if its roof had zero slope ----. + with dashes where b lies above c. + The roof of c could rise / or fall \ through the roof of b, + or the vertical sides | of c could intersect the roof of b. */ + Building c = sc->front (); + if (b.end_ < c.end_) /* finish with b */ { - b.start_ = last_end; - result->push_back (b); - break; + if (b.end_ <= b.start_) /* we are already finished with b */ + ; + else if (c.above (b, c.start_)) /* -| . | */ + { + Building m (b); + m.end_ = c.start_; + if (m.end_ > m.start_) + result->push_back (m); + if (b.above (c, b.end_)) /* -|\--. */ + { + Building n (c); + n.end_ = b.start_ = b.intersection_x (c); + result->push_back (n); + result->push_back (b); + } + } + else + { + if (c.above (b, b.end_)) /* ---/ . | */ + b.end_ = b.intersection_x (c); + else /* -----. */ + c.start_ = b.end_; + result->push_back (b); + } + /* 'c' continues further, so move it into 'b' for the next pass. */ + b = c; + swap (sb, sc); } - - // Should be (end > x), during ver2.19. end == x happens fairly often, - // and we do not need to keep vertical segments within a skyline. - if (end >= x) + else /* b.end_ > c.end_ so finish with c */ { - b.leading_part (end); - b.start_ = last_end; - last_end = b.end_; - result->push_back (b); + if (c.above (b, c.start_)) /* -| |---. */ + { + Building m (b); + m.end_ = c.start_; + if (m.end_ > m.start_) + result->push_back (m); + if (b.above (c, c.end_)) /* -| \---. */ + c.end_ = b.intersection_x (c); + } + else if (c.above (b, c.end_)) /* ---/|--. */ + { + Building m (b); + c.start_ = m.end_ = b.intersection_x (c); + result->push_back (m); + } + else /* c is completely hidden by b */ + continue; + result->push_back (c); + b.start_ = c.end_; } - - if (end >= s1->front ().end_) - s1->pop_front (); - // Should add during ver2.19 (to avoid an endless loop - // when merging identical skylines with a vertical segment) - // if (end >= s2->front().end_) s2->pop_front(); - - x = end; } + if (b.end_ > b.start_) + result->push_back (b); } static void diff --git a/lily/slash-repeat-engraver.cc b/lily/slash-repeat-engraver.cc index a6b3faa56c..f9f0bfb76a 100644 --- a/lily/slash-repeat-engraver.cc +++ b/lily/slash-repeat-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys , Erik Sandberg + Copyright (C) 2000--2015 Han-Wen Nienhuys , Erik Sandberg LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/slur-configuration.cc b/lily/slur-configuration.cc index a5d783703c..3383c1f3b0 100644 --- a/lily/slur-configuration.cc +++ b/lily/slur-configuration.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/slur-engraver.cc b/lily/slur-engraver.cc index e1e738b568..b6661993c1 100644 --- a/lily/slur-engraver.cc +++ b/lily/slur-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/slur-performer.cc b/lily/slur-performer.cc index 69ad9cd0cb..222a9d75fa 100644 --- a/lily/slur-performer.cc +++ b/lily/slur-performer.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Jan Nieuwenhuizen + Copyright (C) 1996--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/slur-proto-engraver.cc b/lily/slur-proto-engraver.cc index a72bbbc5a9..9d6d134958 100644 --- a/lily/slur-proto-engraver.cc +++ b/lily/slur-proto-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2013--2014 Mike Solomon + Copyright (C) 2013--2015 Mike Solomon LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/slur-score-parameters.cc b/lily/slur-score-parameters.cc index ef2b7496ae..46ac1e6295 100644 --- a/lily/slur-score-parameters.cc +++ b/lily/slur-score-parameters.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Han-Wen Nienhuys + Copyright (C) 2006--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/slur-scoring.cc b/lily/slur-scoring.cc index 7ffdacee0c..7271cc7a7c 100644 --- a/lily/slur-scoring.cc +++ b/lily/slur-scoring.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify @@ -42,7 +42,6 @@ #include "staff-symbol-referencer.hh" #include "staff-symbol.hh" #include "stem.hh" -#include "time-signature.hh" #include "warn.hh" /* @@ -286,7 +285,7 @@ Slur_score_state::fill (Grob *me) && minmax (dir_, encompass_place, y_place) == encompass_place && (!extra_encompass_infos_[i].grob_->internal_has_interface (ly_symbol2scm ("key-signature-interface")) && !Clef::has_interface (extra_encompass_infos_[i].grob_) - && !Time_signature::has_interface (extra_encompass_infos_[i].grob_))) + && !extra_encompass_infos_[i].grob_->internal_has_interface (ly_symbol2scm ("time-signature-interface")))) { for (LEFT_and_RIGHT (d)) additional_ys[d] = minmax (dir_, diff --git a/lily/slur.cc b/lily/slur.cc index d0184b5ebc..22c24b76b2 100644 --- a/lily/slur.cc +++ b/lily/slur.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/smobs.cc b/lily/smobs.cc index f599a51a28..d1bea956d4 100644 --- a/lily/smobs.cc +++ b/lily/smobs.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/source-file.cc b/lily/source-file.cc index fe8635a495..69b18e90e5 100644 --- a/lily/source-file.cc +++ b/lily/source-file.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/sources.cc b/lily/sources.cc index dc784d2bdb..b42300f47a 100644 --- a/lily/sources.cc +++ b/lily/sources.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -29,11 +29,6 @@ Sources::Sources () path_ = 0; } -Sources::Sources (Sources const &) -{ - assert (false); -} - void Sources::set_path (File_path *f) { diff --git a/lily/spaceable-grob.cc b/lily/spaceable-grob.cc index 278e8dabea..c3c608cc0b 100644 --- a/lily/spaceable-grob.cc +++ b/lily/spaceable-grob.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys + Copyright (C) 2000--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/spacing-basic.cc b/lily/spacing-basic.cc index 282ceae729..20f76dfda0 100644 --- a/lily/spacing-basic.cc +++ b/lily/spacing-basic.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/spacing-determine-loose-columns.cc b/lily/spacing-determine-loose-columns.cc index 9796a897ec..e7e0a7f3f7 100644 --- a/lily/spacing-determine-loose-columns.cc +++ b/lily/spacing-determine-loose-columns.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/spacing-engraver.cc b/lily/spacing-engraver.cc index 510154cd84..42fb3d9bf2 100644 --- a/lily/spacing-engraver.cc +++ b/lily/spacing-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/spacing-interface.cc b/lily/spacing-interface.cc index b7bef8d2c3..b8b3cf0711 100644 --- a/lily/spacing-interface.cc +++ b/lily/spacing-interface.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2007--2014 Joe Neeman + Copyright (C) 2007--2015 Joe Neeman LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/spacing-loose-columns.cc b/lily/spacing-loose-columns.cc index 2a70a5546e..4ff82e6b75 100644 --- a/lily/spacing-loose-columns.cc +++ b/lily/spacing-loose-columns.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/spacing-options.cc b/lily/spacing-options.cc index c375bd2a1a..dbf0587acd 100644 --- a/lily/spacing-options.cc +++ b/lily/spacing-options.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Han-Wen Nienhuys + Copyright (C) 2006--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/spacing-spanner.cc b/lily/spacing-spanner.cc index 204893627d..ee4904999f 100644 --- a/lily/spacing-spanner.cc +++ b/lily/spacing-spanner.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/span-arpeggio-engraver.cc b/lily/span-arpeggio-engraver.cc index d4dd0f04fe..e81dcfe258 100644 --- a/lily/span-arpeggio-engraver.cc +++ b/lily/span-arpeggio-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Jan Nieuwenhuizen + Copyright (C) 2000--2015 Jan Nieuwenhuizen Han-Wen Nienhuys diff --git a/lily/span-bar-engraver.cc b/lily/span-bar-engraver.cc index a1420d532b..732c206f3c 100644 --- a/lily/span-bar-engraver.cc +++ b/lily/span-bar-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/span-bar-stub-engraver.cc b/lily/span-bar-stub-engraver.cc index 9cf52dc98f..9e1927db94 100644 --- a/lily/span-bar-stub-engraver.cc +++ b/lily/span-bar-stub-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2011--2014 Mike Solomon + Copyright (C) 2011--2015 Mike Solomon LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/spanner-break-forbid-engraver.cc b/lily/spanner-break-forbid-engraver.cc index 980709005c..4a47aade98 100644 --- a/lily/spanner-break-forbid-engraver.cc +++ b/lily/spanner-break-forbid-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2007--2014 Han-Wen Nienhuys + Copyright (C) 2007--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/spanner-scheme.cc b/lily/spanner-scheme.cc index cee8c535f0..b364f48177 100644 --- a/lily/spanner-scheme.cc +++ b/lily/spanner-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2007--2014 Han-Wen Nienhuys + Copyright (C) 2007--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/spanner.cc b/lily/spanner.cc index e3d8cb6169..8475231321 100644 --- a/lily/spanner.cc +++ b/lily/spanner.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -366,9 +366,10 @@ Spanner::set_spacing_rods (SCM smob) { Grob *me = Grob::unsmob (smob); SCM num_length = me->get_property ("minimum-length"); - if (scm_is_number (num_length)) + SCM broken_length = me->get_property ("minimum-length-after-break"); + if (scm_is_number (num_length) + || scm_is_number (broken_length)) { - Rod r; Spanner *sp = dynamic_cast (me); System *root = get_root_system (me); Drul_array bounds (sp->get_bound (LEFT), @@ -389,9 +390,23 @@ Spanner::set_spacing_rods (SCM smob) r.item_drul_[LEFT] = cols.back ()->find_prebroken_piece (RIGHT); r.item_drul_[RIGHT] = sp->get_bound (RIGHT); + if (scm_is_number (broken_length)) + /* + r.distance_ may have been modified by add_to_cols () + above. For treatment of minimum-distance-after-break + consistent with minimum-distance (which will use the + changed value), we cannot directly reset r.distance_ to + broken_length. + */ + r.distance_ += robust_scm2double (broken_length, 0) - + robust_scm2double (num_length, 0); r.add_to_cols (); } + Rod r; + /* + As r is a fresh rod, we can set distance_ with no complication. + */ r.distance_ = robust_scm2double (num_length, 0); r.item_drul_[LEFT] = sp->get_bound (LEFT); r.item_drul_[RIGHT] = sp->get_bound (RIGHT); @@ -546,6 +561,7 @@ ADD_INTERFACE (Spanner, /* properties */ "normalized-endpoints " "minimum-length " + "minimum-length-after-break " "spanner-broken " "spanner-id " "to-barline " diff --git a/lily/spring-smob.cc b/lily/spring-smob.cc index dd5b22be1c..4f6a787e37 100644 --- a/lily/spring-smob.cc +++ b/lily/spring-smob.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/spring.cc b/lily/spring.cc index 3963ee4452..d1640e72b9 100644 --- a/lily/spring.cc +++ b/lily/spring.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2007--2014 Joe Neeman + Copyright (C) 2007--2015 Joe Neeman LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/staff-collecting-engraver.cc b/lily/staff-collecting-engraver.cc index 6bfe49420b..2ff2b79caf 100644 --- a/lily/staff-collecting-engraver.cc +++ b/lily/staff-collecting-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2001--2014 Han-Wen Nienhuys + Copyright (C) 2001--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/staff-grouper-interface.cc b/lily/staff-grouper-interface.cc index 0b0dcd38d2..6e496ca03c 100644 --- a/lily/staff-grouper-interface.cc +++ b/lily/staff-grouper-interface.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2009--2014 Joe Neeman + Copyright (C) 2009--2015 Joe Neeman LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/staff-performer.cc b/lily/staff-performer.cc index d3368ad683..7235c0486d 100644 --- a/lily/staff-performer.cc +++ b/lily/staff-performer.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/staff-spacing.cc b/lily/staff-spacing.cc index c0219f7065..99052146bb 100644 --- a/lily/staff-spacing.cc +++ b/lily/staff-spacing.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2001--2014 Han-Wen Nienhuys + Copyright (C) 2001--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/staff-symbol-engraver.cc b/lily/staff-symbol-engraver.cc index 12ec0c704b..f9994d6954 100644 --- a/lily/staff-symbol-engraver.cc +++ b/lily/staff-symbol-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/staff-symbol-referencer-scheme.cc b/lily/staff-symbol-referencer-scheme.cc index 22e6790f74..be282fa4b6 100644 --- a/lily/staff-symbol-referencer-scheme.cc +++ b/lily/staff-symbol-referencer-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/staff-symbol-referencer.cc b/lily/staff-symbol-referencer.cc index 6fc5f17639..89863d0e43 100644 --- a/lily/staff-symbol-referencer.cc +++ b/lily/staff-symbol-referencer.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2014 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/staff-symbol.cc b/lily/staff-symbol.cc index a5db48de46..6ae66d85c1 100644 --- a/lily/staff-symbol.cc +++ b/lily/staff-symbol.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -65,11 +65,19 @@ Staff_symbol::print (SCM smob) else { Item *x = sp->get_bound (d); - - span_points[d] = ((!x->break_status_dir () - && !x->extent (x, X_AXIS).is_empty ()) - ? Paper_column::break_align_width (x, ly_symbol2scm ("break-alignment"))[d] - : x->relative_coordinate (common, X_AXIS)); + if (x->extent (x, X_AXIS).is_empty () + || (x->break_status_dir () && sp->broken_neighbor (d))) + span_points[d] = x->relative_coordinate (common, X_AXIS); + // What the default implementation of to-barline does for + // spanners is not really in usefully recognizable shape by + // now, so we just reimplement. + else + { + SCM where = (d == RIGHT + ? me->get_property ("break-align-symbols") + : ly_symbol2scm ("break-alignment")); + span_points[d] = Paper_column::break_align_width (x, where)[d]; + } } span_points[d] -= d * t / 2; @@ -255,7 +263,9 @@ Staff_symbol::line_count (Grob *me) Real Staff_symbol::staff_space (Grob *me) { - return robust_scm2double (me->get_property ("staff-space"), 1.0); + Real ss = me->layout ()->get_dimension (ly_symbol2scm ("staff-space")); + + return robust_scm2double (me->get_property ("staff-space"), 1.0) * ss; } Real @@ -372,6 +382,7 @@ ADD_INTERFACE (Staff_symbol, " @code{width} property.", /* properties */ + "break-align-symbols " "ledger-extra " "ledger-line-thickness " "ledger-positions " diff --git a/lily/stanza-number-align-engraver.cc b/lily/stanza-number-align-engraver.cc index 45ac84382c..c32653abe0 100644 --- a/lily/stanza-number-align-engraver.cc +++ b/lily/stanza-number-align-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2004--2014 Han-Wen Nienhuys + Copyright (C) 2004--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/stanza-number-engraver.cc b/lily/stanza-number-engraver.cc index ddcd526d58..892bae633c 100644 --- a/lily/stanza-number-engraver.cc +++ b/lily/stanza-number-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys , Glen Prideaux + Copyright (C) 2000--2015 Han-Wen Nienhuys , Glen Prideaux LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/stem-engraver.cc b/lily/stem-engraver.cc index bf69688a9c..45c777fb04 100644 --- a/lily/stem-engraver.cc +++ b/lily/stem-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -236,11 +236,13 @@ ADD_ACKNOWLEDGER (Stem_engraver, rhythmic_head); ADD_TRANSLATOR (Stem_engraver, /* doc */ - "Create stems and single-stem tremolos. It also works" + "Create stems, flags and single-stem tremolos. It also works" " together with the beam engraver for overriding beaming.", /* create */ + "Flag " "Stem " + "StemStub " "StemTremolo ", /* read */ diff --git a/lily/stem-tremolo.cc b/lily/stem-tremolo.cc index b3bb3bec9e..9021642785 100644 --- a/lily/stem-tremolo.cc +++ b/lily/stem-tremolo.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/stem.cc b/lily/stem.cc index 5e828fa842..045a90760b 100644 --- a/lily/stem.cc +++ b/lily/stem.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys Jan Nieuwenhuizen TODO: This is way too hairy diff --git a/lily/stencil-expression.cc b/lily/stencil-expression.cc index 6e97e27b18..c156d0aa9f 100644 --- a/lily/stencil-expression.cc +++ b/lily/stencil-expression.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/stencil-integral.cc b/lily/stencil-integral.cc index c455503c2f..91f1333867 100644 --- a/lily/stencil-integral.cc +++ b/lily/stencil-integral.cc @@ -1058,7 +1058,6 @@ Stencil::skylines_from_stencil (SCM sten, Real pad, Axis a) for (DOWN_and_UP (d)) out[d] = out[d].padded (pad); - out.deholify (); return out.smobbed_copy (); } diff --git a/lily/stencil-interpret.cc b/lily/stencil-interpret.cc index 1b3779c120..26e891dfb7 100644 --- a/lily/stencil-interpret.cc +++ b/lily/stencil-interpret.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/stencil-scheme.cc b/lily/stencil-scheme.cc index 09ae2dade9..ebf3cd6c15 100644 --- a/lily/stencil-scheme.cc +++ b/lily/stencil-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/stencil.cc b/lily/stencil.cc index 7be0b5f8af..41eb2f1e85 100644 --- a/lily/stencil.cc +++ b/lily/stencil.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/stream-event-scheme.cc b/lily/stream-event-scheme.cc index 52538d4742..c1d0543f8c 100644 --- a/lily/stream-event-scheme.cc +++ b/lily/stream-event-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2014 Erik Sandberg + Copyright (C) 2006--2015 Erik Sandberg LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/stream-event.cc b/lily/stream-event.cc index 95dc13f16e..674f22fda4 100644 --- a/lily/stream-event.cc +++ b/lily/stream-event.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Erik Sandberg + Copyright (C) 2005--2015 Erik Sandberg LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/sustain-pedal.cc b/lily/sustain-pedal.cc index 5cd6dfeba1..e020bc522e 100644 --- a/lily/sustain-pedal.cc +++ b/lily/sustain-pedal.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys + Copyright (C) 2000--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/system-start-delimiter-engraver.cc b/lily/system-start-delimiter-engraver.cc index 96349d9ba6..ebc77e86ba 100644 --- a/lily/system-start-delimiter-engraver.cc +++ b/lily/system-start-delimiter-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/system-start-delimiter.cc b/lily/system-start-delimiter.cc index 8987c44601..6a898559b3 100644 --- a/lily/system-start-delimiter.cc +++ b/lily/system-start-delimiter.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys + Copyright (C) 2000--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/system.cc b/lily/system.cc index 959b85c46a..6d6b5ac8f3 100644 --- a/lily/system.cc +++ b/lily/system.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2014 Han-Wen Nienhuys + Copyright (C) 1996--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/tab-note-heads-engraver.cc b/lily/tab-note-heads-engraver.cc index c4789566cc..42dd7e4b1f 100644 --- a/lily/tab-note-heads-engraver.cc +++ b/lily/tab-note-heads-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2002--2014 Han-Wen Nienhuys, Jean-Baptiste Lamy , + Copyright (C) 2002--2015 Han-Wen Nienhuys, Jean-Baptiste Lamy , LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/tab-staff-symbol-engraver.cc b/lily/tab-staff-symbol-engraver.cc index e9ff8880b7..be0b343de3 100644 --- a/lily/tab-staff-symbol-engraver.cc +++ b/lily/tab-staff-symbol-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/tab-tie-follow-engraver.cc b/lily/tab-tie-follow-engraver.cc index bbe5fca91e..16da8853a1 100644 --- a/lily/tab-tie-follow-engraver.cc +++ b/lily/tab-tie-follow-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2010--2014 Carl D. Sorensen + Copyright (C) 2010--2015 Carl D. Sorensen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/template5.cc b/lily/template5.cc index 35d15f0829..8f9118aee6 100644 --- a/lily/template5.cc +++ b/lily/template5.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/tempo-performer.cc b/lily/tempo-performer.cc index 01ecb4c3a0..f69166e9c5 100644 --- a/lily/tempo-performer.cc +++ b/lily/tempo-performer.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/text-engraver.cc b/lily/text-engraver.cc index 52a7e3a4a3..f242fa4db2 100644 --- a/lily/text-engraver.cc +++ b/lily/text-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/text-interface.cc b/lily/text-interface.cc index f45d06ac3b..909ab9b099 100644 --- a/lily/text-interface.cc +++ b/lily/text-interface.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/text-spanner-engraver.cc b/lily/text-spanner-engraver.cc index 6a4b32b27d..8b0e72265d 100644 --- a/lily/text-spanner-engraver.cc +++ b/lily/text-spanner-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Jan Nieuwenhuizen + Copyright (C) 2000--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/tie-column.cc b/lily/tie-column.cc index 6c25883812..ad89411d5d 100644 --- a/lily/tie-column.cc +++ b/lily/tie-column.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys + Copyright (C) 2000--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/tie-configuration.cc b/lily/tie-configuration.cc index 219fcbc8cb..7628753872 100644 --- a/lily/tie-configuration.cc +++ b/lily/tie-configuration.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/tie-details.cc b/lily/tie-details.cc index 1ae244485c..c774c4e45e 100644 --- a/lily/tie-details.cc +++ b/lily/tie-details.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/tie-engraver.cc b/lily/tie-engraver.cc index dfe41f21b0..5ca994873f 100644 --- a/lily/tie-engraver.cc +++ b/lily/tie-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -23,6 +23,7 @@ #include "international.hh" #include "item.hh" #include "note-head.hh" +#include "pitch.hh" #include "protected-scm.hh" #include "spanner.hh" #include "staff-symbol-referencer.hh" @@ -77,6 +78,7 @@ class Tie_engraver : public Engraver vector ties_; Spanner *tie_column_; + bool tie_notehead (Grob *h, bool enharmonic); protected: void process_acknowledged (); @@ -145,12 +147,11 @@ Tie_engraver::process_music () context ()->set_property ("tieMelismaBusy", SCM_BOOL_T); } -void -Tie_engraver::acknowledge_note_head (Grob_info i) +bool +Tie_engraver::tie_notehead (Grob *h, bool enharmonic) { - Grob *h = i.grob (); + bool found = false; - now_heads_.push_back (h); for (vsize i = 0; i < heads_to_tie_.size (); i++) { Grob *th = heads_to_tie_[i].head_; @@ -167,7 +168,12 @@ Tie_engraver::acknowledge_note_head (Grob_info i) Make a tie only if pitches are equal or if event end was not generated by Completion_heads_engraver. */ - if (ly_is_equal (right_ev->get_property ("pitch"), left_ev->get_property ("pitch")) + SCM p1 = left_ev->get_property ("pitch"); + SCM p2 = right_ev->get_property ("pitch"); + if ((enharmonic + ? (Pitch::is_smob (p1) && Pitch::is_smob (p2) && + Pitch::unsmob (p1)->tone_pitch () == Pitch::unsmob (p2)->tone_pitch ()) + : ly_is_equal (p1, p2)) && (!Tie_engraver::has_autosplit_end (left_ev))) { Grob *p = heads_to_tie_[i].tie_; @@ -191,6 +197,7 @@ Tie_engraver::acknowledge_note_head (Grob_info i) ties_.push_back (p); heads_to_tie_.erase (heads_to_tie_.begin () + i); + found = true; /* Prevent all other tied notes ending at the same moment (assume implicitly the notes have also started at the same moment!) @@ -202,10 +209,21 @@ Tie_engraver::acknowledge_note_head (Grob_info i) if (heads_to_tie_[j].end_moment_ == end) heads_to_tie_[j].tie_from_chord_created = true; } + break; } - else - i++; } + return found; +} + +void +Tie_engraver::acknowledge_note_head (Grob_info i) +{ + Grob *h = i.grob (); + + now_heads_.push_back (h); + + if (!tie_notehead (h, false)) + tie_notehead (h, true); if (ties_.size () && ! tie_column_) tie_column_ = make_spanner ("TieColumn", ties_[0]->self_scm ()); diff --git a/lily/tie-formatting-problem.cc b/lily/tie-formatting-problem.cc index 8a016bde21..f944454a71 100644 --- a/lily/tie-formatting-problem.cc +++ b/lily/tie-formatting-problem.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify @@ -151,7 +151,7 @@ Tie_formatting_problem::set_column_chord_outline (vector bounds, stem_end_position = stem->extent (stem, Y_AXIS)[get_grob_direction (stem)]; else // May want to change this to the stem's pure height... - stem_end_position = Stem::note_head_positions (stem)[get_grob_direction (stem)] + stem_end_position = Stem::head_positions (stem)[get_grob_direction (stem)] * staff_space * .5; } diff --git a/lily/tie-performer.cc b/lily/tie-performer.cc index 77fb9e336d..ba7954e995 100644 --- a/lily/tie-performer.cc +++ b/lily/tie-performer.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -113,6 +113,31 @@ Tie_performer::acknowledge_audio_element (Audio_element_info inf) it = heads_to_tie_.erase (it); } } + if (found) + return; + for (it = heads_to_tie_.begin (); + !found && (it != heads_to_tie_.end ()); + it++) + { + Audio_element_info et = (*it).head_; + Audio_note *th = dynamic_cast (et.elem_); + Stream_event *left_mus = et.event_; + + if (!(th && right_mus && left_mus)) + continue; + + SCM p1 = left_mus->get_property ("pitch"); + SCM p2 = right_mus->get_property ("pitch"); + if (Pitch::is_smob (p1) && Pitch::is_smob (p2) + && Pitch::unsmob (p1)->tone_pitch () == Pitch::unsmob (p2)->tone_pitch ()) + { + found = true; + // (*it).moment_ already stores the end of the tied note! + Moment skip = now_mom () - (*it).end_moment_; + an->tie_to (th, skip); + it = heads_to_tie_.erase (it); + } + } } } diff --git a/lily/tie.cc b/lily/tie.cc index 8a93da7227..9bffbb3ce1 100644 --- a/lily/tie.cc +++ b/lily/tie.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -300,7 +300,101 @@ Tie::print (SCM smob) } ADD_INTERFACE (Tie, - "A horizontal curve connecting two noteheads.", + "A tie - a horizontal curve connecting two noteheads.\n" + "\n" + "The following properties may be set in the @code{details}" + " list.\n" + "\n" + "@table @code\n" + "@item height-limit\n" + "The maximum height allowed for this tie.\n" + "@item ratio\n" + "Parameter for tie shape. The higher this number, the" + " quicker the slur attains its height-limit.\n" + "@item between-length-limit\n" + "This detail is currently unused.\n" + "@item wrong-direction-offset-penalty\n" + "Demerit for ties that are offset in the wrong" + " direction.\n" + "@item min-length\n" + "If the tie is shorter than this amount (in" + " staff-spaces) an increasingly large length penalty is" + " incurred.\n" + "@item min-length-penalty-factor\n" + "Demerit factor for tie lengths shorter than" + " @code{min-length}.\n" + "@item center-staff-line-clearance\n" + "If the center of the tie is closer to a staff line" + " than this amount, an increasingly large staff line" + " collision penalty is incurred.\n" + "@item tip-staff-line-clearance\n" + "If the tips of the tie are closer to a staff line" + " than this amount, an increasingly large staff line" + " collision penalty is incurred.\n" + "@item staff-line-collision-penalty\n" + "Demerit factor for ties whose tips or center come" + " close to staff lines.\n" + "@item dot-collision-clearance\n" + "If the tie comes closer to a dot than this amount, an" + " increasingly large dot collision penalty is incurred.\n" + "@item dot-collision-penalty\n" + "Demerit factor for ties which come close to dots.\n" + "@item note-head-gap\n" + "The distance (in staff-spaces) by which the ends of" + " the tie are offset horizontally from the center" + " line through the note head.\n" + "@item stem-gap\n" + "The distance (in staff-spaces) by which the ends of" + " the tie are offset horizontally from a stem which" + " is on the same side of the note head as the tie.\n" + "@item tie-column-monotonicity-penalty\n" + "Demerit if the y-position of this tie in the set of" + " ties being considered is less than the y-position" + " of the previous tie.\n" + "@item tie-tie-collision-distance\n" + "If this tie is closer than this amount to the previous" + " tie in the set being considered, an increasingly" + " large tie-tie collision penalty is incurred.\n" + "@item tie-tie-collision-penalty\n" + "Demerit factor for a tie in the set being considered" + " which is close to the previous one.\n" + "@item horizontal-distance-penalty-factor\n" + "Demerit factor for ties in the set being considered" + " which are horizontally distant from the note heads.\n" + "@item vertical-distance-penalty-factor\n" + "Demerit factor for ties in the set being considered" + " which are vertically distant from the note heads.\n" + "@item same-dir-as-stem-penalty\n" + "Demerit if tie is on the same side as a stem or on the" + " opposite side to the one specified.\n" + "@item intra-space-threshold\n" + "If the tie's height (in half staff-spaces) is less than" + " this it is positioned between two adjacent staff" + " lines; otherwise it is positioned to straddle a staff" + " line further from the note heads.\n" + "@item outer-tie-length-symmetry-penalty-factor\n" + "Demerit factor for ties horizontally positioned" + " unsymmetrically with respect to the two note heads.\n" + "@item outer-tie-vertical-distance-symmetry-penalty-factor\n" + "Demerit factor for ties vertically positioned" + " unsymmetrically with respect to the two note heads.\n" + "@item outer-tie-vertical-gap\n" + "Amount (in half staff-spaces) by which a tie is moved" + " away from the note heads if it is closer to either" + " of them than 0.25 half staff-spaces.\n" + "@item skyline-padding\n" + "Padding of the skylines around note heads in chords.\n" + "@item single-tie-region-size\n" + "The number of candidate ties to generate when only a" + " single tie is required. Successive candidates differ" + " in their initial vertical position by half a" + " staff-space.\n" + "@item multi-tie-region-size\n" + "The number of variations that are tried for the" + " extremal ties in a chord. Variations differ in their" + " initial vertical position by half a staff-space.\n" + + "@end table\n", /* properties */ "annotation " diff --git a/lily/time-signature-engraver.cc b/lily/time-signature-engraver.cc index 38989dc882..53205cbb6c 100644 --- a/lily/time-signature-engraver.cc +++ b/lily/time-signature-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -24,7 +24,6 @@ #include "misc.hh" #include "moment.hh" #include "stream-event.hh" -#include "time-signature.hh" #include "warn.hh" #include "translator.icc" @@ -81,10 +80,9 @@ Time_signature_engraver::process_music () time_signature_ = make_item ("TimeSignature", time_cause_); time_signature_->set_property ("fraction", fr); - // Todo: "implicit" does not seem perfectly accurate (issue 4151) if (last_time_fraction_ == SCM_BOOL_F) time_signature_->set_property ("break-visibility", - get_property ("implicitTimeSignatureVisibility")); + get_property ("initialTimeSignatureVisibility")); int den = scm_to_int (scm_cdr (fr)); if (den != (1 << intlog2 (den))) @@ -129,7 +127,7 @@ ADD_TRANSLATOR (Time_signature_engraver, "TimeSignature ", /* read */ - "implicitTimeSignatureVisibility " + "initialTimeSignatureVisibility " "partialBusy " "timeSignatureFraction ", diff --git a/lily/time-signature-performer.cc b/lily/time-signature-performer.cc index 5ca26e66da..d9c25554fd 100644 --- a/lily/time-signature-performer.cc +++ b/lily/time-signature-performer.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/time-signature.cc b/lily/time-signature.cc deleted file mode 100644 index 96ab197581..0000000000 --- a/lily/time-signature.cc +++ /dev/null @@ -1,156 +0,0 @@ -/* - This file is part of LilyPond, the GNU music typesetter. - - Copyright (C) 1996--2014 Han-Wen Nienhuys - - LilyPond is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - LilyPond is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with LilyPond. If not, see . -*/ - -#include "time-signature.hh" - -#include "grob.hh" -#include "font-interface.hh" -#include "international.hh" -#include "output-def.hh" -#include "text-interface.hh" - -/* - TODO: - - this file should go ; The formatting can completely be done with - markups. -*/ - -MAKE_SCHEME_CALLBACK (Time_signature, print, 1); -SCM -Time_signature::print (SCM smob) -{ - Grob *me = Grob::unsmob (smob); - SCM st = me->get_property ("style"); - SCM frac = me->get_property ("fraction"); - int n = 4; - int d = 4; - if (scm_is_pair (frac)) - { - n = scm_to_int (scm_car (frac)); - d = scm_to_int (scm_cdr (frac)); - } - - Stencil m; - if (st == ly_symbol2scm ("single-digit")) - m = numbered_time_signature (me, n, 0); - else if (scm_is_symbol (st)) - m = special_time_signature (me, st, n, d); - else - m = numbered_time_signature (me, n, d); - - return m.smobbed_copy (); -} - -Stencil -Time_signature::special_time_signature (Grob *me, SCM scm_style, int n, int d) -{ - string style = robust_symbol2string (scm_style, "default"); - - if (style == "numbered") - return numbered_time_signature (me, n, d); - - if ((style == "default") || (style == "")) - style = ::to_string ("C"); - - if (style == "C") - { - if /* neither C2/2 nor C4/4 */ - (((n != 2) || (d != 2)) - && ((n != 4) || (d != 4))) - return numbered_time_signature (me, n, d); - } - - string char_name = style + ::to_string (n) + ::to_string (d); - me->set_property ("font-encoding", ly_symbol2scm ("fetaMusic")); - Stencil out = Font_interface::get_default_font (me) - ->find_by_name ("timesig." + char_name); - if (!out.is_empty ()) - return out; - - /* If there is no such symbol, we default to the numbered style. - (Here really with a warning!) */ - me->warning (_f ("time signature symbol `%s' not found; " - "reverting to numbered style", char_name)); - return numbered_time_signature (me, n, d); -} - -Stencil -Time_signature::numbered_time_signature (Grob *me, int num, int den) -{ - SCM chain = me->get_property_alist_chain (Font_interface::text_font_alist_chain (me)); - chain = scm_cons (scm_list_1 (scm_cons (ly_symbol2scm ("font-encoding"), - ly_symbol2scm ("fetaText"))), - chain); - - SCM sn = Text_interface::interpret_markup (me->layout ()->self_scm (), chain, - ly_string2scm (::to_string (num))); - SCM sd = Text_interface::interpret_markup (me->layout ()->self_scm (), chain, - ly_string2scm (::to_string (den))); - - Stencil n = *Stencil::unsmob (sn); - Stencil d = *Stencil::unsmob (sd); - - n.align_to (X_AXIS, CENTER); - d.align_to (X_AXIS, CENTER); - Stencil m; - if (den) - { - m.add_at_edge (Y_AXIS, UP, n, 0.0); - m.add_at_edge (Y_AXIS, DOWN, d, 0.0); - } - else - { - m = n; - m.align_to (Y_AXIS, CENTER); - } - - m.align_to (X_AXIS, LEFT); - - return m; -} - -ADD_INTERFACE (Time_signature, - "A time signature, in different styles. The following values" - " for @code{style} are are recognized:\n" - "\n" - "@table @code\n" - "@item C\n" - "4/4 and 2/2 are typeset as C and struck C, respectively." - " All other time signatures are written with two digits." - " The value @code{default} is equivalent to @code{C}.\n" - "@item neomensural\n" - "2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8, and 9/8 are" - " typeset with neo-mensural style mensuration marks. All" - " other time signatures are written with two digits.\n" - "@item mensural\n" - "2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8, and 9/8 are" - " typeset with mensural style mensuration marks. All other" - " time signatures are written with two digits.\n" - "@item single-digit\n" - "All time signatures are typeset with a single digit, e.g.," - " 3/2 is written as 3.\n" - "@item numbered\n" - "All time signatures are typeset with two digits.\n" - "@end table", - - /* properties */ - "fraction " - "style " - ); diff --git a/lily/timing-translator.cc b/lily/timing-translator.cc index e5b8f98c84..6c3a5c88c2 100644 --- a/lily/timing-translator.cc +++ b/lily/timing-translator.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/translator-ctors.cc b/lily/translator-ctors.cc index a41e7d434a..1368e73762 100644 --- a/lily/translator-ctors.cc +++ b/lily/translator-ctors.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/translator-dispatch-list.cc b/lily/translator-dispatch-list.cc index 4faac71167..5174bb33d3 100644 --- a/lily/translator-dispatch-list.cc +++ b/lily/translator-dispatch-list.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/translator-group-ctors.cc b/lily/translator-group-ctors.cc index 02d9a28ac2..92655f21a4 100644 --- a/lily/translator-group-ctors.cc +++ b/lily/translator-group-ctors.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/translator-group.cc b/lily/translator-group.cc index 2f6615f17d..5a5b5695f0 100644 --- a/lily/translator-group.cc +++ b/lily/translator-group.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys , + Copyright (C) 1997--2015 Han-Wen Nienhuys , Erik Sandberg LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/translator-scheme.cc b/lily/translator-scheme.cc index d73c625f19..1be52621b3 100644 --- a/lily/translator-scheme.cc +++ b/lily/translator-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2002--2014 Han-Wen Nienhuys + Copyright (C) 2002--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/translator.cc b/lily/translator.cc index b2ba4d8768..5798a0061c 100644 --- a/lily/translator.cc +++ b/lily/translator.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -54,9 +54,9 @@ Translator::Translator () init (); } -Translator::Translator (Translator const &src) +Translator::Translator (Translator const &) + : Smob () { - (void) src; init (); } diff --git a/lily/trill-spanner-engraver.cc b/lily/trill-spanner-engraver.cc index f9d6c1b51c..d71743fbce 100644 --- a/lily/trill-spanner-engraver.cc +++ b/lily/trill-spanner-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Jan Nieuwenhuizen + Copyright (C) 2000--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/ttf.cc b/lily/ttf.cc index e46628ab0c..6a68f00c3d 100644 --- a/lily/ttf.cc +++ b/lily/ttf.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/tuplet-bracket.cc b/lily/tuplet-bracket.cc index 188496c0dd..5c89378499 100644 --- a/lily/tuplet-bracket.cc +++ b/lily/tuplet-bracket.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify @@ -837,6 +837,7 @@ ADD_INTERFACE (Tuplet_bracket, "note-columns " "padding " "tuplet-number " + "scripts " "shorten-pair " "staff-padding " "thickness " diff --git a/lily/tuplet-engraver.cc b/lily/tuplet-engraver.cc index 612f661d3b..b9c35fb482 100644 --- a/lily/tuplet-engraver.cc +++ b/lily/tuplet-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys + Copyright (C) 1998--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/tuplet-iterator.cc b/lily/tuplet-iterator.cc index 20d04e651b..80a75a9beb 100644 --- a/lily/tuplet-iterator.cc +++ b/lily/tuplet-iterator.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Han-Wen Nienhuys , + Copyright (C) 1998--2015 Han-Wen Nienhuys , Erik Sandberg LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/tuplet-number.cc b/lily/tuplet-number.cc index 039dfaf530..bfe35480b1 100644 --- a/lily/tuplet-number.cc +++ b/lily/tuplet-number.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/tweak-engraver.cc b/lily/tweak-engraver.cc index a2a3b65922..560cabfc4f 100644 --- a/lily/tweak-engraver.cc +++ b/lily/tweak-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2014 Han-Wen Nienhuys + Copyright (C) 2005--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/unfolded-repeat-iterator.cc b/lily/unfolded-repeat-iterator.cc deleted file mode 100644 index b9872e9f36..0000000000 --- a/lily/unfolded-repeat-iterator.cc +++ /dev/null @@ -1,63 +0,0 @@ -/* - This file is part of LilyPond, the GNU music typesetter. - - Copyright (C) 2002--2014 Han-Wen Nienhuys - - LilyPond is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - LilyPond is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with LilyPond. If not, see . -*/ - -#include "music.hh" -#include "sequential-iterator.hh" -#include "context.hh" - -class Unfolded_repeat_iterator : public Sequential_iterator -{ -public: - DECLARE_SCHEME_CALLBACK (constructor, ()); -protected: - virtual SCM get_music_list () const; -}; - -SCM -Unfolded_repeat_iterator::get_music_list () const -{ - SCM l = SCM_EOL; - SCM *tail = &l; - - SCM body = get_music ()->get_property ("element"); - SCM alts = get_music ()->get_property ("elements"); - int alt_count = scm_ilength (alts); - int rep_count = scm_to_int (get_music ()->get_property ("repeat-count")); - - for (int i = 0; i < rep_count; i++) - { - if (Music::is_smob (body)) - *tail = scm_cons (body, SCM_EOL); - - tail = SCM_CDRLOC (*tail); - - if (alt_count) - { - *tail = scm_cons (scm_car (alts), SCM_EOL); - tail = SCM_CDRLOC (*tail); - if (i >= rep_count - alt_count) - - alts = scm_cdr (alts); - } - } - - return l; -} - -IMPLEMENT_CTOR_CALLBACK (Unfolded_repeat_iterator); diff --git a/lily/unpure-pure-container.cc b/lily/unpure-pure-container.cc index 761d14b7b8..ede75022c6 100644 --- a/lily/unpure-pure-container.cc +++ b/lily/unpure-pure-container.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2011--2014 Mike Solomon + Copyright (C) 2011--2015 Mike Solomon LilyPond is free software: you can redistribute it and/or modify diff --git a/lily/vaticana-ligature-engraver.cc b/lily/vaticana-ligature-engraver.cc index 626916729b..cc9a489472 100644 --- a/lily/vaticana-ligature-engraver.cc +++ b/lily/vaticana-ligature-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2003--2014 Juergen Reuter + Copyright (C) 2003--2015 Juergen Reuter LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/vaticana-ligature.cc b/lily/vaticana-ligature.cc index a180db6fa2..fd95c43380 100644 --- a/lily/vaticana-ligature.cc +++ b/lily/vaticana-ligature.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2003--2014 Juergen Reuter + Copyright (C) 2003--2015 Juergen Reuter LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/vertical-align-engraver.cc b/lily/vertical-align-engraver.cc index 62968c13e4..472b1a080a 100644 --- a/lily/vertical-align-engraver.cc +++ b/lily/vertical-align-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/volta-bracket.cc b/lily/volta-bracket.cc index d6927b6c12..d4a4e0b41e 100644 --- a/lily/volta-bracket.cc +++ b/lily/volta-bracket.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/volta-engraver.cc b/lily/volta-engraver.cc index 7e7e65cb04..fe568a5fd5 100644 --- a/lily/volta-engraver.cc +++ b/lily/volta-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2014 Han-Wen Nienhuys + Copyright (C) 2000--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/volta-repeat-iterator.cc b/lily/volta-repeat-iterator.cc index 0774ca07e8..09c2495f05 100644 --- a/lily/volta-repeat-iterator.cc +++ b/lily/volta-repeat-iterator.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2002--2014 Han-Wen Nienhuys + Copyright (C) 2002--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/lily/warn-scheme.cc b/lily/warn-scheme.cc index be29eaad59..cd9efc9ad4 100644 --- a/lily/warn-scheme.cc +++ b/lily/warn-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2014 Jan Nieuwenhuizen + Copyright (C) 1998--2015 Jan Nieuwenhuizen Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify diff --git a/ly/articulate.ly b/ly/articulate.ly index 6992c87ebd..bbfea19a8f 100644 --- a/ly/articulate.ly +++ b/ly/articulate.ly @@ -347,13 +347,11 @@ (ly:music-property music 'elements))) (pre-t (if (pair? tr) (ly:music-property (car tr) 'twiddle) '())) + (hemisemimom (ly:make-moment 1/64)) (t (ac:targetTwiddleTime))) (if (ly:moment? pre-t) pre-t - (let loop ((len (ly:music-length music))) - (if (ly:momentexact (round (/ (ly:moment-main-numerator c1) (* 2 (ly:moment-main-denominator c1)))))) @@ -402,6 +400,18 @@ ; (ac:accel trillMusic factor)) ))) + +% Copy music and strip articulations, ties, etc., for generating +% mordents etc. +#(define (ac:note-copy music) + "return a copy of music that is only notes, no articulations, ties, slurs etc" + (let ((new-music (ly:music-deep-copy music))) + (set! (ly:music-property new-music 'articulations) '()) + (set! (ly:music-property new-music 'elements) + (filter (lambda (y) (eq? 'NoteEvent (ly:music-property y 'name))) + (ly:music-property new-music 'elements))) + new-music)) + % % Generate a tempoChangeEvent and its associated property setting. % @@ -687,72 +697,54 @@ ; or a half-shake -- a short, two twiddle trill. ; We implement as a half-shake. (let* - ((totallength (ly:music-length music)) - (newlen (ly:moment-sub totallength (ly:make-moment 3/32))) - (newdur (ly:make-duration - 0 0 - (ly:moment-main-numerator newlen) - (ly:moment-main-denominator newlen))) + ((origlength (ly:music-length music)) (gracedur (ly:make-duration 5 0 1/1)) - (gracenote (ly:music-deep-copy music)) - (abovenote (ly:music-deep-copy music)) - (mainnote (ly:music-deep-copy music)) - (prall (make-sequential-music (list gracenote abovenote))) - ) - (music-map (lambda (n) - (if (eq? 'NoteEvent (ly:music-property n 'name)) - (set! (ly:music-property n 'duration) gracedur)) - n) - abovenote) - (music-map (lambda (n) - (if (eq? 'NoteEvent (ly:music-property n 'name)) - (set! (ly:music-property n 'duration) gracedur)) - n) - gracenote) - (music-map (lambda (n) - (if (eq? 'NoteEvent (ly:music-property n 'name)) - (set! (ly:music-property n 'duration) newdur)) - n) - mainnote) - - (map (lambda (y) (ac:up y)) - (filter - (lambda (z) (eq? 'NoteEvent (ly:music-property z 'name))) - (ly:music-property abovenote 'elements))) - (make-sequential-music (list abovenote gracenote abovenote mainnote)))) + (gracenote (ac:note-copy music)) + (abovenote (ac:note-copy music)) + (abovenoteTwo (ac:note-copy music)) + (mainnote (ly:music-deep-copy music))) + + (map (lambda (y) (ac:setduration y gracedur)) + (ly:music-property gracenote 'elements)) + (map (lambda (y) (ac:setduration y gracedur)) + (ly:music-property abovenote 'elements)) + (map (lambda (y) (ac:setduration y gracedur)) + (ly:music-property abovenoteTwo 'elements)) + (map (lambda (y) (ac:up y)) + (filter + (lambda (z) (eq? 'NoteEvent (ly:music-property z 'name))) + (ly:music-property abovenote 'elements))) + (map (lambda (y) (ac:up y)) + (filter + (lambda (z) (eq? 'NoteEvent (ly:music-property z 'name))) + (ly:music-property abovenoteTwo 'elements))) + (let* ((prallMusic (make-sequential-music + (list abovenote gracenote abovenoteTwo mainnote))) + (newlen (ly:music-length prallMusic)) + (factor (ly:moment-div origlength newlen))) + (ly:music-compress prallMusic factor)))) ((mordent) (let* - ((totaldur (ly:music-property - (car (ly:music-property music 'elements)) 'duration)) - (dur (ly:duration-length totaldur)) - (newlen (ly:moment-sub dur (ly:make-moment 2/32))) - (newdur (ly:make-duration - 0 0 - (ly:moment-main-numerator newlen) - (ly:moment-main-denominator newlen))) - (gracenote (ly:music-deep-copy music)) - (belownote (ly:music-deep-copy music)) - (mainnote (ly:music-deep-copy music)) - (mordent (make-sequential-music (list gracenote belownote))) - ) - (begin - (music-map (lambda (n) - (if (eq? 'NoteEvent (ly:music-property n 'name)) - (set! (ly:music-property n 'duration) - (ly:make-duration 5 0 1/1))) - n) - mordent) - (music-map (lambda (n) - (if (eq? 'NoteEvent (ly:music-property n 'name)) - (set! (ly:music-property n 'duration) newdur)) - n) - mainnote) - (map (lambda (y) (ac:down y)) - (filter - (lambda (z) (eq? 'NoteEvent (ly:music-property z 'name))) - (ly:music-property belownote 'elements))) - (make-sequential-music (list mordent mainnote))))) + ((origlength (ly:music-length music)) + (gracedur (ly:make-duration 5 0 1/1)) + (gracenote (ac:note-copy music)) + (belownote (ac:note-copy music))) + (map (lambda (y) (ac:setduration y gracedur)) + (ly:music-property gracenote 'elements)) + (map (lambda (y) (ac:setduration y gracedur)) + (ly:music-property belownote 'elements)) + (map (lambda (y) (ac:down y)) + (filter + (lambda (z) (eq? 'NoteEvent (ly:music-property z 'name))) + (ly:music-property belownote 'elements))) + (display belownote) + + (let* ((mordentMusic (make-sequential-music (list gracenote belownote music))) + (newlen (ly:music-length mordentMusic)) + (factor (ly:moment-div origlength newlen))) + (ly:music-compress mordentMusic factor)))) + ((turn) (let* ((dur (ly:music-property diff --git a/ly/bagpipe.ly b/ly/bagpipe.ly index c1901e460c..c1c7f41e03 100644 --- a/ly/bagpipe.ly +++ b/ly/bagpipe.ly @@ -9,7 +9,7 @@ $Id: bagpipe.ly,v 1.12 2006/03/16 14:39:46 hanwen Exp $ %} -\version "2.19.0" +\version "2.19.16" % Notes of the scale of the Great Highland Bagpipe. Extra high notes for bombarde. % Flat notes used mainly in some modern music. @@ -19,13 +19,13 @@ pitchnamesBagpipe = #`( (a . ,(ly:make-pitch 0 5 NATURAL)) (b . ,(ly:make-pitch 0 6 NATURAL)) (c . ,(ly:make-pitch 1 0 SHARP)) - (cflat . ,(ly:make-pitch 1 0 FLAT)) + (c-flat . ,(ly:make-pitch 1 0 FLAT)) (d . ,(ly:make-pitch 1 1 NATURAL)) (e . ,(ly:make-pitch 1 2 NATURAL)) (f . ,(ly:make-pitch 1 3 SHARP)) - (fflat . ,(ly:make-pitch 1 3 FLAT)) + (f-flat . ,(ly:make-pitch 1 3 FLAT)) (g . ,(ly:make-pitch 1 4 NATURAL)) - (gflat . ,(ly:make-pitch 1 4 FLAT)) + (g-flat . ,(ly:make-pitch 1 4 FLAT)) (A . ,(ly:make-pitch 1 5 NATURAL)) (B . ,(ly:make-pitch 1 6 NATURAL)) (C . ,(ly:make-pitch 2 0 SHARP)) diff --git a/ly/catalan.ly b/ly/catalan.ly index 3918e7a149..94347a8c43 100644 --- a/ly/catalan.ly +++ b/ly/catalan.ly @@ -1,7 +1,7 @@ %%%% common Catalan names for notes %%%% This file is part of LilyPond, the GNU music typesetter. %%%% -%%%% Copyright (C) 2010--2014 Valentin Villenave +%%%% Copyright (C) 2010--2015 Valentin Villenave %%%% %%%% LilyPond is free software: you can redistribute it and/or modify %%%% it under the terms of the GNU General Public License as published by diff --git a/ly/context-mods-init.ly b/ly/context-mods-init.ly index d3ae2129fa..e8b9602577 100644 --- a/ly/context-mods-init.ly +++ b/ly/context-mods-init.ly @@ -1,6 +1,6 @@ %%%% This file is part of LilyPond, the GNU music typesetter. %%%% -%%%% Copyright (C) 2011--2014 Han-Wen Nienhuys +%%%% Copyright (C) 2011--2015 Han-Wen Nienhuys %%%% Jan Nieuwenhuizen %%%% %%%% LilyPond is free software: you can redistribute it and/or modify diff --git a/ly/declarations-init.ly b/ly/declarations-init.ly index 48c57257e0..89a9a893dc 100644 --- a/ly/declarations-init.ly +++ b/ly/declarations-init.ly @@ -1,6 +1,6 @@ %%%% This file is part of LilyPond, the GNU music typesetter. %%%% -%%%% Copyright (C) 1996--2014 Han-Wen Nienhuys +%%%% Copyright (C) 1996--2015 Han-Wen Nienhuys %%%% Jan Nieuwenhuizen %%%% %%%% LilyPond is free software: you can redistribute it and/or modify diff --git a/ly/deutsch.ly b/ly/deutsch.ly index 1c92f79001..427b8abb1e 100644 --- a/ly/deutsch.ly +++ b/ly/deutsch.ly @@ -1,7 +1,7 @@ %%%% common German names for notes %%%% This file is part of LilyPond, the GNU music typesetter. %%%% -%%%% Copyright (C) 2010--2014 Valentin Villenave +%%%% Copyright (C) 2010--2015 Valentin Villenave %%%% %%%% LilyPond is free software: you can redistribute it and/or modify %%%% it under the terms of the GNU General Public License as published by diff --git a/ly/english.ly b/ly/english.ly index 8eec232a7a..3d18b2b645 100644 --- a/ly/english.ly +++ b/ly/english.ly @@ -1,7 +1,7 @@ %%%% common English names for notes %%%% This file is part of LilyPond, the GNU music typesetter. %%%% -%%%% Copyright (C) 2010--2014 Valentin Villenave +%%%% Copyright (C) 2010--2015 Valentin Villenave %%%% %%%% LilyPond is free software: you can redistribute it and/or modify %%%% it under the terms of the GNU General Public License as published by diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index a04145ba0c..b49a101205 100644 --- a/ly/engraver-init.ly +++ b/ly/engraver-init.ly @@ -1,6 +1,6 @@ %%%% This file is part of LilyPond, the GNU music typesetter. %%%% -%%%% Copyright (C) 1996--2014 Han-Wen Nienhuys +%%%% Copyright (C) 1996--2015 Han-Wen Nienhuys %%%% Jan Nieuwenhuizen %%%% %%%% LilyPond is free software: you can redistribute it and/or modify @@ -16,7 +16,7 @@ %%%% You should have received a copy of the GNU General Public License %%%% along with LilyPond. If not, see . -\version "2.17.29" +\version "2.19.16" \context { \name "Global" @@ -99,6 +99,7 @@ \defaultchild "Voice" \accepts "Voice" \accepts "CueVoice" + \accepts "NullVoice" \description "Handles clefs, bar lines, keys, accidentals. It can contain @code{Voice} contexts." @@ -618,7 +619,7 @@ automatically when an output definition (a @code{\\score} or explicitClefVisibility = #all-visible explicitCueClefVisibility = #end-of-line-invisible explicitKeySignatureVisibility = #all-visible - implicitTimeSignatureVisibility = #end-of-line-invisible + initialTimeSignatureVisibility = #end-of-line-invisible repeatCountVisibility = #all-repeat-counts-visible @@ -785,9 +786,12 @@ context." \override NoteHead.X-extent = #(lambda (g) (ly:stencil-extent (ly:note-head::print g) X)) - \omit Accidental - \omit AccidentalCautionary - \omit AccidentalSuggestion + % generate no accidentals + nullAccidentals = ##t + + %% keep noteheads inside the staff + \consists "Pitch_squash_engraver" + squashedPosition = 0 % the engravers that control the 'busy' flags for note-onsets and melismata \consists "Grob_pq_engraver" diff --git a/ly/espanol.ly b/ly/espanol.ly index 7b1ef9995e..fc98a43567 100644 --- a/ly/espanol.ly +++ b/ly/espanol.ly @@ -1,7 +1,7 @@ %%%% common Spanish names for notes %%%% This file is part of LilyPond, the GNU music typesetter. %%%% -%%%% Copyright (C) 2010--2014 Valentin Villenave +%%%% Copyright (C) 2010--2015 Valentin Villenave %%%% %%%% LilyPond is free software: you can redistribute it and/or modify %%%% it under the terms of the GNU General Public License as published by diff --git a/ly/event-listener.ly b/ly/event-listener.ly index 706b160755..9714e557e4 100644 --- a/ly/event-listener.ly +++ b/ly/event-listener.ly @@ -1,6 +1,6 @@ %%%% This file is part of LilyPond, the GNU music typesetter. %%%% -%%%% Copyright (C) 2011--2014 Graham Percival +%%%% Copyright (C) 2011--2015 Graham Percival %%%% %%%% LilyPond is free software: you can redistribute it and/or modify %%%% it under the terms of the GNU General Public License as published by diff --git a/ly/guile-debugger.ly b/ly/guile-debugger.ly index ef4a9290f3..c992b65236 100644 --- a/ly/guile-debugger.ly +++ b/ly/guile-debugger.ly @@ -1,6 +1,6 @@ %%%% This file is part of LilyPond, the GNU music typesetter. %%%% -%%%% Copyright (C) 2009--2014 by Ian Hulin +%%%% Copyright (C) 2009--2015 by Ian Hulin %%%% %%%% LilyPond is free software: you can redistribute it and/or modify %%%% it under the terms of the GNU General Public License as published by diff --git a/ly/italiano.ly b/ly/italiano.ly index da756740c6..c7c81c4ef4 100644 --- a/ly/italiano.ly +++ b/ly/italiano.ly @@ -1,7 +1,7 @@ %%%% common Italian names for notes %%%% This file is part of LilyPond, the GNU music typesetter. %%%% -%%%% Copyright (C) 2010--2014 Valentin Villenave +%%%% Copyright (C) 2010--2015 Valentin Villenave %%%% %%%% LilyPond is free software: you can redistribute it and/or modify %%%% it under the terms of the GNU General Public License as published by diff --git a/ly/midi-init.ly b/ly/midi-init.ly index c4d6ea134e..db6c7f79bf 100644 --- a/ly/midi-init.ly +++ b/ly/midi-init.ly @@ -1,6 +1,6 @@ %%%% This file is part of LilyPond, the GNU music typesetter. %%%% -%%%% Copyright (C) 1996--2014 Han-Wen Nienhuys +%%%% Copyright (C) 1996--2015 Han-Wen Nienhuys %%%% Jan Nieuwenhuizen %%%% %%%% LilyPond is free software: you can redistribute it and/or modify diff --git a/ly/music-functions-init.ly b/ly/music-functions-init.ly index 6bb98c6c80..7d9f5b7034 100644 --- a/ly/music-functions-init.ly +++ b/ly/music-functions-init.ly @@ -2,7 +2,7 @@ %%%% This file is part of LilyPond, the GNU music typesetter. %%%% -%%%% Copyright (C) 2003--2014 Han-Wen Nienhuys +%%%% Copyright (C) 2003--2015 Han-Wen Nienhuys %%%% Jan Nieuwenhuizen %%%% %%%% LilyPond is free software: you can redistribute it and/or modify @@ -253,15 +253,7 @@ bookOutputSuffix = breathe = #(define-music-function (parser location) () (_i "Insert a breath mark.") - (make-music 'BreathingEvent - 'midi-length - (lambda (len context) - ;;Shorten by half, or by up to a second, but always by a power of 2 - (let* ((desired (min (ly:moment-main (seconds->moment 1 context)) - (* (ly:moment-main len) 1/2))) - (scale (inexact->exact (ceiling (/ (log desired) (log 1/2))))) - (breath (ly:make-moment (expt 1/2 scale)))) - (ly:moment-sub (ly:make-moment (ly:moment-main len)) breath))))) + (make-music 'BreathingEvent)) clef = #(define-music-function (parser location type) (string?) @@ -287,7 +279,7 @@ as @code{\\compoundMeter #'((3 2 8))} or shorter (ly:moment-main-denominator mlen)))) #{ \once \override Timing.TimeSignature.stencil = #(lambda (grob) - (grob-interpret-markup grob (format-compound-time args))) + (grob-interpret-markup grob (make-compound-meter-markup args))) \set Timing.timeSignatureFraction = #timesig \set Timing.baseMoment = #beat \set Timing.beatStructure = #beatGrouping @@ -1132,25 +1124,31 @@ parenthesize = arg) partcombine = -#(define-music-function (parser location part1 part2) (ly:music? ly:music?) - (_i "Take the music in @var{part1} and @var{part2} and typeset so -that they share a staff.") +#(define-music-function (parser location chord-range part1 part2) + ((number-pair? '(0 . 8)) ly:music? ly:music?) + (_i "Take the music in @var{part1} and @var{part2} and return +a music expression containing simultaneous voices, where @var{part1} +and @var{part2} are combined into one voice where appropriate. +Optional @var{chord-range} sets the distance in steps between notes +that may be combined into a chord or unison.") (make-part-combine-music parser - (list part1 part2) #f)) + (list part1 part2) #f chord-range)) partcombineUp = -#(define-music-function (parser location part1 part2) (ly:music? ly:music?) +#(define-music-function (parser location chord-range part1 part2) + ((number-pair? '(0 . 8)) ly:music? ly:music?) (_i "Take the music in @var{part1} and @var{part2} and typeset so that they share a staff with stems directed upward.") (make-part-combine-music parser - (list part1 part2) UP)) + (list part1 part2) UP chord-range)) partcombineDown = -#(define-music-function (parser location part1 part2) (ly:music? ly:music?) +#(define-music-function (parser location chord-range part1 part2) + ((number-pair? '(0 . 8)) ly:music? ly:music?) (_i "Take the music in @var{part1} and @var{part2} and typeset so that they share a staff with stems directed downward.") (make-part-combine-music parser - (list part1 part2) DOWN)) + (list part1 part2) DOWN chord-range)) partcombineForce = #(define-music-function (location parser type once) (symbol-or-boolean? boolean?) diff --git a/ly/nederlands.ly b/ly/nederlands.ly index fd0ef43403..922c1ef6d9 100644 --- a/ly/nederlands.ly +++ b/ly/nederlands.ly @@ -1,7 +1,7 @@ %%%% common Dutch names for notes %%%% This file is part of LilyPond, the GNU music typesetter. %%%% -%%%% Copyright (C) 1996--2014 Han-Wen Nienhuys +%%%% Copyright (C) 1996--2015 Han-Wen Nienhuys %%%% %%%% LilyPond is free software: you can redistribute it and/or modify %%%% it under the terms of the GNU General Public License as published by diff --git a/ly/norsk.ly b/ly/norsk.ly index 2b642b8eca..ab2367b1c9 100644 --- a/ly/norsk.ly +++ b/ly/norsk.ly @@ -1,7 +1,7 @@ %%%% common Norwegian names for notes %%%% This file is part of LilyPond, the GNU music typesetter. %%%% -%%%% Copyright (C) 2010--2014 Valentin Villenave +%%%% Copyright (C) 2010--2015 Valentin Villenave %%%% %%%% LilyPond is free software: you can redistribute it and/or modify %%%% it under the terms of the GNU General Public License as published by diff --git a/ly/paper-defaults-init.ly b/ly/paper-defaults-init.ly index ef74193122..a8d7c7da30 100644 --- a/ly/paper-defaults-init.ly +++ b/ly/paper-defaults-init.ly @@ -1,6 +1,6 @@ %%%% This file is part of LilyPond, the GNU music typesetter. %%%% -%%%% Copyright (C) 2004--2014 Han-Wen Nienhuys +%%%% Copyright (C) 2004--2015 Han-Wen Nienhuys %%%% Jan Nieuwenhuizen %%%% Neil Puttock %%%% @@ -119,6 +119,7 @@ first-page-number = #1 print-first-page-number = ##f print-page-number = ##t + page-number-type = #'arabic %% %% Headers, footers, and titles diff --git a/ly/performer-init.ly b/ly/performer-init.ly index 297a40d2f5..645c8ee45a 100644 --- a/ly/performer-init.ly +++ b/ly/performer-init.ly @@ -1,6 +1,6 @@ %%%% This file is part of LilyPond, the GNU music typesetter. %%%% -%%%% Copyright (C) 1996--2014 Han-Wen Nienhuys +%%%% Copyright (C) 1996--2015 Han-Wen Nienhuys %%%% Jan Nieuwenhuizen %%%% %%%% LilyPond is free software: you can redistribute it and/or modify @@ -26,6 +26,7 @@ \name Staff \accepts Voice \accepts CueVoice + \accepts NullVoice \defaultchild Voice \consists "Staff_performer" diff --git a/ly/portugues.ly b/ly/portugues.ly index c8dd91d113..40077b864e 100644 --- a/ly/portugues.ly +++ b/ly/portugues.ly @@ -1,7 +1,7 @@ %%%% common Portuguese names for notes %%%% This file is part of LilyPond, the GNU music typesetter. %%%% -%%%% Copyright (C) 2010--2014 Valentin Villenave +%%%% Copyright (C) 2010--2015 Valentin Villenave %%%% %%%% LilyPond is free software: you can redistribute it and/or modify %%%% it under the terms of the GNU General Public License as published by diff --git a/ly/predefined-fretboards-init.ly b/ly/predefined-fretboards-init.ly index bec581ae66..6a96f047e6 100644 --- a/ly/predefined-fretboards-init.ly +++ b/ly/predefined-fretboards-init.ly @@ -1,6 +1,6 @@ %%%% This file is part of LilyPond, the GNU music typesetter. %%%% -%%%% Copyright (C) 2008--2014 Carl D. Sorensen +%%%% Copyright (C) 2008--2015 Carl D. Sorensen %%%% %%%% LilyPond is free software: you can redistribute it and/or modify %%%% it under the terms of the GNU General Public License as published by diff --git a/ly/predefined-guitar-fretboards.ly b/ly/predefined-guitar-fretboards.ly index 3f354616f3..0a93939a71 100644 --- a/ly/predefined-guitar-fretboards.ly +++ b/ly/predefined-guitar-fretboards.ly @@ -1,6 +1,6 @@ %%%% This file is part of LilyPond, the GNU music typesetter. %%%% -%%%% Copyright (C) 2008--2014 Carl D. Sorensen +%%%% Copyright (C) 2008--2015 Carl D. Sorensen %%%% %%%% LilyPond is free software: you can redistribute it and/or modify %%%% it under the terms of the GNU General Public License as published by diff --git a/ly/predefined-guitar-ninth-fretboards.ly b/ly/predefined-guitar-ninth-fretboards.ly index a4ba9ac50b..c4178dee22 100644 --- a/ly/predefined-guitar-ninth-fretboards.ly +++ b/ly/predefined-guitar-ninth-fretboards.ly @@ -1,6 +1,6 @@ %%%% This file is part of LilyPond, the GNU music typesetter. %%%% -%%%% Copyright (C) 2008--2014 by Jonathan Kulp +%%%% Copyright (C) 2008--2015 by Jonathan Kulp %%%% %%%% LilyPond is free software: you can redistribute it and/or modify %%%% it under the terms of the GNU General Public License as published by diff --git a/ly/predefined-mandolin-fretboards.ly b/ly/predefined-mandolin-fretboards.ly index d63751484c..4a19f69113 100644 --- a/ly/predefined-mandolin-fretboards.ly +++ b/ly/predefined-mandolin-fretboards.ly @@ -1,6 +1,6 @@ %%%% This file is part of LilyPond, the GNU music typesetter. %%%% -%%%% Copyright (C) 2011--2014 Marc Hohl +%%%% Copyright (C) 2011--2015 Marc Hohl %%%% %%%% LilyPond is free software: you can redistribute it and/or modify %%%% it under the terms of the GNU General Public License as published by diff --git a/ly/predefined-ukulele-fretboards.ly b/ly/predefined-ukulele-fretboards.ly index 187b70f658..f3258b7e0c 100644 --- a/ly/predefined-ukulele-fretboards.ly +++ b/ly/predefined-ukulele-fretboards.ly @@ -1,6 +1,6 @@ %%%% This file is part of LilyPond, the GNU music typesetter. %%%% -%%%% Copyright (C) 2009--2014 Matt Corks +%%%% Copyright (C) 2009--2015 Matt Corks %%%% %%%% LilyPond is free software: you can redistribute it and/or modify %%%% it under the terms of the GNU General Public License as published by diff --git a/ly/property-init.ly b/ly/property-init.ly index 8d6d892d17..ef1bea45de 100644 --- a/ly/property-init.ly +++ b/ly/property-init.ly @@ -352,6 +352,24 @@ kievanOff = { \revert NoteHead.duration-log } +%% line and page breaking controls + +autoLineBreaksOff = { + \overrideProperty Score.NonMusicalPaperColumn.line-break-permission ##f + \override Score.NonMusicalPaperColumn.line-break-permission = ##f +} +autoLineBreaksOn = { + \overrideProperty Score.NonMusicalPaperColumn.line-break-permission #'allow + \override Score.NonMusicalPaperColumn.line-break-permission = #'allow +} +autoPageBreaksOff = + \override Score.NonMusicalPaperColumn.page-break-permission = ##f +autoPageBreaksOn = + \override Score.NonMusicalPaperColumn.page-break-permission = #'allow +autoBreaksOff = { \autoLineBreaksOff \autoPageBreaksOff } +autoBreaksOn = { \autoLineBreaksOn \autoPageBreaksOn } + + %% merging mergeDifferentlyDottedOn = @@ -464,10 +482,10 @@ walkerHeadsMinor = %% shifts +shiftOff = \override NoteColumn.horizontal-shift = #0 shiftOn = \override NoteColumn.horizontal-shift = #1 shiftOnn = \override NoteColumn.horizontal-shift = #2 shiftOnnn = \override NoteColumn.horizontal-shift = #3 -shiftOff = \revert NoteColumn.horizontal-shift %% slurs diff --git a/ly/string-tunings-init.ly b/ly/string-tunings-init.ly index b09d8da871..034e9a2061 100644 --- a/ly/string-tunings-init.ly +++ b/ly/string-tunings-init.ly @@ -1,6 +1,6 @@ %%%% This file is part of LilyPond, the GNU music typesetter. %%%% -%%%% Copyright (C) 2010--2014 Carl D. Sorensen +%%%% Copyright (C) 2010--2015 Carl D. Sorensen %%%% %%%% LilyPond is free software: you can redistribute it and/or modify %%%% it under the terms of the GNU General Public License as published by diff --git a/ly/suomi.ly b/ly/suomi.ly index 0d00eef5b6..be787cf9e8 100644 --- a/ly/suomi.ly +++ b/ly/suomi.ly @@ -1,7 +1,7 @@ %%%% common Finnish names for notes %%%% This file is part of LilyPond, the GNU music typesetter. %%%% -%%%% Copyright (C) 2010--2014 Valentin Villenave +%%%% Copyright (C) 2010--2015 Valentin Villenave %%%% %%%% LilyPond is free software: you can redistribute it and/or modify %%%% it under the terms of the GNU General Public License as published by diff --git a/ly/svenska.ly b/ly/svenska.ly index 1442c897f0..ee3baae8ae 100644 --- a/ly/svenska.ly +++ b/ly/svenska.ly @@ -1,7 +1,7 @@ %%%% common Swedish names for notes %%%% This file is part of LilyPond, the GNU music typesetter. %%%% -%%%% Copyright (C) 2010--2014 Valentin Villenave +%%%% Copyright (C) 2010--2015 Valentin Villenave %%%% %%%% LilyPond is free software: you can redistribute it and/or modify %%%% it under the terms of the GNU General Public License as published by diff --git a/ly/text-replacements.ly b/ly/text-replacements.ly index 74d414aca8..36a5f109ee 100644 --- a/ly/text-replacements.ly +++ b/ly/text-replacements.ly @@ -1,6 +1,6 @@ %%%% This file is part of LilyPond, the GNU music typesetter. %%%% -%%%% Copyright (C) 2011--2014 Bertrand Bordage +%%%% Copyright (C) 2011--2015 Bertrand Bordage %%%% %%%% LilyPond is free software: you can redistribute it and/or modify %%%% it under the terms of the GNU General Public License as published by diff --git a/ly/vlaams.ly b/ly/vlaams.ly index 6f65f5aecc..c15c1a5017 100644 --- a/ly/vlaams.ly +++ b/ly/vlaams.ly @@ -1,7 +1,7 @@ %%%% common Flemish names for notes %%%% This file is part of LilyPond, the GNU music typesetter. %%%% -%%%% Copyright (C) 2010--2014 Valentin Villenave +%%%% Copyright (C) 2010--2015 Valentin Villenave %%%% %%%% LilyPond is free software: you can redistribute it and/or modify %%%% it under the terms of the GNU General Public License as published by diff --git a/mf/README b/mf/README index adf0225145..bcea8964b2 100644 --- a/mf/README +++ b/mf/README @@ -1,14 +1,25 @@ -This is a font of music symbols. All MF sources are original. Most of the -documentation is in comments in the MF code. +LilyPond's Feta and Parmesan fonts +================================== + +[The name `feta' is based on a non-translatable Dutch pun (`font-en-tja'). + Given that it is the name of a cheese type, the font for old music symbols + is called `parmesan', and the OpenType font that merges these two fonts is + called `emmentaler'.] + +This is a font of music symbols. All MetaFont sources are original. Most +of the documentation is in comments in the MetaFont code. Non-square pixels are not supported; with other words, the horizontal and vertical resolution of the output device must be the same. -Currently, outline fonts are created by using `autotrace', but we are -already in the process of converting the MF code directly to PostScript code -with a tool called `mf2pt1', which in turn calls `FontForge' to postprocess -the output (mainly to remove outline overlaps and to add hints). + +Conversion from MetaFont to PostScript +-------------------------------------- + +The MetaFont code gets directly converted to PostScript Type 1 font with a +tool called `mf2pt1', which in turn calls `FontForge' to postprocess the +output (mainly to remove outline overlaps and to add hints). The recommended calling sequence of mf2pt1 is @@ -16,7 +27,6 @@ The recommended calling sequence of mf2pt1 is You need mf2pt1 version 2.1 or newer. - Here some guidelines to assure a clean conversion. . Never use `---'. Replace it with `--' together with explicit path @@ -39,31 +49,33 @@ Here some guidelines to assure a clean conversion. . Don't apply transformations after calling `fill' -- for example, don't mirror `currentpicture'. Instead, transform the path and call `fill' - afterwards. This ensures that mf2pt1 gets the correct outline directions + afterwards. This ensures that mf2pt1 gets the correct outline directions, which is a necessary prerequisite for FontForge's algorithm to remove overlaps. -Some glyph name rules: +Glyph name rules +---------------- . Most glyph names have the form ., where is defined with the `fet_begingroup' command, and is given with `fet_beginchar' (within a `fet_begingroup' block). Example: `clefs.vaticana.fa'. -. Sometimes it would be sensible to use negative numbers in glyph names. +. Sometimes it would be sensible to use negative numbers in glyph names. However, the `-' character shouldn't be used in a glyph name. Replace it with `M'. For example, write `rests.M3mensural' instead of `rests.-3mensural'. -. Glyphs which exist in both an `up' and `down' version should start the +. Glyphs that exist in both an `up' and `down' version should start the part with either `u' or `d', respectively. Example: `flags.d3', - `flags.u3'. Glyphs which are neutral w.r.t. the direction, and where - members of the glyph group exist which have `up' and `down' versions, + `flags.u3'. Glyphs that are neutral w.r.t. the direction, and where + members of the glyph group exist that have `up' and `down' versions, should start with an `s'. Example: `noteheads.s0re'. -Some design rules: +Design rules +------------ . Always use smooth curve transitions. Since this is difficult to see in MetaFont proof sheets (which don't show the tangents) I recommend to call @@ -77,7 +89,8 @@ Some design rules: . Use rounded corners. -Hints for stem attachment: +Hints for stem attachment +------------------------- . Stem attachment of glyphs is controlled by two special variables called `charwx' and `charwy'. Stems can be regarded as (very oblonged) @@ -86,19 +99,22 @@ Hints for stem attachment: (charwx, charwy). For stems pointing downwards it works analogously but with the upper left corner, where the position of the attachment point is additionally reflected horizontally about the center of the glyph -- this - ensures that in most cases charwx and charwy can be set to the same values - for up and down stems even though these are attached at the right/left end - of the note, respectively. To make this more precise, the upper left - corner of a down stem is attached at position (charwd/2 - charwx, charwy), - where `charwd' is an internal metafont variable representing the glyph + ensures that in most cases `charwx' and `charwy' can be set to the same + values for up and down stems even though these are attached at the + right/left end of the note, respectively. To make this more precise, the + upper left corner of a down stem is attached at position + + (charwd/2 - charwx, charwy) , + + where `charwd' is an internal MetaFont variable representing the glyph width as specified by the `set_char_box' command. . In case different stem attachments for upward and downward pointing stems - are needed, two separate glyphs must be defined in the Metafont file; of - course, this also applies if two entirely different shapes are needed. + are needed, two separate glyphs must be defined in the MetaFont file; of + course, this also applies if two entirely different shapes are needed. These have the same name but are prefixed by `u' and `d', respectively (for `up' and `down', obviously). In each of these glyphs the variables - charwx and charwy must be set accordingly. If, on the other hand, the + `charwx' and `charwy' must be set accordingly. If, on the other hand, the attachment point is the `same' for both directions (with the abovementioned horizontal reflection taken into account), then the prefix `s' (for `symmetric') should be used. See the existing files for @@ -108,9 +124,50 @@ Hints for stem attachment: and quarter notes, respectively). -Finally, some rules to assure that rasterization at low resolutions gives -good results. Today, this is a minor issue, but in some cases it might show -design flaws. +Proofing +-------- + +The proofing tool for MetaFont to inspect its output is `gftodvi', +converting a font in MetaFont's native GF font format to a DVI document, +which can then be viewed with DVI viewers like `xdvi'. The `gftodvi' +program needs two special fonts, `gray' and `black'. Assuming that you are +using TeXLive, say + + mktextfm gray + mktextfm black + +on the command line to generate the needed metric files (from its source +files), which are then stored within your local TEXMF tree. + +Here is a shell script that you can use to produce two DVI files, +`foo.proof.dvi' and `foo.ljfour.dvi', showing the glyphs of font `foo.mf' in +proofing mode and a 600dpi rasterization for a LaserJet IV printer. + + #!/bin/sh + mf "\mode:=proof; input $1" + gftodvi $1.2602gf && mv $1.dvi $1.proof.dvi + + mf "\mode:=ljfour; input $1" + echo "grayfont black + " | gftodvi $1.600gf/ \ + && mv $1.dvi $1.ljfour.dvi + +Assuming that you name this script `makefeta.sh', you can call it with e.g. + + sh makefeta.sh feta23 + +The main importance of the proofing DVI output is to show points marked in +the MetaFont source code with the macros `penlabels' and `labels'. In most +cases, those points are used for constructing the shapes only and are thus +not present in the output after the conversion with mf2pt1. + + +Rasterization +------------- + +Finally, some rules to assure that rasterization at low resolutions +(produced directly with MetaFont) gives good results. Today, this is a +minor issue, but in some cases it might show design flaws. . Use `define_whole_pixels' and friends where appropriate. diff --git a/mf/feta-accidentals.mf b/mf/feta-accidentals.mf index 479a8b4a65..ed2ee529ea 100644 --- a/mf/feta-accidentals.mf +++ b/mf/feta-accidentals.mf @@ -1,7 +1,7 @@ % Feta (not the Font-En-Tja) music font -- Accidentals % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 1997--2014 Han-Wen Nienhuys +% Copyright (C) 1997--2015 Han-Wen Nienhuys % % The LilyPond font is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by diff --git a/mf/feta-accordion.mf b/mf/feta-accordion.mf index 084092a309..4b8640b8c2 100644 --- a/mf/feta-accordion.mf +++ b/mf/feta-accordion.mf @@ -1,7 +1,7 @@ % Feta (not the Font-En-Tja) music font -- draw accordion symbols % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 1998--2014 Han-Wen Nienhuys +% Copyright (C) 1998--2015 Han-Wen Nienhuys % % The LilyPond font is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by diff --git a/mf/feta-alphabet-generic.mf b/mf/feta-alphabet-generic.mf index 6af776bea5..6f1f3ce2b4 100644 --- a/mf/feta-alphabet-generic.mf +++ b/mf/feta-alphabet-generic.mf @@ -1,6 +1,6 @@ % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 1997--2014 Han-Wen Nienhuys +% Copyright (C) 1997--2015 Han-Wen Nienhuys % % The LilyPond font is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by diff --git a/mf/feta-arrowheads.mf b/mf/feta-arrowheads.mf index 81100ead09..a311c4a262 100644 --- a/mf/feta-arrowheads.mf +++ b/mf/feta-arrowheads.mf @@ -1,7 +1,7 @@ % Feta (not the Font-En-Tja) music font -- draw arrow heads % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 2005--2014 Han-Wen Nienhuys +% Copyright (C) 2005--2015 Han-Wen Nienhuys % % The LilyPond font is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by diff --git a/mf/feta-autometric.mf b/mf/feta-autometric.mf index 7f7adc7d94..50ac474f54 100644 --- a/mf/feta-autometric.mf +++ b/mf/feta-autometric.mf @@ -1,7 +1,7 @@ % Feta (not the Font-En-Tja) music font -- administrative MF routines % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 1997--2014 Han-Wen Nienhuys +% Copyright (C) 1997--2015 Han-Wen Nienhuys % Jan Nieuwenhuizen % % These macros help create ascii logging output diff --git a/mf/feta-braces-generic.mf b/mf/feta-braces-generic.mf index cb3b1b4318..c121936349 100644 --- a/mf/feta-braces-generic.mf +++ b/mf/feta-braces-generic.mf @@ -1,6 +1,6 @@ % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 1997--2014 Han-Wen Nienhuys +% Copyright (C) 1997--2015 Han-Wen Nienhuys % Jan Nieuwenhuizen % % The LilyPond font is free software: you can redistribute it and/or modify diff --git a/mf/feta-braces.mf b/mf/feta-braces.mf index 5cec96670e..3fdfb12efb 100644 --- a/mf/feta-braces.mf +++ b/mf/feta-braces.mf @@ -1,7 +1,7 @@ % Feta (not the Font-En-Tja) music font -- Staff braces % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 1997--2014 Han-Wen Nienhuys +% Copyright (C) 1997--2015 Han-Wen Nienhuys % Jan Nieuwenhuizen % % The LilyPond font is free software: you can redistribute it and/or modify diff --git a/mf/feta-brackettips.mf b/mf/feta-brackettips.mf index 98928d7125..cc6a363e21 100644 --- a/mf/feta-brackettips.mf +++ b/mf/feta-brackettips.mf @@ -1,7 +1,7 @@ % Feta (not the Font-En-Tja) music font -- bracket tips -*-Fundamental-*- % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 2005--2014 Han-Wen Nienhuys +% Copyright (C) 2005--2015 Han-Wen Nienhuys % % The LilyPond font is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by diff --git a/mf/feta-clefs.mf b/mf/feta-clefs.mf index 3c762d6ee4..5014287429 100644 --- a/mf/feta-clefs.mf +++ b/mf/feta-clefs.mf @@ -1,7 +1,7 @@ % Feta (not the Font-En-Tja) music font -- implement Clefs -*-Fundamental-*- % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 1997--2014 Han-Wen Nienhuys , +% Copyright (C) 1997--2015 Han-Wen Nienhuys , % Jan Nieuwenhuizen , % Juergen Reuter % diff --git a/mf/feta-dots.mf b/mf/feta-dots.mf index 291ff6a402..7ec1d1b8c0 100644 --- a/mf/feta-dots.mf +++ b/mf/feta-dots.mf @@ -1,7 +1,7 @@ % Feta (not the Font-En-Tja) music font -- a duration dot % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 1997--2014 Han-Wen Nienhuys +% Copyright (C) 1997--2015 Han-Wen Nienhuys % % The LilyPond font is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by diff --git a/mf/feta-dynamics.mf b/mf/feta-dynamics.mf index cbb559c73a..45b9f5ae8f 100644 --- a/mf/feta-dynamics.mf +++ b/mf/feta-dynamics.mf @@ -1,7 +1,7 @@ % Feta (not the Font-En-Tja) music font -- dynamic signs % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 1997--2014 Jan Nieuwenhuizen +% Copyright (C) 1997--2015 Jan Nieuwenhuizen % % The LilyPond font is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by diff --git a/mf/feta-flags-generic.mf b/mf/feta-flags-generic.mf index 92601599bb..9277f7f547 100644 --- a/mf/feta-flags-generic.mf +++ b/mf/feta-flags-generic.mf @@ -1,6 +1,6 @@ % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 1997--2014 Han-Wen Nienhuys +% Copyright (C) 1997--2015 Han-Wen Nienhuys % % The LilyPond font is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by diff --git a/mf/feta-flags.mf b/mf/feta-flags.mf index 1cfeae57b0..1be31ef4ee 100644 --- a/mf/feta-flags.mf +++ b/mf/feta-flags.mf @@ -1,7 +1,7 @@ % Feta (not the Font-En-Tja) music font -- draw flags % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 1997--2014 Han-Wen Nienhuys +% Copyright (C) 1997--2015 Han-Wen Nienhuys % % The LilyPond font is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by diff --git a/mf/feta-macros.mf b/mf/feta-macros.mf index 197dc86bf4..89458e3c3d 100644 --- a/mf/feta-macros.mf +++ b/mf/feta-macros.mf @@ -1,7 +1,7 @@ % Feta (not the Font-En-Tja) music font -- auxiliary macros for both feta and parmesan fonts % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 1997--2014 Han-Wen Nienhuys +% Copyright (C) 1997--2015 Han-Wen Nienhuys % % The LilyPond font is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by diff --git a/mf/feta-noteheads-generic.mf b/mf/feta-noteheads-generic.mf index d71ba2535e..f75290b2bc 100644 --- a/mf/feta-noteheads-generic.mf +++ b/mf/feta-noteheads-generic.mf @@ -1,6 +1,6 @@ % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 1997--2014 Han-Wen Nienhuys +% Copyright (C) 1997--2015 Han-Wen Nienhuys % % The LilyPond font is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by diff --git a/mf/feta-noteheads.mf b/mf/feta-noteheads.mf index c50a6e8b99..8f4cad6e34 100644 --- a/mf/feta-noteheads.mf +++ b/mf/feta-noteheads.mf @@ -1,7 +1,7 @@ % Feta (not the Font-En-Tja) music font -- implement noteheads % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 1997--2014 Jan Nieuwenhuizen +% Copyright (C) 1997--2015 Jan Nieuwenhuizen % & Han-Wen Nienhuys % & Juergen Reuter % diff --git a/mf/feta-numbers.mf b/mf/feta-numbers.mf index 15c82bd2e0..0f55e727f7 100644 --- a/mf/feta-numbers.mf +++ b/mf/feta-numbers.mf @@ -1,7 +1,7 @@ % Feta (not the Font-En-Tja) music font -- bold Orator numerals % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 1997--2014 Jan Nieuwenhuizen +% Copyright (C) 1997--2015 Jan Nieuwenhuizen % % The LilyPond font is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by diff --git a/mf/feta-other-generic.mf b/mf/feta-other-generic.mf index 65df83165a..ec8c2d0e27 100644 --- a/mf/feta-other-generic.mf +++ b/mf/feta-other-generic.mf @@ -1,6 +1,6 @@ % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 1997--2014 Han-Wen Nienhuys +% Copyright (C) 1997--2015 Han-Wen Nienhuys % % The LilyPond font is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by diff --git a/mf/feta-params.mf b/mf/feta-params.mf index c771e4e44a..7f7f4a5cc2 100644 --- a/mf/feta-params.mf +++ b/mf/feta-params.mf @@ -1,7 +1,7 @@ % Feta (not the Font-En-Tja) music font -- global parameters for both feta and parmesan fonts % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 1997--2014 Han-Wen Nienhuys +% Copyright (C) 1997--2015 Han-Wen Nienhuys % % The LilyPond font is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by diff --git a/mf/feta-pedals.mf b/mf/feta-pedals.mf index 7e992f35cb..5b510ba820 100644 --- a/mf/feta-pedals.mf +++ b/mf/feta-pedals.mf @@ -1,7 +1,7 @@ % Feta (not the Font-En-Tja) music font -- piano pedal markings % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 2000--2014 Jan Nieuwenhuizen +% Copyright (C) 2000--2015 Jan Nieuwenhuizen % % Voor Cup % diff --git a/mf/feta-rests.mf b/mf/feta-rests.mf index 0a9d7ea43d..675980fe09 100644 --- a/mf/feta-rests.mf +++ b/mf/feta-rests.mf @@ -1,7 +1,7 @@ % Feta (not the Font-En-Tja) music font -- rest symbols -*-Fundamental-*- % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 1997--2014 Jan Nieuwenhuizen +% Copyright (C) 1997--2015 Jan Nieuwenhuizen % % The LilyPond font is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by @@ -378,6 +378,72 @@ fet_beginchar ("Classical quarter rest", "2classical"); fet_endchar; +fet_beginchar ("Z-shaped quarter rest", "2z"); + save ycenter; + save pat, bulb, rest; + path pat, bulb, rest; + show_labels := 0; + + set_char_box (0, 1.125 staff_space#, + 0.5 staff_space# + bulb_diam# / 2, + 0.5 staff_space# + bulb_diam# / 2); + + % The brushes on other rests taper from thin to thick, + % but because this rest has a bulb on both ends, use + % a constant thickness somewhere in between. + slash_thickness := (7 thin + 3 thick) / 10; + + x1 = 0 + hround 0.5 slash_thickness; + y1 = -(d - vround 0.5 slash_thickness); + x2 = w - hround 0.5 slash_thickness; + y2 = h - vround 0.5 slash_thickness; + + penpos1 (slash_thickness, angle(z2 - z1) - 90); + penpos2 (slash_thickness, angle(z2 - z1) - 90); + + z9 = z2 + 0.5 slash_thickness * dir (angle (z2 - z1)); + z12 = z1 + 0.5 slash_thickness * dir (angle (z1 - z2)); + y9 := vround y9; + + x1l := hround x1l; + x1r := hround x1r; + x1 := .5 [x1l, x1r]; + + x2l := hround x2l; + x2r := hround x2r; + x2 := .5 [x2l, x2r]; + + if show_labels = 1: + penlabels (1, 2); + labels (9, 12); + fi; + + pat = z1l + -- z2l + .. z9 + .. z2r + -- z1r + .. cycle; + bulb = draw_rest_bulb (0.5 staff_space, y2r, pat, 1.0, show_labels); + + rest = z12 + .. bulb rotatedaround ((0.5 w, 0), 180) + -- z2r + .. z9 + .. bulb + -- z1l + .. cycle; + + if show_labels = 0: + rest := rest xscaled -1 shifted (w, 0); + fi; + + fill rest; + + draw_staff_if_debugging (-2, 2); +fet_endchar; + + fet_beginchar ("8th rest", "3"); draw_eighth_rest (1); fet_endchar; diff --git a/mf/feta-scripts.mf b/mf/feta-scripts.mf index e7f3c66eb8..e27974b955 100644 --- a/mf/feta-scripts.mf +++ b/mf/feta-scripts.mf @@ -1,7 +1,7 @@ % Feta (not the Font-En-Tja) music font -- implement scripts % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 1997--2014 Han-Wen Nienhuys +% Copyright (C) 1997--2015 Han-Wen Nienhuys % Jan Nieuwenhuizen % % diff --git a/mf/feta-ties.mf b/mf/feta-ties.mf index dda925e396..c2124b88e9 100644 --- a/mf/feta-ties.mf +++ b/mf/feta-ties.mf @@ -1,7 +1,7 @@ % Feta (not the Font-En-Tja) music font -- small ties % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 2011--2014 Bertrand Bordage +% Copyright (C) 2011--2015 Bertrand Bordage % % The LilyPond font is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by diff --git a/mf/feta-timesignatures.mf b/mf/feta-timesignatures.mf index 9b6c8e654a..ed3f713cdf 100644 --- a/mf/feta-timesignatures.mf +++ b/mf/feta-timesignatures.mf @@ -1,7 +1,7 @@ % Feta (not the Font-En-Tja) music font -- implement Time Signatures % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 1998--2014 Mats Bengtsson , +% Copyright (C) 1998--2015 Mats Bengtsson , % Christian Mondrup % % The LilyPond font is free software: you can redistribute it and/or modify diff --git a/mf/feta-trills.mf b/mf/feta-trills.mf index f2292b1d6e..9014e61f79 100644 --- a/mf/feta-trills.mf +++ b/mf/feta-trills.mf @@ -1,7 +1,7 @@ % Feta (not the Font-En-Tja) music font -- implement trill symbols % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 1998--2014 Jan Nieuwenhuizen +% Copyright (C) 1998--2015 Jan Nieuwenhuizen % % The LilyPond font is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by diff --git a/mf/parmesan-accidentals.mf b/mf/parmesan-accidentals.mf index 4aa5f0dba1..0714e46b61 100644 --- a/mf/parmesan-accidentals.mf +++ b/mf/parmesan-accidentals.mf @@ -1,7 +1,7 @@ % Feta (not the Font-En-Tja) music font -- ancient accidentals % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 2001--2014 Juergen Reuter +% Copyright (C) 2001--2015 Juergen Reuter % % The LilyPond font is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by diff --git a/mf/parmesan-clefs.mf b/mf/parmesan-clefs.mf index b58b85d672..a291e3613a 100644 --- a/mf/parmesan-clefs.mf +++ b/mf/parmesan-clefs.mf @@ -1,7 +1,7 @@ % Feta (not the Font-En-Tja) music font -- ancient clefs % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 2001--2014 Juergen Reuter +% Copyright (C) 2001--2015 Juergen Reuter % % The LilyPond font is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by diff --git a/mf/parmesan-custodes.mf b/mf/parmesan-custodes.mf index 58def35632..144d84392d 100644 --- a/mf/parmesan-custodes.mf +++ b/mf/parmesan-custodes.mf @@ -1,7 +1,7 @@ % Feta (not the Font-En-Tja) music font -- ancient custodes % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 2000--2014 Juergen Reuter +% Copyright (C) 2000--2015 Juergen Reuter % % The LilyPond font is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by diff --git a/mf/parmesan-dots.mf b/mf/parmesan-dots.mf index 97a6825a93..389fade024 100644 --- a/mf/parmesan-dots.mf +++ b/mf/parmesan-dots.mf @@ -1,7 +1,7 @@ % Feta (not the Font-En-Tja) music font -- dot vaticana % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 2006--2014 Juergen Reuter +% Copyright (C) 2006--2015 Juergen Reuter % % The LilyPond font is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by diff --git a/mf/parmesan-flags.mf b/mf/parmesan-flags.mf index 41d3fa922f..bb1a5c5cb5 100644 --- a/mf/parmesan-flags.mf +++ b/mf/parmesan-flags.mf @@ -1,7 +1,7 @@ % Feta (not the Font-En-Tja) music font -- ancient flags % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 2001--2014 Juergen Reuter +% Copyright (C) 2001--2015 Juergen Reuter % % The LilyPond font is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by diff --git a/mf/parmesan-macros.mf b/mf/parmesan-macros.mf index 04e26d402e..762a178441 100644 --- a/mf/parmesan-macros.mf +++ b/mf/parmesan-macros.mf @@ -1,7 +1,7 @@ % Feta (not the Font-En-Tja) music font -- macros for parmesan font % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 2001--2014 Juergen Reuter +% Copyright (C) 2001--2015 Juergen Reuter % % % The LilyPond font is free software: you can redistribute it and/or modify diff --git a/mf/parmesan-noteheads-generic.mf b/mf/parmesan-noteheads-generic.mf index be328f1158..97fb4d7255 100644 --- a/mf/parmesan-noteheads-generic.mf +++ b/mf/parmesan-noteheads-generic.mf @@ -1,6 +1,6 @@ % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 1997--2014 Han-Wen Nienhuys +% Copyright (C) 1997--2015 Han-Wen Nienhuys % % The LilyPond font is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by diff --git a/mf/parmesan-noteheads.mf b/mf/parmesan-noteheads.mf index c66a6315c7..00b8578cb4 100644 --- a/mf/parmesan-noteheads.mf +++ b/mf/parmesan-noteheads.mf @@ -1,7 +1,7 @@ % Feta (not the Font-En-Tja) music font -- ancient note heads % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 2001--2014 Juergen Reuter +% Copyright (C) 2001--2015 Juergen Reuter % % Neo-mensural heads originally by % Christian Mondrup and Mats Bengtsson diff --git a/mf/parmesan-other-generic.mf b/mf/parmesan-other-generic.mf index e7214d6c61..1f5a981b7b 100644 --- a/mf/parmesan-other-generic.mf +++ b/mf/parmesan-other-generic.mf @@ -1,6 +1,6 @@ % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 2002--2014 Juergen Reuter +% Copyright (C) 2002--2015 Juergen Reuter % % The LilyPond font is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by diff --git a/mf/parmesan-rests.mf b/mf/parmesan-rests.mf index d3f75b6ff6..3ef67212b9 100644 --- a/mf/parmesan-rests.mf +++ b/mf/parmesan-rests.mf @@ -1,7 +1,7 @@ % Feta (not the Font-En-Tja) music font -- ancient rests % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 2001--2014 Juergen Reuter +% Copyright (C) 2001--2015 Juergen Reuter % % Neo-mensural rests originally by % Christian Mondrup and Mats Bengtsson. diff --git a/mf/parmesan-scripts.mf b/mf/parmesan-scripts.mf index b7ad2fb9ca..ee2b56b715 100644 --- a/mf/parmesan-scripts.mf +++ b/mf/parmesan-scripts.mf @@ -1,7 +1,7 @@ % Feta (not the Font-En-Tja) music font -- ancient script symbols % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 2002--2014 Juergen Reuter +% Copyright (C) 2002--2015 Juergen Reuter % % % The LilyPond font is free software: you can redistribute it and/or modify diff --git a/mf/parmesan-timesignatures.mf b/mf/parmesan-timesignatures.mf index f3d218a8ca..58308ff8e9 100644 --- a/mf/parmesan-timesignatures.mf +++ b/mf/parmesan-timesignatures.mf @@ -1,9 +1,9 @@ % Feta (not the Font-En-Tja) music font -- ancient time signatures % This file is part of LilyPond, the GNU music typesetter. % -% Copyright (C) 1998--2014 Mats Bengtsson , +% Copyright (C) 1998--2015 Mats Bengtsson , % Christian Mondrup -% Copyright (C) 2002--2014 Juergen Reuter +% Copyright (C) 2002--2015 Juergen Reuter % % The LilyPond font is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by diff --git a/po/ca.po b/po/ca.po index 4de6ae201c..1f1a3d0d3c 100644 --- a/po/ca.po +++ b/po/ca.po @@ -1,14 +1,22 @@ # Translation of LilyPond. -# Copyright (C) 1998--2014 Han-Wen Nienhuys, Jan Nieuwenhuizen +# Copyright (C) 1998--2012 Han-Wen Nienhuys, Jan Nieuwenhuizen # This file is distributed under the same license as the lilypond package. -# Walter Garcia-Fontes , 2013. -# +# Walter Garcia-Fontes , 2013-2015. +# Suggeriments de traducció: +# tuplet - grup excedent d'acord amb http://www.termcat.cat/ca/Cercaterm +# stem - plica +# beam - barra, barrat +# grob - objecte gràfic +# slur - lligadura d'expressió +# tie - lligadura d'unió +# typeset - gravar +# typesetter - gravador msgid "" msgstr "" "Project-Id-Version: lilypond-2.17.96\n" "Report-Msgid-Bugs-To: http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs\n" "POT-Creation-Date: 2013-11-24 12:14+0000\n" -"PO-Revision-Date: 2013-11-30 19:23+0100\n" +"PO-Revision-Date: 2015-01-30 08:43+0100\n" "Last-Translator: Walter Garcia-Fontes \n" "Language-Team: Catalan \n" "Language: ca\n" @@ -434,11 +442,11 @@ msgstr "O deseu com a UTF-8 al vostre editor" #: convertrules.py:2154 msgid "warn about auto beam settings" -msgstr "adverteix-me sobre paràmetres per a vírgules automàtiques" +msgstr "adverteix-me sobre paràmetres per a barrat automàtic" #: convertrules.py:2158 msgid "auto beam settings" -msgstr "paràmetres de pliques automàtiques" +msgstr "paràmetres de barrat automàtic" #: convertrules.py:2159 msgid "" @@ -447,7 +455,7 @@ msgid "" "explicitly; 1/4 is no longer multiplied to cover moments 1/2 and 3/4 too.\n" msgstr "" "\n" -"Els paràmetres per a vírgules automàtiques han d'especificar ara\n" +"Els paràmetres per a barres automàtiques han d'especificar ara\n" "explícitament cada moment interessant en un compàs; no es multiplica\n" "més la duració 1/4 per cobrir també duracions d'1/2 i 3/4.\n" @@ -620,8 +628,8 @@ msgid "\\bar \".\" now produces a thick barline.\n" msgstr "\\bar \".\" produeix ara una línia divisòria gruixuda.\n" #: convertrules.py:2849 -msgid "Dash parameters for slurs and ties are now in 'dash-definition.\n" -msgstr "Els paràmetres de discontinuïtat per a lligadures d'expressió i d'unió estan ara a 'dash-definition.\n" +msgid "Dash parameters for slurs and ties are now in 'dash-details.\n" +msgstr "Els paràmetres de discontinuïtat per a lligadures d'expressió i d'unió estan ara a 'dash-details.\n" #: convertrules.py:2854 msgid "" @@ -996,7 +1004,7 @@ msgstr "suprimeix els missatges de progrés" #: midi2ly.py:1107 musicxml2ly.py:2674 main.cc:315 #, c-format, python-format msgid "Report bugs via %s" -msgstr "Informa dels errors en anglès via %s" +msgstr "Informeu dels errors en anglès via %s" #: convert-ly.py:47 msgid "" @@ -1551,12 +1559,12 @@ msgstr "" #: musicxml2ly.py:2576 msgid "" -"Copyright (c) 2005--2014 by\n" +"Copyright (c) 2005--2012 by\n" " Han-Wen Nienhuys ,\n" " Jan Nieuwenhuizen and\n" " Reinhold Kainhofer \n" msgstr "" -"Copyright (c) 2005--2014 per\n" +"Copyright (c) 2005--2012 per\n" " Han-Wen Nienhuys ,\n" " Jan Nieuwenhuizen i\n" " Reinhold Kainhofer \n" @@ -1723,7 +1731,7 @@ msgstr "advertiment suprimit %s" #: accidental-engraver.cc:180 #, c-format msgid "accidental typesetting list must begin with context-name: %s" -msgstr "la llista de tipografia d'accidents ha de començar amb un context-name: %s" +msgstr "la llista de gravat d'accidents ha de començar amb un context-name: %s" #: accidental-engraver.cc:210 #, c-format @@ -1793,11 +1801,11 @@ msgstr "barra sense terminar" #: beam-engraver.cc:282 chord-tremolo-engraver.cc:149 msgid "stem must have Rhythmic structure" -msgstr "la vírgula ha de tenir una estructura rítmica" +msgstr "la plica ha de tenir una estructura rítmica" #: beam-engraver.cc:293 msgid "stem does not fit in beam" -msgstr "la vírgula no encaixa amb la barra" +msgstr "la plica no encaixa amb la barra" #: beam-engraver.cc:294 msgid "beam was started here" @@ -1810,7 +1818,7 @@ msgstr "no s'ha trobat cap configuració inicial viable: és possible que no es #: beam.cc:181 msgid "removing beam with no stems" -msgstr "s'està eliminant una barra sense vírgules" +msgstr "s'està eliminant una barra sense pliques" #: change-iterator.cc:34 #, c-format @@ -2354,8 +2362,9 @@ msgid "" "print log messages according to LOGLEVEL. Possible values are:\n" "NONE, ERROR, WARNING, BASIC, PROGRESS, INFO (default) and DEBUG." msgstr "" -"imprimeix els missatges del registre d'acord amb NIVELL DE REGISTRE. Els valors\n" -"possibles són: NONE, ERROR, WARNING, BASIC, PROGRESS, (preterminat) i DEBUG." +"imprimeix els missatges del registre d'acord amb NIVELL DE REGISTRE.\n" +"Es valors possibles són: NONE, ERROR, WARNING, BASIC, PROGRESS, INFO\n" +"(preterminat) i DEBUG." #: main.cc:178 msgid "write output to FILE (suffix will be added)" @@ -2367,7 +2376,9 @@ msgstr "relocalitza el directori d'us del programa lilypond" #: main.cc:180 msgid "no progress, only error messages (equivalent to loglevel=ERROR)" -msgstr "sense progrés, sols missatges d'error (equivalent a nivell de registre = ERROR)" +msgstr "" +"sense progrés, sols missatges d'error (equivalent a nivell \n" +"de registre = ERROR)" #: main.cc:182 msgid "be verbose (equivalent to loglevel=DEBUG)" @@ -2391,7 +2402,7 @@ msgstr "Ús: %s [OPCIÓ]... FITXER..." #: main.cc:301 msgid "Typeset music and/or produce MIDI from FILE." -msgstr "Compon tipogràficament la músic i/o produeix MIDI des d'un FITXER." +msgstr "Grava la música i/o produeix MIDI des d'un FITXER." #: main.cc:303 msgid "LilyPond produces beautiful music notation." @@ -2585,7 +2596,7 @@ msgstr "s'ignorarà per un excessiu nombre de columnes de nota en conflicte" #: note-column.cc:147 msgid "cannot have note heads and rests together on a stem" -msgstr "no es poden tenir caps de nota i silencis a l'hora a una barra" +msgstr "no es poden tenir caps de nota i silencis a l'hora a una plica" #: note-head.cc:95 #, c-format @@ -3039,7 +3050,7 @@ msgstr "la duració del trèmolo és massa llarga" #: stem-engraver.cc:162 #, c-format msgid "adding note head to incompatible stem (type = %d/%d)" -msgstr "s'afegirà un cap de nota a una vírgula incompatible (tipus = %d/%d)" +msgstr "s'afegirà un cap de nota a una plica incompatible (tipus = %d/%d)" #: stem-engraver.cc:165 msgid "maybe input should specify polyphonic voices" @@ -3047,7 +3058,7 @@ msgstr "potser l'entrada hauria d'especificar veus polifòniques" #: stem.cc:128 msgid "weird stem size, check for narrow beams" -msgstr "dimensió de vírgula estranya, verifiqueu si hi han barres estretes " +msgstr "dimensió de plica estranya, verifiqueu si hi han barres estretes " #: system.cc:201 #, c-format diff --git a/po/cs.po b/po/cs.po index 2fe5cf6ffd..3b8619399d 100644 --- a/po/cs.po +++ b/po/cs.po @@ -1046,12 +1046,12 @@ msgstr "Ukázat tuto nápovědu a ukončit" #: musicxml2ly.py:2574 msgid "" -"Copyright (c) 2005--2014 by\n" +"Copyright (c) 2005--2015 by\n" " Han-Wen Nienhuys ,\n" " Jan Nieuwenhuizen and\n" " Reinhold Kainhofer \n" msgstr "" -"Autorské právo (c) 2005--2014\n" +"Autorské právo (c) 2005--2015\n" " Han-Wen Nienhuys ,\n" " Jan Nieuwenhuizen a\n" " Reinhold Kainhofer \n" diff --git a/po/de.po b/po/de.po index 465e9e5e32..f285554df9 100644 --- a/po/de.po +++ b/po/de.po @@ -1,5 +1,5 @@ # German Translation of lilypond. -# Copyright (C) 2013--2014 Han-Wen Nienhuys, Jan Nieuwenhuizen +# Copyright (C) 2013--2015 Han-Wen Nienhuys, Jan Nieuwenhuizen # This file is distributed under the same license as the lilypond package. # Erwin Dieterich , 1999 # Roland Stigge , 2003, 2004, 2005, 2006, 2007 @@ -1552,12 +1552,12 @@ msgstr "" #: musicxml2ly.py:2576 msgid "" -"Copyright (c) 2005--2014 by\n" +"Copyright (c) 2005--2015 by\n" " Han-Wen Nienhuys ,\n" " Jan Nieuwenhuizen and\n" " Reinhold Kainhofer \n" msgstr "" -"Copyright (c) 2005--2014\n" +"Copyright (c) 2005--2015\n" "····Han-Wen·Nienhuys·,\n" "····Jan·Nieuwenhuizen··and\n" "····Reinhold·Kainhofer·\n" diff --git a/po/el.po b/po/el.po index f578a7b762..ddf95e279a 100644 --- a/po/el.po +++ b/po/el.po @@ -1308,12 +1308,12 @@ msgstr "" #: musicxml2ly.py:2669 msgid "" -"Copyright (c) 2005--2014 by\n" +"Copyright (c) 2005--2015 by\n" " Han-Wen Nienhuys ,\n" " Jan Nieuwenhuizen and\n" " Reinhold Kainhofer \n" msgstr "" -"Copyright (c) 2005--2014 από\n" +"Copyright (c) 2005--2015 από\n" " Han-Wen Nienhuys ,\n" " Jan Nieuwenhuizen και\n" " Reinhold Kainhofer \n" diff --git a/po/eo.po b/po/eo.po index df69d720e8..ae098ad66b 100644 --- a/po/eo.po +++ b/po/eo.po @@ -1547,12 +1547,12 @@ msgstr "" #: musicxml2ly.py:2576 msgid "" -"Copyright (c) 2005--2014 by\n" +"Copyright (c) 2005--2015 by\n" " Han-Wen Nienhuys ,\n" " Jan Nieuwenhuizen and\n" " Reinhold Kainhofer \n" msgstr "" -"Kopirajto (c) 2005--2014 de\n" +"Kopirajto (c) 2005--2015 de\n" " Han-Wen Nienhuys ,\n" " Jan Nieuwenhuizen kaj\n" " Reinhold Kainhofer \n" diff --git a/po/es.po b/po/es.po index c92cf7e332..c927d29f39 100644 --- a/po/es.po +++ b/po/es.po @@ -1566,12 +1566,12 @@ msgstr "" #: musicxml2ly.py:2576 msgid "" -"Copyright (c) 2005--2014 by\n" +"Copyright (c) 2005--2015 by\n" " Han-Wen Nienhuys ,\n" " Jan Nieuwenhuizen and\n" " Reinhold Kainhofer \n" msgstr "" -"Copyright (c) 2005--2014 por\n" +"Copyright (c) 2005--2015 por\n" " Han-Wen Nienhuys ,\n" " Jan Nieuwenhuizen y\n" " Reinhold Kainhofer \n" diff --git a/po/fr.po b/po/fr.po index fd58545747..ef5e6c84a1 100644 --- a/po/fr.po +++ b/po/fr.po @@ -1620,12 +1620,12 @@ msgstr "" #: musicxml2ly.py:2576 msgid "" -"Copyright (c) 2005--2014 by\n" +"Copyright (c) 2005--2015 by\n" " Han-Wen Nienhuys ,\n" " Jan Nieuwenhuizen and\n" " Reinhold Kainhofer \n" msgstr "" -"Copyright (c) 2005--2014 par\n" +"Copyright (c) 2005--2015 par\n" " Han-Wen Nienhuys ,\n" " Jan Nieuwenhuizen et\n" " Reinhold Kainhofer \n" diff --git a/po/it.po b/po/it.po index a7872d9b79..5331f16af8 100644 --- a/po/it.po +++ b/po/it.po @@ -1552,12 +1552,12 @@ msgstr "" #: musicxml2ly.py:2576 msgid "" -"Copyright (c) 2005--2014 by\n" +"Copyright (c) 2005--2015 by\n" " Han-Wen Nienhuys ,\n" " Jan Nieuwenhuizen and\n" " Reinhold Kainhofer \n" msgstr "" -"Copyright (c) 2005--2014 di\n" +"Copyright (c) 2005--2015 di\n" " Han-Wen Nienhuys ,\n" " Jan Nieuwenhuizen e\n" " Reinhold Kainhofer \n" diff --git a/po/ja.po b/po/ja.po index bef615d178..d96ccd1e34 100644 --- a/po/ja.po +++ b/po/ja.po @@ -992,7 +992,7 @@ msgstr " -h, --help このヘルプを表示して終了\n" #: musicxml2ly.py:2574 msgid "" -"Copyright (c) 2005--2014 by\n" +"Copyright (c) 2005--2015 by\n" " Han-Wen Nienhuys ,\n" " Jan Nieuwenhuizen and\n" " Reinhold Kainhofer \n" diff --git a/po/lilypond.pot b/po/lilypond.pot index dde6a43c00..20de58109d 100644 --- a/po/lilypond.pot +++ b/po/lilypond.pot @@ -1,5 +1,5 @@ # Translation of LilyPond -# Copyright (C) 1998--2014 Han-Wen Nienhuys, Jan Nieuwenhuizen. +# Copyright (C) 1998--2015 Han-Wen Nienhuys, Jan Nieuwenhuizen. # This file is distributed under the same license as the LilyPond package. # FIRST AUTHOR , YEAR. # @@ -1497,7 +1497,7 @@ msgstr "" #: musicxml2ly.py:2576 msgid "" -"Copyright (c) 2005--2014 by\n" +"Copyright (c) 2005--2015 by\n" " Han-Wen Nienhuys ,\n" " Jan Nieuwenhuizen and\n" " Reinhold Kainhofer \n" diff --git a/po/nl.po b/po/nl.po index ceec43aa8e..414fd24084 100644 --- a/po/nl.po +++ b/po/nl.po @@ -1,5 +1,5 @@ # Dutch translations for GNU Lilypond. -# Copyright (C) 2013--2014 Free Software Foundation, Inc. +# Copyright (C) 2013--2015 Free Software Foundation, Inc. # This file is distributed under the same license as the lilypond package. # # "Occasionally it troubles me just how far one strays @@ -1479,7 +1479,7 @@ msgstr "" #: musicxml2ly.py:2576 msgid "" -"Copyright (c) 2005--2014 by\n" +"Copyright (c) 2005--2015 by\n" " Han-Wen Nienhuys ,\n" " Jan Nieuwenhuizen and\n" " Reinhold Kainhofer \n" diff --git a/po/sv.po b/po/sv.po index 3e02189ac0..d95ef486ce 100644 --- a/po/sv.po +++ b/po/sv.po @@ -19,7 +19,7 @@ msgstr "" #. #. source file of the GNU LilyPond music typesetter #. -#. (c) 1998--2014 Han-Wen Nienhuys +#. (c) 1998--2015 Han-Wen Nienhuys #. Jan Nieuwenhuizen #. ## subst:\(^\|[^._a-z]\)\(abspath\|identify\|warranty\|progress\|warning\|error\|exit\|getopt_args\|option_help_str\|options_help_str\|help\|setup_temp\|read_pipe\|system\|cleanup_temp\|strip_extension\|cp_to_dir\|mkdir_p\|init\) *( #. ## replace:\1ly.\2 ( @@ -59,7 +59,7 @@ msgid "Copyright (c) %s by" msgstr "Copyright © %s av" #: lilylib.py:114 -msgid " 1998--2014" +msgid " 1998--2015" msgstr " 1998-2003" #: lilylib.py:118 @@ -308,7 +308,7 @@ msgstr "Tar bort utdatafilen" #. #. source file of the GNU LilyPond music typesetter #. -#. (c) 1998--2014 Han-Wen Nienhuys +#. (c) 1998--2015 Han-Wen Nienhuys #. Jan Nieuwenhuizen #. TODO #. use -f and -t for -s output @@ -649,7 +649,7 @@ msgstr "inga filer angivna p #. #. source file of the GNU LilyPond music typesetter #. -#. (c) 1998--2014 Han-Wen Nienhuys +#. (c) 1998--2015 Han-Wen Nienhuys #. Jan Nieuwenhuizen #. This is the third incarnation of ly2dvi. #. @@ -935,7 +935,7 @@ msgstr "%s skrivet till \"%s\"..." #. #. source file of the GNU LilyPond music typesetter #. -#. (c) 1998--2014 Han-Wen Nienhuys +#. (c) 1998--2015 Han-Wen Nienhuys #. Jan Nieuwenhuizen #. ############################################################### #. Users of python modules should include this snippet. diff --git a/ps/encodingdefs.ps b/ps/encodingdefs.ps new file mode 100644 index 0000000000..fe4db92b1d --- /dev/null +++ b/ps/encodingdefs.ps @@ -0,0 +1,1848 @@ +%!PS-Adobe-2.0: encodingdefs.ps + +% +% Custom encodings and definitions for emmentaler-[[:digit:]]* +% ad the emmentaler-brace fonts, used with --bigpdf +% + +/LilyNoteHeadEncoding [ + % 0x00 + /.notdef /noteheads.d0doFunk /noteheads.d0fa + /noteheads.d0faFunk /noteheads.d0faThin /noteheads.d0miFunk + /noteheads.d0reFunk /noteheads.d0tiFunk /noteheads.d1do + /noteheads.d1doFunk /noteheads.d1doThin /noteheads.d1doWalker + /noteheads.d1fa /noteheads.d1faFunk /noteheads.d1faThin + % 0xf + /noteheads.d1faWalker /noteheads.d1miFunk /noteheads.d1re + /noteheads.d1reFunk /noteheads.d1reThin /noteheads.d1reWalker + /noteheads.d1ti /noteheads.d1tiFunk /noteheads.d1tiThin + /noteheads.d1tiWalker /noteheads.d1triangle /noteheads.d2do + % 0x1e + /noteheads.d2doFunk /noteheads.d2doThin /noteheads.d2doWalker + /noteheads.d2fa /noteheads.d2faFunk /noteheads.d2faThin + /noteheads.d2faWalker /noteheads.d2kievan /noteheads.d2re + /noteheads.d2reFunk /noteheads.d2reThin /noteheads.d2reWalker + /noteheads.d2ti /noteheads.d2tiFunk /noteheads.d2tiThin + % 0x2d + /noteheads.d2tiWalker /noteheads.d2triangle /noteheads.d3kievan + /noteheads.dM2 /noteheads.dM2blackmensural /noteheads.dM2mensural + /noteheads.dM2neomensural /noteheads.dM2semimensural + /noteheads.dM3blackmensural /noteheads.dM3mensural + /noteheads.dM3neomensural /noteheads.dM3semimensural + % 0x39 + /noteheads.drM2mensural /noteheads.drM2neomensural + /noteheads.drM2semimensural /noteheads.drM3mensural + /noteheads.drM3neomensural /noteheads.drM3semimensural /noteheads.s0 + /noteheads.s0blackmensural /noteheads.s0blackpetrucci + /noteheads.s0cross /noteheads.s0diamond /noteheads.s0do + % 0x45 + /noteheads.s0doThin /noteheads.s0doWalker /noteheads.s0faWalker + /noteheads.s0harmonic /noteheads.s0kievan /noteheads.s0la + /noteheads.s0laFunk /noteheads.s0laThin /noteheads.s0laWalker + /noteheads.s0mensural /noteheads.s0mi /noteheads.s0miMirror + /noteheads.s0miThin /noteheads.s0miWalker /noteheads.s0neomensural + % 0x54 + /noteheads.s0petrucci /noteheads.s0re /noteheads.s0reThin + /noteheads.s0reWalker /noteheads.s0slash /noteheads.s0sol + /noteheads.s0solFunk /noteheads.s0ti /noteheads.s0tiThin + /noteheads.s0tiWalker /noteheads.s0triangle /noteheads.s1 + /noteheads.s1blackpetrucci /noteheads.s1cross /noteheads.s1diamond + % 0x63 + /noteheads.s1kievan /noteheads.s1la /noteheads.s1laFunk + /noteheads.s1laThin /noteheads.s1laWalker /noteheads.s1mensural + /noteheads.s1mi /noteheads.s1miMirror /noteheads.s1miThin + /noteheads.s1miWalker /noteheads.s1neomensural /noteheads.s1petrucci + /noteheads.s1slash /noteheads.s1sol /noteheads.s1solFunk + % 0x72 + /noteheads.s2 /noteheads.s2blackpetrucci /noteheads.s2cross + /noteheads.s2diamond /noteheads.s2harmonic /noteheads.s2la + /noteheads.s2laFunk /noteheads.s2laThin /noteheads.s2laWalker + /noteheads.s2mensural /noteheads.s2mi /noteheads.s2miFunk + /noteheads.s2miMirror /noteheads.s2miThin /noteheads.s2miWalker + % 0x81 + /noteheads.s2neomensural /noteheads.s2petrucci /noteheads.s2slash + /noteheads.s2sol /noteheads.s2solFunk /noteheads.s2xcircle + /noteheads.shufnagel.lpes /noteheads.shufnagel.punctum + /noteheads.shufnagel.virga /noteheads.sM1 /noteheads.sM1blackmensural + /noteheads.sM1double /noteheads.sM1kievan /noteheads.sM1mensural + % 0x8f + /noteheads.sM1neomensural /noteheads.sM1semimensural + /noteheads.sM2blackligmensural /noteheads.sM2kievan + /noteheads.sM2ligmensural /noteheads.sM2semiligmensural + /noteheads.sM3blackligmensural /noteheads.sM3ligmensural + /noteheads.sM3semiligmensural /noteheads.smedicaea.inclinatum + % 0x99 + /noteheads.smedicaea.punctum /noteheads.smedicaea.rvirga + /noteheads.smedicaea.virga /noteheads.sr1kievan + /noteheads.srM1mensural /noteheads.srM1neomensural + /noteheads.srM1semimensural /noteheads.srM2ligmensural + /noteheads.srM2semiligmensural /noteheads.srM3ligmensural + % 0xa3 + /noteheads.srM3semiligmensural /noteheads.ssolesmes.auct.asc + /noteheads.ssolesmes.auct.desc /noteheads.ssolesmes.incl.auctum + /noteheads.ssolesmes.incl.parvum /noteheads.ssolesmes.oriscus + /noteheads.ssolesmes.stropha /noteheads.ssolesmes.stropha.aucta + /noteheads.svaticana.cephalicus /noteheads.svaticana.epiphonus + % 0xad + /noteheads.svaticana.inclinatum /noteheads.svaticana.inner.cephalicus + /noteheads.svaticana.linea.punctum + /noteheads.svaticana.linea.punctum.cavum + /noteheads.svaticana.lpes /noteheads.svaticana.plica + /noteheads.svaticana.punctum /noteheads.svaticana.punctum.cavum + % 0xb5 + /noteheads.svaticana.quilisma /noteheads.svaticana.reverse.plica + /noteheads.svaticana.reverse.vplica /noteheads.svaticana.upes + /noteheads.svaticana.vepiphonus /noteheads.svaticana.vlpes + /noteheads.svaticana.vplica /noteheads.svaticana.vupes + /noteheads.u0doFunk /noteheads.u0fa /noteheads.u0faFunk + % 0xc0 + /noteheads.u0faThin /noteheads.u0miFunk /noteheads.u0reFunk + /noteheads.u0tiFunk /noteheads.u1do /noteheads.u1doFunk + /noteheads.u1doThin /noteheads.u1doWalker /noteheads.u1fa + /noteheads.u1faFunk /noteheads.u1faThin /noteheads.u1faWalker + /noteheads.u1miFunk /noteheads.u1re /noteheads.u1reFunk + % 0xcf + /noteheads.u1reThin /noteheads.u1reWalker /noteheads.u1ti + /noteheads.u1tiFunk /noteheads.u1tiThin /noteheads.u1tiWalker + /noteheads.u1triangle /noteheads.u2do /noteheads.u2doFunk + /noteheads.u2doThin /noteheads.u2doWalker /noteheads.u2fa + /noteheads.u2faFunk /noteheads.u2faThin /noteheads.u2faWalker + % 0xde + /noteheads.u2kievan /noteheads.u2re /noteheads.u2reFunk + /noteheads.u2reThin /noteheads.u2reWalker /noteheads.u2ti + /noteheads.u2tiFunk /noteheads.u2tiThin /noteheads.u2tiWalker + /noteheads.u2triangle /noteheads.u3kievan /noteheads.uM2 + /noteheads.uM2blackmensural /noteheads.uM2mensural + % 0xec + /noteheads.uM2neomensural /noteheads.uM2semimensural + /noteheads.uM3blackmensural /noteheads.uM3mensural + /noteheads.uM3neomensural /noteheads.uM3semimensural + /noteheads.urM2mensural /noteheads.urM2neomensural + % 0xf4 + /noteheads.urM2semimensural /noteheads.urM3mensural + /noteheads.urM3neomensural /noteheads.urM3semimensural + % 0xf8 + /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + % 0x103 +] def + +% 0x00 +/noteheads.d0doFunk {<01> show} def +/noteheads.d0fa {<02> show} def +/noteheads.d0faFunk {<03> show} def +/noteheads.d0faThin {<04> show} def +/noteheads.d0miFunk {<05> show} def +/noteheads.d0reFunk {<06> show} def +/noteheads.d0tiFunk {<07> show} def +/noteheads.d1do {<08> show} def +/noteheads.d1doFunk {<09> show} def +/noteheads.d1doThin {<0a> show} def +% 0xa +/noteheads.d1doWalker {<0b> show} def +/noteheads.d1fa {<0c> show} def +/noteheads.d1faFunk {<0d> show} def +/noteheads.d1faThin {<0e> show} def +/noteheads.d1faWalker {<0f> show} def +/noteheads.d1miFunk {<10> show} def +/noteheads.d1re {<11> show} def +/noteheads.d1reFunk {<12> show} def +/noteheads.d1reThin {<13> show} def +/noteheads.d1reWalker {<14> show} def +% 0x14 +/noteheads.d1ti {<15> show} def +/noteheads.d1tiFunk {<16> show} def +/noteheads.d1tiThin {<17> show} def +/noteheads.d1tiWalker {<18> show} def +/noteheads.d1triangle {<19> show} def +/noteheads.d2do {<1a> show} def +/noteheads.d2doFunk {<1b> show} def +/noteheads.d2doThin {<1c> show} def +/noteheads.d2doWalker {<1d> show} def +/noteheads.d2fa {<1e> show} def +% 0x1e +/noteheads.d2faFunk {<1f> show} def +/noteheads.d2faThin {<20> show} def +/noteheads.d2faWalker {<21> show} def +/noteheads.d2kievan {<22> show} def +/noteheads.d2re {<23> show} def +/noteheads.d2reFunk {<24> show} def +/noteheads.d2reThin {<25> show} def +/noteheads.d2reWalker {<26> show} def +/noteheads.d2ti {<27> show} def +/noteheads.d2tiFunk {<28> show} def +% 0x28 +/noteheads.d2tiThin {<29> show} def +/noteheads.d2tiWalker {<2a> show} def +/noteheads.d2triangle {<2b> show} def +/noteheads.d3kievan {<2c> show} def +/noteheads.dM2 {<2d> show} def +/noteheads.dM2blackmensural {<2e> show} def +/noteheads.dM2mensural {<2f> show} def +/noteheads.dM2neomensural {<30> show} def +/noteheads.dM2semimensural {<31> show} def +/noteheads.dM3blackmensural {<32> show} def +% 0x32 +/noteheads.dM3mensural {<33> show} def +/noteheads.dM3neomensural {<34> show} def +/noteheads.dM3semimensural {<35> show} def +/noteheads.drM2mensural {<36> show} def +/noteheads.drM2neomensural {<37> show} def +/noteheads.drM2semimensural {<38> show} def +/noteheads.drM3mensural {<39> show} def +/noteheads.drM3neomensural {<3a> show} def +/noteheads.drM3semimensural {<3b> show} def +/noteheads.s0 {<3c> show} def +% 0x3c +/noteheads.s0blackmensural {<3d> show} def +/noteheads.s0blackpetrucci {<3e> show} def +/noteheads.s0cross {<3f> show} def +/noteheads.s0diamond {<40> show} def +/noteheads.s0do {<41> show} def +/noteheads.s0doThin {<42> show} def +/noteheads.s0doWalker {<43> show} def +/noteheads.s0faWalker {<44> show} def +/noteheads.s0harmonic {<45> show} def +/noteheads.s0kievan {<46> show} def +% 0x46 +/noteheads.s0la {<47> show} def +/noteheads.s0laFunk {<48> show} def +/noteheads.s0laThin {<49> show} def +/noteheads.s0laWalker {<4a> show} def +/noteheads.s0mensural {<4b> show} def +/noteheads.s0mi {<4c> show} def +/noteheads.s0miMirror {<4d> show} def +/noteheads.s0miThin {<4e> show} def +/noteheads.s0miWalker {<4f> show} def +/noteheads.s0neomensural {<50> show} def +% 0x50 +/noteheads.s0petrucci {<51> show} def +/noteheads.s0re {<52> show} def +/noteheads.s0reThin {<53> show} def +/noteheads.s0reWalker {<54> show} def +/noteheads.s0slash {<55> show} def +/noteheads.s0sol {<56> show} def +/noteheads.s0solFunk {<57> show} def +/noteheads.s0ti {<58> show} def +/noteheads.s0tiThin {<59> show} def +/noteheads.s0tiWalker {<5a> show} def +% 0x5a +/noteheads.s0triangle {<5b> show} def +/noteheads.s1 {<5c> show} def +/noteheads.s1blackpetrucci {<5d> show} def +/noteheads.s1cross {<5e> show} def +/noteheads.s1diamond {<5f> show} def +/noteheads.s1kievan {<60> show} def +/noteheads.s1la {<61> show} def +/noteheads.s1laFunk {<62> show} def +/noteheads.s1laThin {<63> show} def +/noteheads.s1laWalker {<64> show} def +% 0x64 +/noteheads.s1mensural {<65> show} def +/noteheads.s1mi {<66> show} def +/noteheads.s1miMirror {<67> show} def +/noteheads.s1miThin {<68> show} def +/noteheads.s1miWalker {<69> show} def +/noteheads.s1neomensural {<6a> show} def +/noteheads.s1petrucci {<6b> show} def +/noteheads.s1slash {<6c> show} def +/noteheads.s1sol {<6d> show} def +/noteheads.s1solFunk {<6e> show} def +% 0x6e +/noteheads.s2 {<6f> show} def +/noteheads.s2blackpetrucci {<70> show} def +/noteheads.s2cross {<71> show} def +/noteheads.s2diamond {<72> show} def +/noteheads.s2harmonic {<73> show} def +/noteheads.s2la {<74> show} def +/noteheads.s2laFunk {<75> show} def +/noteheads.s2laThin {<76> show} def +/noteheads.s2laWalker {<77> show} def +/noteheads.s2mensural {<78> show} def +% 0x78 +/noteheads.s2mi {<79> show} def +/noteheads.s2miFunk {<7a> show} def +/noteheads.s2miMirror {<7b> show} def +/noteheads.s2miThin {<7c> show} def +/noteheads.s2miWalker {<7d> show} def +/noteheads.s2neomensural {<7e> show} def +/noteheads.s2petrucci {<7f> show} def +/noteheads.s2slash {<80> show} def +/noteheads.s2sol {<81> show} def +/noteheads.s2solFunk {<82> show} def +% 0x82 +/noteheads.s2xcircle {<83> show} def +/noteheads.shufnagel.lpes {<84> show} def +/noteheads.shufnagel.punctum {<85> show} def +/noteheads.shufnagel.virga {<86> show} def +/noteheads.sM1 {<87> show} def +/noteheads.sM1blackmensural {<88> show} def +/noteheads.sM1double {<89> show} def +/noteheads.sM1kievan {<8a> show} def +/noteheads.sM1mensural {<8b> show} def +/noteheads.sM1neomensural {<8c> show} def +% 0x8c +/noteheads.sM1semimensural {<8d> show} def +/noteheads.sM2blackligmensural {<8e> show} def +/noteheads.sM2kievan {<8f> show} def +/noteheads.sM2ligmensural {<90> show} def +/noteheads.sM2semiligmensural {<91> show} def +/noteheads.sM3blackligmensural {<92> show} def +/noteheads.sM3ligmensural {<93> show} def +/noteheads.sM3semiligmensural {<94> show} def +/noteheads.smedicaea.inclinatum {<95> show} def +/noteheads.smedicaea.punctum {<96> show} def +% 0x96 +/noteheads.smedicaea.rvirga {<97> show} def +/noteheads.smedicaea.virga {<98> show} def +/noteheads.sr1kievan {<99> show} def +/noteheads.srM1mensural {<9a> show} def +/noteheads.srM1neomensural {<9b> show} def +/noteheads.srM1semimensural {<9c> show} def +/noteheads.srM2ligmensural {<9d> show} def +/noteheads.srM2semiligmensural {<9e> show} def +/noteheads.srM3ligmensural {<9f> show} def +/noteheads.srM3semiligmensural { show} def +% 0xa0 +/noteheads.ssolesmes.auct.asc { show} def +/noteheads.ssolesmes.auct.desc { show} def +/noteheads.ssolesmes.incl.auctum { show} def +/noteheads.ssolesmes.incl.parvum { show} def +/noteheads.ssolesmes.oriscus { show} def +/noteheads.ssolesmes.stropha { show} def +/noteheads.ssolesmes.stropha.aucta { show} def +/noteheads.svaticana.cephalicus { show} def +/noteheads.svaticana.epiphonus { show} def +/noteheads.svaticana.inclinatum { show} def +% 0xaa +/noteheads.svaticana.inner.cephalicus { show} def +/noteheads.svaticana.linea.punctum { show} def +/noteheads.svaticana.linea.punctum.cavum { show} def +/noteheads.svaticana.lpes { show} def +/noteheads.svaticana.plica { show} def +/noteheads.svaticana.punctum { show} def +/noteheads.svaticana.punctum.cavum { show} def +/noteheads.svaticana.quilisma { show} def +/noteheads.svaticana.reverse.plica { show} def +/noteheads.svaticana.reverse.vplica { show} def +% 0xb4 +/noteheads.svaticana.upes { show} def +/noteheads.svaticana.vepiphonus { show} def +/noteheads.svaticana.vlpes { show} def +/noteheads.svaticana.vplica { show} def +/noteheads.svaticana.vupes { show} def +/noteheads.u0doFunk { show} def +/noteheads.u0fa { show} def +/noteheads.u0faFunk { show} def +/noteheads.u0faThin { show} def +/noteheads.u0miFunk { show} def +% 0xbe +/noteheads.u0reFunk { show} def +/noteheads.u0tiFunk { show} def +/noteheads.u1do { show} def +/noteheads.u1doFunk { show} def +/noteheads.u1doThin { show} def +/noteheads.u1doWalker { show} def +/noteheads.u1fa { show} def +/noteheads.u1faFunk { show} def +/noteheads.u1faThin { show} def +/noteheads.u1faWalker { show} def +% 0xc8 +/noteheads.u1miFunk { show} def +/noteheads.u1re { show} def +/noteheads.u1reFunk { show} def +/noteheads.u1reThin { show} def +/noteheads.u1reWalker { show} def +/noteheads.u1ti { show} def +/noteheads.u1tiFunk { show} def +/noteheads.u1tiThin { show} def +/noteheads.u1tiWalker { show} def +/noteheads.u1triangle { show} def +% 0xd2 +/noteheads.u2do { show} def +/noteheads.u2doFunk { show} def +/noteheads.u2doThin { show} def +/noteheads.u2doWalker { show} def +/noteheads.u2fa { show} def +/noteheads.u2faFunk { show} def +/noteheads.u2faThin { show} def +/noteheads.u2faWalker { show} def +/noteheads.u2kievan { show} def +/noteheads.u2re { show} def +% 0xdc +/noteheads.u2reFunk {
    show} def +/noteheads.u2reThin { show} def +/noteheads.u2reWalker { show} def +/noteheads.u2ti { show} def +/noteheads.u2tiFunk { show} def +/noteheads.u2tiThin { show} def +/noteheads.u2tiWalker { show} def +/noteheads.u2triangle { show} def +/noteheads.u3kievan { show} def +/noteheads.uM2 { show} def +% 0xe6 +/noteheads.uM2blackmensural { show} def +/noteheads.uM2mensural { show} def +/noteheads.uM2neomensural { show} def +/noteheads.uM2semimensural { show} def +/noteheads.uM3blackmensural { show} def +/noteheads.uM3mensural { show} def +/noteheads.uM3neomensural { show} def +/noteheads.uM3semimensural { show} def +/noteheads.urM2mensural { show} def +/noteheads.urM2neomensural { show} def +% 0xf0 +/noteheads.urM2semimensural { show} def +/noteheads.urM3mensural { show} def +/noteheads.urM3neomensural { show} def +/noteheads.urM3semimensural { show} def +% 0xf4 + +/LilyScriptEncoding [ + % 0x00 + /.notdef /clefs.blackmensural.c /clefs.blackmensural.c_change + /clefs.C /clefs.C_change /clefs.F + /clefs.F_change /clefs.G /clefs.G_change + /clefs.GG /clefs.GG_change /clefs.hufnagel.do + /clefs.hufnagel.do_change /clefs.hufnagel.do.fa + % 0xe + /clefs.hufnagel.do.fa_change /clefs.hufnagel.fa + /clefs.hufnagel.fa_change /clefs.kievan.do /clefs.kievan.do_change + /clefs.medicaea.do /clefs.medicaea.do_change /clefs.medicaea.fa + /clefs.medicaea.fa_change /clefs.mensural.c /clefs.mensural.c_change + /clefs.mensural.f /clefs.mensural.f_change /clefs.mensural.g + % 01c + /clefs.mensural.g_change /clefs.neomensural.c + /clefs.neomensural.c_change /clefs.percussion + /clefs.percussion_change /clefs.petrucci.c1 /clefs.petrucci.c1_change + /clefs.petrucci.c2 /clefs.petrucci.c2_change /clefs.petrucci.c3 + /clefs.petrucci.c3_change /clefs.petrucci.c4 /clefs.petrucci.c4_change + % 0x29 + /clefs.petrucci.c5 /clefs.petrucci.c5_change /clefs.petrucci.f + /clefs.petrucci.f_change /clefs.petrucci.g /clefs.petrucci.g_change + /clefs.tab /clefs.tab_change /clefs.tenorG + /clefs.tenorG_change /clefs.varC /clefs.varC_change + /clefs.varpercussion /clefs.varpercussion_change /clefs.vaticana.do + % 0x38 + /clefs.vaticana.do_change /clefs.vaticana.fa /clefs.vaticana.fa_change + /scripts.arpeggio /scripts.arpeggio.arrow.1 /scripts.arpeggio.arrow.M1 + /scripts.augmentum /scripts.barline.kievan /scripts.caesura.curved + /scripts.caesura.straight /scripts.circulus /scripts.coda + /scripts.daccentus /scripts.dfermata /scripts.dlongfermata + % 0x47 + /scripts.dmarcato /scripts.downbow /scripts.downmordent + /scripts.downprall /scripts.dpedalheel /scripts.dpedaltoe + /scripts.dportato /scripts.dsemicirculus /scripts.dshortfermata + /scripts.dsignumcongruentiae /scripts.dstaccatissimo + /scripts.dverylongfermata /scripts.espr /scripts.flageolet + % 0x55 + /scripts.halfopen /scripts.halfopenvertical /scripts.ictus + /scripts.lcomma /scripts.lineprall /scripts.lvarcomma + /scripts.mordent /scripts.open /scripts.prall + /scripts.pralldown /scripts.prallmordent /scripts.prallprall + /scripts.prallup /scripts.rcomma /scripts.reverseturn + % 0x64 + /scripts.rvarcomma /scripts.segno /scripts.sforzato + /scripts.snappizzicato /scripts.staccato /scripts.stopped + /scripts.tenuto /scripts.thumb /scripts.tickmark + /scripts.trilelement /scripts.trill /scripts.trill_element + /scripts.turn /scripts.uaccentus /scripts.ufermata + % 0x73 + /scripts.ulongfermata /scripts.umarcato /scripts.upbow + /scripts.upedalheel /scripts.upedaltoe /scripts.upmordent + /scripts.uportato /scripts.upprall /scripts.usemicirculus + /scripts.ushortfermata /scripts.usignumcongruentiae + /scripts.ustaccatissimo /scripts.uverylongfermata /scripts.varcoda + % 0x81 + /scripts.varsegno + % 0x82 + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + % 0x9e + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + % 0xc1 + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + % 0xe4 + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + % 0x100 +] def + +% 0x00 +/clefs.blackmensural.c {<01> show} def +/clefs.blackmensural.c_change {<02> show} def +/clefs.C {<03> show} def /clefs.C_change {<04> show} def +/clefs.F {<05> show} def /clefs.F_change {<06> show} def +/clefs.G {<07> show} def /clefs.G_change {<08> show} def +/clefs.GG {<09> show} def /clefs.GG_change {<0a> show} def +/clefs.hufnagel.do {<0b> show} def +/clefs.hufnagel.do_change {<0c> show} def +/clefs.hufnagel.do.fa {<0d> show} def +/clefs.hufnagel.do.fa_change {<0e> show} def +% 0xa +/clefs.hufnagel.fa {<0f> show} def +/clefs.hufnagel.fa_change {<10> show} def +/clefs.kievan.do {<11> show} def +/clefs.kievan.do_change {<12> show} def +/clefs.medicaea.do {<13> show} def +/clefs.medicaea.do_change {<14> show} def +/clefs.medicaea.fa {<15> show} def +/clefs.medicaea.fa_change {<16> show} def +/clefs.mensural.c {<17> show} def +/clefs.mensural.c_change {<18> show} def +% 0x14 +/clefs.mensural.f {<19> show} def +/clefs.mensural.f_change {<1a> show} def +/clefs.mensural.g {<1b> show} def +/clefs.mensural.g_change {<1c> show} def +/clefs.neomensural.c {<1d> show} def +/clefs.neomensural.c_change {<1e> show} def +/clefs.percussion {<1f> show} def +/clefs.percussion_change {<20> show} def +/clefs.petrucci.c1 {<21> show} def +/clefs.petrucci.c1_change {<22> show} def +% 0x1e +/clefs.petrucci.c2 {<23> show} def +/clefs.petrucci.c2_change {<24> show} def +/clefs.petrucci.c3 {<25> show} def +/clefs.petrucci.c3_change {<26> show} def +/clefs.petrucci.c4 {<27> show} def +/clefs.petrucci.c4_change {<28> show} def +/clefs.petrucci.c5 {<29> show} def +/clefs.petrucci.c5_change {<2a> show} def +/clefs.petrucci.f {<2b> show} def +/clefs.petrucci.f_change {<2c> show} def +% 0x28 +/clefs.petrucci.g {<2d> show} def +/clefs.petrucci.g_change {<2e> show} def +/clefs.tab {<2f> show} def +/clefs.tab_change {<30> show} def +/clefs.tenorG {<31> show} def +/clefs.tenorG_change {<32> show} def +/clefs.varC {<33> show} def +/clefs.varC_change {<34> show} def +/clefs.varpercussion {<35> show} def +/clefs.varpercussion_change {<36> show} def +% 0x32 +/clefs.vaticana.do {<37> show} def +/clefs.vaticana.do_change {<38> show} def +/clefs.vaticana.fa {<39> show} def +/clefs.vaticana.fa_change {<3a> show} def +/scripts.arpeggio {<3b> show} def +/scripts.arpeggio.arrow.1 {<3c> show} def +/scripts.arpeggio.arrow.M1 {<3d> show} def +/scripts.augmentum {<3e> show} def +/scripts.barline.kievan {<3f> show} def +/scripts.caesura.curved {<40> show} def +% 0x3c +/scripts.caesura.straight {<41> show} def +/scripts.circulus {<42> show} def +/scripts.coda {<43> show} def +/scripts.daccentus {<44> show} def +/scripts.dfermata {<45> show} def +/scripts.dlongfermata {<46> show} def +/scripts.dmarcato {<47> show} def +/scripts.downbow {<48> show} def +/scripts.downmordent {<49> show} def +/scripts.downprall {<4a> show} def +% 0x46 +/scripts.dpedalheel {<4b> show} def +/scripts.dpedaltoe {<4c> show} def +/scripts.dportato {<4d> show} def +/scripts.dsemicirculus {<4e> show} def +/scripts.dshortfermata {<4f> show} def +/scripts.dsignumcongruentiae {<50> show} def +/scripts.dstaccatissimo {<51> show} def +/scripts.dverylongfermata {<52> show} def +/scripts.espr {<53> show} def +/scripts.flageolet {<54> show} def +% 0x50 +/scripts.halfopen {<55> show} def +/scripts.halfopenvertical {<56> show} def +/scripts.ictus {<57> show} def +/scripts.lcomma {<58> show} def +/scripts.lineprall {<59> show} def +/scripts.lvarcomma {<5a> show} def +/scripts.mordent {<5b> show} def +/scripts.open {<5c> show} def +/scripts.prall {<5d> show} def +/scripts.pralldown {<5e> show} def +% 0x5a +/scripts.prallmordent {<5f> show} def +/scripts.prallprall {<60> show} def +/scripts.prallup {<61> show} def +/scripts.rcomma {<62> show} def +/scripts.reverseturn {<63> show} def +/scripts.rvarcomma {<64> show} def +/scripts.segno {<65> show} def +/scripts.sforzato {<66> show} def +/scripts.snappizzicato {<67> show} def +/scripts.staccato {<68> show} def +/scripts.stopped {<69> show} def +% 0x64 +/scripts.tenuto {<6a> show} def +/scripts.thumb {<6b> show} def +/scripts.tickmark {<6c> show} def +/scripts.trilelement {<6d> show} def +/scripts.trill {<6e> show} def +/scripts.trill_element {<6f> show} def +/scripts.turn {<70> show} def +/scripts.uaccentus {<71> show} def +/scripts.ufermata {<72> show} def +/scripts.ulongfermata {<73> show} def +% 0x6e +/scripts.umarcato {<74> show} def +/scripts.upbow {<75> show} def +/scripts.upedalheel {<76> show} def +/scripts.upedaltoe {<77> show} def +/scripts.upmordent {<78> show} def +/scripts.uportato {<79> show} def +/scripts.upprall {<7a> show} def +/scripts.usemicirculus {<7b> show} def +/scripts.ushortfermata {<7c> show} def +/scripts.usignumcongruentiae {<7d> show} def +% 0x78 +/scripts.ustaccatissimo {<7e> show} def +/scripts.uverylongfermata {<7f> show} def +/scripts.varcoda {<80> show} def +/scripts.varsegno {<81> show} def +% 0x7c + +/LilyOtherEncoding [ + % 0x00 + /.notdef /accidentals.doublesharp /accidentals.flat + /accidentals.flat.arrowboth /accidentals.flat.arrowdown + /accidentals.flat.arrowup /accidentals.flatflat + /accidentals.flatflat.slash /accidentals.flat.slash + /accidentals.flat.slashslash /accidentals.hufnagelM1 + % 0xb + /accidentals.kievan1 /accidentals.kievanM1 /accidentals.leftparen + /accidentals.medicaeaM1 /accidentals.mensural1 /accidentals.mensuralM1 + /accidentals.mirroredflat /accidentals.mirroredflat.backslash + /accidentals.mirroredflat.flat /accidentals.natural + /accidentals.natural.arrowboth /accidentals.natural.arrowdown + % 0x17 + /accidentals.natural.arrowup /accidentals.rightparen + /accidentals.sharp /accidentals.sharp.arrowboth + /accidentals.sharp.arrowdown /accidentals.sharp.arrowup + /accidentals.sharp.slashslashslash.stem + /accidentals.sharp.slashslashslash.stemstem + % 0x1f + /accidentals.sharp.slashslash.stem + /accidentals.sharp.slashslash.stemstemstem /accidentals.vaticana0 + /accidentals.vaticanaM1 /accordion.bayanbass /accordion.discant + /accordion.dot /accordion.freebass /accordion.oldEE + /accordion.pull /accordion.push /accordion.stdbass + % 0x2b + /arrowheads.close.01 /arrowheads.close.0M1 /arrowheads.close.11 + /arrowheads.close.1M1 /arrowheads.open.01 /arrowheads.open.0M1 + /arrowheads.open.11 /arrowheads.open.1M1 + /brackettips.down /brackettips.up /comma /custodes.hufnagel.d0 + /custodes.hufnagel.d1 /custodes.hufnagel.d2 /custodes.hufnagel.u0 + % 0x39 + /custodes.hufnagel.u1 /custodes.hufnagel.u2 /custodes.medicaea.d0 + /custodes.medicaea.d1 /custodes.medicaea.d2 /custodes.medicaea.u0 + /custodes.medicaea.u1 /custodes.medicaea.u2 /custodes.mensural.d0 + /custodes.mensural.d1 /custodes.mensural.d2 /custodes.mensural.u0 + /custodes.mensural.u1 /custodes.mensural.u2 /custodes.vaticana.d0 + % 0x48 + /custodes.vaticana.d1 /custodes.vaticana.d2 /custodes.vaticana.u0 + /custodes.vaticana.u1 /custodes.vaticana.u2 /dots.dot + /dots.dotkievan /dots.dotvaticana /eight + /f /five /flags.d3 + /flags.d4 /flags.d5 /flags.d6 + % 0x57 + /flags.d7 /flags.dgrace /flags.mensurald03 + /flags.mensurald04 /flags.mensurald05 /flags.mensurald06 + /flags.mensurald13 /flags.mensurald14 /flags.mensurald15 + /flags.mensurald16 /flags.mensurald23 /flags.mensurald24 + /flags.mensurald25 /flags.mensurald26 /flags.mensuralu03 + % 0x66 + /flags.mensuralu04 /flags.mensuralu05 /flags.mensuralu06 + /flags.mensuralu13 /flags.mensuralu14 /flags.mensuralu15 + /flags.mensuralu16 /flags.mensuralu23 /flags.mensuralu24 + /flags.mensuralu25 /flags.mensuralu26 /flags.u3 + /flags.u4 /flags.u5 /flags.u6 + % 0x75 + /flags.u7 /flags.ugrace /four + /hyphen /m /nine + /one /p /pedal.. /pedal.* + /pedal.d /pedal.e /pedal.M + /pedal.P /pedal.Ped /period + % 0x84 + /plus /r /rests.0 + /rests.0mensural /rests.0neomensural /rests.0o + /rests.1 /rests.1mensural /rests.1neomensural + /rests.1o /rests.2 /rests.2classical + /rests.2mensural /rests.2neomensural /rests.2z + % 0x93 + /rests.3 /rests.3mensural /rests.3neomensural + /rests.4 /rests.4mensural /rests.4neomensural + /rests.5 /rests.6 /rests.7 + /rests.M1 /rests.M1mensural /rests.M1neomensural + /rests.M1o /rests.M2 /rests.M2mensural + % 0xa2 + /rests.M2neomensural /rests.M3 /rests.M3mensural + /rests.M3neomensural /s /seven + /six /space /three + /ties.lyric.default + /ties.lyric.short /timesig.C22 /timesig.C44 + % 0xb1 + /timesig.mensural22 /timesig.mensural24 /timesig.mensural32 + /timesig.mensural34 /timesig.mensural44 /timesig.mensural48 + /timesig.mensural64 /timesig.mensural68 /timesig.mensural68alt + /timesig.mensural94 /timesig.mensural98 /timesig.neomensural22 + /timesig.neomensural24 /timesig.neomensural32 /timesig.neomensural34 + % 0xc0 + /timesig.neomensural44 /timesig.neomensural48 /timesig.neomensural64 + /timesig.neomensural68 /timesig.neomensural68alt + /timesig.neomensural94 /timesig.neomensural98 + /two /z /zero + % 0xca + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + % 0xed + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef + % 0xf6 +] def + +% 0x00 +/accidentals.doublesharp {<01> show} def +/accidentals.flat {<02> show} def +/accidentals.flat.arrowboth {<03> show} def +/accidentals.flat.arrowdown {<04> show} def +/accidentals.flat.arrowup {<05> show} def +/accidentals.flatflat {<06> show} def +/accidentals.flatflat.slash {<07> show} def +/accidentals.flat.slash {<08> show} def +/accidentals.flat.slashslash {<09> show} def +/accidentals.hufnagelM1 {<0a> show} def +/accidentals.kievan1 {<0b> show} def +% 0xa +/accidentals.kievanM1 {<0c> show} def +/accidentals.leftparen {<0d> show} def +/accidentals.medicaeaM1 {<0e> show} def +/accidentals.mensural1 {<0f> show} def +/accidentals.mensuralM1 {<10> show} def +/accidentals.mirroredflat {<11> show} def +/accidentals.mirroredflat.backslash {<12> show} def +/accidentals.mirroredflat.flat {<13> show} def +/accidentals.natural {<14> show} def +/accidentals.natural.arrowboth {<15> show} def +/accidentals.natural.arrowdown {<16> show} def +% 0x14 +/accidentals.natural.arrowup {<17> show} def +/accidentals.rightparen {<18> show} def +/accidentals.sharp {<19> show} def +/accidentals.sharp.arrowboth {<1a> show} def +/accidentals.sharp.arrowdown {<1b> show} def +/accidentals.sharp.arrowup {<1c> show} def +/accidentals.sharp.slashslashslash.stem {<1d> show} def +/accidentals.sharp.slashslashslash.stemstem {<1e> show} def +/accidentals.sharp.slashslash.stem {<1f> show} def +/accidentals.sharp.slashslash.stemstemstem {<20> show} def +% 0x1e +/accidentals.vaticana0 {<21> show} def +/accidentals.vaticanaM1 {<22> show} def +/accordion.bayanbass {<23> show} def +/accordion.discant {<24> show} def +/accordion.dot {<25> show} def +/accordion.freebass {<26> show} def +/accordion.oldEE {<27> show} def +/accordion.pull {<28> show} def +/accordion.push {<29> show} def +/accordion.stdbass {<2a> show} def +/arrowheads.close.01 {<2b> show} def +% 0x28 +/arrowheads.close.0M1 {<2c> show} def +/arrowheads.close.11 {<2d> show} def +/arrowheads.close.1M1 {<2e> show} def +/arrowheads.open.01 {<2f> show} def +/arrowheads.open.0M1 {<30> show} def +/arrowheads.open.11 {<31> show} def +/arrowheads.open.1M1 {<32> show} def +/brackettips.down {<33> show} def +/brackettips.up {<34> show} def +/comma {<35> show} def +/custodes.hufnagel.d0 {<36> show} def +% 0x32 +/custodes.hufnagel.d1 {<37> show} def +/custodes.hufnagel.d2 {<38> show} def +/custodes.hufnagel.u0 {<39> show} def +/custodes.hufnagel.u1 {<3a> show} def +/custodes.hufnagel.u2 {<3b> show} def +/custodes.medicaea.d0 {<3c> show} def +/custodes.medicaea.d1 {<3d> show} def +/custodes.medicaea.d2 {<3e> show} def +/custodes.medicaea.u0 {<3f> show} def +/custodes.medicaea.u1 {<40> show} def +/custodes.medicaea.u2 {<41> show} def +% 0x3c +/custodes.mensural.d0 {<42> show} def +/custodes.mensural.d1 {<43> show} def +/custodes.mensural.d2 {<44> show} def +/custodes.mensural.u0 {<45> show} def +/custodes.mensural.u1 {<46> show} def +/custodes.mensural.u2 {<47> show} def +/custodes.vaticana.d0 {<48> show} def +/custodes.vaticana.d1 {<49> show} def +/custodes.vaticana.d2 {<4a> show} def +/custodes.vaticana.u0 {<4b> show} def +% 0x46 +/custodes.vaticana.u1 {<4c> show} def +/custodes.vaticana.u2 {<4d> show} def +/dots.dot {<4e> show} def +/dots.dotkievan {<4f> show} def +/dots.dotvaticana {<50> show} def +/eight {<51> show} def +/f {<52> show} def +/five {<53> show} def +/flags.d3 {<54> show} def +/flags.d4 {<55> show} def +% 0x50 +/flags.d5 {<56> show} def +/flags.d6 {<57> show} def +/flags.d7 {<58> show} def +/flags.dgrace {<59> show} def +/flags.mensurald03 {<5a> show} def +/flags.mensurald04 {<5b> show} def +/flags.mensurald05 {<5c> show} def +/flags.mensurald06 {<5d> show} def +/flags.mensurald13 {<5e> show} def +/flags.mensurald14 {<5f> show} def +% 0x5a +/flags.mensurald15 {<60> show} def +/flags.mensurald16 {<61> show} def +/flags.mensurald23 {<62> show} def +/flags.mensurald24 {<63> show} def +/flags.mensurald25 {<64> show} def +/flags.mensurald26 {<65> show} def +/flags.mensuralu03 {<66> show} def +/flags.mensuralu04 {<67> show} def +/flags.mensuralu05 {<68> show} def +/flags.mensuralu06 {<69> show} def +% 0x64 +/flags.mensuralu13 {<6a> show} def +/flags.mensuralu14 {<6b> show} def +/flags.mensuralu15 {<6c> show} def +/flags.mensuralu16 {<6d> show} def +/flags.mensuralu23 {<6e> show} def +/flags.mensuralu24 {<6f> show} def +/flags.mensuralu25 {<70> show} def +/flags.mensuralu26 {<71> show} def +/flags.u3 {<72> show} def +/flags.u4 {<73> show} def +% 0x6e +/flags.u5 {<74> show} def +/flags.u6 {<75> show} def +/flags.u7 {<76> show} def +/flags.ugrace {<77> show} def +/four {<78> show} def +/hyphen {<79> show} def +/m {<7a> show} def +/nine {<7b> show} def +/one {<7c> show} def +/p {<7d> show} def +% 0x78 +/pedal.. {<7e> show} def +/pedal.* {<7f> show} def +/pedal.d {<80> show} def +/pedal.e {<81> show} def +/pedal.M {<82> show} def +/pedal.P {<83> show} def +/pedal.Ped {<84> show} def +/period {<85> show} def +/plus {<86> show} def +/r {<87> show} def +% 0x82 +/rests.0 {<88> show} def +/rests.0mensural {<89> show} def +/rests.0neomensural {<8a> show} def +/rests.0o {<8b> show} def +/rests.1 {<8c> show} def +/rests.1mensural {<8d> show} def +/rests.1neomensural {<8e> show} def +/rests.1o {<8f> show} def +/rests.2 {<90> show} def +/rests.2classical {<91> show} def +% 0x8c +/rests.2mensural {<92> show} def +/rests.2neomensural {<93> show} def +/rests.2z {<94> show} def +/rests.3 {<95> show} def +/rests.3mensural {<96> show} def +/rests.3neomensural {<97> show} def +/rests.4 {<98> show} def +/rests.4mensural {<99> show} def +/rests.4neomensural {<9a> show} def +/rests.5 {<9b> show} def +% 0x96 +/rests.6 {<9c> show} def +/rests.7 {<9d> show} def +/rests.M1 {<9e> show} def +/rests.M1mensural {<9f> show} def +/rests.M1neomensural { show} def +/rests.M1o { show} def +/rests.M2 { show} def +/rests.M2mensural { show} def +/rests.M2neomensural { show} def +/rests.M3 { show} def +% 0xa0 +/rests.M3mensural { show} def +/rests.M3neomensural { show} def +/s { show} def +/seven { show} def +/six { show} def +/space { show} def +/three { show} def +/ties.lyric.default { show} def +/ties.lyric.short { show} def +/timesig.C22 { show} def +% 0xaa +/timesig.C44 { show} def +/timesig.mensural22 { show} def +/timesig.mensural24 { show} def +/timesig.mensural32 { show} def +/timesig.mensural34 { show} def +/timesig.mensural44 { show} def +/timesig.mensural48 { show} def +/timesig.mensural64 { show} def +/timesig.mensural68 { show} def +/timesig.mensural68alt { show} def +% 0xb4 +/timesig.mensural94 { show} def +/timesig.mensural98 { show} def +/timesig.neomensural22 { show} def +/timesig.neomensural24 { show} def +/timesig.neomensural32 { show} def +/timesig.neomensural34 { show} def +/timesig.neomensural44 { show} def +/timesig.neomensural48 { show} def +/timesig.neomensural64 { show} def +/timesig.neomensural68 { show} def +% 0xbe +/timesig.neomensural68alt { show} def +/timesig.neomensural94 { show} def +/timesig.neomensural98 { show} def +/two { show} def +/z { show} def +/zero { show} def +% 0xc4 + +% +% Custom encodings and definitions for the emmentaler-brace font +% +/BracesNEncoding [ + % 0x00 + /.notdef /brace1 /brace2 /brace10 /brace11 /brace12 /brace13 /brace14 + /brace15 /brace16 /brace17 /brace18 /brace19 /brace20 /brace21 + /brace22 /brace23 /brace24 /brace25 /brace26 /brace27 /brace28 + /brace29 /brace100 /brace101 /brace102 /brace103 /brace104 /brace105 + /brace106 /brace107 /brace108 /brace109 /brace110 /brace111 /brace112 + % 0x24 + /brace113 /brace114 /brace115 /brace116 /brace117 /brace118 /brace119 + /brace120 /brace121 /brace122 /brace123 /brace124 /brace125 /brace126 + /brace127 /brace128 /brace129 /brace130 /brace131 /brace132 /brace133 + /brace134 /brace135 /brace136 /brace137 /brace138 /brace139 /brace140 + /brace141 /brace142 /brace143 /brace144 /brace145 /brace146 /brace147 + % 0x47 + /brace148 /brace149 /brace150 /brace151 /brace152 /brace153 /brace154 + /brace155 /brace156 /brace157 /brace158 /brace159 /brace160 /brace161 + /brace162 /brace163 /brace164 /brace165 /brace166 /brace167 /brace168 + /brace169 /brace170 /brace171 /brace172 /brace173 /brace174 /brace175 + /brace176 /brace177 /brace178 /brace179 /brace180 /brace181 /brace182 + % 0x6a + /brace183 /brace184 /brace185 /brace186 /brace187 /brace188 /brace189 + /brace190 /brace191 /brace192 /brace193 /brace194 /brace195 /brace196 + /brace197 /brace198 /brace199 /brace200 /brace201 /brace202 /brace203 + /brace204 /brace205 /brace206 /brace207 /brace208 /brace209 /brace210 + /brace211 /brace212 /brace213 /brace214 /brace215 /brace216 /brace217 + % 0x8d + /brace218 /brace219 /brace220 /brace221 /brace222 /brace223 /brace224 + /brace225 /brace226 /brace227 /brace228 /brace229 /brace230 /brace231 + /brace232 /brace233 /brace234 /brace235 /brace236 /brace237 /brace238 + /brace239 /brace240 /brace241 /brace242 /brace243 /brace244 /brace245 + /brace246 /brace247 /brace248 /brace249 /brace250 /brace251 /brace252 + % 0xb0 + /brace253 /brace254 /brace255 /brace256 /brace257 /brace258 /brace259 + /brace260 /brace261 /brace262 /brace263 /brace264 /brace265 /brace266 + /brace267 /brace268 /brace269 /brace270 /brace271 /brace272 /brace273 + /brace274 /brace275 /brace276 /brace277 /brace278 /brace279 /brace280 + /brace281 /brace282 /brace283 /brace284 /brace285 /brace286 /brace287 + % 0xd3 + /brace288 /brace289 /brace290 /brace291 /brace292 /brace293 /brace294 + /brace295 /brace296 /brace297 /brace298 /brace299 + % 0xdf + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef + % 0xff +] def + +% 0x00 +/brace1 {<01> show} def +/brace2 {<02> show} def +/brace10 {<03> show} def +/brace11 {<04> show} def +/brace12 {<05> show} def +/brace13 {<06> show} def +/brace14 {<07> show} def +/brace15 {<08> show} def +/brace16 {<09> show} def +/brace17 {<0a> show} def +% 0xa +/brace18 {<0b> show} def +/brace19 {<0c> show} def +/brace20 {<0d> show} def +/brace21 {<0e> show} def +/brace22 {<0f> show} def +/brace23 {<10> show} def +/brace24 {<11> show} def +/brace25 {<12> show} def +/brace26 {<13> show} def +/brace27 {<14> show} def +% 0x14 +/brace28 {<15> show} def +/brace29 {<16> show} def +/brace100 {<17> show} def +/brace101 {<18> show} def +/brace102 {<19> show} def +/brace103 {<1a> show} def +/brace104 {<1b> show} def +/brace105 {<1c> show} def +/brace106 {<1d> show} def +/brace107 {<1e> show} def +% 0x1e +/brace108 {<1f> show} def +/brace109 {<20> show} def +/brace110 {<21> show} def +/brace111 {<22> show} def +/brace112 {<23> show} def +/brace113 {<24> show} def +/brace114 {<25> show} def +/brace115 {<26> show} def +/brace116 {<27> show} def +/brace117 {<28> show} def +% 0x28 +/brace118 {<29> show} def +/brace119 {<2a> show} def +/brace120 {<2b> show} def +/brace121 {<2c> show} def +/brace122 {<2d> show} def +/brace123 {<2e> show} def +/brace124 {<2f> show} def +/brace125 {<30> show} def +/brace126 {<31> show} def +/brace127 {<32> show} def +% 0x32 +/brace128 {<33> show} def +/brace129 {<34> show} def +/brace130 {<35> show} def +/brace131 {<36> show} def +/brace132 {<37> show} def +/brace133 {<38> show} def +/brace134 {<39> show} def +/brace135 {<3a> show} def +/brace136 {<3b> show} def +/brace137 {<3c> show} def +% 0x3c +/brace138 {<3d> show} def +/brace139 {<3e> show} def +/brace140 {<3f> show} def +/brace141 {<40> show} def +/brace142 {<41> show} def +/brace143 {<42> show} def +/brace144 {<43> show} def +/brace145 {<44> show} def +/brace146 {<45> show} def +/brace147 {<46> show} def +% 0x46 +/brace148 {<47> show} def +/brace149 {<48> show} def +/brace150 {<49> show} def +/brace151 {<4a> show} def +/brace152 {<4b> show} def +/brace153 {<4c> show} def +/brace154 {<4d> show} def +/brace155 {<4e> show} def +/brace156 {<4f> show} def +/brace157 {<50> show} def +% 0x50 +/brace158 {<51> show} def +/brace159 {<52> show} def +/brace160 {<53> show} def +/brace161 {<54> show} def +/brace162 {<55> show} def +/brace163 {<56> show} def +/brace164 {<57> show} def +/brace165 {<58> show} def +/brace166 {<59> show} def +/brace167 {<5a> show} def +% 0x5a +/brace168 {<5b> show} def +/brace169 {<5c> show} def +/brace170 {<5d> show} def +/brace171 {<5e> show} def +/brace172 {<5f> show} def +/brace173 {<60> show} def +/brace174 {<61> show} def +/brace175 {<62> show} def +/brace176 {<63> show} def +/brace177 {<64> show} def +% 0x64 +/brace178 {<65> show} def +/brace179 {<66> show} def +/brace180 {<67> show} def +/brace181 {<68> show} def +/brace182 {<69> show} def +/brace183 {<6a> show} def +/brace184 {<6b> show} def +/brace185 {<6c> show} def +/brace186 {<6d> show} def +/brace187 {<6e> show} def +% 0x6e +/brace188 {<6f> show} def +/brace189 {<70> show} def +/brace190 {<71> show} def +/brace191 {<72> show} def +/brace192 {<73> show} def +/brace193 {<74> show} def +/brace194 {<75> show} def +/brace195 {<76> show} def +/brace196 {<77> show} def +/brace197 {<78> show} def +% 0x78 +/brace198 {<79> show} def +/brace199 {<7a> show} def +/brace200 {<7b> show} def +/brace201 {<7c> show} def +/brace202 {<7d> show} def +/brace203 {<7e> show} def +/brace204 {<7f> show} def +/brace205 {<80> show} def +/brace206 {<81> show} def +/brace207 {<82> show} def +% 0x82 +/brace208 {<83> show} def +/brace209 {<84> show} def +/brace210 {<85> show} def +/brace211 {<86> show} def +/brace212 {<87> show} def +/brace213 {<88> show} def +/brace214 {<89> show} def +/brace215 {<8a> show} def +/brace216 {<8b> show} def +/brace217 {<8c> show} def +% 0x8c +/brace218 {<8d> show} def +/brace219 {<8e> show} def +/brace220 {<8f> show} def +/brace221 {<90> show} def +/brace222 {<91> show} def +/brace223 {<92> show} def +/brace224 {<93> show} def +/brace225 {<94> show} def +/brace226 {<95> show} def +/brace227 {<96> show} def +% 0x96 +/brace228 {<97> show} def +/brace229 {<98> show} def +/brace230 {<99> show} def +/brace231 {<9a> show} def +/brace232 {<9b> show} def +/brace233 {<9c> show} def +/brace234 {<9d> show} def +/brace235 {<9e> show} def +/brace236 {<9f> show} def +/brace237 { show} def +% 0xa0 +/brace238 { show} def +/brace239 { show} def +/brace240 { show} def +/brace241 { show} def +/brace242 { show} def +/brace243 { show} def +/brace244 { show} def +/brace245 { show} def +/brace246 { show} def +/brace247 { show} def +% 0xaa +/brace248 { show} def +/brace249 { show} def +/brace250 { show} def +/brace251 { show} def +/brace252 { show} def +/brace253 { show} def +/brace254 { show} def +/brace255 { show} def +/brace256 { show} def +/brace257 { show} def +% 0xb4 +/brace258 { show} def +/brace259 { show} def +/brace260 { show} def +/brace261 { show} def +/brace262 { show} def +/brace263 { show} def +/brace264 { show} def +/brace265 { show} def +/brace266 { show} def +/brace267 { show} def +% 0xbe +/brace268 { show} def +/brace269 { show} def +/brace270 { show} def +/brace271 { show} def +/brace272 { show} def +/brace273 { show} def +/brace274 { show} def +/brace275 { show} def +/brace276 { show} def +/brace277 { show} def +% 0xc8 +/brace278 { show} def +/brace279 { show} def +/brace280 { show} def +/brace281 { show} def +/brace282 { show} def +/brace283 { show} def +/brace284 { show} def +/brace285 { show} def +/brace286 { show} def +/brace287 { show} def +% 0xd2 +/brace288 { show} def +/brace289 { show} def +/brace290 { show} def +/brace291 { show} def +/brace292 { show} def +/brace293 { show} def +/brace294 { show} def +/brace295 { show} def +/brace296 { show} def +/brace297 { show} def +% 0xdc +/brace298 {
    show} def +/brace299 { show} def +% 0xde + +/BracesSEncoding [ + % 0x00 + /.notdef /brace3 /brace4 /brace30 /brace31 /brace32 /brace33 /brace34 + /brace35 /brace36 /brace37 /brace38 /brace39 /brace40 /brace41 + /brace42 /brace43 /brace44 /brace45 /brace46 /brace47 /brace48 + /brace49 /brace300 /brace301 /brace302 /brace303 /brace304 /brace305 + /brace306 /brace307 /brace308 /brace309 /brace310 /brace311 /brace312 + % 0x24 + /brace313 /brace314 /brace315 /brace316 /brace317 /brace318 /brace319 + /brace320 /brace321 /brace322 /brace323 /brace324 /brace325 /brace326 + /brace327 /brace328 /brace329 /brace330 /brace331 /brace332 /brace333 + /brace334 /brace335 /brace336 /brace337 /brace338 /brace339 /brace340 + /brace341 /brace342 /brace343 /brace344 /brace345 /brace346 /brace347 + % 0x47 + /brace348 /brace349 /brace350 /brace351 /brace352 /brace353 /brace354 + /brace355 /brace356 /brace357 /brace358 /brace359 /brace360 /brace361 + /brace362 /brace363 /brace364 /brace365 /brace366 /brace367 /brace368 + /brace369 /brace370 /brace371 /brace372 /brace373 /brace374 /brace375 + /brace376 /brace377 /brace378 /brace379 /brace380 /brace381 /brace382 + % 0x6a + /brace383 /brace384 /brace385 /brace386 /brace387 /brace388 /brace389 + /brace390 /brace391 /brace392 /brace393 /brace394 /brace395 /brace396 + /brace397 /brace398 /brace399 /brace400 /brace401 /brace402 /brace403 + /brace404 /brace405 /brace406 /brace407 /brace408 /brace409 /brace410 + /brace411 /brace412 /brace413 /brace414 /brace415 /brace416 /brace417 + % 0x8d + /brace418 /brace419 /brace420 /brace421 /brace422 /brace423 /brace424 + /brace425 /brace426 /brace427 /brace428 /brace429 /brace430 /brace431 + /brace432 /brace433 /brace434 /brace435 /brace436 /brace437 /brace438 + /brace439 /brace440 /brace441 /brace442 /brace443 /brace444 /brace445 + /brace446 /brace447 /brace448 /brace449 /brace450 /brace451 /brace452 + % 0xb0 + /brace453 /brace454 /brace455 /brace456 /brace457 /brace458 /brace459 + /brace460 /brace461 /brace462 /brace463 /brace464 /brace465 /brace466 + /brace467 /brace468 /brace469 /brace470 /brace471 /brace472 /brace473 + /brace474 /brace475 /brace476 /brace477 /brace478 /brace479 /brace480 + /brace481 /brace482 /brace483 /brace484 /brace485 /brace486 /brace487 + % 0xd3 + /brace488 /brace489 /brace490 /brace491 /brace492 /brace493 /brace494 + /brace495 /brace496 /brace497 /brace498 /brace499 + % 0xdf + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef + % 0xff +] def + +% 0x00 +/brace3 {<01> show} def +/brace4 {<02> show} def +/brace30 {<03> show} def +/brace31 {<04> show} def +/brace32 {<05> show} def +/brace33 {<06> show} def +/brace34 {<07> show} def +/brace35 {<08> show} def +/brace36 {<09> show} def +/brace37 {<0a> show} def +% 0xa +/brace38 {<0b> show} def +/brace39 {<0c> show} def +/brace40 {<0d> show} def +/brace41 {<0e> show} def +/brace42 {<0f> show} def +/brace43 {<10> show} def +/brace44 {<11> show} def +/brace45 {<12> show} def +/brace46 {<13> show} def +/brace47 {<14> show} def +% 0x14 +/brace48 {<15> show} def +/brace49 {<16> show} def +/brace300 {<17> show} def +/brace301 {<18> show} def +/brace302 {<19> show} def +/brace303 {<1a> show} def +/brace304 {<1b> show} def +/brace305 {<1c> show} def +/brace306 {<1d> show} def +/brace307 {<1e> show} def +% 0x1e +/brace308 {<1f> show} def +/brace309 {<20> show} def +/brace310 {<21> show} def +/brace311 {<22> show} def +/brace312 {<23> show} def +/brace313 {<24> show} def +/brace314 {<25> show} def +/brace315 {<26> show} def +/brace316 {<27> show} def +/brace317 {<28> show} def +% 0x28 +/brace318 {<29> show} def +/brace319 {<2a> show} def +/brace320 {<2b> show} def +/brace321 {<2c> show} def +/brace322 {<2d> show} def +/brace323 {<2e> show} def +/brace324 {<2f> show} def +/brace325 {<30> show} def +/brace326 {<31> show} def +/brace327 {<32> show} def +% 0x32 +/brace328 {<33> show} def +/brace329 {<34> show} def +/brace330 {<35> show} def +/brace331 {<36> show} def +/brace332 {<37> show} def +/brace333 {<38> show} def +/brace334 {<39> show} def +/brace335 {<3a> show} def +/brace336 {<3b> show} def +/brace337 {<3c> show} def +% 0x3c +/brace338 {<3d> show} def +/brace339 {<3e> show} def +/brace340 {<3f> show} def +/brace341 {<40> show} def +/brace342 {<41> show} def +/brace343 {<42> show} def +/brace344 {<43> show} def +/brace345 {<44> show} def +/brace346 {<45> show} def +/brace347 {<46> show} def +% 0x46 +/brace348 {<47> show} def +/brace349 {<48> show} def +/brace350 {<49> show} def +/brace351 {<4a> show} def +/brace352 {<4b> show} def +/brace353 {<4c> show} def +/brace354 {<4d> show} def +/brace355 {<4e> show} def +/brace356 {<4f> show} def +/brace357 {<50> show} def +% 0x50 +/brace358 {<51> show} def +/brace359 {<52> show} def +/brace360 {<53> show} def +/brace361 {<54> show} def +/brace362 {<55> show} def +/brace363 {<56> show} def +/brace364 {<57> show} def +/brace365 {<58> show} def +/brace366 {<59> show} def +/brace367 {<5a> show} def +% 0x5a +/brace368 {<5b> show} def +/brace369 {<5c> show} def +/brace370 {<5d> show} def +/brace371 {<5e> show} def +/brace372 {<5f> show} def +/brace373 {<60> show} def +/brace374 {<61> show} def +/brace375 {<62> show} def +/brace376 {<63> show} def +/brace377 {<64> show} def +% 0x64 +/brace378 {<65> show} def +/brace379 {<66> show} def +/brace380 {<67> show} def +/brace381 {<68> show} def +/brace382 {<69> show} def +/brace383 {<6a> show} def +/brace384 {<6b> show} def +/brace385 {<6c> show} def +/brace386 {<6d> show} def +/brace387 {<6e> show} def +% 0x6e +/brace388 {<6f> show} def +/brace389 {<70> show} def +/brace390 {<71> show} def +/brace391 {<72> show} def +/brace392 {<73> show} def +/brace393 {<74> show} def +/brace394 {<75> show} def +/brace395 {<76> show} def +/brace396 {<77> show} def +/brace397 {<78> show} def +% 0x78 +/brace398 {<79> show} def +/brace399 {<7a> show} def +/brace400 {<7b> show} def +/brace401 {<7c> show} def +/brace402 {<7d> show} def +/brace403 {<7e> show} def +/brace404 {<7f> show} def +/brace405 {<80> show} def +/brace406 {<81> show} def +/brace407 {<82> show} def +% 0x82 +/brace408 {<83> show} def +/brace409 {<84> show} def +/brace410 {<85> show} def +/brace411 {<86> show} def +/brace412 {<87> show} def +/brace413 {<88> show} def +/brace414 {<89> show} def +/brace415 {<8a> show} def +/brace416 {<8b> show} def +/brace417 {<8c> show} def +% 0x8c +/brace418 {<8d> show} def +/brace419 {<8e> show} def +/brace420 {<8f> show} def +/brace421 {<90> show} def +/brace422 {<91> show} def +/brace423 {<92> show} def +/brace424 {<93> show} def +/brace425 {<94> show} def +/brace426 {<95> show} def +/brace427 {<96> show} def +% 0x96 +/brace428 {<97> show} def +/brace429 {<98> show} def +/brace430 {<99> show} def +/brace431 {<9a> show} def +/brace432 {<9b> show} def +/brace433 {<9c> show} def +/brace434 {<9d> show} def +/brace435 {<9e> show} def +/brace436 {<9f> show} def +/brace437 { show} def +% 0xa0 +/brace438 { show} def +/brace439 { show} def +/brace440 { show} def +/brace441 { show} def +/brace442 { show} def +/brace443 { show} def +/brace444 { show} def +/brace445 { show} def +/brace446 { show} def +/brace447 { show} def +% 0xaa +/brace448 { show} def +/brace449 { show} def +/brace450 { show} def +/brace451 { show} def +/brace452 { show} def +/brace453 { show} def +/brace454 { show} def +/brace455 { show} def +/brace456 { show} def +/brace457 { show} def +% 0xb4 +/brace458 { show} def +/brace459 { show} def +/brace460 { show} def +/brace461 { show} def +/brace462 { show} def +/brace463 { show} def +/brace464 { show} def +/brace465 { show} def +/brace466 { show} def +/brace467 { show} def +% 0xbe +/brace468 { show} def +/brace469 { show} def +/brace470 { show} def +/brace471 { show} def +/brace472 { show} def +/brace473 { show} def +/brace474 { show} def +/brace475 { show} def +/brace476 { show} def +/brace477 { show} def +% 0xc8 +/brace478 { show} def +/brace479 { show} def +/brace480 { show} def +/brace481 { show} def +/brace482 { show} def +/brace483 { show} def +/brace484 { show} def +/brace485 { show} def +/brace486 { show} def +/brace487 { show} def +% 0xd2 +/brace488 { show} def +/brace489 { show} def +/brace490 { show} def +/brace491 { show} def +/brace492 { show} def +/brace493 { show} def +/brace494 { show} def +/brace495 { show} def +/brace496 { show} def +/brace497 { show} def +% 0xdc +/brace498 {
    show} def +/brace499 { show} def +% 0xde + +/BracesOEncoding [ + % 0x00 + /.notdef /brace0 /brace5 /brace6 /brace7 /brace8 /brace9 /brace50 + /brace51 /brace52 /brace53 /brace54 /brace55 /brace56 /brace57 + /brace58 /brace59 /brace60 /brace61 /brace62 /brace63 /brace64 + /brace65 /brace66 /brace67 /brace68 /brace69 /brace70 /brace71 + /brace72 /brace73 /brace74 /brace75 /brace76 /brace77 /brace78 + % 0x24 + /brace79 /brace80 /brace81 /brace82 /brace83 /brace84 /brace85 + /brace86 /brace87 /brace88 /brace89 /brace90 /brace91 /brace92 + /brace93 /brace94 /brace95 /brace96 /brace97 /brace98 /brace99 + /brace500 /brace501 /brace502 /brace503 /brace504 /brace505 /brace506 + /brace507 /brace508 /brace509 /brace510 /brace511 /brace512 /brace513 + % 0x47 + /brace514 /brace515 /brace516 /brace517 /brace518 /brace519 /brace520 + /brace521 /brace522 /brace523 /brace524 /brace525 /brace526 /brace527 + /brace528 /brace529 /brace530 /brace531 /brace532 /brace533 /brace534 + /brace535 /brace536 /brace537 /brace538 /brace539 /brace540 /brace541 + /brace542 /brace543 /brace544 /brace545 /brace546 /brace547 /brace548 + % 0x6a + /brace549 /brace550 /brace551 /brace552 /brace553 /brace554 /brace555 + /brace556 /brace557 /brace558 /brace559 /brace560 /brace561 /brace562 + /brace563 /brace564 /brace565 /brace566 /brace567 /brace568 /brace569 + /brace570 /brace571 /brace572 /brace573 /brace574 /brace575 + % 0x85 + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + % 0xa8 + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + % 0xcb + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + % 0xee + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef + % 0xff +] def + +% 0x00 +/brace0 {<01> show} def +/brace5 {<02> show} def +/brace6 {<03> show} def +/brace7 {<04> show} def +/brace8 {<05> show} def +/brace9 {<06> show} def +/brace50 {<07> show} def +/brace51 {<08> show} def +/brace52 {<09> show} def +/brace53 {<0a> show} def +% 0xa +/brace54 {<0b> show} def +/brace55 {<0c> show} def +/brace56 {<0d> show} def +/brace57 {<0e> show} def +/brace58 {<0f> show} def +/brace59 {<10> show} def +/brace60 {<11> show} def +/brace61 {<12> show} def +/brace62 {<13> show} def +/brace63 {<14> show} def +% 0x14 +/brace64 {<15> show} def +/brace65 {<16> show} def +/brace66 {<17> show} def +/brace67 {<18> show} def +/brace68 {<19> show} def +/brace69 {<1a> show} def +/brace70 {<1b> show} def +/brace71 {<1c> show} def +/brace72 {<1d> show} def +/brace73 {<1e> show} def +% 0x1e +/brace74 {<1f> show} def +/brace75 {<20> show} def +/brace76 {<21> show} def +/brace77 {<22> show} def +/brace78 {<23> show} def +/brace79 {<24> show} def +/brace80 {<25> show} def +/brace81 {<26> show} def +/brace82 {<27> show} def +/brace83 {<28> show} def +% 0x28 +/brace84 {<29> show} def +/brace85 {<2a> show} def +/brace86 {<2b> show} def +/brace87 {<2c> show} def +/brace88 {<2d> show} def +/brace89 {<2e> show} def +/brace90 {<2f> show} def +/brace91 {<30> show} def +/brace92 {<31> show} def +/brace93 {<32> show} def +% 0x32 +/brace94 {<33> show} def +/brace95 {<34> show} def +/brace96 {<35> show} def +/brace97 {<36> show} def +/brace98 {<37> show} def +/brace99 {<38> show} def +/brace500 {<39> show} def +/brace501 {<3a> show} def +/brace502 {<3b> show} def +/brace503 {<3c> show} def +% 0x3c +/brace504 {<3d> show} def +/brace505 {<3e> show} def +/brace506 {<3f> show} def +/brace507 {<40> show} def +/brace508 {<41> show} def +/brace509 {<42> show} def +/brace510 {<43> show} def +/brace511 {<44> show} def +/brace512 {<45> show} def +/brace513 {<46> show} def +% 0x46 +/brace514 {<47> show} def +/brace515 {<48> show} def +/brace516 {<49> show} def +/brace517 {<4a> show} def +/brace518 {<4b> show} def +/brace519 {<4c> show} def +/brace520 {<4d> show} def +/brace521 {<4e> show} def +/brace522 {<4f> show} def +/brace523 {<50> show} def +% 0x50 +/brace524 {<51> show} def +/brace525 {<52> show} def +/brace526 {<53> show} def +/brace527 {<54> show} def +/brace528 {<55> show} def +/brace529 {<56> show} def +/brace530 {<57> show} def +/brace531 {<58> show} def +/brace532 {<59> show} def +/brace533 {<5a> show} def +% 0x5a +/brace534 {<5b> show} def +/brace535 {<5c> show} def +/brace536 {<5d> show} def +/brace537 {<5e> show} def +/brace538 {<5f> show} def +/brace539 {<60> show} def +/brace540 {<61> show} def +/brace541 {<62> show} def +/brace542 {<63> show} def +/brace543 {<64> show} def +% 0x64 +/brace544 {<65> show} def +/brace545 {<66> show} def +/brace546 {<67> show} def +/brace547 {<68> show} def +/brace548 {<69> show} def +/brace549 {<6a> show} def +/brace550 {<6b> show} def +/brace551 {<6c> show} def +/brace552 {<6d> show} def +/brace553 {<6e> show} def +% 0x6e +/brace554 {<6f> show} def +/brace555 {<70> show} def +/brace556 {<71> show} def +/brace557 {<72> show} def +/brace558 {<73> show} def +/brace559 {<74> show} def +/brace560 {<75> show} def +/brace561 {<76> show} def +/brace562 {<77> show} def +/brace563 {<78> show} def +% 0x78 +/brace564 {<79> show} def +/brace565 {<7a> show} def +/brace566 {<7b> show} def +/brace567 {<7c> show} def +/brace568 {<7d> show} def +/brace569 {<7e> show} def +/brace570 {<7f> show} def +/brace571 {<80> show} def +/brace572 {<81> show} def +/brace573 {<82> show} def +% 0x82 +/brace574 {<83> show} def +/brace575 {<84> show} def +% 0x84 + +FontDirectory /Emmentaler-Brace known { + /Emmentaler-Brace findfont dup length dict copy begin + /Encoding BracesNEncoding def + /Emmentaler-Brace-N currentdict definefont pop end + /Emmentaler-Brace findfont dup length dict copy begin + /Encoding BracesSEncoding def + /Emmentaler-Brace-S currentdict definefont pop end + /Emmentaler-Brace findfont dup length dict copy begin + /Encoding BracesOEncoding def + /Emmentaler-Brace-O currentdict definefont pop end +} if + +FontDirectory /Emmentaler-11 known { + /Emmentaler-11 findfont dup length dict copy begin + /Encoding LilyNoteHeadEncoding def + /Emmentaler-11-N currentdict definefont pop end + /Emmentaler-11 findfont dup length dict copy begin + /Encoding LilyScriptEncoding def + /Emmentaler-11-S currentdict definefont pop end + /Emmentaler-11 findfont dup length dict copy begin + /Encoding LilyOtherEncoding def + /Emmentaler-11-O currentdict definefont pop end +} if + +FontDirectory /Emmentaler-13 known { + /Emmentaler-13 findfont dup length dict copy begin + /Encoding LilyNoteHeadEncoding def + /Emmentaler-13-N currentdict definefont pop end + /Emmentaler-13 findfont dup length dict copy begin + /Encoding LilyScriptEncoding def + /Emmentaler-13-S currentdict definefont pop end + /Emmentaler-13 findfont dup length dict copy begin + /Encoding LilyOtherEncoding def + /Emmentaler-13-O currentdict definefont pop end +} if + +FontDirectory /Emmentaler-14 known { + /Emmentaler-14 findfont dup length dict copy begin + /Encoding LilyNoteHeadEncoding def + /Emmentaler-14-N currentdict definefont pop end + /Emmentaler-14 findfont dup length dict copy begin + /Encoding LilyScriptEncoding def + /Emmentaler-14-S currentdict definefont pop end + /Emmentaler-14 findfont dup length dict copy begin + /Encoding LilyOtherEncoding def + /Emmentaler-14-O currentdict definefont pop end +} if + +FontDirectory /Emmentaler-16 known { + /Emmentaler-16 findfont dup length dict copy begin + /Encoding LilyNoteHeadEncoding def + /Emmentaler-16-N currentdict definefont pop end + /Emmentaler-16 findfont dup length dict copy begin + /Encoding LilyScriptEncoding def + /Emmentaler-16-S currentdict definefont pop end + /Emmentaler-16 findfont dup length dict copy begin + /Encoding LilyOtherEncoding def + /Emmentaler-16-O currentdict definefont pop end +} if + +FontDirectory /Emmentaler-18 known { + /Emmentaler-18 findfont dup length dict copy begin + /Encoding LilyNoteHeadEncoding def + /Emmentaler-18-N currentdict definefont pop end + /Emmentaler-18 findfont dup length dict copy begin + /Encoding LilyScriptEncoding def + /Emmentaler-18-S currentdict definefont pop end + /Emmentaler-18 findfont dup length dict copy begin + /Encoding LilyOtherEncoding def + /Emmentaler-18-O currentdict definefont pop end +} if + +FontDirectory /Emmentaler-20 known { + /Emmentaler-20 findfont dup length dict copy begin + /Encoding LilyNoteHeadEncoding def + /Emmentaler-20-N currentdict definefont pop end + /Emmentaler-20 findfont dup length dict copy begin + /Encoding LilyScriptEncoding def + /Emmentaler-20-S currentdict definefont pop end + /Emmentaler-20 findfont dup length dict copy begin + /Encoding LilyOtherEncoding def + /Emmentaler-20-O currentdict definefont pop end +} if + +FontDirectory /Emmentaler-23 known { + /Emmentaler-23 findfont dup length dict copy begin + /Encoding LilyNoteHeadEncoding def + /Emmentaler-23-N currentdict definefont pop end + /Emmentaler-23 findfont dup length dict copy begin + /Encoding LilyScriptEncoding def + /Emmentaler-23-S currentdict definefont pop end + /Emmentaler-23 findfont dup length dict copy begin + /Encoding LilyOtherEncoding def + /Emmentaler-23-O currentdict definefont pop end +} if + +FontDirectory /Emmentaler-26 known { + /Emmentaler-26 findfont dup length dict copy begin + /Encoding LilyNoteHeadEncoding def + /Emmentaler-26-N currentdict definefont pop end + /Emmentaler-26 findfont dup length dict copy begin + /Encoding LilyScriptEncoding def + /Emmentaler-26-S currentdict definefont pop end + /Emmentaler-26 findfont dup length dict copy begin + /Encoding LilyOtherEncoding def + /Emmentaler-26-O currentdict definefont pop end +} if + +% end encodingdefs.ps diff --git a/python/convertrules.py b/python/convertrules.py index c506bc1542..0df4b09b1d 100644 --- a/python/convertrules.py +++ b/python/convertrules.py @@ -3723,6 +3723,14 @@ def conv(str): str = re.sub (r'\bthin-kern\b', 'segno-kern', str) return str +@rule ((2, 19, 16), """implicitTimeSignatureVisibility -> initialTimeSignatureVisibility +csharp -> c-sharp""") +def conv(str): + str = re.sub (r'\bimplicitTimeSignatureVisibility\b', 'initialTimeSignatureVisibility', str) + str = re.sub (r'\b([a-g])((?:sharp){1,2}|(?:flat){1,2})\b',r'\1-\2', str) + str = re.sub (r'\\shiftOff\b', r'\\undo\\shiftOn', str) + return str + # Guidelines to write rules (please keep this at the end of this file) # # - keep at most one rule per version; if several conversions should be done, diff --git a/python/lilylib.py b/python/lilylib.py index 1f6b350e6a..a911cac23f 100644 --- a/python/lilylib.py +++ b/python/lilylib.py @@ -1,6 +1,6 @@ # This file is part of LilyPond, the GNU music typesetter. # -# Copyright (C) 1998--2014 Han-Wen Nienhuys +# Copyright (C) 1998--2015 Han-Wen Nienhuys # Jan Nieuwenhuizen # # LilyPond is free software: you can redistribute it and/or modify diff --git a/python/midi.c b/python/midi.c index 890798c66a..c7baedaf12 100644 --- a/python/midi.c +++ b/python/midi.c @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2001--2014 Han-Wen Nienhuys + Copyright (C) 2001--2015 Han-Wen Nienhuys Jan Nieuwenhuizen diff --git a/scm/auto-beam.scm b/scm/auto-beam.scm index 72c7ea3229..9ba08705ef 100644 --- a/scm/auto-beam.scm +++ b/scm/auto-beam.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2000--2014 Jan Nieuwenhuizen +;;;; Copyright (C) 2000--2015 Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by @@ -38,12 +38,12 @@ (let ((value (ly:context-property context name))) (if (not (null? value)) value default))) - (define (ending-moments group-list start-beat base-length) - (if (null? group-list) - '() - (let ((new-start (+ start-beat (car group-list)))) - (cons (* new-start base-length) - (ending-moments (cdr group-list) new-start base-length))))) + (define (ending-moments group-list base-length) + (let ((beat 0)) + (map-in-order (lambda (x) + (set! beat (+ beat x)) + (* base-length beat)) + group-list))) (define (larger-setting type sorted-alist) (assoc type sorted-alist <=)) @@ -64,7 +64,7 @@ (time-signature-fraction (get 'timeSignatureFraction '(4 . 4))) (beat-structure (get 'beatStructure '(1 1 1 1))) - (beat-endings (ending-moments beat-structure 0 base-length)) + (beat-endings (ending-moments beat-structure base-length)) (exceptions (sort (map (lambda (a) (if (pair? (car a)) @@ -95,7 +95,7 @@ type)) (exception-moments (and exception-grouping (ending-moments - exception-grouping 0 grouping-moment)))) + exception-grouping grouping-moment)))) (if (= dir START) ;; Start rules -- #t if beam is allowed to start diff --git a/scm/backend-library.scm b/scm/backend-library.scm index a8899e83f1..3a70c5c07d 100644 --- a/scm/backend-library.scm +++ b/scm/backend-library.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2005--2014 Jan Nieuwenhuizen +;;;; Copyright (C) 2005--2015 Jan Nieuwenhuizen ;;;; Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify @@ -82,6 +82,7 @@ "-dNOPAUSE" "-dBATCH" "-r1200" + (if (ly:bigpdfs) "-dSubsetFonts=false") "-sDEVICE=pdfwrite" (string-append "-sOutputFile=" (string-join diff --git a/scm/bar-line.scm b/scm/bar-line.scm index e3e295075d..02c80f64e5 100644 --- a/scm/bar-line.scm +++ b/scm/bar-line.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2009--2014 Marc Hohl +;;;; Copyright (C) 2009--2015 Marc Hohl ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/bezier-tools.scm b/scm/bezier-tools.scm index b96281f336..422692598c 100644 --- a/scm/bezier-tools.scm +++ b/scm/bezier-tools.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2010--2014 Carl D. Sorensen +;;;; Copyright (C) 2010--2015 Carl D. Sorensen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/c++.scm b/scm/c++.scm index fd965ac4d5..48f54d3582 100644 --- a/scm/c++.scm +++ b/scm/c++.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 1998--2014 Jan Nieuwenhuizen +;;;; Copyright (C) 1998--2015 Jan Nieuwenhuizen ;;;; Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify diff --git a/scm/chord-entry.scm b/scm/chord-entry.scm index ae649700ae..ec95dff287 100644 --- a/scm/chord-entry.scm +++ b/scm/chord-entry.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2004--2014 Han-Wen Nienhuys +;;;; Copyright (C) 2004--2015 Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/chord-generic-names.scm b/scm/chord-generic-names.scm index ffde2326f7..d1c8005c4a 100644 --- a/scm/chord-generic-names.scm +++ b/scm/chord-generic-names.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2003--2014 Jan Nieuwenhuizen +;;;; Copyright (C) 2003--2015 Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/chord-ignatzek-names.scm b/scm/chord-ignatzek-names.scm index 22f54fec85..f798c0fdf6 100644 --- a/scm/chord-ignatzek-names.scm +++ b/scm/chord-ignatzek-names.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2000--2014 Han-Wen Nienhuys +;;;; Copyright (C) 2000--2015 Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/chord-name.scm b/scm/chord-name.scm index 4dd959bb5b..52ae72b2cb 100644 --- a/scm/chord-name.scm +++ b/scm/chord-name.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2000--2014 Jan Nieuwenhuizen +;;;; Copyright (C) 2000--2015 Jan Nieuwenhuizen ;;;; Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify diff --git a/scm/clip-region.scm b/scm/clip-region.scm index 6510135f98..277bbe1c79 100644 --- a/scm/clip-region.scm +++ b/scm/clip-region.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2006--2014 Han-Wen Nienhuys +;;;; Copyright (C) 2006--2015 Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/define-context-properties.scm b/scm/define-context-properties.scm index a3fe8e90ed..b224b89dc0 100644 --- a/scm/define-context-properties.scm +++ b/scm/define-context-properties.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 1998--2014 Han-Wen Nienhuys +;;;; Copyright (C) 1998--2015 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify @@ -370,8 +370,8 @@ string selector for tablature notation.") @rinternals{Lyrics} line.") (implicitBassFigures ,list? "A list of bass figures that are not printed as numbers, but only as extender lines.") - (implicitTimeSignatureVisibility ,vector? "break visibility for -the default time signature.") + (initialTimeSignatureVisibility ,vector? "break visibility for +the initial time signature.") (includeGraceNotes ,boolean? "Do not ignore grace notes for @rinternals{Lyrics}.") (instrumentCueName ,markup? "The name to print if another @@ -487,7 +487,10 @@ ChordNames context.") defined strings to full list of strings and fret numbers. Parameters: The context, a list of note events, a list of tabstring events, and the fretboard grob if a fretboard is desired.") - + (nullAccidentals ,boolean? "The @code{Accidental_engraver} +generates no accidentals for notes in contexts were this is set. +In addition to supressing the printed accidental, this option removes +any effect the note would have had on accidentals in other voices.") (ottavation ,markup? "If set, the text for an ottava spanner. Changing this creates a new text spanner.") diff --git a/scm/define-event-classes.scm b/scm/define-event-classes.scm index 9e1f4e5936..dd976e1b04 100644 --- a/scm/define-event-classes.scm +++ b/scm/define-event-classes.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2005--2014 Erik Sandberg +;;;; Copyright (C) 2005--2015 Erik Sandberg ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/define-grob-interfaces.scm b/scm/define-grob-interfaces.scm index 2321e1c903..d5f2311396 100644 --- a/scm/define-grob-interfaces.scm +++ b/scm/define-grob-interfaces.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 1998--2014 Han-Wen Nienhuys +;;;; Copyright (C) 1998--2015 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify @@ -317,6 +317,24 @@ interesting enough to maintain a hara-kiri staff." "A note head in tablature." '(details display-cautionary span-start)) +(ly:add-interface + 'time-signature-interface + "A time signature, in different styles. The following values for @code{style} are are recognized: + + @table @code + @item C + 4/4 and 2/2 are typeset as C and struck C, respectively. All other time signatures are written with two digits. The value @code{default} is equivalent to @code{C}. + @item neomensural + 2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8, and 9/8 are typeset with neo-mensural style mensuration marks. All other time signatures are written with two digits. + @item mensural + 2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8, and 9/8 are typeset with mensural style mensuration marks. All other time signatures are written with two digits. + @item single-digit + All time signatures are typeset with a single digit, e.g., 3/2 is written as 3. + @item numbered + All time signatures are typeset with two digits. + @end table" + '(fraction style)) + (ly:add-interface 'trill-spanner-interface "A trill spanner." diff --git a/scm/define-grob-properties.scm b/scm/define-grob-properties.scm index d6deaec30f..d0753500aa 100644 --- a/scm/define-grob-properties.scm +++ b/scm/define-grob-properties.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 1998--2014 Han-Wen Nienhuys +;;;; Copyright (C) 1998--2015 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify @@ -199,7 +199,7 @@ measure of the closeness of the inner stems. It is used for damping the slope of the beam.") (connect-to-neighbor ,pair? "Pair of booleans, indicating whether this grob looks as a continued break.") - (control-points ,list? "List of offsets (number pairs) that form + (control-points ,number-pair-list? "List of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For B@'eziers, this should list the control points of a third-order B@'ezier curve.") (count-from ,integer? "The first measure in a measure count @@ -214,8 +214,8 @@ increments from this initial value.") dash structure. Each @code{dash-element} has a starting t value, an ending t-value, a @code{dash-fraction}, and a @code{dash-period}.") (dash-fraction ,number? "Size of the dashes, relative to -@code{dash-period}. Should be between @code{0.0} (no line) and -@code{1.0} (continuous line).") +@code{dash-period}. Should be between @code{0.1} and @code{1.0} +(continuous line). If set to @code{0.0}, a dotted line is produced") (dash-period ,number? "The length of one dash together with whitespace. If negative, no line is drawn at all.") (default-direction ,ly:dir? "Direction determined by note head @@ -637,6 +637,11 @@ this long, normally in the horizontal direction. This requires an appropriate callback for the @code{springs-and-rods} property. If added to a @code{Tie}, this sets the minimum distance between noteheads.") + (minimum-length-after-break ,ly:dimension? "If set, try to make +a broken spanner starting a line this long. This requires an +appropriate callback for the @code{springs-and-rods} property. If +added to a @code{Tie}, this sets the minimum distance to the +notehead.") (minimum-length-fraction ,number? "Minimum length of ledger line as fraction of note head size.") (minimum-space ,ly:dimension? "Minimum distance that the victim @@ -904,7 +909,8 @@ Standard choices for @w{@code{@var{break-align-symbol}}} are listed in used when the grob is just left of the first note on a line @item next-note -used when the grob is just left of any other note +used when the grob is just left of any other note; +if not set, the value of @code{first-note} gets used @item right-edge used when the grob is the last item on the line (only compatible with @@ -1087,9 +1093,15 @@ automatically.") line just before it would otherwise stop.") (toward-stem-shift ,number? "Amount by which scripts are shifted toward the stem if their direction coincides with the stem direction. -@code{0.0} means keep the default position (centered on the note -head), @code{1.0} means centered on the stem. Interpolated values are -possible.") +@code{0.0} means centered on the note head (the default position of +most scripts); @code{1.0} means centered on the stem. Interpolated +values are possible.") + (toward-stem-shift-in-column ,number? "Amount by which a script +is shifted toward the stem if its direction coincides with the stem +direction and it is associated with a @code{ScriptColumn} object. +@code{0.0} means centered on the note head (the default position of +most scripts); @code{1.0} means centered on the stem. Interpolated +values are possible.") (transparent ,boolean? "This makes the grob invisible.") @@ -1111,12 +1123,13 @@ positioning?") ;;; (vertical-skylines ,ly:skyline-pair? "Two skylines, one above and one below this grob.") + (voiced-position ,number? "The staff-position of a voiced +@code{Rest}, negative if the rest has @code{direction} @code{DOWN}.") ;;; ;;; w ;;; - (when ,ly:moment? "Global time step associated with this column -happen?") + (when ,ly:moment? "Global time step associated with this column.") (whiteout ,boolean? "If true, the grob is printed over a white background to white-out underlying material, if the grob is visible. Usually #f by default.") @@ -1245,7 +1258,8 @@ empty in a particular staff, then that staff is erased.") (keep-alive-with ,ly:grob-array? "An array of other @code{VerticalAxisGroup}s. If any of them are alive, then we will stay alive.") - (left-items ,ly:grob-array? "DOCME") + (left-items ,ly:grob-array? "Grobs organized on the left by a spacing +object.") (left-neighbor ,ly:grob? "The right-most column that has a spacing-wish for this column.") @@ -1276,13 +1290,18 @@ relevant for finding the @code{pure-Y-extent}.") (rest ,ly:grob? "A pointer to a @code{Rest} object.") (rest-collision ,ly:grob? "A rest collision that a rest is in.") (rests ,ly:grob-array? "An array of rest objects.") - (right-items ,ly:grob-array? "DOCME") + (right-items ,ly:grob-array? "Grobs organized on the right by +a spacing object.") (right-neighbor ,ly:grob? "See @code{left-neighbor}.") + (scripts ,ly:grob-array? "An array of @code{Script} objects.") (side-support-elements ,ly:grob-array? "The side support, an array of grobs.") (slur ,ly:grob? "A pointer to a @code{Slur} object.") (spacing ,ly:grob? "The spacing spanner governing this section.") + (space-increment ,ly:dimension? "The amount by which the total duration +of a multimeasure rest affects horizontal spacing. Each doubling of the +duration adds @code{space-increment} to the length of the bar.") (spacing-wishes ,ly:grob-array? "An array of note spacing or staff spacing objects.") (span-start ,boolean? "Is the note head at the start of a spanner?") @@ -1373,7 +1392,8 @@ to be within staff spaces.") (quantized-positions ,number-pair? "The beam positions after quanting.") - + (script-column ,ly:grob? "A @code{ScriptColumn} associated with a +@code{Script} object.") (script-stencil ,pair? "A pair @code{(@var{type} . @var{arg})} which acts as an index for looking up a @code{Stencil} object.") (shorten ,ly:dimension? "The amount of space that a stem is shortened. diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm index 65063d7af5..252733d166 100644 --- a/scm/define-grobs.scm +++ b/scm/define-grobs.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 1998--2014 Han-Wen Nienhuys +;;;; Copyright (C) 1998--2015 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify @@ -32,6 +32,7 @@ (after-line-breaking . ,ly:accidental-interface::remove-tied) (alteration . ,accidental-interface::calc-alteration) (avoid-slur . inside) + (extra-spacing-width . (-0.2 . 0.0)) (glyph-name . ,accidental-interface::glyph-name) (glyph-name-alist . ,standard-alteration-glyph-name-alist) (stencil . ,ly:accidental-interface::print) @@ -744,6 +745,7 @@ (stencil . ,ly:dots::print) (Y-extent . ,grob::always-Y-extent-from-stencil) (extra-spacing-height . (-0.5 . 0.5)) + (extra-spacing-width . (0.0 . 0.2)) (meta . ((class . Item) (interfaces . (dots-interface font-interface @@ -1065,6 +1067,7 @@ )) (left . ((attach-dir . ,RIGHT) (padding . 0.5) + (start-at-dot . #t) )) )) (cross-staff . ,ly:line-spanner::calc-cross-staff) @@ -1502,13 +1505,15 @@ (expand-limit . 10) (hair-thickness . 2.0) (round-up-exceptions . ()) - (padding . 1) + (bound-padding . 0.5) + (space-increment . 2.0) (spacing-pair . (break-alignment . break-alignment)) (springs-and-rods . ,ly:multi-measure-rest::set-spacing-rods) (stencil . ,ly:multi-measure-rest::print) (thick-thickness . 6.6) ;; See Wanske pp. 125 (usable-duration-logs . ,(iota 4 -3)) + (voiced-position . 4) (Y-extent . ,(ly:make-unpure-pure-container ly:multi-measure-rest::height)) (Y-offset . ,staff-symbol-referencer::callback) (meta . ((class . Spanner) @@ -1521,7 +1526,7 @@ (MultiMeasureRestNumber . ( - (bound-padding . 2.0) + (bound-padding . 1.0) (direction . ,UP) (font-encoding . fetaText) (padding . 0.4) @@ -1876,6 +1881,7 @@ (duration-log . ,stem::calc-duration-log) (minimum-distance . 0.25) (stencil . ,ly:rest::print) + (voiced-position . 4) (X-extent . ,ly:rest::width) (Y-extent . ,(ly:make-unpure-pure-container ly:rest::height ly:rest::pure-height)) (Y-offset . ,(ly:make-unpure-pure-container ly:rest::y-offset-callback)) @@ -2060,6 +2066,7 @@ (StaffSymbol . ( + (break-align-symbols . (staff-bar break-alignment)) (layer . 0) (ledger-line-thickness . (1.0 . 0.1)) (line-count . 5) @@ -2113,7 +2120,7 @@ ;; Stems in unnatural (forced) direction should be shortened by ;; one staff space, according to [Roush & Gourlay]. ;; Flagged stems we shorten only half a staff space. - (stem-shorten . (1.0 0.5)) + (stem-shorten . (1.0 0.5 0.25)) )) diff --git a/scm/define-markup-commands.scm b/scm/define-markup-commands.scm index 467ccba7e1..4844dcd75e 100644 --- a/scm/define-markup-commands.scm +++ b/scm/define-markup-commands.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2000--2014 Han-Wen Nienhuys +;;;; Copyright (C) 2000--2015 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify @@ -1157,6 +1157,31 @@ the use of @code{\\simple} is unnecessary. @end lilypond" (interpret-markup layout props str)) +(define-markup-command (first-visible layout props args) + (markup-list?) + #:category other + "Use the first markup in @var{args} that yields a non-empty stencil +and ignore the rest. + +@lilypond[verbatim,quote] +\\markup { + \\first-visible { + \\fromproperty #'header:composer + \\italic Unknown + } +} +@end lilypond" + (define (false-if-empty stencil) + (if (ly:stencil-empty? stencil) #f stencil)) + (or + (any + (lambda (m) + (if (markup? m) + (false-if-empty (interpret-markup layout props m)) + (any false-if-empty (interpret-markup-list layout props (list m))))) + args) + empty-stencil)) + (define-public empty-markup (make-simple-markup "")) @@ -1374,8 +1399,8 @@ equivalent to @code{\"fi\"}. "Perform simple wordwrap, return stencil of each line." (define space (if justify ;; justify only stretches lines. - (* 0.7 base-space) - base-space)) + (* 0.7 base-space) + base-space)) (define (stencil-len s) (interval-end (ly:stencil-extent s X))) (define (maybe-shift line) @@ -2377,7 +2402,7 @@ may be any property supported by @rinternals{font-interface}, (define-markup-command (abs-fontsize layout props size arg) (number? markup?) #:category font - "Use @var{size} as the absolute font size to display @var{arg}. + "Use @var{size} as the absolute font size (in points) to display @var{arg}. Adjusts @code{baseline-skip} and @code{word-space} accordingly. @lilypond[verbatim,quote] @@ -4231,7 +4256,11 @@ a column containing several lines of text. Reference to a page number. @var{label} is the label set on the referenced page (using the @code{\\label} command), @var{gauge} a markup used to estimate the maximum width of the page number, and @var{default} the value to display -when @var{label} is not found." +when @var{label} is not found. + +(If the current book or bookpart is set to use roman numerals for page numbers, +the reference will be formatted accordingly -- in which case the @var{gauge}'s +width may require additional tweaking.)" (let* ((gauge-stencil (interpret-markup layout props gauge)) (x-ext (ly:stencil-extent gauge-stencil X)) (y-ext (ly:stencil-extent gauge-stencil Y))) @@ -4244,7 +4273,10 @@ when @var{label} is not found." (page-number (if (list? table) (assoc-get label table) #f)) - (page-markup (if page-number (format #f "~a" page-number) default)) + (number-type (ly:output-def-lookup layout 'page-number-type)) + (page-markup (if page-number + (number-format number-type page-number) + default)) (page-stencil (interpret-markup layout props page-markup)) (gap (- (interval-length x-ext) (interval-length (ly:stencil-extent page-stencil X))))) diff --git a/scm/define-music-callbacks.scm b/scm/define-music-callbacks.scm index 24281a8838..7e65125cb6 100644 --- a/scm/define-music-callbacks.scm +++ b/scm/define-music-callbacks.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 1998--2014 Han-Wen Nienhuys +;;;; Copyright (C) 1998--2015 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen ;;;; Neil Puttock ;;;; Carl Sorensen @@ -34,6 +34,19 @@ to be used by the sequential-iterator" (make-music 'BarCheck 'origin location)))) +(define (make-unfolded-set music) + (let ((n (ly:music-property music 'repeat-count)) + (alts (ly:music-property music 'elements)) + (body (ly:music-property music 'element))) + (cond ((<= n 0) '()) + ((null? alts) (make-list n body)) + (else + (concatenate + (zip (make-list n body) + (append! (make-list (max 0 (- n (length alts))) + (car alts)) + alts))))))) + (define (make-volta-set music) (let* ((alts (ly:music-property music 'elements)) (lalts (length alts)) @@ -116,3 +129,14 @@ to be used by the sequential-iterator" 'Timing) 'Score) (make-music 'TimeSignatureEvent music)))) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Some MIDI callbacks -- is this a good place for them? + +(define-public (breathe::midi-length len context) + ;;Shorten by half, or by up to a second, but always by a power of 2 + (let* ((desired (min (ly:moment-main (seconds->moment 1 context)) + (* (ly:moment-main len) 1/2))) + (scale (inexact->exact (ceiling (/ (log desired) (log 1/2))))) + (breath (ly:make-moment (expt 1/2 scale)))) + (ly:moment-sub (ly:make-moment (ly:moment-main len)) breath))) diff --git a/scm/define-music-display-methods.scm b/scm/define-music-display-methods.scm index f448ee8bb7..845b514f44 100644 --- a/scm/define-music-display-methods.scm +++ b/scm/define-music-display-methods.scm @@ -1,7 +1,7 @@ ;;; define-music-display-methods.scm -- data for displaying music ;;; expressions using LilyPond notation. ;;; -;;; Copyright (C) 2005--2014 Nicolas Sceaux +;;; Copyright (C) 2005--2015 Nicolas Sceaux ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/scm/define-music-properties.scm b/scm/define-music-properties.scm index f20952b56f..422e65c106 100644 --- a/scm/define-music-properties.scm +++ b/scm/define-music-properties.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 1998--2014 Han-Wen Nienhuys +;;;; Copyright (C) 1998--2015 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify @@ -67,8 +67,6 @@ cautionary accidental.") (change-to-id ,string? "Name of the context to change to.") (change-to-type ,symbol? "Type of the context to change to.") (class ,symbol? "The class name of an event class.") - (compress-procedure ,procedure? "Compress this music expression. -Arg@tie{}1: the music, arg@tie{}2: factor.") (context ,ly:context? "The context to which an event is sent.") (context-id ,string? "Name of context.") (context-type ,symbol? "Type of context.") @@ -92,7 +90,6 @@ simultaneous music, or the alternatives of repeated music.") a sequential iterator. Takes a single music parameter.") (error-found ,boolean? "If true, a parsing error was found in this expression.") - (events ,list? "A list of events contained in this event.") (figure ,integer? "A bass figure.") (footnote-text ,markup? "Text to appear in a footnote.") @@ -158,7 +155,6 @@ Options are @code{solo1}, @code{solo2} and @code{unisono}.") of a key signature.") (pop-first ,boolean? "Do a revert before we try to do an override on some grob property.") - (prob-property ,symbol? "The symbol of the prob property to set.") (procedure ,procedure? "The function to run with @code{\\applycontext}. It must take a single argument, being the context.") (property-operations ,list? "Do these operations for instantiating diff --git a/scm/define-music-types.scm b/scm/define-music-types.scm index 359e10eac1..d1795246b2 100644 --- a/scm/define-music-types.scm +++ b/scm/define-music-types.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 1998--2014 Han-Wen Nienhuys +;;;; Copyright (C) 1998--2015 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify @@ -128,7 +128,7 @@ Syntax for manual control: @code{c8-[ c c-] c8}") Syntax: @var{note}@code{\\breathe}") (types . (general-music event breathing-event)) - )) + (midi-length . ,breathe::midi-length))) (ClusterNoteEvent . ((description . "A note that is part of a cluster.") @@ -718,7 +718,8 @@ brackets start and stop.") (UnfoldedRepeatedMusic . ((description . "Repeated music which is fully written (and played) out.") - (iterator-ctor . ,ly:unfolded-repeat-iterator::constructor) + (iterator-ctor . ,ly:sequential-iterator::constructor) + (elements-callback . ,make-unfolded-set) (start-callback . ,ly:repeated-music::first-start) (types . (general-music repeated-music unfolded-repeated-music)) (length-callback . ,ly:repeated-music::unfolded-music-length) diff --git a/scm/define-note-names.scm b/scm/define-note-names.scm index 52a9d969fa..c42fcb8dd0 100644 --- a/scm/define-note-names.scm +++ b/scm/define-note-names.scm @@ -1,22 +1,22 @@ ;;;; Common note names in various languages. ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2010--2014 Valentin Villenave et al: +;;;; Copyright (C) 2010--2015 Valentin Villenave et al: ;;;; -;;;; Copyright (C) 1996--2014 Han-Wen Nienhuys (Nederlands) -;;;; Copyright (C) 1998--2014 Jaume Obrador (Catalan) -;;;; Copyright (C) 1997--2014 Roland Meier +;;;; Copyright (C) 1996--2015 Han-Wen Nienhuys (Nederlands) +;;;; Copyright (C) 1998--2015 Jaume Obrador (Catalan) +;;;; Copyright (C) 1997--2015 Roland Meier ;;;; Bjoern Jacke (Deutsch) -;;;; Copyright (C) 1996--2014 Han-Wen Nienhuys (English) -;;;; Copyright (C) 2002--2014 Carlos García Suárez +;;;; Copyright (C) 1996--2015 Han-Wen Nienhuys (English) +;;;; Copyright (C) 2002--2015 Carlos García Suárez ;;;; Maximiliano G. G. (Espanol) -;;;; Copyright (C) 1998--2014 Paolo Zuliani +;;;; Copyright (C) 1998--2015 Paolo Zuliani ;;;; Eric Wurbel (Italiano) -;;;; Copyright (C) 1998--2014 Arvid Grøtting (Norsk) -;;;; Copyright (C) 2004--2014 Pedro Kröger (Portugues) -;;;; Copyright (C) 2001--2014 Heikki Junes (Suomi) -;;;; Copyright (C) 1997--2014 Mats Bengtsson (Svenska) -;;;; Copyright (C) 2004--2014 Hendrik Maryns (Vlaams) +;;;; Copyright (C) 1998--2015 Arvid Grøtting (Norsk) +;;;; Copyright (C) 2004--2015 Pedro Kröger (Portugues) +;;;; Copyright (C) 2001--2015 Heikki Junes (Suomi) +;;;; Copyright (C) 1997--2015 Mats Bengtsson (Svenska) +;;;; Copyright (C) 2004--2015 Hendrik Maryns (Vlaams) ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by @@ -310,42 +310,6 @@ ;; tqs = three-quarter[-tones] sharp (english . ( - (cflatflat . ,(ly:make-pitch -1 0 DOUBLE-FLAT)) - (cflat . ,(ly:make-pitch -1 0 FLAT)) - (c . ,(ly:make-pitch -1 0 NATURAL)) - (csharp . ,(ly:make-pitch -1 0 SHARP)) - (csharpsharp . ,(ly:make-pitch -1 0 DOUBLE-SHARP)) - (dflatflat . ,(ly:make-pitch -1 1 DOUBLE-FLAT)) - (dflat . ,(ly:make-pitch -1 1 FLAT)) - (d . ,(ly:make-pitch -1 1 NATURAL)) - (dsharp . ,(ly:make-pitch -1 1 SHARP)) - (dsharpsharp . ,(ly:make-pitch -1 1 DOUBLE-SHARP)) - (eflatflat . ,(ly:make-pitch -1 2 DOUBLE-FLAT)) - (eflat . ,(ly:make-pitch -1 2 FLAT)) - (e . ,(ly:make-pitch -1 2 NATURAL)) - (esharp . ,(ly:make-pitch -1 2 SHARP)) - (esharpsharp . ,(ly:make-pitch -1 2 DOUBLE-SHARP)) - (fflatflat . ,(ly:make-pitch -1 3 DOUBLE-FLAT)) - (fflat . ,(ly:make-pitch -1 3 FLAT)) - (f . ,(ly:make-pitch -1 3 NATURAL)) - (fsharp . ,(ly:make-pitch -1 3 SHARP)) - (fsharpsharp . ,(ly:make-pitch -1 3 DOUBLE-SHARP)) - (gflatflat . ,(ly:make-pitch -1 4 DOUBLE-FLAT)) - (gflat . ,(ly:make-pitch -1 4 FLAT)) - (g . ,(ly:make-pitch -1 4 NATURAL)) - (gsharp . ,(ly:make-pitch -1 4 SHARP)) - (gsharpsharp . ,(ly:make-pitch -1 4 DOUBLE-SHARP)) - (aflatflat . ,(ly:make-pitch -1 5 DOUBLE-FLAT)) - (aflat . ,(ly:make-pitch -1 5 FLAT)) - (a . ,(ly:make-pitch -1 5 NATURAL)) - (asharp . ,(ly:make-pitch -1 5 SHARP)) - (asharpsharp . ,(ly:make-pitch -1 5 DOUBLE-SHARP)) - (bflatflat . ,(ly:make-pitch -1 6 DOUBLE-FLAT)) - (bflat . ,(ly:make-pitch -1 6 FLAT)) - (b . ,(ly:make-pitch -1 6 NATURAL)) - (bsharp . ,(ly:make-pitch -1 6 SHARP)) - (bsharpsharp . ,(ly:make-pitch -1 6 DOUBLE-SHARP)) - (cff . ,(ly:make-pitch -1 0 DOUBLE-FLAT)) (ctqf . ,(ly:make-pitch -1 0 THREE-Q-FLAT)) (cf . ,(ly:make-pitch -1 0 FLAT)) @@ -422,6 +386,42 @@ (btqs . ,(ly:make-pitch -1 6 THREE-Q-SHARP)) (bss . ,(ly:make-pitch -1 6 DOUBLE-SHARP)) (bx . ,(ly:make-pitch -1 6 DOUBLE-SHARP)) + + (c-flatflat . ,(ly:make-pitch -1 0 DOUBLE-FLAT)) + (c-flat . ,(ly:make-pitch -1 0 FLAT)) + (c . ,(ly:make-pitch -1 0 NATURAL)) + (c-sharp . ,(ly:make-pitch -1 0 SHARP)) + (c-sharpsharp . ,(ly:make-pitch -1 0 DOUBLE-SHARP)) + (d-flatflat . ,(ly:make-pitch -1 1 DOUBLE-FLAT)) + (d-flat . ,(ly:make-pitch -1 1 FLAT)) + (d . ,(ly:make-pitch -1 1 NATURAL)) + (d-sharp . ,(ly:make-pitch -1 1 SHARP)) + (d-sharpsharp . ,(ly:make-pitch -1 1 DOUBLE-SHARP)) + (e-flatflat . ,(ly:make-pitch -1 2 DOUBLE-FLAT)) + (e-flat . ,(ly:make-pitch -1 2 FLAT)) + (e . ,(ly:make-pitch -1 2 NATURAL)) + (e-sharp . ,(ly:make-pitch -1 2 SHARP)) + (e-sharpsharp . ,(ly:make-pitch -1 2 DOUBLE-SHARP)) + (f-flatflat . ,(ly:make-pitch -1 3 DOUBLE-FLAT)) + (f-flat . ,(ly:make-pitch -1 3 FLAT)) + (f . ,(ly:make-pitch -1 3 NATURAL)) + (f-sharp . ,(ly:make-pitch -1 3 SHARP)) + (f-sharpsharp . ,(ly:make-pitch -1 3 DOUBLE-SHARP)) + (g-flatflat . ,(ly:make-pitch -1 4 DOUBLE-FLAT)) + (g-flat . ,(ly:make-pitch -1 4 FLAT)) + (g . ,(ly:make-pitch -1 4 NATURAL)) + (g-sharp . ,(ly:make-pitch -1 4 SHARP)) + (g-sharpsharp . ,(ly:make-pitch -1 4 DOUBLE-SHARP)) + (a-flatflat . ,(ly:make-pitch -1 5 DOUBLE-FLAT)) + (a-flat . ,(ly:make-pitch -1 5 FLAT)) + (a . ,(ly:make-pitch -1 5 NATURAL)) + (a-sharp . ,(ly:make-pitch -1 5 SHARP)) + (a-sharpsharp . ,(ly:make-pitch -1 5 DOUBLE-SHARP)) + (b-flatflat . ,(ly:make-pitch -1 6 DOUBLE-FLAT)) + (b-flat . ,(ly:make-pitch -1 6 FLAT)) + (b . ,(ly:make-pitch -1 6 NATURAL)) + (b-sharp . ,(ly:make-pitch -1 6 SHARP)) + (b-sharpsharp . ,(ly:make-pitch -1 6 DOUBLE-SHARP)) )) diff --git a/scm/define-stencil-commands.scm b/scm/define-stencil-commands.scm index 904b6348d4..7eb31a9600 100644 --- a/scm/define-stencil-commands.scm +++ b/scm/define-stencil-commands.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2005--2014 Han-Wen Nienhuys +;;;; Copyright (C) 2005--2015 Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/define-woodwind-diagrams.scm b/scm/define-woodwind-diagrams.scm index c74b6110d6..48aaf68239 100644 --- a/scm/define-woodwind-diagrams.scm +++ b/scm/define-woodwind-diagrams.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2010--2014 Mike Solomon +;;;; Copyright (C) 2010--2015 Mike Solomon ;;;; Clarinet drawings copied from diagrams created by ;;;; Gilles Thibault ;;;; diff --git a/scm/display-lily.scm b/scm/display-lily.scm index 3e560b1403..6d38fff784 100644 --- a/scm/display-lily.scm +++ b/scm/display-lily.scm @@ -2,7 +2,7 @@ ;;; ;;; ;;; -;;; Copyright (C) 2005--2014 Nicolas Sceaux +;;; Copyright (C) 2005--2015 Nicolas Sceaux ;;; ;;; - This file defines the procedures used to define display methods for each diff --git a/scm/display-woodwind-diagrams.scm b/scm/display-woodwind-diagrams.scm index 987b798142..7a3f72cba6 100644 --- a/scm/display-woodwind-diagrams.scm +++ b/scm/display-woodwind-diagrams.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2010--2014 Mike Solomon +;;;; Copyright (C) 2010--2015 Mike Solomon ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/document-backend.scm b/scm/document-backend.scm index 406f09aacb..0ba63b2cfc 100644 --- a/scm/document-backend.scm +++ b/scm/document-backend.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2000--2014 Han-Wen Nienhuys +;;;; Copyright (C) 2000--2015 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify diff --git a/scm/document-context-mods.scm b/scm/document-context-mods.scm index cfbccbc5d0..aa239e71ea 100644 --- a/scm/document-context-mods.scm +++ b/scm/document-context-mods.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2011--2014 Neil Puttock +;;;; Copyright (C) 2011--2015 Neil Puttock ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/document-functions.scm b/scm/document-functions.scm index 07a504473d..d1bc74340d 100644 --- a/scm/document-functions.scm +++ b/scm/document-functions.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 1998--2014 Han-Wen Nienhuys +;;;; Copyright (C) 1998--2015 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify diff --git a/scm/document-identifiers.scm b/scm/document-identifiers.scm index 217851e785..39d4284088 100644 --- a/scm/document-identifiers.scm +++ b/scm/document-identifiers.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2006--2014 Han-Wen Nienhuys +;;;; Copyright (C) 2006--2015 Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/document-markup.scm b/scm/document-markup.scm index 97809f2a8c..35347ae150 100644 --- a/scm/document-markup.scm +++ b/scm/document-markup.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 1998--2014 Han-Wen Nienhuys +;;;; Copyright (C) 1998--2015 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify diff --git a/scm/document-music.scm b/scm/document-music.scm index c5487eefd0..bc9fa88ae1 100644 --- a/scm/document-music.scm +++ b/scm/document-music.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 1998--2014 Han-Wen Nienhuys +;;;; Copyright (C) 1998--2015 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify diff --git a/scm/document-translation.scm b/scm/document-translation.scm index 3476419ba1..8de267f6d9 100644 --- a/scm/document-translation.scm +++ b/scm/document-translation.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2000--2014 Han-Wen Nienhuys +;;;; Copyright (C) 2000--2015 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify diff --git a/scm/document-type-predicates.scm b/scm/document-type-predicates.scm index ea6c3ec1d8..562eac3d18 100644 --- a/scm/document-type-predicates.scm +++ b/scm/document-type-predicates.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2010--2014 Mark Polesky +;;;; Copyright (C) 2010--2015 Mark Polesky ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/documentation-generate.scm b/scm/documentation-generate.scm index 8eba739ce8..762d260b07 100644 --- a/scm/documentation-generate.scm +++ b/scm/documentation-generate.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2000--2014 Han-Wen Nienhuys +;;;; Copyright (C) 2000--2015 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify @@ -130,7 +130,7 @@ @c author: Jan Nieuwenhuizen @c commit: 8ecd09ad7514d57630fb611d38c161f3c3c708db @c file: scm/generate-documentation.scm -Copyright @copyright{} 2000--2014 by the authors +Copyright @copyright{} 2000--2015 by the authors @vskip 20pt diff --git a/scm/documentation-lib.scm b/scm/documentation-lib.scm index 9747f60632..d1bd044db9 100644 --- a/scm/documentation-lib.scm +++ b/scm/documentation-lib.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2000--2014 Han-Wen Nienhuys +;;;; Copyright (C) 2000--2015 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify diff --git a/scm/editor.scm b/scm/editor.scm index c64cbea54a..8a34e79028 100644 --- a/scm/editor.scm +++ b/scm/editor.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2005--2014 Jan Nieuwenhuizen +;;;; Copyright (C) 2005--2015 Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/encoding.scm b/scm/encoding.scm index f0495027a1..bebf515b6b 100644 --- a/scm/encoding.scm +++ b/scm/encoding.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2004--2014 Jan Nieuwenhuizen +;;;; Copyright (C) 2004--2015 Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/file-cache.scm b/scm/file-cache.scm index 8c941acbed..4ca9ee056d 100644 --- a/scm/file-cache.scm +++ b/scm/file-cache.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2005--2014 Han-Wen Nienhuys +;;;; Copyright (C) 2005--2015 Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/flag-styles.scm b/scm/flag-styles.scm index 502cb7738c..01fe315da0 100644 --- a/scm/flag-styles.scm +++ b/scm/flag-styles.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2008--2014 Reinhold Kainhofer +;;;; Copyright (C) 2008--2015 Reinhold Kainhofer ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/font.scm b/scm/font.scm index e177a055ed..11c97193e3 100644 --- a/scm/font.scm +++ b/scm/font.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2004--2014 Han-Wen Nienhuys +;;;; Copyright (C) 2004--2015 Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/framework-eps.scm b/scm/framework-eps.scm index 5aa5c0e3bb..353d5f8f91 100644 --- a/scm/framework-eps.scm +++ b/scm/framework-eps.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2004--2014 Han-Wen Nienhuys +;;;; Copyright (C) 2004--2015 Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/framework-ps.scm b/scm/framework-ps.scm index a96eea7679..9e2b7521ad 100644 --- a/scm/framework-ps.scm +++ b/scm/framework-ps.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2004--2014 Han-Wen Nienhuys +;;;; Copyright (C) 2004--2015 Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by @@ -52,11 +52,32 @@ "") (define (ps-define-font font font-name scaling) - (string-append - "/" (ps-font-command font) - " { /" font-name - " " (ly:number->string scaling) " output-scale div selectfont }" - " bind def\n")) + (if (ly:bigpdfs) + (string-append + "/" (ps-font-command font) "-N" + " { /" font-name "-N" + " " (ly:number->string scaling) " output-scale div selectfont }" + " bind def\n" + "/" (ps-font-command font) "-S" + " { /" font-name "-S" + " " (ly:number->string scaling) " output-scale div selectfont }" + " bind def\n" + "/" (ps-font-command font) "-O" + " { /" font-name "-O" + " " (ly:number->string scaling) " output-scale div selectfont }" + " bind def\n" + "/help" font-name " {\n gsave\n 1 setgray\n /" + font-name "-N" + " 0.001 selectfont 0 0 moveto <01> show\n /" + font-name "-S" + " 0.001 selectfont 0 0 moveto <01> show\n /" + font-name "-O" + " 0.001 selectfont 0 0 moveto <01> show\n grestore\n} def\n") + (string-append + "/" (ps-font-command font) + " { /" font-name + " " (ly:number->string scaling) " output-scale div selectfont }" + " bind def\n"))) ;; FIXME: duplicated in other output backends ;; FIXME: silly interface name @@ -99,7 +120,16 @@ "") "%%EndPageSetup\n" "\n" - "gsave 0 paper-height translate set-ps-scale-to-lily-scale\n")) + "gsave 0 paper-height translate set-ps-scale-to-lily-scale\n" + "/helpEmmentaler-Brace where {pop helpEmmentaler-Brace} if\n" + "/helpEmmentaler-11 where {pop helpEmmentaler-11} if\n" + "/helpEmmentaler-13 where {pop helpEmmentaler-13} if\n" + "/helpEmmentaler-14 where {pop helpEmmentaler-14} if\n" + "/helpEmmentaler-16 where {pop helpEmmentaler-16} if\n" + "/helpEmmentaler-18 where {pop helpEmmentaler-18} if\n" + "/helpEmmentaler-20 where {pop helpEmmentaler-20} if\n" + "/helpEmmentaler-23 where {pop helpEmmentaler-23} if\n" + "/helpEmmentaler-26 where {pop helpEmmentaler-26} if\n")) (ly:outputter-dump-stencil outputter page) (ly:outputter-dump-string outputter "stroke grestore\nshowpage\n")) @@ -392,6 +422,8 @@ (display (cdr f) port) (display "%%EndFont\n" port)) (load-fonts paper))) + (if (ly:bigpdfs) + (display (procset "encodingdefs.ps") port)) (display (setup-variables paper) port) ;; adobe note 5002: should initialize variables before loading routines. @@ -542,6 +574,15 @@ (write-preamble paper load-fonts port) (display "/mark_page_link { pop pop pop pop pop } bind def\n" port) (display "gsave set-ps-scale-to-lily-scale\n" port) + (display "/helpEmmentaler-Brace where {pop helpEmmentaler-Brace} if\n" port) + (display "/helpEmmentaler-11 where {pop helpEmmentaler-11} if\n" port) + (display "/helpEmmentaler-13 where {pop helpEmmentaler-13} if\n" port) + (display "/helpEmmentaler-14 where {pop helpEmmentaler-14} if\n" port) + (display "/helpEmmentaler-16 where {pop helpEmmentaler-16} if\n" port) + (display "/helpEmmentaler-18 where {pop helpEmmentaler-18} if\n" port) + (display "/helpEmmentaler-20 where {pop helpEmmentaler-20} if\n" port) + (display "/helpEmmentaler-23 where {pop helpEmmentaler-23} if\n" port) + (display "/helpEmmentaler-26 where {pop helpEmmentaler-26} if\n" port) (ly:outputter-dump-stencil outputter dump-me) (display "stroke grestore\n%%Trailer\n%%EOF\n" port) (ly:outputter-close outputter))) diff --git a/scm/framework-svg.scm b/scm/framework-svg.scm index eed314c3f9..a4cf2e9960 100644 --- a/scm/framework-svg.scm +++ b/scm/framework-svg.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2004--2014 Jan Nieuwenhuizen +;;;; Copyright (C) 2004--2015 Jan Nieuwenhuizen ;;;; Patrick McCarty ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify diff --git a/scm/fret-diagrams.scm b/scm/fret-diagrams.scm index a1daae3321..74ab65fedd 100644 --- a/scm/fret-diagrams.scm +++ b/scm/fret-diagrams.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2004--2014 Carl D. Sorensen +;;;; Copyright (C) 2004--2015 Carl D. Sorensen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/graphviz.scm b/scm/graphviz.scm index fb85076a1c..61fa5b1e1b 100644 --- a/scm/graphviz.scm +++ b/scm/graphviz.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2007--2014 Joe Neeman +;;;; Copyright (C) 2007--2015 Joe Neeman ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/guile-debugger.scm b/scm/guile-debugger.scm index 55665a3313..cde032fed0 100644 --- a/scm/guile-debugger.scm +++ b/scm/guile-debugger.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2010--2014 Ian Hulin +;;;; Copyright (C) 2010--2015 Ian Hulin ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/harp-pedals.scm b/scm/harp-pedals.scm index 3c43e5d191..a6c93774d3 100644 --- a/scm/harp-pedals.scm +++ b/scm/harp-pedals.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2008--2014 Reinhold Kainhofer +;;;; Copyright (C) 2008--2015 Reinhold Kainhofer ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/layout-beam.scm b/scm/layout-beam.scm index 8aae2d09d5..59f3b2fcc6 100644 --- a/scm/layout-beam.scm +++ b/scm/layout-beam.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2000--2014 Jan Nieuwenhuizen +;;;; Copyright (C) 2000--2015 Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/layout-slur.scm b/scm/layout-slur.scm index f2708c0def..18b28797d0 100644 --- a/scm/layout-slur.scm +++ b/scm/layout-slur.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2000--2014 Jan Nieuwenhuizen +;;;; Copyright (C) 2000--2015 Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/lily-library.scm b/scm/lily-library.scm index 9008831c72..b49dfbe0bd 100644 --- a/scm/lily-library.scm +++ b/scm/lily-library.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 1998--2014 Jan Nieuwenhuizen +;;;; Copyright (C) 1998--2015 Jan Nieuwenhuizen ;;;; Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify diff --git a/scm/lily-sort.scm b/scm/lily-sort.scm index e05c15a611..a3d951df5c 100644 --- a/scm/lily-sort.scm +++ b/scm/lily-sort.scm @@ -2,7 +2,7 @@ ;;;; ;;;; source file of the GNU LilyPond music typesetter ;;;; -;;;; Copyright 2009--2014 Mark Polesky +;;;; Copyright 2009--2015 Mark Polesky ;; This file implements a LilyPond-specific character-sorting algorithm diff --git a/scm/lily.scm b/scm/lily.scm index 3ba26bc6dc..6322e01960 100644 --- a/scm/lily.scm +++ b/scm/lily.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 1998--2014 Jan Nieuwenhuizen +;;;; Copyright (C) 1998--2015 Jan Nieuwenhuizen ;;;; Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify @@ -555,6 +555,7 @@ messages into errors.") "part-combiner.scm" "autochange.scm" "define-music-properties.scm" + "time-signature.scm" "time-signature-settings.scm" "auto-beam.scm" "chord-name.scm" diff --git a/scm/ly-syntax-constructors.scm b/scm/ly-syntax-constructors.scm index a427daadcc..2d243ab8ab 100644 --- a/scm/ly-syntax-constructors.scm +++ b/scm/ly-syntax-constructors.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2006--2014 Erik Sandberg +;;;; Copyright (C) 2006--2015 Erik Sandberg ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/markup-macros.scm b/scm/markup-macros.scm index 5e446d12e8..09ab0fc8f2 100644 --- a/scm/markup-macros.scm +++ b/scm/markup-macros.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2003--2014 Han-Wen Nienhuys +;;;; Copyright (C) 2003--2015 Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/markup.scm b/scm/markup.scm index d323ad3b42..b3b7b34c30 100644 --- a/scm/markup.scm +++ b/scm/markup.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2003--2014 Han-Wen Nienhuys +;;;; Copyright (C) 2003--2015 Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/midi.scm b/scm/midi.scm index 4c7d6b3035..a3ca13f3fd 100644 --- a/scm/midi.scm +++ b/scm/midi.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2000--2014 Jan Nieuwenhuizen +;;;; Copyright (C) 2000--2015 Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/modal-transforms.scm b/scm/modal-transforms.scm index 4200a1f176..98e9ac3021 100644 --- a/scm/modal-transforms.scm +++ b/scm/modal-transforms.scm @@ -1,6 +1,6 @@ ;;; modal-transforms.scm --- Modal transposition, inversion, and retrograde. -;; Copyright (C) 2011--2014 Ellis & Grant, Inc. +;; Copyright (C) 2011--2015 Ellis & Grant, Inc. ;; Author: Michael Ellis diff --git a/scm/music-functions.scm b/scm/music-functions.scm index aad473c7f0..1b679a7228 100644 --- a/scm/music-functions.scm +++ b/scm/music-functions.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 1998--2014 Jan Nieuwenhuizen +;;;; Copyright (C) 1998--2015 Jan Nieuwenhuizen ;;;; Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify @@ -400,18 +400,7 @@ beats to be distinguished." (lambda (m) (and (music-is-of-type? m 'unfolded-repeated-music) (make-sequential-music - (ly:music-deep-copy - (let ((n (ly:music-property m 'repeat-count)) - (alts (ly:music-property m 'elements)) - (body (ly:music-property m 'element))) - (cond ((<= n 0) '()) - ((null? alts) (make-list n body)) - (else - (concatenate - (zip (make-list n body) - (append! (make-list (max 0 (- n (length alts))) - (car alts)) - alts)))))))))) + (ly:music-deep-copy (make-unfolded-set m))))) (unfold-repeats music))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -751,7 +740,11 @@ duration is replaced with the specified @var{duration}." (set! (ly:music-property m 'articulations) (set-origin! (filter! keep-element? arts)))) (if (ly:duration? (ly:music-property m 'duration)) - (set! (ly:music-property m 'duration) duration)))) + (set! (ly:music-property m 'duration) duration)) + (if (ly:music-property m 'cautionary #f) + (set! (ly:music-property m 'cautionary) #f)) + (if (ly:music-property m 'force-accidental #f) + (set! (ly:music-property m 'force-accidental) #f)))) elts) (append! elts (ly:music-property repeat-chord 'elements)))) (let ((arts (filter keep-element? @@ -2237,66 +2230,6 @@ of list @var{arg}." (car arg)))) (export value-for-spanner-piece) -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; measure counter - -(define (measure-counter-stencil grob) - "Print a number for a measure count. The number is centered using -the extents of @code{BreakAlignment} grobs associated with -@code{NonMusicalPaperColumn} grobs. In the case of an unbroken measure, these -columns are the left and right bounds of a @code{MeasureCounter} spanner. -Broken measures are numbered in parentheses." - (let* ((orig (ly:grob-original grob)) - (siblings (ly:spanner-broken-into orig)) ; have we been split? - (bounds (ly:grob-array->list (ly:grob-object grob 'columns))) - (refp (ly:grob-system grob)) - ;; we use the first and/or last NonMusicalPaperColumn grob(s) of - ;; a system in the event that a MeasureCounter spanner is broken - (all-cols (ly:grob-array->list (ly:grob-object refp 'columns))) - (all-cols - (filter - (lambda (col) (eq? #t (ly:grob-property col 'non-musical))) - all-cols)) - (left-bound - (if (or (null? siblings) ; spanner is unbroken - (eq? grob (car siblings))) ; or the first piece - (car bounds) - (car all-cols))) - (right-bound - (if (or (null? siblings) - (eq? grob (car (reverse siblings)))) - (car (reverse bounds)) - (car (reverse all-cols)))) - (elts-L (ly:grob-array->list (ly:grob-object left-bound 'elements))) - (elts-R (ly:grob-array->list (ly:grob-object right-bound 'elements))) - (break-alignment-L - (filter - (lambda (elt) (grob::has-interface elt 'break-alignment-interface)) - elts-L)) - (break-alignment-R - (filter - (lambda (elt) (grob::has-interface elt 'break-alignment-interface)) - elts-R)) - (break-alignment-L-ext (ly:grob-extent (car break-alignment-L) refp X)) - (break-alignment-R-ext (ly:grob-extent (car break-alignment-R) refp X)) - (num (markup (number->string (ly:grob-property grob 'count-from)))) - (num - (if (or (null? siblings) - (eq? grob (car siblings))) - num - (make-parenthesize-markup num))) - (num (grob-interpret-markup grob num)) - (num (ly:stencil-aligned-to num X (ly:grob-property grob 'self-alignment-X))) - (num - (ly:stencil-translate-axis - num - (+ (interval-length break-alignment-L-ext) - (* 0.5 - (- (car break-alignment-R-ext) - (cdr break-alignment-L-ext)))) - X))) - num)) - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; The following are used by the \offset function diff --git a/scm/output-lib.scm b/scm/output-lib.scm index 6a385fd72a..7f956a54d5 100644 --- a/scm/output-lib.scm +++ b/scm/output-lib.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 1998--2014 Jan Nieuwenhuizen +;;;; Copyright (C) 1998--2015 Jan Nieuwenhuizen ;;;; Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify @@ -26,6 +26,10 @@ (define-public (grob::is-live? grob) (pair? (ly:grob-basic-properties grob))) +(define-public (grob::name grob) + "Return the name of the grob @var{grob} as a symbol." + (assq-ref (ly:grob-property grob 'meta) 'name)) + (define-public (make-stencil-boxer thickness padding callback) "Return function that adds a box around the grob passed as argument." (lambda (grob) @@ -1157,17 +1161,20 @@ parent or the parent has no setting." (define-public (script-interface::calc-x-offset grob) (ly:grob-property grob 'positioning-done) - (let* ((shift (ly:grob-property grob 'toward-stem-shift 0.0)) + (let* ((shift-when-alone (ly:grob-property grob 'toward-stem-shift 0.0)) + (shift-in-column (ly:grob-property grob 'toward-stem-shift-in-column)) + (script-column (ly:grob-object grob 'script-column)) + (shift (if (and (ly:grob? script-column) (number? shift-in-column)) + shift-in-column shift-when-alone)) (note-head-location (ly:self-alignment-interface::aligned-on-x-parent grob)) (note-head-grob (ly:grob-parent grob X)) (stem-grob (ly:grob-object note-head-grob 'stem))) (+ note-head-location - ;; If the property 'toward-stem-shift is defined and the script - ;; has the same direction as the stem, move the script accordingly. - ;; Since scripts can also be over skips, we need to check whether - ;; the grob has a stem at all. + ;; If the script has the same direction as the stem, move the script + ;; in accordance with the value of 'shift'. Since scripts can also be + ;; over skips, we need to check whether the grob has a stem at all. (if (ly:grob? stem-grob) (let ((dir1 (ly:grob-property grob 'direction)) (dir2 (ly:grob-property stem-grob 'direction))) @@ -1361,6 +1368,49 @@ parent or the parent has no setting." (interval-union '(0 . 0) (cons smaller larger))) '(0 . 0)))) +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; measure counter + +(define-public (measure-counter-stencil grob) + "Print a number for a measure count. The number is centered using +the extents of @code{BreakAlignment} grobs associated with the left and +right bounds of a @code{MeasureCounter} spanner. Broken measures are +numbered in parentheses." + (let* ((num (markup (number->string (ly:grob-property grob 'count-from)))) + (orig (ly:grob-original grob)) + (siblings (ly:spanner-broken-into orig)) ; have we been split? + (num + (if (or (null? siblings) + (eq? grob (car siblings))) + num + (make-parenthesize-markup num))) + (num (grob-interpret-markup grob num)) + (num (ly:stencil-aligned-to num X (ly:grob-property grob 'self-alignment-X))) + (left-bound (ly:spanner-bound grob LEFT)) + (right-bound (ly:spanner-bound grob RIGHT)) + (elts-L (ly:grob-array->list (ly:grob-object left-bound 'elements))) + (elts-R (ly:grob-array->list (ly:grob-object right-bound 'elements))) + (break-alignment-L + (filter + (lambda (elt) (grob::has-interface elt 'break-alignment-interface)) + elts-L)) + (break-alignment-R + (filter + (lambda (elt) (grob::has-interface elt 'break-alignment-interface)) + elts-R)) + (refp (ly:grob-system grob)) + (break-alignment-L-ext (ly:grob-extent (car break-alignment-L) refp X)) + (break-alignment-R-ext (ly:grob-extent (car break-alignment-R) refp X)) + (num + (ly:stencil-translate-axis + num + (+ (interval-length break-alignment-L-ext) + (* 0.5 + (- (car break-alignment-R-ext) + (cdr break-alignment-L-ext)))) + X))) + num)) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; make-engraver helper macro diff --git a/scm/output-ps.scm b/scm/output-ps.scm index 7327f12beb..c4c0a4da07 100644 --- a/scm/output-ps.scm +++ b/scm/output-ps.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 1998--2014 Jan Nieuwenhuizen +;;;; Copyright (C) 1998--2015 Jan Nieuwenhuizen ;;;; Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify @@ -117,28 +117,30 @@ size cid? w-x-y-named-glyphs) - (define (glyph-spec w h x y g) ; h not used (let ((prefix (if (string? g) "/" ""))) - (ly:format "~4f ~4f ~4f ~a~a" - w x y - prefix g))) - - (ly:format - (if cid? - "/~a /CIDFont findresource ~a output-scale div scalefont setfont -~a -~a print_glyphs" - - "/~a ~a output-scale div selectfont -~a -~a print_glyphs") - postscript-font-name - size - (string-join (map (lambda (x) (apply glyph-spec x)) - (reverse w-x-y-named-glyphs)) "\n") - (length w-x-y-named-glyphs))) - + (ly:format "~4f ~4f ~4f ~a~a" w x y prefix g))) + (define (emglyph-spec w h x y g) ; h not used + (if (and (= x 0) (= y 0)) + (ly:format "currentpoint ~a moveto ~4f 0 rmoveto" g w) + (ly:format "currentpoint ~4f ~4f rmoveto ~a moveto ~4f 0 rmoveto" x y g w))) + (if cid? + (ly:format + "/~a /CIDFont findresource ~a output-scale div scalefont setfont\n~a\n~a print_glyphs" + postscript-font-name size + (string-join (map (lambda (x) (apply glyph-spec x)) + (reverse w-x-y-named-glyphs)) "\n") + (length w-x-y-named-glyphs)) + (if (and (ly:bigpdfs) (string-startswith postscript-font-name "Emmentaler")) + (ly:format "/~a-O ~a output-scale div selectfont\n~a" + postscript-font-name size + (string-join (map (lambda (x) (apply emglyph-spec x)) + w-x-y-named-glyphs) "\n")) + (ly:format "/~a ~a output-scale div selectfont\n~a\n~a print_glyphs" + postscript-font-name size + (string-join (map (lambda (x) (apply glyph-spec x)) + (reverse w-x-y-named-glyphs)) "\n") + (length w-x-y-named-glyphs))))) (define (grob-cause offset grob) (if (ly:get-option 'point-and-click) @@ -183,9 +185,19 @@ "")) (define (named-glyph font glyph) - (ly:format "~a /~a glyphshow " ;;Why is there a space at the end? - (ps-font-command font) - glyph)) + (if (and (ly:bigpdfs) (string-startswith (ly:font-file-name font) "emmentaler")) + (if (string-endswith (ly:font-file-name font)"-brace") + (if (or (string-startswith glyph "brace1") (string-startswith glyph "brace2")) + (ly:format "~a ~a" (string-append (ps-font-command font) "-N" ) glyph) + (if (or (string-startswith glyph "brace3") (string-startswith glyph "brace4")) + (ly:format "~a ~a" (string-append (ps-font-command font) "-S" ) glyph) + (ly:format "~a ~a" (string-append (ps-font-command font) "-O" ) glyph))) + (if (string-startswith glyph "noteheads") + (ly:format "~a ~a" (string-append (ps-font-command font) "-N" ) glyph) + (if (or (string-startswith glyph "scripts") (string-startswith glyph "clefs")) + (ly:format "~a ~a" (string-append (ps-font-command font) "-S" ) glyph) + (ly:format "~a ~a" (string-append (ps-font-command font) "-O" ) glyph)))) + (ly:format "~a /~a glyphshow" (ps-font-command font) glyph))) (define (no-origin) "") diff --git a/scm/output-svg.scm b/scm/output-svg.scm index 1ddb276d31..78bda3c35b 100644 --- a/scm/output-svg.scm +++ b/scm/output-svg.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2002--2014 Jan Nieuwenhuizen +;;;; Copyright (C) 2002--2015 Jan Nieuwenhuizen ;;;; Patrick McCarty ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify diff --git a/scm/page.scm b/scm/page.scm index 8fa1f0e10e..c6e69658ce 100644 --- a/scm/page.scm +++ b/scm/page.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2006--2014 Han-Wen Nienhuys +;;;; Copyright (C) 2006--2015 Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by @@ -102,6 +102,7 @@ (ly:stencil-add stencil (ly:stencil-translate-axis (annotate-spacing-spec layout + (symbol->string sym) spacing-spec (- top-margin) (car header-extent) diff --git a/scm/paper-system.scm b/scm/paper-system.scm index 97d70d75b3..9b8d97f34d 100644 --- a/scm/paper-system.scm +++ b/scm/paper-system.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2006--2014 Han-Wen Nienhuys +;;;; Copyright (C) 2006--2015 Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by @@ -144,6 +144,11 @@ (after-Y (ly:grob-relative-coordinate after-staff grob Y))) (annotate-spacing-spec layout + ;; FIXME: Improve `ly:get-spacing-spec' to return the + ;; name of the used `XXX-XXX-spacing' property, if + ;; possible. Right now we have to use the empty + ;; string. + "" (ly:get-spacing-spec before-staff after-staff) before-Y after-Y)))) @@ -188,21 +193,22 @@ #f) #f)) - (spacing-spec (cond ((and next-system - (paper-system-title? system) - (paper-system-title? next-system)) - (ly:output-def-lookup layout 'markup-markup-spacing)) - ((paper-system-title? system) - (ly:output-def-lookup layout 'markup-system-spacing)) - ((and next-system - (paper-system-title? next-system)) - (ly:output-def-lookup layout 'score-markup-spacing)) - ((not next-system) - (ly:output-def-lookup layout 'last-bottom-spacing)) - ((ly:prob-property system 'last-in-score #f) - (ly:output-def-lookup layout 'score-system-spacing)) - (else - (ly:output-def-lookup layout 'system-system-spacing)))) + (spacing-spec-sym (cond ((and next-system + (paper-system-title? system) + (paper-system-title? next-system)) + 'markup-markup-spacing) + ((paper-system-title? system) + 'markup-system-spacing) + ((and next-system + (paper-system-title? next-system)) + 'score-markup-spacing) + ((not next-system) + 'last-bottom-spacing) + ((ly:prob-property system 'last-in-score #f) + 'score-system-spacing) + (else + 'system-system-spacing))) + (spacing-spec (ly:output-def-lookup layout spacing-spec-sym)) (last-staff-Y (car (paper-system-staff-extents system))) (system-Y (ly:prob-property system 'Y-offset 0.0)) (system-X (ly:prob-property system 'X-offset 0.0)) @@ -237,7 +243,9 @@ empty-stencil)) (system-annotation (annotate-spacing-spec - layout spacing-spec + layout + (symbol->string spacing-spec-sym) + spacing-spec last-staff-Y first-staff-next-system-Y)) (annotations (ly:stencil-add diff --git a/scm/paper.scm b/scm/paper.scm index 9e702abc6e..c488db1ac9 100644 --- a/scm/paper.scm +++ b/scm/paper.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2004--2014 Han-Wen Nienhuys +;;;; Copyright (C) 2004--2015 Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/parser-clef.scm b/scm/parser-clef.scm index 9ba29937f9..ea9f67fade 100644 --- a/scm/parser-clef.scm +++ b/scm/parser-clef.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2004--2014 Han-Wen Nienhuys +;;;; Copyright (C) 2004--2015 Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/parser-ly-from-scheme.scm b/scm/parser-ly-from-scheme.scm index 96b7ef2885..dd3e698b9c 100644 --- a/scm/parser-ly-from-scheme.scm +++ b/scm/parser-ly-from-scheme.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2004--2014 Nicolas Sceaux +;;;; Copyright (C) 2004--2015 Nicolas Sceaux ;;;; Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify diff --git a/scm/part-combiner.scm b/scm/part-combiner.scm index dd3152cbb7..ae51d0539b 100644 --- a/scm/part-combiner.scm +++ b/scm/part-combiner.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2004--2014 Han-Wen Nienhuys +;;;; Copyright (C) 2004--2015 Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by @@ -44,6 +44,17 @@ (ly:in-event-class? x 'note-event)) (filter f? (events vs))) +(define-method (rest-and-skip-events (vs )) + (define (f? x) + (or (ly:in-event-class? x 'rest-event) + (ly:in-event-class? x 'skip-event))) + (filter f? (events vs))) + +(define-method (any-mmrest-events (vs )) + (define (f? x) + (ly:in-event-class? x 'multi-measure-rest-event)) + (any f? (events vs))) + (define-method (previous-voice-state (vs )) (let ((i (slot-ref vs 'vector-index)) (v (slot-ref vs 'state-vector))) @@ -73,6 +84,19 @@ (display " synced ")) (display "\n" f)) +(define-method (current-or-previous-voice-states (ss )) + "Return voice states meeting the following conditions. For a voice +in sync, return the current voice state. For a voice out of sync, +return the previous voice state." + (let* ((vss (voice-states ss)) + (vs1 (car vss)) + (vs2 (cdr vss))) + (if (and vs1 (not (equal? (moment vs1) (moment ss)))) + (set! vs1 (previous-voice-state vs1))) + (if (and vs2 (not (equal? (moment vs2) (moment ss)))) + (set! vs2 (previous-voice-state vs2))) + (cons vs1 vs2))) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -253,7 +277,7 @@ LilyPond version 2.8 and earlier." global) context-list)) -(define-public (make-part-combine-music parser music-list direction) +(define-public (make-part-combine-music parser music-list direction chord-range) (let* ((m (make-music 'PartCombineMusic)) (m1 (make-non-relative-music (context-spec-music (first music-list) 'Voice "one"))) (m2 (make-non-relative-music (context-spec-music (second music-list) 'Voice "two"))) @@ -266,17 +290,19 @@ LilyPond version 2.8 and earlier." (set! (ly:music-property m 'split-list) (if (and (assoc "one" evs1) (assoc "two" evs2)) (determine-split-list (reverse! (assoc-get "one" evs1) '()) - (reverse! (assoc-get "two" evs2) '())) + (reverse! (assoc-get "two" evs2) '()) + chord-range) '())) m)) -(define-public (determine-split-list evl1 evl2) - "@var{evl1} and @var{evl2} should be ascending." +(define-public (determine-split-list evl1 evl2 chord-range) + "@var{evl1} and @var{evl2} should be ascending. @var{chord-range} is a pair of numbers (min . max) defining the distance in steps between notes that may be combined into a chord or unison." (let* ((pc-debug #f) - (chord-threshold 8) (voice-state-vec1 (make-voice-states evl1)) (voice-state-vec2 (make-voice-states evl2)) - (result (make-split-state voice-state-vec1 voice-state-vec2))) + (result (make-split-state voice-state-vec1 voice-state-vec2)) + (chord-min-diff (car chord-range)) + (chord-max-diff (cdr chord-range))) ;; Go through all moments recursively and check if the events of that ;; moment contain a part-combine-force-event override. If so, store its @@ -311,9 +337,11 @@ LilyPond version 2.8 and earlier." (if (< result-idx (vector-length result)) (let* ((now-state (vector-ref result result-idx)) ; current result ;; Extract all part-combine force events - (ev1 (part-combine-events (car (voice-states now-state)))) - (ev2 (part-combine-events (cdr (voice-states now-state)))) - (evts (append ev1 ev2)) + (evts (if (synced? now-state) + (append + (part-combine-events (car (voice-states now-state))) + (part-combine-events (cdr (voice-states now-state)))) + '())) ;; result is (once-state permament-state): (state (fold forced-result (cons 'automatic prev-res) evts)) ;; Now let once override permanent changes: @@ -378,15 +406,13 @@ Only set if not set previously. (if (and (= (length pitches1) (length pitches2))) (if (and (pair? pitches1) (pair? pitches2) - (or - (< chord-threshold (ly:pitch-steps - (ly:pitch-diff (car pitches1) - (car pitches2)))) - - ;; voice crossings: - (> 0 (ly:pitch-steps (ly:pitch-diff (car pitches1) - (car pitches2)))) - )) + ; Is the interval outside of chord-range? + (let ((diff (ly:pitch-steps + (ly:pitch-diff (car pitches1) + (car pitches2))))) + (or (< diff chord-min-diff) + (> diff chord-max-diff) + ))) (put 'apart) ;; copy previous split state from spanner state (begin @@ -432,18 +458,82 @@ Only set if not set previously. (let* ((now-state (vector-ref result result-idx)) (vs1 (car (voice-states now-state))) (vs2 (cdr (voice-states now-state)))) - (if (and (equal? (configuration now-state) 'chords) - vs1 vs2) - (let ((notes1 (note-events vs1)) - (notes2 (note-events vs2))) - (cond ((and (= 1 (length notes1)) + + (define (analyse-synced-silence) + (let ((rests1 (if vs1 (rest-and-skip-events vs1) '())) + (rests2 (if vs2 (rest-and-skip-events vs2) '()))) + (cond + + ;; multi-measure rests (probably), which the + ;; part-combine iterator handles well + ((and (= 0 (length rests1)) + (= 0 (length rests2))) + (set! (configuration now-state) 'unisilence)) + + ;; equal rests or equal skips, but not one of each + ((and (= 1 (length rests1)) + (= 1 (length rests2)) + (equal? (ly:event-property (car rests1) 'class) + (ly:event-property (car rests2) 'class)) + (equal? (ly:event-property (car rests1) 'duration) + (ly:event-property (car rests2) 'duration))) + (set! (configuration now-state) 'unisilence)) + + ;; rests of different durations or mixed with + ;; skips or multi-measure rests + (else + ;; TODO For skips, route the rest to the shared + ;; voice and the skip to the voice for its part? + (set! (configuration now-state) 'apart-silence)) + + ))) + + (define (analyse-unsynced-silence vs1 vs2) + (let ((any-mmrests1 (if vs1 (any-mmrest-events vs1) #f)) + (any-mmrests2 (if vs2 (any-mmrest-events vs2) #f))) + (cond + ;; If a multi-measure rest begins now while the other + ;; part has an ongoing multi-measure rest (or has + ;; ended), start displaying the one that begins now. + ((and any-mmrests1 + (equal? (moment vs1) (moment now-state)) + (or (not vs2) any-mmrests2)) + (set! (configuration now-state) 'silence1)) + + ;; as above with parts swapped + ((and any-mmrests2 + (equal? (moment vs2) (moment now-state)) + (or (not vs1) any-mmrests1)) + (set! (configuration now-state) 'silence2)) + ))) + + (if (or vs1 vs2) + (let ((notes1 (if vs1 (note-events vs1) '())) + (notes2 (if vs2 (note-events vs2) '()))) + ; Todo: What about a2 chords, e.g. string multi-stops? + ; Sort and compare notes1 and notes2? + (cond ((and (equal? (configuration now-state) 'chords) + (= 1 (length notes1)) (= 1 (length notes2)) (equal? (ly:event-property (car notes1) 'pitch) (ly:event-property (car notes2) 'pitch))) (set! (configuration now-state) 'unisono)) - ((and (= 0 (length notes1)) - (= 0 (length notes2))) - (set! (configuration now-state) 'unisilence))))) + + ((synced? now-state) + (if (and (= 0 (length notes1)) + (= 0 (length notes2))) + (analyse-synced-silence))) + + (else ;; not synchronized + (let* ((vss + (current-or-previous-voice-states now-state)) + (vs1 (car vss)) + (vs2 (cdr vss))) + (if (and + (or (not vs1) (= 0 (length (note-events vs1)))) + (or (not vs2) (= 0 (length (note-events vs2))))) + (analyse-unsynced-silence vs1 vs2)))) + ))) (analyse-a2 (1+ result-idx))))) (define (analyse-solo12 result-idx) @@ -508,7 +598,50 @@ the mark when there are no spanners active. ;; try-solo start-idx)) - (define (analyse-moment result-idx) + (define (analyse-apart-silence result-idx) + "Analyse 'apart-silence starting at RESULT-IDX. Return next index." + (let* ((now-state (vector-ref result result-idx)) + (vs1 (current-voice-state now-state 1)) + (vs2 (current-voice-state now-state 2)) + (rests1 (if vs1 (rest-and-skip-events vs1) '())) + (rests2 (if vs2 (rest-and-skip-events vs2) '())) + (prev-state (if (> result-idx 0) + (vector-ref result (- result-idx 1)) + #f)) + (prev-config (if prev-state + (configuration prev-state) + 'apart-silence))) + (cond + ;; rest with multi-measure rest: choose the rest + ((and (synced? now-state) + (= 1 (length rests1)) + (ly:in-event-class? (car rests1) 'rest-event) + (= 0 (length rests2))) ; probably mmrest + (put 'silence1)) + + ;; as above with parts swapped + ((and (synced? now-state) + (= 1 (length rests2)) + (ly:in-event-class? (car rests2) 'rest-event) + (= 0 (length rests1))) ; probably mmrest + (put 'silence2)) + + ((synced? now-state) + (put 'apart-silence)) + + ;; remain in the silence1/2 states until resync + ((equal? prev-config 'silence1) + (put 'silence1)) + + ((equal? prev-config 'silence2) + (put 'silence2)) + + (else + (put 'apart-silence))) + + (1+ result-idx))) + + (define (analyse-apart result-idx) "Analyse 'apart starting at RESULT-IDX. Return next index." (let* ((now-state (vector-ref result result-idx)) (vs1 (current-voice-state now-state 1)) @@ -523,8 +656,10 @@ the mark when there are no spanners active. (max ;; we should always increase. (cond ((and (= n1 0) (= n2 0)) - (put 'apart-silence) - (1+ result-idx)) + ;; If we hit this, it means that the previous passes + ;; have designated as 'apart what is really + ;; 'apart-silence. + (analyse-apart-silence result-idx)) ((and (= n2 0) (equal? (moment vs1) (moment now-state)) (null? (previous-span-state vs1))) @@ -539,9 +674,14 @@ the mark when there are no spanners active. (1+ result-idx)))) (if (< result-idx (vector-length result)) - (if (equal? (configuration (vector-ref result result-idx)) 'apart) - (analyse-solo12 (analyse-moment result-idx)) - (analyse-solo12 (1+ result-idx))))) ; analyse-solo12 + (let ((conf (configuration (vector-ref result result-idx)))) + (cond + ((equal? conf 'apart) + (analyse-solo12 (analyse-apart result-idx))) + ((equal? conf 'apart-silence) + (analyse-solo12 (analyse-apart-silence result-idx))) + (else + (analyse-solo12 (1+ result-idx))))))) ; analyse-solo12 (analyse-spanner-states voice-state-vec1) (analyse-spanner-states voice-state-vec2) diff --git a/scm/predefined-fretboards.scm b/scm/predefined-fretboards.scm index ed72e252b5..cad0c3b620 100644 --- a/scm/predefined-fretboards.scm +++ b/scm/predefined-fretboards.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2008--2014 Carl D. Sorensen +;;;; Copyright (C) 2008--2015 Carl D. Sorensen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/ps-to-png.scm b/scm/ps-to-png.scm index 1b3df3f1e6..e2a0d6cb20 100644 --- a/scm/ps-to-png.scm +++ b/scm/ps-to-png.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2005--2014 Jan Nieuwenhuizen +;;;; Copyright (C) 2005--2015 Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/safe-lily.scm b/scm/safe-lily.scm index 5e4c185010..f3e0b98280 100644 --- a/scm/safe-lily.scm +++ b/scm/safe-lily.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2004--2014 Han-Wen Nienhuys +;;;; Copyright (C) 2004--2015 Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/safe-utility-defs.scm b/scm/safe-utility-defs.scm index 41abcaf9fb..9591edb4f5 100644 --- a/scm/safe-utility-defs.scm +++ b/scm/safe-utility-defs.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 1998--2014 Jan Nieuwenhuizen +;;;; Copyright (C) 1998--2015 Jan Nieuwenhuizen ;;;; Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify diff --git a/scm/scheme-engravers.scm b/scm/scheme-engravers.scm index 0766cbc19c..ccb1fb5b0d 100644 --- a/scm/scheme-engravers.scm +++ b/scm/scheme-engravers.scm @@ -21,78 +21,65 @@ aid for counting repeated measures. There is no requirement that the affected measures be repeated, however. The user delimits the area to receive a count with @code{\\startMeasureCount} and -@code{\\stopMeasureCount}. - -Each element of a count is a spanner, and a count is thus a series of -spanners. Each spanner is bounded by the first @code{CommandColumn} of -successive measures, and boundaries are shared by adjoining spanners." +@code{\\stopMeasureCount}." (let ((count-spanner '()) ; a single element of the count (go? #f) ; is the count in progress? (stop? #f) ; do we end the count? (last-measure-seen 0) - (new-measure? #f) (elapsed 0)) (make-engraver - (listeners ((measure-counter-event engraver event) - (set! last-measure-seen (ly:context-property context 'currentBarNumber)) - (set! new-measure? #t) - (cond - ((and (= START (ly:event-property event 'span-direction)) - go?) - (begin - (set! stop? #t) - (ly:input-warning - (ly:event-property event 'origin) - "count not ended before another begun"))) - ((= START (ly:event-property event 'span-direction)) - (set! go? #t)) - ((= STOP (ly:event-property event 'span-direction)) - (begin - (set! stop? #t) - (set! go? #f)))))) + (listeners + ((measure-counter-event engraver event) + (cond + ((and (= START (ly:event-property event 'span-direction)) + go?) + (set! stop? #t) + (ly:input-warning + (ly:event-property event 'origin) + "count not ended before another begun")) + ((= START (ly:event-property event 'span-direction)) + (set! go? #t) + ;; initialize one less so first measure receives a count spanner + (set! last-measure-seen + (1- (ly:context-property context 'currentBarNumber)))) + ((= STOP (ly:event-property event 'span-direction)) + (set! stop? #t) + (set! go? #f))))) ((process-music trans) (let ((col (ly:context-property context 'currentCommandColumn)) (now (ly:context-property context 'measurePosition)) (current-bar (ly:context-property context 'currentBarNumber))) - ;; If the counter has been started, make sure we're in a new bar - ;; before finishing a count-spanner and starting a new one. - ;; Since we consider all CommandColumns encountered, we need this - ;; check so that a count-spanner is not created for each pair. - (if (and (ly:grob? count-spanner) - (> current-bar last-measure-seen)) - (set! new-measure? #t)) - (if new-measure? + ;; Each measure of a count receives a new spanner, which is bounded + ;; by the first "command column" of that measure and the following one. + ;; The possibility of initial grace notes (negative measure position) + ;; is considered. + (if (and (> current-bar last-measure-seen) + (moment<=? now ZERO-MOMENT)) (begin - ;; Check if we have the first column of the measure. - ;; The possibility of initial grace notes is considered. - (if (moment<=? now ZERO-MOMENT) + ;; Finish the previous count-spanner if there is one. + (if (ly:grob? count-spanner) + (begin + (ly:spanner-set-bound! count-spanner RIGHT col) + (ly:pointer-group-interface::add-grob count-spanner 'columns col) + (ly:engraver-announce-end-grob trans count-spanner col) + (set! count-spanner '()))) + ;; If count is over, reset variables. + (if stop? (begin - ;; If we have the first column, finish the previous - ;; counter-spanner (if there is one). - (if (ly:grob? count-spanner) - (begin - (ly:spanner-set-bound! count-spanner RIGHT col) - (ly:pointer-group-interface::add-grob count-spanner 'columns col) - (ly:engraver-announce-end-grob trans count-spanner col) - (set! count-spanner '()))) - ;; if count is over, reset variables - (if stop? - (begin - (set! elapsed 0) - (set! stop? #f))) - ;; if count is in progress, begin a counter object - (if go? - (let* ((c (ly:engraver-make-grob trans 'MeasureCounter col)) - (counter (ly:grob-property c 'count-from))) - (ly:spanner-set-bound! c LEFT col) - (ly:pointer-group-interface::add-grob c 'columns col) - (set! (ly:grob-property c 'count-from) (+ counter elapsed)) - (set! count-spanner c) - (set! elapsed (1+ elapsed)))) - (set! new-measure? #f))))) - (set! last-measure-seen current-bar))) + (set! elapsed 0) + (set! stop? #f))) + ;; If count is in progress, begin a count-spanner. + (if go? + (let* ((c (ly:engraver-make-grob trans 'MeasureCounter col)) + (counter (ly:grob-property c 'count-from))) + (ly:spanner-set-bound! c LEFT col) + (ly:pointer-group-interface::add-grob c 'columns col) + (set! (ly:grob-property c 'count-from) (+ counter elapsed)) + (set! count-spanner c) + (set! elapsed (1+ elapsed)))))) + (set! last-measure-seen current-bar))) ((finalize trans) (if go? diff --git a/scm/script.scm b/scm/script.scm index 6cfecbe89c..5d975fe0ec 100644 --- a/scm/script.scm +++ b/scm/script.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2000--2014 Han-Wen Nienhuys +;;;; Copyright (C) 2000--2015 Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by @@ -270,14 +270,17 @@ (script-stencil . (feta . ("dstaccatissimo" . "ustaccatissimo"))) (padding . 0.20) (skyline-horizontal-padding . 0.10) - (side-relative-direction . ,DOWN))) + (side-relative-direction . ,DOWN) + (toward-stem-shift . 1.0) + (toward-stem-shift-in-column . 0.0))) ("staccato" . ( (script-stencil . (feta . ("staccato" . "staccato"))) (side-relative-direction . ,DOWN) (quantize-position . #t) (avoid-slur . inside) - (toward-stem-shift . 0.5) + (toward-stem-shift . 1.0) + (toward-stem-shift-in-column . 0.0) (padding . 0.20) (skyline-horizontal-padding . 0.10) (script-priority . -100))) diff --git a/scm/skyline.scm b/scm/skyline.scm index d09b07e64b..96b5f67409 100644 --- a/scm/skyline.scm +++ b/scm/skyline.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2013--2014 Mike Solomon +;;;; Copyright (C) 2013--2015 Mike Solomon ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/standalone.scm b/scm/standalone.scm index c66988674d..f8fd352bc0 100644 --- a/scm/standalone.scm +++ b/scm/standalone.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 1998--2014 Jan Nieuwenhuizen +;;;; Copyright (C) 1998--2015 Jan Nieuwenhuizen ;;;; Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify diff --git a/scm/stencil.scm b/scm/stencil.scm index db5ff186c3..abd9795f7e 100644 --- a/scm/stencil.scm +++ b/scm/stencil.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2003--2014 Han-Wen Nienhuys +;;;; Copyright (C) 2003--2015 Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by @@ -800,7 +800,8 @@ with optional arrows of @code{max-size} on start and end controlled by ;; TODO: figure out how to annotate padding nicely ;; TODO: emphasize either padding or min-dist depending on which constraint was active -(define*-public (annotate-spacing-spec layout spacing-spec start-Y-offset next-staff-Y +(define*-public (annotate-spacing-spec layout name spacing-spec + start-Y-offset next-staff-Y #:key (base-color blue)) (let* ((get-spacing-var (lambda (sym) (assoc-get sym spacing-spec 0.0))) (space (get-spacing-var 'basic-distance)) @@ -809,21 +810,27 @@ with optional arrows of @code{max-size} on start and end controlled by (contrast-color (append (cdr base-color) (list (car base-color)))) (min-dist-blocks (<= (- start-Y-offset min-dist) next-staff-Y)) (min-dist-color (if min-dist-blocks contrast-color base-color)) - (basic-annotation (annotate-y-interval layout - "basic-dist" - (cons (- start-Y-offset space) start-Y-offset) - #t - #:color (map (lambda (x) (* x 0.25)) base-color))) - (min-annotation (annotate-y-interval layout - "min-dist" - (cons (- start-Y-offset min-dist) start-Y-offset) - #t - #:color min-dist-color)) - (extra-annotation (annotate-y-interval layout - "extra dist" - (cons next-staff-Y (- start-Y-offset min-dist)) - #t - #:color (map (lambda (x) (* x 0.5)) min-dist-color)))) + (name-string (if (string-null? name) + "" + (simple-format #f " (~a)" name))) + (basic-annotation + (annotate-y-interval layout + (simple-format #f "basic-dist~a" name-string) + (cons (- start-Y-offset space) start-Y-offset) + #t + #:color (map (lambda (x) (* x 0.25)) base-color))) + (min-annotation + (annotate-y-interval layout + (simple-format #f "min-dist~a" name-string) + (cons (- start-Y-offset min-dist) start-Y-offset) + #t + #:color min-dist-color)) + (extra-annotation + (annotate-y-interval layout + (simple-format #f "extra dist~a" name-string) + (cons next-staff-Y (- start-Y-offset min-dist)) + #t + #:color (map (lambda (x) (* x 0.5)) min-dist-color)))) (stack-stencils X RIGHT 0.0 (list diff --git a/scm/tablature.scm b/scm/tablature.scm index 615a6dcdf0..2864c5d4b0 100644 --- a/scm/tablature.scm +++ b/scm/tablature.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2009--2014 Marc Hohl +;;;; Copyright (C) 2009--2015 Marc Hohl ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/text.scm b/scm/text.scm index 2b993cc7b3..d41f7f1b6c 100644 --- a/scm/text.scm +++ b/scm/text.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2011--2014 Bertrand Bordage +;;;; Copyright (C) 2011--2015 Bertrand Bordage ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scm/time-signature-settings.scm b/scm/time-signature-settings.scm index 902a687067..2649092593 100644 --- a/scm/time-signature-settings.scm +++ b/scm/time-signature-settings.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2009--2014 Carl Sorensen +;;;; Copyright (C) 2009--2015 Carl Sorensen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by @@ -296,6 +296,7 @@ a fresh copy of the list-head is made." ;;;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ;;; Formatting of complex/compound time signatures +; There ought to be a \join-line sep {...} command (define (insert-markups l m) (let ((ll (reverse l))) (let join-markups ((markups (list (car ll))) @@ -311,25 +312,87 @@ a fresh copy of the list-head is made." (den (car revargs)) (nums (reverse (cdr revargs)))) (make-override-markup '(baseline-skip . 0) - (make-number-markup (make-left-column-markup (list (make-center-column-markup (list (make-line-markup (insert-markups nums "+")) - den)))))))) + den))))))) -(define (format-complex-compound-time time-sig) - (make-override-markup '(baseline-skip . 0) - (make-number-markup - (make-line-markup - (insert-markups (map format-time-fraction time-sig) - (make-vcenter-markup "+")))))) +(define (format-time-numerator time-sig) + (make-vcenter-markup (number->string (car time-sig)))) -(define-public (format-compound-time time-sig) - (cond - ((not (pair? time-sig)) (null-markup)) - ((pair? (car time-sig)) (format-complex-compound-time time-sig)) - (else (format-time-fraction time-sig)))) +(define (format-time-element time-sig) + (cond ((number-pair? time-sig) + (format-time-fraction (list (car time-sig) (cdr time-sig)))) + ((pair? (cdr time-sig)) + (format-time-fraction time-sig)) + (else + (format-time-numerator time-sig)))) +(define (format-time-list time-sig) + (make-override-markup '(baseline-skip . 0) + (make-line-markup + (insert-markups (map format-time-element time-sig) + (make-vcenter-markup "+"))))) + +(define (format-compound-time time-sig) + (make-number-markup + (cond + ((number? time-sig) (format-time-element (list time-sig))) + ((number-pair? time-sig) + (format-time-element (list (car time-sig) (cdr time-sig)))) + ((pair? (car time-sig)) (format-time-list time-sig)) + (else (format-time-element time-sig))))) + +(define-markup-command (compound-meter layout props time-sig) + (number-or-pair?) + #:category music + "Draw a numeric time signature. + +@lilypond[verbatim,quote] +\\markup { + \\column { + \\line { Single number: \\compound-meter #3 } + \\line { Conventional: \\compound-meter #'(4 . 4) + or \\compound-meter #'(4 4) } + \\line { Compound: \\compound-meter #'(2 3 8) } + \\line { Single-number compound: \\compound-meter #'((2) (3)) } + \\line { Complex compound: \\compound-meter #'((2 3 8) (3 4)) } + } +} +@end lilypond +" + (interpret-markup layout props (format-compound-time time-sig))) + +(add-simple-time-signature-style 'numbered make-compound-meter-markup) + +(add-simple-time-signature-style 'single-digit + (lambda (fraction) (make-compound-meter-markup (car fraction)))) + +;;;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +;;; Formatting of symbolic time signatures + +(define-public (make-glyph-time-signature-markup style fraction) + "Make markup for a symbolic time signature. If the music font does not have a glyph for the requested style and fraction, issue a warning and make a numbered time signature instead." + (make-first-visible-markup + (list (make-musicglyph-markup (string-append + "timesig." + (symbol->string style) + (number->string (car fraction)) + (number->string (cdr fraction)))) + (make-compound-meter-markup fraction)))) + +(define-public (make-c-time-signature-markup fraction) + "Make markup for the `C' time signature style." + (let ((n (car fraction)) + (d (cdr fraction))) + ; check specific fractions to avoid warnings when no glyph exists + (if (or (and (= n 2) (= d 2)) + (and (= n 4) (= d 4))) + (make-glyph-time-signature-markup 'C fraction) + (make-compound-meter-markup fraction)))) + +(add-simple-time-signature-style 'C make-c-time-signature-markup) +(add-simple-time-signature-style 'default make-c-time-signature-markup) ;;;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ;;; Measure length calculation of (possibly complex) compound time signatures diff --git a/scm/time-signature.scm b/scm/time-signature.scm new file mode 100644 index 0000000000..22bd85df39 --- /dev/null +++ b/scm/time-signature.scm @@ -0,0 +1,35 @@ +;;;; This file is part of LilyPond, the GNU music typesetter. +;;;; +;;;; Copyright (C) 2014--2015 Daniel Eble +;;;; +;;;; LilyPond is free software: you can redistribute it and/or modify +;;;; it under the terms of the GNU General Public License as published by +;;;; the Free Software Foundation, either version 3 of the License, or +;;;; (at your option) any later version. +;;;; +;;;; LilyPond is distributed in the hope that it will be useful, +;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;;; GNU General Public License for more details. +;;;; +;;;; You should have received a copy of the GNU General Public License +;;;; along with LilyPond. If not, see . + +(define-public (ly:time-signature::print grob) + "Print routine for time signatures." + (let* ((fraction (ly:grob-property grob 'fraction '(4 . 4))) + (style (ly:grob-property grob 'style 'default)) + (proc (assoc-get style time-signature-style-markup-procedures)) + (markup (if (procedure? proc) + (proc fraction) + (make-glyph-time-signature-markup style fraction)))) + (grob-interpret-markup grob markup))) + +(define-public (add-simple-time-signature-style style proc) + "Specify the procedure @{proc} returning markup for a time signature +style @var{style}. The procedure is called with one argument, the +pair @code{(@var{numerator} . @var{denominator})}." + (set! time-signature-style-markup-procedures + (acons style proc time-signature-style-markup-procedures))) + +(define-session time-signature-style-markup-procedures `()) diff --git a/scm/titling.scm b/scm/titling.scm index 41a32dd467..4bb464ae68 100644 --- a/scm/titling.scm +++ b/scm/titling.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2004--2014 Jan Nieuwenhuizen +;;;; Copyright (C) 2004--2015 Jan Nieuwenhuizen ;;;; Han-Wen Nienhuys ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify @@ -48,6 +48,7 @@ variables set in @var{scopes} and @code{page:is-bookpart-last-page}, (cdr entry))) alist)) alists)) + (number-type (get 'page-number-type)) (pgnum-alist (list (cons 'header:tagline @@ -56,7 +57,7 @@ variables set in @var{scopes} and @code{page:is-bookpart-last-page}, (cons 'page:is-last-bookpart is-last-bookpart) (cons 'page:is-bookpart-last-page is-bookpart-last-page) (cons 'page:page-number-string - (number->string page-number)) + (number-format number-type page-number)) (cons 'page:page-number page-number))) (props (append (list pgnum-alist) diff --git a/scm/to-xml.scm b/scm/to-xml.scm index 0e21d7eacf..112c530565 100644 --- a/scm/to-xml.scm +++ b/scm/to-xml.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2003--2014 Han-Wen Nienhuys +;;;; Copyright (C) 2003--2015 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify diff --git a/scm/translation-functions.scm b/scm/translation-functions.scm index dc8eef609b..219275fafa 100644 --- a/scm/translation-functions.scm +++ b/scm/translation-functions.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; (c) 1998--2014 Han-Wen Nienhuys +;;;; (c) 1998--2015 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify diff --git a/scm/x11-color.scm b/scm/x11-color.scm index 5e7221c663..b9cb8abfb8 100644 --- a/scm/x11-color.scm +++ b/scm/x11-color.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2005--2014 Bernard Hurley +;;;; Copyright (C) 2005--2015 Bernard Hurley ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by diff --git a/scripts/auxiliar/fixcc.py b/scripts/auxiliar/fixcc.py index bc7c7e3f0c..0ecbf8cd6a 100755 --- a/scripts/auxiliar/fixcc.py +++ b/scripts/auxiliar/fixcc.py @@ -450,7 +450,7 @@ typedef struct _t_ligature typedef std::map < AFM_Ligature const *, int > Bar; /** - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys */ /* || diff --git a/scripts/auxiliar/lily-git.tcl b/scripts/auxiliar/lily-git.tcl index 5e8dc3a0c9..8a90c48ba6 100755 --- a/scripts/auxiliar/lily-git.tcl +++ b/scripts/auxiliar/lily-git.tcl @@ -1,7 +1,7 @@ #!/usr/bin/wish # GUI interface for common LilyPond git repository commands -# Copyright 2009--2014 by Johannes Schindelin and Carl Sorensen +# Copyright 2009--2015 by Johannes Schindelin and Carl Sorensen # package require Tk diff --git a/scripts/build/create-weblinks-itexi.py b/scripts/build/create-weblinks-itexi.py index 1aca956ad4..e529ca7327 100644 --- a/scripts/build/create-weblinks-itexi.py +++ b/scripts/build/create-weblinks-itexi.py @@ -28,7 +28,7 @@ depth = "../" # Get/update node translations ''' -for i in cs de es fr hu it ja nl zh; do +for i in ca cs de es fr hu it ja nl zh; do echo "'"$i"': {" (echo '--' ; grep -nH -B1 translationof Documentation/$i/web/* ) \ | pytt '^--\n.*@(?:unnum|sub)[^ ]* (.*)\n.*@translationof (.*)\n' "'\2': '\1',\n" \ diff --git a/scripts/build/grand-replace.py b/scripts/build/grand-replace.py index 222551f06f..bb038fbf1d 100644 --- a/scripts/build/grand-replace.py +++ b/scripts/build/grand-replace.py @@ -2,7 +2,7 @@ # This file is part of LilyPond, the GNU music typesetter. # -# Copyright (C) 2009--2014 Jan Nieuwenhuizen +# Copyright (C) 2009--2015 Jan Nieuwenhuizen # # LilyPond is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -42,11 +42,14 @@ copied_files = [ 'mf2pt1.mp', 'mf2pt1.pl', 'texinfo.tex', + 'txi-ca.tex', 'txi-de.tex', 'txi-en.tex', - 'txi-fr.tex', 'txi-es.tex', + 'txi-fr.tex', + 'txi-hu.tex', 'txi-it.tex', + 'txi-nl.tex', ] def main (): diff --git a/scripts/build/mf-to-table.py b/scripts/build/mf-to-table.py index 6d86b6be7e..03284dc8b1 100644 --- a/scripts/build/mf-to-table.py +++ b/scripts/build/mf-to-table.py @@ -4,7 +4,7 @@ # This file is part of LilyPond, the GNU music typesetter. # -# Copyright (C) 1997--2014 Han-Wen Nienhuys +# Copyright (C) 1997--2015 Han-Wen Nienhuys # # LilyPond is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/scripts/build/pytt.py b/scripts/build/pytt.py index 11d5163583..cabccf0aa2 100755 --- a/scripts/build/pytt.py +++ b/scripts/build/pytt.py @@ -1,7 +1,7 @@ #! /usr/bin/python ''' - Copyright (C) 2008--2014 Jan Nieuwenhuizen + Copyright (C) 2008--2015 Jan Nieuwenhuizen This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as diff --git a/scripts/convert-ly.py b/scripts/convert-ly.py index 21c0b1bcaf..08a2a1032c 100644 --- a/scripts/convert-ly.py +++ b/scripts/convert-ly.py @@ -5,7 +5,7 @@ # This file is part of LilyPond, the GNU music typesetter. # -# Copyright (C) 1998--2014 Han-Wen Nienhuys +# Copyright (C) 1998--2015 Han-Wen Nienhuys # Jan Nieuwenhuizen # # LilyPond is free software: you can redistribute it and/or modify @@ -76,7 +76,7 @@ def warranty (): %s %s -''' % ( _ ('Copyright (c) %s by') % '2001--2014', +''' % ( _ ('Copyright (c) %s by') % '2001--2015', ' '.join (authors), _ ('Distributed under terms of the GNU General Public License.'), _ ('It comes with NO WARRANTY.'))) diff --git a/scripts/etf2ly.py b/scripts/etf2ly.py index 171f5b226c..24dc562871 100644 --- a/scripts/etf2ly.py +++ b/scripts/etf2ly.py @@ -1131,12 +1131,12 @@ class Etf_file: while c and c.number <> endno: - d = c # hack to avoid problem with build/scripts/grand-replace.py + d = c # hack to avoid problem with scripts/build/grand-replace.py thread.append (d) c = c.next if c: - d = c # hack to avoid problem with build/scripts/grand-replace.py + d = c # hack to avoid problem with scripts/build/grand-replace.py thread.append (d) return thread @@ -1188,7 +1188,7 @@ def warranty (): %s %s -''' % ( _ ('Copyright (c) %s by') % '2001--2014', +''' % ( _ ('Copyright (c) %s by') % '2001--2015', '\n '.join (authors), _ ('Distributed under terms of the GNU General Public License.'), _ ('It comes with NO WARRANTY.'))) diff --git a/scripts/lilymidi.py b/scripts/lilymidi.py index 7198b48753..34308f0702 100644 --- a/scripts/lilymidi.py +++ b/scripts/lilymidi.py @@ -1,6 +1,6 @@ #!@TARGET_PYTHON@ -# Copyright (C) 2006--2014 Brailcom, o.p.s. +# Copyright (C) 2006--2015 Brailcom, o.p.s. # # Author: Milan Zamazal # diff --git a/scripts/lilypond-book.py b/scripts/lilypond-book.py index f38fb4f7e3..73b1cd9464 100644 --- a/scripts/lilypond-book.py +++ b/scripts/lilypond-book.py @@ -112,7 +112,7 @@ def warranty (): %s %s -''' % ( _ ('Copyright (c) %s by') % '2001--2014', +''' % ( _ ('Copyright (c) %s by') % '2001--2015', '\n '.join (authors), _ ("Distributed under terms of the GNU General Public License."), _ ("It comes with NO WARRANTY."))) diff --git a/scripts/lilypond-invoke-editor.scm b/scripts/lilypond-invoke-editor.scm index ff3efbdf26..313d6cc8dc 100644 --- a/scripts/lilypond-invoke-editor.scm +++ b/scripts/lilypond-invoke-editor.scm @@ -2,7 +2,7 @@ !# ;;;; lilypond-invoke-editor.scm -- Invoke an editor in file:line:column mode -;;;; Copyright (C) 2005--2014 Jan Nieuwenhuizen +;;;; Copyright (C) 2005--2015 Jan Nieuwenhuizen ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; diff --git a/scripts/lilysong.py b/scripts/lilysong.py index 047937b9c5..f31fbbae25 100644 --- a/scripts/lilysong.py +++ b/scripts/lilysong.py @@ -1,6 +1,6 @@ #!@TARGET_PYTHON@ -# Copyright (c) 2006--2014 Brailcom, o.p.s. +# Copyright (c) 2006--2015 Brailcom, o.p.s. # # Author: Milan Zamazal # diff --git a/scripts/midi2ly.py b/scripts/midi2ly.py index 79351bbfa2..f4a47fb79a 100644 --- a/scripts/midi2ly.py +++ b/scripts/midi2ly.py @@ -4,7 +4,7 @@ # This file is part of LilyPond, the GNU music typesetter. # -# Copyright (C) 1998--2014 Han-Wen Nienhuys +# Copyright (C) 1998--2015 Han-Wen Nienhuys # Jan Nieuwenhuizen # # LilyPond is free software: you can redistribute it and/or modify @@ -78,7 +78,7 @@ def warranty (): %s %s -''' % ( _ ('Copyright (c) %s by') % '1998--2014', +''' % ( _ ('Copyright (c) %s by') % '1998--2015', '\n '.join (authors), _ ('Distributed under terms of the GNU General Public License.'), _ ('It comes with NO WARRANTY.'))) diff --git a/scripts/musicxml2ly.py b/scripts/musicxml2ly.py index e270aed95e..dda374d84e 100644 --- a/scripts/musicxml2ly.py +++ b/scripts/musicxml2ly.py @@ -2573,7 +2573,7 @@ If the given filename is -, musicxml2ly reads from the command line. p.version = ('''%prog (LilyPond) @TOPLEVEL_VERSION@\n\n''' + -_ ("""Copyright (c) 2005--2014 by +_ ("""Copyright (c) 2005--2015 by Han-Wen Nienhuys , Jan Nieuwenhuizen and Reinhold Kainhofer diff --git a/stepmake/stepmake/po-targets.make b/stepmake/stepmake/po-targets.make index 0fcedbeafd..ef8b1c5cae 100644 --- a/stepmake/stepmake/po-targets.make +++ b/stepmake/stepmake/po-targets.make @@ -9,7 +9,7 @@ XGETTEXT_OPTIONS = \ --package-name=$(package) \ --package-version=$(VERSION) -sed-header = \# Translation of LilyPond\n\# Copyright \(C\) 1998--2014 Han-Wen Nienhuys, Jan Nieuwenhuizen.\n\# This file is distributed under the same license as the LilyPond package. +sed-header = \# Translation of LilyPond\n\# Copyright \(C\) 1998--2015 Han-Wen Nienhuys, Jan Nieuwenhuizen.\n\# This file is distributed under the same license as the LilyPond package. sed-content = "Content-Type: text\/plain; charset=UTF-8\\n" #### diff --git a/tex/txi-ca.tex b/tex/txi-ca.tex new file mode 100644 index 0000000000..1f84662083 --- /dev/null +++ b/tex/txi-ca.tex @@ -0,0 +1,62 @@ +% txi-ca.tex -- Catalan translations for texinfo.tex. +% +% Copyright (C) 2015 Walter Garcia-Fontes +% +% This txi-ca.tex file is free software; you can redistribute it and/or +% modify it under the terms of the GNU General Public License as +% published by the Free Software Foundation; either version 3 of the +% License, or (at your option) any later version. +% +% This txi-ca.tex file is distributed in the hope that it will be +% useful, but WITHOUT ANY WARRANTY; without even the implied warranty +% of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +% General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program. If not, see . +% +% Set up fixed words for Spanish. + +\txisetlanguage{catalan}{2}{2} + +\plainfrenchspacing + +\gdef\putwordAppendix{Annex} +\gdef\putwordChapter{Cap\'{\char16{}}tol} +\gdef\putwordfile{fitxer} +\gdef\putwordIndexIsEmpty{(L'\'Index \'es buit)} +\gdef\putwordIndexNonexistent{(No existeix l'\'Index)} +\gdef\putwordInfo{Info} +\gdef\putwordMethodon{M\`etode de} +\gdef\putwordNoTitle{Sense T\'{\char{16}}tol} +\gdef\putwordof{de} +\gdef\putwordon{de} +\gdef\putwordpage{p\`agina} +\gdef\putwordsection{secci\'o} +\gdef\putwordSection{Secci\'o} +\gdef\putwordsee{vegeu} +\gdef\putwordSee{Vegeu} +\gdef\putwordShortTOC{Resum del Contingut} +\gdef\putwordTOC{\'Index General} +% +\gdef\putwordMJan{gener} +\gdef\putwordMFeb{febrer} +\gdef\putwordMMar{març} +\gdef\putwordMApr{abril} +\gdef\putwordMMay{maig} +\gdef\putwordMJun{juny} +\gdef\putwordMJul{juliol} +\gdef\putwordMAug{agost} +\gdef\putwordMSep{setembre} +\gdef\putwordMOct{octubre} +\gdef\putwordMNov{novembre} +\gdef\putwordMDec{desembre} +% +\gdef\putwordDefmac{Macro} +\gdef\putwordDefspec{Forma Especial} +\gdef\putwordDefivar{Variable d'Inst\`ancia} +\gdef\putwordDefvar{Variable} +\gdef\putwordDefopt{Opci\'o d'Usuari} +\gdef\putwordDeffunc{Funci\'o} + +\endinput