From: Jean-Charles Malahieude Date: Sun, 17 Feb 2013 17:00:43 +0000 (+0100) Subject: Merge branch 'master' of /home/jcharles/GIT/Lily/. into translation X-Git-Tag: release/2.17.13-1~10 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=23108a9515e7f76b44fac0b323afb169d708bfa1;hp=4c2d3b24c5ebd43479551c7a7c5016b4613dfadb;p=lilypond.git Merge branch 'master' of /home/jcharles/GIT/Lily/. into translation --- diff --git a/Documentation/changes.tely b/Documentation/changes.tely index 19c93c2a59..d3eb33d83b 100644 --- a/Documentation/changes.tely +++ b/Documentation/changes.tely @@ -61,6 +61,19 @@ which scares away people. @end ignore +@item +Tuplets are now created with the @code{\tuplet} command, which +takes a fraction @code{@var{t}/@var{n}} to specify that @var{t} +notes are played in the time usually allowed for @var{n}. One +@code{\tuplet} command can create several tuplet groups if their +duration is typed after the fraction. +@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 +The @code{\times} command with its inverted fraction order +@code{@var{n}/@var{t}} is still available. + @item Introducing two new markup-commands; @code{\draw-dashed-line} and @code{\draw-dotted-line}. diff --git a/Documentation/contributor/administration.itexi b/Documentation/contributor/administration.itexi index 6695375807..8be1d903fa 100644 --- a/Documentation/contributor/administration.itexi +++ b/Documentation/contributor/administration.itexi @@ -1267,8 +1267,7 @@ convert-ly updates. @item other than that, everything is on the table. Is it a problem to have the tagline inside \header? What should the default behavior -of \include be? When we abolish \times, do we move to \tuplet 3:2 -or \tuplet 2/3 or what (for typical triplets in 4/4 time)? +of \include be? @item we need to get standards for command names. This will help users diff --git a/Documentation/contributor/build-notes.itexi b/Documentation/contributor/build-notes.itexi index e00cfc7e7e..b8dff79c1f 100644 --- a/Documentation/contributor/build-notes.itexi +++ b/Documentation/contributor/build-notes.itexi @@ -15,7 +15,6 @@ chapter.} * Doc build:: * Website build:: * Building an Ubuntu distro:: -* Building GUB:: @end menu @@ -1511,68 +1510,3 @@ Test iso by installing in VM and repeating steps above for getting source files and building lp and docs. @end enumerate - -@node Building GUB -@section Building GUB - -GUB - the Grand Unified Builder - is used to build the release -versions of LilyPond. For background information, see -@ref{Grand Unified Builder (GUB)}. The simplest way to set up a -GUB build environment is to use a virtual machine with LilyDev -(@ref{LilyDev}). Follow the instructions on that page to set this -up. Make sure that your virtual machine has enough disk space - -a GUB installation takes over 30 GBytes of disk space, and if you -allocate too little, it will fail during the setting up stage and -you will have to start again. 64 GBytes should be sufficient. - -While GUB is being built, any interruptions are likely to make it -almost impossible to restart. If at all possible, leave the build -to continue uniterrupted. - -Download GUB and start the set up: - -@example -git clone git://github.com/gperciva/gub/gub.git -cd gub -make bootstrap -@end example - -This downloads and installs a number of packages. You may find -some fail during download and you will need to download them -manually. For example, the perl archive. If this happens, -download it from -@uref{http://www.cpan.org/src/5.0/perl-5.10.0.tar.gz}, saving the -archive to @file{gub/downloads/perl/}. Continue the set up with: - -@example -make bootstrap -@end example - -Once this has completed successfully, you can build the LilyPond -release package. However, this uses an archived version of the -regression tests, so it is better to download this first. -Download the test output from lilypond.org: - -@smallexample -@uref{http://lilypond.org/download/binaries/test-output/lilypond-2.15.33-1.test-output.tar.bz2} -@end smallexample - -Copy the tarball into @file{gub/regtests/}, and tell the build -system that you have done this: - -@example -touch regtests/ignore -@end example - -Now start the GUB build: - -@example -make lilypond -@end example - -That's it. This will build LilyPond from current master. To build -the current unstable release, run: - -@example -make LILYPOND_BRANCH=release/unstable lilypond -@end example diff --git a/Documentation/contributor/issues.itexi b/Documentation/contributor/issues.itexi index 7b7df14305..c9d19f5079 100644 --- a/Documentation/contributor/issues.itexi +++ b/Documentation/contributor/issues.itexi @@ -830,10 +830,117 @@ separate person handling this task.} For contributors/developers: follow the steps in @ref{Commits and patches}, and @ref{Pushing to staging}. +@ignore For people doing maintenance tasks: git-cl is adding issues, James is testing them, Colin is selecting them for countdowns, and Patchy is merging from staging to master. In the coming weeks, these tasks will be more and more automated. +@end ignore + +@subheading Patch cycle + +@itemize + +@item +Patches get added to the tracker and to Rietveld by the @qq{git-cl} tool, with +a status of @qq{patch-new}. + +@item +The automated tester, Patchy, verifies that the patch can be applied +to current master. By default, it checks that the patch allows @code{make} +and @code{make test} to complete successfully. It can also be configured to +check that @code{make doc} is successful. If it passes, Patchy changes the +status to @qq{patch-review} and emails the developer list. If the patch +fails, Patchy sets it to @qq{patch-needs_work} and notifies the developer list. + +@item +The Patch Handler reviews the tracker periodically, to list patches +which have been on review for at least 24 hours. The list is found at + +@smallexample +@uref{http://code.google.com/p/lilypond/issues/list?can=2&q=label:patch%20patch=review&sort=modified+patch&colspec=ID%20Type%20Status%20Priority%20Owner%20Patch%20Summary%20Modified} +@end smallexample + +@item +For each patch, the Handler reviews any discussion on the tracker +and on Rietveld, to determine whether the patch can go forward. If +there is any indication that a developer thinks the patch is not +ready, the Handler marks it @qq{patch-needs_work} and makes a comment +regarding the reason, referring to the Rietveld item if needed. + +@item +Patches with explicit approval, or at least no negative comment, can +be updated to @qq{patch-countdown}. When saving the tracker item, +clear the @qq{send email} box to prevent sending notification for +each patch. + +@item +The Patch Handler sends an email to the developer list, with a fixed +subject line, to enable filtering by email clients: + +@example +PATCH: Countdown to 20130113 +@end example + +The text of the email sets the deadline for this countdown batch. At +present, batches are done on Tuesday, Thursday and Sunday evenings. + +The body of the email lists the patches grouped by patch type, and for +each patch, shows the tracker issue number and title, with a link to +the Rietveld item. Copying the information from the website and pasting +into the email gives a hyperlinked version of the information. + +@smallexample + +For 20:00 MST Tuesday January 8: + +Crash: + Issue 2990: \RemoveEmptyStaves in StaffGroup context crashes - R 7069044 + +Defect: + Issue 677: \score markup confuses paper settings - R 7028045 + Issue 3050: displayLilyMusic produced erroneous code for rightHandFinger arguments - R 7032045 + +Documentation: + Issue 2952: Upgrade documentation of \once - R 7031053 + Issue 3044: Dual license the files under mf/ using OFL. - R 6970046 + Issue 3084: [DOC]Add "Known issue" in NR 1.2.1 about Scaling durations with rational numbers - R 7071044 + +Enhancement: + Issue 3061: make \articulate handle colon-type tremolos - R 7033045 + Issue 3082: Patch: Let ChordNameVoice use the same performers as Voice - R 7054043 + Issue 3083: Patch: Chord change detection in fretboards should depend on placements, not notes - R 7062043 + Issue 2983: assertion failed with \glissando - R 6625078 + + +Cheers, +Colin + +@end smallexample + +@item +On the scheduled countdown day, the Patch Handler reviews the +previous list of patches on countdown, with the same procedure and +criteria as before. Patches with no controversy can be set to +@qq{patch-push} with a courtesy message added to the comment block. + +@item +Roughly at six month intervals, the Patch Handler can list the +patches which have been set to @qq{patch-needs-work} and send the +results to the developer list for review. In most cases, these +patches should be marked @qq{patch-abandoned} but this should come +from the developer if possible. + +@item +As in most organisations of unpaid volunteers, fixed procedures are +useful in as much as they get the job done. In our community, there +is room for senior developers to bypass normal patch handling flows, +particularly now that the testing of patches is largely automated. +Similarly, the minimum age of 24 hours can reasonably be waived if +the patch is minor and from an experienced developer. + + +@end itemize @ignore There is a single Patch Meister, and a number of Patch Helpers diff --git a/Documentation/contributor/release-work.itexi b/Documentation/contributor/release-work.itexi index 26a8223584..9120e6529f 100644 --- a/Documentation/contributor/release-work.itexi +++ b/Documentation/contributor/release-work.itexi @@ -7,6 +7,7 @@ * Minor release checklist:: * Major release checklist:: * Release extra notes:: +* Notes on builds with GUB:: @end menu @@ -74,18 +75,28 @@ A @qq{minor release} means an update of @code{y} in @code{2.x.y}. @enumerate @item -Switch to the release branch, get changes, prep release -announcement. This requires a clean index and work tree. If the -checkout displays modified files, you might want to run @code{git reset ---hard} before continuing. +Using any system with git pull access (not necessarily the GUB +build machine), use the commands below to switch to the release +branch, get changes and prepare the release +announcement. This requires a system which has the release/unstable +branch. If you get a warning saying you are in @code{detached HEAD} +state, then you should create a release/unstable branch with +@code{git checkout release/unstable}. + +Check the environment variables are set as in +@ref{Environment variables}. + +You need to ensure you have a clean index and work tree. If the +checkout displays modified files, you might want to run +@code{git reset --hard} before continuing. @example git fetch -git checkout origin/release/unstable -git merge origin +git checkout release/unstable +git merge origin/master make -C $LILYPOND_BUILD_DIR po-replace mv $LILYPOND_BUILD_DIR/po/lilypond.pot po/ -vi Documentation/web/news-front.itexi Documentation/web/news.itexi +gedit Documentation/web/news-front.itexi Documentation/web/news.itexi @end example @item @@ -537,5 +548,159 @@ delete stuff you didn't want to upload from the server. @end enumerate +@node Notes on builds with GUB +@section Notes on builds with GUB + +@subsubheading Building GUB + +GUB - the Grand Unified Builder - is used to build the release +versions of LilyPond. For background information, see +@ref{Grand Unified Builder (GUB)}. The simplest way to set up a +GUB build environment is to use a virtual machine with LilyDev +(@ref{LilyDev}). Follow the instructions on that page to set this +up. Make sure that your virtual machine has enough disk space - +a GUB installation takes over 30 GBytes of disk space, and if you +allocate too little, it will fail during the setting up stage and +you will have to start again. 64 GBytes should be sufficient. + +While GUB is being built, any interruptions are likely to make it +almost impossible to restart. If at all possible, leave the build +to continue uninterrupted. + +Download GUB and start the set up: + +@example +git clone git://github.com/gperciva/gub/gub.git +cd gub +make bootstrap +@end example + +This will take a very long time, even on a very fast computer. +You will need to be patient. It's also liable to fail - it +downloads a number of tools, and some will have moved and others +won't respond to the network. For example, the perl archive. +If this happens, download it from +@uref{http://www.cpan.org/src/5.0/perl-5.10.0.tar.gz}, saving the +archive to @file{gub/downloads/perl/}. Continue the set up with: + +@example +make bootstrap +@end example + +Once this has completed successfully, you can build the LilyPond +release package. However, this uses an archived version of the +regression tests, so it is better to download this first. +Download the test output from lilypond.org (you will need to +replace @code{2.15.33-1} with the latest build): + +@smallexample +@uref{http://lilypond.org/download/binaries/test-output/lilypond-2.15.33-1.test-output.tar.bz2} +@end smallexample + +Copy the tarball into @file{gub/regtests/}, and tell the build +system that you have done this: + +@example +touch regtests/ignore +@end example + +Now start the GUB build: +@example +make lilypond +@end example + +That's it. This will build LilyPond from current master. To build +the current unstable release, run: + +@example +make LILYPOND_BRANCH=release/unstable lilypond +@end example + +The first time you do this, it will take a very long time. + +Assuming the build has gone well, it can be uploaded using: + +@example +make lilypond-upload + LILYPOND_BRANCH=release/unstable + LILYPOND_REPO_URL=git://git.sv.gnu.org/lilypond.git +@end example + +@subsubheading Output files + +GUB builds the files it needs into the directory +@code{gub/target/}. As a general rule, these don't need to be +touched unless there is a problem building GUB (see below). +The files to be uploaded are in @code{gub/uploads/}. Once the +build has completed successfully, there should be 8 +installation files and 3 archives, totalling about 600MB. +There are also 4 directories: + +@example +gub/signatures +gub/localdoc +gub/webdoc +gub/webtest +@end example + +@code{signatures} contains files that are used to track whether +some of the archives have already been built. Don't touch +these. + +@code{localdoc} probably contains local copies of the +documentation. + +@code{webdoc} contains the documentation to be uploaded. + +@code{webtest} contains the regtest comparison, which should +be checked before upload, and is also uploaded for subsequent +checking. + +The total upload is about 700 MB in total, and on an ADSL +connection will take about 4 hours to upload. + +@subsubheading Subsequent builds + +In principle, building the next release of LilyPond requires +no action other then following the instructions in +@ref{Minor release checklist}. Because much of the +infrastructure has already been built, it will take much less +time - about an hour on a fast computer. + +Continuing to build LilyPond without any other +archiving/deletion of previous builds is likely to be successful, +but will take up a fair amount of disk space (around 2GB per +build) which may be a problem with a Virtual Machine. It's +therefore recommended to move (not copy) @code{gub/uploads} to +another machine/disk after each build, if space is at a premium. + +However, if a significant change has been made to the LilyPond +source (e.g. added source files) the build may fail if tried on +top of a previous build. If this happens, be sure to +move/delete @code{gub/uploads} and all mentions of LilyPond +in @code{gub/target}. The latter can be achieved with this +command: + +@example +rm -rf target/*/*/*lilypond* +@end example +Be @emph{very} careful with this command. Typing it wrongly +could wipe your disk completely. + +@subsubheading Updating the web site + +The @code{make lilypond-upload} command updates the documentation +on the LilyPond web site. However, it does @emph{not} update +any part of the site that is not part of the documentation - for +example, the front page (@code{index.html}). The website is +updated by 2 cron jobs running on the web server. One of these +pulls git master to the web server, and the other makes the +website with the standard @code{make website} command. They run +hourly, 30 minutes apart. So - to update the front page of the +website, it's necessary to update @code{VERSION} and +@code{news-front.itexi} in master and then wait for the cron +jobs to run. (N.B. - this is done by pushing the changes to +staging and letting patchy do its checks before it pushes to +master). diff --git a/Documentation/contributor/source-code.itexi b/Documentation/contributor/source-code.itexi index 72b05175d8..861e4db6a3 100644 --- a/Documentation/contributor/source-code.itexi +++ b/Documentation/contributor/source-code.itexi @@ -1291,20 +1291,28 @@ use any email address for your google account when you sign up. @item Move into the top source directory and then configure @command{git -cl} with the following commands. If you do not understand any -question, just answer with a newline (CR). +cl} with the following commands: @example cd $LILYPOND_GIT git cl config @end example +For the @qq{Rietveld server} question, the default value +(@qq{codereview.appspot.com}) should be accepted by +answering with a newline (CR). + The @qq{CC list} question should be answered with: @example lilypond-devel@@gnu.org @end example +The @qq{Tree status URL} value should be left blank. So should +the @qq{ViewVC URL} value, since it is used by @command{git cl +dcommit} which is only for repositories which use @command{git +svn} (LilyPond doesn't). + @end enumerate @subsubheading Uploading patch set diff --git a/Documentation/cs/learning/common-notation.itely b/Documentation/cs/learning/common-notation.itely index e60566d22b..aefd911aa1 100644 --- a/Documentation/cs/learning/common-notation.itely +++ b/Documentation/cs/learning/common-notation.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes. @end ignore -@c \version "2.16.0" +@c \version "2.17.11" @ignore Tutorial guidelines: @@ -525,10 +525,10 @@ V jedné triole trvají noty 2/3 jejich zapsané délky, takže triola má 2/3 jako svůj zlomek: @lilypond[verbatim,quote,relative=2] -\times 2/3 { f8 g a } -\times 2/3 { c8 r c } -\times 2/3 { f,8 g16[ a g a] } -\times 2/3 { d4 a8 } +\tuplet 3/2 { f8 g a } +\tuplet 3/2 { c8 r c } +\tuplet 3/2 { f,8 g16[ a g a] } +\tuplet 3/2 { d4 a8 } @end lilypond @subheading Ozdoby @@ -1343,7 +1343,7 @@ v souboru vytvořily novou proměnnou. Tím se dá písemná práce ulehčit, když se skupiny not často opakují. @lilypond[verbatim,quote] -tripletA = \times 2/3 { c,8 e g } +tripletA = \tuplet 3/2 { c,8 e g } barA = { \tripletA \tripletA \tripletA \tripletA } \relative c'' { diff --git a/Documentation/cs/learning/fundamental.itely b/Documentation/cs/learning/fundamental.itely index 3131a99e4a..c4c5e6eeb5 100644 --- a/Documentation/cs/learning/fundamental.itely +++ b/Documentation/cs/learning/fundamental.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @c Translators: Pavel Fric @node Základní pojmy @@ -619,10 +619,10 @@ oblouček, který začíná u trioly (řádky 3 a 4). @lilypond[quote,verbatim,ragged-right] { -r16[ g \times 2/3 { r16 e'8] } -g16( a \times 2/3 { b16 d) e' } -g8[( a \times 2/3 { b8 d') e'~] } | -\times 4/5 { e'32\( a b d' e' } a'4.\) +r16[ g \tuplet 3/2 { r16 e'8] } +g16( a \tuplet 3/2 { b16 d) e' } +g8[( a \tuplet 3/2 { b8 d') e'~] } | +\tuplet 5/4 { e'32\( a b d' e' } a'4.\) } @end lilypond diff --git a/Documentation/cs/learning/tweaks.itely b/Documentation/cs/learning/tweaks.itely index 4f535f9716..da64832a2f 100644 --- a/Documentation/cs/learning/tweaks.itely +++ b/Documentation/cs/learning/tweaks.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @node Ladění výstupu @chapter Ladění výstupu @@ -465,11 +465,11 @@ gesetzt wird. @lilypond[quote,ragged-right,verbatim,fragment,relative=2] \tweak direction #up -\times 4/3 { +\tuplet 3/4 { \tweak color #red - \times 2/3 { c8[ c c] } - \times 2/3 { c8[ c c] } - \times 2/3 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } } @end lilypond @@ -487,14 +487,14 @@ beginnen, kann ihr Aussehen auf die übliche Art mit dem @c NOTE Tuplet brackets collide if notes are high on staff @c See issue 509 @lilypond[quote,ragged-right,verbatim,fragment,relative=1] -\times 2/3 { c8[ c c] } +\tuplet 3/2 { c8[ c c] } \once \override TupletNumber.text = #tuplet-number::calc-fraction-text -\times 2/3 { +\tuplet 3/2 { c8[ c] c8[ c] \once \override TupletNumber.transparent = ##t - \times 2/3 { c8[ c c] } - \times 2/3 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } } @end lilypond @@ -1048,8 +1048,8 @@ wenn sie in einem @code{\override}-Befehl benutzt werden. @item Moment @tab Ein Bruch einer ganzen Note, mit der make-moment-Funktion konstruiert - @tab @code{(ly:make-moment 1 4)}, - @code{(ly:make-moment 3 8)} + @tab @code{(ly:make-moment 1/4)}, + @code{(ly:make-moment 3/8)} @item Zahl @tab Eine beliebige positive oder negative Dezimalzahl @tab @code{3.5}, @code{-2.45} diff --git a/Documentation/cs/usage/lilypond-book.itely b/Documentation/cs/usage/lilypond-book.itely index ae2b89ad6f..d041f61620 100644 --- a/Documentation/cs/usage/lilypond-book.itely +++ b/Documentation/cs/usage/lilypond-book.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.16.0" +@c \version "2.17.11" @c Translators: Pavel Fric @@ -95,7 +95,7 @@ kombinieren. Zum Beispiel: \begin{lilypond} \relative c' { - c2 e2 \times 2/3 { f8 a b } a2 e4 + c2 e2 \tuplet 3/2 { f8 a b } a2 e4 } \end{lilypond} @@ -155,7 +155,7 @@ kombinieren. Zum Beispiel: @lilypond \relative c' { - c2 e2 \times 2/3 { f8 a b } a2 e4 + c2 e2 \tuplet 3/2 { f8 a b } a2 e4 } @end lilypond diff --git a/Documentation/cs/web/community.itexi b/Documentation/cs/web/community.itexi index 1c74701216..c4e37ed8d7 100644 --- a/Documentation/cs/web/community.itexi +++ b/Documentation/cs/web/community.itexi @@ -548,9 +548,9 @@ stálý, napsali jsme příručku pro vývojářské práce @docLinksBare{Příručka pro vývojářské práce, přispěvatel, @rcontribnamed{Top,Příručka pro vývojářské práce}, - @manualDevelContributorSplit-cs, - @manualDevelContributorBig-cs, 500 kB, - @manualDevelContributorPdf-cs, 2.8 MB} + @manualDevelContributorSplit, + @manualDevelContributorBig, 500 kB, + @manualDevelContributorPdf, 2.8 MB} @divEnd @@ -649,41 +649,41 @@ příručky se nacházejí na @url{http://lilypond.org}.} @docLinkPdf{Lernen,learning,@manualDevelLearningPdf-cs} @item -@docLinkSplit{Glossar,music-glossary,@manualDevelGlossarySplit-cs} +@docLinkSplit{Glossar,music-glossary,@manualDevelGlossarySplit} @tab -@docLinkBig{Glossar,music-glossary,@manualDevelGlossaryBig-cs} +@docLinkBig{Glossar,music-glossary,@manualDevelGlossaryBig} @tab -@docLinkPdf{Glossar,music-glossary,@manualDevelGlossaryPdf-cs} +@docLinkPdf{Glossar,music-glossary,@manualDevelGlossaryPdf} @item -@docLinkSplit{Aufsatz,essay,@manualDevelEssaySplit-cs} +@docLinkSplit{Aufsatz,essay,@manualDevelEssaySplit} @tab -@docLinkBig{Aufsatz,essay,@manualDevelEssayBig-cs} +@docLinkBig{Aufsatz,essay,@manualDevelEssayBig} @tab -@docLinkPdf{Aufsatz,essay,@manualDevelEssayPdf-cs} +@docLinkPdf{Aufsatz,essay,@manualDevelEssayPdf} @headitem Často používané příručky @item -@docLinkSplit{Notation,notation,@manualDevelNotationSplit-cs} +@docLinkSplit{Notation,notation,@manualDevelNotationSplit} @tab -@docLinkBig{Notation,notation,@manualDevelNotationBig-cs} +@docLinkBig{Notation,notation,@manualDevelNotationBig} @tab -@docLinkPdf{Notation,notation,@manualDevelNotationPdf-cs} +@docLinkPdf{Notation,notation,@manualDevelNotationPdf} @item -@docLinkSplit{Benutzung,usage,@manualDevelUsageSplit-cs} +@docLinkSplit{Benutzung,usage,@manualDevelUsageSplit} @tab -@docLinkBig{Benutzung,usage,@manualDevelUsageBig-cs} +@docLinkBig{Benutzung,usage,@manualDevelUsageBig} @tab -@docLinkPdf{Benutzung,usage,@manualDevelUsagePdf-cs} +@docLinkPdf{Benutzung,usage,@manualDevelUsagePdf} @item -@docLinkSplit{Schnipsel,snippets,@manualDevelSnippetsSplit-cs} +@docLinkSplit{Schnipsel,snippets,@manualDevelSnippetsSplit} @tab -@docLinkBig{Schnipsel,snippets,@manualDevelSnippetsBig-cs} +@docLinkBig{Schnipsel,snippets,@manualDevelSnippetsBig} @tab -@docLinkPdf{Schnipsel,snippets,@manualDevelSnippetsPdf-cs} +@docLinkPdf{Schnipsel,snippets,@manualDevelSnippetsPdf} @headitem Zřídka používané příručky @@ -696,25 +696,25 @@ příručky se nacházejí na @url{http://lilypond.org}.} @docLinkPdf{Webseite,web,@manualDevelWebPdf-cs} @item -@docLinkSplit{Veränderungen,changes,@manualDevelChangesSplit-cs} +@docLinkSplit{Veränderungen,changes,@manualDevelChangesSplit} @tab -@docLinkBig{Veränderungen,changes,@manualDevelChangesBig-cs} +@docLinkBig{Veränderungen,changes,@manualDevelChangesBig} @tab -@docLinkPdf{Veränderungen,changes,@manualDevelChangesPdf-cs} +@docLinkPdf{Veränderungen,changes,@manualDevelChangesPdf} @item -@docLinkSplit{Erweitern,extending,@manualDevelExtendingSplit-cs} +@docLinkSplit{Erweitern,extending,@manualDevelExtendingSplit} @tab -@docLinkBig{Erweitern,extending,@manualDevelExtendingBig-cs} +@docLinkBig{Erweitern,extending,@manualDevelExtendingBig} @tab -@docLinkPdf{Erweitern,extending,@manualDevelExtendingPdf-cs} +@docLinkPdf{Erweitern,extending,@manualDevelExtendingPdf} @item -@docLinkSplit{Interna,internals,@manualDevelInternalsSplit-cs} +@docLinkSplit{Interna,internals,@manualDevelInternalsSplit} @tab -@docLinkBig{Interna,internals,@manualDevelInternalsBig-cs} +@docLinkBig{Interna,internals,@manualDevelInternalsBig} @tab -@docLinkPdf{Interna,internals,@manualDevelInternalsPdf-cs} +@docLinkPdf{Interna,internals,@manualDevelInternalsPdf} @ifset web_version @headitem Ke stažení diff --git a/Documentation/cs/web/manuals.itexi b/Documentation/cs/web/manuals.itexi index 610f2a972d..376a6996d2 100755 --- a/Documentation/cs/web/manuals.itexi +++ b/Documentation/cs/web/manuals.itexi @@ -223,9 +223,9 @@ vzít si na pomoc tento slovníček. @docLinks{Slovníček, music-glossary, @rglosnamed{Top,Slovníček}, - @manualStableGlossarySplit-cs, - @manualStableGlossaryBig-cs, 1 MB, - @manualStableGlossaryPdf-cs, 1.5 MB} + @manualStableGlossarySplit, + @manualStableGlossaryBig, 1 MB, + @manualStableGlossaryPdf, 1.5 MB} @divEnd @@ -252,9 +252,9 @@ rozlišení.} @docLinks{Článek, essay, @ressaynamed{Top,Článek}, - @manualStableEssaySplit-cs, - @manualStableEssayBig-cs, 2 MB, - @manualStableEssayPdf-cs, 2.5 MB} + @manualStableEssaySplit, + @manualStableEssayBig, 2 MB, + @manualStableEssayPdf, 2.5 MB} @divEnd @@ -279,9 +279,9 @@ pojmosloví (podívejte se do slovníčku).} @docLinks{Notový zápis, notation, @rusernamed{Top,Notový zápis}, - @manualStableNotationSplit-cs, - @manualStableNotationBig-cs, 7 MB, - @manualStableNotationPdf-cs, 18 MB} + @manualStableNotationSplit, + @manualStableNotationBig, 7 MB, + @manualStableNotationPdf, 18 MB} @divEnd @@ -304,9 +304,9 @@ tento dokument přečíst, dříve než si člověk začne myslet na větší pr @docLinks{Používání, usage, @rprogramnamed{Top,Používání}, - @manualStableUsageSplit-cs, - @manualStableUsageBig-cs, 300 KB, - @manualStableUsagePdf-cs, 400 KB} + @manualStableUsageSplit, + @manualStableUsageBig, 300 KB, + @manualStableUsagePdf, 400 KB} @divEnd @@ -442,9 +442,9 @@ vlastností v LilyPondu od předchozí stálé verze. @docLinks{Změny, changes, @rchangesnamed{Top,Změny}, - @manualStableChangesSplit-cs, - @manualStableChangesBig-cs, 6 KB, - @manualStableChangesPdf-cs, 200 KB} + @manualStableChangesSplit, + @manualStableChangesBig, 6 KB, + @manualStableChangesPdf, 200 KB} @divEnd @@ -464,9 +464,9 @@ V této knize se vysvětluje, jak se pro LilyPond píší rozšíření. @docLinks{Rozšíření, extending, @rextendnamed{Top,Rozšíření}, - @manualStableExtendingSplit-cs, - @manualStableExtendingBig-cs, 200 KB, - @manualStableExtendingPdf-cs, 400 KB} + @manualStableExtendingSplit, + @manualStableExtendingBig, 200 KB, + @manualStableExtendingPdf, 400 KB} @divEnd @@ -498,9 +498,9 @@ dokumentu. Každá část doporučení k notovému zápisu má také část @docLinks{Vnitřnosti, internals, @rinternalsnamed{Top,Vnitřnosti}, - @manualStableInternalsSplit-cs, - @manualStableInternalsBig-cs, 2.5 MB, - @manualStableInternalsPdf-cs, 2.8 MB} + @manualStableInternalsSplit, + @manualStableInternalsBig, 2.5 MB, + @manualStableInternalsPdf, 2.8 MB} @divEnd @@ -521,7 +521,7 @@ dokumentu. Každá část doporučení k notovému zápisu má také část @unnumberedsec Vše @translationof All -@divClass{column-center-bottom} +@divClass{column-left-top} @subheading Verze ke stažení @ifclear web_version @@ -548,17 +548,17 @@ přes @uref{http://lilypond.org}. @divClass{keep-bullets} @itemize -@item @uref{http://lilypond.org/doc/v2.12/Documentation/, -LilyPond 2.12 Dokumentation} (německy) +@item @uref{http://lilypond.org/doc/v2.14/Documentation/web/manuals.de.html, +LilyPond 2.14 Dokumentation} (německy) -@item @uref{http://lilypond.org/doc/v2.11/Documentation/, -LilyPond 2.11 Dokumentation} (německy) +@item @uref{http://lilypond.org/doc/v2.12/Documentation/index.de.html, +LilyPond 2.12 Dokumentation} (německy) @item @uref{http://lilypond.org/doc/v2.10/Documentation/, -LilyPond 2.10 Dokumentation} (německy) +LilyPond 2.10 Dokumentation} (anglicky) @item @uref{http://lilypond.org/doc/v2.8/Documentation/, -LilyPond 2.8 Dokumentation} (německy) +LilyPond 2.8 Dokumentation} (anglicky) @item @uref{http://lilypond.org/doc/v2.6/Documentation/, LilyPond 2.6 Dokumentation} (anglicky) diff --git a/Documentation/cs/web/news-front.itexi b/Documentation/cs/web/news-front.itexi deleted file mode 100644 index 6339bf26dc..0000000000 --- a/Documentation/cs/web/news-front.itexi +++ /dev/null @@ -1,16 +0,0 @@ -@c -*- coding: utf-8; mode: texinfo; documentlanguage: cs -*- -@c This file is part of web.texi -@ignore - Translation of GIT committish: 5e2900b22db1d1ea433d4e8445cbcba3ffe399a4 - - When revising a translation, copy the HEAD committish of the - version that you are working on. See TRANSLATION for details. -@end ignore - - -@subsubheading LilyPond 2.13.47 released! @emph{Jan 28, 2011} -@subsubheading Release candidate 1 withdrawn @emph{Jan 13, 2011} -@subsubheading Release candidate 1 of 2.14 - LilyPond 2.13.46 released! @emph{Jan 12, 2011} -@subsubheading LilyPond 2.13.45 released! @emph{Jan 3, 2011} - -@c -- SKELETON FILE -- diff --git a/Documentation/de/essay.tely b/Documentation/de/essay.tely index e5bb7f6b7b..adf0ff03e6 100644 --- a/Documentation/de/essay.tely +++ b/Documentation/de/essay.tely @@ -10,7 +10,7 @@ @settitle Aufsatz über den automatischen Musiksatz @documentencoding UTF-8 @documentlanguage de - +@afourpaper @c Translators: Till Paala diff --git a/Documentation/de/essay/engraving.itely b/Documentation/de/essay/engraving.itely index ee837333e3..35a84e563f 100644 --- a/Documentation/de/essay/engraving.itely +++ b/Documentation/de/essay/engraving.itely @@ -9,7 +9,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @c Translators: Till Paala @@ -1154,14 +1154,14 @@ Beispiel heranzieht: \new Voice = "I" \relative c''' { \time 3/4 \voiceOne - \times 6/7 { g8 g g g g g g } + \tuplet 7/6 { g8 g g g g g g } \oneVoice r4 r4\fermata } \new Voice = "II" \relative c' { \voiceTwo c4 - \times 4/5 { + \tuplet 5/4 { 8 f g \change Staff = "LH" \oneVoice \stemUp g,( c} @@ -1615,7 +1615,7 @@ nächste Beispiel zeigt einige etwas exotischere Konstruktionen: \set followVoice = ##t c'''32([ b''16 a''16 gis''16 g''32)] } \\ { - s4 \times 2/3 { d'16[ f' g'] } as'32[ b''32 e'' d''] + s4 \tuplet 3/2 { d'16[ f' g'] } as'32[ b''32 e'' d''] } \\ { s4 \autoBeamOff d''8.. f''32 } \\ { diff --git a/Documentation/de/extending/scheme-tutorial.itely b/Documentation/de/extending/scheme-tutorial.itely index a66fa13199..f5d248033c 100644 --- a/Documentation/de/extending/scheme-tutorial.itely +++ b/Documentation/de/extending/scheme-tutorial.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @node Scheme-Übung @chapter Scheme-Übung @@ -1134,7 +1134,7 @@ zeigt: 'text "f")) 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 0 0)))) @end example @@ -1169,7 +1169,7 @@ einfacher zu lesen: (make-music 'AbsoluteDynamicEvent 'text "f")) - 'duration (ly:make-duration 2 0 1 1) + 'duration (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 0 0)))) @end example @@ -1205,7 +1205,7 @@ someNote = c' (make-music 'NoteEvent 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 0 0)) @end example @@ -1223,7 +1223,7 @@ someNote = (list (make-music 'NoteEvent 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 0 0)))) @end example @@ -1241,7 +1241,7 @@ eines musikalischen Ausdrucks anzuzeigen. (make-music 'NoteEvent 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 0 0)) @end example @@ -1297,7 +1297,7 @@ das Endergebnis darstellt: 'span-direction -1)) 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 5 0)) (make-music @@ -1308,7 +1308,7 @@ das Endergebnis darstellt: 'span-direction 1)) 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 5 0)))) @end example @@ -1325,7 +1325,7 @@ Jetzt folgt eine Betrachtung der Eingabe: (make-music 'NoteEvent 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 5 0)))) @end example @@ -1400,7 +1400,7 @@ Ausgabe examiniert: (make-music 'NoteEvent 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch -1 0 0)))) ===== @@ -1415,7 +1415,7 @@ Ausgabe examiniert: 'articulation-type "accent")) 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch -1 0 0)) \displayMusic c4 @@ -1426,7 +1426,7 @@ Ausgabe examiniert: (list (make-music 'NoteEvent 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch -1 0 0)))) @end example diff --git a/Documentation/de/learning/common-notation.itely b/Documentation/de/learning/common-notation.itely index 2f9e10c1ea..a9ad8b0859 100644 --- a/Documentation/de/learning/common-notation.itely +++ b/Documentation/de/learning/common-notation.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes. @end ignore -@c \version "2.16.0" +@c \version "2.17.11" @ignore Tutorial guidelines: @@ -534,10 +534,10 @@ In einer Triole dauern die Noten 2/3 ihrer normalen Länge, also hat eine Triole 2/3 als Bruch: @lilypond[verbatim,quote,relative=2] -\times 2/3 { f8 g a } -\times 2/3 { c8 r c } -\times 2/3 { f,8 g16[ a g a] } -\times 2/3 { d4 a8 } +\tuplet 3/2 { f8 g a } +\tuplet 3/2 { c8 r c } +\tuplet 3/2 { f,8 g16[ a g a] } +\tuplet 3/2 { d4 a8 } @end lilypond @subheading Verzierungen @@ -1340,7 +1340,7 @@ werden, wenn Notengruppen sich oft wiederholen. @c KEEP LY @lilypond[verbatim,quote] -trioleA = \times 2/3 { c,8 e g } +trioleA = \tuplet 3/2 { c,8 e g } TaktA = { \trioleA \trioleA \trioleA \trioleA } \relative c'' { diff --git a/Documentation/de/learning/fundamental.itely b/Documentation/de/learning/fundamental.itely index cb78a439d2..f53b326965 100644 --- a/Documentation/de/learning/fundamental.itely +++ b/Documentation/de/learning/fundamental.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @c Translators: Till Paala, Reinhold Kainhofer @node Grundbegriffe @@ -626,10 +626,10 @@ Phrasierungsbogen, der in einer Triole beginnt (Zeilen 3 und 4). @lilypond[quote,verbatim,ragged-right] { -r16[ g \times 2/3 { r16 e'8] } -g16( a \times 2/3 { b16 d) e' } -g8[( a \times 2/3 { b8 d') e'~] } | -\times 4/5 { e'32\( a b d' e' } a'4.\) +r16[ g \tuplet 3/2 { r16 e'8] } +g16( a \tuplet 3/2 { b16 d) e' } +g8[( a \tuplet 3/2 { b8 d') e'~] } | +\tuplet 5/4 { e'32\( a b d' e' } a'4.\) } @end lilypond diff --git a/Documentation/de/learning/tweaks.itely b/Documentation/de/learning/tweaks.itely index 79985b0709..0d08ee053b 100644 --- a/Documentation/de/learning/tweaks.itely +++ b/Documentation/de/learning/tweaks.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @node Die Ausgabe verändern @chapter Die Ausgabe verändern @@ -488,11 +488,11 @@ gesetzt wird. @lilypond[quote,ragged-right,verbatim,fragment,relative=2] \tweak direction #up -\times 4/3 { +\tuplet 3/4 { \tweak color #red - \times 2/3 { c8[ c c] } - \times 2/3 { c8[ c c] } - \times 2/3 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } } @end lilypond @@ -510,14 +510,14 @@ beginnen, kann ihr Aussehen auf die übliche Art mit dem @c NOTE Tuplet brackets collide if notes are high on staff @c See issue 509 @lilypond[quote,ragged-right,verbatim,fragment,relative=1] -\times 2/3 { c8[ c c] } +\tuplet 3/2 { c8[ c c] } \once \override TupletNumber.text = #tuplet-number::calc-fraction-text -\times 2/3 { +\tuplet 3/2 { c8[ c] c8[ c] \once \override TupletNumber.transparent = ##t - \times 2/3 { c8[ c c] } - \times 2/3 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } } @end lilypond @@ -1070,8 +1070,8 @@ wenn sie in einem @code{\override}-Befehl benutzt werden. @item Moment @tab Ein Bruch einer ganzen Note, mit der make-moment-Funktion konstruiert - @tab @code{(ly:make-moment 1 4)}, - @code{(ly:make-moment 3 8)} + @tab @code{(ly:make-moment 1/4)}, + @code{(ly:make-moment 3/8)} @item Zahl @tab Eine beliebige positive oder negative Dezimalzahl @tab @code{3.5}, @w{@code{-2.45}} diff --git a/Documentation/de/notation/ancient.itely b/Documentation/de/notation/ancient.itely index db9d2f83eb..a7d79a6606 100644 --- a/Documentation/de/notation/ancient.itely +++ b/Documentation/de/notation/ancient.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @c Translators: Till Paala @@ -666,7 +666,7 @@ werden, weil sie nicht konstant sind. Zum Beispiel kann das Verhältnis 1@tie{} wird: @example -breveTP = #(ly:make-duration -1 0 3 2) +breveTP = #(ly:make-duration -1 0 3/2) @dots{} @{ c\breveTP f1 @} @end example @@ -2908,9 +2908,9 @@ werden. spiritus = \relative c' { \time 1/4 \override Lyrics.LyricText.X-extent = #'(0 . 3) - d4 \times 2/3 { f8 a g } g a a4 g f8 e + d4 \tuplet 3/2 { f8 a g } g a a4 g f8 e d4 f8 g g8 d f g a g f4 g8 a a4 s - \times 2/3 { g8 f d } e f g a g4 + \tuplet 3/2 { g8 f d } e f g a g4 } spirLyr = \lyricmode { diff --git a/Documentation/de/notation/cheatsheet.itely b/Documentation/de/notation/cheatsheet.itely index e856fef9bb..ebedb6c218 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.6" +@c \version "2.17.11" @c Translators: Till Paala @@ -230,12 +230,12 @@ f8 c2 d e @end lilypond -@item @code{\times 2/3 @{f g a@}} +@item @code{\tuplet 3/2 @{f g a@}} @tab Triolen @tab @lilypond[relative=1] \set Staff.implicitTimeSignatureVisibility = #all-invisible -\times 2/3 { f8 g a } +\tuplet 3/2 { f8 g a } @end lilypond diff --git a/Documentation/de/notation/editorial.itely b/Documentation/de/notation/editorial.itely index c256ccf4cc..f01a51d270 100644 --- a/Documentation/de/notation/editorial.itely +++ b/Documentation/de/notation/editorial.itely @@ -7,7 +7,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @c Translators: Till Paala @@ -617,7 +617,7 @@ den Linien festgesetzt. \context { \Staff \consists "Grid_point_engraver" - gridInterval = #(ly:make-moment 1 4) + gridInterval = #(ly:make-moment 1/4) } \context { \Score diff --git a/Documentation/de/notation/fretted-strings.itely b/Documentation/de/notation/fretted-strings.itely index dba244d010..6580c77bc9 100644 --- a/Documentation/de/notation/fretted-strings.itely +++ b/Documentation/de/notation/fretted-strings.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @c Translators: Till Paala @@ -1766,7 +1766,7 @@ music = \relative c' { < b\3 \deadNote d\2 b'\1 > < c\3 \deadNote e\2 c'\1 > \deadNotesOn - \times 2/3 { g8 b e } + \tuplet 3/2 { g8 b e } \deadNotesOff < a,\3 c\2 e\1 >1 } diff --git a/Documentation/de/notation/repeats.itely b/Documentation/de/notation/repeats.itely index 5195578fb9..2e2d5198cf 100644 --- a/Documentation/de/notation/repeats.itely +++ b/Documentation/de/notation/repeats.itely @@ -7,7 +7,7 @@ Guide, node Updating translation committishes. @end ignore -@c \version "2.16.0" +@c \version "2.17.11" @c Translators: Till Paala @@ -228,11 +228,11 @@ zu Beginn jeder Alternative außer der ersten. \alternative { { f2 d | - \set Timing.measureLength = #(ly:make-moment 3 4) + \set Timing.measureLength = #(ly:make-moment 3/4) g4 g g % optional bar check is allowed here } { - \set Timing.measureLength = #(ly:make-moment 4 4) + \set Timing.measureLength = #(ly:make-moment 4/4) a2 a | } } @@ -671,7 +671,7 @@ benützten ein doppeltes Prozent-Symbol. @lilypond[verbatim,quote,relative=2] \repeat percent 4 { c8. 16 } -\repeat percent 2 { \times 2/3 { r8 c d } e4 } +\repeat percent 2 { \tuplet 3/2 { r8 c d } e4 } @end lilypond @snippets diff --git a/Documentation/de/notation/rhythms.itely b/Documentation/de/notation/rhythms.itely index 9efc3fac99..903f5a7445 100644 --- a/Documentation/de/notation/rhythms.itely +++ b/Documentation/de/notation/rhythms.itely @@ -7,7 +7,7 @@ Guide, node Updating translation committishes. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @c Translators: Till Paala @@ -221,8 +221,8 @@ Triole, in welcher drei Noten die Länge von zwei haben, der Wert jeder einzelnen Note ist also 2/3 der notierten Länge. @lilypond[quote,verbatim,relative=2] -a2 \times 2/3 { b4 b b } -c4 c \times 2/3 { b4 a g } +a2 \tuplet 3/2 { b4 b b } +c4 c \tuplet 3/2 { b4 a g } @end lilypond @cindex Triolenklammer, Platzierung @@ -242,7 +242,7 @@ N-tolen können ineinander geschachtelt werden: @lilypond[quote,verbatim,relative=2] \autoBeamOff -c4 \times 4/5 { f8 e f \times 2/3 { e[ f g] } } f4 +c4 \tuplet 5/4 { f8 e f \tuplet 3/2 { e[ f g] } } f4 @end lilypond Wenn man die Eigenschaften von N-tolen verändern will, die zum @@ -1431,7 +1431,7 @@ So wird etwa aus @code{\partial 8}: @lilypond[quote,verbatim,relative=1] \time 3/4 -\set Timing.measurePosition = #(ly:make-moment -1 8) +\set Timing.measurePosition = #(ly:make-moment -1/8) e8 | a4 c8 b c4 | @end lilypond @@ -1476,7 +1476,7 @@ benutzen. \time 6/8 \partial 8 e8 | a4 c8 b[ c b] | -\set Timing.measurePosition = #(ly:make-moment -1 4) +\set Timing.measurePosition = #(ly:make-moment -1/4) r8 e,8 | a4 c8 b[ c b] | @end lilypond @@ -1676,7 +1676,7 @@ auswirkt. \scaleDurations 3/5 { \repeat unfold 2 { c8[ c c] } \repeat unfold 2 { c8[ c] } | - c4. c4. \times 2/3 { c8[ c c] } c4 + c4. c4. \tuplet 3/2 { c8[ c c] } c4 } } >> @@ -2144,12 +2144,12 @@ werden, wenn die Bebalkung von @code{beatStructure} bestimmt werden soll. \time 4/4 a8^"default" a a a a a a a -\set Timing.baseMoment = #(ly:make-moment 1 4) +\set Timing.baseMoment = #(ly:make-moment 1/4) \set Timing.beatStructure = #'(1 1 1 1) a8^"no change" a a a a a a a \set Timing.beamExceptions = #'() -\set Timing.baseMoment = #(ly:make-moment 1 4) +\set Timing.baseMoment = #(ly:make-moment 1/4) \set Timing.beatStructure = #'(1 1 1 1) a8^"changed" a a a a a a a @end lilypond @@ -2203,7 +2203,7 @@ er kompatibel mit dem neuen Wert von @code{baseMoment} ist. @lilypond[quote,verbatim,relative=2] \time 5/8 -\set Timing.baseMoment = #(ly:make-moment 1 16) +\set Timing.baseMoment = #(ly:make-moment 1/16) \set Timing.beatStructure = #'(7 3) \repeat unfold 10 { a16 } @end lilypond @@ -2296,7 +2296,7 @@ Die @code{beamExceptions}-Regel kann die @code{beatStructure}-Einstellung @lilypond[quote,verbatim,relative=2] \time 4/4 -\set Timing.baseMoment = #(ly:make-moment 1 8) +\set Timing.baseMoment = #(ly:make-moment 1/8) \set Timing.beatStructure = #'(3 3 2) % This won't beam (3 3 2) because of beamExceptions \repeat unfold 8 {c8} | @@ -2434,7 +2434,7 @@ vermeiden, ist es, die Taktart nur in einem System zu setzen. << \new Staff { \time 3/4 - \set Timing.baseMoment = #(ly:make-moment 1 8) + \set Timing.baseMoment = #(ly:make-moment 1/8) \set Timing.beatStructure = #'(1 5) \repeat unfold 6 { a8 } } @@ -2606,10 +2606,10 @@ gleichmäßiges Tempo haben. @lilypond[relative=1,verbatim,quote] \override Beam.grow-direction = #LEFT -\featherDurations #(ly:make-moment 2 1) +\featherDurations #(ly:make-moment 2/1) { c16[ c c c c c c c] } \override Beam.grow-direction = #RIGHT -\featherDurations #(ly:make-moment 2 3) +\featherDurations #(ly:make-moment 2/3) { c32[ d e f] } % revert to non-feathered beams \override Beam.grow-direction = #'() @@ -3649,11 +3649,11 @@ dass der Takt im Ergebnis 1/8 kürzer ist. Die nächste Taktlinie wird dann auch bei 9/8 gezogen und nicht bei 5/4. @lilypond[quote,verbatim,relative=1] -\set Score.measureLength = #(ly:make-moment 5 4) +\set Score.measureLength = #(ly:make-moment 5/4) c1 c4 c1 c4 c4 c4 -\set Score.measurePosition = #(ly:make-moment 5 8) +\set Score.measurePosition = #(ly:make-moment 5/8) b4 b4 b8 c4 c1 @end lilypond diff --git a/Documentation/de/notation/spacing.itely b/Documentation/de/notation/spacing.itely index a38be05c32..617f04cc6d 100644 --- a/Documentation/de/notation/spacing.itely +++ b/Documentation/de/notation/spacing.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @c Translators: Till Paala @@ -1401,7 +1401,7 @@ müssen. \remove "Forbid_line_break_engraver" } \relative c'' { << - { c2. \times 2/3 { c4 c c } c2. | } + { c2. \tuplet 3/2 { c4 c c } c2. | } { s1 | \break s1 | } >> } @@ -1639,7 +1639,7 @@ Doppelstrich), wird der Befehl nach diesem Taktstrich gesetzt. Der @code{Page_turn_engraver} liest die Kontexteigenschaft @code{minimumPageTurnLength} um zu erkennen, wie lang eine Stelle frei von Noten sein muss, damit ein Seitenumbruch in Frage kommt. Der -Standardwert hierfür ist @code{(ly:make-moment 1 1)}. Wenn Sie +Standardwert hierfür ist @code{(ly:make-moment 1/1)}. Wenn Sie Seitenumbrüche zum Umblättern ausschalten wollen, können Sie einen sehr großen Wert angeben. @@ -1649,7 +1649,7 @@ einen sehr großen Wert angeben. a4 b c d | R1 | % Ein Seitenumbruch zum Umblättern erlaubt a4 b c d | - \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2) + \set Staff.minimumPageTurnLength = #(ly:make-moment 5/2) R1 | % Seitenumbruch nicht erlaubt a4 b r2 | R1*2 | % Seitenumbruch erlaubt @@ -3041,7 +3041,7 @@ eine größere Dauer ist als @code{1 16}. \layout { \context { \Score - \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 16) + \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/16) } } } @@ -3064,14 +3064,14 @@ werden: \score { << \new Staff { - \times 4/5 { + \tuplet 5/4 { c8 c8 c8 c8 c8 } c8 c8 c8 c8 } \new Staff { c8 c8 c8 c8 - \times 4/5 { + \tuplet 5/4 { c8 c8 c8 c8 c8 } } @@ -3196,7 +3196,7 @@ die klassischen Abstände und Flattersatz (ragged-right) eingesetzt werden: \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } @@ -3227,7 +3227,7 @@ eingeschaltet: \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } @@ -3235,7 +3235,7 @@ eingeschaltet: \layout { \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 20) + proportionalNotationDuration = #(ly:make-moment 1/20) } } } @@ -3256,10 +3256,10 @@ Die Eigenschaft @code{proportionalNotationDuration} braucht ein Argument, welches die Referenzdauer ist, anhand welcher alle Noten platziert werden. Hier wird die LilyPond Scheme-Funktion @code{make-moment} eingesetzt. Sie braucht zwei Argumente: einen Zähler und einen Nenner, die einen Bruch einer -Ganzen darstellen. Die Funktion @code{(ly:make-moment 1 20)} ergibt also +Ganzen darstellen. Die Funktion @code{(ly:make-moment 1/20)} ergibt also eine Referenzdauer von einer Zwanzigstel. Genauso gut können etwa die Dauern -@code{(ly:make-moment 1 16)}, @code{(ly:make-moment 1 8)} oder -@code{(ly:make-moment 3 97)} eingesetzt werden. +@code{(ly:make-moment 1/16)}, @code{(ly:make-moment 1/8)} oder +@code{(ly:make-moment 3/97)} eingesetzt werden. Die richtige Referenzdauer, mit der eine vernünftige Verteilung der Noten proportional möglich ist, muss durch Ausprobieren herausgefunden werden. @@ -3273,7 +3273,7 @@ erscheinen, größere Referenzdauern zwingen sie dichter zusammen. \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } @@ -3281,7 +3281,7 @@ erscheinen, größere Referenzdauern zwingen sie dichter zusammen. \layout { \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 8) + proportionalNotationDuration = #(ly:make-moment 1/8) } } } @@ -3291,7 +3291,7 @@ erscheinen, größere Referenzdauern zwingen sie dichter zusammen. \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } @@ -3299,7 +3299,7 @@ erscheinen, größere Referenzdauern zwingen sie dichter zusammen. \layout { \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 16) + proportionalNotationDuration = #(ly:make-moment 1/16) } } } @@ -3309,7 +3309,7 @@ erscheinen, größere Referenzdauern zwingen sie dichter zusammen. \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } @@ -3317,7 +3317,7 @@ erscheinen, größere Referenzdauern zwingen sie dichter zusammen. \layout { \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 32) + proportionalNotationDuration = #(ly:make-moment 1/32) } } } @@ -3342,12 +3342,12 @@ System mit anderen rhythmischen Werten hinzugefügt wird: \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } \new RhythmicStaff { - \times 8/9 { + \tuplet 9/8 { c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 } } @@ -3368,12 +3368,12 @@ dieser Situation deutlich: \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } \new RhythmicStaff { - \times 8/9 { + \tuplet 9/8 { c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 } } @@ -3381,7 +3381,7 @@ dieser Situation deutlich: \layout { \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 20) + proportionalNotationDuration = #(ly:make-moment 1/20) } } } @@ -3398,12 +3398,12 @@ sollte auch noch die gleichmäßige Dehnung (@code{uniform-stretching}) angescha \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } \new RhythmicStaff { - \times 8/9 { + \tuplet 9/8 { c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 } } @@ -3411,7 +3411,7 @@ sollte auch noch die gleichmäßige Dehnung (@code{uniform-stretching}) angescha \layout { \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 20) + proportionalNotationDuration = #(ly:make-moment 1/20) \override SpacingSpanner.uniform-stretching = ##t } } @@ -3501,7 +3501,7 @@ die beiden Partituren unten: @lilypond[quote,verbatim,ragged-right] \new Staff { - \set Score.proportionalNotationDuration = #(ly:make-moment 1 16) + \set Score.proportionalNotationDuration = #(ly:make-moment 1/16) c''8 c''8 c''8 @@ -3511,7 +3511,7 @@ die beiden Partituren unten: } \new Staff { - \set Score.proportionalNotationDuration = #(ly:make-moment 1 16) + \set Score.proportionalNotationDuration = #(ly:make-moment 1/16) \override Score.SpacingSpanner.strict-note-spacing = ##t c''8 c''8 @@ -3742,7 +3742,7 @@ angegeben wird: \layout { \context { \Score - \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1 2) + \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1/2) } } } diff --git a/Documentation/de/notation/vocal.itely b/Documentation/de/notation/vocal.itely index afab5fc62b..8c42e5b442 100644 --- a/Documentation/de/notation/vocal.itely +++ b/Documentation/de/notation/vocal.itely @@ -7,7 +7,7 @@ Guide, node Updating translation committishes. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @c Translators: Till Paala @@ -1925,7 +1925,7 @@ unterschiedlichen Melodien auszurichten. Das wird mit der << \new Voice = "alternative" { \voiceOne - \times 2/3 { + \tuplet 3/2 { % show associations clearly. \override NoteColumn.force-hshift = #-3 f8 f g @@ -3120,7 +3120,7 @@ global = { \layout { \context { \Score - \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 2) + \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/2) } \context { \Staff diff --git a/Documentation/de/usage/lilypond-book.itely b/Documentation/de/usage/lilypond-book.itely index 829379030d..02ad688826 100644 --- a/Documentation/de/usage/lilypond-book.itely +++ b/Documentation/de/usage/lilypond-book.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.16.0" +@c \version "2.17.11" @c Translators: Reinhold Kainhofer @c Translation checkers: Till Paala @@ -96,7 +96,7 @@ kombinieren. Zum Beispiel: \begin{lilypond} \relative c' { - c2 e2 \times 2/3 { f8 a b } a2 e4 + c2 e2 \tuplet 3/2 { f8 a b } a2 e4 } \end{lilypond} @@ -157,7 +157,7 @@ kombinieren. Zum Beispiel: @lilypond \relative c' { - c2 e2 \times 2/3 { f8 a b } a2 e4 + c2 e2 \tuplet 3/2 { f8 a b } a2 e4 } @end lilypond diff --git a/Documentation/de/web/manuals.itexi b/Documentation/de/web/manuals.itexi index 61768740b8..d236a6f289 100644 --- a/Documentation/de/web/manuals.itexi +++ b/Documentation/de/web/manuals.itexi @@ -229,9 +229,9 @@ es sich sehr, dieses Glossar zu Hilfe zu ziehen. @docLinks{Glossar, music-glossary, @rglosnamed{Top,Glossar}, - @manualStableGlossarySplit-de, - @manualStableGlossaryBig-de, 1 MB, - @manualStableGlossaryPdf-de, 1.5 MB} + @manualStableGlossarySplit, + @manualStableGlossaryBig, 1 MB, + @manualStableGlossaryPdf, 1.5 MB} @divEnd @@ -506,9 +506,9 @@ erklärt. Jeder Abschnitt der Notationsreferenz hat einen @docLinks{Interna, internals, @rinternalsnamed{Top,Interna}, - @manualStableInternalsSplit-de, - @manualStableInternalsBig-de, 2.5 MB, - @manualStableInternalsPdf-de, 2.8 MB} + @manualStableInternalsSplit, + @manualStableInternalsBig, 2.5 MB, + @manualStableInternalsPdf, 2.8 MB} @divEnd @@ -529,7 +529,7 @@ erklärt. Jeder Abschnitt der Notationsreferenz hat einen @unnumberedsec Alles @translationof All -@divClass{column-center-bottom} +@divClass{column-left-top} @subheading Versionen zum Herunterladen @ifclear web_version @@ -556,11 +556,11 @@ erhältlich. @divClass{keep-bullets} @itemize -@item @uref{http://lilypond.org/doc/v2.12/Documentation/, -LilyPond 2.12 Dokumentation} (auf deutsch) +@item @uref{http://lilypond.org/doc/v2.14/Documentation/web/manuals.de.html, +LilyPond 2.14 Dokumentation} (auf deutsch) -@item @uref{http://lilypond.org/doc/v2.11/Documentation/, -LilyPond 2.11 Dokumentation} (auf deutsch) +@item @uref{http://lilypond.org/doc/v2.12/Documentation/index.de.html, +LilyPond 2.12 Dokumentation} (auf deutsch) @item @uref{http://lilypond.org/doc/v2.10/Documentation/, LilyPond 2.10 Dokumentation} (auf englisch) diff --git a/Documentation/es/essay/engraving.itely b/Documentation/es/essay/engraving.itely index 771b9e49c6..67482495eb 100644 --- a/Documentation/es/essay/engraving.itely +++ b/Documentation/es/essay/engraving.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @node Grabado musical @chapter Grabado musical @@ -1162,14 +1162,14 @@ aparente si tenemos en cuenta un ejemplo musical más complejo: \new Voice = "I" \relative c''' { \time 3/4 \voiceOne - \times 6/7 { g8 g g g g g g } + \tuplet 7/6 { g8 g g g g g g } \oneVoice r4 r4\fermata } \new Voice = "II" \relative c' { \voiceTwo c4 - \times 4/5 { + \tuplet 5/4 { 8 f g \change Staff = "LH" \oneVoice \stemUp g,( c} @@ -1625,7 +1625,7 @@ ejemplo siguiente combina unas pocas construcciones algo más exóticas. \set followVoice = ##t c'''32([ b''16 a''16 gis''16 g''32)] } \\ { - s4 \times 2/3 { d'16[ f' g'] } as'32[ b''32 e'' d''] + s4 \tuplet 3/2 { d'16[ f' g'] } as'32[ b''32 e'' d''] } \\ { s4 \autoBeamOff d''8.. f''32 } \\ { diff --git a/Documentation/es/extending/scheme-tutorial.itely b/Documentation/es/extending/scheme-tutorial.itely index e62c1cafca..dfa8bb8345 100644 --- a/Documentation/es/extending/scheme-tutorial.itely +++ b/Documentation/es/extending/scheme-tutorial.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @node Tutorial de Scheme @appendix Tutorial de Scheme @@ -1226,7 +1226,7 @@ imprime lo siguiente: 'text "f")) 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 0 0)))) @end example @@ -1262,7 +1262,7 @@ leer: (make-music 'AbsoluteDynamicEvent 'text "f")) - 'duration (ly:make-duration 2 0 1 1) + 'duration (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 0 0)))) @end example @@ -1297,7 +1297,7 @@ someNote = c' (make-music 'NoteEvent 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 0 0)) @end example @@ -1315,7 +1315,7 @@ someNote = (list (make-music 'NoteEvent 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 0 0)))) @end example @@ -1333,7 +1333,7 @@ Scheme de una expresión musical. (make-music 'NoteEvent 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 0 0)) @end example @@ -1386,7 +1386,7 @@ representación interna de la música con la que queremos terminar. 'span-direction -1)) 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 5 0)) (make-music @@ -1397,7 +1397,7 @@ representación interna de la música con la que queremos terminar. 'span-direction 1)) 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 5 0)))) @end example @@ -1414,7 +1414,7 @@ Ahora examinamos la entrada, (make-music 'NoteEvent 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 5 0)))) @end example @@ -1485,7 +1485,7 @@ Scheme. Empezamos examinando nuestra entrada y la salida deseada, (make-music 'NoteEvent 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch -1 0 0)))) ===== @@ -1500,7 +1500,7 @@ Scheme. Empezamos examinando nuestra entrada y la salida deseada, 'articulation-type "accent")) 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch -1 0 0)) @end example diff --git a/Documentation/es/learning/common-notation.itely b/Documentation/es/learning/common-notation.itely index 362c01056a..da2e5beafa 100644 --- a/Documentation/es/learning/common-notation.itely +++ b/Documentation/es/learning/common-notation.itely @@ -7,7 +7,7 @@ version that you are working on. See TRANSLATION for details. @end ignore -@c \version "2.16.0" +@c \version "2.17.11" @ignore Tutorial guidelines: (different from policy.txt!) @@ -553,10 +553,10 @@ fracción. Los tresillos hacen que las notas ocupen 2/3 de su duración expresa, por tanto un @notation{tresillo} lleva una fracción de 2/3: @lilypond[verbatim,quote,relative=2] -\times 2/3 { f8 g a } -\times 2/3 { c8 r c } -\times 2/3 { f,8 g16[ a g a] } -\times 2/3 { d4 a8 } +\tuplet 3/2 { f8 g a } +\tuplet 3/2 { c8 r c } +\tuplet 3/2 { f,8 g16[ a g a] } +\tuplet 3/2 { d4 a8 } @end lilypond @subheading Notas de adorno @@ -1332,7 +1332,7 @@ para acortar el código si una sección musical se repite muchas veces. @c KEEP LY @lilypond[verbatim,quote,ragged-right] -tresilloA = \times 2/3 { c,8 e g } +tresilloA = \tuplet 3/2 { c,8 e g } compasA = { \tresilloA \tresilloA \tresilloA \tresilloA } \relative c'' { diff --git a/Documentation/es/learning/fundamental.itely b/Documentation/es/learning/fundamental.itely index a4ae78c2fc..e49d9f1522 100644 --- a/Documentation/es/learning/fundamental.itely +++ b/Documentation/es/learning/fundamental.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @node Conceptos fundamentales @@ -574,10 +574,10 @@ unión que atraviesa dos grupos especiales, y una ligadura de fraseo que sale del interior de un grupo especial (líneas 3 y 4). @lilypond[quote,verbatim,ragged-right,relative=1] -r16[ g \times 2/3 { r16 e'8] } -g,16( a \times 2/3 { b16 d) e } -g,8[( a \times 2/3 { b8 d) e~] } | -\times 4/5 { e32\( a, b d e } a4.\) +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 diff --git a/Documentation/es/learning/tweaks.itely b/Documentation/es/learning/tweaks.itely index fd03a7f7e7..18a254ca4e 100644 --- a/Documentation/es/learning/tweaks.itely +++ b/Documentation/es/learning/tweaks.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @node Trucar la salida @chapter Trucar la salida @@ -509,11 +509,11 @@ tresillo corto. @lilypond[quote,ragged-right,verbatim,fragment,relative=2] \tweak direction #up -\times 4/3 { +\tuplet 3/4 { \tweak color #red - \times 2/3 { c8[ c c] } - \times 2/3 { c8[ c c] } - \times 2/3 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } } @end lilypond @@ -527,14 +527,14 @@ se puede modificar de la forma usual mediante instrucciones @cindex TupletNumber, ejemplo de sobreescritura @lilypond[quote,ragged-right,verbatim,fragment,relative=1] -\times 2/3 { c8[ c c] } +\tuplet 3/2 { c8[ c c] } \once \override TupletNumber.text = #tuplet-number::calc-fraction-text -\times 2/3 { +\tuplet 3/2 { c8[ c] c8[ c] \once \override TupletNumber.transparent = ##t - \times 2/3 { c8[ c c] } - \times 2/3 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } } @end lilypond diff --git a/Documentation/es/notation/ancient.itely b/Documentation/es/notation/ancient.itely index 42ae604fc5..2edb2bf0ea 100644 --- a/Documentation/es/notation/ancient.itely +++ b/Documentation/es/notation/ancient.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @node Notación antigua @@ -656,7 +656,7 @@ la razón de 1@tie{}breve = 3@tie{}semibreves establecimiento de @example -breveTP = #(ly:make-duration -1 0 3 2) +breveTP = #(ly:make-duration -1 0 3/2) @dots{} @{ c\breveTP f1 @} @end example @@ -2833,9 +2833,9 @@ más ajustes posteriormente, esto se puede hacer fácilmente con spiritus = \relative c' { \time 1/4 \override Lyrics.LyricText.X-extent = #'(0 . 3) - d4 \times 2/3 { f8 a g } g a a4 g f8 e + d4 \tuplet 3/2 { f8 a g } g a a4 g f8 e d4 f8 g g8 d f g a g f4 g8 a a4 s - \times 2/3 { g8 f d } e f g a g4 + \tuplet 3/2 { g8 f d } e f g a g4 } spirLyr = \lyricmode { diff --git a/Documentation/es/notation/cheatsheet.itely b/Documentation/es/notation/cheatsheet.itely index e0d0703841..25013338c1 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.6" +@c \version "2.17.11" @c TODO: add tablature. @@ -228,12 +228,12 @@ f8 c2 d e @end lilypond -@item @code{\times 2/3 @{f g a@}} +@item @code{\tuplet 3/2 @{f g a@}} @tab tresillos @tab @lilypond[relative=1] \set Staff.implicitTimeSignatureVisibility = #all-invisible -\times 2/3 { f8 g a } +\tuplet 3/2 { f8 g a } @end lilypond diff --git a/Documentation/es/notation/editorial.itely b/Documentation/es/notation/editorial.itely index ff59b6b6ad..475c468644 100644 --- a/Documentation/es/notation/editorial.itely +++ b/Documentation/es/notation/editorial.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @node Anotaciones editoriales @section Anotaciones editoriales @@ -616,7 +616,7 @@ especificar la duración entre las líneas de rejilla. \context { \Staff \consists "Grid_point_engraver" - gridInterval = #(ly:make-moment 1 4) + gridInterval = #(ly:make-moment 1/4) } \context { \Score diff --git a/Documentation/es/notation/fretted-strings.itely b/Documentation/es/notation/fretted-strings.itely index 71a2be2061..b57661b52c 100644 --- a/Documentation/es/notation/fretted-strings.itely +++ b/Documentation/es/notation/fretted-strings.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @node Instrumentos de cuerda con trastes @section Instrumentos de cuerda con trastes @@ -1765,7 +1765,7 @@ music = \relative c' { < b\3 \deadNote d\2 b'\1 > < c\3 \deadNote e\2 c'\1 > \deadNotesOn - \times 2/3 { g8 b e } + \tuplet 3/2 { g8 b e } \deadNotesOff < a,\3 c\2 e\1 >1 } diff --git a/Documentation/es/notation/repeats.itely b/Documentation/es/notation/repeats.itely index c93e9d6ee6..ab46c49ff4 100644 --- a/Documentation/es/notation/repeats.itely +++ b/Documentation/es/notation/repeats.itely @@ -7,7 +7,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.16.0" +@c \version "2.17.11" @node Repeticiones @section Repeticiones @@ -237,11 +237,11 @@ primero. \alternative { { f2 d | - \set Timing.measureLength = #(ly:make-moment 3 4) + \set Timing.measureLength = #(ly:make-moment 3/4) g4 g g % optional bar check is allowed here } { - \set Timing.measureLength = #(ly:make-moment 4 4) + \set Timing.measureLength = #(ly:make-moment 4/4) a2 a | } } @@ -703,7 +703,7 @@ duraciones mezcladas utilizan un símbolo de porcentaje doble. @lilypond[verbatim,quote,relative=2] \repeat percent 4 { c8. 16 } -\repeat percent 2 { \times 2/3 { r8 c d } e4 } +\repeat percent 2 { \tuplet 3/2 { r8 c d } e4 } @end lilypond @snippets diff --git a/Documentation/es/notation/rhythms.itely b/Documentation/es/notation/rhythms.itely index 977bb67e74..12bed71bd5 100644 --- a/Documentation/es/notation/rhythms.itely +++ b/Documentation/es/notation/rhythms.itely @@ -7,7 +7,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @node Duraciones @section Duraciones @@ -214,8 +214,8 @@ que 3 notas tienen el valor de 2, por tanto las notas duran 2/3 de su valor escrito: @lilypond[quote,verbatim,relative=2] -a2 \times 2/3 { b4 b b } -c4 c \times 2/3 { b4 a g } +a2 \tuplet 3/2 { b4 b b } +c4 c \tuplet 3/2 { b4 a g } @end lilypond @cindex grupos de valoración especial, colocación del corchete @@ -234,7 +234,7 @@ Los grupos pueden anidarse unos dentro de otros: @lilypond[quote,verbatim,relative=2] \autoBeamOff -c4 \times 4/5 { f8 e f \times 2/3 { e[ f g] } } f4 +c4 \tuplet 5/4 { f8 e f \tuplet 3/2 { e[ f g] } } f4 @end lilypond La modificación de los grupos especiales anidados que comienzan en el @@ -1442,7 +1442,7 @@ Así, @code{\partial 8} se convierte en: @lilypond[quote,verbatim,relative=1] \time 3/4 -\set Timing.measurePosition = #(ly:make-moment -1 8) +\set Timing.measurePosition = #(ly:make-moment -1/8) e8 | a4 c8 b c4 | @end lilypond @@ -1476,7 +1476,7 @@ advertencias o efectos desagradables, en este caso utilice en su lugar \time 6/8 \partial 8 e8 | a4 c8 b[ c b] | -\set Timing.measurePosition = #(ly:make-moment -1 4) +\set Timing.measurePosition = #(ly:make-moment -1/4) r8 e,8 | a4 c8 b[ c b] | @end lilypond @@ -1687,7 +1687,7 @@ de barrado automático. \scaleDurations 3/5 { \repeat unfold 2 { c8[ c c] } \repeat unfold 2 { c8[ c] } | - c4. c \times 2/3 { c8[ c c] } c4 + c4. c \tuplet 3/2 { c8[ c c] } c4 } } >> @@ -2142,12 +2142,12 @@ determinado por @code{beatStructure}. \time 4/4 a8^"default" a a a a a a a -\set Timing.baseMoment = #(ly:make-moment 1 4) +\set Timing.baseMoment = #(ly:make-moment 1/4) \set Timing.beatStructure = #'(1 1 1 1) a8^"no change" a a a a a a a \set Timing.beamExceptions = #'() -\set Timing.baseMoment = #(ly:make-moment 1 4) +\set Timing.baseMoment = #(ly:make-moment 1/4) \set Timing.beatStructure = #'(1 1 1 1) a8^"changed" a a a a a a a @end lilypond @@ -2202,7 +2202,7 @@ el nuevo valor de @code{baseMoment}. @lilypond[quote,verbatim,relative=2] \time 5/8 -\set Timing.baseMoment = #(ly:make-moment 1 16) +\set Timing.baseMoment = #(ly:make-moment 1/16) \set Timing.beatStructure = #'(7 3) \repeat unfold 10 { a16 } @end lilypond @@ -2297,7 +2297,7 @@ ajuste @code{beatStructure} si no se reinicia @code{beamExceptions}. @lilypond[quote,verbatim,relative=2] \time 4/4 -\set Timing.baseMoment = #(ly:make-moment 1 8) +\set Timing.baseMoment = #(ly:make-moment 1/8) \set Timing.beatStructure = #'(3 3 2) % This won't beam (3 3 2) because of beamExceptions \repeat unfold 8 {c8} | @@ -2435,7 +2435,7 @@ la indicación de compás en un pentagrama solamente. << \new Staff { \time 3/4 - \set Timing.baseMoment = #(ly:make-moment 1 8) + \set Timing.baseMoment = #(ly:make-moment 1/8) \set Timing.beatStructure = #'(1 5) \repeat unfold 6 { a8 } } @@ -2610,10 +2610,10 @@ mientras que las últimas cuatro fusas están a un tempo constante. @lilypond[relative=1,verbatim,quote] \override Beam.grow-direction = #LEFT -\featherDurations #(ly:make-moment 2 1) +\featherDurations #(ly:make-moment 2/1) { c16[ c c c c c c c] } \override Beam.grow-direction = #RIGHT -\featherDurations #(ly:make-moment 2 3) +\featherDurations #(ly:make-moment 2/3) { c32[ d e f] } % revert to non-feathered beams \override Beam.grow-direction = #'() @@ -3743,11 +3743,11 @@ divisoria cae en 9/8 en vez de hacerlo en 5/4. @lilypond[quote,verbatim] \new Voice \relative c' { - \set Timing.measureLength = #(ly:make-moment 5 4) + \set Timing.measureLength = #(ly:make-moment 5/4) c1 c4 | c1 c4 | c4 c - \set Timing.measurePosition = #(ly:make-moment 5 8) + \set Timing.measurePosition = #(ly:make-moment 5/8) b4 b b8 | c4 c1 | } diff --git a/Documentation/es/notation/spacing.itely b/Documentation/es/notation/spacing.itely index dd691efea5..26d9562e08 100644 --- a/Documentation/es/notation/spacing.itely +++ b/Documentation/es/notation/spacing.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @ignore GDP TODO list @@ -1499,7 +1499,7 @@ paralelo con la música: \remove "Forbid_line_break_engraver" } \relative c'' { << - { c2. \times 2/3 { c4 c c } c2. | } + { c2. \tuplet 3/2 { c4 c c } c2. | } { s1 | \break s1 | } >> } @@ -1728,7 +1728,7 @@ El grabador @code{Page_turn_engraver} lee la propiedad de contexto @code{minimumPageTurnLength} para determinar qué longitud debe tener una sección sin notas antes de que se considere la posibilidad de un paso de página. El valor predeterminado para -@code{minimumPageTurnLength} es @code{(ly:make-moment 1 1)}. Si +@code{minimumPageTurnLength} es @code{(ly:make-moment 1/1)}. Si quiere inhabilitar las vueltas de página, puede establecerlo a algún valor muy grande. @@ -1738,7 +1738,7 @@ valor muy grande. a4 b c d | R1 | % aquí se permite un salto de página a4 b c d | - \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2) + \set Staff.minimumPageTurnLength = #(ly:make-moment 5/2) R1 | % aquí no se permite un salto de página a4 b r2 | R1*2 | % aquí se permite un salto de página @@ -3085,7 +3085,7 @@ que @code{ly:make-moment} construye una duración, por lo que @code{1 \layout { \context { \Score - \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 16) + \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/16) } } } @@ -3103,14 +3103,14 @@ puede cambiarse al principio de la partitura: \score { << \new Staff { - \times 4/5 { + \tuplet 5/4 { c8 c8 c8 c8 c8 } c8 c8 c8 c8 } \new Staff { c8 c8 c8 c8 - \times 4/5 { + \tuplet 5/4 { c8 c8 c8 c8 c8 } } @@ -3230,7 +3230,7 @@ espaciado clásico sin justificación por la derecha. \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } @@ -3260,7 +3260,7 @@ ajuste @code{proportionalNotationDuration}. \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } @@ -3268,7 +3268,7 @@ ajuste @code{proportionalNotationDuration}. \layout { \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 20) + proportionalNotationDuration = #(ly:make-moment 1/20) } } } @@ -3293,11 +3293,11 @@ argumento, que es la duración de referencia contra el que se aplica el espaciado de toda la música. La función Scheme de LilyPond @code{make-moment} acepta dos argumentos: un numerador y un denominador que, juntos, expresan una cierta fracción de redonda. La -llamada @code{(ly:make-moment 1 20)}, por tanto, produce una duración +llamada @code{(ly:make-moment 1/20)}, por tanto, produce una duración de referencia de una nota de un veinteavo de redonda (semicorcheas de cinquillo). Son también posibles valores como -@code{(ly:make-moment 1 16)}, -@code{(ly:make-moment 1 8)} y @code{(ly:make-moment 3 97)}. +@code{(ly:make-moment 1/16)}, +@code{(ly:make-moment 1/8)} y @code{(ly:make-moment 3/97)}. ¿Cómo seleccionamos la duración correcta de referencia para pasarla a @code{proportionalNotationDuration}? Normalmente mediante un proceso @@ -3312,7 +3312,7 @@ más largas aplican un espaciado más apretado. \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } @@ -3320,7 +3320,7 @@ más largas aplican un espaciado más apretado. \layout { \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 8) + proportionalNotationDuration = #(ly:make-moment 1/8) } } } @@ -3330,7 +3330,7 @@ más largas aplican un espaciado más apretado. \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } @@ -3338,7 +3338,7 @@ más largas aplican un espaciado más apretado. \layout { \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 16) + proportionalNotationDuration = #(ly:make-moment 1/16) } } } @@ -3348,7 +3348,7 @@ más largas aplican un espaciado más apretado. \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } @@ -3356,7 +3356,7 @@ más largas aplican un espaciado más apretado. \layout { \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 32) + proportionalNotationDuration = #(ly:make-moment 1/32) } } } @@ -3383,12 +3383,12 @@ diferente de grupo especial. \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } \new RhythmicStaff { - \times 8/9 { + \tuplet 9/8 { c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 } } @@ -3409,12 +3409,12 @@ soluciona. \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } \new RhythmicStaff { - \times 8/9 { + \tuplet 9/8 { c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 } } @@ -3422,7 +3422,7 @@ soluciona. \layout { \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 20) + proportionalNotationDuration = #(ly:make-moment 1/20) } } } @@ -3440,12 +3440,12 @@ propiedad de @code{SpacingSpanner}. \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } \new RhythmicStaff { - \times 8/9 { + \tuplet 9/8 { c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 } } @@ -3453,7 +3453,7 @@ propiedad de @code{SpacingSpanner}. \layout { \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 20) + proportionalNotationDuration = #(ly:make-moment 1/20) \override SpacingSpanner.uniform-stretching = ##t } } @@ -3548,7 +3548,7 @@ Compare las dos partituras siguientes: @lilypond[quote,verbatim,ragged-right] \new Staff { - \set Score.proportionalNotationDuration = #(ly:make-moment 1 16) + \set Score.proportionalNotationDuration = #(ly:make-moment 1/16) c''8 c''8 c''8 @@ -3558,7 +3558,7 @@ Compare las dos partituras siguientes: } \new Staff { - \set Score.proportionalNotationDuration = #(ly:make-moment 1 16) + \set Score.proportionalNotationDuration = #(ly:make-moment 1/16) \override Score.SpacingSpanner.strict-note-spacing = ##t c''8 c''8 @@ -3783,7 +3783,7 @@ duración se produce un efecto de @q{apretujamiento}: \layout { \context { \Score - \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1 2) + \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1/2) } } } diff --git a/Documentation/es/notation/vocal.itely b/Documentation/es/notation/vocal.itely index 2878f472f1..0d20efef21 100644 --- a/Documentation/es/notation/vocal.itely +++ b/Documentation/es/notation/vocal.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @node Música vocal @section Música vocal @@ -1915,7 +1915,7 @@ propiedad @code{associatedVoice}: << \new Voice = "alternative" { \voiceOne - \times 2/3 { + \tuplet 3/2 { % show associations clearly. \override NoteColumn.force-hshift = #-3 f8 f g @@ -3134,7 +3134,7 @@ global = { \layout { \context { \Score - \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 2) + \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/2) } \context { \Staff diff --git a/Documentation/es/usage/lilypond-book.itely b/Documentation/es/usage/lilypond-book.itely index d483d6f0ef..f99fe8c605 100644 --- a/Documentation/es/usage/lilypond-book.itely +++ b/Documentation/es/usage/lilypond-book.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.16.0" +@c \version "2.17.11" @c Note: keep this node named so that `info lilypond-book' brings you here. @node lilypond-book @@ -92,7 +92,7 @@ música y texto. Por ejemplo: \begin{lilypond} \relative c' { - c2 e2 \times 2/3 { f8 a b } a2 e4 + c2 e2 \tuplet 3/2 { f8 a b } a2 e4 } \end{lilypond} @@ -154,7 +154,7 @@ música y texto. Por ejemplo: @lilypond \relative c' { - c2 e2 \times 2/3 { f8 a b } a2 e4 + c2 e2 \tuplet 3/2 { f8 a b } a2 e4 } @end lilypond diff --git a/Documentation/es/web/manuals.itexi b/Documentation/es/web/manuals.itexi index d4a5835dbb..b53ae2fe14 100644 --- a/Documentation/es/web/manuals.itexi +++ b/Documentation/es/web/manuals.itexi @@ -559,10 +559,10 @@ sólo están disponibles en @uref{http://lilypond.org} @divClass{keep-bullets} @itemize -@item @uref{http://lilypond.org/doc/v2.14/Documentation/web/manuals, -LilyPond 2.14 Documentation} +@item @uref{http://lilypond.org/doc/v2.14/Documentation/web/manuals.es.html, +Documentación de LilyPond 2.14} -@item @uref{http://lilypond.org/doc/v2.12/Documentation/, +@item @uref{http://lilypond.org/doc/v2.12/Documentation/index.es.html, Documentación de LilyPond 2.12} @item @uref{http://lilypond.org/doc/v2.10/Documentation/, diff --git a/Documentation/essay/engraving.itely b/Documentation/essay/engraving.itely index 8c0a3f6941..f32934303c 100644 --- a/Documentation/essay/engraving.itely +++ b/Documentation/essay/engraving.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @node Music engraving @chapter Music engraving @@ -1087,14 +1087,14 @@ consider a more complicated musical example: \new Voice = "I" \relative c''' { \time 3/4 \voiceOne - \times 6/7 { g8 g g g g g g } + \tuplet 7/6 { g8 g g g g g g } \oneVoice r4 r4\fermata } \new Voice = "II" \relative c' { \voiceTwo c4 - \times 4/5 { + \tuplet 5/4 { 8 f g \change Staff = "LH" \oneVoice \stemUp g,( c} @@ -1525,7 +1525,7 @@ following example combines some more exotic constructs. \set followVoice = ##t c'''32([ b''16 a''16 gis''16 g''32)] } \\ { - s4 \times 2/3 { d'16[ f' g'] } as'32[ b''32 e'' d''] + s4 \tuplet 3/2 { d'16[ f' g'] } as'32[ b''32 e'' d''] } \\ { s4 \autoBeamOff d''8.. f''32 } \\ { diff --git a/Documentation/extending/programming-interface.itely b/Documentation/extending/programming-interface.itely index 9fd578b2bd..4fe2057d0f 100644 --- a/Documentation/extending/programming-interface.itely +++ b/Documentation/extending/programming-interface.itely @@ -42,11 +42,14 @@ can deal with embedded Scheme expressions starting with @code{$} and@w{ }@code{#}. It extracts the Lilypond code block and generates a call to the -LilyPond @code{parser} which is executed at runtime to interpret the -LilyPond code block. Any embedded Scheme expression is executed in -the lexical environment of the Lilypond code block, so you have access -to local variables and function parameters at the point the Lilypond -code block is written. +LilyPond @code{parser} which is executed at runtime to interpret +the LilyPond code block. Any embedded Scheme expression is +executed in the lexical environment of the Lilypond code block, so +you have access to local variables and function parameters at the +point the Lilypond code block is written. If @code{location} +refers to a valid input location (which it usually does inside of +music/@/scheme functions), all music generated inside the code +block has its @samp{origin} set to @code{location}. A LilyPond code block may contain anything that you can use on the right side of an assignment. In addition, an empty LilyPond block corresponds diff --git a/Documentation/extending/scheme-tutorial.itely b/Documentation/extending/scheme-tutorial.itely index b73c2bb9fd..f944a053e5 100644 --- a/Documentation/extending/scheme-tutorial.itely +++ b/Documentation/extending/scheme-tutorial.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @node Scheme tutorial @chapter Scheme tutorial @@ -1127,7 +1127,7 @@ will display 'text "f")) 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 0 0)))) @end example @@ -1162,7 +1162,7 @@ A bit of reformatting makes the above information easier to read: (make-music 'AbsoluteDynamicEvent 'text "f")) - 'duration (ly:make-duration 2 0 1 1) + 'duration (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 0 0)))) @end example @@ -1194,7 +1194,7 @@ someNote = c' (make-music 'NoteEvent 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 0 0)) @end example @@ -1212,7 +1212,7 @@ someNote = (list (make-music 'NoteEvent 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 0 0)))) @end example @@ -1230,7 +1230,7 @@ expression. (make-music 'NoteEvent 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 0 0)) @end example @@ -1281,7 +1281,7 @@ representation of the desired result. 'span-direction -1)) 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 5 0)) (make-music @@ -1292,7 +1292,7 @@ representation of the desired result. 'span-direction 1)) 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 5 0)))) @end example @@ -1309,7 +1309,7 @@ Now we examine the input, (make-music 'NoteEvent 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 5 0)))) @end example @@ -1375,7 +1375,7 @@ Scheme. We begin by examining our input and desired output, (make-music 'NoteEvent 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch -1 0 0)))) ===== @@ -1390,7 +1390,7 @@ Scheme. We begin by examining our input and desired output, 'articulation-type "accent")) 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch -1 0 0)) @end example diff --git a/Documentation/fr/essay/engraving.itely b/Documentation/fr/essay/engraving.itely index 5a500b6bbd..85b91038d8 100644 --- a/Documentation/fr/essay/engraving.itely +++ b/Documentation/fr/essay/engraving.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @c Translators: Jean-Charles Malahieude, John Mandereau, Gauvain Pocentek @@ -1171,14 +1171,14 @@ musique se complique : \new Voice = "I" \relative c''' { \time 3/4 \voiceOne - \times 6/7 {g8 g g g g g g} + \tuplet 7/6 {g8 g g g g g g} \oneVoice r4 r4\fermata } \new Voice = "II" \relative c' { \voiceTwo c4 - \times 4/5 { + \tuplet 5/4 { 8 f g \change Staff = "LH" \oneVoice \stemUp g,( c} @@ -1631,7 +1631,7 @@ constructions@dots{} \set followVoice = ##t c'''32([ b''16 a''16 gis''16 g''32)] } \\ { - s4 \times 2/3 { d'16[ f' g'] } as'32[ b''32 e'' d''] + s4 \tuplet 3/2 { d'16[ f' g'] } as'32[ b''32 e'' d''] } \\ { s4 \autoBeamOff d''8.. f''32 } \\ { diff --git a/Documentation/fr/extending/scheme-tutorial.itely b/Documentation/fr/extending/scheme-tutorial.itely index 749dbd55ee..6b65cf820c 100644 --- a/Documentation/fr/extending/scheme-tutorial.itely +++ b/Documentation/fr/extending/scheme-tutorial.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @c Translators: Jean-Charles Malahieude @@ -1258,7 +1258,7 @@ affichera 'text "f")) 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 0 0)))) @end example @@ -1293,7 +1293,7 @@ L'information sera encore plus lisible après un peu de mise en forme : (make-music 'AbsoluteDynamicEvent 'text "f")) - 'duration (ly:make-duration 2 0 1 1) + 'duration (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 0 0)))) @end example @@ -1329,7 +1329,7 @@ someNote = c' (make-music 'NoteEvent 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 0 0)) @end example @@ -1348,7 +1348,7 @@ someNote = (list (make-music 'NoteEvent 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 0 0)))) @end example @@ -1365,7 +1365,7 @@ pour afficher la représentation en Scheme d'une expression musicale : (make-music 'NoteEvent 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 0 0)) @end example @@ -1418,7 +1418,7 @@ comment le résultat est représenté en interne. 'span-direction -1)) 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 5 0)) (make-music @@ -1429,7 +1429,7 @@ comment le résultat est représenté en interne. 'span-direction 1)) 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 5 0)))) @end example @@ -1446,7 +1446,7 @@ Examinons à présent la saisie : (make-music 'NoteEvent 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 5 0)))) @end example @@ -1514,7 +1514,7 @@ le résultat auquel nous désirons aboutir : (make-music 'NoteEvent 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch -1 0 0)))) ===== @@ -1529,7 +1529,7 @@ le résultat auquel nous désirons aboutir : 'articulation-type "accent")) 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch -1 0 0)) @end example diff --git a/Documentation/fr/learning/common-notation.itely b/Documentation/fr/learning/common-notation.itely index e695fc892f..7bd96e5c1b 100644 --- a/Documentation/fr/learning/common-notation.itely +++ b/Documentation/fr/learning/common-notation.itely @@ -26,7 +26,7 @@ Tutorial guidelines: (different from policy.txt!) @end ignore -@c \version "2.16.0" +@c \version "2.17.11" @c Translators: Nicolas Grandclaude, Ludovic Sardain, Gauvain Pocentek @c Translation checkers: Jean-Charles Malahieude, Valentin Villenave, John Mandereau @@ -566,10 +566,10 @@ deux tiers de la durée de leur notation réelle, cette fraction est donc de 2/3 pour les triolets : @lilypond[verbatim,quote,relative=2] -\times 2/3 { f8 g a } -\times 2/3 { c8 r c } -\times 2/3 { f,8 g16[ a g a] } -\times 2/3 { d4 a8 } +\tuplet 3/2 { f8 g a } +\tuplet 3/2 { c8 r c } +\tuplet 3/2 { f,8 g16[ a g a] } +\tuplet 3/2 { d4 a8 } @end lilypond @@ -1332,7 +1332,7 @@ exemple, cela peut servir à saisir un motif qu'une seule fois, même s'il se répète un grand nombre de fois dans la pièce. @lilypond[verbatim,quote] -tripletA = \times 2/3 { c,8 e g } +tripletA = \tuplet 3/2 { c,8 e g } barA = { \tripletA \tripletA \tripletA \tripletA } \relative c'' { diff --git a/Documentation/fr/learning/fundamental.itely b/Documentation/fr/learning/fundamental.itely index 7c9870d739..c1db7aa960 100644 --- a/Documentation/fr/learning/fundamental.itely +++ b/Documentation/fr/learning/fundamental.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @c Translators: Valentin Villenave, Jean-Charles Malahieude @c Translation checkers: John Mandereau @@ -559,10 +559,10 @@ qui s'étendent sur un triolet, lui-même lié à un quintolet agrémenté d'une liaison de phrasé se poursuivant (lignes 3 et 4). @lilypond[quote,verbatim,ragged-right,relative=1] -r16[ g \times 2/3 { r16 e'8] } -g,16( a \times 2/3 { b16 d) e } -g,8[( a \times 2/3 { b8 d) e~] } | -\times 4/5 { e32\( a, b d e } a4.\) +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 diff --git a/Documentation/fr/learning/tweaks.itely b/Documentation/fr/learning/tweaks.itely index c31b144a16..bba10d1c2c 100644 --- a/Documentation/fr/learning/tweaks.itely +++ b/Documentation/fr/learning/tweaks.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @c Translators: Valentin Villenave, Nicolas Klutchnikoff, Damien Heurtebise @c Translation checkers: Jean-Charles Malahieude, John Mandereau @@ -514,11 +514,11 @@ crochet de triolet court. @lilypond[quote,ragged-right,verbatim,fragment,relative=2] \tweak direction #up -\times 4/3 { +\tuplet 3/4 { \tweak color #red - \times 2/3 { c8[ c c] } - \times 2/3 { c8[ c c] } - \times 2/3 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } } @end lilypond @@ -532,14 +532,14 @@ avec la commande @code{\override} : @cindex TupletNumber, exemple de dérogation @lilypond[quote,ragged-right,verbatim,fragment,relative=1] -\times 2/3 { c8[ c c] } +\tuplet 3/2 { c8[ c c] } \once \override TupletNumber.text = #tuplet-number::calc-fraction-text -\times 2/3 { +\tuplet 3/2 { c8[ c] c8[ c] \once \override TupletNumber.transparent = ##t - \times 2/3 { c8[ c c] } - \times 2/3 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } } @end lilypond diff --git a/Documentation/fr/notation/ancient.itely b/Documentation/fr/notation/ancient.itely index 3cd4ba9d50..f78800ccc1 100644 --- a/Documentation/fr/notation/ancient.itely +++ b/Documentation/fr/notation/ancient.itely @@ -9,7 +9,7 @@ @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @c Translators: Jean-Charles Malahieude @@ -667,7 +667,7 @@ semi-brèves (@emph{tempus perfectum}) doit s'effectuer à la main en entrant : @example -breveTP = #(ly:make-duration -1 0 3 2) +breveTP = #(ly:make-duration -1 0 3/2) @dots{} @{ c\breveTP f1 @} @end example @@ -2843,9 +2843,9 @@ peuvent se réaliser avec des @qq{notes silencieuses} (@code{s}). spiritus = \relative c' { \time 1/4 \override Lyrics.LyricText.X-extent = #'(0 . 3) - d4 \times 2/3 { f8 a g } g a a4 g f8 e + d4 \tuplet 3/2 { f8 a g } g a a4 g f8 e d4 f8 g g8 d f g a g f4 g8 a a4 s - \times 2/3 { g8 f d } e f g a g4 + \tuplet 3/2 { g8 f d } e f g a g4 } spirLyr = \lyricmode { diff --git a/Documentation/fr/notation/cheatsheet.itely b/Documentation/fr/notation/cheatsheet.itely index 344dd0f6ef..6df0134f1a 100644 --- a/Documentation/fr/notation/cheatsheet.itely +++ b/Documentation/fr/notation/cheatsheet.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @c Translators: Valentin Villenave @c Translation checkers: Jean-Charles Malahieude @@ -230,12 +230,12 @@ f8 c2 d e @end lilypond -@item @code{\times 2/3 @{f g a@}} +@item @code{\tuplet 3/2 @{f g a@}} @tab triolets @tab @lilypond[relative=1] \set Staff.implicitTimeSignatureVisibility = #all-invisible -\times 2/3 { f8 g a } +\tuplet 3/2 { f8 g a } @end lilypond diff --git a/Documentation/fr/notation/editorial.itely b/Documentation/fr/notation/editorial.itely index 31fb96822f..677da1255f 100644 --- a/Documentation/fr/notation/editorial.itely +++ b/Documentation/fr/notation/editorial.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @c Translators: Jean-Charles Malahieude @@ -626,7 +626,7 @@ spécifie quant à elle l'espace de temps entre chaque ligne. \context { \Staff \consists "Grid_point_engraver" %% active les guides - gridInterval = #(ly:make-moment 1 4) + gridInterval = #(ly:make-moment 1/4) } \context { \Score diff --git a/Documentation/fr/notation/fretted-strings.itely b/Documentation/fr/notation/fretted-strings.itely index 0dc8fed745..9aaf2b6bb7 100644 --- a/Documentation/fr/notation/fretted-strings.itely +++ b/Documentation/fr/notation/fretted-strings.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @c Translators: Matthieu Jacquot @c Translation checkers: Jean-Charles Malahieude @@ -1723,7 +1723,7 @@ music = \relative c' { < b\3 \deadNote d\2 b'\1 > < c\3 \deadNote e\2 c'\1 > \deadNotesOn - \times 2/3 { g8 b e } + \tuplet 3/2 { g8 b e } \deadNotesOff < a,\3 c\2 e\1 >1 } diff --git a/Documentation/fr/notation/input.itely b/Documentation/fr/notation/input.itely index 0e6e671bc4..a5fbb526f8 100644 --- a/Documentation/fr/notation/input.itely +++ b/Documentation/fr/notation/input.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @c Translators: Jean-Charles Malahieude, Valentin Villenave @@ -2946,7 +2946,7 @@ Par exemple, indiquer 90 à la noire pointée est équivalent à spécifier 270 croches à la minute : @example -tempoWholesPerMinute = #(ly:make-moment 270 8) +tempoWholesPerMinute = #(ly:make-moment 270/8) @end example @cindex MIDI et définition de contexte diff --git a/Documentation/fr/notation/repeats.itely b/Documentation/fr/notation/repeats.itely index a1d9b2f7f4..898f9d9eeb 100644 --- a/Documentation/fr/notation/repeats.itely +++ b/Documentation/fr/notation/repeats.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.16.0" +@c \version "2.17.11" @c Translators: Valentin Villenave, Jean-Charles Malahieude @c Translation checkers: Jean-Charles Malahieude, John Mandereau @@ -223,11 +223,11 @@ au début de chaque alternative à l'exception de la première. \alternative { { f2 d | - \set Timing.measureLength = #(ly:make-moment 3 4) + \set Timing.measureLength = #(ly:make-moment 3/4) g4 g g % optional bar check is allowed here } { - \set Timing.measureLength = #(ly:make-moment 4 4) + \set Timing.measureLength = #(ly:make-moment 4/4) a2 a | } } @@ -659,7 +659,7 @@ différentes sont remplacées par un double symbole de pourcentage. @lilypond[verbatim,quote,relative=2] \repeat percent 4 { c8. 16 } -\repeat percent 2 { \times 2/3 { r8 c d } e4 } +\repeat percent 2 { \tuplet 3/2 { r8 c d } e4 } @end lilypond @snippets diff --git a/Documentation/fr/notation/rhythms.itely b/Documentation/fr/notation/rhythms.itely index e6fdca1526..adde26aa93 100644 --- a/Documentation/fr/notation/rhythms.itely +++ b/Documentation/fr/notation/rhythms.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @c Translators: Frédéric Chiasson, Jean-Charles Malahieude @c Translation checkers: Valentin Villenave, François Martin, Xavier Scheuer @@ -218,8 +218,8 @@ est le triolet, dans lequel trois notes ont la durée de deux, et où les notes durent donc deux tiers de leur valeur écrite. @lilypond[quote,verbatim,relative=2] -a2 \times 2/3 { b4 b b } -c4 c \times 2/3 { b4 a g } +a2 \tuplet 3/2 { b4 b b } +c4 c \tuplet 3/2 { b4 a g } @end lilypond @cindex crochet de nolet, positionnement @@ -240,7 +240,7 @@ Les nolets peuvent être imbriqués ; par exemple, @lilypond[quote,verbatim,relative=2] \autoBeamOff -c4 \times 4/5 { f8 e f \times 2/3 { e[ f g] } } f4 | +c4 \tuplet 5/4 { f8 e f \tuplet 3/2 { e[ f g] } } f4 | @end lilypond Lorsque, dans une imbrication, les nolets débutent au même instant, il @@ -1439,7 +1439,7 @@ De fait, @code{\partial 8} équivaut à : @lilypond[quote,verbatim,relative=1] \time 3/4 -\set Timing.measurePosition = #(ly:make-moment -1 8) +\set Timing.measurePosition = #(ly:make-moment -1/8) e8 | a4 c8 b c4 | @end lilypond @@ -1473,7 +1473,7 @@ s'afficher, voire des problèmes inopinés surgir. Utilisez plutôt \time 6/8 \partial 8 e8 | a4 c8 b[ c b] | -\set Timing.measurePosition = #(ly:make-moment -1 4) +\set Timing.measurePosition = #(ly:make-moment -1/4) r8 e,8 | a4 c8 b[ c b] | @end lilypond @@ -1679,7 +1679,7 @@ les règles de ligature automatique. \scaleDurations 3/5 { \repeat unfold 2 { c8[ c c] } \repeat unfold 2 { c8[ c] } | - c4. c \times 2/3 { c8[ c c] } c4 + c4. c \tuplet 3/2 { c8[ c c] } c4 } } >> @@ -2136,12 +2136,12 @@ tout moment, avant de déterminer les ligatures par @code{beatStructure}. \time 4/4 a8^"default" a a a a a a a -\set Timing.baseMoment = #(ly:make-moment 1 4) +\set Timing.baseMoment = #(ly:make-moment 1/4) \set Timing.beatStructure = #'(1 1 1 1) a8^"no change" a a a a a a a \set Timing.beamExceptions = #'() -\set Timing.baseMoment = #(ly:make-moment 1 4) +\set Timing.baseMoment = #(ly:make-moment 1/4) \set Timing.beatStructure = #'(1 1 1 1) a8^"changed" a a a a a a a @end lilypond @@ -2197,7 +2197,7 @@ valeur de @code{baseMoment}. @lilypond[quote,verbatim,relative=2] \time 5/8 -\set Timing.baseMoment = #(ly:make-moment 1 16) +\set Timing.baseMoment = #(ly:make-moment 1/16) \set Timing.beatStructure = #'(7 3) \repeat unfold 10 { a16 } @end lilypond @@ -2300,7 +2300,7 @@ de cette dérogation. @lilypond[quote,verbatim,relative=2] \time 4/4 -\set Timing.baseMoment = #(ly:make-moment 1 8) +\set Timing.baseMoment = #(ly:make-moment 1/8) \set Timing.beatStructure = #'(3 3 2) % This won't beam (3 3 2) because of beamExceptions \repeat unfold 8 {c8} | @@ -2439,7 +2439,7 @@ métrique que dans une seule portée. << \new Staff { \time 3/4 - \set Timing.baseMoment = #(ly:make-moment 1 8) + \set Timing.baseMoment = #(ly:make-moment 1/8) \set Timing.beatStructure = #'(1 5) \set Timing.beamExceptions = #'() \repeat unfold 6 { a8 } @@ -2612,10 +2612,10 @@ quatre dernières gardent un tempo régulier. @lilypond[relative=1,verbatim,quote] \override Beam.grow-direction = #LEFT -\featherDurations #(ly:make-moment 2 1) +\featherDurations #(ly:make-moment 2/1) { c16[ c c c c c c c] } \override Beam.grow-direction = #RIGHT -\featherDurations #(ly:make-moment 2 3) +\featherDurations #(ly:make-moment 2/3) { c32[ d e f] } % revert to non-feathered beams \override Beam.grow-direction = #'() @@ -3714,11 +3714,11 @@ La barre de mesure suivante tombera donc à 9/8 et non à 5/8. @lilypond[quote,verbatim] \new Voice \relative c' { - \set Timing.measureLength = #(ly:make-moment 5 4) + \set Timing.measureLength = #(ly:make-moment 5/4) c1 c4 | c1 c4 | c4 c - \set Timing.measurePosition = #(ly:make-moment 5 8) + \set Timing.measurePosition = #(ly:make-moment 5/8) b4 b b8 | c4 c1 | } diff --git a/Documentation/fr/notation/spacing.itely b/Documentation/fr/notation/spacing.itely index 061b81fa52..ef870bff42 100644 --- a/Documentation/fr/notation/spacing.itely +++ b/Documentation/fr/notation/spacing.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @c Translators: Frédéric Chiasson, Jean-Charles Malahieude @@ -1505,7 +1505,7 @@ forcés doivent être saisis au sein d'une expression polyphonique : \remove "Forbid_line_break_engraver" } \relative c'' { << - { c2. \times 2/3 { c4 c c } c2. | } + { c2. \tuplet 3/2 { c4 c c } c2. | } { s1 | \break s1 | } >> } @@ -1740,7 +1740,7 @@ la manière suivante : a4 b c d | R1 | % une tourne peut se placer ici a4 b c d | - \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2) + \set Staff.minimumPageTurnLength = #(ly:make-moment 5/2) R1 | % il ne peut pas y avoir de tourne ici a4 b r2 | R1*2 | % une tourne peut se placer ici @@ -3098,7 +3098,7 @@ resserrée. En effet, @code{ly:make-moment} construit une durée : \layout { \context { \Score - \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 16) + \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/16) } } } @@ -3117,14 +3117,14 @@ s'appliquera à toute la partition, puisque mentionnée au sein d'un bloc \score { << \new Staff { - \times 4/5 { + \tuplet 5/4 { c8 c8 c8 c8 c8 } c8 c8 c8 c8 } \new Staff { c8 c8 c8 c8 - \times 4/5 { + \tuplet 5/4 { c8 c8 c8 c8 c8 } } @@ -3252,7 +3252,7 @@ classique et justifiée à gauche. \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } @@ -3281,7 +3281,7 @@ définissant la propriété @code{proportionalNotationDuration}. \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } @@ -3289,7 +3289,7 @@ définissant la propriété @code{proportionalNotationDuration}. \layout { \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 20) + proportionalNotationDuration = #(ly:make-moment 1/20) } } } @@ -3316,8 +3316,8 @@ prend deux arguments : un numérateur et un dénominateur qui représentent une fraction de ronde. L'appel de @w{@code{(ly:make-moment 1 20)}} produit donc une durée de référence égale à un vingtième de ronde. Vous pourriez tout aussi bien utiliser -@code{(ly:make-moment 1 16)}, @code{(ly:make-moment 1 8)} ou -@code{(ly:make-moment 3 97)}. +@code{(ly:make-moment 1/16)}, @code{(ly:make-moment 1/8)} ou +@code{(ly:make-moment 3/97)}. Se pose alors le problème de fournir la juste durée de référence à @code{proportionalNotationDuration}. Il faut en l'occurrence procéder par @@ -3332,7 +3332,7 @@ une durée de référence élevée produira une musique resserrée. \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } @@ -3340,7 +3340,7 @@ une durée de référence élevée produira une musique resserrée. \layout { \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 8) + proportionalNotationDuration = #(ly:make-moment 1/8) } } } @@ -3350,7 +3350,7 @@ une durée de référence élevée produira une musique resserrée. \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } @@ -3358,7 +3358,7 @@ une durée de référence élevée produira une musique resserrée. \layout { \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 16) + proportionalNotationDuration = #(ly:make-moment 1/16) } } } @@ -3368,7 +3368,7 @@ une durée de référence élevée produira une musique resserrée. \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } @@ -3376,7 +3376,7 @@ une durée de référence élevée produira une musique resserrée. \layout { \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 32) + proportionalNotationDuration = #(ly:make-moment 1/32) } } } @@ -3402,12 +3402,12 @@ ajoutons lui une portée incluant un autre type de nolet. \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } \new RhythmicStaff { - \times 8/9 { + \tuplet 9/8 { c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 } } @@ -3428,12 +3428,12 @@ les règles qu'elle applique peuvent amener à ce résultat. Le recours à \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } \new RhythmicStaff { - \times 8/9 { + \tuplet 9/8 { c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 } } @@ -3441,7 +3441,7 @@ les règles qu'elle applique peuvent amener à ce résultat. Le recours à \layout { \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 20) + proportionalNotationDuration = #(ly:make-moment 1/20) } } } @@ -3459,12 +3459,12 @@ allons activer le @code{uniform-stretching}, propriété attachée au \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } \new RhythmicStaff { - \times 8/9 { + \tuplet 9/8 { c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 } } @@ -3472,7 +3472,7 @@ allons activer le @code{uniform-stretching}, propriété attachée au \layout { \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 20) + proportionalNotationDuration = #(ly:make-moment 1/20) \override SpacingSpanner.uniform-stretching = ##t } } @@ -3566,7 +3566,7 @@ les deux portées suivantes : @lilypond[quote,verbatim,ragged-right] \new Staff { - \set Score.proportionalNotationDuration = #(ly:make-moment 1 16) + \set Score.proportionalNotationDuration = #(ly:make-moment 1/16) c''8 c''8 c''8 @@ -3576,7 +3576,7 @@ les deux portées suivantes : } \new Staff { - \set Score.proportionalNotationDuration = #(ly:make-moment 1 16) + \set Score.proportionalNotationDuration = #(ly:make-moment 1/16) \override Score.SpacingSpanner.strict-note-spacing = ##t c''8 c''8 @@ -3801,7 +3801,7 @@ valeur plus longue -- donnera un effet @qq{resserré} à la musique : \layout { \context { \Score - \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1 2) + \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1/2) } } } diff --git a/Documentation/fr/notation/vocal.itely b/Documentation/fr/notation/vocal.itely index e55096b608..59a4bec2e8 100644 --- a/Documentation/fr/notation/vocal.itely +++ b/Documentation/fr/notation/vocal.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @c Translators: Valentin Villenave, Jean-Charles Malahieude @c Translation checkers: Jean-Jacques Gerbaud @@ -1906,7 +1906,7 @@ modifie la propriété @code{associatedVoice}. Dans cet exemple, << \new Voice = "alternative" { \voiceOne - \times 2/3 { + \tuplet 3/2 { % show associations clearly. \override NoteColumn.force-hshift = #-3 f8 f g @@ -3142,7 +3142,7 @@ global = { \layout { \context { \Score - \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 2) + \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/2) } \context { \Staff diff --git a/Documentation/fr/usage/lilypond-book.itely b/Documentation/fr/usage/lilypond-book.itely index 27ccb9b922..8c01668252 100644 --- a/Documentation/fr/usage/lilypond-book.itely +++ b/Documentation/fr/usage/lilypond-book.itely @@ -9,7 +9,7 @@ @end ignore -@c \version "2.16.0" +@c \version "2.17.11" @c Translators: Jean-Charles Malahieude @c Translation checkers: @@ -100,7 +100,7 @@ Par exemple, \begin{lilypond} \relative c' { - c2 e2 \times 2/3 { f8 a b } a2 e4 + c2 e2 \tuplet 3/2 { f8 a b } a2 e4 } \end{lilypond} @@ -165,7 +165,7 @@ Par exemple, @lilypond \relative c' { - c2 e2 \times 2/3 { f8 a b } a2 e4 + c2 e2 \tuplet 3/2 { f8 a b } a2 e4 } @end lilypond diff --git a/Documentation/fr/web/manuals.itexi b/Documentation/fr/web/manuals.itexi index fc8bd944f1..38d39e02c0 100644 --- a/Documentation/fr/web/manuals.itexi +++ b/Documentation/fr/web/manuals.itexi @@ -577,10 +577,10 @@ l'adresse @uref{http://lilypond.org} @divClass{keep-bullets} @itemize -@item @uref{http://lilypond.org/doc/v2.14/Documentation/web/manuals, +@item @uref{http://lilypond.org/doc/v2.14/Documentation/web/manuals.fr.html, LilyPond 2.14 Documentation} -@item @uref{http://lilypond.org/doc/v2.12/Documentation/, +@item @uref{http://lilypond.org/doc/v2.12/Documentation/index.fr.html, LilyPond 2.12 Documentation} @item @uref{http://lilypond.org/doc/v2.10/Documentation/, diff --git a/Documentation/hu/learning/common-notation.itely b/Documentation/hu/learning/common-notation.itely index 70fc1f520a..0e7c28c138 100644 --- a/Documentation/hu/learning/common-notation.itely +++ b/Documentation/hu/learning/common-notation.itely @@ -9,7 +9,7 @@ @end ignore -@c \version "2.16.0" +@c \version "2.17.11" @node Elemi kottaírás @chapter Elemi kottaírás @@ -452,10 +452,10 @@ a @notation{triolák} lejegyzett hosszúságuk 2/3 részéig szólnak, így trio 2/3 kell, hogy legyen a tört értéke. @lilypond[verbatim,quote,relative=2] -\times 2/3 { f8 g a } -\times 2/3 { c r c } -\times 2/3 { f,8 g16[ a g a] } -\times 2/3 { d4 a8 } +\tuplet 3/2 { f8 g a } +\tuplet 3/2 { c r c } +\tuplet 3/2 { f,8 g16[ a g a] } +\tuplet 3/2 { d4 a8 } @end lilypond @subheading Előkék @@ -1151,7 +1151,7 @@ változóra. @c KEEP LY @lilypond[verbatim,quote] -triolaA = \times 2/3 { c,8 e g } +triolaA = \tuplet 3/2 { c,8 e g } ütemA = { \triolaA \triolaA \triolaA \triolaA } \relative c'' { diff --git a/Documentation/hu/learning/fundamental.itely b/Documentation/hu/learning/fundamental.itely index 3f1d4a5dad..eac8db8e06 100644 --- a/Documentation/hu/learning/fundamental.itely +++ b/Documentation/hu/learning/fundamental.itely @@ -10,7 +10,7 @@ @c -*- coding: utf-8; mode: texinfo; -*- -@c \version "2.17.6" +@c \version "2.17.11" @node Alapfogalmak @chapter Alapfogalmak @translationof Fundamental concepts @@ -482,10 +482,10 @@ frazeálóív, amely túlnyúlik a triolán. @lilypond[quote,verbatim,fragment,ragged-right] { - r16[ g16 \times 2/3 {r16 e'8] } - g16( a \times 2/3 {b d) e' } - g8[( a \times 2/3 {b d') e'~]} - \times 4/5 {e'32\( a b d' e'} a'4.\) + r16[ g16 \tuplet 3/2 {r16 e'8] } + g16( a \tuplet 3/2 {b d) e' } + g8[( a \tuplet 3/2 {b d') e'~]} + \tuplet 5/4 {e'32\( a b d' e'} a'4.\) } @end lilypond diff --git a/Documentation/hu/usage/lilypond-book.itely b/Documentation/hu/usage/lilypond-book.itely index 0246b03e49..48617438b5 100644 --- a/Documentation/hu/usage/lilypond-book.itely +++ b/Documentation/hu/usage/lilypond-book.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.16.0" +@c \version "2.17.11" @c Note: keep this node named so that `info lilypond-book' brings you here. @node lilypond-book @@ -85,7 +85,7 @@ kottapéldákat tartalmazhatnak. Például: \begin{lilypond} \relative c' { - c2 e2 \times 2/3 { f8 a b } a2 e4 + c2 e2 \tuplet 3/2 { f8 a b } a2 e4 } \end{lilypond} @@ -141,7 +141,7 @@ kottapéldákat tartalmazhatnak. Például: @lilypond \relative c' { - c2 e2 \times 2/3 { f8 a b } a2 e4 + c2 e2 \tuplet 3/2 { f8 a b } a2 e4 } @end lilypond diff --git a/Documentation/hu/web/basic-authors.itexi b/Documentation/hu/web/basic-authors.itexi deleted file mode 100644 index 6a298a7750..0000000000 --- a/Documentation/hu/web/basic-authors.itexi +++ /dev/null @@ -1,392 +0,0 @@ -@c -*- coding: utf-8; mode: texinfo; -*- -@c This file is part of community.itexi - -@ignore - - This file lists authors of LilyPond, and what they wrote. Each - list is sorted alphabetically by surname. This file lists people - that have contributed more than a few hours of work. - - Developers are people who have been listed under the "Development - Team" in Documentation/misc/THANKS*, or who are added when they - reach a significant amount of contributions with respect to the - existing Developers list, and can choose their own titles. - Contributors are everybody else, and simply list their - contributions. All lists are sorted alphabetically. - - Anybody who has finished doing a "main devel team" task should - list it under developersPrevious, even if they're still doing - other "main devel team" stuff. See "Graham Percival" for an - example. - - Contributors are also split between Current and Previous, and - each category contains: - core... (programming) - font... (duh) - doc... (documentation and examples) - support... (building, distributions, editors, - lilypond-book, LSR, but *not* answering emails) - translations... (duh) - We might add a "general" or "other" if there's something else. - -@end ignore - - -@macro developersCurrent - -@itemize - -@item Mats Bengtsson: -@email{mats.bengtsson@@ee.kth.se}, -@uref{http://www.s3.kth.se/~mabe/}, -Támogatás - -@item Trevor Daniels: -Dokumentációszerkesztő asszisztens - -@item Reinhold Kainhofer: -@email{reinhold@@kainhofer.com}, -@uref{http://reinhold.kainhofer.com}, -MusicXML guru, hibajavítás - -@item Jonathan Kulp: -Dokumentációszerkesztő asszisztens - -@item Werner Lemberg, -@email{wl@@gnu.org}, -Betűtípus-tervező, hibajavítás - -@item John Mandereau: -@email{john.mandereau@@free.fr}, -Honosításfelelős - -@item Patrick McCarty: -SVG guru, hibajavítás, szövegkezelés - -@item Joe Neeman: -Fejlesztő - -@item Han-Wen Nienhuys: -@email{hanwen@@xs4all.nl}, -@uref{http://www.xs4all.nl/~hanwen/}, -Fő fejlesztő - -@item Jan Nieuwenhuizen: -@email{janneke@@gnu.org}, -@uref{http://www.xs4all.nl/~jantien/}, -Fő fejlesztő - -@item Graham Percival: -@uref{http://percival-music.ca}, -Projekt manager, dokumentációszerkesztő - -@item Mark Polesky: -Dokumentációszerkesztő assisztens, kódtisztítás - -@item Neil Puttock: -Fejlesztő - -@item Nicolas Sceaux: -Fejlesztő, Scheme guru - -@item Carl Sorensen: -@email{c_sorensen@@byu.edu}, -Fejlesztő, a Békák felelőse - -@item Francisco Vila: -Honosítás - -@item Valentin Villenave: -LilyPond Kódrészletek Tárházának szerkesztője, hibafelelős - -@end itemize -@end macro - - - -@macro developersPrevious - -@itemize - -@c use colons not commas for @item entries. - -@item Pedro Kroeger: -Fordításfelelős - -@item Graham Percival: -@uref{http://percival-music.ca}, -Hibafelelős, a Nagy Dokumentációs Projekt vezetője - -@item Jürgen Reuter: -@email{reuter_j@@web.de}, -@uref{http://www.juergen-reuter.de}, -Régizene lejegyzése - -@item Erik Sandberg: -Hibafelelős - -@end itemize -@end macro - - -@c ***************** current contributors - -@macro coreCurrent - -@c use commas not colons - -Frédéric Bron, -Hajo Dezelski, -Andrew Hawryluk, -Ian Hulin, -Michael Käppler, -Marek Klein, -Kieren MacMillan, -Andrew Wilson - -@c no comma for last entry - -@end macro - - - -@macro fontCurrent - -@c use commas not colons - -Simon Tatham - -@c no comma for last entry - -@end macro - - - -@macro docCurrent - -@c use commas not colons - -James Lowe, -Ralph Palmer, -Patrick Schmidt - -@c no comma for last entry - -@end macro - - -@macro supportCurrent - -@c use commas not colons - -James E. Bailey, -Christian Hitz - -@c no comma for last entry - -@end macro - - - -@macro translationsCurrent - -@c use commas not colons - -Benkő Pál, -Fodor Bertalan, -Harmath Dénes, -Rébeli-Szabó Tamás, -Selyem Zoltán Csaba, -Szervác Attila, -Udvari Gábor - -@c no comma for last entry - -@end macro - - -@c ***************** previous contributors - -@macro corePrevious - -@c use commas not colons - -Erlend Aasland, -Maximilian Albert, -Guido Amoruso, -Kristof Bastiaensen, -Pal Benko, -@c @email{benkop@@freestart.hu}, -Juliusz Chroboczek, -@c @email{jch@@pps.jussieu.fr}, -Angelo Contardi, -David Feuer, -@c @email{david.feuer@@gmail.com}, -Bertalan Fodor, -Mathieu Giraud, -Yuval Harel, -Bernard Hurley, -@c @email{bernard@@fong-hurley.org.uk}, -Yoshinobu Ishizaki, -Chris Jackson, -@c @email{chris@@fluffhouse.org.uk}, -David Jedlinsky, -Heikki Junes, -@c @email{heikki.junes@@hut.fi}, -Michael Krause, -@c @email{m.krause@@tu-harburg.de}, -Jean-Baptiste Lamy, -@c @email{jiba@@tuxfamily.org}, -Jonatan Liljedahl, -Peter Lutek, -Hendrik Maryns, -Joe Neeman, -@c @email{joeneeman@@gmail.com}, -Matthias Neeracher, -Tatsuya Ono, -Lisa Opus Goldstein, -Guy Gascoigne-Piggford, -Stan Sanderson, -Edward Sanford Sutton, -Andreas Scherer, -Johannes Schindelin, -Kim Shrier, -Vicente Solsona Della, -David Svoboda, -Sebastiano Vigna, -Arno Waschk, -Michael Welsh Duggan, -John Williams, -Milan Zamazal, -Rune Zedeler - -@c no comma for last entry - -@end macro - - - -@macro fontPrevious - -@c use commas not colons - -Tom Cato Amundsen, -@c @email{tca@@gnu.org}, -Chris Jackson, -@c @email{chris@@fluffhouse.org.uk}, -Arno Waschk, -@c @email{arno@@arnowaschk.de}, -Rune Zedeler - -@c no comma for last entry - -@end macro - - - -@macro docPrevious - -@c use commas not colons - -Erlend Aasland, -Trevor Bača, -Alard de Boer, -Jay Hamilton, -Andrew Hawryluk, -Joseph Harfouch, -Cameron Horsburgh, -Geoff Horton, -Ian Hulin, -Heikki Junes, -@c @email{heikki.junes@@hut.fi}, -Kurtis Kroon, -Dave Luttinen, -Kieren MacMillan, -Christian Mondrup, -@c @email{scancm@@biobase.dk}, -Eyolf Østrem, -Ralph Palmer, -François Pinard, -@c @email{pinard@@iro.umontreal.ca}, -@c @uref{http://pinard.progiciels-bpi.ca/}, -Eduardo Vieira, -Michael Rasmussen, -Till Rettig, -Carl D. Sorensen, -Anh Hai Trinh, -Rune Zedeler - -@c no comma for last entry - -@end macro - - - -@macro supportPrevious - -@c use commas not colons - -Anthony Fok, -@c @email{foka@@debian.org}, -Chris Jackson, -@c @email{chris@@fluffhouse.org.uk}, -Heikki Junes, -@c @email{heikki.junes@@hut.fi}, -David Svoboda -@c @email{svoboda@@cmu.edu} - -@c no comma for last entry - -@end macro - - - -@macro translationsPrevious - -@c use commas not colons - -Frédéric Chiasson, -Abel Cheung, -Alard de Boer, -Simon Dahlbacka, -Orm Finnendahl, -David González, -Nicolas Grandclaude, -@c @email{ngclaude@@123mail.org}, -Damien Heurtebise, -Matthieu Jacquot, -Bjoern Jacke, -@c @email{bjoern.jacke@@gmx.de}, -Neil Jerram, -@c @email{nj104@@cus.cam.ac.uk}, -Heikki Junes, -@c @email{heikki.junes@@hut.fi}, -Nicolas Klutchnikoff, -Jean-Charles Malahieude, -@c @email{lolyfan@@wanadoo.fr}, -Adrian Mariano, -Christian Mondrup, -Tineke de Munnik, -@c @email{tdm@@dds.nl}, -Steven Michael Murphy, -François Pinard, -Gauvain Pocentek, -@c @email{gauvainpocentek@@yahoo.fr}, -Till Rettig, -Ludovic Sardain, -@c @email{ludovicsardain@@gmail.com}, -Yoshiki Sawada, -Thomas Scharkowski, -Clytie Siddall, -August S. Sigov, -@c @email{august@@infran.ru}, -Roland Stigge, -Risto Vääräniemi, -Andrea Valle, -Olcay Yıldırım - -@c no comma for last entry - -@end macro - - diff --git a/Documentation/hu/web/community.itexi b/Documentation/hu/web/community.itexi index 17be338147..14a93b3b24 100644 --- a/Documentation/hu/web/community.itexi +++ b/Documentation/hu/web/community.itexi @@ -569,111 +569,6 @@ fejlesztői verziót ajánljuk: @end quotation -@subheading Dokumentáció - -@divClass{keep-bullets} -@itemize - -@item -Tankönyv: - -@manualDevelLearningSplit-hu -@* @manualDevelLearningBig-hu -@* @manualDevelLearningPdf-hu - -@item -Fogalomtár: - -@manualDevelGlossarySplit-hu - -@manualDevelGlossaryBig-hu - -@manualDevelGlossaryPdf-hu - -@item -Esszé: - -@manualDevelEssaySplit-hu - -@manualDevelEssayBig-hu - -@manualDevelEssayPdf-hu - - -@c separate introduction, regular, infrequent manuals -@smallspace - -@item -Kottaírás: - -@manualDevelNotationSplit-hu - -@manualDevelNotationBig-hu - -@manualDevelNotationPdf-hu - -@item -Használat: - -@manualDevelUsageSplit-hu - -@manualDevelUsageBig-hu - -@manualDevelUsagePdf-hu - -@item -Kódrészletek: - -@manualDevelSnippetsSplit-hu - -@manualDevelSnippetsBig-hu - -@manualDevelSnippetsPdf-hu - - -@c separate introduction, regular, infrequent manuals -@smallspace - -@item -Web: - -@manualDevelWebSplit-hu - -@manualDevelWebBig-hu - -@manualDevelWebPdf-hu - -@item -Változások: - -@manualDevelChangesSplit-hu - -@manualDevelChangesBig-hu - -@manualDevelChangesPdf-hu - -@item -Bővítés: - -@manualDevelExtendingSplit-hu - -@manualDevelExtendingBig-hu - -@manualDevelExtendingPdf-hu - -@item -Belső működés: - -@manualDevelInternalsSplit-hu - -@manualDevelInternalsBig-hu - -@manualDevelInternalsPdf-hu - -@end itemize -@divEnd -@divEnd - @divClass{column-right-top} @subheading Útmutató közreműködőknek @@ -688,9 +583,9 @@ olvashatsz.} @docLinksBare{Útmutató közreműködőknek, contributor, @rcontribnamed{Top,Útmutató közreműködőknek}, - @manualDevelContributorSplit-hu, - @manualDevelContributorBig-hu, 500 kB, - @manualDevelContributorPdf-hu, 2.8 MB} + @manualDevelContributorSplit, + @manualDevelContributorBig, 500 kB, + @manualDevelContributorPdf, 2.8 MB} @divEnd @@ -765,6 +660,97 @@ Archívum} @divEnd @divEnd +@subheading Dokumentáció + +@divClass{normal-table} +@multitable @columnfractions .3 .3 .3 +@headitem Introduction +@item +@docLinkSplit{Tankönyv,learning,@manualDevelLearningSplit-hu} +@tab +@docLinkBig{Tankönyv,learning,@manualDevelLearningBig-hu} +@tab +@docLinkPdf{Tankönyv,learning,@manualDevelLearningPdf-hu} + +@item +@docLinkSplit{Fogalomtár,music-glossary,@manualDevelGlossarySplit} +@tab +@docLinkBig{Fogalomtár,music-glossary,@manualDevelGlossaryBig} +@tab +@docLinkPdf{Fogalomtár,music-glossary,@manualDevelGlossaryPdf} + +@item +@docLinkSplit{Esszé,essay,@manualDevelEssaySplit} +@tab +@docLinkBig{Esszé,essay,@manualDevelEssayBig} +@tab +@docLinkPdf{Esszé,essay,@manualDevelEssayPdf} + +@headitem Regular + +@item +@docLinkSplit{Kottaírás,notation,@manualDevelNotationSplit} +@tab +@docLinkBig{Kottaírás,notation,@manualDevelNotationBig} +@tab +@docLinkPdf{Kottaírás,notation,@manualDevelNotationPdf} + +@item +@docLinkSplit{Használat,usage,@manualDevelUsageSplit-hu} +@tab +@docLinkBig{Használat,usage,@manualDevelUsageBig-hu} +@tab +@docLinkPdf{Használat,usage,@manualDevelUsagePdf-hu} + +@item +@docLinkSplit{Kódrészletek,snippets,@manualDevelSnippetsSplit} +@tab +@docLinkBig{Kódrészletek,snippets,@manualDevelSnippetsBig} +@tab +@docLinkPdf{Kódrészletek,snippets,@manualDevelSnippetsPdf} + +@headitem Infrequent + +@item +@docLinkSplit{Web,web,@manualDevelWebSplit-hu} +@tab +@docLinkBig{Web,web,@manualDevelWebBig-hu} +@tab +@docLinkPdf{Web,web,@manualDevelWebPdf-hu} + +@item +@docLinkSplit{Változások,changes,@manualDevelChangesSplit} +@tab +@docLinkBig{Változások,changes,@manualDevelChangesBig} +@tab +@docLinkPdf{Változások,changes,@manualDevelChangesPdf} + +@item +@docLinkSplit{Bővítés,extending,@manualDevelExtendingSplit} +@tab +@docLinkBig{Bővítés,extending,@manualDevelExtendingBig} +@tab +@docLinkPdf{Bővítés,extending,@manualDevelExtendingPdf} + +@item +@docLinkSplit{működés,internals,@manualDevelInternalsSplit} +@tab +@docLinkBig{működés,internals,@manualDevelInternalsBig} +@tab +@docLinkPdf{működés,internals,@manualDevelInternalsPdf} + +@ifset web_version +@headitem Downloadable + +@item +@doctarballDevel +@end ifset + +@end multitable + +@divEnd +@divEnd + @node Készítők @unnumberedsec Készítők @translationof Authors diff --git a/Documentation/hu/web/manuals.itexi b/Documentation/hu/web/manuals.itexi index 054f76c9b0..bf052b46ca 100644 --- a/Documentation/hu/web/manuals.itexi +++ b/Documentation/hu/web/manuals.itexi @@ -47,13 +47,13 @@ Bevezetés a LilyPond használatába lépésről lépésre. @details{Tankönyv} @item -@ifWebLinks{@manualStableGlossarySplitNoName-hu,@rglosnamed{Top,Fogalomtár}} +@ifWebLinks{@manualStableGlossarySplitNoName,@rglosnamed{Top,Fogalomtár}} @emph{(opcionális)} Zenei fogalmak gyűjteménye több nyelven. @details{Fogalomtár} @item -@ifWebLinks{@manualStableEssaySplitNoName-hu,@ressaynamed{Top,Esszé}} +@ifWebLinks{@manualStableEssaySplitNoName,@ressaynamed{Top,Esszé}} @emph{(opcionális)} Háttérinformáció a kottaszedés folyamatáról és a 19. századi kottaszedés esztétikai elveiről. @@ -69,7 +69,7 @@ esztétikai elveiről. @itemize @item -@ifWebLinks{@manualStableNotationSplitNoName-hu,@rusernamed{Top,Kottaírás}} +@ifWebLinks{@manualStableNotationSplitNoName,@rusernamed{Top,Kottaírás}} A dokumentáció törzsanyaga; részletesen bemutatja a különböző kottaelemek beviteli módját. @details{Kottaírás} @@ -81,7 +81,7 @@ rendszerek közötti különbségekre. @details{Használat} @item -@ifWebLinks{@manualStableSnippetsSplitNoName-hu,@rlsrnamed{Top,Kódrészletek}} +@ifWebLinks{@manualStableSnippetsSplitNoName,@rlsrnamed{Top,Kódrészletek}} Hasznos példák, tippek, trükkök. @details{Kódrészletek} @@ -104,17 +104,17 @@ Gyakran Ismételt Kérdések. A weboldal. @item -@ifWebLinks{@manualStableChangesSplitNoName-hu,@rchangesnamed{Top,Változások}} +@ifWebLinks{@manualStableChangesSplitNoName,@rchangesnamed{Top,Változások}} A legutóbbi verzióváltás óta történt változások. @details{Változások} @item -@ifWebLinks{@manualStableExtendingSplitNoName-hu,@rextendnamed{Top,Bővítés}} +@ifWebLinks{@manualStableExtendingSplitNoName,@rextendnamed{Top,Bővítés}} A LilyPond képességeinek kiterjesztése. @details{Bővítés} @item -@ifWebLinks{@manualStableInternalsSplitNoName-hu,@rinternalsnamed{Top,Belső működés}} +@ifWebLinks{@manualStableInternalsSplitNoName,@rinternalsnamed{Top,Belső működés}} A LilyPond belső szerkezetének referenciája. A kimenet finomhangolásához szükséges. @details{Belső működés} @@ -221,9 +221,9 @@ megfelelőjére vagy kíváncsi, érdemes megnézni a fogalomtárban. @docLinks{Fogalomtár, music-glossary, @rglosnamed{Top,Fogalomtár}, - @manualStableGlossarySplit-hu, - @manualStableGlossaryBig-hu, 1 MB, - @manualStableGlossaryPdf-hu, 1.5 MB} + @manualStableGlossarySplit, + @manualStableGlossaryBig, 1 MB, + @manualStableGlossaryPdf, 1.5 MB} @divEnd @@ -247,9 +247,9 @@ majd felületesen bemutatja a LilyPond szedési technikáit, @docLinks{Esszé, essay, @ressaynamed{Top,Esszé}, - @manualStableEssaySplit-hu, - @manualStableEssayBig-hu, 2 MB, - @manualStableEssayPdf-hu, 2.5 MB} + @manualStableEssaySplit, + @manualStableEssayBig, 2 MB, + @manualStableEssayPdf, 2.5 MB} @divEnd @@ -273,9 +273,9 @@ megfelelőjét, melyek a @ref{Fogalomtár}ban vannak leírva.} @docLinks{Kottaírás, notation, @rusernamed{Top,Kottaírás}, - @manualStableNotationSplit-hu, - @manualStableNotationBig-hu, 7 MB, - @manualStableNotationPdf-hu, 18 MB} + @manualStableNotationSplit, + @manualStableNotationBig, 7 MB, + @manualStableNotationPdf, 18 MB} @divEnd @@ -324,9 +324,9 @@ A kottaírás kézikönyvének megfelelő szakaszaiban is találhatóak ilyenek @docLinks{Kódrészletek, snippets, @rlsrnamed{Top,Kódrészletek}, - @manualStableSnippetsSplit-hu, - @manualStableSnippetsBig-hu, 2.5 MB, - @manualStableSnippetsPdf-hu, 8 MB} + @manualStableSnippetsSplit, + @manualStableSnippetsBig, 2.5 MB, + @manualStableSnippetsPdf, 8 MB} @divEnd @@ -419,9 +419,9 @@ az előző stabil verzió óta. @docLinks{Változások, changes, @rchangesnamed{Top,Változások}, - @manualStableChangesSplit-hu, - @manualStableChangesBig-hu, 6 KB, - @manualStableChangesPdf-hu, 200 KB} + @manualStableChangesSplit, + @manualStableChangesBig, 6 KB, + @manualStableChangesPdf, 200 KB} @divEnd @@ -441,9 +441,9 @@ Scheme nyelven írt bővítményekkel. @docLinks{Bővítés, extending, @rextendnamed{Top,Bővítés}, - @manualStableExtendingSplit-hu, - @manualStableExtendingBig-hu, 200 KB, - @manualStableExtendingPdf-hu, 400 KB} + @manualStableExtendingSplit, + @manualStableExtendingBig, 200 KB, + @manualStableExtendingPdf, 400 KB} @divEnd @@ -465,9 +465,9 @@ formázni, ebben a listában érdemes megkeresni az adott tulajdonság nevét. @docLinks{Belső működés, internals, @rinternalsnamed{Top,Belső működés}, - @manualStableInternalsSplit-hu, - @manualStableInternalsBig-hu, 2.5 MB, - @manualStableInternalsPdf-hu, 2.8 MB} + @manualStableInternalsSplit, + @manualStableInternalsBig, 2.5 MB, + @manualStableInternalsPdf, 2.8 MB} @divEnd @@ -514,6 +514,9 @@ A csomagok letölthetőek a @uref{http://lilypond.org} weboldalról. @divClass{keep-bullets} @itemize +@item @uref{http://lilypond.org/doc/v2.14/Documentation/web/manuals, +2.14} + @item @uref{http://lilypond.org/doc/v2.12/Documentation/, 2.12} diff --git a/Documentation/included/display-predefined-string-tunings.ly b/Documentation/included/display-predefined-string-tunings.ly index 5e0181f6aa..455d953757 100644 --- a/Documentation/included/display-predefined-string-tunings.ly +++ b/Documentation/included/display-predefined-string-tunings.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.17.11" #(define (filter-instrument instrument-name tuning-alist) (filter (lambda (entry) @@ -16,7 +16,7 @@ 'text (symbol->string tuning-symbol)) (map (lambda (pitch) (make-music 'NoteEvent - 'duration (ly:make-duration 0 0 1 1) + 'duration (ly:make-duration 0 0 1/1) 'pitch pitch)) pitches))))) diff --git a/Documentation/included/script-chart.ly b/Documentation/included/script-chart.ly index ef64790ffd..59424615c9 100644 --- a/Documentation/included/script-chart.ly +++ b/Documentation/included/script-chart.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.17.11" \header { texidoc ="@cindex Feta scripts @@ -98,7 +98,7 @@ This chart shows all articulations, or scripts, that the feta font contains. (list (make-music 'NoteEvent 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 0 0)) (make-music @@ -129,7 +129,7 @@ This chart shows all articulations, or scripts, that the feta font contains. (list (make-music 'LyricEvent 'duration - (ly:make-duration 2 0 1 1) + (ly:make-duration 2 0 1/1) 'text script)))) diff --git a/Documentation/it/learning/common-notation.itely b/Documentation/it/learning/common-notation.itely index 572adcef52..c3f6acea1d 100644 --- a/Documentation/it/learning/common-notation.itely +++ b/Documentation/it/learning/common-notation.itely @@ -9,7 +9,7 @@ @end ignore -@c \version "2.16.0" +@c \version "2.17.11" @ignore Tutorial guidelines: (different from policy.txt!) @@ -523,10 +523,10 @@ Le terzine fanno sì che le note occupino 2/3 della loro durata, quindi una @notation{terzina} ha 2/3 come frazione: @lilypond[verbatim,quote,relative=2] -\times 2/3 { f8 g a } -\times 2/3 { c8 r c } -\times 2/3 { f,8 g16[ a g a] } -\times 2/3 { d4 a8 } +\tuplet 3/2 { f8 g a } +\tuplet 3/2 { c8 r c } +\tuplet 3/2 { f,8 g16[ a g a] } +\tuplet 3/2 { d4 a8 } @end lilypond @subheading Abbellimenti @@ -1277,7 +1277,7 @@ un'altra variabile successiva, dando la possibilità di accorciare l'input se una sezione della musica viene ripetuta molte volte. @lilypond[verbatim,quote] -tripletA = \times 2/3 { c,8 e g } +tripletA = \tuplet 3/2 { c,8 e g } barA = { \tripletA \tripletA \tripletA \tripletA } \relative c'' { diff --git a/Documentation/it/learning/fundamental.itely b/Documentation/it/learning/fundamental.itely index 7ff22dd629..e05d712950 100644 --- a/Documentation/it/learning/fundamental.itely +++ b/Documentation/it/learning/fundamental.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @node Concetti fondamentali @chapter Concetti fondamentali @@ -536,10 +536,10 @@ irregolari, e una legatura di frase che si estende fuori da un gruppo irregolare (linee 3 e 4). @lilypond[quote,verbatim,ragged-right,relative=1] -r16[ g \times 2/3 { r16 e'8] } -g,16( a \times 2/3 { b16 d) e } -g,8[( a \times 2/3 { b8 d) e~] } | -\times 4/5 { e32\( a, b d e } a4.\) +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 diff --git a/Documentation/it/learning/tweaks.itely b/Documentation/it/learning/tweaks.itely index 790618a6e3..9e6e96ccde 100644 --- a/Documentation/it/learning/tweaks.itely +++ b/Documentation/it/learning/tweaks.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @node Modifica dell'output @chapter Modifica dell'output @@ -451,11 +451,11 @@ deve essere in rosso. @lilypond[quote,ragged-right,verbatim,fragment,relative=2] \tweak direction #up -\times 4/3 { +\tuplet 3/4 { \tweak color #red - \times 2/3 { c8[ c c] } - \times 2/3 { c8[ c c] } - \times 2/3 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } } @end lilypond @@ -472,14 +472,14 @@ aspetto può essere modificato come di consueto con i comandi @code{\override}: @c NOTE Tuplet brackets collide if notes are high on staff @c See issue 509 @lilypond[quote,ragged-right,verbatim,fragment,relative=1] -\times 2/3 { c8[ c c] } +\tuplet 3/2 { c8[ c c] } \once \override TupletNumber.text = #tuplet-number::calc-fraction-text -\times 2/3 { +\tuplet 3/2 { c8[ c] c8[ c] \once \override TupletNumber.transparent = ##t - \times 2/3 { c8[ c c] } - \times 2/3 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } } @end lilypond @@ -942,8 +942,8 @@ preceduto da un apostrofo @item Moment @tab Una frazione di una nota intera costruita con la funzione make-moment - @tab @code{(ly:make-moment 1 4)}, - @code{(ly:make-moment 3 8)} + @tab @code{(ly:make-moment 1/4)}, + @code{(ly:make-moment 3/8)} @item Number @tab Qualsiasi valore decimale positivo o negativo @tab @code{3.5}, @w{@code{-2.45}} diff --git a/Documentation/it/usage/lilypond-book.itely b/Documentation/it/usage/lilypond-book.itely index 77ad3f45c2..6be89d2f74 100644 --- a/Documentation/it/usage/lilypond-book.itely +++ b/Documentation/it/usage/lilypond-book.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.16.0" +@c \version "2.17.11" @c Note: keep this node named so that `info lilypond-book' brings you here. @node lilypond-book @@ -87,7 +87,7 @@ Ad esempio, \begin{lilypond} \relative c' { - c2 e2 \times 2/3 { f8 a b } a2 e4 + c2 e2 \tuplet 3/2 { f8 a b } a2 e4 } \end{lilypond} @@ -147,7 +147,7 @@ Ad esempio, @lilypond \relative c' { - c2 e2 \times 2/3 { f8 a b } a2 e4 + c2 e2 \tuplet 3/2 { f8 a b } a2 e4 } @end lilypond diff --git a/Documentation/it/web/community.itexi b/Documentation/it/web/community.itexi index 49e4bb685f..30bd798a93 100644 --- a/Documentation/it/web/community.itexi +++ b/Documentation/it/web/community.itexi @@ -775,11 +775,11 @@ manuali sono reperibili su @url{http://lilypond.org}} @multitable @columnfractions .3 .3 .3 @headitem Introduzione @item -@docLinkSplit{Learning,learning,@manualDevelLearningSplit} +@docLinkSplit{Learning,learning,@manualDevelLearningSplit-it} @tab -@docLinkBig{Learning,learning,@manualDevelLearningBig} +@docLinkBig{Learning,learning,@manualDevelLearningBig-it} @tab -@docLinkPdf{Learning,learning,@manualDevelLearningPdf} +@docLinkPdf{Learning,learning,@manualDevelLearningPdf-it} @item @docLinkSplit{Glossary,music-glossary,@manualDevelGlossarySplit} @@ -789,27 +789,27 @@ manuali sono reperibili su @url{http://lilypond.org}} @docLinkPdf{Glossary,music-glossary,@manualDevelGlossaryPdf} @item -@docLinkSplit{Essay,essay,@manualDevelEssaySplit} +@docLinkSplit{Essay,essay,@manualDevelEssaySplit-it} @tab -@docLinkBig{Essay,essay,@manualDevelEssayBig} +@docLinkBig{Essay,essay,@manualDevelEssayBig-it} @tab -@docLinkPdf{Essay,essay,@manualDevelEssayPdf} +@docLinkPdf{Essay,essay,@manualDevelEssayPdf-it} @headitem Regolare @item -@docLinkSplit{Notation,notation,@manualDevelNotationSplit} +@docLinkSplit{Notation,notation,@manualDevelNotationSplit-it} @tab -@docLinkBig{Notation,notation,@manualDevelNotationBig} +@docLinkBig{Notation,notation,@manualDevelNotationBig-it} @tab -@docLinkPdf{Notation,notation,@manualDevelNotationPdf} +@docLinkPdf{Notation,notation,@manualDevelNotationPdf-it} @item -@docLinkSplit{Usage,usage,@manualDevelUsageSplit} +@docLinkSplit{Usage,usage,@manualDevelUsageSplit-it} @tab -@docLinkBig{Usage,usage,@manualDevelUsageBig} +@docLinkBig{Usage,usage,@manualDevelUsageBig-it} @tab -@docLinkPdf{Usage,usage,@manualDevelUsagePdf} +@docLinkPdf{Usage,usage,@manualDevelUsagePdf-it} @item @docLinkSplit{Snippets,snippets,@manualDevelSnippetsSplit} @@ -821,11 +821,11 @@ manuali sono reperibili su @url{http://lilypond.org}} @headitem Saltuario @item -@docLinkSplit{Web,web,@manualDevelWebSplit} +@docLinkSplit{Web,web,@manualDevelWebSplit-it} @tab -@docLinkBig{Web,web,@manualDevelWebBig} +@docLinkBig{Web,web,@manualDevelWebBig-it} @tab -@docLinkPdf{Web,web,@manualDevelWebPdf} +@docLinkPdf{Web,web,@manualDevelWebPdf-it} @item @docLinkSplit{Changes,changes,@manualDevelChangesSplit} diff --git a/Documentation/it/web/manuals.itexi b/Documentation/it/web/manuals.itexi index 23c77980ee..773419acad 100644 --- a/Documentation/it/web/manuals.itexi +++ b/Documentation/it/web/manuals.itexi @@ -67,7 +67,7 @@ informazioni sull'incisione realizzata dal computer. @itemize -@item @ifWebLinks{@manualStableNotationSplitNoName,@rusernamed{Top,Notazione}} +@item @ifWebLinks{@manualStableNotationSplitNoName-it,@rusernamed{Top,Notazione}} guida alla sintassi. @details{Notazione} @@ -190,9 +190,9 @@ e seguire questi riferimenti incrociati per maggiori informazioni. @docLinks{Apprendimento, learning, @rlearningnamed{Top,Apprendimento}, - @manualStableLearningSplit, - @manualStableLearningBig, 1.5 MB, - @manualStableLearningPdf, 3 MB} + @manualStableLearningSplit-it, + @manualStableLearningBig-it, 1.5 MB, + @manualStableLearningPdf-it, 3 MB} @divEnd @@ -269,9 +269,9 @@ musicali inglesi presentati nel Glossario.} @docLinks{Notazione, notation, @rusernamed{Top,Notazione}, - @manualStableNotationSplit, - @manualStableNotationBig, 7 MB, - @manualStableNotationPdf, 18 MB} + @manualStableNotationSplit-it, + @manualStableNotationBig-it, 7 MB, + @manualStableNotationPdf-it, 18 MB} @divEnd @@ -294,9 +294,9 @@ intraprendere un progetto impegnativo. @docLinks{Uso, usage, @rprogramnamed{Top,Uso}, - @manualStableUsageSplit, - @manualStableUsageBig, 400 KB, - @manualStableUsagePdf, 600 KB} + @manualStableUsageSplit-it, + @manualStableUsageBig-it, 400 KB, + @manualStableUsagePdf-it, 600 KB} @divEnd @@ -403,9 +403,9 @@ di bug e lo sviluppo. @docLinksBare{Web, web, @ref{Top,Web}, - @manualDevelWebSplit, - @manualDevelWebBig, 1 MB, - @manualDevelWebPdf, 2 MB} + @manualDevelWebSplit-it, + @manualDevelWebBig-it, 1 MB, + @manualDevelWebPdf-it, 2 MB} @divEnd @@ -531,12 +531,12 @@ I pacchetti scaricabili sono disponibili presso @uref{http://lilypond.org} @divClass{keep-bullets} @itemize +@item @uref{http://lilypond.org/doc/v2.14/Documentation/web/manuals.it.html, +Documentazione di LilyPond 2.14} + @item @uref{http://lilypond.org/doc/v2.12/Documentation/, Documentazione di LilyPond 2.12} -@item @uref{http://lilypond.org/doc/v2.11/Documentation/, -Documentazione di LilyPond 2.11} - @item @uref{http://lilypond.org/doc/v2.10/Documentation/, Documentazione di LilyPond 2.10} diff --git a/Documentation/ja/learning/common-notation.itely b/Documentation/ja/learning/common-notation.itely index 2fec9f83c0..18485c449c 100644 --- a/Documentation/ja/learning/common-notation.itely +++ b/Documentation/ja/learning/common-notation.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.16.0" +@c \version "2.17.11" @ignore Tutorial guidelines: (different from policy.txt!) @@ -542,10 +542,10 @@ c2 d | 分数として 2/3 を持ちます。 @lilypond[verbatim,quote,relative=2] -\times 2/3 { f8 g a } -\times 2/3 { c8 r c } -\times 2/3 { f,8 g16[ a g a] } -\times 2/3 { d4 a8 } +\tuplet 3/2 { f8 g a } +\tuplet 3/2 { c8 r c } +\tuplet 3/2 { f,8 g16[ a g a] } +\tuplet 3/2 { d4 a8 } @end lilypond @@ -1353,7 +1353,7 @@ cello = \new Staff { 楽曲のある部分が何度もリピートしている場合に入力の手間を省くことができます。 @lilypond[verbatim,quote] -tripletA = \times 2/3 { c,8 e g } +tripletA = \tuplet 3/2 { c,8 e g } barA = { \tripletA \tripletA \tripletA \tripletA } \relative c'' { diff --git a/Documentation/ja/learning/fundamental.itely b/Documentation/ja/learning/fundamental.itely index 9fefaa1682..64fa18dbc5 100644 --- a/Documentation/ja/learning/fundamental.itely +++ b/Documentation/ja/learning/fundamental.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @c Translators: Yoshiki Sawada @c Translation status: post-GDP @@ -587,10 +587,10 @@ LilyPond 以外では、種類の異なる括弧が適切にネストされる さらにフレージング スラーが連符の外にまで伸びています (行 3 と 4)。 @lilypond[quote,verbatim,ragged-right,relative=1] -r16[ g \times 2/3 { r16 e'8] } -g,16( a \times 2/3 { b16 d) e } -g,8[( a \times 2/3 { b8 d) e~] } | -\times 4/5 { e32\( a, b d e } a4.\) +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 diff --git a/Documentation/ja/learning/tweaks.itely b/Documentation/ja/learning/tweaks.itely index 7f0c0dbd17..682c438c5b 100644 --- a/Documentation/ja/learning/tweaks.itely +++ b/Documentation/ja/learning/tweaks.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @c Translators: Yoshiki Sawada @c Translation status: post-GDP @@ -502,11 +502,11 @@ a4^"Black" @lilypond[quote,ragged-right,verbatim,fragment,relative=2] \tweak direction #up -\times 4/3 { +\tuplet 3/4 { \tweak color #red - \times 2/3 { c8[ c c] } - \times 2/3 { c8[ c c] } - \times 2/3 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } } @end lilypond @@ -519,14 +519,14 @@ a4^"Black" @cindex TupletNumber, example of overriding (TupletNumber をオーバライドする例) @lilypond[quote,ragged-right,verbatim,fragment,relative=1] -\times 2/3 { c8[ c c] } +\tuplet 3/2 { c8[ c c] } \once \override TupletNumber.text = #tuplet-number::calc-fraction-text -\times 2/3 { +\tuplet 3/2 { c8[ c] c8[ c] \once \override TupletNumber.transparent = ##t - \times 2/3 { c8[ c c] } - \times 2/3 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } } @end lilypond diff --git a/Documentation/ja/notation/cheatsheet.itely b/Documentation/ja/notation/cheatsheet.itely index bfa5d66712..7987ccf445 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.6" +@c \version "2.17.11" @c Translators: Yoshiki Sawada @@ -233,12 +233,12 @@ f8 c2 d e @end lilypond -@item @code{\times 2/3 @{f g a@}} +@item @code{\tuplet 3/2 @{f g a@}} @tab 3 連符 @tab @lilypond[relative=1,fragment] \set Staff.implicitTimeSignatureVisibility = #all-invisible -\times 2/3 { f8 g a } +\tuplet 3/2 { f8 g a } @end lilypond diff --git a/Documentation/ja/notation/editorial.itely b/Documentation/ja/notation/editorial.itely index 9140d55281..213c498934 100644 --- a/Documentation/ja/notation/editorial.itely +++ b/Documentation/ja/notation/editorial.itely @@ -7,7 +7,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @c Translators: Yoshiki Sawada @@ -634,7 +634,7 @@ altered: \context { \Staff \consists "Grid_point_engraver" - gridInterval = #(ly:make-moment 1 4) + gridInterval = #(ly:make-moment 1/4) } \context { \Score diff --git a/Documentation/ja/notation/fretted-strings.itely b/Documentation/ja/notation/fretted-strings.itely index 970edfb494..41f0dab45c 100644 --- a/Documentation/ja/notation/fretted-strings.itely +++ b/Documentation/ja/notation/fretted-strings.itely @@ -7,7 +7,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @c Translators: Yoshiki Sawada @c Translation status: post-GDP @@ -1745,7 +1745,7 @@ music = \relative c' { < b\3 \deadNote d\2 b'\1 > < c\3 \deadNote e\2 c'\1 > \deadNotesOn - \times 2/3 { g8 b e } + \tuplet 3/2 { g8 b e } \deadNotesOff < a,\3 c\2 e\1 >1 } diff --git a/Documentation/ja/notation/repeats.itely b/Documentation/ja/notation/repeats.itely index 41a2c5e031..d5b64eb646 100644 --- a/Documentation/ja/notation/repeats.itely +++ b/Documentation/ja/notation/repeats.itely @@ -7,7 +7,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.16.0" +@c \version "2.17.11" @c Translators: Yoshiki Sawada @@ -236,11 +236,11 @@ g1 | \alternative { { f2 d | - \set Timing.measureLength = #(ly:make-moment 3 4) + \set Timing.measureLength = #(ly:make-moment 3/4) g4 g g % optional bar check is allowed here } { - \set Timing.measureLength = #(ly:make-moment 4 4) + \set Timing.measureLength = #(ly:make-moment 4/4) a2 a | } } @@ -661,7 +661,7 @@ c1 @lilypond[verbatim,quote,relative=2] \repeat percent 4 { c8. 16 } -\repeat percent 2 { \times 2/3 { r8 c d } e4 } +\repeat percent 2 { \tuplet 3/2 { r8 c d } e4 } @end lilypond @snippets diff --git a/Documentation/ja/notation/rhythms.itely b/Documentation/ja/notation/rhythms.itely index 08d8844523..81e2140ccb 100644 --- a/Documentation/ja/notation/rhythms.itely +++ b/Documentation/ja/notation/rhythms.itely @@ -6,7 +6,7 @@ version that you are working on. See TRANSLATION for details. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @c Translators: Yoshiki Sawada @c Translation status: post-GDP @@ -212,8 +212,8 @@ a4 b c4. b8 a4. b4.. c8. そのため、3 連符で指定する分数は 2/3 です。 @lilypond[quote,verbatim,relative=2] -a2 \times 2/3 { b4 b b } -c4 c \times 2/3 { b4 a g } +a2 \tuplet 3/2 { b4 b b } +c4 c \tuplet 3/2 { b4 a g } @end lilypond @cindex tuplet bracket placement (連符囲みの配置) @@ -232,7 +232,7 @@ c4 c \times 2/3 { b4 a g } @lilypond[quote,verbatim,relative=2] \autoBeamOff -c4 \times 4/5 { f8 e f \times 2/3 { e[ f g] } } f4 +c4 \tuplet 5/4 { f8 e f \tuplet 3/2 { e[ f g] } } f4 @end lilypond ネストされた連符の演奏開始点が同時である場合に、それらの連符を変更するには @@ -1391,7 +1391,7 @@ r4 e8 | a4 c8 b c4 | @lilypond[quote,verbatim,relative=1] \time 3/4 -\set Timing.measurePosition = #(ly:make-moment -1 8) +\set Timing.measurePosition = #(ly:make-moment -1/8) e8 | a4 c8 b c4 | @end lilypond @@ -1427,7 +1427,7 @@ e8 | a4 c8 b c4 | \time 6/8 \partial 8 e8 | a4 c8 b[ c b] | -\set Timing.measurePosition = #(ly:make-moment -1 4) +\set Timing.measurePosition = #(ly:make-moment -1/4) r8 e,8 | a4 c8 b[ c b] | @end lilypond @@ -1647,7 +1647,7 @@ c8 c c \scaleDurations 3/5 { \repeat unfold 2 { c8[ c c] } \repeat unfold 2 { c8[ c] } | - c4. c \times 2/3 { c8[ c c] } c4 + c4. c \tuplet 3/2 { c8[ c c] } c4 } } >> @@ -2116,7 +2116,7 @@ c16^"(3+2)" c c c c | @lilypond[quote,verbatim,relative=2] \time 5/8 -\set Timing.baseMoment = #(ly:make-moment 1 16) +\set Timing.baseMoment = #(ly:make-moment 1/16) \set Timing.beatStructure = #'(7 3) \repeat unfold 10 { a16 } @end lilypond @@ -2203,7 +2203,7 @@ c16 c c | @c KEEP LY @lilypond[quote,verbatim,relative=2] \time 4/4 -\set Timing.baseMoment = #(ly:make-moment 1 8) +\set Timing.baseMoment = #(ly:make-moment 1/8) \set Timing.beatStructure = #'(3 3 2) % 以下は beamExceptions のため、(3 3 2) の連桁にはなりません \repeat unfold 8 {c8} | @@ -2339,7 +2339,7 @@ r4. a8 a a | << \new Staff { \time 3/4 - \set Timing.baseMoment = #(ly:make-moment 1 8) + \set Timing.baseMoment = #(ly:make-moment 1/8) \set Timing.beatStructure = #'(1 5) \repeat unfold 6 { a8 } } @@ -2510,10 +2510,10 @@ ritardando (徐々に緩やかに) や accelerando (次第に速く) を@c @lilypond[relative=1,verbatim,quote] \override Beam.grow-direction = #LEFT -\featherDurations #(ly:make-moment 2 1) +\featherDurations #(ly:make-moment 2/1) { c16[ c c c c c c c] } \override Beam.grow-direction = #RIGHT -\featherDurations #(ly:make-moment 2 3) +\featherDurations #(ly:make-moment 2/3) { c32[ d e f] } % revert to non-feathered beams \override Beam.grow-direction = #'() @@ -3528,11 +3528,11 @@ MyCadenza = \relative c' { @lilypond[quote,verbatim] \new Voice \relative c' { - \set Timing.measureLength = #(ly:make-moment 5 4) + \set Timing.measureLength = #(ly:make-moment 5/4) c1 c4 | c1 c4 | c4 c - \set Timing.measurePosition = #(ly:make-moment 5 8) + \set Timing.measurePosition = #(ly:make-moment 5/8) b4 b b8 | c4 c1 | } diff --git a/Documentation/ja/notation/spacing.itely b/Documentation/ja/notation/spacing.itely index 8aefc64bdb..478940a1bd 100644 --- a/Documentation/ja/notation/spacing.itely +++ b/Documentation/ja/notation/spacing.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @c Translators: Yoshiki Sawada @@ -1398,7 +1398,7 @@ c4 c c c | \remove "Forbid_line_break_engraver" } \relative c'' { << - { c2. \times 2/3 { c4 c c } c2. | } + { c2. \tuplet 3/2 { c4 c c } c2. | } { s1 | \break s1 | } >> } @@ -1641,7 +1641,7 @@ LilyPond が改ページを決定するためのデフォルトの手法です コンテキスト プロパティ @code{minimumPageTurnLength} を読み込んで、@c どれくらい音符が無いセクションが続いたらページめくりを考慮するかを決定します。@c @code{minimumPageTurnLength} のデフォルト値は -@code{(ly:make-moment 1 1)} です。@c +@code{(ly:make-moment 1/1)} です。@c ページめくりを不可にしたいのならば、@c @code{minimumPageTurnLength} に非常に大きな値をセットします。 @@ -1651,7 +1651,7 @@ LilyPond が改ページを決定するためのデフォルトの手法です a4 b c d | R1 | % ここでページめくりが許可されます a4 b c d | - \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2) + \set Staff.minimumPageTurnLength = #(ly:make-moment 5/2) R1 | % ここではページめくりは許可されません a4 b r2 | R1*2 | % ここでページめくりが許可されます @@ -3003,7 +3003,7 @@ c16[ c c8] \layout { \context { \Score - \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 16) + \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/16) } } } @@ -3023,14 +3023,14 @@ c16[ c c8] \score { << \new Staff { - \times 4/5 { + \tuplet 5/4 { c8 c8 c8 c8 c8 } c8 c8 c8 c8 } \new Staff { c8 c8 c8 c8 - \times 4/5 { + \tuplet 5/4 { c8 c8 c8 c8 c8 } } @@ -3153,7 +3153,7 @@ LilyPond はプロポーショナル ノーテーション用に 5 つの設定 \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } @@ -3183,7 +3183,7 @@ LilyPond はプロポーショナル ノーテーション用に 5 つの設定 \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } @@ -3191,7 +3191,7 @@ LilyPond はプロポーショナル ノーテーション用に 5 つの設定 \layout { \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 20) + proportionalNotationDuration = #(ly:make-moment 1/20) } } } @@ -3216,10 +3216,10 @@ LilyPond はプロポーショナル ノーテーション用に 5 つの設定 これはすべての音楽要素へのスペースに関係する参照演奏時間です。@c LilyPond Scheme 関数 @code{make-moment} は 2 つの引数をとります -- 全音符の分数を表す分子と分母です。@c -それゆえ、@code{(ly:make-moment 1 20)} という呼び出しは、@c +それゆえ、@code{(ly:make-moment 1/20)} という呼び出しは、@c 20 分音符の参照演奏時間となります。@c -@code{(ly:make-moment 1 16)}, @code{(ly:make-moment 1 8)}, それに -@code{(ly:make-moment 3 97)} という値はすべてとり得る値です。 +@code{(ly:make-moment 1/16)}, @code{(ly:make-moment 1/8)}, それに +@code{(ly:make-moment 3/97)} という値はすべてとり得る値です。 では、どのように @code{proportionalNotationDuration} に渡す@c 適切な参照演奏時間を決めるのでしょうか?@c @@ -3234,7 +3234,7 @@ LilyPond Scheme 関数 @code{make-moment} は 2 つの引数をとります \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } @@ -3242,7 +3242,7 @@ LilyPond Scheme 関数 @code{make-moment} は 2 つの引数をとります \layout { \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 8) + proportionalNotationDuration = #(ly:make-moment 1/8) } } } @@ -3252,7 +3252,7 @@ LilyPond Scheme 関数 @code{make-moment} は 2 つの引数をとります \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } @@ -3260,7 +3260,7 @@ LilyPond Scheme 関数 @code{make-moment} は 2 つの引数をとります \layout { \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 16) + proportionalNotationDuration = #(ly:make-moment 1/16) } } } @@ -3270,7 +3270,7 @@ LilyPond Scheme 関数 @code{make-moment} は 2 つの引数をとります \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } @@ -3278,7 +3278,7 @@ LilyPond Scheme 関数 @code{make-moment} は 2 つの引数をとります \layout { \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 32) + proportionalNotationDuration = #(ly:make-moment 1/32) } } } @@ -3303,12 +3303,12 @@ LilyPond Scheme 関数 @code{make-moment} は 2 つの引数をとります \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } \new RhythmicStaff { - \times 8/9 { + \tuplet 9/8 { c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 } } @@ -3329,12 +3329,12 @@ LilyPond Scheme 関数 @code{make-moment} は 2 つの引数をとります \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } \new RhythmicStaff { - \times 8/9 { + \tuplet 9/8 { c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 } } @@ -3342,7 +3342,7 @@ LilyPond Scheme 関数 @code{make-moment} は 2 つの引数をとります \layout { \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 20) + proportionalNotationDuration = #(ly:make-moment 1/20) } } } @@ -3361,12 +3361,12 @@ LilyPond Scheme 関数 @code{make-moment} は 2 つの引数をとります \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } \new RhythmicStaff { - \times 8/9 { + \tuplet 9/8 { c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 } } @@ -3374,7 +3374,7 @@ LilyPond Scheme 関数 @code{make-moment} は 2 つの引数をとります \layout { \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 20) + proportionalNotationDuration = #(ly:make-moment 1/20) \override SpacingSpanner.uniform-stretching = ##t } } @@ -3471,7 +3471,7 @@ OFF であるかのどちらかであるということです。@c @lilypond[quote,verbatim,ragged-right] \new Staff { - \set Score.proportionalNotationDuration = #(ly:make-moment 1 16) + \set Score.proportionalNotationDuration = #(ly:make-moment 1/16) c''8 c''8 c''8 @@ -3481,7 +3481,7 @@ OFF であるかのどちらかであるということです。@c } \new Staff { - \set Score.proportionalNotationDuration = #(ly:make-moment 1 16) + \set Score.proportionalNotationDuration = #(ly:make-moment 1/16) \override Score.SpacingSpanner.strict-note-spacing = ##t c''8 c''8 @@ -3707,7 +3707,7 @@ e4 c g-\tweak X-offset #-2.7 -\tweak Y-offset #2.5 \f c \layout { \context { \Score - \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1 2) + \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1/2) } } } diff --git a/Documentation/ja/notation/vocal.itely b/Documentation/ja/notation/vocal.itely index 5c676b92f2..77e286af42 100644 --- a/Documentation/ja/notation/vocal.itely +++ b/Documentation/ja/notation/vocal.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @c Translators: Yoshiki Sawada @c Translation status: post-GDP @@ -1904,7 +1904,7 @@ text = { << \new Voice = "alternative" { \voiceOne - \times 2/3 { + \tuplet 3/2 { % show associations clearly. \override NoteColumn.force-hshift = #-3 f8 f g @@ -3098,7 +3098,7 @@ global = { \layout { \context { \Score - \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 2) + \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/2) } \context { \Staff diff --git a/Documentation/ja/usage/lilypond-book.itely b/Documentation/ja/usage/lilypond-book.itely index 5eec93487c..988fc9dcc3 100644 --- a/Documentation/ja/usage/lilypond-book.itely +++ b/Documentation/ja/usage/lilypond-book.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.16.0" +@c \version "2.17.11" @c Translators: Yoshiki Sawada @@ -95,7 +95,7 @@ Windows や Mac OS X のコマンド ラインを用いて @code{lilypond-book} \begin{lilypond} \relative c' { - c2 e2 \times 2/3 { f8 a b } a2 e4 + c2 e2 \tuplet 3/2 { f8 a b } a2 e4 } \end{lilypond} @@ -157,7 +157,7 @@ Texinfo で処理されるため、上記の例とはレイアウトが少し異 @lilypond \relative c' { - c2 e2 \times 2/3 { f8 a b } a2 e4 + c2 e2 \tuplet 3/2 { f8 a b } a2 e4 } @end lilypond diff --git a/Documentation/learning/common-notation.itely b/Documentation/learning/common-notation.itely index 949e2bcdc9..9e392fcd4b 100644 --- a/Documentation/learning/common-notation.itely +++ b/Documentation/learning/common-notation.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.16.0" +@c \version "2.17.11" @ignore Tutorial guidelines: (different from policy.txt!) @@ -496,22 +496,23 @@ c2 d | @cindex tuplets @cindex triplets -@funindex \times -@funindex times +@funindex \tuplet +@funindex tuplet Music Glossary: @rglos{note value}, @rglos{triplet}. -@notation{Tuplets} are made with the @code{\times} keyword. It +@notation{Tuplets} are made with the @code{\tuplet} keyword. It takes two arguments: a fraction and a piece of music. The -duration of the piece of music is multiplied by the fraction. -Triplets make notes occupy 2/3 of their notated duration, so a -@notation{triplet} has 2/3 as its fraction +fraction is the number of tuplet notes over the number +of notes normally filling the same duration. +For triplets, there are three notes instead of two, so +@notation{triplets} have 3/2 as their fraction. @lilypond[verbatim,quote,relative=2] -\times 2/3 { f8 g a } -\times 2/3 { c8 r c } -\times 2/3 { f,8 g16[ a g a] } -\times 2/3 { d4 a8 } +\tuplet 3/2 { f8 g a } +\tuplet 3/2 { c8 r c } +\tuplet 3/2 { f,8 g16[ a g a] } +\tuplet 3/2 { d4 a8 } @end lilypond @subheading Grace notes @@ -1248,7 +1249,7 @@ of another variable, giving a way of shortening the input if a section of music is repeated many times. @lilypond[verbatim,quote] -tripletA = \times 2/3 { c,8 e g } +tripletA = \tuplet 3/2 { c,8 e g } barA = { \tripletA \tripletA \tripletA \tripletA } \relative c'' { diff --git a/Documentation/learning/fundamental.itely b/Documentation/learning/fundamental.itely index e1645dae7a..482425df14 100644 --- a/Documentation/learning/fundamental.itely +++ b/Documentation/learning/fundamental.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @node Fundamental concepts @chapter Fundamental concepts @@ -532,10 +532,10 @@ extending into a tuplet, a tie crossing two tuplets, and a phrasing slur extending out of a tuplet (lines 3 and 4). @lilypond[quote,verbatim,ragged-right,relative=1] -r16[ g \times 2/3 { r16 e'8] } -g,16( a \times 2/3 { b16 d) e } -g,8[( a \times 2/3 { b8 d) e~] } | -\times 4/5 { e32\( a, b d e } a4.\) +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 diff --git a/Documentation/learning/tweaks.itely b/Documentation/learning/tweaks.itely index c1db7e9747..f0ba32ab9b 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.17.6" +@c \version "2.17.11" @node Tweaking output @chapter Tweaking output @@ -478,11 +478,11 @@ printed in red on the first short tuplet bracket. @lilypond[quote,ragged-right,verbatim,fragment,relative=2] \tweak direction #up -\times 4/3 { +\tuplet 3/4 { \tweak color #red - \times 2/3 { c8[ c c] } - \times 2/3 { c8[ c c] } - \times 2/3 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } } @end lilypond @@ -496,14 +496,14 @@ appearance may be modified in the usual way with @cindex TupletNumber, example of overriding @lilypond[quote,ragged-right,verbatim,fragment,relative=1] -\times 2/3 { c8[ c c] } +\tuplet 3/2 { c8[ c c] } \once \override TupletNumber.text = #tuplet-number::calc-fraction-text -\times 2/3 { +\tuplet 3/2 { c8[ c] c8[ c] \once \override TupletNumber.transparent = ##t - \times 2/3 { c8[ c c] } - \times 2/3 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } } @end lilypond @@ -3983,7 +3983,7 @@ inst = \layout@{ \context @{ \Score - \override MetronomeMark.extra-offset = #'(-9 . 0) + \override MetronomeMark.extra-offset = #'(-5 . 0) \override MetronomeMark.padding = #'3 @} \context @{ @@ -4016,7 +4016,7 @@ inst = \layout{ \context { \Score - \override MetronomeMark.extra-offset = #'(-9 . 0) + \override MetronomeMark.extra-offset = #'(-5 . 0) \override MetronomeMark.padding = #'3 } \context { @@ -4069,7 +4069,7 @@ inst = \layout@{ \context @{ \Score - \override MetronomeMark.extra-offset = #'(-9 . 0) + \override MetronomeMark.extra-offset = #'(-5 . 0) \override MetronomeMark.padding = #'3 @} \context @{ @@ -4102,7 +4102,7 @@ inst = \layout{ \context { \Score - \override MetronomeMark.extra-offset = #'(-9 . 0) + \override MetronomeMark.extra-offset = #'(-5 . 0) \override MetronomeMark.padding = #'3 } \context { \Voice diff --git a/Documentation/ly-examples/aucun-snippet.ly b/Documentation/ly-examples/aucun-snippet.ly index 36779a38f4..74eaa5c71e 100644 --- a/Documentation/ly-examples/aucun-snippet.ly +++ b/Documentation/ly-examples/aucun-snippet.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.17.11" \include "example-header.ily" \paper { @@ -187,9 +187,9 @@ triplumNotes = \relative c' { f8 f4 e8 d c f f f | % 1 % the \scaleDurations command below makes 5 notes last the % duration of a dotted quarter - e8 c4 \scaleDurations 3/2 { \times 4/5{e16[ d e d e]} } e8 f4 | % 2 + e8 c4 \scaleDurations 3/2 { \tuplet 5/4{e16[ d e d e]} } e8 f4 | % 2 g2. ~ g4. | % 3 - f8 d4 f4. \scaleDurations 3/2 { \times 4/6{ g16[ f e f e f]}} % 4 + f8 d4 f4. \scaleDurations 3/2 { \tuplet 6/4{ g16[ f e f e f]}} % 4 g8 g4 g4. e4. | % 5 fis8 d4 e8\startGroup g4\stopGroup f8[ e d] | % 6 c2. r4. | % 7 diff --git a/Documentation/ly-examples/cary-layout.ily b/Documentation/ly-examples/cary-layout.ily index 85db19169c..3075225e23 100644 --- a/Documentation/ly-examples/cary-layout.ily +++ b/Documentation/ly-examples/cary-layout.ily @@ -1,5 +1,5 @@ -\version "2.17.6" +\version "2.17.11" \layout { indent = #0 @@ -7,7 +7,7 @@ \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 64) + proportionalNotationDuration = #(ly:make-moment 1/64) \override Beam.breakable = ##t autoBeaming = ##f tupletFullLength = ##t diff --git a/Documentation/ly-examples/cary.ly b/Documentation/ly-examples/cary.ly index 1c96edd1bc..78b1ff9370 100644 --- a/Documentation/ly-examples/cary.ly +++ b/Documentation/ly-examples/cary.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.17.11" % the example header file caused the head to be chopped off %\include "example-header.ily" @@ -57,15 +57,15 @@ } { % measure 6 - \fraction \times 5/3 { - \times 4/5 { + \fraction \tuplet 3/5 { + \tuplet 5/4 { a'64 [ % 36 cs''64 % 37 f''64 % 38 cs''64 % 39 ef'''64 ] % 40 } - \times 4/5 { + \tuplet 5/4 { g''64 [ % 41 c''64 % 42 e''64 % 43 @@ -77,7 +77,7 @@ % measure 7 r8 % 47 - \times 4/5 { + \tuplet 5/4 { d''32 [ % 48 af''32 % 49 e'32 % 50 @@ -115,7 +115,7 @@ } { % measure 6 - \fraction \times 5/3 { + \fraction \tuplet 3/5 { \square f''16 * 1/8 % 40 \square f''16 * 1/8 % 41 \square f''16 * 1/8 % 42 @@ -124,11 +124,11 @@ \square f''16 * 1/8 % 45 \square f''16 * 1/8 % 46 \square f''16 * 1/8 % 47 - \times 2/3 { + \tuplet 3/2 { \square f''16 % 48 \square f''16 * 1/2 % 49 } - \times 2/3 { + \tuplet 3/2 { \square f''16 * 1/4 % 50 \square f''16 * 1/4 % 51 \square f''16 * 1/4 % 52 @@ -143,7 +143,7 @@ \square g''16 * 2/1 % 57 \square g''16 % 58 \square g''16 % 59 - \times 8/9 { + \tuplet 9/8 { s16 % 60 f''16 * 1/4 % 61 f''16 * 1/4 % 62 @@ -153,8 +153,8 @@ } % measure 8 - \times 4/5 { - \times 4/7 { + \tuplet 5/4 { + \tuplet 7/4 { s4 % 66 \triangle a''16 % 67 \triangle a''16 % 68 @@ -186,7 +186,7 @@ } { % measure 6 - \fraction \times 5/3 { + \fraction \tuplet 3/5 { \blackdiamond f'128 [ % 40 \blackdiamond f'128 % 41 \blackdiamond f'128 % 42 @@ -195,11 +195,11 @@ \blackdiamond f'128 % 45 \blackdiamond f'128 % 46 \blackdiamond f'128 ] % 47 - \times 2/3 { + \tuplet 3/2 { \blackdiamond f'16 % 48 \blackdiamond f'32 % 49 } - \times 2/3 { + \tuplet 3/2 { \blackdiamond f'64 % 50 \blackdiamond f'64 % 51 \blackdiamond f'64 % 52 @@ -214,7 +214,7 @@ \harmonic a'8 \glissando % 57 \harmonic a'16 \glissando % 58 \blackdiamond a'16 % 59 - \times 8/9 { + \tuplet 9/8 { s16 % 60 \harmonic g'64 \glissando % 61 \harmonic g'64 \glissando % 62 @@ -224,8 +224,8 @@ } % measure 8 - \times 4/5 { - \times 4/7 { + \tuplet 5/4 { + \tuplet 7/4 { s4 % 66 \blackdiamond f'16 % 67 \blackdiamond f'16 % 68 @@ -257,7 +257,7 @@ } { % measure 6 - \fraction \times 5/3 { + \fraction \tuplet 3/5 { s128 % 40 s128 % 41 s128 % 42 @@ -266,11 +266,11 @@ s128 % 45 s128 % 46 s128 % 47 - \times 2/3 { + \tuplet 3/2 { \semicircle a16 % 48 \semicircle a16 * 1/2 % 49 } - \times 2/3 { + \tuplet 3/2 { \semicircle a16 * 1/4 % 50 \semicircle a16 * 1/4 % 51 \semicircle a16 * 1/4 % 52 @@ -285,7 +285,7 @@ s8 % 57 s16 % 58 \triangle a16 % 59 - \times 8/9 { + \tuplet 9/8 { s16 % 60 s64 % 61 s64 % 62 @@ -295,8 +295,8 @@ } % measure 8 - \times 4/5 { - \times 4/7 { + \tuplet 5/4 { + \tuplet 7/4 { s4 % 66 \semicircle a16 % 67 \semicircle a16 % 68 @@ -333,7 +333,7 @@ } { % measure 6 - \fraction \times 5/3 { + \fraction \tuplet 3/5 { \beam #0 #5 g,128 \sffp \< [ % 40 \beam #5 #5 g,128 % 41 \beam #5 #5 g,128 % 42 @@ -342,11 +342,11 @@ \beam #5 #5 g,128 % 45 \beam #5 #5 g,128 % 46 \beam #5 #1 g,128 % 47 - \times 2/3 { + \tuplet 3/2 { \beam #1 #2 g,16 % 48 \beam #3 #1 g,32 \fX % 49 } - \times 2/3 { + \tuplet 3/2 { \beam #1 #4 g,64 \sffp \< % 50 \beam #4 #4 g,64 % 51 \beam #4 #4 g,64 % 52 @@ -361,7 +361,7 @@ g,8 \sf \< [ % 57 g,16 % 58 \beam #2 #0 g,16 \ffX ] % 59 - \times 8/9 { + \tuplet 9/8 { r16 % 60 \beam #4 #4 g,64 \sfp \< [ % 61 \beam #4 #4 g,64 % 62 @@ -371,8 +371,8 @@ } % measure 8 - \times 4/5 { - \times 4/7 { + \tuplet 5/4 { + \tuplet 7/4 { r4 % 66 \beam #2 #2 g,16 \fX [ % 67 \beam #2 #2 g,16 \f % 68 diff --git a/Documentation/ly-examples/granados.ly b/Documentation/ly-examples/granados.ly index 96603b5e60..1e13d1b29e 100644 --- a/Documentation/ly-examples/granados.ly +++ b/Documentation/ly-examples/granados.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.17.11" \include "example-header.ily" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -33,8 +33,8 @@ global = { upperVoiceOne = \relative c'' { \voiceOne \override TupletBracket.transparent = ##t - 8\([ \times 4/5{g'32( aes g f g]) } - 8[ \times 4/5{32( c' bes aes bes]) } + 8\([ \tuplet 5/4{g'32( aes g f g]) } + 8[ \tuplet 5/4{32( c' bes aes bes]) } 8 \) | % end m. 1 %--------------------------------------------------% 4\( \voiceTwo \) @@ -42,11 +42,11 @@ upperVoiceOne = \relative c'' { %--------------------------------------------------% \noBreak \voiceOne - 8\([ \times 4/5{32( aes' g f g]) } + 8\([ \tuplet 5/4{32( aes' g f g]) } \set subdivideBeams = ##t - \set baseMoment = #(ly:make-moment 1 8) + \set baseMoment = #(ly:make-moment 1/8) \set beatStructure = #'(2 2 2) - 16 \times 4/5{ bes'32( c bes aes bes]) } + 16 \tuplet 5/4{ bes'32( c bes aes bes]) } \set subdivideBeams = ##f \ottava #1 16 \appoggiatura f8 16\) } @@ -89,7 +89,7 @@ lowerVoiceOne = \relative c, { bes8 \csm \stemDown 8 s2 \csl \stemUp \set subdivideBeams = ##t - \set baseMoment = #(ly:make-moment 1 16) + \set baseMoment = #(ly:make-moment 1/16) \set beatStructure = #'(4 4 4) s8 \hideNotes \slurUp \stemDown es,,64( bes'' s64 \unHideNotes \stemUp g64[ bes c d c]) s2 diff --git a/Documentation/music-glossary.tely b/Documentation/music-glossary.tely index 115e75784a..9904deb2c9 100644 --- a/Documentation/music-glossary.tely +++ b/Documentation/music-glossary.tely @@ -598,7 +598,7 @@ An accidental alters a note by: \context { \Score \override SpacingSpanner - #'base-shortest-duration = #(ly:make-moment 1 32) + #'base-shortest-duration = #(ly:make-moment 1/32) } } } @@ -1782,7 +1782,7 @@ the top line high F: \context { \Score \override SpacingSpanner - #'base-shortest-duration = #(ly:make-moment 1 1) + #'base-shortest-duration = #(ly:make-moment 1/1) \override NonMusicalPaperColumn #'line-break-system-details = #'((alignment-distances . (3 3))) \override BarLine #'stencil = ##f @@ -1843,7 +1843,7 @@ have been selected: \context { \Score \override SpacingSpanner - #'base-shortest-duration = #(ly:make-moment 2 1) + #'base-shortest-duration = #(ly:make-moment 2/1) \override NonMusicalPaperColumn #'line-break-system-details = #'((alignment-distances . (3 3))) \override BarLine #'stencil = ##f @@ -1906,7 +1906,7 @@ shown below, where the notes show an arpeggio on a C major chord. \context { \Score \override SpacingSpanner #'base-shortest-duration = - #(ly:make-moment 2 1) + #(ly:make-moment 2/1) \override NonMusicalPaperColumn #'line-break-system-details = #'((alignment-distances . (3 3))) \override BarLine #'stencil = ##f @@ -3956,7 +3956,7 @@ part in modern choral scores). @lilypond[quote,notime] \relative c'' { \override Staff.Clef #'full-size-change = ##t - \set Score.proportionalNotationDuration = #(ly:make-moment 1 8) + \set Score.proportionalNotationDuration = #(ly:make-moment 1/8) \clef french g1 \clef treble @@ -5853,17 +5853,17 @@ dotted notes are also frequently used. @lilypond[quote,line-width=13.0\cm] \relative c'' { \time 4/4 - \times 2/3 {g8_"triplets" g g} g4 g8 g g4 \bar "||" - \times 2/5 {g8_"quintuplets" g g g g} g4 g8 g g4 \bar "||" + \tuplet 3/2 {g8_"triplets" g g} g4 g8 g g4 \bar "||" + \tuplet 5/2 {g8_"quintuplets" g g g g} g4 g8 g g4 \bar "||" } @end lilypond @lilypond[quote,line-width=13.0\cm] \relative c'' { \time 3/4 - \times 3/2 {g4_"duplets" g} | + \tuplet 2/3 {g4_"duplets" g} | g4 g g \bar "||" - \times 6/4 {g8_"quadruplets" g g g} | + \tuplet 4/6 {g8_"quadruplets" g g g} | g8 g g g g4 \bar "||" } @end lilypond @@ -6014,7 +6014,7 @@ the upper note is played first. } \relative c'' { c2. c32 b c b c b c b | c1 - c2. b32 c b c \times 4/5 { b c b c b } | c1 + c2. b32 c b c \tuplet 5/4 { b c b c b } | c1 } >> @end lilypond diff --git a/Documentation/nl/learning/common-notation.itely b/Documentation/nl/learning/common-notation.itely index 29ffae1a61..13401a5b8b 100644 --- a/Documentation/nl/learning/common-notation.itely +++ b/Documentation/nl/learning/common-notation.itely @@ -12,7 +12,7 @@ @c Translation checker: @c Translation checker committish: -@c \version "2.16.0" +@c \version "2.17.11" @ignore Tutorial guidelines: (different from policy.txt!) @@ -556,10 +556,10 @@ maakt dat de noten 2/3 van hun lengte duren, dus een @notation{triool} heeft als fractie 2/3 @lilypond[verbatim,quote,relative=2] -\times 2/3 { f8 g a } -\times 2/3 { c8 r c } -\times 2/3 { f,8 g16[ a g a] } -\times 2/3 { d4 a8 } +\tuplet 3/2 { f8 g a } +\tuplet 3/2 { c8 r c } +\tuplet 3/2 { f,8 g16[ a g a] } +\tuplet 3/2 { d4 a8 } @end lilypond @subheading Versieringen @@ -1364,7 +1364,7 @@ compacter in te voeren. @c KEEP LY @lilypond[verbatim,quote] -trioolA = \times 2/3 { c,8 e g } +trioolA = \tuplet 3/2 { c,8 e g } maatA = { \trioolA \trioolA \trioolA \trioolA } \relative c'' { diff --git a/Documentation/nl/learning/fundamental.itely b/Documentation/nl/learning/fundamental.itely index 099fee6885..967bd3c862 100644 --- a/Documentation/nl/learning/fundamental.itely +++ b/Documentation/nl/learning/fundamental.itely @@ -12,7 +12,7 @@ @c Translation checker: @c Translation checker committish: -@c \version "2.17.6" +@c \version "2.17.11" @node Fundamentele concepten @translationof Fundamental concepts @@ -557,10 +557,10 @@ extending into a tuplet, a tie crossing two tuplets, and a phrasing slur extending out of a tuplet (lines 3 and 4). @lilypond[quote,verbatim,ragged-right,relative=1] -r16[ g \times 2/3 { r16 e'8] } -g,16( a \times 2/3 { b16 d) e } -g,8[( a \times 2/3 { b8 d) e~] } | -\times 4/5 { e32\( a, b d e } a4.\) +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 diff --git a/Documentation/nl/learning/tweaks.itely b/Documentation/nl/learning/tweaks.itely index 02c6e0acc5..293bedc98a 100644 --- a/Documentation/nl/learning/tweaks.itely +++ b/Documentation/nl/learning/tweaks.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @node Tweaking output @chapter Tweaking output @@ -461,11 +461,11 @@ printed in red on the first short tuplet bracket. @lilypond[quote,ragged-right,verbatim,fragment,relative=2] \tweak direction #up -\times 4/3 { +\tuplet 3/4 { \tweak color #red - \times 2/3 { c8[ c c] } - \times 2/3 { c8[ c c] } - \times 2/3 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } } @end lilypond @@ -479,14 +479,14 @@ appearance may be modified in the usual way with @cindex TupletNumber, example of overriding @lilypond[quote,ragged-right,verbatim,fragment,relative=1] -\times 2/3 { c8[ c c] } +\tuplet 3/2 { c8[ c c] } \once \override TupletNumber.text = #tuplet-number::calc-fraction-text -\times 2/3 { +\tuplet 3/2 { c8[ c] c8[ c] \once \override TupletNumber.transparent = ##t - \times 2/3 { c8[ c c] } - \times 2/3 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } } @end lilypond diff --git a/Documentation/nl/web/manuals.itexi b/Documentation/nl/web/manuals.itexi index 79bfb854a8..61db2db59e 100644 --- a/Documentation/nl/web/manuals.itexi +++ b/Documentation/nl/web/manuals.itexi @@ -206,9 +206,9 @@ informatie. @docLinks{Beginnen, learning, @rlearningnamed{Top,Learning}, - @manualStableLearningSplit, - @manualStableLearningBig, 1.5 MB, - @manualStableLearningPdf, 3 MB} + @manualStableLearningSplit-nl, + @manualStableLearningBig-nl, 1.5 MB, + @manualStableLearningPdf-nl, 3 MB} @divEnd diff --git a/Documentation/notation/ancient.itely b/Documentation/notation/ancient.itely index 0056b8be0f..6d122875f8 100644 --- a/Documentation/notation/ancient.itely +++ b/Documentation/notation/ancient.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @node Ancient notation @@ -635,7 +635,7 @@ example, the ratio of 1@tie{}breve = 3@tie{}semibreves (@emph{tempus perfectum}) can be made by hand, by setting @example -breveTP = #(ly:make-duration -1 0 3 2) +breveTP = #(ly:make-duration -1 0 3/2) @dots{} @{ c\breveTP f1 @} @end example @@ -2779,9 +2779,9 @@ adjustments are necessary, this can be easily done with spiritus = \relative c' { \time 1/4 \override Lyrics.LyricText.X-extent = #'(0 . 3) - d4 \times 2/3 { f8 a g } g a a4 g f8 e + d4 \tuplet 3/2 { f8 a g } g a a4 g f8 e d4 f8 g g8 d f g a g f4 g8 a a4 s - \times 2/3 { g8 f d } e f g a g4 + \tuplet 3/2 { g8 f d } e f g a g4 } spirLyr = \lyricmode { diff --git a/Documentation/notation/changing-defaults.itely b/Documentation/notation/changing-defaults.itely index e0439f321a..25771a986c 100644 --- a/Documentation/notation/changing-defaults.itely +++ b/Documentation/notation/changing-defaults.itely @@ -1964,14 +1964,14 @@ Translation @expansion{} Tunable context properties. Internals Reference: @rinternals{Tunable context properties}. -@cindex grob properties -@cindex properties, grob -@funindex \override - @node The override command @subsection The @code{\override} command +@cindex grob properties +@cindex properties, grob +@funindex \override + There is a special type of context property: the grob description. Grob descriptions are named in @code{StudlyCaps} (starting with capital letters). They contain the @@ -4213,16 +4213,16 @@ required. Internals Reference: @rinternals{TieColumn}. + +@node Unpure-pure containers +@subsection Unpure-pure containers + @cindex Scheme, pure containers @cindex Scheme, unpure containers @cindex pure containers, Scheme @cindex unpure containers, Scheme @cindex horizontal spacing, overriding - -@node Unpure-pure containers -@subsection Unpure-pure containers - Unpure-pure containers are useful for overriding @emph{Y-axis} spacing calculations - specifically @code{Y-offset} and @code{Y-extent} - with a Scheme function instead of a literal (i.e. a number or pair). diff --git a/Documentation/notation/cheatsheet.itely b/Documentation/notation/cheatsheet.itely index 89fe8ebb10..cc737a484f 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.6" +@c \version "2.17.11" @c TODO: add tablature. @@ -227,12 +227,12 @@ f8 c2 d e @end lilypond -@item @code{\times 2/3 @{f g a@}} +@item @code{\tuplet 3/2 @{f g a@}} @tab triplets @tab @lilypond[relative=1] \set Staff.implicitTimeSignatureVisibility = #all-invisible -\times 2/3 { f8 g a } +\tuplet 3/2 { f8 g a } @end lilypond diff --git a/Documentation/notation/editorial.itely b/Documentation/notation/editorial.itely index fa7999e76b..715aa620a7 100644 --- a/Documentation/notation/editorial.itely +++ b/Documentation/notation/editorial.itely @@ -7,7 +7,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @node Editorial annotations @section Editorial annotations @@ -154,10 +154,10 @@ Fingering instructions can be entered using c4-1 d-2 f-4 e-3 @end lilypond -Markup texts may be used for finger changes. +Markup texts or strings may be used for finger changes. @lilypond[verbatim,quote,relative=2] -c4-1 d-2 f-4 c^\markup { \finger "2 - 3" } +c4-1 d-2 f\finger \markup \tied-lyric #"4~3" c\finger "2 - 3" @end lilypond @cindex thumb-script @@ -211,10 +211,6 @@ Internals Reference: @rinternals{New_fingering_engraver}, @rinternals{Fingering}. -@knownissues -By default, numbers greater than 9 are not supported using -@samp{@var{note}-@var{digit}}. - @node Hidden notes @unnumberedsubsubsec Hidden notes @@ -598,7 +594,7 @@ lines. \context { \Staff \consists "Grid_point_engraver" - gridInterval = #(ly:make-moment 1 4) + gridInterval = #(ly:make-moment 1/4) } \context { \Score diff --git a/Documentation/notation/fretted-strings.itely b/Documentation/notation/fretted-strings.itely index b6afe1b581..9219cd5514 100644 --- a/Documentation/notation/fretted-strings.itely +++ b/Documentation/notation/fretted-strings.itely @@ -7,7 +7,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @node Fretted string instruments @section Fretted string instruments @@ -1709,7 +1709,7 @@ music = \relative c' { < b\3 \deadNote d\2 b'\1 > < c\3 \deadNote e\2 c'\1 > \deadNotesOn - \times 2/3 { g8 b e } + \tuplet 3/2 { g8 b e } \deadNotesOff < a,\3 c\2 e\1 >1 } diff --git a/Documentation/notation/repeats.itely b/Documentation/notation/repeats.itely index 53da1bdf74..437088c936 100644 --- a/Documentation/notation/repeats.itely +++ b/Documentation/notation/repeats.itely @@ -7,7 +7,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.16.0" +@c \version "2.17.11" @node Repeats @section Repeats @@ -225,11 +225,11 @@ at the start of each alternative, except the first. \alternative { { f2 d | - \set Timing.measureLength = #(ly:make-moment 3 4) + \set Timing.measureLength = #(ly:make-moment 3/4) g4 g g % optional bar check is allowed here } { - \set Timing.measureLength = #(ly:make-moment 4 4) + \set Timing.measureLength = #(ly:make-moment 4/4) a2 a | } } @@ -391,7 +391,7 @@ layout of repeats. Its value is a Scheme list of repeat commands. @table @code @item start-repeat -Print a @code{|:} bar line. +Print a @code{.|:} bar line. @lilypond[verbatim,quote,relative=2] c1 @@ -404,7 +404,7 @@ As per standard engraving practice, repeat signs are not printed at the beginning of a piece. @item end-repeat -Print a @code{:|} bar line: +Print a @code{:|.} bar line: @lilypond[verbatim,quote,relative=2] c1 @@ -660,7 +660,7 @@ use a double-percent symbol. @lilypond[verbatim,quote,relative=2] \repeat percent 4 { c8. 16 } -\repeat percent 2 { \times 2/3 { r8 c d } e4 } +\repeat percent 2 { \tuplet 3/2 { r8 c d } e4 } @end lilypond @snippets diff --git a/Documentation/notation/rhythms.itely b/Documentation/notation/rhythms.itely index e44e2e441d..cc69b76764 100644 --- a/Documentation/notation/rhythms.itely +++ b/Documentation/notation/rhythms.itely @@ -7,7 +7,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @node Rhythms @section Rhythms @@ -186,26 +186,38 @@ rests from 128th to maxima (8 x whole) may be printed. @cindex tuplets @cindex triplets -@funindex \times -@funindex times +@funindex \tuplet +@funindex tuplet -Tuplets are made from a music expression by multiplying all the -durations with a fraction: +Tuplets are made from a music expression with the @code{\tuplet} +command, multiplying the speed of the music expression by a +fraction: @example -\times @var{fraction} @{ @var{music} @} +\tuplet @var{fraction} @{ @var{music} @} @end example @noindent -The duration of @code{@var{music}} will be multiplied by the -fraction. The fraction's denominator will be printed over or +The fraction's numerator will be printed over or under the notes, optionally with a bracket. The most common -tuplet is the triplet in which 3 notes have the duration of 2, so -the notes are 2/3 of their written length. +tuplets are triplets: 3@tie{}notes sound within the duration +normally allowed for@tie{}2: @lilypond[quote,verbatim,relative=2] -a2 \times 2/3 { b4 b b } -c4 c \times 2/3 { b4 a g } +a2 \tuplet 3/2 { b4 b b } +c4 c \tuplet 3/2 { b4 a g } +@end lilypond + +@cindex tuplet grouping +@noindent +When entering long passages of tuplets, having to write a separate +@code{\tuplet} command for each group is inconvenient. It is +possible to specify the duration of one tuplet group directly +before the music in order to have the tuplets grouped +automatically: + +@lilypond[quote,verbatim,relative=2] +g2 r8 \tuplet 3/2 8 { cis16 d e e f g g f e } @end lilypond @cindex tuplet bracket placement @@ -224,7 +236,7 @@ Tuplets may be nested: @lilypond[quote,verbatim,relative=2] \autoBeamOff -c4 \times 4/5 { f8 e f \times 2/3 { e[ f g] } } f4 +c4 \tuplet 5/4 { f8 e f \tuplet 3/2 { e[ f g] } } f4 @end lilypond Modifying nested tuplets which begin at the same musical moment @@ -296,7 +308,7 @@ Internals Reference: @knownissues Grace notes may be placed within tuplet brackets, @emph{except} when a staff begins with a grace note followed by a tuplet. In this -particular case, the grace note must be placed before the @code{\times} +particular case, the grace note must be placed before the @code{\tuplet} command to avoid errors. @cindex tempo marks within tuplet brackets @@ -1402,7 +1414,7 @@ So @code{\partial 8} becomes: @lilypond[quote,verbatim,relative=1] \time 3/4 -\set Timing.measurePosition = #(ly:make-moment -1 8) +\set Timing.measurePosition = #(ly:make-moment -1/8) e8 | a4 c8 b c4 | @end lilypond @@ -1434,7 +1446,7 @@ occur, so use @code{\set Timing.measurePosition} instead. \time 6/8 \partial 8 e8 | a4 c8 b[ c b] | -\set Timing.measurePosition = #(ly:make-moment -1 4) +\set Timing.measurePosition = #(ly:make-moment -1/4) r8 e,8 | a4 c8 b[ c b] | @end lilypond @@ -1594,8 +1606,8 @@ Explicitly create a @code{Voice} context when starting a piece with @funindex timeSignatureFraction @funindex \scaleDurations @funindex scaleDurations -@funindex \times -@funindex times +@funindex \tuplet +@funindex tuplet Polymetric notation is supported explicitly or by manually modifying the visible time signature symbol and/or scaling note durations. @@ -1636,7 +1648,7 @@ affect the autobeaming rules. \scaleDurations 3/5 { \repeat unfold 2 { c8[ c c] } \repeat unfold 2 { c8[ c] } | - c4. c \times 2/3 { c8[ c c] } c4 + c4. c \tuplet 3/2 { c8[ c c] } c4 } } >> @@ -1949,7 +1961,7 @@ c16 c8 @cindex beams, with melismata @warning{If beams are used to indicate melismata in songs, then -automatic beaming should be switched off with @code{\autoBeamOff} +automatic beaming should be switched off with @code{@bs{}autoBeamOff} and the beams indicated manually. Using @code{@bs{}partcombine} with @code{@bs{}autoBeamOff} can produce unintended results. See the snippets for more information.} @@ -2032,13 +2044,18 @@ below, or alternatively the default values themselves may be changed as explained in @ref{Time signature}. If a @code{beamExceptions} rule is defined for the time signature in -force, that rule is used to determine the beam placement. If no -@code{beamExceptions} rule is defined for the time signature in force, -the beam placement is determined by the settings of @code{baseMoment} -and @code{beatStructure}. +force, that rule alone is used to determine the beam placement; the +values of @code{baseMoment} and @code{beatStructure} are ignored. + +If no @code{beamExceptions} rule is defined for the time signature +in force, the beam placement is determined by the values of +@code{baseMoment} and @code{beatStructure}. + + +@subsubsubheading Beaming based on @code{baseMoment} and @code{beatStructure} By default, @code{beamExceptions} rules are defined for most common -time signatures, so the @code{beamException} rules must be disabled +time signatures, so the @code{beamExceptions} rules must be disabled if automatic beaming is to be based on @code{baseMoment} and @code{beatStructure}. The @code{beamExceptions} rules are disabled by @@ -2047,41 +2064,35 @@ by \set Timing.beamExceptions = #'() @end example - -@subsubsubheading Beaming based on @code{baseMoment} and @code{beatStructure} - -In most instances, automatic beams will end at the end of a beat. -The ending points for beats are determined by the context properties -@code{baseMoment} and @code{beatStructure}. @code{beatStructure} -is a scheme list that defines the length of each beat in the measure -in units of @code{baseMoment}. By default, @code{baseMoment} is -one over the denominator of the time signature. By default, -each unit of length @code{baseMoment} is a single beat. +When @code{beamExceptions} is set to @code{#'()}, either due to an +explicit setting or because no @code{beamExceptions} rules are defined +internally for the time signature in force, the ending points for +beams are on beats as specified by the context properties +@code{baseMoment} and @code{beatStructure}. @code{beatStructure} is +a scheme list that defines the length of each beat in the measure in +units of @code{baseMoment}. By default, @code{baseMoment} is one +over the denominator of the time signature. By default, each unit of +length @code{baseMoment} is a single beat. @lilypond[quote,relative=2,verbatim] \time 5/16 c16^"default" c c c c | +% beamExceptions are unlikely to be defined for 5/16 time, +% but let's disable them anyway to be sure +\set Timing.beamExceptions = #'() \set Timing.beatStructure = #'(2 3) c16^"(2+3)" c c c c | \set Timing.beatStructure = #'(3 2) c16^"(3+2)" c c c c | @end lilypond -If a common time signature is being used, @code{beamExceptions} -@emph{must} be disabled to enable @code{beatStructure} to work. -The @code{\set Timing.beamExceptions = #'()} command can always -be included if beaming is being determined by @code{beatStructure}. - @lilypond[quote,relative=2,verbatim] \time 4/4 a8^"default" a a a a a a a - -\set Timing.baseMoment = #(ly:make-moment 1 4) -\set Timing.beatStructure = #'(1 1 1 1) -a8^"no change" a a a a a a a - +% Disable beamExceptions because they are definitely +% defined for 4/4 time \set Timing.beamExceptions = #'() -\set Timing.baseMoment = #(ly:make-moment 1 4) +\set Timing.baseMoment = #(ly:make-moment 1/4) \set Timing.beatStructure = #'(1 1 1 1) a8^"changed" a a a a a a a @end lilypond @@ -2093,6 +2104,7 @@ enclosing context will apply. @lilypond[quote, verbatim,relative=1] \new Staff { \time 7/8 + % No need to disable beamExceptions as they are not defined for 7/8 time \set Staff.beatStructure = #'(2 3 2) << \new Voice = one { @@ -2136,7 +2148,8 @@ compatible with the new value of @code{baseMoment}. @lilypond[quote,verbatim,relative=2] \time 5/8 -\set Timing.baseMoment = #(ly:make-moment 1 16) +% No need to disable beamExceptions as they are not defined for 5/8 time +\set Timing.baseMoment = #(ly:make-moment 1/16) \set Timing.beatStructure = #'(7 3) \repeat unfold 10 { a16 } @end lilypond @@ -2227,7 +2240,7 @@ if @code{beamExceptions} is not reset. @lilypond[quote,verbatim,relative=2] \time 4/4 -\set Timing.baseMoment = #(ly:make-moment 1 8) +\set Timing.baseMoment = #(ly:make-moment 1/8) \set Timing.beatStructure = #'(3 3 2) % This won't beam (3 3 2) because of beamExceptions \repeat unfold 8 {c8} | @@ -2244,7 +2257,7 @@ reset @code{beamExceptions}. \time 3/4 % by default we beam in (6) due to beamExceptions \repeat unfold 6 {a8} | -% This will beam (1 1 1) due to beatLength +% This will beam (1 1 1) due to default baseMoment and beatStructure \set Timing.beamExceptions = #'() \repeat unfold 6 {a8} @end lilypond @@ -2284,7 +2297,7 @@ beams may end, otherwise @item if a beam-ending rule is defined in @code{beamExceptions} -for a longer beam-type, use it to determined the valid places +for a longer beam-type, use it to determine the valid places where beams may end, otherwise @item @@ -2363,7 +2376,7 @@ in only one staff. << \new Staff { \time 3/4 - \set Timing.baseMoment = #(ly:make-moment 1 8) + \set Timing.baseMoment = #(ly:make-moment 1/8) \set Timing.beatStructure = #'(1 5) \repeat unfold 6 { a8 } } @@ -2534,10 +2547,10 @@ the last four 32nd notes are at a constant tempo. @lilypond[relative=1,verbatim,quote] \override Beam.grow-direction = #LEFT -\featherDurations #(ly:make-moment 2 1) +\featherDurations #(ly:make-moment 2/1) { c16[ c c c c c c c] } \override Beam.grow-direction = #RIGHT -\featherDurations #(ly:make-moment 2 3) +\featherDurations #(ly:make-moment 2/3) { c32[ d e f] } % revert to non-feathered beams \override Beam.grow-direction = #'() @@ -3633,11 +3646,11 @@ The next bar line then falls at 9/8 rather than 5/4. @lilypond[quote,verbatim] \new Voice \relative c' { - \set Timing.measureLength = #(ly:make-moment 5 4) + \set Timing.measureLength = #(ly:make-moment 5/4) c1 c4 | c1 c4 | c4 c - \set Timing.measurePosition = #(ly:make-moment 5 8) + \set Timing.measurePosition = #(ly:make-moment 5/8) b4 b b8 | c4 c1 | } diff --git a/Documentation/notation/simultaneous.itely b/Documentation/notation/simultaneous.itely index 700a00fc5e..4a02d1faa1 100644 --- a/Documentation/notation/simultaneous.itely +++ b/Documentation/notation/simultaneous.itely @@ -1049,7 +1049,7 @@ not designed to work with lyrics; such that when one of the voices is explicitly named in order to attach lyrics to it, the partcombiner will stop working. -@code{\partcombine...} functions cannot be placed inside a @code{\times} +@code{\partcombine...} functions cannot be placed inside a @code{\tuplet} or @code{\relative} block. If @code{printPartCombineTexts} is set and the two voices play the same diff --git a/Documentation/notation/spacing.itely b/Documentation/notation/spacing.itely index 8352e5a8be..ad892f96eb 100644 --- a/Documentation/notation/spacing.itely +++ b/Documentation/notation/spacing.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @ignore GDP TODO list @@ -1393,7 +1393,7 @@ with the music: \remove "Forbid_line_break_engraver" } \relative c'' { << - { c2. \times 2/3 { c4 c c } c2. | } + { c2. \tuplet 3/2 { c4 c c } c2. | } { s1 | \break s1 | } >> } @@ -1607,7 +1607,7 @@ the section. The @code{Page_turn_engraver} reads the context property @code{minimumPageTurnLength} to determine how long a note-free section must be before a page turn is considered. The default value for -@code{minimumPageTurnLength} is @code{(ly:make-moment 1 1)}. If you want +@code{minimumPageTurnLength} is @code{(ly:make-moment 1/1)}. If you want to disable page turns, you can set it to something very large. @example @@ -1616,7 +1616,7 @@ to disable page turns, you can set it to something very large. a4 b c d | R1 | % a page turn will be allowed here a4 b c d | - \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2) + \set Staff.minimumPageTurnLength = #(ly:make-moment 5/2) R1 | % a page turn will not be allowed here a4 b r2 | R1*2 | % a page turn will be allowed here @@ -2902,7 +2902,7 @@ than @code{1 16}. \layout { \context { \Score - \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 16) + \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/16) } } } @@ -2921,14 +2921,14 @@ property can only be changed at the beginning of a score, \score { << \new Staff { - \times 4/5 { + \tuplet 5/4 { c8 c8 c8 c8 c8 } c8 c8 c8 c8 } \new Staff { c8 c8 c8 c8 - \times 4/5 { + \tuplet 5/4 { c8 c8 c8 c8 c8 } } @@ -3042,7 +3042,7 @@ spacing with ragged-right turned on. \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } @@ -3071,7 +3071,7 @@ setting. \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } @@ -3079,7 +3079,7 @@ setting. \layout { \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 20) + proportionalNotationDuration = #(ly:make-moment 1/20) } } } @@ -3102,10 +3102,10 @@ The @code{proportionalNotationDuration} setting takes a single argument, which is the reference duration against that all music will be spaced. The LilyPond Scheme function @code{make-moment} takes two arguments -- a numerator and denominator which together express some fraction of -a whole note. The call @code{(ly:make-moment 1 20)} therefore produces +a whole note. The call @code{(ly:make-moment 1/20)} therefore produces a reference duration of a twentieth note. Values such as -@code{(ly:make-moment 1 16)}, @code{(ly:make-moment 1 8)}, and -@code{(ly:make-moment 3 97)} are all possible as well. +@code{(ly:make-moment 1/16)}, @code{(ly:make-moment 1/8)}, and +@code{(ly:make-moment 3/97)} are all possible as well. How do we select the right reference duration to pass to @code{proportionalNotationDuration}? Usually by a process of trial @@ -3119,7 +3119,7 @@ larger reference durations space music tightly. \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } @@ -3127,7 +3127,7 @@ larger reference durations space music tightly. \layout { \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 8) + proportionalNotationDuration = #(ly:make-moment 1/8) } } } @@ -3137,7 +3137,7 @@ larger reference durations space music tightly. \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } @@ -3145,7 +3145,7 @@ larger reference durations space music tightly. \layout { \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 16) + proportionalNotationDuration = #(ly:make-moment 1/16) } } } @@ -3155,7 +3155,7 @@ larger reference durations space music tightly. \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } @@ -3163,7 +3163,7 @@ larger reference durations space music tightly. \layout { \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 32) + proportionalNotationDuration = #(ly:make-moment 1/32) } } } @@ -3187,12 +3187,12 @@ tuplet. \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } \new RhythmicStaff { - \times 8/9 { + \tuplet 9/8 { c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 } } @@ -3211,12 +3211,12 @@ result. Setting @code{proportionalNotationDuration} fixes this. \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } \new RhythmicStaff { - \times 8/9 { + \tuplet 9/8 { c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 } } @@ -3224,7 +3224,7 @@ result. Setting @code{proportionalNotationDuration} fixes this. \layout { \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 20) + proportionalNotationDuration = #(ly:make-moment 1/20) } } } @@ -3242,12 +3242,12 @@ turn on @code{uniform-stretching}, which is a property of \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 - \times 4/5 { + \tuplet 5/4 { c'16 c'16 c'16 c'16 c'16 } } \new RhythmicStaff { - \times 8/9 { + \tuplet 9/8 { c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 } } @@ -3255,7 +3255,7 @@ turn on @code{uniform-stretching}, which is a property of \layout { \context { \Score - proportionalNotationDuration = #(ly:make-moment 1 20) + proportionalNotationDuration = #(ly:make-moment 1/20) \override SpacingSpanner.uniform-stretching = ##t } } @@ -3344,7 +3344,7 @@ property of @code{SpacingSpanner}. Compare the two scores below: @lilypond[quote,verbatim,ragged-right] \new Staff { - \set Score.proportionalNotationDuration = #(ly:make-moment 1 16) + \set Score.proportionalNotationDuration = #(ly:make-moment 1/16) c''8 c''8 c''8 @@ -3354,7 +3354,7 @@ property of @code{SpacingSpanner}. Compare the two scores below: } \new Staff { - \set Score.proportionalNotationDuration = #(ly:make-moment 1 16) + \set Score.proportionalNotationDuration = #(ly:make-moment 1/16) \override Score.SpacingSpanner.strict-note-spacing = ##t c''8 c''8 @@ -3568,7 +3568,7 @@ duration longer, a @q{squeezing} effect occurs: \layout { \context { \Score - \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1 2) + \override SpacingSpanner.common-shortest-duration = #(ly:make-moment 1/2) } } } diff --git a/Documentation/notation/text.itely b/Documentation/notation/text.itely index 6a33b69084..e6a085fc56 100644 --- a/Documentation/notation/text.itely +++ b/Documentation/notation/text.itely @@ -1166,11 +1166,7 @@ in markup mode: @lilypond[quote,verbatim,relative=1] g1 bes -ees-\markup { - \finger 4 - \tied-lyric #"~" - \finger 1 -} +ees\finger \markup \tied-lyric #"4~1" fis_\markup { \dynamic rf } bes^\markup { \beam #8 #0.1 #0.5 @@ -1516,7 +1512,7 @@ size. For an explanation of fonts, see @ref{Fonts explained}. (make-pango-font-tree "Times New Roman" "Nimbus Sans" "Luxi Mono" - (/ (* staff-height pt) 2))) + (/ staff-height pt 20))) } \relative c'{ diff --git a/Documentation/notation/vocal.itely b/Documentation/notation/vocal.itely index 89e08f4409..c6d3ee02bc 100644 --- a/Documentation/notation/vocal.itely +++ b/Documentation/notation/vocal.itely @@ -7,7 +7,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.17.6" +@c \version "2.17.11" @node Vocal music @section Vocal music @@ -1857,7 +1857,7 @@ within the lyrics by setting the @code{associatedVoice} property: << \new Voice = "alternative" { \voiceOne - \times 2/3 { + \tuplet 3/2 { % show associations clearly. \override NoteColumn.force-hshift = #-3 f8 f g @@ -3027,7 +3027,7 @@ global = { \layout { \context { \Score - \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 2) + \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/2) } \context { \Staff diff --git a/Documentation/snippets/adding-a-figured-bass-above-or-below-the-notes.ly b/Documentation/snippets/adding-a-figured-bass-above-or-below-the-notes.ly index 5def9b0d07..77d5beaa60 100644 --- a/Documentation/snippets/adding-a-figured-bass-above-or-below-the-notes.ly +++ b/Documentation/snippets/adding-a-figured-bass-above-or-below-the-notes.ly @@ -4,6 +4,13 @@ % and then run scripts/auxiliar/makelsr.py % % This file is in the public domain. +%% Note: this file works from version 2.17.6 +%% DO NOT EDIT this file manually; it is automatically +%% generated from LSR http://lsr.dsi.unimi.it +%% Make any changes in LSR itself, or in Documentation/snippets/new/ , +%% and then run scripts/auxiliar/makelsr.py +%% +%% This file is in the public domain. \version "2.17.6" \header { diff --git a/Documentation/snippets/adding-ambitus-per-voice.ly b/Documentation/snippets/adding-ambitus-per-voice.ly index 6f05ed94ed..cedff6bca9 100644 --- a/Documentation/snippets/adding-ambitus-per-voice.ly +++ b/Documentation/snippets/adding-ambitus-per-voice.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "pitches, staff-notation, vocal-music" diff --git a/Documentation/snippets/adding-an-extra-staff-at-a-line-break.ly b/Documentation/snippets/adding-an-extra-staff-at-a-line-break.ly index 2c74e33ce6..e67d4f2954 100644 --- a/Documentation/snippets/adding-an-extra-staff-at-a-line-break.ly +++ b/Documentation/snippets/adding-an-extra-staff-at-a-line-break.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "breaks, contexts-and-engravers, staff-notation, workaround" diff --git a/Documentation/snippets/adding-an-extra-staff.ly b/Documentation/snippets/adding-an-extra-staff.ly index f187bd84e8..d3adaa96b5 100644 --- a/Documentation/snippets/adding-an-extra-staff.ly +++ b/Documentation/snippets/adding-an-extra-staff.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "contexts-and-engravers, really-simple, staff-notation" diff --git a/Documentation/snippets/adding-bar-lines-to-chordnames-context.ly b/Documentation/snippets/adding-bar-lines-to-chordnames-context.ly index ee14a8aff5..fdadc404f4 100644 --- a/Documentation/snippets/adding-bar-lines-to-chordnames-context.ly +++ b/Documentation/snippets/adding-bar-lines-to-chordnames-context.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "chords, specific-notation" diff --git a/Documentation/snippets/adding-beams,-slurs,-ties-etc.-when-using-tuplet-and-non-tuplet-rhythms.ly b/Documentation/snippets/adding-beams,-slurs,-ties-etc.-when-using-tuplet-and-non-tuplet-rhythms.ly index 5a05847427..5912d2d8aa 100644 --- a/Documentation/snippets/adding-beams,-slurs,-ties-etc.-when-using-tuplet-and-non-tuplet-rhythms.ly +++ b/Documentation/snippets/adding-beams,-slurs,-ties-etc.-when-using-tuplet-and-non-tuplet-rhythms.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.16.0" +\version "2.17.11" \header { lsrtags = "expressive-marks, rhythms" @@ -26,9 +26,9 @@ sections (enclosed within curly braces). { - r16[ g16 \times 2/3 { r16 e'8] } - g16( a \times 2/3 { b d e') } - g8[( a \times 2/3 { b d') e'] ~ } + r16[ g16 \tuplet 3/2 { r16 e'8] } + g16( a \tuplet 3/2 { b d e') } + g8[( a \tuplet 3/2 { b d') e'] ~ } \time 2/4 - \times 4/5 { e'32\( a b d' e' } a'4.\) + \tuplet 5/4 { e'32\( a b d' e' } a'4.\) } diff --git a/Documentation/snippets/adding-drum-parts.ly b/Documentation/snippets/adding-drum-parts.ly index 7f354029fe..d50a2a2459 100644 --- a/Documentation/snippets/adding-drum-parts.ly +++ b/Documentation/snippets/adding-drum-parts.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "percussion, preparing-parts, really-simple, rhythms, specific-notation" diff --git a/Documentation/snippets/adding-indicators-to-staves-which-get-split-after-a-break.ly b/Documentation/snippets/adding-indicators-to-staves-which-get-split-after-a-break.ly index 80df7dc6d0..979460c6dc 100644 --- a/Documentation/snippets/adding-indicators-to-staves-which-get-split-after-a-break.ly +++ b/Documentation/snippets/adding-indicators-to-staves-which-get-split-after-a-break.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "staff-notation, symbols-and-glyphs, vocal-music" diff --git a/Documentation/snippets/adding-links-to-objects.ly b/Documentation/snippets/adding-links-to-objects.ly new file mode 100644 index 0000000000..95e68c81e3 --- /dev/null +++ b/Documentation/snippets/adding-links-to-objects.ly @@ -0,0 +1,90 @@ +%% DO NOT EDIT this file manually; it is automatically +%% generated from LSR http://lsr.dsi.unimi.it +%% Make any changes in LSR itself, or in Documentation/snippets/new/ , +%% and then run scripts/auxiliar/makelsr.py +%% +%% This file is in the public domain. +\version "2.17.11" + +\header { + lsrtags = "editorial-annotations, scheme-language, tweaks-and-overrides" + + texidoc = " +To add a link to a grob-stencil you could use @code{add-link} as +defined here. Works with @code{\\override} and @code{\\tweak}. +Drawback: @code{point-and-click} will be disturbed for the linked grobs. + +Limitation: Works for PDF only. + +The linked objects are colored with a separate command. + +" + doctitle = "Adding links to objects" +} % begin verbatim + +% Code by Thomas Morley +% Contributed by harm6 +% Tested with 2.14.2 up to 2.17.9 + +#(define (add-link url-strg) + (lambda (grob) + (let* ((stil (ly:grob-property grob 'stencil))) + (if (ly:stencil? stil) + (begin + (let* ( + (x-ext (ly:stencil-extent stil X)) + (y-ext (ly:stencil-extent stil Y)) + (url-expr (list 'url-link url-strg `(quote ,x-ext) `(quote ,y-ext))) + (new-stil (ly:stencil-add (ly:make-stencil url-expr x-ext y-ext) stil))) + (ly:grob-set-property! grob 'stencil new-stil))) + #f)))) + +%%%% test + +urlI = +"http://lilypond.org/doc/v2.14/Documentation/notation/writing-pitches" + +urlII = +"http://lilypond.org/doc/v2.14/Documentation/notation/rhythms" + +urlIII = +"http://lilypond.org/doc/v2.14/Documentation/notation/note-heads" + +urlIV = +"http://lilypond.org/doc/v2.14/Documentation/notation/beams" + +urlV = +"http://lilypond.org/doc/v2.14/Documentation/notation/note-head-styles" + +\relative c' { + \key cis\minor + + \once \override Staff.Clef.color = #green + \once \override Staff.Clef.after-line-breaking = + #(add-link urlI) + + \once \override Staff.TimeSignature.color = #green + \once \override Staff.TimeSignature.after-line-breaking = + #(add-link urlII) + + \once \override NoteHead.color = #green + \once \override NoteHead.after-line-breaking = + #(add-link urlIII) + + cis'1 + \once \override Beam.color = #green + \once \override Beam.after-line-breaking = + #(add-link urlIV) + cis8 dis e fis gis2 + 1 + +} diff --git a/Documentation/snippets/adding-parentheses-around-an-expressive-mark-or-chordal-note.ly b/Documentation/snippets/adding-parentheses-around-an-expressive-mark-or-chordal-note.ly index 05b4e9ba07..199c2d8bb8 100644 --- a/Documentation/snippets/adding-parentheses-around-an-expressive-mark-or-chordal-note.ly +++ b/Documentation/snippets/adding-parentheses-around-an-expressive-mark-or-chordal-note.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "expressive-marks, workaround" diff --git a/Documentation/snippets/adjusting-grace-note-spacing.ly b/Documentation/snippets/adjusting-grace-note-spacing.ly index d442d817ec..b8f3f49706 100644 --- a/Documentation/snippets/adjusting-grace-note-spacing.ly +++ b/Documentation/snippets/adjusting-grace-note-spacing.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "rhythms, tweaks-and-overrides" diff --git a/Documentation/snippets/adjusting-lyrics-vertical-spacing.ly b/Documentation/snippets/adjusting-lyrics-vertical-spacing.ly index e7bcf160f1..f13e68d035 100644 --- a/Documentation/snippets/adjusting-lyrics-vertical-spacing.ly +++ b/Documentation/snippets/adjusting-lyrics-vertical-spacing.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "correction-wanted, spacing, text, vocal-music, workaround" diff --git a/Documentation/snippets/adjusting-the-shape-of-falls-and-doits.ly b/Documentation/snippets/adjusting-the-shape-of-falls-and-doits.ly index 6b0b03478d..90f840cbf2 100644 --- a/Documentation/snippets/adjusting-the-shape-of-falls-and-doits.ly +++ b/Documentation/snippets/adjusting-the-shape-of-falls-and-doits.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "expressive-marks" diff --git a/Documentation/snippets/aligning-and-centering-instrument-names.ly b/Documentation/snippets/aligning-and-centering-instrument-names.ly index b67aeac03a..addd41a301 100644 --- a/Documentation/snippets/aligning-and-centering-instrument-names.ly +++ b/Documentation/snippets/aligning-and-centering-instrument-names.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "paper-and-layout, text, titles" diff --git a/Documentation/snippets/aligning-bar-numbers.ly b/Documentation/snippets/aligning-bar-numbers.ly index 321f4cb3d7..4f274f86a6 100644 --- a/Documentation/snippets/aligning-bar-numbers.ly +++ b/Documentation/snippets/aligning-bar-numbers.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "rhythms" diff --git a/Documentation/snippets/aligning-marks-with-various-notation-objects.ly b/Documentation/snippets/aligning-marks-with-various-notation-objects.ly index 8bfd4b76aa..adf4cbbd6a 100644 --- a/Documentation/snippets/aligning-marks-with-various-notation-objects.ly +++ b/Documentation/snippets/aligning-marks-with-various-notation-objects.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "text" diff --git a/Documentation/snippets/aligning-objects-created-with-the--mark-command.ly b/Documentation/snippets/aligning-objects-created-with-the--mark-command.ly index c25eccd8a1..e42018ead6 100644 --- a/Documentation/snippets/aligning-objects-created-with-the--mark-command.ly +++ b/Documentation/snippets/aligning-objects-created-with-the--mark-command.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "text" diff --git a/Documentation/snippets/allowing-fingerings-to-be-printed-inside-the-staff.ly b/Documentation/snippets/allowing-fingerings-to-be-printed-inside-the-staff.ly index d4a211ffe5..bcd495713f 100644 --- a/Documentation/snippets/allowing-fingerings-to-be-printed-inside-the-staff.ly +++ b/Documentation/snippets/allowing-fingerings-to-be-printed-inside-the-staff.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "editorial-annotations, fretted-strings, spacing, specific-notation" diff --git a/Documentation/snippets/altering-the-length-of-beamed-stems.ly b/Documentation/snippets/altering-the-length-of-beamed-stems.ly index 719aa97ea1..5c7801ad47 100644 --- a/Documentation/snippets/altering-the-length-of-beamed-stems.ly +++ b/Documentation/snippets/altering-the-length-of-beamed-stems.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "pitches, tweaks-and-overrides" diff --git a/Documentation/snippets/alternative-breve-note.ly b/Documentation/snippets/alternative-breve-note.ly index db79015357..38aaf69ea7 100644 --- a/Documentation/snippets/alternative-breve-note.ly +++ b/Documentation/snippets/alternative-breve-note.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "expressive-marks, rhythms" diff --git a/Documentation/snippets/analysis-brackets-above-the-staff.ly b/Documentation/snippets/analysis-brackets-above-the-staff.ly index 02a153baf7..b48a1148d1 100644 --- a/Documentation/snippets/analysis-brackets-above-the-staff.ly +++ b/Documentation/snippets/analysis-brackets-above-the-staff.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "editorial-annotations, really-simple, tweaks-and-overrides" diff --git a/Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly b/Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly index c16659a403..effd400963 100644 --- a/Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly +++ b/Documentation/snippets/ancient-notation-template----modern-transcription-of-mensural-music.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "ancient-notation, real-music, really-cool, template" diff --git a/Documentation/snippets/ancient-time-signatures.ly b/Documentation/snippets/ancient-time-signatures.ly index 84e12ce3dc..7fb11e4866 100644 --- a/Documentation/snippets/ancient-time-signatures.ly +++ b/Documentation/snippets/ancient-time-signatures.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "ancient-notation" diff --git a/Documentation/snippets/anglican-psalm-template.ly b/Documentation/snippets/anglican-psalm-template.ly index 055fd10b3c..81f5816c0a 100644 --- a/Documentation/snippets/anglican-psalm-template.ly +++ b/Documentation/snippets/anglican-psalm-template.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "template, vocal-music" @@ -87,7 +87,7 @@ tick = \markup { \layout { \context { \Score - \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 2) + \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/2) } \context { \Staff diff --git a/Documentation/snippets/applying-note-head-styles-depending-on-the-step-of-the-scale.ly b/Documentation/snippets/applying-note-head-styles-depending-on-the-step-of-the-scale.ly index 62dad7ec1c..113ee328b7 100644 --- a/Documentation/snippets/applying-note-head-styles-depending-on-the-step-of-the-scale.ly +++ b/Documentation/snippets/applying-note-head-styles-depending-on-the-step-of-the-scale.ly @@ -42,7 +42,7 @@ fragment = { \new Staff { \transpose c d \relative c' { - \set shapeNoteStyles = ##(do re mi fa + \set shapeNoteStyles = #'#(do re mi fa #f la ti) \fragment } @@ -50,7 +50,7 @@ fragment = { \break \relative c' { - \set shapeNoteStyles = ##(cross triangle fa #f + \set shapeNoteStyles = #'#(cross triangle fa #f mensural xcircle diamond) \fragment } diff --git a/Documentation/snippets/arabic-improvisation.ly b/Documentation/snippets/arabic-improvisation.ly index 3d1708e455..ef813f21ba 100644 --- a/Documentation/snippets/arabic-improvisation.ly +++ b/Documentation/snippets/arabic-improvisation.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "world-music" diff --git a/Documentation/snippets/asymmetric-slurs.ly b/Documentation/snippets/asymmetric-slurs.ly index 2ff6e85ab8..057430dc86 100644 --- a/Documentation/snippets/asymmetric-slurs.ly +++ b/Documentation/snippets/asymmetric-slurs.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "expressive-marks, tweaks-and-overrides" diff --git a/Documentation/snippets/automatic-beam-subdivisions.ly b/Documentation/snippets/automatic-beam-subdivisions.ly index d824ef92e5..40e9e04d68 100644 --- a/Documentation/snippets/automatic-beam-subdivisions.ly +++ b/Documentation/snippets/automatic-beam-subdivisions.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.16.0" +\version "2.17.11" \header { lsrtags = "automatic-notation, connecting-notes, rhythms" @@ -34,10 +34,10 @@ specified in @code{baseMoment}). } >> \oneVoice - \set baseMoment = #(ly:make-moment 1 8) + \set baseMoment = #(ly:make-moment 1/8) \set beatStructure = #'(2 2 2 2) b32^"baseMoment 1 8"[ a g f c' b a g] - \set baseMoment = #(ly:make-moment 1 16) + \set baseMoment = #(ly:make-moment 1/16) \set beatStructure = #'(4 4 4 4) b32^"baseMoment 1 16"[ a g f c' b a g] } diff --git a/Documentation/snippets/avoiding-collisions-with-chord-fingerings.ly b/Documentation/snippets/avoiding-collisions-with-chord-fingerings.ly index 9af5fffa99..83f9ea878f 100644 --- a/Documentation/snippets/avoiding-collisions-with-chord-fingerings.ly +++ b/Documentation/snippets/avoiding-collisions-with-chord-fingerings.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "chords, editorial-annotations, rhythms, tweaks-and-overrides" diff --git a/Documentation/snippets/beam-endings-in-score-context.ly b/Documentation/snippets/beam-endings-in-score-context.ly index d5b9e07ea9..a09e8853d0 100644 --- a/Documentation/snippets/beam-endings-in-score-context.ly +++ b/Documentation/snippets/beam-endings-in-score-context.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.16.0" +\version "2.17.11" \header { lsrtags = "rhythms" @@ -22,7 +22,7 @@ levels: \relative c'' { \time 5/4 % Set default beaming for all staves - \set Score.baseMoment = #(ly:make-moment 1 8) + \set Score.baseMoment = #(ly:make-moment 1/8) \set Score.beatStructure = #'(3 4 3) << \new Staff { diff --git a/Documentation/snippets/beams-across-line-breaks.ly b/Documentation/snippets/beams-across-line-breaks.ly index 1b60a49d41..4b9374e5eb 100644 --- a/Documentation/snippets/beams-across-line-breaks.ly +++ b/Documentation/snippets/beams-across-line-breaks.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "rhythms" diff --git a/Documentation/snippets/blanking-staff-lines-using-the--whiteout-command.ly b/Documentation/snippets/blanking-staff-lines-using-the--whiteout-command.ly index c9139bafb1..e5a4277ea8 100644 --- a/Documentation/snippets/blanking-staff-lines-using-the--whiteout-command.ly +++ b/Documentation/snippets/blanking-staff-lines-using-the--whiteout-command.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "editorial-annotations, really-cool, text" diff --git a/Documentation/snippets/breathing-signs.ly b/Documentation/snippets/breathing-signs.ly index c1af6d24da..80e046bcd7 100644 --- a/Documentation/snippets/breathing-signs.ly +++ b/Documentation/snippets/breathing-signs.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "expressive-marks, symbols-and-glyphs" diff --git a/Documentation/snippets/broken-crescendo-hairpin.ly b/Documentation/snippets/broken-crescendo-hairpin.ly index db3ba99f0d..48f10495df 100644 --- a/Documentation/snippets/broken-crescendo-hairpin.ly +++ b/Documentation/snippets/broken-crescendo-hairpin.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "contemporary-notation, expressive-marks, symbols-and-glyphs" diff --git a/Documentation/snippets/caesura-railtracks-with-fermata.ly b/Documentation/snippets/caesura-railtracks-with-fermata.ly index c42000b8af..573058b573 100644 --- a/Documentation/snippets/caesura-railtracks-with-fermata.ly +++ b/Documentation/snippets/caesura-railtracks-with-fermata.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "expressive-marks, symbols-and-glyphs, tweaks-and-overrides" diff --git a/Documentation/snippets/center-text-below-hairpin-dynamics.ly b/Documentation/snippets/center-text-below-hairpin-dynamics.ly index 67e1972270..2403958853 100644 --- a/Documentation/snippets/center-text-below-hairpin-dynamics.ly +++ b/Documentation/snippets/center-text-below-hairpin-dynamics.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "expressive-marks, really-cool, scheme-language, text" diff --git a/Documentation/snippets/changing-a-single-notes-size-in-a-chord.ly b/Documentation/snippets/changing-a-single-notes-size-in-a-chord.ly index 741edb8388..8175b0e3cc 100644 --- a/Documentation/snippets/changing-a-single-notes-size-in-a-chord.ly +++ b/Documentation/snippets/changing-a-single-notes-size-in-a-chord.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "editorial-annotations, really-simple, simultaneous-notes, specific-notation, tweaks-and-overrides" diff --git a/Documentation/snippets/changing-beam-knee-gap.ly b/Documentation/snippets/changing-beam-knee-gap.ly index 6409e4b15d..3a1d1210b2 100644 --- a/Documentation/snippets/changing-beam-knee-gap.ly +++ b/Documentation/snippets/changing-beam-knee-gap.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "rhythms" diff --git a/Documentation/snippets/changing-form-of-multi-measure-rests.ly b/Documentation/snippets/changing-form-of-multi-measure-rests.ly index 118341b7a8..a61c79e52c 100644 --- a/Documentation/snippets/changing-form-of-multi-measure-rests.ly +++ b/Documentation/snippets/changing-form-of-multi-measure-rests.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "rhythms, tweaks-and-overrides" diff --git a/Documentation/snippets/changing-fret-orientations.ly b/Documentation/snippets/changing-fret-orientations.ly index b174cb5bd8..44bd2576bd 100644 --- a/Documentation/snippets/changing-fret-orientations.ly +++ b/Documentation/snippets/changing-fret-orientations.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "fretted-strings" diff --git a/Documentation/snippets/changing-midi-output-to-one-channel-per-voice.ly b/Documentation/snippets/changing-midi-output-to-one-channel-per-voice.ly index 82d066eac5..29e4454e70 100644 --- a/Documentation/snippets/changing-midi-output-to-one-channel-per-voice.ly +++ b/Documentation/snippets/changing-midi-output-to-one-channel-per-voice.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "contexts-and-engravers, midi, real-music" diff --git a/Documentation/snippets/changing-stanza-fonts.ly b/Documentation/snippets/changing-stanza-fonts.ly index 4ef7475f41..cdab935922 100644 --- a/Documentation/snippets/changing-stanza-fonts.ly +++ b/Documentation/snippets/changing-stanza-fonts.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "really-simple, vocal-music" diff --git a/Documentation/snippets/changing-text-and-spanner-styles-for-text-dynamics.ly b/Documentation/snippets/changing-text-and-spanner-styles-for-text-dynamics.ly index 002aaf7216..028b57124f 100644 --- a/Documentation/snippets/changing-text-and-spanner-styles-for-text-dynamics.ly +++ b/Documentation/snippets/changing-text-and-spanner-styles-for-text-dynamics.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "expressive-marks, tweaks-and-overrides" diff --git a/Documentation/snippets/changing-the-ambitus-gap.ly b/Documentation/snippets/changing-the-ambitus-gap.ly index 3f6f3db167..bb293680ea 100644 --- a/Documentation/snippets/changing-the-ambitus-gap.ly +++ b/Documentation/snippets/changing-the-ambitus-gap.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "pitches" diff --git a/Documentation/snippets/changing-the-breath-mark-symbol.ly b/Documentation/snippets/changing-the-breath-mark-symbol.ly index 33978945b0..08127f589a 100644 --- a/Documentation/snippets/changing-the-breath-mark-symbol.ly +++ b/Documentation/snippets/changing-the-breath-mark-symbol.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "expressive-marks" diff --git a/Documentation/snippets/changing-the-number-of-augmentation-dots-per-note.ly b/Documentation/snippets/changing-the-number-of-augmentation-dots-per-note.ly index 0719c560b1..6486531e59 100644 --- a/Documentation/snippets/changing-the-number-of-augmentation-dots-per-note.ly +++ b/Documentation/snippets/changing-the-number-of-augmentation-dots-per-note.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "expressive-marks, rhythms" diff --git a/Documentation/snippets/changing-the-number-of-lines-in-a-staff.ly b/Documentation/snippets/changing-the-number-of-lines-in-a-staff.ly index c4c53e5c32..b8e4f16bee 100644 --- a/Documentation/snippets/changing-the-number-of-lines-in-a-staff.ly +++ b/Documentation/snippets/changing-the-number-of-lines-in-a-staff.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "specific-notation, staff-notation" diff --git a/Documentation/snippets/changing-the-staff-size.ly b/Documentation/snippets/changing-the-staff-size.ly index ed30920b49..7261a0dfe0 100644 --- a/Documentation/snippets/changing-the-staff-size.ly +++ b/Documentation/snippets/changing-the-staff-size.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "paper-and-layout, staff-notation, tweaks-and-overrides" diff --git a/Documentation/snippets/changing-the-tuplet-number.ly b/Documentation/snippets/changing-the-tuplet-number.ly index 5d4d889106..a33a7fb791 100644 --- a/Documentation/snippets/changing-the-tuplet-number.ly +++ b/Documentation/snippets/changing-the-tuplet-number.ly @@ -1,18 +1,18 @@ -%% DO NOT EDIT this file manually; it is automatically -%% generated from LSR http://lsr.dsi.unimi.it -%% Make any changes in LSR itself, or in Documentation/snippets/new/ , -%% and then run scripts/auxiliar/makelsr.py -%% -%% This file is in the public domain. -\version "2.17.6" +% DO NOT EDIT this file manually; it is automatically +% generated from Documentation/snippets/new +% Make any changes in Documentation/snippets/new/ +% and then run scripts/auxiliar/makelsr.py +% +% This file is in the public domain. +%% Note: this file works from version 2.17.11 +\version "2.17.11" \header { lsrtags = "rhythms" texidoc = " By default, only the numerator of the tuplet number is printed over the -tuplet bracket, i.e., the denominator of the argument to the -@code{\\times} command. Alternatively, num:den of the tuplet number may +tuplet bracket. Alternatively, num:den of the tuplet number may be printed, or the tuplet number may be suppressed altogether. " @@ -20,11 +20,12 @@ be printed, or the tuplet number may be suppressed altogether. } % begin verbatim + \relative c'' { - \times 2/3 { c8 c c } - \times 2/3 { c8 c c } + \tuplet 3/2 { c8 c c } + \tuplet 3/2 { c8 c c } \override TupletNumber.text = #tuplet-number::calc-fraction-text - \times 2/3 { c8 c c } + \tuplet 3/2 { c8 c c } \override TupletNumber.stencil = ##f - \times 2/3 { c8 c c } + \tuplet 3/2 { c8 c c } } diff --git a/Documentation/snippets/changing-time-signatures-inside-a-polymetric-section-using--scaledurations.ly b/Documentation/snippets/changing-time-signatures-inside-a-polymetric-section-using--scaledurations.ly index 4da77bd852..74a6d43c10 100644 --- a/Documentation/snippets/changing-time-signatures-inside-a-polymetric-section-using--scaledurations.ly +++ b/Documentation/snippets/changing-time-signatures-inside-a-polymetric-section-using--scaledurations.ly @@ -4,8 +4,8 @@ % and then run scripts/auxiliar/makelsr.py % % This file is in the public domain. -%% Note: this file works from version 2.16.0 -\version "2.16.0" +%% Note: this file works from version 2.17.11 +\version "2.17.11" \header { lsrtags = "workaround, contexts-and-engravers, contemporary-notation, rhythms" @@ -32,10 +32,10 @@ \new Staff { \scaleDurations 8/5 { \time 6/8 - \set Timing.measureLength = #(ly:make-moment 6 5) + \set Timing.measureLength = #(ly:make-moment 6/5) b8 b b b b b \time 2/4 - \set Timing.measureLength = #(ly:make-moment 4 5) + \set Timing.measureLength = #(ly:make-moment 4/5) b4 b } } diff --git a/Documentation/snippets/coloring-notes-depending-on-their-pitch.ly b/Documentation/snippets/coloring-notes-depending-on-their-pitch.ly index 16ed079f6e..e8890d30ad 100644 --- a/Documentation/snippets/coloring-notes-depending-on-their-pitch.ly +++ b/Documentation/snippets/coloring-notes-depending-on-their-pitch.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "editorial-annotations, pitches, really-cool" diff --git a/Documentation/snippets/combining-two-parts-on-the-same-staff.ly b/Documentation/snippets/combining-two-parts-on-the-same-staff.ly index 0a8477adc5..a81ee58f0c 100644 --- a/Documentation/snippets/combining-two-parts-on-the-same-staff.ly +++ b/Documentation/snippets/combining-two-parts-on-the-same-staff.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "simultaneous-notes, syntax-and-expressions, text" diff --git a/Documentation/snippets/compound-time-signatures.ly b/Documentation/snippets/compound-time-signatures.ly index 9421a12fb1..befdb6134c 100644 --- a/Documentation/snippets/compound-time-signatures.ly +++ b/Documentation/snippets/compound-time-signatures.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "rhythms" diff --git a/Documentation/snippets/consistently-left-aligned-bar-numbers.ly b/Documentation/snippets/consistently-left-aligned-bar-numbers.ly index f2b61e8e8d..dc911ccbce 100644 --- a/Documentation/snippets/consistently-left-aligned-bar-numbers.ly +++ b/Documentation/snippets/consistently-left-aligned-bar-numbers.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "rhythms" diff --git a/Documentation/snippets/contemporary-glissando.ly b/Documentation/snippets/contemporary-glissando.ly index 7d9d563318..8892571d83 100644 --- a/Documentation/snippets/contemporary-glissando.ly +++ b/Documentation/snippets/contemporary-glissando.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "contemporary-notation, expressive-marks, specific-notation" diff --git a/Documentation/snippets/controlling-spanner-visibility-after-a-line-break.ly b/Documentation/snippets/controlling-spanner-visibility-after-a-line-break.ly index 4df07c679e..6a9f070276 100644 --- a/Documentation/snippets/controlling-spanner-visibility-after-a-line-break.ly +++ b/Documentation/snippets/controlling-spanner-visibility-after-a-line-break.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "expressive-marks, tweaks-and-overrides" diff --git a/Documentation/snippets/controlling-the-vertical-ordering-of-scripts.ly b/Documentation/snippets/controlling-the-vertical-ordering-of-scripts.ly index d4091b033d..255b3dbffa 100644 --- a/Documentation/snippets/controlling-the-vertical-ordering-of-scripts.ly +++ b/Documentation/snippets/controlling-the-vertical-ordering-of-scripts.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "expressive-marks, tweaks-and-overrides" diff --git a/Documentation/snippets/controlling-tuplet-bracket-visibility.ly b/Documentation/snippets/controlling-tuplet-bracket-visibility.ly index 736114f59b..9c74de6b45 100644 --- a/Documentation/snippets/controlling-tuplet-bracket-visibility.ly +++ b/Documentation/snippets/controlling-tuplet-bracket-visibility.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "rhythms, tweaks-and-overrides" @@ -23,9 +23,9 @@ bracket), @code{#f} (never print a bracket) or @code{#'if-no-beam} music = \relative c'' { - \times 2/3 { c16[ d e } f8] - \times 2/3 { c8 d e } - \times 2/3 { c4 d e } + \tuplet 3/2 { c16[ d e } f8] + \tuplet 3/2 { c8 d e } + \tuplet 3/2 { c4 d e } } \new Voice { diff --git a/Documentation/snippets/creating-a-delayed-turn.ly b/Documentation/snippets/creating-a-delayed-turn.ly index dba460587b..c780dedcc3 100644 --- a/Documentation/snippets/creating-a-delayed-turn.ly +++ b/Documentation/snippets/creating-a-delayed-turn.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "editorial-annotations, expressive-marks, tweaks-and-overrides" diff --git a/Documentation/snippets/creating-a-sequence-of-notes-on-various-pitches.ly b/Documentation/snippets/creating-a-sequence-of-notes-on-various-pitches.ly index 343279e64b..22476cebfb 100644 --- a/Documentation/snippets/creating-a-sequence-of-notes-on-various-pitches.ly +++ b/Documentation/snippets/creating-a-sequence-of-notes-on-various-pitches.ly @@ -4,8 +4,8 @@ % and then run scripts/auxiliar/makelsr.py % % This file is in the public domain. -%% Note: this file works from version 2.16.0 -\version "2.16.0" +%% Note: this file works from version 2.17.11 +\version "2.17.11" \header { lsrtags = "pitches, real-music, really-cool, scheme-language" @@ -25,7 +25,7 @@ Planets. rhythm = #(define-music-function (parser location p) (ly:pitch?) "Make the rhythm in Mars (the Planets) at the given pitch" - #{ \times 2/3 { $p 8 $p $p } $p 4 $p $p 8 $p $p 4 #}) + #{ \tuplet 3/2 { $p 8 $p $p } $p 4 $p $p 8 $p $p 4 #}) \new Staff { \time 5/4 diff --git a/Documentation/snippets/creating-double-digit-fingerings.ly b/Documentation/snippets/creating-double-digit-fingerings.ly index ba4ccc08c2..85f596d7ed 100644 --- a/Documentation/snippets/creating-double-digit-fingerings.ly +++ b/Documentation/snippets/creating-double-digit-fingerings.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.13" \header { lsrtags = "editorial-annotations, expressive-marks, scheme-language, staff-notation, tweaks-and-overrides" @@ -28,11 +28,6 @@ fifty = #(make-music 'FingeringEvent 'digit 50) -finger = -#(define-music-function (parser location digit) (integer?) - (make-music 'FingeringEvent - 'digit digit)) - #(define (calc-finger-without-warning grob) (let* ((event (event-cause grob)) (digit (ly:event-property event 'digit))) diff --git a/Documentation/snippets/creating-simultaneous-rehearsal-marks.ly b/Documentation/snippets/creating-simultaneous-rehearsal-marks.ly index 3dbde1f742..16b88aa763 100644 --- a/Documentation/snippets/creating-simultaneous-rehearsal-marks.ly +++ b/Documentation/snippets/creating-simultaneous-rehearsal-marks.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "expressive-marks, text, tweaks-and-overrides" diff --git a/Documentation/snippets/creating-text-spanners.ly b/Documentation/snippets/creating-text-spanners.ly index 5e18e550e2..9bba146818 100644 --- a/Documentation/snippets/creating-text-spanners.ly +++ b/Documentation/snippets/creating-text-spanners.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "expressive-marks, text, tweaks-and-overrides" diff --git a/Documentation/snippets/cross-staff-chords---beaming-problems-workaround.ly b/Documentation/snippets/cross-staff-chords---beaming-problems-workaround.ly index cb4ec966af..bca3a3c34f 100644 --- a/Documentation/snippets/cross-staff-chords---beaming-problems-workaround.ly +++ b/Documentation/snippets/cross-staff-chords---beaming-problems-workaround.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "chords, keyboards, tweaks-and-overrides, workaround" diff --git a/Documentation/snippets/custodes.ly b/Documentation/snippets/custodes.ly index b653e146ac..fc6b85d463 100644 --- a/Documentation/snippets/custodes.ly +++ b/Documentation/snippets/custodes.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "ancient-notation, specific-notation, symbols-and-glyphs, tweaks-and-overrides" diff --git a/Documentation/snippets/customizing-fretboard-fret-diagrams.ly b/Documentation/snippets/customizing-fretboard-fret-diagrams.ly index f9d5816c37..c4ea5e8133 100644 --- a/Documentation/snippets/customizing-fretboard-fret-diagrams.ly +++ b/Documentation/snippets/customizing-fretboard-fret-diagrams.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "fretted-strings, tweaks-and-overrides" diff --git a/Documentation/snippets/customizing-markup-fret-diagrams.ly b/Documentation/snippets/customizing-markup-fret-diagrams.ly index 57032ef0fd..5df731a3db 100644 --- a/Documentation/snippets/customizing-markup-fret-diagrams.ly +++ b/Documentation/snippets/customizing-markup-fret-diagrams.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "fretted-strings, tweaks-and-overrides" diff --git a/Documentation/snippets/default-direction-of-stems-on-the-center-line-of-the-staff.ly b/Documentation/snippets/default-direction-of-stems-on-the-center-line-of-the-staff.ly index 50ff9bc0cd..2e2daecefb 100644 --- a/Documentation/snippets/default-direction-of-stems-on-the-center-line-of-the-staff.ly +++ b/Documentation/snippets/default-direction-of-stems-on-the-center-line-of-the-staff.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "editorial-annotations" diff --git a/Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly b/Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly index bdd354fce7..6ba7858cca 100644 --- a/Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly +++ b/Documentation/snippets/defining-predefined-fretboards-for-other-instruments.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "fretted-strings" @@ -108,7 +108,7 @@ primeros = { \layout { \context { \Score - \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 16) + \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/16) } } \midi { } diff --git a/Documentation/snippets/display-bracket-with-only-one-staff-in-a-system.ly b/Documentation/snippets/display-bracket-with-only-one-staff-in-a-system.ly index 86d0906e06..7d8059e50f 100644 --- a/Documentation/snippets/display-bracket-with-only-one-staff-in-a-system.ly +++ b/Documentation/snippets/display-bracket-with-only-one-staff-in-a-system.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "staff-notation, tweaks-and-overrides" diff --git a/Documentation/snippets/displaying-complex-chords.ly b/Documentation/snippets/displaying-complex-chords.ly index 902541ce0c..1e65f3df44 100644 --- a/Documentation/snippets/displaying-complex-chords.ly +++ b/Documentation/snippets/displaying-complex-chords.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "chords, simultaneous-notes, workaround" diff --git a/Documentation/snippets/displaying-grob-ancestry.ly b/Documentation/snippets/displaying-grob-ancestry.ly index d6c8d46a2a..d8157d89f8 100644 --- a/Documentation/snippets/displaying-grob-ancestry.ly +++ b/Documentation/snippets/displaying-grob-ancestry.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "devel, scheme-language, tweaks-and-overrides" diff --git a/Documentation/snippets/drawing-boxes-around-grobs.ly b/Documentation/snippets/drawing-boxes-around-grobs.ly index a95c7739b5..3151abc0d9 100644 --- a/Documentation/snippets/drawing-boxes-around-grobs.ly +++ b/Documentation/snippets/drawing-boxes-around-grobs.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "editorial-annotations, scheme-language, tweaks-and-overrides" diff --git a/Documentation/snippets/drawing-circles-around-note-heads.ly b/Documentation/snippets/drawing-circles-around-note-heads.ly index 44cfe8c7a1..0a63d26180 100644 --- a/Documentation/snippets/drawing-circles-around-note-heads.ly +++ b/Documentation/snippets/drawing-circles-around-note-heads.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "editorial-annotations" diff --git a/Documentation/snippets/drawing-circles-around-various-objects.ly b/Documentation/snippets/drawing-circles-around-various-objects.ly index 196a3d8c81..fbacd05768 100644 --- a/Documentation/snippets/drawing-circles-around-various-objects.ly +++ b/Documentation/snippets/drawing-circles-around-various-objects.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "editorial-annotations, scheme-language, tweaks-and-overrides" diff --git a/Documentation/snippets/editorial-annotations.snippet-list b/Documentation/snippets/editorial-annotations.snippet-list index 8b488aae5c..6f500e1abc 100644 --- a/Documentation/snippets/editorial-annotations.snippet-list +++ b/Documentation/snippets/editorial-annotations.snippet-list @@ -1,4 +1,5 @@ adding-fingerings-to-a-score.ly +adding-links-to-objects.ly allowing-fingerings-to-be-printed-inside-the-staff.ly alternative-bar-numbering.ly analysis-brackets-above-the-staff.ly diff --git a/Documentation/snippets/editorial-headword.ly b/Documentation/snippets/editorial-headword.ly index e6b962a557..5d5ed8e8bc 100644 --- a/Documentation/snippets/editorial-headword.ly +++ b/Documentation/snippets/editorial-headword.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "headword" diff --git a/Documentation/snippets/engraving-ties-manually.ly b/Documentation/snippets/engraving-ties-manually.ly index 76bf91d1ce..5cb6ff3882 100644 --- a/Documentation/snippets/engraving-ties-manually.ly +++ b/Documentation/snippets/engraving-ties-manually.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "rhythms" diff --git a/Documentation/snippets/engraving-tremolos-with-floating-beams.ly b/Documentation/snippets/engraving-tremolos-with-floating-beams.ly index 1338e8c175..265f4f4b1f 100644 --- a/Documentation/snippets/engraving-tremolos-with-floating-beams.ly +++ b/Documentation/snippets/engraving-tremolos-with-floating-beams.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "repeats, rhythms" diff --git a/Documentation/snippets/entering-several-tuplets-using-only-one--times-command.ly b/Documentation/snippets/entering-several-tuplets-using-only-one--times-command.ly index 384c90017e..5e67e60d47 100644 --- a/Documentation/snippets/entering-several-tuplets-using-only-one--times-command.ly +++ b/Documentation/snippets/entering-several-tuplets-using-only-one--times-command.ly @@ -1,34 +1,36 @@ -%% DO NOT EDIT this file manually; it is automatically -%% generated from LSR http://lsr.dsi.unimi.it -%% Make any changes in LSR itself, or in Documentation/snippets/new/ , -%% and then run scripts/auxiliar/makelsr.py -%% -%% This file is in the public domain. -\version "2.16.0" +% DO NOT EDIT this file manually; it is automatically +% generated from Documentation/snippets/new +% Make any changes in Documentation/snippets/new/ +% and then run scripts/auxiliar/makelsr.py +% +% This file is in the public domain. +%% Note: this file works from version 2.17.11 +\version "2.17.11" \header { lsrtags = "rhythms, syntax-and-expressions" texidoc = " The property @code{tupletSpannerDuration} sets how long each of the -tuplets contained within the brackets after @code{\\times} should last. +tuplets contained within the brackets after @code{\\tuplet} should last. Many consecutive tuplets can then be placed within a single -@code{\\times} expression, thus saving typing. - -In the example, two triplets are shown, while @code{\\times} was -entered only once. - - -Read the relevant sections of the Notation Reference for more -information about @code{ly:make-moment}. +@code{\\tuplet} expression, thus saving typing. +There are several ways to set @code{tupletSpannerDuration}. The command +@code{\\tupletSpan} sets it to a given duration, and clears it when +instead of a duration @code{\\default} is specified. Another way is +to use an optional argument with @code{\\tuplet}. " - doctitle = "Entering several tuplets using only one \\times command" + doctitle = "Entering several tuplets using only one \\tuplet command" } % begin verbatim + \relative c' { \time 2/4 - \set tupletSpannerDuration = #(ly:make-moment 1 4) - \times 2/3 { c8 c c c c c } + \tupletSpan 4 + \tuplet 3/2 { c8^"\\tupletSpan 4" c c c c c } + \tupletSpan \default + \tuplet 3/2 { c8^"\\tupletSpan \\default" c c c c c } + \tuplet 3/2 4 { c8^"\\tuplet 3/2 4 {...}" c c c c c } } diff --git a/Documentation/snippets/expressive-headword.ly b/Documentation/snippets/expressive-headword.ly index 6f469e15c1..f9f5e9b908 100644 --- a/Documentation/snippets/expressive-headword.ly +++ b/Documentation/snippets/expressive-headword.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "headword" @@ -28,7 +28,7 @@ Expressive headword % \context { % \Score % \override SpacingSpanner.base-shortest-duration = -% #(ly:make-moment 1 20) +% #(ly:make-moment 1/20) % } %} diff --git a/Documentation/snippets/figured-bass-headword.ly b/Documentation/snippets/figured-bass-headword.ly index 8b76e0204d..b3ae8877ba 100644 --- a/Documentation/snippets/figured-bass-headword.ly +++ b/Documentation/snippets/figured-bass-headword.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "headword" diff --git a/Documentation/snippets/fine-tuning-pedal-brackets.ly b/Documentation/snippets/fine-tuning-pedal-brackets.ly index b9cdf44f71..9363e05777 100644 --- a/Documentation/snippets/fine-tuning-pedal-brackets.ly +++ b/Documentation/snippets/fine-tuning-pedal-brackets.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "keyboards, tweaks-and-overrides" diff --git a/Documentation/snippets/fingering-symbols-for-wind-instruments.ly b/Documentation/snippets/fingering-symbols-for-wind-instruments.ly index e4ea09092f..acb060ae1f 100644 --- a/Documentation/snippets/fingering-symbols-for-wind-instruments.ly +++ b/Documentation/snippets/fingering-symbols-for-wind-instruments.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "symbols-and-glyphs, winds" diff --git a/Documentation/snippets/flamenco-notation.ly b/Documentation/snippets/flamenco-notation.ly index b24c847840..0583274b6c 100644 --- a/Documentation/snippets/flamenco-notation.ly +++ b/Documentation/snippets/flamenco-notation.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "fretted-strings, specific-notation, stylesheet, version-specific" @@ -148,7 +148,7 @@ part = \relative c' { r4 \tupletOff - \times 4/5 { + \tuplet 5/4 { 16^\xUp \headsOff ^\aUp @@ -161,7 +161,7 @@ part = \relative c' { r4 \tupletsOff - \times 2/3 { + \tuplet 3/2 { 8^\pDown \headsOff ^\xUp @@ -169,7 +169,7 @@ part = \relative c' { \headsOn } - \times 2/3 { + \tuplet 3/2 { 8^\pDown \headsOff ^\xUp @@ -177,14 +177,14 @@ part = \relative c' { \headsOn } - \times 2/3 { + \tuplet 3/2 { 8^\pDown \headsOff ^\xUp ^\iUp \headsOn } - \times 2/3 { + \tuplet 3/2 { 8^\pDown \headsOff ^\xUp @@ -194,22 +194,22 @@ part = \relative c' { \tupletsOff \override Beam.positions = #'(2 . 2) - \times 2/3 { + \tuplet 3/2 { a8^\markup{ \small p } ^\strokeUpGolpe ^\strokeDown } - \times 2/3 { + \tuplet 3/2 { a,8^\markup{ \small p } ^\strokeUpGolpe ^\strokeDown } - \times 2/3 { + \tuplet 3/2 { a,8^\markup{ \small p } ^\strokeUpGolpe ^\strokeDown } - \times 2/3 { + \tuplet 3/2 { a,8^\markup{ \small p } ^\strokeUpGolpe ^\strokeDown diff --git a/Documentation/snippets/flute-slap-notation.ly b/Documentation/snippets/flute-slap-notation.ly index fb387f9b69..01f8c5ad79 100644 --- a/Documentation/snippets/flute-slap-notation.ly +++ b/Documentation/snippets/flute-slap-notation.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "contemporary-notation, winds" diff --git a/Documentation/snippets/forcing-horizontal-shift-of-notes.ly b/Documentation/snippets/forcing-horizontal-shift-of-notes.ly index e2413c73b2..d8e5f3bc73 100644 --- a/Documentation/snippets/forcing-horizontal-shift-of-notes.ly +++ b/Documentation/snippets/forcing-horizontal-shift-of-notes.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "simultaneous-notes, tweaks-and-overrides" diff --git a/Documentation/snippets/forcing-hyphens-to-be-shown.ly b/Documentation/snippets/forcing-hyphens-to-be-shown.ly index 6ab4f3706f..bf9fa536d2 100644 --- a/Documentation/snippets/forcing-hyphens-to-be-shown.ly +++ b/Documentation/snippets/forcing-hyphens-to-be-shown.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "vocal-music" diff --git a/Documentation/snippets/forcing-measure-width-to-adapt-to-metronomemarks-width.ly b/Documentation/snippets/forcing-measure-width-to-adapt-to-metronomemarks-width.ly index 244eefef50..063c1c7804 100644 --- a/Documentation/snippets/forcing-measure-width-to-adapt-to-metronomemarks-width.ly +++ b/Documentation/snippets/forcing-measure-width-to-adapt-to-metronomemarks-width.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "staff-notation, workaround" diff --git a/Documentation/snippets/fret-diagrams-explained-and-developed.ly b/Documentation/snippets/fret-diagrams-explained-and-developed.ly index 7ae4dead64..c4a4eb142b 100644 --- a/Documentation/snippets/fret-diagrams-explained-and-developed.ly +++ b/Documentation/snippets/fret-diagrams-explained-and-developed.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "fretted-strings, tweaks-and-overrides" diff --git a/Documentation/snippets/fretted-headword.ly b/Documentation/snippets/fretted-headword.ly index 9349251044..ad985432ea 100644 --- a/Documentation/snippets/fretted-headword.ly +++ b/Documentation/snippets/fretted-headword.ly @@ -4,13 +4,13 @@ % and then run scripts/auxiliar/makelsr.py % % This file is in the public domain. -%% Note: this file works from version 2.17.6 +%% Note: this file works from version 2.17.11 % INSPIRATIONAL HEADER FOR LILYPOND DOCUMENTATION fretted-strings % % Passage from Johann Kaspar Mertz "Opern Revue, Op. 8, no. 17" % % on melodies from Bellini's "Norma" % %*****************************************************************% -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "headword" @@ -81,22 +81,22 @@ melody = \relative c { R1 % m. 5 e'4^\benmarcato e8. d16-4 - d4-4 \times 2/3 { \sfou \FO #'-0.3 #'0.6 4 b8 } | % end of m. 6 + d4-4 \tuplet 3/2 { \sfou \FO #'-0.3 #'0.6 4 b8 } | % end of m. 6 \FO #'-0.3 #'0.3 - 4 \times 2/3 { c4 b8 } a4 e'8. e16 | % m. 7 + 4 \tuplet 3/2 { c4 b8 } a4 e'8. e16 | % m. 7 \FO #'-0.3 #'0.3 - 4 \times 2/3 { \sfol \FO #'0.3 #'0.0 4 e8 } e4 % beg of m. 8 - \times 2/3 { \sfou 4 c8 } | % end of m. 8 + 4 \tuplet 3/2 { \sfol \FO #'0.3 #'0.0 4 e8 } e4 % beg of m. 8 + \tuplet 3/2 { \sfou 4 c8 } | % end of m. 8 - b4 \times 2/3 { d4-4 c8 } \sfou \FO #'-1.7 #'-1.5 4 e | % end of m. 9 + b4 \tuplet 3/2 { d4-4 c8 } \sfou \FO #'-1.7 #'-1.5 4 e | % end of m. 9 - e4 e8. d16-4 d4 \times 2/3 { c4 b8 } | % m. 10 + e4 e8. d16-4 d4 \tuplet 3/2 { c4 b8 } | % m. 10 - \times 2/3 { a4 a8 b4 c8 } % beg of m. 11 + \tuplet 3/2 { a4 a8 b4 c8 } % beg of m. 11 \sfou \FO #'-0.3 #'0.3 - 4^\< \times 2/3 { e4 8\! } | % end of m. 11 + 4^\< \tuplet 3/2 { e4 8\! } | % end of m. 11 } bass = \relative c { @@ -116,21 +116,21 @@ bass = \relative c { %% new section starts here in A minor \set Score.beamExceptions = #'() \once \override TextScript.staff-padding = #1.7 - \times 2/3 { a8\p^\andantino e' a c a e a, e' a c a e } | % m. 5 + \tuplet 3/2 { a8\p^\andantino e' a c a e a, e' a c a e } | % m. 5 - \times 2/3 { a,8\pdolce e' a c a e } % beg m. 6 - \times 2/3 { e,8 \sfou c gis e } | % end m. 6 + \tuplet 3/2 { a,8\pdolce e' a c a e } % beg m. 6 + \tuplet 3/2 { e,8 \sfou c gis e } | % end m. 6 - \times 2/3 { a,8 a c e, b' a, e' a c a e } | % m. 7 + \tuplet 3/2 { a,8 a c e, b' a, e' a c a e } | % m. 7 - \times 2/3 { f,8 f' a \sfol \FO #'0.3 #'-0.5 a f fis, d' a' d a d, } | % m. 8 + \tuplet 3/2 { f,8 f' a \sfol \FO #'0.3 #'-0.5 a f fis, d' a' d a d, } | % m. 8 - \times 2/3 { 8 d' g d' g, d % beg m. 9 + \tuplet 3/2 { 8 d' g d' g, d % beg m. 9 \sfod \FO #'0.0 #'-2.0 \sfou b gis e } | % end m. 9 - \times 2/3 { a,8 e' a c a e e, e' gis c gis e } | % m. 10 + \tuplet 3/2 { a,8 e' a c a e e, e' gis c gis e } | % m. 10 - \times 2/3 { a,8 e' a b a e f, f' a d a f } | % m. 11 + \tuplet 3/2 { a,8 e' a b a e f, f' a d a f } | % m. 11 } \score { diff --git a/Documentation/snippets/fretted-string-harmonics-in-tablature.ly b/Documentation/snippets/fretted-string-harmonics-in-tablature.ly index a62c85dddd..ef74586b7c 100644 --- a/Documentation/snippets/fretted-string-harmonics-in-tablature.ly +++ b/Documentation/snippets/fretted-string-harmonics-in-tablature.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "fretted-strings" diff --git a/Documentation/snippets/generating-random-notes.ly b/Documentation/snippets/generating-random-notes.ly index af7d81868d..cf2bfb23e9 100644 --- a/Documentation/snippets/generating-random-notes.ly +++ b/Documentation/snippets/generating-random-notes.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "pitches, really-cool, scheme-language" @@ -29,7 +29,7 @@ get different random note patterns, just change this number. (make-event-chord (list (make-music 'NoteEvent - 'duration (ly:make-duration 2 0 1 1) + 'duration (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch (quotient idx 7) (remainder idx 7) diff --git a/Documentation/snippets/generating-whole-scores-also-book-parts-in-scheme-without-using-the-parser.ly b/Documentation/snippets/generating-whole-scores-also-book-parts-in-scheme-without-using-the-parser.ly index c2182e123a..cc30a8b2bf 100644 --- a/Documentation/snippets/generating-whole-scores-also-book-parts-in-scheme-without-using-the-parser.ly +++ b/Documentation/snippets/generating-whole-scores-also-book-parts-in-scheme-without-using-the-parser.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.16.0" +\version "2.17.11" \header { lsrtags = "automatic-notation, really-cool, scheme-language" @@ -78,7 +78,7 @@ modified to inser all collected scores so far to the book. (lambda (parser) (let* ((music (make-music 'EventChord 'elements (list (make-music 'NoteEvent - 'duration (ly:make-duration 2 0 1 1) + 'duration (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 pitch 0))))) (score (scorify-music music parser)) (layout (ly:output-def-clone $defaultlayout)) diff --git a/Documentation/snippets/grid-lines--changing-their-appearance.ly b/Documentation/snippets/grid-lines--changing-their-appearance.ly index abb031df09..254a266304 100644 --- a/Documentation/snippets/grid-lines--changing-their-appearance.ly +++ b/Documentation/snippets/grid-lines--changing-their-appearance.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "editorial-annotations" @@ -49,7 +49,7 @@ properties. % set up grids \consists "Grid_point_engraver" % set the grid interval to one quarter note - gridInterval = #(ly:make-moment 1 4) + gridInterval = #(ly:make-moment 1/4) } \context { \Score diff --git a/Documentation/snippets/grid-lines--emphasizing-rhythms-and-notes-synchronization.ly b/Documentation/snippets/grid-lines--emphasizing-rhythms-and-notes-synchronization.ly index cd425b79cb..f8203c6646 100644 --- a/Documentation/snippets/grid-lines--emphasizing-rhythms-and-notes-synchronization.ly +++ b/Documentation/snippets/grid-lines--emphasizing-rhythms-and-notes-synchronization.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "editorial-annotations" @@ -58,7 +58,7 @@ this snippet. \context { \Staff \consists "Grid_point_engraver" - gridInterval = #(ly:make-moment 1 8) + gridInterval = #(ly:make-moment 1/8) % set line length and positioning: % two staff spaces above center line on hidden staff % to four spaces below center line on visible staff diff --git a/Documentation/snippets/hairpins-with-different-line-styles.ly b/Documentation/snippets/hairpins-with-different-line-styles.ly index ebfcda0513..e49485b897 100644 --- a/Documentation/snippets/hairpins-with-different-line-styles.ly +++ b/Documentation/snippets/hairpins-with-different-line-styles.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "expressive-marks, tweaks-and-overrides" diff --git a/Documentation/snippets/heavily-customized-polymetric-time-signatures.ly b/Documentation/snippets/heavily-customized-polymetric-time-signatures.ly index f8fdea629f..ce82f08d2b 100644 --- a/Documentation/snippets/heavily-customized-polymetric-time-signatures.ly +++ b/Documentation/snippets/heavily-customized-polymetric-time-signatures.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "contemporary-notation, percussion, real-music, rhythms" diff --git a/Documentation/snippets/hiding-accidentals-on-tied-notes-at-the-start-of-a-new-system.ly b/Documentation/snippets/hiding-accidentals-on-tied-notes-at-the-start-of-a-new-system.ly index 1c3c4ea4ea..db44168bbb 100644 --- a/Documentation/snippets/hiding-accidentals-on-tied-notes-at-the-start-of-a-new-system.ly +++ b/Documentation/snippets/hiding-accidentals-on-tied-notes-at-the-start-of-a-new-system.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "pitches" diff --git a/Documentation/snippets/hiding-the-extender-line-for-text-dynamics.ly b/Documentation/snippets/hiding-the-extender-line-for-text-dynamics.ly index 682e2d5421..20f5a1aa30 100644 --- a/Documentation/snippets/hiding-the-extender-line-for-text-dynamics.ly +++ b/Documentation/snippets/hiding-the-extender-line-for-text-dynamics.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "expressive-marks" diff --git a/Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly b/Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly index 5a57a7a743..b336b35caf 100644 --- a/Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly +++ b/Documentation/snippets/horizontally-aligning-custom-dynamics-e.g.-sempre-pp,-piu-f,-subito-p.ly @@ -4,6 +4,13 @@ % and then run scripts/auxiliar/makelsr.py % % This file is in the public domain. +%% Note: this file works from version 2.17.6 +%% DO NOT EDIT this file manually; it is automatically +%% generated from LSR http://lsr.dsi.unimi.it +%% Make any changes in LSR itself, or in Documentation/snippets/new/ , +%% and then run scripts/auxiliar/makelsr.py +%% +%% This file is in the public domain. \version "2.17.6" \header { diff --git a/Documentation/snippets/how-to-change-fret-diagram-position.ly b/Documentation/snippets/how-to-change-fret-diagram-position.ly index cbcd2bc9c7..6b2a0ecc74 100644 --- a/Documentation/snippets/how-to-change-fret-diagram-position.ly +++ b/Documentation/snippets/how-to-change-fret-diagram-position.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "fretted-strings, specific-notation, tweaks-and-overrides" diff --git a/Documentation/snippets/how-to-print-two-rehearsal-marks-above-and-below-the-same-barline-method-1.ly b/Documentation/snippets/how-to-print-two-rehearsal-marks-above-and-below-the-same-barline-method-1.ly index e7eb16dda1..feb49944e6 100644 --- a/Documentation/snippets/how-to-print-two-rehearsal-marks-above-and-below-the-same-barline-method-1.ly +++ b/Documentation/snippets/how-to-print-two-rehearsal-marks-above-and-below-the-same-barline-method-1.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "editorial-annotations, expressive-marks, staff-notation, tweaks-and-overrides" diff --git a/Documentation/snippets/how-to-print-two-rehearsal-marks-above-and-below-the-same-barline-method-2.ly b/Documentation/snippets/how-to-print-two-rehearsal-marks-above-and-below-the-same-barline-method-2.ly index 12d760f3ff..0116ec43c3 100644 --- a/Documentation/snippets/how-to-print-two-rehearsal-marks-above-and-below-the-same-barline-method-2.ly +++ b/Documentation/snippets/how-to-print-two-rehearsal-marks-above-and-below-the-same-barline-method-2.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "editorial-annotations, expressive-marks, staff-notation, tweaks-and-overrides" diff --git a/Documentation/snippets/indicating-cross-staff-chords-with-arpeggio-bracket.ly b/Documentation/snippets/indicating-cross-staff-chords-with-arpeggio-bracket.ly index bbb2f9fbd6..032feea889 100644 --- a/Documentation/snippets/indicating-cross-staff-chords-with-arpeggio-bracket.ly +++ b/Documentation/snippets/indicating-cross-staff-chords-with-arpeggio-bracket.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "keyboards, real-music" diff --git a/Documentation/snippets/inserting-a-caesura.ly b/Documentation/snippets/inserting-a-caesura.ly index c8378a2f1d..fcd1e580f9 100644 --- a/Documentation/snippets/inserting-a-caesura.ly +++ b/Documentation/snippets/inserting-a-caesura.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "expressive-marks, tweaks-and-overrides" diff --git a/Documentation/snippets/inserting-score-fragments-above-a-staff,-as-markups.ly b/Documentation/snippets/inserting-score-fragments-above-a-staff,-as-markups.ly index d556d5b80d..571723635f 100644 --- a/Documentation/snippets/inserting-score-fragments-above-a-staff,-as-markups.ly +++ b/Documentation/snippets/inserting-score-fragments-above-a-staff,-as-markups.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.16.0" +\version "2.17.11" \header { lsrtags = "real-music, staff-notation" @@ -39,8 +39,8 @@ tuning = \markup { \relative c'' { \time 4/8 - \times 2/3 { c8 d e } \times 2/3 { c d e } - \times 2/3 { c8 d e } \times 2/3 { c d e } + \tuplet 3/2 { c8 d e } \tuplet 3/2 { c d e } + \tuplet 3/2 { c8 d e } \tuplet 3/2 { c d e } g8 a g a g8 a g a } diff --git a/Documentation/snippets/keep-change-clefs-full-sized.ly b/Documentation/snippets/keep-change-clefs-full-sized.ly index 1504747297..d0e244388f 100644 --- a/Documentation/snippets/keep-change-clefs-full-sized.ly +++ b/Documentation/snippets/keep-change-clefs-full-sized.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "pitches, tweaks-and-overrides" diff --git a/Documentation/snippets/keyboard-headword.ly b/Documentation/snippets/keyboard-headword.ly index ffc7a1e562..a0d43d51d2 100644 --- a/Documentation/snippets/keyboard-headword.ly +++ b/Documentation/snippets/keyboard-headword.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "headword" diff --git a/Documentation/snippets/laissez-vibrer-ties.ly b/Documentation/snippets/laissez-vibrer-ties.ly index d125dc8038..c2b459e810 100644 --- a/Documentation/snippets/laissez-vibrer-ties.ly +++ b/Documentation/snippets/laissez-vibrer-ties.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "connecting-notes, contemporary-notation, expressive-marks, fretted-strings, keyboards, specific-notation" diff --git a/Documentation/snippets/line-arrows.ly b/Documentation/snippets/line-arrows.ly index 93086da94c..906e546fbb 100644 --- a/Documentation/snippets/line-arrows.ly +++ b/Documentation/snippets/line-arrows.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "expressive-marks, tweaks-and-overrides" diff --git a/Documentation/snippets/lyrics-alignment.ly b/Documentation/snippets/lyrics-alignment.ly index 9167330fe6..fde77698fa 100644 --- a/Documentation/snippets/lyrics-alignment.ly +++ b/Documentation/snippets/lyrics-alignment.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "really-simple, text, vocal-music" diff --git a/Documentation/snippets/making-slurs-with-complex-dash-structure.ly b/Documentation/snippets/making-slurs-with-complex-dash-structure.ly index b4d11b13d7..7afb6ebf81 100644 --- a/Documentation/snippets/making-slurs-with-complex-dash-structure.ly +++ b/Documentation/snippets/making-slurs-with-complex-dash-structure.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "expressive-marks, rhythms" diff --git a/Documentation/snippets/making-some-staff-lines-thicker-than-the-others.ly b/Documentation/snippets/making-some-staff-lines-thicker-than-the-others.ly index 1cf8befaa0..c22b373441 100644 --- a/Documentation/snippets/making-some-staff-lines-thicker-than-the-others.ly +++ b/Documentation/snippets/making-some-staff-lines-thicker-than-the-others.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "editorial-annotations, really-cool, staff-notation, workaround" diff --git a/Documentation/snippets/manually-controlling-beam-positions.ly b/Documentation/snippets/manually-controlling-beam-positions.ly index fe44415234..02a914a5f4 100644 --- a/Documentation/snippets/manually-controlling-beam-positions.ly +++ b/Documentation/snippets/manually-controlling-beam-positions.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "connecting-notes, rhythms, tweaks-and-overrides" diff --git a/Documentation/snippets/marking-notes-of-spoken-parts-with-a-cross-on-the-stem.ly b/Documentation/snippets/marking-notes-of-spoken-parts-with-a-cross-on-the-stem.ly index a836fd38d1..81b2593ce9 100644 --- a/Documentation/snippets/marking-notes-of-spoken-parts-with-a-cross-on-the-stem.ly +++ b/Documentation/snippets/marking-notes-of-spoken-parts-with-a-cross-on-the-stem.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "contemporary-notation, editorial-annotations, vocal-music, workaround" diff --git a/Documentation/snippets/markup-lines.ly b/Documentation/snippets/markup-lines.ly index 36f6db452b..2503a0bac9 100644 --- a/Documentation/snippets/markup-lines.ly +++ b/Documentation/snippets/markup-lines.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "text" diff --git a/Documentation/snippets/measure-counter.ly b/Documentation/snippets/measure-counter.ly index 42d9ceb529..763f1d119c 100644 --- a/Documentation/snippets/measure-counter.ly +++ b/Documentation/snippets/measure-counter.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "editorial-annotations, repeats, staff-notation, workaround" diff --git a/Documentation/snippets/mensurstriche-layout-bar-lines-between-the-staves.ly b/Documentation/snippets/mensurstriche-layout-bar-lines-between-the-staves.ly index 537d0a1897..be00e41513 100644 --- a/Documentation/snippets/mensurstriche-layout-bar-lines-between-the-staves.ly +++ b/Documentation/snippets/mensurstriche-layout-bar-lines-between-the-staves.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "ancient-notation, contexts-and-engravers, staff-notation, tweaks-and-overrides" diff --git a/Documentation/snippets/merging-multi-measure-rests-in-a-polyphonic-part.ly b/Documentation/snippets/merging-multi-measure-rests-in-a-polyphonic-part.ly index 6a4807ec95..14659bfaf7 100644 --- a/Documentation/snippets/merging-multi-measure-rests-in-a-polyphonic-part.ly +++ b/Documentation/snippets/merging-multi-measure-rests-in-a-polyphonic-part.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "really-simple, rhythms, version-specific" diff --git a/Documentation/snippets/modifying-tuplet-bracket-length.ly b/Documentation/snippets/modifying-tuplet-bracket-length.ly index 3cff9d1059..bde66e6168 100644 --- a/Documentation/snippets/modifying-tuplet-bracket-length.ly +++ b/Documentation/snippets/modifying-tuplet-bracket-length.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.16.0" +\version "2.17.11" \header { lsrtags = "really-simple, rhythms" @@ -30,11 +30,11 @@ modify what material they cover. % ...to cover all items up to the next note \set tupletFullLengthNote = ##t \time 2/4 - \times 2/3 { c4 c c } + \tuplet 3/2 { c4 c c } % ...or to cover just whitespace \set tupletFullLengthNote = ##f \time 4/4 - \times 4/5 { c4 c1 } + \tuplet 5/4 { c4 c1 } \time 3/4 c2. } diff --git a/Documentation/snippets/moving-dotted-notes-in-polyphony.ly b/Documentation/snippets/moving-dotted-notes-in-polyphony.ly index 8a225d29ff..f0528e673b 100644 --- a/Documentation/snippets/moving-dotted-notes-in-polyphony.ly +++ b/Documentation/snippets/moving-dotted-notes-in-polyphony.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "rhythms, simultaneous-notes, tweaks-and-overrides" diff --git a/Documentation/snippets/moving-slur-positions-vertically.ly b/Documentation/snippets/moving-slur-positions-vertically.ly index d2b93bb89c..4bae79c00f 100644 --- a/Documentation/snippets/moving-slur-positions-vertically.ly +++ b/Documentation/snippets/moving-slur-positions-vertically.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "expressive-marks, tweaks-and-overrides" diff --git a/Documentation/snippets/multi-measure-rest-markup.ly b/Documentation/snippets/multi-measure-rest-markup.ly index d7bd204f2c..e1d8deea44 100644 --- a/Documentation/snippets/multi-measure-rest-markup.ly +++ b/Documentation/snippets/multi-measure-rest-markup.ly @@ -13,27 +13,25 @@ Markups attached to a multi-measure rest will be centered above or below it. Long markups attached to multi-measure rests do not cause the measure to expand. To expand a multi-measure rest to fit the -markup, use a spacer rest with an attached markup before the +markup, use an empty chord with an attached markup before the multi-measure rest. -Note that the spacer rest causes a bar line to be inserted. Text -attached to a spacer rest in this way is left-aligned to the position -where the note would be placed in the measure, but if the measure -length is determined by the length of the text, the text will appear to -be centered. +Text attached to a spacer rest in this way is left-aligned to the +position where the note would be placed in the measure, but if the +measure length is determined by the length of the text, the text will +appear to be centered. " doctitle = "Multi-measure rest markup" } % begin verbatim - \relative c' { \compressFullBarRests \textLengthOn - s1*0^\markup { [MAJOR GENERAL] } + <>^\markup { [MAJOR GENERAL] } R1*19 - s1*0_\markup { \italic { Cue: ... it is yours } } - s1*0^\markup { A } + <>_\markup { \italic { Cue: ... it is yours } } + <>^\markup { A } R1*30^\markup { [MABEL] } \textLengthOff c4^\markup { CHORUS } d f c diff --git a/Documentation/snippets/new/changing-the-tuplet-number.ly b/Documentation/snippets/new/changing-the-tuplet-number.ly new file mode 100644 index 0000000000..dc147fa13c --- /dev/null +++ b/Documentation/snippets/new/changing-the-tuplet-number.ly @@ -0,0 +1,23 @@ +\version "2.17.11" + +\header { + lsrtags = "rhythms" + + texidoc = " +By default, only the numerator of the tuplet number is printed over the +tuplet bracket. Alternatively, num:den of the tuplet number may +be printed, or the tuplet number may be suppressed altogether. + +" + doctitle = "Changing the tuplet number" +} + + +\relative c'' { + \tuplet 3/2 { c8 c c } + \tuplet 3/2 { c8 c c } + \override TupletNumber.text = #tuplet-number::calc-fraction-text + \tuplet 3/2 { c8 c c } + \override TupletNumber.stencil = ##f + \tuplet 3/2 { c8 c c } +} diff --git a/Documentation/snippets/new/changing-time-signatures-inside-a-polymetric-section-using--scaledurations.ly b/Documentation/snippets/new/changing-time-signatures-inside-a-polymetric-section-using--scaledurations.ly index 0aff0ba5e7..cedf58cd32 100644 --- a/Documentation/snippets/new/changing-time-signatures-inside-a-polymetric-section-using--scaledurations.ly +++ b/Documentation/snippets/new/changing-time-signatures-inside-a-polymetric-section-using--scaledurations.ly @@ -1,4 +1,4 @@ -\version "2.16.0" +\version "2.17.11" \header { lsrtags = "workaround, contexts-and-engravers, contemporary-notation, rhythms" @@ -24,10 +24,10 @@ \new Staff { \scaleDurations 8/5 { \time 6/8 - \set Timing.measureLength = #(ly:make-moment 6 5) + \set Timing.measureLength = #(ly:make-moment 6/5) b8 b b b b b \time 2/4 - \set Timing.measureLength = #(ly:make-moment 4 5) + \set Timing.measureLength = #(ly:make-moment 4/5) b4 b } } diff --git a/Documentation/snippets/new/creating-a-sequence-of-notes-on-various-pitches.ly b/Documentation/snippets/new/creating-a-sequence-of-notes-on-various-pitches.ly index ea2d8305a9..8e9a8c65b4 100644 --- a/Documentation/snippets/new/creating-a-sequence-of-notes-on-various-pitches.ly +++ b/Documentation/snippets/new/creating-a-sequence-of-notes-on-various-pitches.ly @@ -1,4 +1,4 @@ -\version "2.16.0" +\version "2.17.11" \header { lsrtags = "pitches, real-music, really-cool, scheme-language" @@ -17,7 +17,7 @@ Planets. rhythm = #(define-music-function (parser location p) (ly:pitch?) "Make the rhythm in Mars (the Planets) at the given pitch" - #{ \times 2/3 { $p 8 $p $p } $p 4 $p $p 8 $p $p 4 #}) + #{ \tuplet 3/2 { $p 8 $p $p } $p 4 $p $p 8 $p $p 4 #}) \new Staff { \time 5/4 diff --git a/Documentation/snippets/new/entering-several-tuplets-using-only-one--times-command.ly b/Documentation/snippets/new/entering-several-tuplets-using-only-one--times-command.ly new file mode 100644 index 0000000000..0b6af1b368 --- /dev/null +++ b/Documentation/snippets/new/entering-several-tuplets-using-only-one--times-command.ly @@ -0,0 +1,28 @@ +\version "2.17.11" + +\header { + lsrtags = "rhythms, syntax-and-expressions" + + texidoc = " +The property @code{tupletSpannerDuration} sets how long each of the +tuplets contained within the brackets after @code{\\tuplet} should last. +Many consecutive tuplets can then be placed within a single +@code{\\tuplet} expression, thus saving typing. + +There are several ways to set @code{tupletSpannerDuration}. The command +@code{\\tupletSpan} sets it to a given duration, and clears it when +instead of a duration @code{\\default} is specified. Another way is +to use an optional argument with @code{\\tuplet}. +" + doctitle = "Entering several tuplets using only one \\tuplet command" +} + + +\relative c' { + \time 2/4 + \tupletSpan 4 + \tuplet 3/2 { c8^"\\tupletSpan 4" c c c c c } + \tupletSpan \default + \tuplet 3/2 { c8^"\\tupletSpan \\default" c c c c c } + \tuplet 3/2 4 { c8^"\\tuplet 3/2 4 {...}" c c c c c } +} diff --git a/Documentation/snippets/new/fretted-headword.ly b/Documentation/snippets/new/fretted-headword.ly index b7b6b58dec..11b57ee7bc 100644 --- a/Documentation/snippets/new/fretted-headword.ly +++ b/Documentation/snippets/new/fretted-headword.ly @@ -3,7 +3,7 @@ % on melodies from Bellini's "Norma" % %*****************************************************************% -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "headword" @@ -73,22 +73,22 @@ melody = \relative c { R1 % m. 5 e'4^\benmarcato e8. d16-4 - d4-4 \times 2/3 { \sfou \FO #'-0.3 #'0.6 4 b8 } | % end of m. 6 + d4-4 \tuplet 3/2 { \sfou \FO #'-0.3 #'0.6 4 b8 } | % end of m. 6 \FO #'-0.3 #'0.3 - 4 \times 2/3 { c4 b8 } a4 e'8. e16 | % m. 7 + 4 \tuplet 3/2 { c4 b8 } a4 e'8. e16 | % m. 7 \FO #'-0.3 #'0.3 - 4 \times 2/3 { \sfol \FO #'0.3 #'0.0 4 e8 } e4 % beg of m. 8 - \times 2/3 { \sfou 4 c8 } | % end of m. 8 + 4 \tuplet 3/2 { \sfol \FO #'0.3 #'0.0 4 e8 } e4 % beg of m. 8 + \tuplet 3/2 { \sfou 4 c8 } | % end of m. 8 - b4 \times 2/3 { d4-4 c8 } \sfou \FO #'-1.7 #'-1.5 4 e | % end of m. 9 + b4 \tuplet 3/2 { d4-4 c8 } \sfou \FO #'-1.7 #'-1.5 4 e | % end of m. 9 - e4 e8. d16-4 d4 \times 2/3 { c4 b8 } | % m. 10 + e4 e8. d16-4 d4 \tuplet 3/2 { c4 b8 } | % m. 10 - \times 2/3 { a4 a8 b4 c8 } % beg of m. 11 + \tuplet 3/2 { a4 a8 b4 c8 } % beg of m. 11 \sfou \FO #'-0.3 #'0.3 - 4^\< \times 2/3 { e4 8\! } | % end of m. 11 + 4^\< \tuplet 3/2 { e4 8\! } | % end of m. 11 } bass = \relative c { @@ -108,21 +108,21 @@ bass = \relative c { %% new section starts here in A minor \set Score.beamExceptions = #'() \once \override TextScript.staff-padding = #1.7 - \times 2/3 { a8\p^\andantino e' a c a e a, e' a c a e } | % m. 5 + \tuplet 3/2 { a8\p^\andantino e' a c a e a, e' a c a e } | % m. 5 - \times 2/3 { a,8\pdolce e' a c a e } % beg m. 6 - \times 2/3 { e,8 \sfou c gis e } | % end m. 6 + \tuplet 3/2 { a,8\pdolce e' a c a e } % beg m. 6 + \tuplet 3/2 { e,8 \sfou c gis e } | % end m. 6 - \times 2/3 { a,8 a c e, b' a, e' a c a e } | % m. 7 + \tuplet 3/2 { a,8 a c e, b' a, e' a c a e } | % m. 7 - \times 2/3 { f,8 f' a \sfol \FO #'0.3 #'-0.5 a f fis, d' a' d a d, } | % m. 8 + \tuplet 3/2 { f,8 f' a \sfol \FO #'0.3 #'-0.5 a f fis, d' a' d a d, } | % m. 8 - \times 2/3 { 8 d' g d' g, d % beg m. 9 + \tuplet 3/2 { 8 d' g d' g, d % beg m. 9 \sfod \FO #'0.0 #'-2.0 \sfou b gis e } | % end m. 9 - \times 2/3 { a,8 e' a c a e e, e' gis c gis e } | % m. 10 + \tuplet 3/2 { a,8 e' a c a e e, e' gis c gis e } | % m. 10 - \times 2/3 { a,8 e' a b a e f, f' a d a f } | % m. 11 + \tuplet 3/2 { a,8 e' a b a e f, f' a d a f } | % m. 11 } \score { diff --git a/Documentation/snippets/new/score-for-diatonic-accordion.ly b/Documentation/snippets/new/score-for-diatonic-accordion.ly index 6c005c2009..fbefd5445e 100644 --- a/Documentation/snippets/new/score-for-diatonic-accordion.ly +++ b/Documentation/snippets/new/score-for-diatonic-accordion.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "template, real-music, specific-notation" @@ -150,7 +150,7 @@ AccordionTab= { \dynamicUp \context { \Staff \consists "Grid_point_engraver" - gridInterval = #(ly:make-moment 4 4) % 4/4 - tact. How many beats per bar + gridInterval = #(ly:make-moment 4/4) % 4/4 - tact. How many beats per bar % The following line has to be adjusted O-F-T-E-N. \override GridPoint.Y-extent = #'(-2 . -21) } diff --git a/Documentation/snippets/non-default-tuplet-numbers.ly b/Documentation/snippets/non-default-tuplet-numbers.ly index 64aafafb70..65030025a3 100644 --- a/Documentation/snippets/non-default-tuplet-numbers.ly +++ b/Documentation/snippets/non-default-tuplet-numbers.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "rhythms" @@ -21,28 +21,28 @@ to the tuplet number or tuplet fraction. \relative c'' { \once \override TupletNumber.text = #(tuplet-number::non-default-tuplet-denominator-text 7) - \times 2/3 { c4. c4. c4. c4. } + \tuplet 3/2 { c4. c4. c4. c4. } \once \override TupletNumber.text = #(tuplet-number::non-default-tuplet-fraction-text 12 7) - \times 2/3 { c4. c4. c4. c4. } + \tuplet 3/2 { c4. c4. c4. c4. } \once \override TupletNumber.text = #(tuplet-number::append-note-wrapper (tuplet-number::non-default-tuplet-fraction-text 12 7) "8") - \times 2/3 { c4. c4. c4. c4. } + \tuplet 3/2 { c4. c4. c4. c4. } \once \override TupletNumber.text = #(tuplet-number::append-note-wrapper tuplet-number::calc-denominator-text "4") - \times 2/3 { c8 c8 c8 c8 c8 c8 } + \tuplet 3/2 { c8 c8 c8 c8 c8 c8 } \once \override TupletNumber.text = #(tuplet-number::append-note-wrapper tuplet-number::calc-fraction-text "4") - \times 2/3 { c8 c8 c8 c8 c8 c8 } + \tuplet 3/2 { c8 c8 c8 c8 c8 c8 } \once \override TupletNumber.text = #(tuplet-number::fraction-with-notes "4." "8") - \times 2/3 { c4. c4. c4. c4. } + \tuplet 3/2 { c4. c4. c4. c4. } \once \override TupletNumber.text = #(tuplet-number::non-default-fraction-with-notes 12 "8" 4 "4") - \times 2/3 { c4. c4. c4. c4. } + \tuplet 3/2 { c4. c4. c4. c4. } } diff --git a/Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly b/Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly index 2ec7ebf8d9..ef6b06868e 100644 --- a/Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly +++ b/Documentation/snippets/obtaining-2.12-lyrics-spacing-in-newer-versions.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "vocal-music" diff --git a/Documentation/snippets/outputting-the-version-number.ly b/Documentation/snippets/outputting-the-version-number.ly index 742e687c93..b3803eea4a 100644 --- a/Documentation/snippets/outputting-the-version-number.ly +++ b/Documentation/snippets/outputting-the-version-number.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "really-simple, scheme-language, text, titles" diff --git a/Documentation/snippets/page-label.ly b/Documentation/snippets/page-label.ly index 727f9d4191..981f9b24ff 100644 --- a/Documentation/snippets/page-label.ly +++ b/Documentation/snippets/page-label.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "spacing" diff --git a/Documentation/snippets/permitting-line-breaks-within-beamed-tuplets.ly b/Documentation/snippets/permitting-line-breaks-within-beamed-tuplets.ly index 0e8590c7ac..c67206c3aa 100644 --- a/Documentation/snippets/permitting-line-breaks-within-beamed-tuplets.ly +++ b/Documentation/snippets/permitting-line-breaks-within-beamed-tuplets.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "rhythms, version-specific" @@ -30,9 +30,9 @@ tuplets have to be beamed manually. } \relative c'' { a8 - \repeat unfold 5 { \times 2/3 { c[ b a] } } + \repeat unfold 5 { \tuplet 3/2 { c[ b a] } } % Insert a manual line break within a tuplet - \times 2/3 { c[ b \bar "" \break a] } - \repeat unfold 5 { \times 2/3 { c[ b a] } } + \tuplet 3/2 { c[ b \bar "" \break a] } + \repeat unfold 5 { \tuplet 3/2 { c[ b a] } } c8 } diff --git a/Documentation/snippets/pitches-headword.ly b/Documentation/snippets/pitches-headword.ly index 6a7cc93369..780fd63386 100644 --- a/Documentation/snippets/pitches-headword.ly +++ b/Documentation/snippets/pitches-headword.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "headword" diff --git a/Documentation/snippets/positioning-arpeggios.ly b/Documentation/snippets/positioning-arpeggios.ly index 68861a1dc3..e2937e6a7f 100644 --- a/Documentation/snippets/positioning-arpeggios.ly +++ b/Documentation/snippets/positioning-arpeggios.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "expressive-marks, tweaks-and-overrides" diff --git a/Documentation/snippets/positioning-fingering-indications-precisely.ly b/Documentation/snippets/positioning-fingering-indications-precisely.ly index 253b05ec03..0949048f62 100644 --- a/Documentation/snippets/positioning-fingering-indications-precisely.ly +++ b/Documentation/snippets/positioning-fingering-indications-precisely.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "editorial-annotations" diff --git a/Documentation/snippets/positioning-grace-note-beams-at-the-height-of-normal-note-beams.ly b/Documentation/snippets/positioning-grace-note-beams-at-the-height-of-normal-note-beams.ly index d3c6e90dc9..1c9098a460 100644 --- a/Documentation/snippets/positioning-grace-note-beams-at-the-height-of-normal-note-beams.ly +++ b/Documentation/snippets/positioning-grace-note-beams-at-the-height-of-normal-note-beams.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "rhythms" diff --git a/Documentation/snippets/positioning-grace-notes-with-floating-space.ly b/Documentation/snippets/positioning-grace-notes-with-floating-space.ly index 898921de85..c03f7fd45c 100644 --- a/Documentation/snippets/positioning-grace-notes-with-floating-space.ly +++ b/Documentation/snippets/positioning-grace-notes-with-floating-space.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "rhythms" diff --git a/Documentation/snippets/positioning-segno-and-coda-with-line-break.ly b/Documentation/snippets/positioning-segno-and-coda-with-line-break.ly index c329547df0..690738975a 100644 --- a/Documentation/snippets/positioning-segno-and-coda-with-line-break.ly +++ b/Documentation/snippets/positioning-segno-and-coda-with-line-break.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "breaks, repeats, symbols-and-glyphs, workaround" @@ -65,13 +65,13 @@ line. % ================== % Move text to the desired position % \once \override TextScript.extra-offset = #'( 2 . -3.5 ) - % | s1*0^\markup { D.S. al Coda } } + % | <>^\markup { D.S. al Coda } } % text center-aligned % ==================== % Move text to the desired position % \once \override TextScript.extra-offset = #'( 6 . -5.0 ) - % | s1*0^\markup { \center-column { D.S. "al Coda" } } + % | <>^\markup { \center-column { D.S. "al Coda" } } % text and symbols center-aligned % =============================== diff --git a/Documentation/snippets/positioning-text-markups-inside-slurs.ly b/Documentation/snippets/positioning-text-markups-inside-slurs.ly index 8348981a4e..12b507e2b6 100644 --- a/Documentation/snippets/positioning-text-markups-inside-slurs.ly +++ b/Documentation/snippets/positioning-text-markups-inside-slurs.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "editorial-annotations, expressive-marks, tweaks-and-overrides" diff --git a/Documentation/snippets/preventing-final-mark-from-removing-final-tuplet.ly b/Documentation/snippets/preventing-final-mark-from-removing-final-tuplet.ly index 8df5f99d76..89be0cb1d5 100644 --- a/Documentation/snippets/preventing-final-mark-from-removing-final-tuplet.ly +++ b/Documentation/snippets/preventing-final-mark-from-removing-final-tuplet.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "rhythms" @@ -22,10 +22,10 @@ tuplet marking. This can be overcome by setting @code{TupletBracket \new Staff { \set tupletFullLength = ##t \time 1/8 - \times 2/3 { c'16 c'16 c'16 } - \times 2/3 { c'16 c'16 c'16 } - \times 2/3 { c'16 c'16 c'16 } - \override Score.RehearsalMark.break-visibility = ##(#t #t #t) + \tuplet 3/2 { c'16 c'16 c'16 } + \tuplet 3/2 { c'16 c'16 c'16 } + \tuplet 3/2 { c'16 c'16 c'16 } + \override Score.RehearsalMark.break-visibility = #'#(#t #t #t) \override Score.RehearsalMark.direction = #DOWN \override Score.RehearsalMark.self-alignment-X = #RIGHT % due to issue 2362 the following line is commented @@ -40,10 +40,10 @@ tuplet marking. This can be overcome by setting @code{TupletBracket \override TupletBracket.full-length-to-extent = ##f \time 1/8 - \times 2/3 { c'16 c'16 c'16 } - \times 2/3 { c'16 c'16 c'16 } - \times 2/3 { c'16 c'16 c'16 } - \override Score.RehearsalMark.break-visibility = ##(#t #t #t) + \tuplet 3/2 { c'16 c'16 c'16 } + \tuplet 3/2 { c'16 c'16 c'16 } + \tuplet 3/2 { c'16 c'16 c'16 } + \override Score.RehearsalMark.break-visibility = #'#(#t #t #t) \override Score.RehearsalMark.direction = #DOWN \override Score.RehearsalMark.self-alignment-X = #RIGHT % due to issue 2362 the following line is commented diff --git a/Documentation/snippets/printing-bar-numbers-at-regular-intervals.ly b/Documentation/snippets/printing-bar-numbers-at-regular-intervals.ly index 75c335bdea..0213281e84 100644 --- a/Documentation/snippets/printing-bar-numbers-at-regular-intervals.ly +++ b/Documentation/snippets/printing-bar-numbers-at-regular-intervals.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "rhythms" diff --git a/Documentation/snippets/printing-bar-numbers-inside-boxes-or-circles.ly b/Documentation/snippets/printing-bar-numbers-inside-boxes-or-circles.ly index 63b65a8372..906263f893 100644 --- a/Documentation/snippets/printing-bar-numbers-inside-boxes-or-circles.ly +++ b/Documentation/snippets/printing-bar-numbers-inside-boxes-or-circles.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "rhythms, tweaks-and-overrides" diff --git a/Documentation/snippets/printing-hairpins-using-al-niente-notation.ly b/Documentation/snippets/printing-hairpins-using-al-niente-notation.ly index 634017285c..a7e7877f10 100644 --- a/Documentation/snippets/printing-hairpins-using-al-niente-notation.ly +++ b/Documentation/snippets/printing-hairpins-using-al-niente-notation.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "expressive-marks" diff --git a/Documentation/snippets/printing-marks-at-the-end-of-a-line.ly b/Documentation/snippets/printing-marks-at-the-end-of-a-line.ly index 89e2fbf87a..9304df5612 100644 --- a/Documentation/snippets/printing-marks-at-the-end-of-a-line.ly +++ b/Documentation/snippets/printing-marks-at-the-end-of-a-line.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "text" diff --git a/Documentation/snippets/printing-metronome-and-rehearsal-marks-below-the-staff.ly b/Documentation/snippets/printing-metronome-and-rehearsal-marks-below-the-staff.ly index 4c563872b4..56c1af5d20 100644 --- a/Documentation/snippets/printing-metronome-and-rehearsal-marks-below-the-staff.ly +++ b/Documentation/snippets/printing-metronome-and-rehearsal-marks-below-the-staff.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "expressive-marks, rhythms, tweaks-and-overrides" diff --git a/Documentation/snippets/printing-music-with-different-time-signatures.ly b/Documentation/snippets/printing-music-with-different-time-signatures.ly index 2f5821a6b7..8d52ffd405 100644 --- a/Documentation/snippets/printing-music-with-different-time-signatures.ly +++ b/Documentation/snippets/printing-music-with-different-time-signatures.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "contemporary-notation, percussion, real-music, really-cool, rhythms" @@ -43,7 +43,7 @@ global = { \time 3/4 { s2.*3 } \bar "" \break { s2.*3 } } \remove "Bar_number_engraver" \override SpacingSpanner.uniform-stretching = ##t \override SpacingSpanner.strict-note-spacing = ##t - proportionalNotationDuration = #(ly:make-moment 1 64) + proportionalNotationDuration = #(ly:make-moment 1/64) } \context { \Staff @@ -79,12 +79,12 @@ Bassklarinette = \new Staff \with { \bar "|" \time 2/4 \tupletUp - \times 2/3 { ees''4 r4 d''4 ~ } + \tuplet 3/2 { ees''4 r4 d''4 ~ } \bar "|" \time 3/8 \tupletUp - \times 3/4 { d''4 r4 } + \tuplet 4/3 { d''4 r4 } \bar "|" \time 2/4 diff --git a/Documentation/snippets/proportional-strict-notespacing.ly b/Documentation/snippets/proportional-strict-notespacing.ly index 90b9148df5..be85c96e04 100644 --- a/Documentation/snippets/proportional-strict-notespacing.ly +++ b/Documentation/snippets/proportional-strict-notespacing.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "spacing, tweaks-and-overrides" @@ -21,13 +21,13 @@ the note that occurs at the same time. This may cause collisions. \relative c'' << \override Score.SpacingSpanner.strict-note-spacing = ##t - \set Score.proportionalNotationDuration = #(ly:make-moment 1 16) + \set Score.proportionalNotationDuration = #(ly:make-moment 1/16) \new Staff { c8[ c \clef alto c c \grace { d16 } c8 c] c4 c2 \grace { c16[ c16] } c2 } \new Staff { - c2 \times 2/3 { c8 \clef bass cis,, c } c4 + c2 \tuplet 3/2 { c8 \clef bass cis,, c } c4 c1 } >> diff --git a/Documentation/snippets/putting-lyrics-inside-the-staff.ly b/Documentation/snippets/putting-lyrics-inside-the-staff.ly index 4edd6a59e5..ce836d85e8 100644 --- a/Documentation/snippets/putting-lyrics-inside-the-staff.ly +++ b/Documentation/snippets/putting-lyrics-inside-the-staff.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "staff-notation, text, vocal-music" diff --git a/Documentation/snippets/quoting-another-voice.ly b/Documentation/snippets/quoting-another-voice.ly index b834961374..002f5e7645 100644 --- a/Documentation/snippets/quoting-another-voice.ly +++ b/Documentation/snippets/quoting-another-voice.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "staff-notation" diff --git a/Documentation/snippets/recorder-fingering-chart.ly b/Documentation/snippets/recorder-fingering-chart.ly index a3323302ab..6395357b46 100644 --- a/Documentation/snippets/recorder-fingering-chart.ly +++ b/Documentation/snippets/recorder-fingering-chart.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "winds" diff --git a/Documentation/snippets/removing-connecting-bar-lines-on-staffgroup,-pianostaff,-or-grandstaff.ly b/Documentation/snippets/removing-connecting-bar-lines-on-staffgroup,-pianostaff,-or-grandstaff.ly index fd0fdce662..512445cd17 100644 --- a/Documentation/snippets/removing-connecting-bar-lines-on-staffgroup,-pianostaff,-or-grandstaff.ly +++ b/Documentation/snippets/removing-connecting-bar-lines-on-staffgroup,-pianostaff,-or-grandstaff.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "rhythms, tweaks-and-overrides" diff --git a/Documentation/snippets/removing-the-first-empty-line.ly b/Documentation/snippets/removing-the-first-empty-line.ly index 6cad882e87..40a0f90e3c 100644 --- a/Documentation/snippets/removing-the-first-empty-line.ly +++ b/Documentation/snippets/removing-the-first-empty-line.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "breaks, staff-notation, tweaks-and-overrides" diff --git a/Documentation/snippets/repeats-headword.ly b/Documentation/snippets/repeats-headword.ly index 068f180268..d64cd0fdd1 100644 --- a/Documentation/snippets/repeats-headword.ly +++ b/Documentation/snippets/repeats-headword.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "headword" diff --git a/Documentation/snippets/rest-styles.ly b/Documentation/snippets/rest-styles.ly index 789f0b6d34..77a4f89f0d 100644 --- a/Documentation/snippets/rest-styles.ly +++ b/Documentation/snippets/rest-styles.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "ancient-notation, rhythms, symbols-and-glyphs, tweaks-and-overrides" diff --git a/Documentation/snippets/rhythmic-slashes.ly b/Documentation/snippets/rhythmic-slashes.ly index 6d47071c79..494698339d 100644 --- a/Documentation/snippets/rhythmic-slashes.ly +++ b/Documentation/snippets/rhythmic-slashes.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "rhythms, tweaks-and-overrides" diff --git a/Documentation/snippets/rhythms-headword.ly b/Documentation/snippets/rhythms-headword.ly index 895de25a79..b0c99b7dc4 100644 --- a/Documentation/snippets/rhythms-headword.ly +++ b/Documentation/snippets/rhythms-headword.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "headword" @@ -27,7 +27,7 @@ Rhythms headword \context { \Score \override SpacingSpanner.base-shortest-duration = - #(ly:make-moment 1 40) + #(ly:make-moment 1/40) %\override SpacingSpanner.strict-grace-spacing = ##t } } diff --git a/Documentation/snippets/scheme-language.snippet-list b/Documentation/snippets/scheme-language.snippet-list index 3e9034afe7..1b0afdae47 100644 --- a/Documentation/snippets/scheme-language.snippet-list +++ b/Documentation/snippets/scheme-language.snippet-list @@ -1,4 +1,5 @@ adding-extra-fingering-with-scheme.ly +adding-links-to-objects.ly adding-the-current-date-to-a-score.ly center-text-below-hairpin-dynamics.ly changing--flageolet-mark-size.ly diff --git a/Documentation/snippets/score-for-diatonic-accordion.ly b/Documentation/snippets/score-for-diatonic-accordion.ly index 4cdddcad38..c60c404e63 100644 --- a/Documentation/snippets/score-for-diatonic-accordion.ly +++ b/Documentation/snippets/score-for-diatonic-accordion.ly @@ -4,8 +4,8 @@ % and then run scripts/auxiliar/makelsr.py % % This file is in the public domain. -%% Note: this file works from version 2.17.6 -\version "2.17.6" +%% Note: this file works from version 2.17.11 +\version "2.17.11" \header { lsrtags = "template, real-music, specific-notation" @@ -158,7 +158,7 @@ AccordionTab= { \dynamicUp \context { \Staff \consists "Grid_point_engraver" - gridInterval = #(ly:make-moment 4 4) % 4/4 - tact. How many beats per bar + gridInterval = #(ly:make-moment 4/4) % 4/4 - tact. How many beats per bar % The following line has to be adjusted O-F-T-E-N. \override GridPoint.Y-extent = #'(-2 . -21) } diff --git a/Documentation/snippets/screech-and-boink.ly b/Documentation/snippets/screech-and-boink.ly index 68e858368b..86b9fba5e5 100644 --- a/Documentation/snippets/screech-and-boink.ly +++ b/Documentation/snippets/screech-and-boink.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "headword" @@ -41,7 +41,7 @@ Random complex notation c'''32([ b''16 a''16 gis''16 g''32)] } \\ - { s4 \times 2/3 { d'16[ f' g'] } as'32[ b''32 e'' d''] } + { s4 \tuplet 3/2 { d'16[ f' g'] } as'32[ b''32 e'' d''] } \\ { s4 \autoBeamOff d''8.. f''32 } \\ diff --git a/Documentation/snippets/separating-key-cancellations-from-key-signature-changes.ly b/Documentation/snippets/separating-key-cancellations-from-key-signature-changes.ly index be7a8967d8..7670ff4ddb 100644 --- a/Documentation/snippets/separating-key-cancellations-from-key-signature-changes.ly +++ b/Documentation/snippets/separating-key-cancellations-from-key-signature-changes.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "pitches, tweaks-and-overrides" @@ -29,7 +29,7 @@ or the end. \new Staff { \override Score.BreakAlignment.break-align-orders = - ##((left-edge ambitus breathing-sign clef staff-bar + #'#((left-edge ambitus breathing-sign clef staff-bar key-cancellation key-signature time-signature custos) (left-edge ambitus breathing-sign clef key-cancellation diff --git a/Documentation/snippets/setting-hairpin-behavior-at-bar-lines.ly b/Documentation/snippets/setting-hairpin-behavior-at-bar-lines.ly index 067fbbfd2c..4b5ae7f7b9 100644 --- a/Documentation/snippets/setting-hairpin-behavior-at-bar-lines.ly +++ b/Documentation/snippets/setting-hairpin-behavior-at-bar-lines.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "expressive-marks, tweaks-and-overrides" diff --git a/Documentation/snippets/setting-the-double-repeat-default-for-volte.ly b/Documentation/snippets/setting-the-double-repeat-default-for-volte.ly index f0e503ed50..8cbcca3d40 100644 --- a/Documentation/snippets/setting-the-double-repeat-default-for-volte.ly +++ b/Documentation/snippets/setting-the-double-repeat-default-for-volte.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "repeats" diff --git a/Documentation/snippets/setting-the-minimum-length-of-hairpins.ly b/Documentation/snippets/setting-the-minimum-length-of-hairpins.ly index dea361c49c..78bed2d65a 100644 --- a/Documentation/snippets/setting-the-minimum-length-of-hairpins.ly +++ b/Documentation/snippets/setting-the-minimum-length-of-hairpins.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "expressive-marks" diff --git a/Documentation/snippets/shortening-volta-brackets.ly b/Documentation/snippets/shortening-volta-brackets.ly index a518debae4..611057d4cb 100644 --- a/Documentation/snippets/shortening-volta-brackets.ly +++ b/Documentation/snippets/shortening-volta-brackets.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.16.0" +\version "2.17.11" \header { lsrtags = "repeats" @@ -23,7 +23,7 @@ lasts one measure, which is a duration of 3/4. \relative c'' { \time 3/4 c4 c c - \set Score.voltaSpannerDuration = #(ly:make-moment 3 4) + \set Score.voltaSpannerDuration = #(ly:make-moment 3/4) \repeat volta 5 { d4 d d } \alternative { { diff --git a/Documentation/snippets/showing-the-same-articulation-above-and-below-a-note-or-chord.ly b/Documentation/snippets/showing-the-same-articulation-above-and-below-a-note-or-chord.ly index ec67a11657..2c76bb441e 100644 --- a/Documentation/snippets/showing-the-same-articulation-above-and-below-a-note-or-chord.ly +++ b/Documentation/snippets/showing-the-same-articulation-above-and-below-a-note-or-chord.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "expressive-marks, tweaks-and-overrides, version-specific" diff --git a/Documentation/snippets/simultaneous-headword.ly b/Documentation/snippets/simultaneous-headword.ly index dec4e68295..a08838f8f8 100644 --- a/Documentation/snippets/simultaneous-headword.ly +++ b/Documentation/snippets/simultaneous-headword.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "headword" @@ -29,7 +29,7 @@ Simultaneous notes \context { \Score \override SpacingSpanner.base-shortest-duration = - #(ly:make-moment 1 18) + #(ly:make-moment 1/18) \override NonMusicalPaperColumn.line-break-system-details = #'((alignment-distances . (12))) } diff --git a/Documentation/snippets/slides-in-tablature.ly b/Documentation/snippets/slides-in-tablature.ly index 760135cda9..20793ff47e 100644 --- a/Documentation/snippets/slides-in-tablature.ly +++ b/Documentation/snippets/slides-in-tablature.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "fretted-strings" diff --git a/Documentation/snippets/stem-and-beam-behavior-in-tablature.ly b/Documentation/snippets/stem-and-beam-behavior-in-tablature.ly index b5960df497..778e5c6ea3 100644 --- a/Documentation/snippets/stem-and-beam-behavior-in-tablature.ly +++ b/Documentation/snippets/stem-and-beam-behavior-in-tablature.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "fretted-strings" diff --git a/Documentation/snippets/stemlets.ly b/Documentation/snippets/stemlets.ly index ca7ba83625..eb7906dd95 100644 --- a/Documentation/snippets/stemlets.ly +++ b/Documentation/snippets/stemlets.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "contemporary-notation, rhythms" diff --git a/Documentation/snippets/subdividing-beams.ly b/Documentation/snippets/subdividing-beams.ly index 41ffdce540..e7080e65a5 100644 --- a/Documentation/snippets/subdividing-beams.ly +++ b/Documentation/snippets/subdividing-beams.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.16.0" +\version "2.17.11" \header { lsrtags = "rhythms" @@ -34,12 +34,12 @@ in this snippet. Also, when @code{baseMoment} is changed, c32[ c c c c c c c] % Set beam sub-group length to an eighth note - \set baseMoment = #(ly:make-moment 1 8) + \set baseMoment = #(ly:make-moment 1/8) \set beatStructure = #'(2 2 2 2) c32[ c c c c c c c] % Set beam sub-group length to a sixteenth note - \set baseMoment = #(ly:make-moment 1 16) + \set baseMoment = #(ly:make-moment 1/16) \set beatStructure = #'(4 4 4 4) c32[ c c c c c c c] } diff --git a/Documentation/snippets/suppressing-warnings-for-clashing-note-columns.ly b/Documentation/snippets/suppressing-warnings-for-clashing-note-columns.ly index 0ecae8edd5..46dd50df52 100644 --- a/Documentation/snippets/suppressing-warnings-for-clashing-note-columns.ly +++ b/Documentation/snippets/suppressing-warnings-for-clashing-note-columns.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "simultaneous-notes, tweaks-and-overrides" diff --git a/Documentation/snippets/table-of-contents.ly b/Documentation/snippets/table-of-contents.ly index 46cea080da..f310f6d596 100644 --- a/Documentation/snippets/table-of-contents.ly +++ b/Documentation/snippets/table-of-contents.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "paper-and-layout" diff --git a/Documentation/snippets/text-headword.ly b/Documentation/snippets/text-headword.ly index 05ec402058..011e59d17c 100644 --- a/Documentation/snippets/text-headword.ly +++ b/Documentation/snippets/text-headword.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "headword" @@ -28,7 +28,7 @@ Text headword \context { \Score \override SpacingSpanner.base-shortest-duration = - #(ly:make-moment 1 20) + #(ly:make-moment 1/20) } } diff --git a/Documentation/snippets/time-signature-in-parentheses---method-3.ly b/Documentation/snippets/time-signature-in-parentheses---method-3.ly index 5eebaacc09..7af0104e33 100644 --- a/Documentation/snippets/time-signature-in-parentheses---method-3.ly +++ b/Documentation/snippets/time-signature-in-parentheses---method-3.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "specific-notation, staff-notation, tweaks-and-overrides" diff --git a/Documentation/snippets/time-signature-in-parentheses.ly b/Documentation/snippets/time-signature-in-parentheses.ly index 257034d959..d86c6fd0ac 100644 --- a/Documentation/snippets/time-signature-in-parentheses.ly +++ b/Documentation/snippets/time-signature-in-parentheses.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "specific-notation, staff-notation, tweaks-and-overrides" diff --git a/Documentation/snippets/time-signature-printing-only-the-numerator-as-a-number-instead-of-the-fraction.ly b/Documentation/snippets/time-signature-printing-only-the-numerator-as-a-number-instead-of-the-fraction.ly index bee629dc69..db0df20f96 100644 --- a/Documentation/snippets/time-signature-printing-only-the-numerator-as-a-number-instead-of-the-fraction.ly +++ b/Documentation/snippets/time-signature-printing-only-the-numerator-as-a-number-instead-of-the-fraction.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "rhythms, tweaks-and-overrides" diff --git a/Documentation/snippets/transcription-of-ancient-music-with-incipit.ly b/Documentation/snippets/transcription-of-ancient-music-with-incipit.ly index 0de6d91f4a..4cbcf14f7a 100644 --- a/Documentation/snippets/transcription-of-ancient-music-with-incipit.ly +++ b/Documentation/snippets/transcription-of-ancient-music-with-incipit.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "ancient-notation, specific-notation, tweaks-and-overrides, workaround" diff --git a/Documentation/snippets/transposing-pitches-with-minimum-accidentals-smart-transpose.ly b/Documentation/snippets/transposing-pitches-with-minimum-accidentals-smart-transpose.ly index 2b647d0854..9d1e274ff5 100644 --- a/Documentation/snippets/transposing-pitches-with-minimum-accidentals-smart-transpose.ly +++ b/Documentation/snippets/transposing-pitches-with-minimum-accidentals-smart-transpose.ly @@ -43,10 +43,10 @@ In this manner, the most natural enharmonic notes are chosen. ;; for historical reasons (n (ly:pitch-notename p))) (cond - ((and (> a 1) (or (eq? n 6) (eq? n 2))) + ((and (> a 1) (or (= n 6) (= n 2))) (set! a (- a 2)) (set! n (+ n 1))) - ((and (< a -1) (or (eq? n 0) (eq? n 3))) + ((and (< a -1) (or (= n 0) (= n 3))) (set! a (+ a 2)) (set! n (- n 1)))) (cond diff --git a/Documentation/snippets/tweaking-grace-layout-within-music.ly b/Documentation/snippets/tweaking-grace-layout-within-music.ly index b7dbf1918d..92a4d858dd 100644 --- a/Documentation/snippets/tweaking-grace-layout-within-music.ly +++ b/Documentation/snippets/tweaking-grace-layout-within-music.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "rhythms, tweaks-and-overrides" diff --git a/Documentation/snippets/tweaks-and-overrides.snippet-list b/Documentation/snippets/tweaks-and-overrides.snippet-list index 1e21cb226b..37bceb9b59 100644 --- a/Documentation/snippets/tweaks-and-overrides.snippet-list +++ b/Documentation/snippets/tweaks-and-overrides.snippet-list @@ -1,3 +1,4 @@ +adding-links-to-objects.ly adding-timing-marks-to-long-glissandi.ly adjusting-grace-note-spacing.ly altering-the-length-of-beamed-stems.ly diff --git a/Documentation/snippets/unfretted-headword.ly b/Documentation/snippets/unfretted-headword.ly index c6d9644ab9..de2d700e78 100644 --- a/Documentation/snippets/unfretted-headword.ly +++ b/Documentation/snippets/unfretted-headword.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "headword" @@ -163,22 +163,22 @@ ViolinSolo = \relative c' { \time 4/4 \stemUp \tupletDown - \times 2/3 { d4 ^\markup \colmark { \quatre \db \accel } d d } - \times 2/3 { d4 ^\markup \colmark { " " \db " " \sulp } d d } + \tuplet 3/2 { d4 ^\markup \colmark { \quatre \db \accel } d d } + \tuplet 3/2 { d4 ^\markup \colmark { " " \db " " \sulp } d d } %% Measure 5 \time 5/4 - \tupletbp \times 2/3 { d8 \mf \< ^\markup \colmark { \quatre \db \norm } d _\open d } - \tupletbp \times 2/3 { d8 ^\markup \colmark { " " \db \sulp } d _\open d } - \tupletbp \times 2/3 { d16 ^\markup \colmark { " " \db \norm } d _\open d d d _\open d } + \tupletbp \tuplet 3/2 { d8 \mf \< ^\markup \colmark { \quatre \db \norm } d _\open d } + \tupletbp \tuplet 3/2 { d8 ^\markup \colmark { " " \db \sulp } d _\open d } + \tupletbp \tuplet 3/2 { d16 ^\markup \colmark { " " \db \norm } d _\open d d d _\open d } d2 \ff ^\markup \colmark { " " \pvib } \> %% Measure 6 \time 5/8 - \once \override Beam.grow-direction = #RIGHT % \featherDurations #(ly:make-moment 2 3) + \once \override Beam.grow-direction = #RIGHT % \featherDurations #(ly:make-moment 2/3) { d16 \staccato [ d \staccato d \staccato d \staccato d \staccato d \staccato d \staccato d \staccato d \staccato d \staccato] } @@ -187,11 +187,11 @@ ViolinSolo = \relative c' { %% Measure 7 \time 7/4 - \tupletbp \times 2/3 { d16 ^\markup \colmark { \quatre } d _\open d d d _\open d } - \tupletbp \times 2/3 { d8 ^\markup \colmark { " " \db } d _\open d } - \tupletbp \times 2/3 { d8 ^\markup \colmark { " " \db " " \sulp } d _\open d } - \times 2/3 { d4 ^\markup \colmark { \quatre \db \ritar \norm } d d } - \times 2/3 { d4 ^\markup \colmark { " " \db " " \sulp } d d \ppp ~ } + \tupletbp \tuplet 3/2 { d16 ^\markup \colmark { \quatre } d _\open d d d _\open d } + \tupletbp \tuplet 3/2 { d8 ^\markup \colmark { " " \db } d _\open d } + \tupletbp \tuplet 3/2 { d8 ^\markup \colmark { " " \db " " \sulp } d _\open d } + \tuplet 3/2 { d4 ^\markup \colmark { \quatre \db \ritar \norm } d d } + \tuplet 3/2 { d4 ^\markup \colmark { " " \db " " \sulp } d d \ppp ~ } %% Measure 8 diff --git a/Documentation/snippets/using-ly-grob-object-to-access-grobs-with--tweak.ly b/Documentation/snippets/using-ly-grob-object-to-access-grobs-with--tweak.ly index c2e4685015..88c159d58f 100644 --- a/Documentation/snippets/using-ly-grob-object-to-access-grobs-with--tweak.ly +++ b/Documentation/snippets/using-ly-grob-object-to-access-grobs-with--tweak.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "devel, scheme-language, tweaks-and-overrides" diff --git a/Documentation/snippets/using-postscript-to-generate-special-note-head-shapes.ly b/Documentation/snippets/using-postscript-to-generate-special-note-head-shapes.ly index 976387a0d1..2c4f701109 100644 --- a/Documentation/snippets/using-postscript-to-generate-special-note-head-shapes.ly +++ b/Documentation/snippets/using-postscript-to-generate-special-note-head-shapes.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "editorial-annotations, really-cool, scheme-language, tweaks-and-overrides" diff --git a/Documentation/snippets/using-the--tweak-command-to-tweak-individual-grobs.ly b/Documentation/snippets/using-the--tweak-command-to-tweak-individual-grobs.ly index f6bb8ed356..8f1fcc8b7e 100644 --- a/Documentation/snippets/using-the--tweak-command-to-tweak-individual-grobs.ly +++ b/Documentation/snippets/using-the--tweak-command-to-tweak-individual-grobs.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "really-simple, tweaks-and-overrides" diff --git a/Documentation/snippets/using-the-whiteout-property.ly b/Documentation/snippets/using-the-whiteout-property.ly index 2e9f1a3243..a6f6393c5b 100644 --- a/Documentation/snippets/using-the-whiteout-property.ly +++ b/Documentation/snippets/using-the-whiteout-property.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "editorial-annotations, expressive-marks" diff --git a/Documentation/snippets/vertically-aligned-dynamics-and-textscripts.ly b/Documentation/snippets/vertically-aligned-dynamics-and-textscripts.ly index 5fcbb8e39b..4924b2cc6a 100644 --- a/Documentation/snippets/vertically-aligned-dynamics-and-textscripts.ly +++ b/Documentation/snippets/vertically-aligned-dynamics-and-textscripts.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "spacing, tweaks-and-overrides, workaround" @@ -16,13 +16,13 @@ aligned to a common reference point, regardless of their actual extent. This way, every element will be vertically aligned, thus producing a more pleasing output. -The same idea is used to align the text scripts along their baseline. +The same idea, together with \\textLengthOn, is used to align the text +scripts along their baseline. " doctitle = "Vertically aligned dynamics and textscripts" } % begin verbatim - music = \relative c' { a'2\p b\f e4\p f\f\> g, b\p @@ -34,6 +34,7 @@ music = \relative c' { \break \override DynamicLineSpanner.staff-padding = #2.0 \override DynamicLineSpanner.Y-extent = #'(-1.5 . 1.5) + \textLengthOn \override TextScript.Y-extent = #'(-1.5 . 1.5) \music } diff --git a/Documentation/snippets/vertically-aligning-dynamics-across-multiple-notes.ly b/Documentation/snippets/vertically-aligning-dynamics-across-multiple-notes.ly index 0adb0dec41..c0f2ea8f57 100644 --- a/Documentation/snippets/vertically-aligning-dynamics-across-multiple-notes.ly +++ b/Documentation/snippets/vertically-aligning-dynamics-across-multiple-notes.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "expressive-marks" diff --git a/Documentation/snippets/vertically-aligning-ossias-and-lyrics.ly b/Documentation/snippets/vertically-aligning-ossias-and-lyrics.ly index dfbb0c8a50..4a85d9d6a4 100644 --- a/Documentation/snippets/vertically-aligning-ossias-and-lyrics.ly +++ b/Documentation/snippets/vertically-aligning-ossias-and-lyrics.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "spacing, tweaks-and-overrides, vocal-music" @@ -39,7 +39,7 @@ positioning of lyrics and ossias. \override StaffSymbol.staff-space = #(magstep -2) \remove "Time_signature_engraver" } { - \times 4/6 { + \tuplet 6/4 { \override TextScript.padding = #3 c8[^"ossia above" d e d e f] } diff --git a/Documentation/snippets/vertically-centered-common-lyrics.ly b/Documentation/snippets/vertically-centered-common-lyrics.ly index 7c59cd3b16..d4127616bb 100644 --- a/Documentation/snippets/vertically-centered-common-lyrics.ly +++ b/Documentation/snippets/vertically-centered-common-lyrics.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "vocal-music" diff --git a/Documentation/snippets/vocal-ensemble-template-with-automatic-piano-reduction.ly b/Documentation/snippets/vocal-ensemble-template-with-automatic-piano-reduction.ly index 8e1796fd47..d7375a0e04 100644 --- a/Documentation/snippets/vocal-ensemble-template-with-automatic-piano-reduction.ly +++ b/Documentation/snippets/vocal-ensemble-template-with-automatic-piano-reduction.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "automatic-notation, keyboards, template, vocal-music" diff --git a/Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly b/Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly index 51ffe694b2..e5179d33b6 100644 --- a/Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly +++ b/Documentation/snippets/vocal-ensemble-template-with-verse-and-refrain.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "contexts-and-engravers, template, vocal-music" diff --git a/Documentation/snippets/vocal-ensemble-template.ly b/Documentation/snippets/vocal-ensemble-template.ly index 100d57e098..6a50961bb1 100644 --- a/Documentation/snippets/vocal-ensemble-template.ly +++ b/Documentation/snippets/vocal-ensemble-template.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "really-simple, template, vocal-music" diff --git a/Documentation/snippets/vocal-headword.ly b/Documentation/snippets/vocal-headword.ly index d09d784396..6324fea01e 100644 --- a/Documentation/snippets/vocal-headword.ly +++ b/Documentation/snippets/vocal-headword.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "headword" diff --git a/Documentation/snippets/wind-headword.ly b/Documentation/snippets/wind-headword.ly index 821403d192..338475584e 100644 --- a/Documentation/snippets/wind-headword.ly +++ b/Documentation/snippets/wind-headword.ly @@ -4,7 +4,7 @@ %% and then run scripts/auxiliar/makelsr.py %% %% This file is in the public domain. -\version "2.17.6" +\version "2.17.11" \header { lsrtags = "headword" diff --git a/Documentation/usage/lilypond-book.itely b/Documentation/usage/lilypond-book.itely index 5225b67d5c..3bfa098934 100644 --- a/Documentation/usage/lilypond-book.itely +++ b/Documentation/usage/lilypond-book.itely @@ -8,7 +8,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.16.0" +@c \version "2.17.11" @c Note: keep this node named so that `info lilypond-book' brings you here. @node lilypond-book @@ -86,7 +86,7 @@ For example, \begin{lilypond} \relative c' { - c2 e2 \times 2/3 { f8 a b } a2 e4 + c2 e2 \tuplet 3/2 { f8 a b } a2 e4 } \end{lilypond} @@ -145,7 +145,7 @@ For example, @lilypond \relative c' { - c2 e2 \times 2/3 { f8 a b } a2 e4 + c2 e2 \tuplet 3/2 { f8 a b } a2 e4 } @end lilypond diff --git a/Documentation/web/introduction.itexi b/Documentation/web/introduction.itexi index afce3d3bb5..035b8840ae 100644 --- a/Documentation/web/introduction.itexi +++ b/Documentation/web/introduction.itexi @@ -1202,8 +1202,14 @@ using the extensions available at: @itemize @item -@uref{http://www.canorus.org,Canorus}, a score editor, can also export to -LilyPond, but is still beta-software. Testers are welcome, though. +@uref{http://www.jezra.net/projects/bwwtolily,bwwtolily} attempts to +convert a @code{.bww} or @code{.bmw} file to LilyPond. While not all of +the embellishments may get converted properly (this is especially true +with piobaireachd), the program will list them. + +@item +@uref{http://www.canorus.org,Canorus}, a score editor, can also export +to LilyPond, but is still beta-software. Testers are welcome, though. @item @uref{http://enc2ly.sourceforge.net/en/,Enc2ly} is a GNU/Linux program @@ -1211,42 +1217,41 @@ which converts an @uref{http://www.gvox.com/,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. +@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. @item -@uref{http://www.musescore.org,MuseScore}, a score editor, has incomplete -LilyPond export but is being actively developed. +@uref{http://www.musescore.org,MuseScore}, a score editor, has +incomplete LilyPond export but is being actively developed. @item -@uref{http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml,NtEd}, a -score editor based on the @uref{http://www.cairographics.org,Cairo} library, -has experimental support for exporting to LilyPond. +@uref{http://vsr.informatik.tu-chemnitz.de/staff/jan/nted/nted.xhtml,NtEd}, +a score editor based on the @uref{http://www.cairographics.org,Cairo} +library, it has experimental support for exporting to LilyPond. @item -@uref{http://www.holmessoft.co.uk/homepage/software/NWC2LY/index.htm,NW2LY} is -a C# program which converts a -@c @uref{http://www.noteworthysoftware.com/,NoteWorthy} -NoteWorthy composer song into LilyPond. +@uref{http://www.holmessoft.co.uk/homepage/software/NWC2LY/index.htm,NW2LY} +is a C# program which converts a NoteWorthy composer song into LilyPond. @item -@uref{https://github.com/ciconia/ripple/blob/master/README.markdown,Ripple} is -a program that helps create scores and parts, including a mode for mixing -different musical works together in a single score or part. +@uref{https://github.com/ciconia/ripple/blob/master/README.markdown,Ripple} +is a program that helps create scores and parts, including a mode for +mixing different musical works together in a single score or part. @item -@uref{http://www.rosegardenmusic.com,Rosegarden}, an audio and MIDI sequencer, -which also has a score editor for single-staff editing. +@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. +@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. +@uref{http://www.tuxguitar.com.ar/,TuxGuitar}, a multitrack tablature +editor and player, includes a score viewer and can export to LilyPond. @end itemize @@ -1256,18 +1261,19 @@ and player, includes a score viewer and can export to LilyPond. @item @uref{http://www.projectabjad.org/,Abjad}, a -@uref{http://www.python.org/,Python} API for Formalized Score -Control designed to help composers build up complex pieces of -LilyPond notation in an iterative and incremental way. +@uref{http://www.python.org/,Python} API for Formalized Score Control +designed to help composers build up complex pieces of LilyPond notation +in an iterative and incremental way. @item -@uref{http://common-lisp.net/project/fomus/,FOMUS}, a LISP library -to generate music notation from computer music software -environments. +@uref{http://common-lisp.net/project/fomus/,FOMUS}, (FOrmat MUSic) is a +music notation tool for computer music composers. It is written in the +Lisp programming language, and has been tested in a variety of +interpreters. A C++ port is also available. @item -@uref{http://strasheela.sourceforge.net,Strasheela}, an -environment built on top of the +@uref{http://strasheela.sourceforge.net/strasheela/doc/index.html,Strasheela}, +an environment built on top of the @uref{http://www.mozart-oz.org/, Mozart/Oz} constraint programming language. @@ -1282,12 +1288,12 @@ language. @item @uref{http://lilykde.googlecode.com/,LilyKDE} has been replaced by -@uref{http://www.frescobaldi.org/,Frescobaldi}, and exists as -LilyKDE3 for KDE 3.5 and lilypond-KDE4 for KDE 4.1 only. +@uref{http://www.frescobaldi.org/,Frescobaldi}, and exists as LilyKDE3 +for KDE 3.5 and lilypond-KDE4 for KDE 4.1 only. @item @uref{http://noteedit.berlios.de,NoteEdit}, which imported -@uref{http://www.musicxml.com/xml.html,MusicXML}, has been forked +@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}. diff --git a/Documentation/web/news-front.itexi b/Documentation/web/news-front.itexi index 29ab3b591e..81d2ad6864 100644 --- a/Documentation/web/news-front.itexi +++ b/Documentation/web/news-front.itexi @@ -9,9 +9,9 @@ @c used for news about the upcoming release; see CG 10.2 @newsItem -@subsubheading LilyPond 2.17.10 released! @emph{January 12 2013} +@subsubheading LilyPond 2.17.12 released! @emph{February 8, 2013} -We are happy to announce the release of LilyPond 2.17.10. This +We are happy to announce the release of LilyPond 2.17.12. This release contains the usual number of bugfixes and enhancements, and contains some work in progress. You will have access to the very latest features, but some may be incomplete, and you may encounter bugs and crashes. If you require @@ -25,16 +25,6 @@ a stable version of Lilypond, we recommend using the 2.16 version. We are happy to announce the release of LilyPond 2.16.2. This release is mainly to correct a problem with lilypond-book running on Windows. We recommend that only people requiring this functionality upgrade to this version. -@newsEnd - -@newsItem -@subsubheading LilyPond 2.17.9 released! @emph{December 15, 2012} - -We are happy to announce the release of LilyPond 2.17.9. This -release contains the usual number of bugfixes and enhancements, and contains -some work in progress. You will have access to the very latest features, but -some may be incomplete, and you may encounter bugs and crashes. If you require -a stable version of Lilypond, we recommend using the 2.16 version. @newsEnd diff --git a/Documentation/web/news.itexi b/Documentation/web/news.itexi index 1331adfcf2..20b9750c13 100644 --- a/Documentation/web/news.itexi +++ b/Documentation/web/news.itexi @@ -26,6 +26,38 @@ NOTE: * don't duplicate entries from news-front.itexi @end ignore +@newsItem +@subsubheading LilyPond 2.17.11 released! @emph{January 26, 2013} + +We are happy to announce the release of LilyPond 2.17.11. This +release contains the usual number of bugfixes and enhancements, and contains +some work in progress. You will have access to the very latest features, but +some may be incomplete, and you may encounter bugs and crashes. If you require +a stable version of Lilypond, we recommend using the 2.16 version. + +@newsEnd + +@newsItem +@subsubheading LilyPond 2.17.10 released! @emph{January 12 2013} + +We are happy to announce the release of LilyPond 2.17.10. This +release contains the usual number of bugfixes and enhancements, and contains +some work in progress. You will have access to the very latest features, but +some may be incomplete, and you may encounter bugs and crashes. If you require +a stable version of Lilypond, we recommend using the 2.16 version. + +@newsEnd + +@newsItem +@subsubheading LilyPond 2.17.9 released! @emph{December 15, 2012} + +We are happy to announce the release of LilyPond 2.17.9. This +release contains the usual number of bugfixes and enhancements, and contains +some work in progress. You will have access to the very latest features, but +some may be incomplete, and you may encounter bugs and crashes. If you require +a stable version of Lilypond, we recommend using the 2.16 version. + +@newsEnd @newsItem @subsubheading LilyPond 2.17.8 released! @emph{December 1, 2012} diff --git a/Documentation/web/server/tweets.xml b/Documentation/web/server/tweets.xml index 9b12cef21b..cf14ce19b1 100644 --- a/Documentation/web/server/tweets.xml +++ b/Documentation/web/server/tweets.xml @@ -1,7 +1,8 @@ - Nov 6, at Xinghai Conservatory of Music in Guangzhou, China, a premiere of - James Harkins's new piece for sheng and electronics, typeset in - lilypond. + <a href="http://www.contemporary-music.de">Stefan Thomas</a>'s "ab und zu" for accordion and 5 players will be performed + on February 27th in the "<a + href="http://www.tonhalle.de/suchausgabe_datum/%26datum=2013/02/27"> + Tonhalle</a>" in Düsseldorf, Germany. diff --git a/Documentation/zh/web/community.itexi b/Documentation/zh/web/community.itexi index a01e5abbbe..f073b63069 100644 --- a/Documentation/zh/web/community.itexi +++ b/Documentation/zh/web/community.itexi @@ -834,11 +834,11 @@ manuals can be found at @url{http://lilypond.org}} @headitem Infrequent @item -@docLinkSplit{Web,web,@manualDevelWebSplit} +@docLinkSplit{Web,web,@manualDevelWebSplit-zh} @tab -@docLinkBig{Web,web,@manualDevelWebBig} +@docLinkBig{Web,web,@manualDevelWebBig-zh} @tab -@docLinkPdf{Web,web,@manualDevelWebPdf} +@docLinkPdf{Web,web,@manualDevelWebPdf-zh} @item @docLinkSplit{Changes,changes,@manualDevelChangesSplit} diff --git a/LICENSE b/LICENSE index 753f485dbe..e03b1e19ae 100644 --- a/LICENSE +++ b/LICENSE @@ -22,13 +22,20 @@ The following exceptions apply: * It does not apply to ly/articulate.ly, which is only licensed under the GPL version 3 (not any later versions). - * If you create a document which uses fonts included in LilyPond, - and embed this font or unaltered portions of this font into the - document, then this font does not by itself cause the resulting - document to be covered by the GNU General Public License. This - exception does not however invalidate any other reasons why the - document might be covered by the GNU General Public License. - If you modify one or more of the fonts, you may extend this - exception to your version of the fonts but you are not obliged - to do so. If you do not wish to do so, delete this exception - statement from your version. + * The files under mf/ form a font, and this font is dual-licensed + under the GPL+Font exception and the SIL Open Font License (OFL). + A copy of the OFL is in the file LICENSE.OFL. + + The font exception for the GPL stipulates the following exception: + + If you create a document which uses fonts included in LilyPond, + and embed this font or unaltered portions of this font into the + document, then this font does not by itself cause the resulting + document to be covered by the GNU General Public License. This + exception does not however invalidate any other reasons why the + document might be covered by the GNU General Public License. + If you modify one or more of the fonts, you may extend this + exception to your version of the fonts but you are not obliged + to do so. If you do not wish to do so, delete this exception + statement from your version. + diff --git a/LICENSE.OFL b/LICENSE.OFL new file mode 100644 index 0000000000..41e80d6039 --- /dev/null +++ b/LICENSE.OFL @@ -0,0 +1,95 @@ + +Copyright (c) 1996--2013, 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. + +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + +SIL OPEN FONT LICENSE + +Version 1.1 - 26 February 2007 + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/VERSION b/VERSION index 16276b281e..b05a55cdf6 100644 --- a/VERSION +++ b/VERSION @@ -1,7 +1,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=2 MINOR_VERSION=17 -PATCH_LEVEL=11 +PATCH_LEVEL=13 MY_PATCH_LEVEL= VERSION_STABLE=2.16.2 -VERSION_DEVEL=2.17.10 +VERSION_DEVEL=2.17.12 diff --git a/aclocal.m4 b/aclocal.m4 index 0dcd5bd870..4d5710ba9e 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,5 +1,5 @@ dnl aclocal.m4 -*-shell-script-*- -dnl StepMake subroutines for configure.in +dnl StepMake subroutines for configure.ac ### mostly interal macros @@ -140,7 +140,7 @@ AC_DEFUN(STEPMAKE_CHECK_VERSION_UNSUPPORTED, [ fi ]) -### Macros to build configure.in +### Macros to build configure.ac AC_DEFUN(STEPMAKE_BIBTEX2HTML, [ diff --git a/autogen.sh b/autogen.sh index 9d21f79936..46dd22f98b 100755 --- a/autogen.sh +++ b/autogen.sh @@ -7,7 +7,7 @@ case $1 in --noconf*) NOCONFIGURE=true;; esac -for i in $srcdir/configure.in #`find $srcdir -name configure.in -print` +for i in $srcdir/configure.ac #`find $srcdir -name configure.ac -print` do dir=`dirname $i` echo processing $dir diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000000..2ae2f6cbb9 --- /dev/null +++ b/configure.ac @@ -0,0 +1,282 @@ +dnl configure.ac -*-shell-script-*- +dnl Process this file with autoconf to produce a configure script. + +AC_PREREQ(2.60) + +# Bootstrap the init process. +AC_INIT + +# Bootstrap StepMake configure +AC_CONFIG_AUX_DIR([config]) + +STEPMAKE_INIT + +# List a file that identifies your package. +AC_CONFIG_SRCDIR([lily/main.cc]) + +# Move to aclocal.m4? +AC_CONFIG_HEADERS([$CONFIGFILE.hh:config.hh.in]) + +# Uncomment the configuration options your package needs. + +DOCUMENTATION=yes +AC_ARG_ENABLE(documentation, + [AS_HELP_STRING([--enable-documentation], + [build Documentation. Default: on])], + [DOCUMENTATION=$enableval]) +AC_SUBST(DOCUMENTATION) + +AC_ARG_WITH(ncsb-dir, + [AS_HELP_STRING([--with-ncsb-dir=DIR], + [location of Century Schoolbook fonts.])], + [NCSB_DIR=$withval], + [NCSB_DIR=""]) + +reloc_b=no +AC_ARG_ENABLE(relocation, + [AS_HELP_STRING([--enable-relocation], + [compile with dynamic relocation. Default: off])], + [reloc_b=$enableval]) + +rpath_b=no +AC_ARG_ENABLE(rpath, + [AS_HELP_STRING([--enable-rpath], + [hardcode runtime library path. Default: off])], + [rpath_b=$enableval]) + +LINK_GXX_STATICALLY=no +AC_ARG_ENABLE(static-gxx, + [AS_HELP_STRING([--enable-static-gxx], + [link libstdc++.a statically. Default: off])], + [LINK_GXX_STATICALLY=$enableval]) +AC_SUBST(LINK_GXX_STATICALLY) + +# must come before any header checks +STEPMAKE_COMPILE + +AC_CHECK_PROG(FCLIST, fc-list, fc-list) +AC_MSG_CHECKING([New Century Schoolbook PFB files]) +AC_SUBST(NCSB_SOURCE_FILES) +AC_SUBST(NCSB_DIR) +UNCHECKED_NCSB_SOURCE_FILES="" +if test "$NCSB_DIR" != "" ; then + for f in c059013l c059016l c059033l c059036l; do + if test ! -f "$NCSB_DIR/$f.pfb"; then + STEPMAKE_WARN($NCSB_DIR does not contain $f.pfb.) + else + UNCHECKED_NCSB_SOURCE_FILES="$NCSB_DIR/$f.pfb $UNCHECKED_NCSB_SOURCE_FILES" + fi + done +else + if test "$FCLIST" != ""; then + for style in Roman Italic "Bold Italic" Bold; do + NCSB_FILE=`$FCLIST "Century Schoolbook L:style=$style:foundry=urw:fontformat=Type 1" file \ + | head -n 1` + NCSB_FILE=`echo $NCSB_FILE | sed 's/\(:.*\)$//g'` + NCSB_FILE=`$PYTHON "$srcdir/scripts/auxiliar/readlink.py" $NCSB_FILE` + UNCHECKED_NCSB_SOURCE_FILES="$NCSB_FILE $UNCHECKED_NCSB_SOURCE_FILES" + done + NCSB_DIR=`AS_DIRNAME($NCSB_FILE)` + else + AC_MSG_RESULT(not found) + echo "Can't find Century Schoolbook files. Install FontConfig's fc-list," + echo "or use --with-ncsb-dir" + STEPMAKE_ADD_ENTRY(REQUIRED,International New Century Schoolbook fonts) + fi +fi +NCSB_SOURCE_FILES="" +for f in $UNCHECKED_NCSB_SOURCE_FILES; do + if test "`grep Cyrillic "$f"`" = ""; then + STEPMAKE_WARN($f does not have Cyrillic characters.) + STEPMAKE_ADD_ENTRY(REQUIRED,International New Century Schoolbook fonts) + else + NCSB_SOURCE_FILES="$f $NCSB_SOURCE_FILES" + fi +done +AC_MSG_RESULT($NCSB_SOURCE_FILES) + +AC_LANG([C++]) + +STEPMAKE_PYTHON(REQUIRED, 2.4) +# this checks if we have GNU C by compiling a program with +# __GNUC__, but that macro now unofficially means "the compiler +# supports the GNU C extensions" -- the intel C compiler and clang +# both support __GNUC__! +STEPMAKE_GCC_OR_CLANG(REQUIRED, 3.4) + +STEPMAKE_CXX(REQUIRED) +STEPMAKE_GXX_OR_CLANG(REQUIRED, 3.4) +STEPMAKE_GXXCODEGENBUG +STEPMAKE_CXXTEMPLATE +STEPMAKE_STL_DATA_METHOD +STEPMAKE_LIB(REQUIRED) +STEPMAKE_DLOPEN +# Do not use bison 1.50 and 1.75. +# 1.29 is required fr %locations, but I'm not sure it's enough --ns +STEPMAKE_BISON(OPTIONAL, 1.29) +STEPMAKE_FLEX(REQUIRED) +STEPMAKE_FLEXLEXER(REQUIRED) +STEPMAKE_FLEXLEXER_LOCATION +STEPMAKE_LOCALE +STEPMAKE_GETTEXT +STEPMAKE_MSGFMT(REQUIRED) +STEPMAKE_TEXMF(REQUIRED) +STEPMAKE_TEXMF_DIRS +STEPMAKE_GUILE_DEVEL(REQUIRED, 1.8.2) + +# check for 3 typedefs added in Guile 1.9 +save_CXXFLAGS="$CXXFLAGS" +CXXFLAGS="$GUILE_CFLAGS $CXXFLAGS" +AC_CHECK_TYPES([scm_t_hash_fold_fn, scm_t_hash_handle_fn], + [AC_DEFINE(HAVE_GUILE_HASH_FUNC)], [], + [#include ]) +AC_CHECK_TYPES([scm_t_subr], + [AC_DEFINE(HAVE_GUILE_SUBR_TYPE)], [], + [#include ]) +CXXFLAGS="$save_CXXFLAGS" + +## Check for usable cxxabi +save_LIBS="$LIBS" +LIBS="$LIBS $CXXABI_LIBS" +AC_MSG_CHECKING(for usable C++ demangler) +AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], + [abi::__cxa_demangle ("", 0, 0, 0)])], + [AC_DEFINE(HAVE_CXA_DEMANGLE) + AC_MSG_RESULT(yes)],[ + LIBS="$LIBS -lsupc++" + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], + [abi::__cxa_demangle ("", 0, 0, 0)])], + [AC_DEFINE(HAVE_CXA_DEMANGLE) + AC_MSG_RESULT([yes, using -lsupc++]) + CXXABI_LIBS="$CXXABI_LIBS -lsupc++"], + [AC_MSG_RESULT([no, use c++filt -t for manual demangling])])]) +LIBS="$save_LIBS" +AC_SUBST(CXXABI_LIBS) + +## check rational bugfix. +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="$GUILE_CFLAGS $CPPFLAGS" +AC_MSG_CHECKING(GUILE rational bugfix) +AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include +#ifdef SCM_FRACTION_REDUCED_BIT +#error +#endif +]])],[AC_MSG_RESULT(ok)],[REQUIRED="$REQUIRED GUILE-with-rational-bugfix" +AC_MSG_RESULT(Must have patched GUILE rational support. See INSTALL.txt)]) +CPPFLAGS="$save_CPPFLAGS" + + +STEPMAKE_PYTHON_DEVEL(REQUIRED) + +STEPMAKE_PATH_PROG(FONTFORGE, fontforge, REQUIRED, 20110222) + +STEPMAKE_PATH_PROG(T1ASM, t1asm, REQUIRED) + +AC_CHECK_HEADERS([assert.h grp.h libio.h pwd.h sys/stat.h wchar.h fpu_control.h]) +AC_CHECK_HEADERS([sstream]) +AC_HEADER_STAT +AC_FUNC_MEMCMP +AC_FUNC_VPRINTF +AC_CHECK_FUNCS([chroot fopencookie gettext isinf memmem snprintf vsnprintf]) + +STEPMAKE_PROGS(PKG_CONFIG, pkg-config, REQUIRED, 0.9.0) + +AC_MSG_CHECKING(whether to enable dynamic relocation) +if test "$reloc_b" = "yes"; then + AC_DEFINE(ARGV0_RELOCATION) +fi +AC_MSG_RESULT($reloc_b) + +AC_MSG_CHECKING(for rpath linkage) +if test "$rpath_b" = "yes"; then + LDFLAGS="$LDFLAGS -Wl,-rpath -Wl,\\\$\$ORIGIN/../lib" +elif test "$rpath_b" != "no"; then + LDFLAGS="$LDFLAGS -Wl,-rpath -Wl,$rpath_b" +fi +AC_MSG_RESULT($rpath_b) + +HOST_ARCH=`$CC -dumpmachine` +AC_SUBST(HOST_ARCH) + +STEPMAKE_PANGO_FT2(pangoft2, REQUIRED, 1.6.0) +STEPMAKE_FONTCONFIG(fontconfig, REQUIRED, 2.4.0) +STEPMAKE_FREETYPE2(freetype2, REQUIRED, 2.1.10) + +STEPMAKE_WINDOWS + +# guile executable for some scripts +STEPMAKE_GUILE(OPTIONAL) + +# perl for help2man. +STEPMAKE_PERL(OPTIONAL) + +## Optional tools for building documentation, website, extra fonts. +if test "$DOCUMENTATION" = "yes"; then + DOCUMENTATION_REQUIRED=REQUIRED +else + DOCUMENTATION_REQUIRED=OPTIONAL +fi + +STEPMAKE_PATH_PROG(GHOSTSCRIPT, gs, $DOCUMENTATION_REQUIRED, 8.60) + +STEPMAKE_PROGS(MAKEINFO, makeinfo, REQUIRED, 4.11) +STEPMAKE_PROGS(TEXI2HTML, texi2html, $DOCUMENTATION_REQUIRED, 1.82) +STEPMAKE_PROGS(DBLATEX, dblatex, $DOCUMENTATION_REQUIRED, 0.1.4) +STEPMAKE_PROGS(BIBTEX, bibtex, $DOCUMENTATION_REQUIRED) +STEPMAKE_PROGS(PDFLATEX, pdflatex, $DOCUMENTATION_REQUIRED) +STEPMAKE_PROGS(PDFTEX, pdfetex pdftex etex, $DOCUMENTATION_REQUIRED) +STEPMAKE_PROGS(TEXI2PDF, texi2pdf, $DOCUMENTATION_REQUIRED) +STEPMAKE_PROGS(TEXINDEX, texindex, $DOCUMENTATION_REQUIRED) +AC_MSG_CHECKING(for epsf.tex) +TEX_EPSF=`kpsewhich tex epsf` +if test "$TEX_EPSF" = ""; then + AC_MSG_RESULT(not found) + STEPMAKE_ADD_ENTRY($DOCUMENTATION_REQUIRED,epsf.tex) +else + AC_MSG_RESULT($TEX_EPSF) +fi +AC_MSG_CHECKING(for Cyrillic characters support in TeX) +TEX_FIKPARM=`kpsewhich -format=mf fikparm` +if test "$TEX_FIKPARM" = ""; then + AC_MSG_RESULT(not found) + STEPMAKE_ADD_ENTRY($DOCUMENTATION_REQUIRED, +['lh CTAN package (texlive-lang-cyrillic or texlive-texmf-fonts)']) +else + AC_MSG_RESULT(yes) +fi +STEPMAKE_PROGS(NETPBM, pngtopnm, $DOCUMENTATION_REQUIRED) +STEPMAKE_PROGS(IMAGEMAGICK, convert, $DOCUMENTATION_REQUIRED) +# this name avoids a conflict with ZIP in stepmake/aclocal.m4 +STEPMAKE_PROGS(ZIPDOC, zip, $DOCUMENTATION_REQUIRED) +STEPMAKE_PROGS(RSYNC, rsync, $DOCUMENTATION_REQUIRED) + +AC_DEFINE_UNQUOTED(FLOWER_VERSION, "${FULL_FLOWER_VERSION}") + +# must also have local.make if configure fails. +touch local.make + +if test "$reloc_b$rpath_b" = "yesno"; then + STEPMAKE_WARN([Using --enable-relocation without --enable-rpath. LilyPond may have trouble finding libraries.]) +fi + +# Gather requirements and generate output. +STEPMAKE_END + +test -n "$CONFIGURATION" && mc=" conf=$CONFIGURATION" || mc="" + +if make top-doc 1>/dev/null 2>&1; then + rm -f INSTALL.txt && ln Documentation/topdocs/out/INSTALL.txt . + rm -f README.txt && ln Documentation/topdocs/out/README.txt . +fi + +cat <]) -AC_CHECK_TYPES([scm_t_subr], - [AC_DEFINE(HAVE_GUILE_SUBR_TYPE)], [], - [#include ]) -CXXFLAGS="$save_CXXFLAGS" - -## Check for usable cxxabi -save_LIBS="$LIBS" -LIBS="$LIBS $CXXABI_LIBS" -AC_MSG_CHECKING(for usable C++ demangler) -AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], - [abi::__cxa_demangle ("", 0, 0, 0)])], - [AC_DEFINE(HAVE_CXA_DEMANGLE) - AC_MSG_RESULT(yes)],[ - LIBS="$LIBS -lsupc++" - AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], - [abi::__cxa_demangle ("", 0, 0, 0)])], - [AC_DEFINE(HAVE_CXA_DEMANGLE) - AC_MSG_RESULT([yes, using -lsupc++]) - CXXABI_LIBS="$CXXABI_LIBS -lsupc++"], - [AC_MSG_RESULT([no, use c++filt -t for manual demangling])])]) -LIBS="$save_LIBS" -AC_SUBST(CXXABI_LIBS) - -## check rational bugfix. -save_CPPFLAGS="$CPPFLAGS" -CPPFLAGS="$GUILE_CFLAGS $CPPFLAGS" -AC_MSG_CHECKING(GUILE rational bugfix) -AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include -#ifdef SCM_FRACTION_REDUCED_BIT -#error -#endif -]])],[AC_MSG_RESULT(ok)],[REQUIRED="$REQUIRED GUILE-with-rational-bugfix" -AC_MSG_RESULT(Must have patched GUILE rational support. See INSTALL.txt)]) -CPPFLAGS="$save_CPPFLAGS" - - -STEPMAKE_PYTHON_DEVEL(REQUIRED) - -STEPMAKE_PATH_PROG(FONTFORGE, fontforge, REQUIRED, 20110222) - -STEPMAKE_PATH_PROG(T1ASM, t1asm, REQUIRED) - -AC_CHECK_HEADERS([assert.h grp.h libio.h pwd.h sys/stat.h wchar.h fpu_control.h]) -AC_CHECK_HEADERS([sstream]) -AC_HEADER_STAT -AC_FUNC_MEMCMP -AC_FUNC_VPRINTF -AC_CHECK_FUNCS([chroot fopencookie gettext isinf memmem snprintf vsnprintf]) - -STEPMAKE_PROGS(PKG_CONFIG, pkg-config, REQUIRED, 0.9.0) - -AC_MSG_CHECKING(whether to enable dynamic relocation) -if test "$reloc_b" = "yes"; then - AC_DEFINE(ARGV0_RELOCATION) -fi -AC_MSG_RESULT($reloc_b) - -AC_MSG_CHECKING(for rpath linkage) -if test "$rpath_b" = "yes"; then - LDFLAGS="$LDFLAGS -Wl,-rpath -Wl,\\\$\$ORIGIN/../lib" -elif test "$rpath_b" != "no"; then - LDFLAGS="$LDFLAGS -Wl,-rpath -Wl,$rpath_b" -fi -AC_MSG_RESULT($rpath_b) - -HOST_ARCH=`$CC -dumpmachine` -AC_SUBST(HOST_ARCH) - -STEPMAKE_PANGO_FT2(pangoft2, REQUIRED, 1.6.0) -STEPMAKE_FONTCONFIG(fontconfig, REQUIRED, 2.4.0) -STEPMAKE_FREETYPE2(freetype2, REQUIRED, 2.1.10) - -STEPMAKE_WINDOWS - -# guile executable for some scripts -STEPMAKE_GUILE(OPTIONAL) - -# perl for help2man. -STEPMAKE_PERL(OPTIONAL) - -## Optional tools for building documentation, website, extra fonts. -if test "$DOCUMENTATION" = "yes"; then - DOCUMENTATION_REQUIRED=REQUIRED -else - DOCUMENTATION_REQUIRED=OPTIONAL -fi - -STEPMAKE_PATH_PROG(GHOSTSCRIPT, gs, $DOCUMENTATION_REQUIRED, 8.60) - -STEPMAKE_PROGS(MAKEINFO, makeinfo, REQUIRED, 4.11) -STEPMAKE_PROGS(TEXI2HTML, texi2html, $DOCUMENTATION_REQUIRED, 1.82) -STEPMAKE_PROGS(DBLATEX, dblatex, $DOCUMENTATION_REQUIRED, 0.1.4) -STEPMAKE_PROGS(BIBTEX, bibtex, $DOCUMENTATION_REQUIRED) -STEPMAKE_PROGS(PDFLATEX, pdflatex, $DOCUMENTATION_REQUIRED) -STEPMAKE_PROGS(PDFTEX, pdfetex pdftex etex, $DOCUMENTATION_REQUIRED) -STEPMAKE_PROGS(TEXI2PDF, texi2pdf, $DOCUMENTATION_REQUIRED) -STEPMAKE_PROGS(TEXINDEX, texindex, $DOCUMENTATION_REQUIRED) -AC_MSG_CHECKING(for epsf.tex) -TEX_EPSF=`kpsewhich tex epsf` -if test "$TEX_EPSF" = ""; then - AC_MSG_RESULT(not found) - STEPMAKE_ADD_ENTRY($DOCUMENTATION_REQUIRED,epsf.tex) -else - AC_MSG_RESULT($TEX_EPSF) -fi -AC_MSG_CHECKING(for Cyrillic characters support in TeX) -TEX_FIKPARM=`kpsewhich -format=mf fikparm` -if test "$TEX_FIKPARM" = ""; then - AC_MSG_RESULT(not found) - STEPMAKE_ADD_ENTRY($DOCUMENTATION_REQUIRED, -['lh CTAN package (texlive-lang-cyrillic or texlive-texmf-fonts)']) -else - AC_MSG_RESULT(yes) -fi -STEPMAKE_PROGS(NETPBM, pngtopnm, $DOCUMENTATION_REQUIRED) -STEPMAKE_PROGS(IMAGEMAGICK, convert, $DOCUMENTATION_REQUIRED) -# this name avoids a conflict with ZIP in stepmake/aclocal.m4 -STEPMAKE_PROGS(ZIPDOC, zip, $DOCUMENTATION_REQUIRED) -STEPMAKE_PROGS(RSYNC, rsync, $DOCUMENTATION_REQUIRED) - -AC_DEFINE_UNQUOTED(FLOWER_VERSION, "${FULL_FLOWER_VERSION}") - -# must also have local.make if configure fails. -touch local.make - -if test "$reloc_b$rpath_b" = "yesno"; then - STEPMAKE_WARN([Using --enable-relocation without --enable-rpath. LilyPond may have trouble finding libraries.]) -fi - -# Gather requirements and generate output. -STEPMAKE_END - -test -n "$CONFIGURATION" && mc=" conf=$CONFIGURATION" || mc="" - -if make top-doc 1>/dev/null 2>&1; then - rm -f INSTALL.txt && ln Documentation/topdocs/out/INSTALL.txt . - rm -f README.txt && ln Documentation/topdocs/out/README.txt . -fi - -cat <1 } \\ + { eis, } >> + \set Staff . accidentalGrouping = #'voice + << { 1 } \\ + { eis, } >> +} diff --git a/input/regression/alignment-order.ly b/input/regression/alignment-order.ly index 907e3eae36..88e1ec2481 100644 --- a/input/regression/alignment-order.ly +++ b/input/regression/alignment-order.ly @@ -3,7 +3,7 @@ anywhere in the vertical alignment. " } -\version "2.17.6" +\version "2.17.11" \paper { ragged-right = ##t @@ -22,7 +22,7 @@ anywhere in the vertical alignment. " } \new Staff { \set Staff.alignAboveContext = #"3" - \times 4/6 { + \tuplet 6/4 { \override TextScript.padding = #3 c4^"this" d_"staff" e^"above" d_"last" e^"staff" f } diff --git a/input/regression/ambitus-with-ligature.ly b/input/regression/ambitus-with-ligature.ly index f0aec5f866..fa22244c6d 100644 --- a/input/regression/ambitus-with-ligature.ly +++ b/input/regression/ambitus-with-ligature.ly @@ -10,6 +10,8 @@ and a @code{Mensural_ligature_engraver} without segfaulting. \new Voice \with { \consists "Ambitus_engraver" \consists "Mensural_ligature_engraver" + \remove "Ligature_bracket_engraver" } { + \cadenzaOn \[ c'\longa c''\longa \] } diff --git a/input/regression/auto-beam-beaming-override.ly b/input/regression/auto-beam-beaming-override.ly index 6798aa8e83..c811a5d963 100644 --- a/input/regression/auto-beam-beaming-override.ly +++ b/input/regression/auto-beam-beaming-override.ly @@ -8,14 +8,14 @@ beaming pattern related functions at the start of an autobeam." } -\version "2.16.0" +\version "2.17.11" \paper { ragged-right = ##t } { \time 2/4 b16 b b b b16 b b b \set subdivideBeams = ##t - \set Score.baseMoment = #(ly:make-moment 1 8) + \set Score.baseMoment = #(ly:make-moment 1/8) b16 b b b b16 b b b } diff --git a/input/regression/auto-beam-triplet.ly b/input/regression/auto-beam-triplet.ly index 121a22f79f..a9229e1df2 100644 --- a/input/regression/auto-beam-triplet.ly +++ b/input/regression/auto-beam-triplet.ly @@ -4,10 +4,10 @@ texidoc = "Automatic beaming is also done on tuplets." } -\version "2.16.0" +\version "2.17.11" \layout { ragged-right= ##t } \relative c''{ c8 c c c - \times 4/6 { c c c c c c} + \tuplet 6/4 { c c c c c c} } diff --git a/input/regression/auto-beam-tuplets.ly b/input/regression/auto-beam-tuplets.ly index e6b36894d3..1b9e3abb1f 100644 --- a/input/regression/auto-beam-tuplets.ly +++ b/input/regression/auto-beam-tuplets.ly @@ -1,5 +1,5 @@ -\version "2.17.6" +\version "2.17.11" \header { texidoc = "Tuplet-spanner should not put (visible) brackets on @@ -8,9 +8,9 @@ beams even if they're auto generated." \layout { ragged-right= ##t } \relative c' { - \set tupletSpannerDuration = #(ly:make-moment 1 4) + \tupletSpan 4 \override TupletBracket.bracket-visibility = #'if-no-beam - \times 2/3 { + \tuplet 3/2 { f8[ f f ] f8[ f f ] f f f f f f } } diff --git a/input/regression/autobeam-3-4-rules.ly b/input/regression/autobeam-3-4-rules.ly index 4a098e33d8..79aad6b6bb 100644 --- a/input/regression/autobeam-3-4-rules.ly +++ b/input/regression/autobeam-3-4-rules.ly @@ -1,4 +1,4 @@ -\version "2.16.0" +\version "2.17.11" \header { @@ -27,7 +27,7 @@ is changed, beams should start at the beginning of the measure. r8^\markup "Beam to the beat" c c c c c c c c r r4 \bar "||" - \set Timing.baseMoment = #(ly:make-moment 1 8) + \set Timing.baseMoment = #(ly:make-moment 1/8) \set Timing.beatStructure = #'(3 3) r8^\markup "Override to beam groups of 3 eighth notes" c c c c c r4. c8 c c c c c r4. diff --git a/input/regression/autobeam-tuplet-recheck.ly b/input/regression/autobeam-tuplet-recheck.ly index fbd81b8ec2..37a1361d9b 100644 --- a/input/regression/autobeam-tuplet-recheck.ly +++ b/input/regression/autobeam-tuplet-recheck.ly @@ -1,4 +1,4 @@ -\version "2.16.0" +\version "2.17.11" \header { @@ -10,7 +10,7 @@ In the example, the first beat should be beamed completely together." \relative c' { \time 2/4 c16 c - \times 2/3 { c8 c16 } - \times 2/3 { c8 c16 } + \tuplet 3/2 { c8 c16 } + \tuplet 3/2 { c8 c16 } c16 c } diff --git a/input/regression/backend-excercise.ly b/input/regression/backend-excercise.ly index 5191c53312..018c014da8 100644 --- a/input/regression/backend-excercise.ly +++ b/input/regression/backend-excercise.ly @@ -2,7 +2,7 @@ texidoc = "Exercise all output functions" } -\version "2.17.6" +\version "2.17.11" \paper { ragged-right = ##t } @@ -11,7 +11,7 @@ \new Staff { \ottava #1 - \times 2/3 { c8[\< f]( f''\!) } + \tuplet 3/2 { c8[\< f]( f''\!) } \ottava #0 4 diff --git a/input/regression/beam-concave.ly b/input/regression/beam-concave.ly index 29edf9e7f3..d165f4e5f4 100644 --- a/input/regression/beam-concave.ly +++ b/input/regression/beam-concave.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.17.11" \header{ texidoc = "Fully concave beams should be horizontal. Informally spoken, @@ -12,7 +12,7 @@ } -resetMeasure = \set Score.measurePosition = #(ly:make-moment 0 1) +resetMeasure = \set Score.measurePosition = #(ly:make-moment 0/1) %% examples from Ross. rossFourBeams =\relative c'' { diff --git a/input/regression/beam-extreme.ly b/input/regression/beam-extreme.ly index 6d0e6d4ed1..21c755c255 100644 --- a/input/regression/beam-extreme.ly +++ b/input/regression/beam-extreme.ly @@ -1,5 +1,5 @@ -\version "2.17.6" +\version "2.17.11" \header{ texidoc=" Beams should behave reasonably well, even under extreme circumstances. @@ -23,7 +23,7 @@ extreme = \relative c'' { %%%%%%% \stemNeutral - \times 2/3{ d16[ fis' d,]} \times 2/3{ cis[ g'' cis,,]} + \tuplet 3/2{ d16[ fis' d,]} \tuplet 3/2{ cis[ g'' cis,,]} a'16 cis a, g''' % Used to give a nice beam directed upwards. \stemNeutral diff --git a/input/regression/beam-feather.ly b/input/regression/beam-feather.ly index b21658c46b..0006976c6e 100644 --- a/input/regression/beam-feather.ly +++ b/input/regression/beam-feather.ly @@ -6,7 +6,7 @@ } -\version "2.17.6" +\version "2.17.11" \paper { ragged-right = ##t @@ -18,7 +18,7 @@ % a linear decrease instead? % -\featherDurations #(ly:make-moment 3 4) \relative c'' { +\featherDurations #(ly:make-moment 3/4) \relative c'' { \override Beam.grow-direction = #LEFT c16[ c c c diff --git a/input/regression/beam-slope-stemlet.ly b/input/regression/beam-slope-stemlet.ly index 0593907d1b..f64237ab22 100644 --- a/input/regression/beam-slope-stemlet.ly +++ b/input/regression/beam-slope-stemlet.ly @@ -6,7 +6,7 @@ as invisible stems." } -\version "2.17.6" +\version "2.17.11" \layout { ragged-right = ##t @@ -14,9 +14,9 @@ as invisible stems." } \relative c' { - \times 2/3 {r8[ c' g']} + \tuplet 3/2 {r8[ c' g']} \override Stem.stemlet-length = #0.5 - \times 2/3 {r8[ c, g']} + \tuplet 3/2 {r8[ c, g']} } diff --git a/input/regression/beam-subdivide-tuplets.ly b/input/regression/beam-subdivide-tuplets.ly index 93223c969d..5db5ea1f54 100644 --- a/input/regression/beam-subdivide-tuplets.ly +++ b/input/regression/beam-subdivide-tuplets.ly @@ -1,4 +1,4 @@ -\version "2.16.0" +\version "2.17.11" \header { @@ -13,8 +13,8 @@ the beams should be subdivided every 1/8. } \relative c' { - \set tupletSpannerDuration = #(ly:make-moment 1 4) - \set baseMoment = #(ly:make-moment 1 8) + \tupletSpan 4 + \set baseMoment = #(ly:make-moment 1/8) \set subdivideBeams = ##t - \times 4/6 { \repeat unfold 24 { c16 } } + \tuplet 6/4 { \repeat unfold 24 { c16 } } } diff --git a/input/regression/beaming-tuplet-regular.ly b/input/regression/beaming-tuplet-regular.ly index caac0a6f6d..0c0a4c91cf 100644 --- a/input/regression/beaming-tuplet-regular.ly +++ b/input/regression/beaming-tuplet-regular.ly @@ -1,4 +1,4 @@ -\version "2.16.0" +\version "2.17.11" \header { @@ -8,7 +8,7 @@ Beams in a completed tuplet should be continuous. } { - \times 2/3 {b16 b b} b8 b8 \times 2/3 {b16 b b} - \times 1/3 {b16 b b} b8. b \times 1/3 {b16 b b} + \tuplet 3/2 {b16 b b} b8 b8 \tuplet 3/2 {b16 b b} + \tuplet 3/1 {b16 b b} b8. b \tuplet 3/1 {b16 b b} } diff --git a/input/regression/beaming.ly b/input/regression/beaming.ly index 39cdfe5370..bb8bba1872 100644 --- a/input/regression/beaming.ly +++ b/input/regression/beaming.ly @@ -1,5 +1,5 @@ -\version "2.16.0" +\version "2.17.11" \header{ texidoc=" @@ -10,7 +10,7 @@ case, line breaks are forbidden. \context Staff \relative c'' { - c8[ \times 2/3 { c16 d e] } + c8[ \tuplet 3/2 { c16 d e] } s4*3 c8.[ c16] diff --git a/input/regression/beamlet-test.ly b/input/regression/beamlet-test.ly index d2a8667a6d..5ec8e4b5a6 100644 --- a/input/regression/beamlet-test.ly +++ b/input/regression/beamlet-test.ly @@ -1,4 +1,4 @@ -\version "2.16.0" +\version "2.17.11" \header { texidoc = " @@ -8,29 +8,29 @@ broken beat units. This should work in tuplets as well as in ordinary time. } \relative c'' { - \times 2/3 { + \tuplet 3/2 { c8. c16 c8 } - \times 2/3 { + \tuplet 3/2 { c8 c16 c8. } - \times 4/5 { + \tuplet 5/4 { c8[ c8. c16 c8 c8] } - \times 4/5 { + \tuplet 5/4 { c8[ c8 c16 c8. c8] } - \times 4/5 { + \tuplet 5/4 { c8 c16 c8. c8 c8 } - \times 4/5 { + \tuplet 5/4 { c8 c8 c8. c16 c8 } c8.[ c16 c8 c8] c8[ c16 c8. c8] c8[ c8. c16 c8] c8.[ c16 c8. c16] - \times 4/5 { c8 [ c16 c8 c16 c8 c8 ] } - \times 4/5 { a8 a32 a8 a16. a8 a8 } + \tuplet 5/4 { c8 [ c16 c8 c16 c8 c8 ] } + \tuplet 5/4 { a8 a32 a8 a16. a8 a8 } } diff --git a/input/regression/chord-repetition-times.ly b/input/regression/chord-repetition-times.ly index d70b80aab0..ba8f1fdbe6 100644 --- a/input/regression/chord-repetition-times.ly +++ b/input/regression/chord-repetition-times.ly @@ -1,4 +1,4 @@ -\version "2.16.0" +\version "2.17.11" \header { @@ -11,5 +11,5 @@ correctly on them. \relative c' { 4 r 2 ~ | - \times 2/3 { 4 q q } \times 2/3 { q q q } | + \tuplet 3/2 { 4 q q } \tuplet 3/2 { q q q } | } diff --git a/input/regression/completion-heads-tuplets.ly b/input/regression/completion-heads-tuplets.ly index 305f58a128..e2e397618f 100644 --- a/input/regression/completion-heads-tuplets.ly +++ b/input/regression/completion-heads-tuplets.ly @@ -1,4 +1,4 @@ -\version "2.16.0" +\version "2.17.11" \header { texidoc = " @@ -15,6 +15,6 @@ Completion heads may be used with tuplets (and compressed music) too. } \context Staff \relative c'' { - \set tupletSpannerDuration = #(ly:make-moment 1 1) - \times 2/3 { g1 g g } + \tupletSpan 1 + \tuplet 3/2 { g1 g g } } diff --git a/input/regression/completion-heads-unit.ly b/input/regression/completion-heads-unit.ly index f88ab32ef9..e35e639344 100644 --- a/input/regression/completion-heads-unit.ly +++ b/input/regression/completion-heads-unit.ly @@ -1,4 +1,4 @@ -\version "2.16.0" +\version "2.17.11" \header { texidoc = " @@ -17,10 +17,10 @@ Note head completion may be broken into sub-bar units by setting the \context Staff \relative f { \time 9/8 - \set completionUnit = #(ly:make-moment 3 8) + \set completionUnit = #(ly:make-moment 3/8) g'1.. g2 \time 6/4 - \set completionUnit = #(ly:make-moment 1 4) - \set tupletSpannerDuration = #(ly:make-moment 1 4) - \times 2/3 { e4 c8 f g a4 b8 c4 b8 a4 g8 a e f4 } + \set completionUnit = #(ly:make-moment 1/4) + \tupletSpan 4 + \tuplet 3/2 { e4 c8 f g a4 b8 c4 b8 a4 g8 a e f4 } } diff --git a/input/regression/display-lily-tests.ly b/input/regression/display-lily-tests.ly index 2ecae684e4..9d4306a2ac 100644 --- a/input/regression/display-lily-tests.ly +++ b/input/regression/display-lily-tests.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.17.11" #(use-modules (srfi srfi-13) (ice-9 format)) @@ -178,14 +178,15 @@ stderr of this run." \test ##[ { \change Staff = "up" { c d } } #] % ContextChange %% Tuplets -\test ##[ \times 2/3 { c8 d e } #] % TimeScaledMusic -\test ##[ \times 4/6 { c16 d e f g a } #] -\test ##[ \times 2/3 { c d e \times 2/5 { f e d2 d4 } c } #] -%} +\test ##[ \tuplet 3/2 { c8 d e } #] % TimeScaledMusic +\test ##[ \tuplet 6/4 { c16 d e f g a } #] +\test ##[ \tuplet 3/2 { c d e \tuplet 5/2 { f e d2 d4 } c } #] +\test ##[ \tuplet 3/2 2 { c d e \tuplet 5/2 2 { f e d2 d4 } c } #] + %% \relative and \tranpose \test #"NOT A BUG" ##[ \relative c' { c b } #] % RelativeOctaveMusic \test #"NOT A BUG" ##[ \transpose c d { c d } #] % TransposedMusic -%} + %% Repeats \test ##[ \repeat volta 2 { c d } #] % VoltaRepeatedMusic \test ##[ \repeat unfold 2 { c d } #] % UnfoldedRepeatedMusic diff --git a/input/regression/dot-column-engraver.ly b/input/regression/dot-column-engraver.ly index 8c6b087f51..f87e23f038 100644 --- a/input/regression/dot-column-engraver.ly +++ b/input/regression/dot-column-engraver.ly @@ -1,4 +1,4 @@ -\version "2.16.0" +\version "2.17.11" \header { texidoc = "Dot Columns are engraved in the Staff by default, @@ -9,7 +9,7 @@ and these dots avoid notes in other voices." music = \relative c'' { \time 3/4 << { 4. c c b g f a a -} \\ \times 1/2 { +} \\ \tuplet 2/1 { 2. a-- -. a2. a-- a a b \bar "|." } >> } diff --git a/input/regression/duration-identifier-compressed.ly b/input/regression/duration-identifier-compressed.ly index 71f32a35eb..96b59cb81c 100644 --- a/input/regression/duration-identifier-compressed.ly +++ b/input/regression/duration-identifier-compressed.ly @@ -1,4 +1,4 @@ -\version "2.16.0" +\version "2.17.11" \header { texidoc = "The compression factor of a duration identifier is @@ -6,7 +6,7 @@ correctly accounted for by the parser." } % looks like a whole note, has duration of half note -wholeHalved = #(ly:make-duration 0 0 1 2) +wholeHalved = #(ly:make-duration 0 0 1/2) \relative c' { diff --git a/input/regression/fingering-directions.ly b/input/regression/fingering-directions.ly new file mode 100644 index 0000000000..ba8d1525e5 --- /dev/null +++ b/input/regression/fingering-directions.ly @@ -0,0 +1,32 @@ +\version "2.16.0" + +\header { + texidoc = "Fingering directions in directed and undirected contexts." +} + +\layout { ragged-right= ##t } + +{ + \relative c'' + \new Voice { + \tempo "\\voiceTwo" + \voiceTwo + c2^5 + c_5 + c-5 + \tempo "\\oneVoice" + \oneVoice + c^5 + c_5 + c-5 + } \addlyrics { + \override LyricText . font-size = #-2 + \override LyricText . font-series = #'bold + "c^5" "" + "c_5" "" + "c-5" "" + "c^5" "" + "c_5" "" + "c-5" "" + } +} diff --git a/input/regression/general-scheme-bindings.ly b/input/regression/general-scheme-bindings.ly index d3af8ab84e..bf00be2fc4 100644 --- a/input/regression/general-scheme-bindings.ly +++ b/input/regression/general-scheme-bindings.ly @@ -5,7 +5,7 @@ } -\version "2.16.0" +\version "2.17.11" %% todo : use macro, to show the statement tested. #(ly:progress "~a\n" (ly:expand-environment "${HOME} $HOME $$ ")) @@ -14,7 +14,7 @@ %% very platform dependent. %% #(ly:font-config-display-fonts) -#(ly:progress "~A\n" (ly:duration->string (ly:make-duration 2 2 3 7))) +#(ly:progress "~A\n" (ly:duration->string (ly:make-duration 2 2 3/7))) #(ly:parser-parse-string (ly:parser-clone parser) "foo = #1 #(ly:progress \"hello there\n\")") #(ly:progress "~a\n" (ly:truncate-list! (iota 5) 10)) diff --git a/input/regression/glissando-index.ly b/input/regression/glissando-index.ly index f3d53a7902..5611773909 100644 --- a/input/regression/glissando-index.ly +++ b/input/regression/glissando-index.ly @@ -7,6 +7,6 @@ \relative c' { \once \override Voice.Glissando.style = #(lambda (grob) - (if (eq? 1 (ly:grob-property grob 'glissando-index)) 'zigzag 'default)) + (if (= 1 (ly:grob-property grob 'glissando-index)) 'zigzag 'default)) 1 \glissando s1 } diff --git a/input/regression/grace.ly b/input/regression/grace.ly index 820386f114..7cea105e64 100644 --- a/input/regression/grace.ly +++ b/input/regression/grace.ly @@ -1,5 +1,5 @@ -\version "2.16.0" +\version "2.17.11" \header{ @@ -18,7 +18,7 @@ Main note scripts do not end up on the grace note. \grace b8 c4\fermata \grace { c32[ cis32] } gis4 \grace { cis32[ dis32] } e4 - \grace { c32[ d] }\times 2/3 { c8[ c c] } + \grace { c32[ d] }\tuplet 3/2 { c8[ c c] } \grace { b32[ ( c32] } c4) \grace 16 c8[ c8] % \grace c16 c8[ c8] diff --git a/input/regression/grid-lines.ly b/input/regression/grid-lines.ly index e43000956c..ed4e054c62 100644 --- a/input/regression/grid-lines.ly +++ b/input/regression/grid-lines.ly @@ -5,7 +5,7 @@ staves synchronized with the notes." } -\version "2.17.6" +\version "2.17.11" skips = { @@ -39,7 +39,7 @@ skips = \context { \RhythmicStaff \consists "Grid_point_engraver" - gridInterval = #(ly:make-moment 1 8) + gridInterval = #(ly:make-moment 1/8) \override BarLine.bar-extent = #'(-0.025 . 0.025) } \context { diff --git a/input/regression/lyric-combine-switch-voice.ly b/input/regression/lyric-combine-switch-voice.ly index 7548edad73..28f99fd58e 100644 --- a/input/regression/lyric-combine-switch-voice.ly +++ b/input/regression/lyric-combine-switch-voice.ly @@ -5,7 +5,7 @@ if the switch occurs together with context instantiation." } -\version "2.17.6" +\version "2.17.11" << \relative \new Voice = "lahlah" { @@ -14,7 +14,7 @@ if the switch occurs together with context instantiation." << \new Voice = "alternative" { \voiceOne - \times 2/3 { + \tuplet 3/2 { %% show associations clearly. \override NoteColumn.force-hshift = #-3 r8 f g diff --git a/input/regression/lyric-combine.ly b/input/regression/lyric-combine.ly index 9d0943f390..cedcb39d2d 100644 --- a/input/regression/lyric-combine.ly +++ b/input/regression/lyric-combine.ly @@ -1,5 +1,5 @@ -\version "2.16.0" +\version "2.17.11" \header{ @@ -19,7 +19,7 @@ lyrics ignore any other rhythms in the piece." m = \relative c'' { \autoBeamOff - g8( a) r8 \times 2/3 { g'8( f e) } r8 \grace { d16[ c b] } e4 + g8( a) r8 \tuplet 3/2 { g'8( f e) } r8 \grace { d16[ c b] } e4 \textLengthOff d8.^"melisma" \melisma c16 \melismaEnd diff --git a/input/regression/make-relative.ly b/input/regression/make-relative.ly new file mode 100644 index 0000000000..706bdb9adc --- /dev/null +++ b/input/regression/make-relative.ly @@ -0,0 +1,82 @@ +\version "2.17.11" +\header { + + texidoc = "@code{make-relative} is a Scheme utility macro mainly +useful for creating music functions accepting pitches as arguments. +Its purpose is to make music functions taking pitch arguments for +producing complex music fragments integrate nicely within a +@code{\\relative} section. This regtest typesets a short music +fragment twice, once without using @code{\\relative}, once using it. +The fragment should appear identical in both cases." + +} + +\layout { ragged-right= ##t } + +ph = +#(define-music-function (parser location p1 p2 p3 p4 p5) + (ly:pitch? ly:pitch? ly:pitch? ly:pitch? ly:pitch?) + (make-relative (p1 p2 p3 p4 p5) p1 + #{ + \repeat unfold 2 { $p1 2 } | + \repeat unfold 2 { r16 $p2 8. ~ $p2 4 } | + \repeat unfold 2 { r8 $p3 16 $p4 $p5 $p3 $p4 $p5 } | + #})) + +\parallelMusic #'(low middle high) +{ + \ph c' e' g' c'' e'' + R1*7 | \skip 1*7 | \oneVoice R1*7 \voiceOne | + \ph a c' e' g' c'' + \voiceTwo | \change Staff = "down" \voiceOne | \oneVoice | + \ph d a d' fis' c'' + \oneVoice R1*21 \voiceTwo | \skip 1*21 | R1*21 | + \ph c, c g bes e' + c,2~ c, | r16 c8. ~ c4 ~ c2 + | r8 f16 a c' f' c' a c' a f a f d f d | + c,2~ c, | r16 b,8. ~ b,4 ~ b,2 + | r8 g'16 b' d'' f'' d'' b' d'' b' g' b' d' f' e' d' | + c,1\fermata | c1 | 1\fermata \bar "|." | +} + +\score { + \new PianoStaff << + \compressFullBarRests + \new Staff = "up" { + << \high \\ \middle >> + } + \new Staff = "down" { + \clef bass + \low + } + >> +} + +\parallelMusic #'(low middle high) +\relative c' { + \ph c e g c e + R1*7 | \skip 1*7 | \oneVoice R1*7 \voiceOne | + \ph a c e g c + \voiceTwo | \change Staff = "down" \voiceOne | \oneVoice | + \ph d, a' d fis c' + \oneVoice R1*21 \voiceTwo | \skip 1*21 | R1*21 | + \ph c, c' g' bes e + c2~ c | r16 c'8. ~ c4 ~ c2 + | r8 f16 a c f c' a c a f a f d f d | + c,,2~ c | r16 b'8. ~ b4 ~ b2 + | r8 g'16 b d f d b d b g b d f e d | + c,,1\fermata | c'1 | 1\fermata \bar "|." | +} + +\score { + \new PianoStaff << + \compressFullBarRests + \new Staff = "up" { + << \high \\ \middle >> + } + \new Staff = "down" { + \clef bass + \low + } + >> +} diff --git a/input/regression/markup-note-styles.ly b/input/regression/markup-note-styles.ly index bb1406b4cc..c24c6d43b7 100644 --- a/input/regression/markup-note-styles.ly +++ b/input/regression/markup-note-styles.ly @@ -1,11 +1,20 @@ -\version "2.16.0" +\version "2.17.12" \header { texidoc = "@code{\\note-by-number} and @code{\\note} support -all note head styles." +all note head styles and straight flags." } -#(define-markup-command (show-note-styles layout props) () +#(define styles-list + '(default altdefault + baroque neomensural + mensural petrucci + harmonic harmonic-black + harmonic-mixed diamond + cross xcircle + triangle slash)) + +#(define-markup-command (show-note-styles layout props styles) (list?) (interpret-markup layout props (make-column-markup (map @@ -23,16 +32,32 @@ all note head styles." (lambda (dur-log) (make-note-by-number-markup dur-log 0 UP)) - '(-3 -2 -1 0 1 2)))))))) - '(default altdefault - baroque neomensural - mensural petrucci - harmonic harmonic-black - harmonic-mixed diamond - cross xcircle - triangle slash))))) + '(-3 -2 -1 0 1 2 3 4 5 6)))))))) + styles)))) + +\markup { + \column { + \vspace #1 + \underline "Note-head-styles:" + \override #'(baseline-skip . 6) + \show-note-styles #styles-list + } +} + +\markup { + \column { + \vspace #1 + \underline "Modern-straight-flag:" + \override #'(flag-style . modern-straight-flag) + \show-note-styles #'(default) + } +} \markup { - \override #'(baseline-skip . 6) - \show-note-styles + \column { + \vspace #1 + \underline "Old-straight-flag:" + \override #'(flag-style . old-straight-flag) + \show-note-styles #'(default) + } } diff --git a/input/regression/markup-note.ly b/input/regression/markup-note.ly index b642b98df6..307336799b 100644 --- a/input/regression/markup-note.ly +++ b/input/regression/markup-note.ly @@ -3,64 +3,70 @@ texidoc = "The note markup function may be used to make metronome markings. It works for a variety of flag, dot and duration settings." } -\version "2.17.6" +\version "2.17.12" -\score { - \relative c'' - { - c4^\markup { - \note #"1" #1 - \note #"2" #1 - \note #"4" #1 - \note #"8" #1 - \note #"16" #1 - \note #"32" #1 - \note #"64" #1 +mrkp = +\markup { + \note #"1" #1 + \note #"2" #1 + \note #"4" #1 + \note #"8" #1 + \note #"16" #1 + \note #"32" #1 + \note #"64" #1 - \note #"1" #-1 - \note #"2" #-1 - \note #"4" #-1 - \note #"8" #-1 - \note #"16" #-1 - \note #"32" #-1 - \note #"64" #-1 + \note #"1" #-1 + \note #"2" #-1 + \note #"4" #-1 + \note #"8" #-1 + \note #"16" #-1 + \note #"32" #-1 + \note #"64" #-1 - \note #"1." #-1 - \note #"2." #-1 - \note #"4." #-1 - \note #"8." #-1 - \note #"16." #-1 - \note #"32." #-1 - \note #"64." #-1 + \note #"1." #-1 + \note #"2." #-1 + \note #"4." #-1 + \note #"8." #-1 + \note #"16." #-1 + \note #"32." #-1 + \note #"64." #-1 - \note #"1." #1 - \note #"2." #1 - \note #"4." #1 - \note #"8." #1 - \note #"16." #1 - \note #"32." #1 - \note #"64." #1 + \note #"1." #1 + \note #"2." #1 + \note #"4." #1 + \note #"8." #1 + \note #"16." #1 + \note #"32." #1 + \note #"64." #1 - \override #'(style . cross) - { \note-by-number #2 #1 #1 - \note-by-number #2 #1 #-1 - } - \override #'(style . triangle) - { \note-by-number #2 #1 #1 - \note-by-number #2 #1 #-1 - } + \override #'(style . cross) + { \note-by-number #2 #1 #1 + \note-by-number #2 #1 #-1 + } + \override #'(style . triangle) + { \note-by-number #2 #1 #1 + \note-by-number #2 #1 #-1 + } +} +\score { + \relative c'' + { + c4^\markup { + \column { + \mrkp + \override #'(style . mensural) \mrkp + \override #'(flag-style . modern-straight-flag) \mrkp + \override #'(flag-style . old-straight-flag) \mrkp + } } - \override NoteHead.style = #'triangle c4 a } - \layout { \context { \Score \override PaperColumn.keep-inside-line = ##f } } - } diff --git a/input/regression/markup-score.ly b/input/regression/markup-score.ly index 71860fb49f..ffac9f2e68 100644 --- a/input/regression/markup-score.ly +++ b/input/regression/markup-score.ly @@ -2,7 +2,7 @@ texidoc = "Use \\score block as markup command." } -\version "2.16.0" +\version "2.17.11" tuning = \markup { \score { @@ -24,8 +24,8 @@ tuning = \markup { \relative c'' { \time 4/8 - \times 2/3 { c8 d e } \times 2/3 {c d e} - \times 2/3 { c8 d e } \times 2/3 {c d e} + \tuplet 3/2 { c8 d e } \tuplet 3/2 {c d e} + \tuplet 3/2 { c8 d e } \tuplet 3/2 {c d e} g8 a8 g8 a g8 a8 g8 a } diff --git a/input/regression/metronome-mark-broken-bound.ly b/input/regression/metronome-mark-broken-bound.ly index 16325e9557..52f5b13962 100644 --- a/input/regression/metronome-mark-broken-bound.ly +++ b/input/regression/metronome-mark-broken-bound.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.17.11" \header { texidoc = "A @code{MetronomeMark}, @code{RehearsalMark} and @code{BarNumber} @@ -20,7 +20,7 @@ should not effect the starting point of spanners. \override Beam.breakable = ##t \override Glissando.breakable = ##t - \ottava #1 \times 1/1 { e'8\<\startTextSpan\startTrillSpan\glissando + \ottava #1 \tuplet 1/1 { e'8\<\startTextSpan\startTrillSpan\glissando [ \override NoteColumn.glissando-skip = ##t\repeat unfold 22 e'8 \revert NoteColumn.glissando-skip e'8\!\stopTextSpan\stopTrillSpan ] } | } diff --git a/input/regression/metronome-range.ly b/input/regression/metronome-range.ly index ac6b5c67a3..d692c22359 100644 --- a/input/regression/metronome-range.ly +++ b/input/regression/metronome-range.ly @@ -1,4 +1,4 @@ -\version "2.16.0" +\version "2.17.11" \header { texidoc = " @@ -11,7 +11,7 @@ printed with an en-dash character, separated by thin-spaces. \tempo 4 = 66 ~ 72 c1 | c $(make-event-chord (list (make-music 'TempoChangeEvent - 'tempo-unit (ly:make-duration 2 0 1 1) + 'tempo-unit (ly:make-duration 2 0 1/1) 'metronome-count (cons 124 132)))) c1 | c } diff --git a/input/regression/midi-grace-after-tie.ly b/input/regression/midi-grace-after-tie.ly new file mode 100644 index 0000000000..6aca01bc1e --- /dev/null +++ b/input/regression/midi-grace-after-tie.ly @@ -0,0 +1,17 @@ +\header { + + texidoc = "Tied notes sound as one note in MIDI. Grace notes + following a tied note shorten the resulting single note in MIDI." + + % https://code.google.com/p/lilypond/issues/detail?id=3091 +} +\version "2.16.0" +\score { + \relative c' { + % This first b~ tie should be honoured in the MIDI output: + a2. b4~ + % i.e. this b8 must not be sounded: + | b8 \grace c16 d4 + } + \midi { } +} diff --git a/input/regression/midi-tuplets.ly b/input/regression/midi-tuplets.ly index 11153ded7d..49cda2ccc4 100644 --- a/input/regression/midi-tuplets.ly +++ b/input/regression/midi-tuplets.ly @@ -1,4 +1,4 @@ -\version "2.16.0" +\version "2.17.11" \header { texidoc = " @@ -21,11 +21,11 @@ Midi2ly tuplet test. a1 a2 a2. a4 a4. a8 a8. a16 a16. a32 a32. a64 - \times 2/3 { b4 b4 b4 } - \times 3/5 { b4 b4 b4 b4 b4 } + \tuplet 3/2 { b4 b4 b4 } + \tuplet 5/3 { b4 b4 b4 b4 b4 } - \times 2/3 { c8 c8 c8 } - \times 3/5 { c8 c8 c8 c8 c8 } + \tuplet 3/2 { c8 c8 c8 } + \tuplet 5/3 { c8 c8 c8 c8 c8 } } \layout { } diff --git a/input/regression/mozart-hrn3-allegro.ily b/input/regression/mozart-hrn3-allegro.ily index 5aff496652..a961de79d0 100644 --- a/input/regression/mozart-hrn3-allegro.ily +++ b/input/regression/mozart-hrn3-allegro.ily @@ -1,4 +1,4 @@ -\version "2.16.0" +\version "2.17.11" \include "mozart-hrn3-defs.ily" allegro = \relative c' { @@ -130,19 +130,19 @@ allegro = \relative c' { c4) r r2 R1 | \mark "H" - \times 2/3 { c8[ b a ] } - \times 2/3 { g[ a b] } - \times 2/3 { c[ d e] } - \times 2/3 { f[ e d] } | - \times 2/3 { c[ b a ] } - \times 2/3 { g[ a b] } - \times 2/3 { c[ d e] } - \times 2/3 { f[ e d] }| - c4 \times 2/3 { r8 g'[( e)]} c4 - \times 2/3 { r8 e[ ( c)]} | - g4 \times 2/3 { r8 c8[( g)] } - \times 2/3 { e[ ( g) e-. ] } - \times 2/3 { c[ ( e) c-.] }| + \tuplet 3/2 { c8[ b a ] } + \tuplet 3/2 { g[ a b] } + \tuplet 3/2 { c[ d e] } + \tuplet 3/2 { f[ e d] } | + \tuplet 3/2 { c[ b a ] } + \tuplet 3/2 { g[ a b] } + \tuplet 3/2 { c[ d e] } + \tuplet 3/2 { f[ e d] }| + c4 \tuplet 3/2 { r8 g'[( e)]} c4 + \tuplet 3/2 { r8 e[ ( c)]} | + g4 \tuplet 3/2 { r8 c8[( g)] } + \tuplet 3/2 { e[ ( g) e-. ] } + \tuplet 3/2 { c[ ( e) c-.] }| g4 r8 g'\f a[ b c d]| \afterGrace d1_(\trill { c16[ d] } c4) r r2 diff --git a/input/regression/part-combine-tuplet-end.ly b/input/regression/part-combine-tuplet-end.ly index a1636a7e6f..0c1c5ce195 100644 --- a/input/regression/part-combine-tuplet-end.ly +++ b/input/regression/part-combine-tuplet-end.ly @@ -5,14 +5,14 @@ even after a switch, a tuplet ends correctly." } -\version "2.16.0" +\version "2.17.11" \new Staff << \partcombine \relative c'' { r2 - \times 2/3 { g8[ g g] } - \times 2/3 { g[ g g] } g1 + \tuplet 3/2 { g8[ g g] } + \tuplet 3/2 { g[ g g] } g1 } \relative c'' { R1 g1 } >> diff --git a/input/regression/part-combine-tuplet-single.ly b/input/regression/part-combine-tuplet-single.ly index 37029bae09..1cdd5009e7 100644 --- a/input/regression/part-combine-tuplet-single.ly +++ b/input/regression/part-combine-tuplet-single.ly @@ -5,17 +5,17 @@ \paper { ragged-right = ##T } -\version "2.16.0" +\version "2.17.11" \score { << \new Staff { \partcombine \relative c'' { - \times 2/3 { d4 d d ~ } d2 + \tuplet 3/2 { d4 d d ~ } d2 } \relative c'' { - \times 2/3 { b4 a g ~ } g2 + \tuplet 3/2 { b4 a g ~ } g2 } } >> diff --git a/input/regression/phrasing-slur-tuplet.ly b/input/regression/phrasing-slur-tuplet.ly index 5be066d2ce..0f5aa8302a 100644 --- a/input/regression/phrasing-slur-tuplet.ly +++ b/input/regression/phrasing-slur-tuplet.ly @@ -1,4 +1,4 @@ -\version "2.16.0" +\version "2.17.11" \header { texidoc = "Phrasing slurs do not collide with tuplet numbers." @@ -6,7 +6,7 @@ \relative c'' { \voiceOne - \times 2/3 { + \tuplet 3/2 { c8\( b c } a2.\) diff --git a/input/regression/quote-transposition.ly b/input/regression/quote-transposition.ly index 438cdb822c..ceec1d58e5 100644 --- a/input/regression/quote-transposition.ly +++ b/input/regression/quote-transposition.ly @@ -5,8 +5,7 @@ texidoc = "Quotations take into account the transposition of both source and target. In this example, all instruments play sounding central C, the target is a instrument in F. The target part may be -@code{\\transpose}d. In this case, all the pitches (including the -quoted ones) will transposed as well. " +@code{\\transpose}d. The quoted pitches will stay unchanged." } diff --git a/input/regression/quote-tuplet-end.ly b/input/regression/quote-tuplet-end.ly index 55798ba5a2..c796d79b3e 100644 --- a/input/regression/quote-tuplet-end.ly +++ b/input/regression/quote-tuplet-end.ly @@ -3,12 +3,12 @@ texidoc ="Tuplet bracket ends properly when quoting." } -\version "2.16.0" +\version "2.17.11" \paper { ragged-right = ##t } \addQuote x { - \times 2/3 { a'8 a' a' } a'4 a'2 | + \tuplet 3/2 { a'8 a' a' } a'4 a'2 | } \new Staff << diff --git a/input/regression/quote-tuplet.ly b/input/regression/quote-tuplet.ly index 1b9d9f2833..420f8641ba 100644 --- a/input/regression/quote-tuplet.ly +++ b/input/regression/quote-tuplet.ly @@ -1,5 +1,5 @@ -\version "2.17.6" +\version "2.17.11" \header { @@ -9,7 +9,7 @@ } foo = \relative c' { - \times 2/3 { c4 c c } \times 2/3 { c4 c c } + \tuplet 3/2 { c4 c c } \tuplet 3/2 { c4 c c } } \addQuote "foo" { \foo } diff --git a/input/regression/repeat-slash-mixed.ly b/input/regression/repeat-slash-mixed.ly index 0daf8a185e..3c0decb5e3 100644 --- a/input/regression/repeat-slash-mixed.ly +++ b/input/regression/repeat-slash-mixed.ly @@ -1,4 +1,4 @@ -\version "2.16.0" +\version "2.17.11" \header { texidoc = "Beat repeats for patterns containing mixed durations use @@ -10,7 +10,7 @@ a double percent symbol." c8. 16 } \repeat percent 2 { - \times 2/3 { + \tuplet 3/2 { r8 d e } c4 diff --git a/input/regression/scheme-book-scores.ly b/input/regression/scheme-book-scores.ly index 5e24ef5f39..fd1609f1b6 100644 --- a/input/regression/scheme-book-scores.ly +++ b/input/regression/scheme-book-scores.ly @@ -1,4 +1,4 @@ -\version "2.16.0" +\version "2.17.11" \header { @@ -19,7 +19,7 @@ informations from top- and booklevel stack correctly." (let* ((scmpitch (ly:make-pitch 0 pitch 0)) (music (make-music 'EventChord 'elements (list (make-music 'NoteEvent - 'duration (ly:make-duration 2 0 1 1) + 'duration (ly:make-duration 2 0 1/1) 'pitch scmpitch)))) (score (scorify-music music parser)) (layout (ly:output-def-clone $defaultlayout)) diff --git a/input/regression/skiptypesetting-tuplet.ly b/input/regression/skiptypesetting-tuplet.ly index 8849fa4907..b2f6262915 100644 --- a/input/regression/skiptypesetting-tuplet.ly +++ b/input/regression/skiptypesetting-tuplet.ly @@ -7,15 +7,15 @@ } -\version "2.16.0" +\version "2.17.11" \paper { ragged-right = ##T } \new Staff \relative c' { \set Score.skipTypesetting = ##t - \times 2/3 { c8 c c } \times 2/3 { c c c } - \times 2/3 { c c c } \times 2/3 { c c c} + \tuplet 3/2 { c8 c c } \tuplet 3/2 { c c c } + \tuplet 3/2 { c c c } \tuplet 3/2 { c c c} \set Score.skipTypesetting = ##f d1 \break c diff --git a/input/regression/slur-shift-region.ly b/input/regression/slur-shift-region.ly index 5d3304f382..8a43894cd5 100644 --- a/input/regression/slur-shift-region.ly +++ b/input/regression/slur-shift-region.ly @@ -1,4 +1,4 @@ -\version "2.16.0" +\version "2.17.11" \header { texidoc = "A slur's shift region is automatically made @@ -6,5 +6,5 @@ higher to accommodate extra encompass elements." } \relative c' { - c'2( \times 2/3 { g4 e c) } + c'2( \tuplet 3/2 { g4 e c) } } diff --git a/input/regression/slur-tuplet.ly b/input/regression/slur-tuplet.ly index cfcf4397cc..202ea32713 100644 --- a/input/regression/slur-tuplet.ly +++ b/input/regression/slur-tuplet.ly @@ -5,7 +5,7 @@ This may not work if the slur starts after the tuplet. " } -\version "2.17.6" +\version "2.17.11" \paper { ragged-right = ##t @@ -17,7 +17,7 @@ This may not work if the slur starts after the tuplet. " \override TupletBracket.bracket-visibility = ##f \override Slur.details.region-size = #6 - \times 2/3 + \tuplet 3/2 { c( g' c,) } diff --git a/input/regression/song-reordering.ly b/input/regression/song-reordering.ly index 30a5d9b663..472c008dbd 100644 --- a/input/regression/song-reordering.ly +++ b/input/regression/song-reordering.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.17.11" \header { texidoc="Festival song synthesis output supports reordered lyrics. @@ -14,7 +14,7 @@ reordered lyrics. << \context Voice = alternative { \voiceOne - \times 2/3 { + \tuplet 3/2 { \override NoteColumn.force-hshift = #-3 f8 f g } diff --git a/input/regression/song-reordering2.ly b/input/regression/song-reordering2.ly index b958e5279d..5c5fec17ff 100644 --- a/input/regression/song-reordering2.ly +++ b/input/regression/song-reordering2.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.17.11" \header { texidoc="Festival song synthesis output supports reordered lyrics. @@ -19,7 +19,7 @@ reordered lyrics. } \context Voice = alternative { \voiceOne - \times 2/3 { + \tuplet 3/2 { \override NoteColumn.force-hshift = #-3 f8 f g } diff --git a/input/regression/spacing-loose-polyphony.ly b/input/regression/spacing-loose-polyphony.ly index 18f2ba4628..43fdb6e8d4 100644 --- a/input/regression/spacing-loose-polyphony.ly +++ b/input/regression/spacing-loose-polyphony.ly @@ -1,4 +1,4 @@ -\version "2.16.0" +\version "2.17.11" \header { texidoc = "Loose columns (here, the treble clef) are spaced @@ -8,7 +8,7 @@ correctly in polyphonic music. \new PianoStaff << \new Staff \relative c' { - \times 2/3 { g'4 a2 } + \tuplet 3/2 { g'4 a2 } } \new Staff \relative c' { \clef bass fis,,8 cis' diff --git a/input/regression/spacing-measure-length.ly b/input/regression/spacing-measure-length.ly index fa57806571..2400a0343a 100644 --- a/input/regression/spacing-measure-length.ly +++ b/input/regression/spacing-measure-length.ly @@ -6,7 +6,7 @@ This means that the 3/8 setting does not affect the whole rest spacing." } -\version "2.17.6" +\version "2.17.11" \layout { ragged-right = ##t @@ -18,7 +18,7 @@ This means that the 3/8 setting does not affect the whole rest spacing." } { \relative c' { \override Score.SpacingSpanner.uniform-stretching = ##t - \set Score.proportionalNotationDuration = #(ly:make-moment 4 25) + \set Score.proportionalNotationDuration = #(ly:make-moment 4/25) r1 \time 3/8 r4. } diff --git a/input/regression/spacing-multi-tuplet.ly b/input/regression/spacing-multi-tuplet.ly index 2ac5360241..bab9232a8d 100644 --- a/input/regression/spacing-multi-tuplet.ly +++ b/input/regression/spacing-multi-tuplet.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.17.11" \header{ @@ -18,12 +18,12 @@ hence it must be switched on explicitly with the \relative c' { \context StaffGroup << \new Staff \context Voice { - \times 2/10 { c8[ c c c c c c c c c] } - \times 2/10 { c[ c c c c c c c c c] } + \tuplet 10/2 { c8[ c c c c c c c c c] } + \tuplet 10/2 { c[ c c c c c c c c c] } } \new Staff \context Voice { - \times 2/11 { c8[ c c c c c c c c c c] } - \times 2/11 { c[ c c c c c c c c c c] } + \tuplet 11/2 { c8[ c c c c c c c c c c] } + \tuplet 11/2 { c[ c c c c c c c c c c] } } >> } diff --git a/input/regression/spacing-proportional.ly b/input/regression/spacing-proportional.ly index 9160af59af..73c13dcdf2 100644 --- a/input/regression/spacing-proportional.ly +++ b/input/regression/spacing-proportional.ly @@ -6,15 +6,15 @@ to the distance for the given duration." } -\version "2.16.0" +\version "2.17.11" \paper { ragged-right = ##t } \relative c'' << - \set Score.proportionalNotationDuration = #(ly:make-moment 1 16) + \set Score.proportionalNotationDuration = #(ly:make-moment 1/16) \new Staff { c8[ c c c c c] c4 c2 r2 } - \new Staff { c2 \times 2/3 { c8 c c } c4 c1 } + \new Staff { c2 \tuplet 3/2 { c8 c c } c4 c1 } >> diff --git a/input/regression/spacing-space-to-barline.ly b/input/regression/spacing-space-to-barline.ly index fb568a06d7..e1539e59b8 100644 --- a/input/regression/spacing-space-to-barline.ly +++ b/input/regression/spacing-space-to-barline.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.17.11" \header { texidoc = "When space-to-barline is false, we measure the space between the note and the @@ -9,7 +9,7 @@ the start of the barline." \paper {ragged-right = ##t} { - \override Score.SpacingSpanner.common-shortest-duration = #(ly:make-moment 1 16) + \override Score.SpacingSpanner.common-shortest-duration = #(ly:make-moment 1/16) c'2 \clef bass c'2 \clef treble \override NoteSpacing.space-to-barline = ##f c'2 \clef bass c'2 \clef treble diff --git a/input/regression/spacing-strict-notespacing.ly b/input/regression/spacing-strict-notespacing.ly index b8b3e0b178..cfe63c8bc8 100644 --- a/input/regression/spacing-strict-notespacing.ly +++ b/input/regression/spacing-strict-notespacing.ly @@ -9,7 +9,7 @@ time. This may cause collisions. " } -\version "2.17.6" +\version "2.17.11" \paper { ragged-right = ##t @@ -24,13 +24,13 @@ time. This may cause collisions. " \relative c'' << \override Score.SpacingSpanner.strict-note-spacing = ##t - \set Score.proportionalNotationDuration = #(ly:make-moment 1 16) + \set Score.proportionalNotationDuration = #(ly:make-moment 1/16) \new Staff { c8[ c \clef alto c c \grace { d16 } c8 c] c4 c2 \grace { c16[ c16] } c2 } \new Staff { - c2 \times 2/3 { c8 \clef bass cis,, c } + c2 \tuplet 3/2 { c8 \clef bass cis,, c } c4 c1 } diff --git a/input/regression/spacing-uniform-stretching.ly b/input/regression/spacing-uniform-stretching.ly index 57e284f6aa..16cd079404 100644 --- a/input/regression/spacing-uniform-stretching.ly +++ b/input/regression/spacing-uniform-stretching.ly @@ -6,7 +6,7 @@ } -\version "2.17.6" +\version "2.17.11" \relative c'' << @@ -15,7 +15,7 @@ c16[ c c c c c c c c c16] } \new Staff { - \times 6/7 { c16 c c cis c c c } + \tuplet 7/6 { c16 c c cis c c c } c8[ c32 c32 c16] } diff --git a/input/regression/spanner-break-overshoot.ly b/input/regression/spanner-break-overshoot.ly index 6f22cc6ddd..02ffba9a5c 100644 --- a/input/regression/spanner-break-overshoot.ly +++ b/input/regression/spanner-break-overshoot.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.17.11" \header { texidoc = "The @code{break-overshoot} property sets the amount that @@ -14,5 +14,5 @@ prefatory matter." \override TupletBracket.break-overshoot = #'(1.0 . 2.0) \override TupletBracket.bracket-visibility = ##t \override Beam.breakable = ##t - c2.. \times 2/3 { c8.[ \break c8.] } + c2.. \tuplet 3/2 { c8.[ \break c8.] } } diff --git a/input/regression/staff-mixed-size.ly b/input/regression/staff-mixed-size.ly index 1dd829a5d8..7e42a72a5c 100644 --- a/input/regression/staff-mixed-size.ly +++ b/input/regression/staff-mixed-size.ly @@ -7,7 +7,7 @@ large on smaller staves." } -\version "2.17.6" +\version "2.17.11" \layout { ragged-right = ##t @@ -15,7 +15,7 @@ large on smaller staves." melody = \relative c''' { \override DynamicText.extra-offset = #'(0 . 3) - s1-\f c8[(\< r a g]) e[ r d( ])\! \times 2/3 { d4 d d } + s1-\f c8[(\< r a g]) e[ r d( ])\! \tuplet 3/2 { d4 d d } } << diff --git a/input/regression/tablature-full-notation.ly b/input/regression/tablature-full-notation.ly index 2c40bba8e8..55f6547911 100644 --- a/input/regression/tablature-full-notation.ly +++ b/input/regression/tablature-full-notation.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.17.11" \header{ texidoc = "As default, tablature staves show only the fret numbers, because in most situations, they are combined with normal staves. @@ -18,7 +18,7 @@ tabstuff = { \ottava #1 r4 d'4 r8 e | \ottava #0 - \times 3/4 { b,4 c \glissando d\5 \glissando c } | + \tuplet 4/3 { b,4 c \glissando d\5 \glissando c } | c4. d-_( | e\varcoda-> ) \override TextSpanner.bound-details.left.text = "rit." f\startTextSpan | diff --git a/input/regression/tuplet-beam.ly b/input/regression/tuplet-beam.ly index e65cbd8d95..6b84baa674 100644 --- a/input/regression/tuplet-beam.ly +++ b/input/regression/tuplet-beam.ly @@ -1,5 +1,5 @@ -\version "2.16.0" +\version "2.17.11" \header { texidoc = "In combination with a beam, the bracket of the tuplet @@ -10,8 +10,8 @@ the bracket." \layout { ragged-right= ##t } \context Voice\relative c'' { - \times 2/3 { r c8[ c8] } - \times 2/3 { c8[ c c] } - \times 2/3 { c16[ c16] c8[ c8] } + \tuplet 3/2 { r c8[ c8] } + \tuplet 3/2 { c8[ c c] } + \tuplet 3/2 { c16[ c16] c8[ c8] } } diff --git a/input/regression/tuplet-bracket-avoid-fingering.ly b/input/regression/tuplet-bracket-avoid-fingering.ly index 4a164f83df..719851b26d 100644 --- a/input/regression/tuplet-bracket-avoid-fingering.ly +++ b/input/regression/tuplet-bracket-avoid-fingering.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.17.11" \header { texidoc = "@code{TupletBracket} grobs avoid @code{Fingering} grobs. @@ -7,5 +7,5 @@ \relative d'' { \override TupletBracket.direction = #UP - \times 2/3 { d4 a8-4 } + \tuplet 3/2 { d4 a8-4 } } diff --git a/input/regression/tuplet-bracket-avoid-scripts.ly b/input/regression/tuplet-bracket-avoid-scripts.ly index 8df61c5950..1cccccde46 100644 --- a/input/regression/tuplet-bracket-avoid-scripts.ly +++ b/input/regression/tuplet-bracket-avoid-scripts.ly @@ -1,4 +1,4 @@ -\version "2.16.0" +\version "2.17.11" \header { texidoc = "Tuplet brackets avoid scripts by default. @@ -6,5 +6,5 @@ } \relative c'' { - \times 2/3 { a8^\espressivo r a^\espressivo } + \tuplet 3/2 { a8^\espressivo r a^\espressivo } } diff --git a/input/regression/tuplet-bracket-avoid-string-number.ly b/input/regression/tuplet-bracket-avoid-string-number.ly index d92768ee44..62ce79a461 100644 --- a/input/regression/tuplet-bracket-avoid-string-number.ly +++ b/input/regression/tuplet-bracket-avoid-string-number.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.17.11" \header { texidoc = "@code{TupletBracket} grobs avoid @code{StringNumber} grobs. @@ -7,5 +7,5 @@ \relative d'' { \override TupletBracket.direction = #UP - \times 2/3 { d4 8 } + \tuplet 3/2 { d4 8 } } diff --git a/input/regression/tuplet-bracket-cross-staff.ly b/input/regression/tuplet-bracket-cross-staff.ly index 7f864fa85d..2e6c9d0f34 100644 --- a/input/regression/tuplet-bracket-cross-staff.ly +++ b/input/regression/tuplet-bracket-cross-staff.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.17.11" \paper { ragged-right = ##t @@ -17,12 +17,12 @@ even across multiple staves." } voice = { - \times 2/3 { b8 \change Staff=I c' d' } - \times 2/3 { d' c' \change Staff=II b } - \times 2/3 { \change Staff=III c, + \tuplet 3/2 { b8 \change Staff=I c' d' } + \tuplet 3/2 { d' c' \change Staff=II b } + \tuplet 3/2 { \change Staff=III c, \change Staff=II b \change Staff=I c' } - \times 2/3 { c'[ \change Staff=II b] c } + \tuplet 3/2 { c'[ \change Staff=II b] c } } \score { diff --git a/input/regression/tuplet-bracket-direction.ly b/input/regression/tuplet-bracket-direction.ly index ea8c1ea752..1713160738 100644 --- a/input/regression/tuplet-bracket-direction.ly +++ b/input/regression/tuplet-bracket-direction.ly @@ -1,4 +1,4 @@ -\version "2.16.0" +\version "2.17.11" \header { texidoc = "The direction of tuplet brackets is the direction @@ -8,13 +8,13 @@ to UP. } \relative c'' { - \times 2/3 { r r r } - \times 2/3 { r c r } - \times 2/3 { r a r } - \times 2/3 { c' f,, r } - \times 2/3 { f, c'' r } - \times 2/3 { a a c } - \times 2/3 { c c a } - \times 2/3 { a a a } - \times 2/3 { c c c } + \tuplet 3/2 { r r r } + \tuplet 3/2 { r c r } + \tuplet 3/2 { r a r } + \tuplet 3/2 { c' f,, r } + \tuplet 3/2 { f, c'' r } + \tuplet 3/2 { a a c } + \tuplet 3/2 { c c a } + \tuplet 3/2 { a a a } + \tuplet 3/2 { c c c } } diff --git a/input/regression/tuplet-bracket-outside-staff-priority.ly b/input/regression/tuplet-bracket-outside-staff-priority.ly index a8e54dcffb..ecfa6814f7 100644 --- a/input/regression/tuplet-bracket-outside-staff-priority.ly +++ b/input/regression/tuplet-bracket-outside-staff-priority.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.17.11" \header { texidoc = "Tuplet brackets' outside staff priority can be @@ -9,14 +9,14 @@ set. Brackets, by default, carry their numbers with them." \relative c'' { \override TupletBracket.avoid-scripts = ##f % Plain old tuplet - \times 2/3 { a8 r a } + \tuplet 3/2 { a8 r a } % With nothing set, collisions abound both horizontally and % vertically - \times 2/3 { a8^\espressivo r a^\espressivo } + \tuplet 3/2 { a8^\espressivo r a^\espressivo } % Setting the staff priority prevents collisions \override TupletBracket.outside-staff-priority = #1 - \times 2/3 { a8^\espressivo r a^\espressivo } + \tuplet 3/2 { a8^\espressivo r a^\espressivo } % Note that, with the outside-staff-priority set, this bracket % should be at the same vertical level as the first one - \times 2/3 { a8 r a } + \tuplet 3/2 { a8 r a } } diff --git a/input/regression/tuplet-bracket-vertical-skylines.ly b/input/regression/tuplet-bracket-vertical-skylines.ly index 160259135c..752f595128 100644 --- a/input/regression/tuplet-bracket-vertical-skylines.ly +++ b/input/regression/tuplet-bracket-vertical-skylines.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.17.11" \header { texidoc = "Tuplet brackets do not push objects with outside-staff-priority @@ -8,5 +8,5 @@ too high. \relative c' { \override TupletBracket.direction = #UP - \times 1/1 { a^"foo" a' a' a' } + \tuplet 1/1 { a^"foo" a' a' a' } } diff --git a/input/regression/tuplet-bracket-visibility.ly b/input/regression/tuplet-bracket-visibility.ly index 5de92d9563..1d4a986ac5 100644 --- a/input/regression/tuplet-bracket-visibility.ly +++ b/input/regression/tuplet-bracket-visibility.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.17.11" \header { texidoc = "The default behavior of tuplet-bracket visibility is to print a bracket @@ -21,9 +21,9 @@ unless there is a beam of the same length as the tuplet. Overriding } music = \relative c'' { - \times 2/3 { c16[ d e } f8] - \times 2/3 { c8 d e } - \times 2/3 { c4 d e } + \tuplet 3/2 { c16[ d e } f8] + \tuplet 3/2 { c8 d e } + \tuplet 3/2 { c4 d e } } \new Voice { diff --git a/input/regression/tuplet-broken.ly b/input/regression/tuplet-broken.ly index 25b50f359f..9021ead4b1 100644 --- a/input/regression/tuplet-broken.ly +++ b/input/regression/tuplet-broken.ly @@ -8,7 +8,7 @@ } -\version "2.17.6" +\version "2.17.11" \paper { ragged-right = ##t @@ -23,7 +23,7 @@ (markup #:fontsize 6 #:arrow-head X LEFT #f) (markup #:arrow-head X RIGHT #f)) - \times 11/19 { + \tuplet 19/11 { c4 c4 c4 c4 \bar "-" \break c4 c4 c4 c4 diff --git a/input/regression/tuplet-full-length-extent.ly b/input/regression/tuplet-full-length-extent.ly index 425604fd9c..f7cf547b16 100644 --- a/input/regression/tuplet-full-length-extent.ly +++ b/input/regression/tuplet-full-length-extent.ly @@ -4,16 +4,16 @@ attaching column for a full-length tuplet bracket can be ignored." } -\version "2.17.6" +\version "2.17.11" \new Staff { \set tupletFullLength = ##t \time 1/8 - \times 2/3 { c'16 c'16 c'16 } - \times 2/3 { c'16 c'16 c'16 } + \tuplet 3/2 { c'16 c'16 c'16 } + \tuplet 3/2 { c'16 c'16 c'16 } \override TupletBracket.full-length-to-extent = ##f - \times 2/3 { c'16 c'16 c'16 } + \tuplet 3/2 { c'16 c'16 c'16 } \override Score.RehearsalMark.break-visibility = ##(#t #t #t) \override Score.RehearsalMark.direction = #down \mark "xxxxxxxxxxxxxxxxxxxxxxx" diff --git a/input/regression/tuplet-full-length-note.ly b/input/regression/tuplet-full-length-note.ly index 9553f9101a..06806188b4 100644 --- a/input/regression/tuplet-full-length-note.ly +++ b/input/regression/tuplet-full-length-note.ly @@ -6,17 +6,17 @@ the next note, by setting @code{tupletFullLengthNote}." } -\version "2.16.0" +\version "2.17.11" \new RhythmicStaff { \set tupletFullLength = ##t \time 4/4 - \times 4/5 { + \tuplet 5/4 { c'4 c'1 } \set tupletFullLengthNote = ##t \time 2/4 - \times 2/3 { + \tuplet 3/2 { c4 c c } \time 3/4 diff --git a/input/regression/tuplet-full-length.ly b/input/regression/tuplet-full-length.ly index ac161cdfda..28c1c8f325 100644 --- a/input/regression/tuplet-full-length.ly +++ b/input/regression/tuplet-full-length.ly @@ -5,7 +5,7 @@ start of the next non-tuplet note. " } -\version "2.17.6" +\version "2.17.11" \paper { ragged-right = ##t indent = 0.0 } @@ -17,12 +17,12 @@ indent = 0.0 } { \set tupletFullLength = ##t c4 - \times 2/3 { c8[ c c] } - \times 2/3 { c8[ c \bar "-" \break c] } - << \times 2/3 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } + \tuplet 3/2 { c8[ c \bar "-" \break c] } + << \tuplet 3/2 { c8[ c c] } { s4*5/6 \bar "-" \break } >> c4 - \times 2/3 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } \bar "|." \key c\minor } diff --git a/input/regression/tuplet-gap.ly b/input/regression/tuplet-gap.ly index 1c75daa260..4bf91a6e4d 100644 --- a/input/regression/tuplet-gap.ly +++ b/input/regression/tuplet-gap.ly @@ -5,7 +5,7 @@ } -\version "2.17.6" +\version "2.17.11" \layout { indent = 0.0\mm @@ -15,6 +15,6 @@ \relative c'' { \override TupletNumber.text = #tuplet-number::calc-fraction-text - \times 17/12 { c8 c4 c8 c8} + \tuplet 12/17 { c8 c4 c8 c8} } diff --git a/input/regression/tuplet-nest-beam.ly b/input/regression/tuplet-nest-beam.ly index 65a5773794..a163eb262b 100644 --- a/input/regression/tuplet-nest-beam.ly +++ b/input/regression/tuplet-nest-beam.ly @@ -5,13 +5,13 @@ } -\version "2.16.0" +\version "2.17.11" \paper{ ragged-right=##t } { - \times 4/7 { - \times 4/5 { c'8 d' e' f' g' } a' b' c'' + \tuplet 7/4 { + \tuplet 5/4 { c'8 d' e' f' g' } a' b' c'' } } diff --git a/input/regression/tuplet-nest-broken.ly b/input/regression/tuplet-nest-broken.ly index 915e889039..33876e0034 100644 --- a/input/regression/tuplet-nest-broken.ly +++ b/input/regression/tuplet-nest-broken.ly @@ -1,5 +1,5 @@ -\version "2.17.6" +\version "2.17.11" \header { texidoc = "Broken nested tuplets avoid each other correctly. @@ -19,24 +19,24 @@ r2 - \times 4/3 { - \times 2/3 { c8[ c c] } - \times 2/3 { c8[ c c] } - \times 2/3 { c8[ c c] } + \tuplet 3/4 { + \tuplet 3/2 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } } - \times 4/3 { - \times 2/3 { a8[ a a] } - \times 2/3 { a8[ a a] } - \times 2/3 { a8[ a a] } + \tuplet 3/4 { + \tuplet 3/2 { a8[ a a] } + \tuplet 3/2 { a8[ a a] } + \tuplet 3/2 { a8[ a a] } } \override TupletNumber.text = #tuplet-number::calc-fraction-text - \times 4/6 { - \times 2/3 { + \tuplet 6/4 { + \tuplet 3/2 { a4 a a } - \times 3/5 { + \tuplet 5/3 { a4 a a a a } a4 diff --git a/input/regression/tuplet-nest.ly b/input/regression/tuplet-nest.ly index 3bba0989e7..093c57f289 100644 --- a/input/regression/tuplet-nest.ly +++ b/input/regression/tuplet-nest.ly @@ -1,5 +1,5 @@ -\version "2.17.6" +\version "2.17.11" \header { texidoc=" Tuplets may be nested." @@ -11,24 +11,24 @@ } \relative c'' { - \times 4/3 { - \times 2/3 { c8[ c c] } - \times 2/3 { c8[ c c] } - \times 2/3 { c8[ c c] } + \tuplet 3/4 { + \tuplet 3/2 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } } - \times 4/3 { - \times 2/3 { a8[ a a] } - \times 2/3 { a8[ a a] } - \times 2/3 { a8[ a a] } + \tuplet 3/4 { + \tuplet 3/2 { a8[ a a] } + \tuplet 3/2 { a8[ a a] } + \tuplet 3/2 { a8[ a a] } } \override TupletNumber.text = #tuplet-number::calc-fraction-text - \times 4/6 { - \times 2/3 { + \tuplet 6/4 { + \tuplet 3/2 { a4 a a } - \times 3/5 { + \tuplet 5/3 { a4 a a a a } } @@ -36,11 +36,11 @@ s1*1/6 \stemUp - \times 4/6 { - \times 2/3 { + \tuplet 6/4 { + \tuplet 3/2 { a1*1/6 a f' } - \times 3/5 { + \tuplet 5/3 { c f g a b } } diff --git a/input/regression/tuplet-no-stems.ly b/input/regression/tuplet-no-stems.ly index 095bf03ad5..c1c35d8817 100644 --- a/input/regression/tuplet-no-stems.ly +++ b/input/regression/tuplet-no-stems.ly @@ -3,7 +3,7 @@ } -\version "2.17.6" +\version "2.17.11" \layout{ \context{ @@ -19,7 +19,7 @@ } partition = { - \times 2/3 { f8 g a } + \tuplet 3/2 { f8 g a } } diff --git a/input/regression/tuplet-number-outside-staff-positioning.ly b/input/regression/tuplet-number-outside-staff-positioning.ly index f04ffcd154..8cdb353a6d 100644 --- a/input/regression/tuplet-number-outside-staff-positioning.ly +++ b/input/regression/tuplet-number-outside-staff-positioning.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.17.11" \header { @@ -13,5 +13,5 @@ positioned above them. \relative c'' { \override TupletBracket.outside-staff-priority = #1 \override TupletNumber.font-size = #5 - \times 2/3 { a4\trill a\trill^"foo" a\trill } + \tuplet 3/2 { a4\trill a\trill^"foo" a\trill } } \ No newline at end of file diff --git a/input/regression/tuplet-number-outside-staff-priority.ly b/input/regression/tuplet-number-outside-staff-priority.ly index 1e42072978..1a21d0cf77 100644 --- a/input/regression/tuplet-number-outside-staff-priority.ly +++ b/input/regression/tuplet-number-outside-staff-priority.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.17.11" \header { texidoc = "Tuplet numbers' outside staff priority can be @@ -8,9 +8,9 @@ set." \relative c'' { \override TupletBracket.avoid-scripts = ##f - \times 2/3 { a8\trill a\trill a\trill } + \tuplet 3/2 { a8\trill a\trill a\trill } \override TupletNumber.outside-staff-priority = #1 - \times 2/3 { a8\trill a\trill a\trill } + \tuplet 3/2 { a8\trill a\trill a\trill } \override Script.outside-staff-priority = #2 - \times 2/3 { a8\trill a\trill a\trill } + \tuplet 3/2 { a8\trill a\trill a\trill } } diff --git a/input/regression/tuplet-number-slur-script.ly b/input/regression/tuplet-number-slur-script.ly index b22f5ee35f..fa92b7cc43 100644 --- a/input/regression/tuplet-number-slur-script.ly +++ b/input/regression/tuplet-number-slur-script.ly @@ -1,4 +1,4 @@ -\version "2.16.0" +\version "2.17.11" \header { texidoc = "Tuplet number position is correct when slurs and scripts @@ -10,5 +10,5 @@ are present. { R1 | \break - \times 2/3 { e8(-> e e) } + \tuplet 3/2 { e8(-> e e) } } diff --git a/input/regression/tuplet-properties.ly b/input/regression/tuplet-properties.ly index 0b2bbd7cdc..f23ccc99d0 100644 --- a/input/regression/tuplet-properties.ly +++ b/input/regression/tuplet-properties.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.17.11" \header { texidoc = "Tuplet bracket formatting supports numerous options, @@ -8,31 +8,31 @@ for instance, bracketed (B) and non-bracketed (NB). \context Voice \relative c'' { - \times 2/3 { c'8 c,, c } - \times 2/3 { c'8 c'' c,, } + \tuplet 3/2 { c'8 c,, c } + \tuplet 3/2 { c'8 c'' c,, } - \times 2/3 { c8[^"NB" c c] } + \tuplet 3/2 { c8[^"NB" c c] } - \times 2/3 { c8^"B" c[ c] } - \times 2/4 { r8_"B" c,[ c'] r8 } + \tuplet 3/2 { c8^"B" c[ c] } + \tuplet 4/2 { r8_"B" c,[ c'] r8 } \override TupletBracket.bracket-visibility = #'if-no-beam - \times 2/3 { c8[ c c] } + \tuplet 3/2 { c8[ c c] } \tupletUp \override TupletNumber.stencil = ##f - \times 2/3 { c8^""^""^"up, no digit" c[ c] } + \tuplet 3/2 { c8^""^""^"up, no digit" c[ c] } \revert TupletNumber.stencil \override TupletBracket.bracket-visibility = ##t \override TupletBracket.edge-height = #'(0 . 0) \override TupletBracket.shorten-pair = #'(2.0 . 2.0) - \times 4/6 { c_"shorter, no edges" f b b f c} + \tuplet 6/4 { c_"shorter, no edges" f b b f c} \revert TupletBracket.edge-height \revert TupletBracket.shorten-pair \override TupletBracket.bracket-flare = #'(0.5 . 0.5) - \times 2/3 { b^""^""^"angled edges" b b } + \tuplet 3/2 { b^""^""^"angled edges" b b } \tupletNeutral - \times 2/3 { b b b } + \tuplet 3/2 { b b b } } diff --git a/input/regression/tuplet-rest.ly b/input/regression/tuplet-rest.ly index 14d3364cbc..beda1ec33e 100644 --- a/input/regression/tuplet-rest.ly +++ b/input/regression/tuplet-rest.ly @@ -1,5 +1,5 @@ -\version "2.16.0" +\version "2.17.11" \header { texidoc = "Tuplets may contain rests. " @@ -9,14 +9,14 @@ \context Voice \relative c'' { \time 2/4 - \times 2/3 { r c,,, c''' } - \times 2/3 { r c c } - \times 2/3 { r c r } - \times 2/3 { r r r } - \times 2/3 { r c e } - \times 2/3 { c r e } - \times 2/3 { r c g } - \times 2/3 { c r g } + \tuplet 3/2 { r c,,, c''' } + \tuplet 3/2 { r c c } + \tuplet 3/2 { r c r } + \tuplet 3/2 { r r r } + \tuplet 3/2 { r c e } + \tuplet 3/2 { c r e } + \tuplet 3/2 { r c g } + \tuplet 3/2 { c r g } } diff --git a/input/regression/tuplet-single-note.ly b/input/regression/tuplet-single-note.ly index 56509d27af..322a4d635b 100644 --- a/input/regression/tuplet-single-note.ly +++ b/input/regression/tuplet-single-note.ly @@ -4,14 +4,14 @@ texidoc = "Show tuplet numbers also on single-note tuplets (otherwise the timing would look messed up!), but don't show a bracket. Make sure that tuplets without any notes don't show any number, either." } -\version "2.16.0" +\version "2.17.11" \paper { ragged-right = ##t indent = 0.0 } \new Staff << \new Voice \relative c'' { - \times 4/6 { c2.:8 } \times 2/3 { g4.:8 } \times 2/3 { a,4.:8 } \times 4/6 {} \bar"|." + \tuplet 6/4 { c2.:8 } \tuplet 3/2 { g4.:8 } \tuplet 3/2 { a,4.:8 } \tuplet 6/4 {} \bar"|." } >> diff --git a/input/regression/tuplet-slope.ly b/input/regression/tuplet-slope.ly index cccb4ab56d..c112f0c9af 100644 --- a/input/regression/tuplet-slope.ly +++ b/input/regression/tuplet-slope.ly @@ -15,20 +15,20 @@ The bracket direction is determined by the dominating stem direction. ragged-right = ##t } -\version "2.16.0" +\version "2.17.11" \new Voice { \relative c'' { - \times 2/3 { c4 d e} - \times 2/3 { c4 d e} + \tuplet 3/2 { c4 d e} + \tuplet 3/2 { c4 d e} } \relative c' { - \times 4/5 { a'4 as g fis f } - \times 4/5 { fis4 e es d des } - \times 4/5 { fis,4 e es d des } - \times 4/5 { bes'''4 bes,, b c cis } - \times 4/5 { a''4 b b c cis } + \tuplet 5/4 { a'4 as g fis f } + \tuplet 5/4 { fis4 e es d des } + \tuplet 5/4 { fis,4 e es d des } + \tuplet 5/4 { bes'''4 bes,, b c cis } + \tuplet 5/4 { a''4 b b c cis } } } diff --git a/input/regression/tuplet-staffline-collision.ly b/input/regression/tuplet-staffline-collision.ly index 9ae2b584b1..8729d9747a 100644 --- a/input/regression/tuplet-staffline-collision.ly +++ b/input/regression/tuplet-staffline-collision.ly @@ -1,5 +1,5 @@ -\version "2.16.0" +\version "2.17.11" \header { texidoc = "Horizontal tuplet brackets are shifted vertically @@ -10,9 +10,9 @@ to avoid staff line collisions." \layout { ragged-right= ##t } \context Voice\relative c'' { - \times 2/3 { b'4 b b } - \times 2/3 { f4 f f } - \times 2/3 { g4 g g } - \times 2/3 { a4 a a } + \tuplet 3/2 { b'4 b b } + \tuplet 3/2 { f4 f f } + \tuplet 3/2 { g4 g g } + \tuplet 3/2 { a4 a a } } diff --git a/input/regression/tuplet-subdivision.ly b/input/regression/tuplet-subdivision.ly index 7a3b8b6f45..82fd4b9780 100644 --- a/input/regression/tuplet-subdivision.ly +++ b/input/regression/tuplet-subdivision.ly @@ -1,4 +1,4 @@ -\version "2.16.0" +\version "2.17.11" \header { @@ -9,9 +9,9 @@ Subdivision works properly for tuplets \relative c'' { \set subdivideBeams = ##t - \set baseMoment = #(ly:make-moment 1 8) + \set baseMoment = #(ly:make-moment 1/8) \set beatStructure = #'(2 2 2 2) \repeat unfold 8 { - \times 2/3 { c16 e d } + \tuplet 3/2 { c16 e d } } } diff --git a/input/regression/tuplet-text-different-numbers.ly b/input/regression/tuplet-text-different-numbers.ly index 5d6dac0cc3..7e01d344db 100644 --- a/input/regression/tuplet-text-different-numbers.ly +++ b/input/regression/tuplet-text-different-numbers.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.17.11" \header{ texidoc="Non-standard tuplet texts: Printing other tuplet fractions than the ones actually assigned." } @@ -7,9 +7,9 @@ \context Voice \relative c'' { \once \override TupletNumber.text = #(tuplet-number::non-default-tuplet-denominator-text 7) - \times 2/3 { c4. c4. c4. c4. } + \tuplet 3/2 { c4. c4. c4. c4. } \once \override TupletNumber.text = #(tuplet-number::non-default-tuplet-fraction-text 12 7) - \times 2/3 { c4. c4. c4. c4. } + \tuplet 3/2 { c4. c4. c4. c4. } \once \override TupletNumber.text = #(tuplet-number::append-note-wrapper (tuplet-number::non-default-tuplet-fraction-text 12 7) "8") - \times 2/3 { c4. c4. c4. c4. } + \tuplet 3/2 { c4. c4. c4. c4. } } diff --git a/input/regression/tuplet-text-fraction-with-notes.ly b/input/regression/tuplet-text-fraction-with-notes.ly index acf002a896..9a63ebdf45 100644 --- a/input/regression/tuplet-text-fraction-with-notes.ly +++ b/input/regression/tuplet-text-fraction-with-notes.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.17.11" \header{ texidoc="Non-standard tuplet texts: Printing a tuplet fraction with note durations assigned to both the denominator and the numerator." } @@ -6,7 +6,7 @@ \context Voice \relative c'' { \once \override TupletNumber.text = #(tuplet-number::fraction-with-notes "4." "8") - \times 2/3 { c4. c4. c4. c4. } + \tuplet 3/2 { c4. c4. c4. c4. } \once \override TupletNumber.text = #(tuplet-number::non-default-fraction-with-notes 12 "8" 4 "4") - \times 2/3 { c4. c4. c4. c4. } + \tuplet 3/2 { c4. c4. c4. c4. } } diff --git a/input/regression/tuplet-text-note-appended.ly b/input/regression/tuplet-text-note-appended.ly index aba3734726..c29e1f1997 100644 --- a/input/regression/tuplet-text-note-appended.ly +++ b/input/regression/tuplet-text-note-appended.ly @@ -1,4 +1,4 @@ -\version "2.17.6" +\version "2.17.11" \header{ texidoc="Non-standard tuplet texts: Appending a note value to the normal text and to the fraction text." } @@ -7,7 +7,7 @@ \context Voice \relative c'' { \once \override TupletNumber.text = #(tuplet-number::append-note-wrapper tuplet-number::calc-denominator-text "4") - \times 2/3 { c8 c8 c8 c8 c8 c8 } + \tuplet 3/2 { c8 c8 c8 c8 c8 c8 } \once \override TupletNumber.text = #(tuplet-number::append-note-wrapper tuplet-number::calc-fraction-text "4") - \times 2/3 { c8 c8 c8 c8 c8 c8 } + \tuplet 3/2 { c8 c8 c8 c8 c8 c8 } } diff --git a/input/regression/tuplets.ly b/input/regression/tuplets.ly index 97cfe1491e..c250c5bea4 100644 --- a/input/regression/tuplets.ly +++ b/input/regression/tuplets.ly @@ -1,5 +1,5 @@ -\version "2.17.6" +\version "2.17.11" \header{ texidoc=" @@ -20,16 +20,16 @@ direction as the bracket. The endings can be adjusted with \context Voice \relative c'' { - \times 2/3 { a8 b c } - \times 2/3 { r8 b[ f] } + \tuplet 3/2 { a8 b c } + \tuplet 3/2 { r8 b[ f] } \override TupletBracket.bracket-flare = #'(0.5 . 0.5) - \times 2/3 { r8 b r8 } + \tuplet 3/2 { r8 b r8 } c4 | - \times 3/4 { c4 c4 c4 c4 } c4 | + \tuplet 4/3 { c4 c4 c4 c4 } c4 | \time 6/8 - \times 6/9 { c8 c c c c c c c c } + \tuplet 9/6 { c8 c c c c c c c c } } diff --git a/lily/accidental-engraver.cc b/lily/accidental-engraver.cc index 12b9072238..ac525d27de 100644 --- a/lily/accidental-engraver.cc +++ b/lily/accidental-engraver.cc @@ -329,7 +329,11 @@ Accidental_engraver::make_standard_accidental (Stream_event * /* note */, if (!accidental_placement_) accidental_placement_ = make_item ("AccidentalPlacement", a->self_scm ()); - Accidental_placement::add_accidental (accidental_placement_, a); + + Accidental_placement::add_accidental + (accidental_placement_, a, + get_property ("accidentalGrouping") == ly_symbol2scm ("voice"), + (long) trans); note_head->set_object ("accidental-grob", a->self_scm ()); @@ -525,6 +529,7 @@ ADD_TRANSLATOR (Accidental_engraver, "internalBarNumber " "extraNatural " "harmonicAccidentals " + "accidentalGrouping " "keySignature " "localKeySignature ", diff --git a/lily/accidental-placement.cc b/lily/accidental-placement.cc index 169fe39fdd..1f2a943045 100644 --- a/lily/accidental-placement.cc +++ b/lily/accidental-placement.cc @@ -47,7 +47,7 @@ accidental_pitch (Grob *acc) } void -Accidental_placement::add_accidental (Grob *me, Grob *a) +Accidental_placement::add_accidental (Grob *me, Grob *a, bool stagger, long context_hash) { Pitch *p = accidental_pitch (a); if (!p) @@ -55,11 +55,12 @@ Accidental_placement::add_accidental (Grob *me, Grob *a) a->set_parent (me, X_AXIS); a->set_property ("X-offset", Grob::x_parent_positioning_proc); - int n = p->get_notename (); + long n = p->get_notename (); SCM accs = me->get_object ("accidental-grobs"); - SCM key = scm_from_int (n); - SCM entry = scm_assq (key, accs); + SCM key = scm_cons (scm_from_int (n), scm_from_long (stagger ? context_hash : 1)); + // assoc because we're dealing with pairs + SCM entry = scm_assoc (key, accs); if (entry == SCM_BOOL_F) entry = SCM_EOL; else @@ -67,7 +68,7 @@ Accidental_placement::add_accidental (Grob *me, Grob *a) entry = scm_cons (a->self_scm (), entry); - accs = scm_assq_set_x (accs, key, entry); + accs = scm_assoc_set_x (accs, key, entry); me->set_object ("accidental-grobs", accs); } @@ -129,6 +130,11 @@ Real ape_priority (Accidental_placement_entry const *a) bool ape_less (Accidental_placement_entry *const &a, Accidental_placement_entry *const &b) { + vsize size_a = a->grobs_.size (); + vsize size_b = b->grobs_.size (); + if (size_a != size_b) + return size_b < size_a; + return ape_priority (a) < ape_priority (b); } @@ -181,23 +187,42 @@ stagger_apes (vector *apes) vector asc = *apes; vector_sort (asc, &ape_less); + // we do the staggering below based on size + // this ensures that if a placement has 4 entries, it will + // always be closer to the NoteColumn than a placement with 1 + // this allows accidentals to be on-average closer to notes + // while still preserving octave alignment + vector > ascs; + + vsize sz = INT_MAX; + for (vsize i = 0; i < asc.size (); i++) + { + vsize my_sz = asc[i]->grobs_.size (); + if (sz != my_sz) + ascs.push_back (vector ()); + ascs.back ().push_back (asc[i]); + sz = my_sz; + } apes->clear (); - int parity = 1; - for (vsize i = 0; i < asc.size ();) + for (vsize i = 0; i < ascs.size (); i++) { - Accidental_placement_entry *a = 0; - if (parity) + int parity = 1; + for (vsize j = 0; j < ascs[i].size ();) { - a = asc.back (); - asc.pop_back (); - } - else - a = asc[i++]; + Accidental_placement_entry *a = 0; + if (parity) + { + a = ascs[i].back (); + ascs[i].pop_back (); + } + else + a = ascs[i][j++]; - apes->push_back (a); - parity = !parity; + apes->push_back (a); + parity = !parity; + } } reverse (*apes); diff --git a/lily/ambitus-engraver.cc b/lily/ambitus-engraver.cc index 92fee10a50..99d3f8a335 100644 --- a/lily/ambitus-engraver.cc +++ b/lily/ambitus-engraver.cc @@ -197,7 +197,7 @@ Ambitus_engraver::finalize () Separation_item::add_conditional_item (heads_[d], accidental_placement); Accidental_placement::add_accidental (accidental_placement, - accidentals_[d]); + accidentals_[d], false, 0); Pointer_group_interface::add_grob (ambitus_, ly_symbol2scm ("note-heads"), heads_[d]); diff --git a/lily/audio-item.cc b/lily/audio-item.cc index 201e8fd98e..895439e784 100644 --- a/lily/audio-item.cc +++ b/lily/audio-item.cc @@ -58,15 +58,41 @@ void Audio_note::tie_to (Audio_note *t, Moment skip) { tied_ = t; - Audio_note *first = t; - while (first->tied_) - first = first->tied_; + Audio_note *first = tie_head(); // Add the skip to the tied note and the length of the appended note // to the full duration of the tie... first->length_mom_ += skip + length_mom_; length_mom_ = 0; } +Audio_note * +Audio_note::tie_head () +{ + Audio_note *first = this; + while (first->tied_) + first = first->tied_; + return first; +} + +string +Audio_note::to_string () const +{ + string s = "#to_string(); + } + if (tie_event_) + { + s += " tie_event"; + } + s += ">"; + return s; +} + Audio_key::Audio_key (int acc, bool major) { accidentals_ = acc; diff --git a/lily/axis-group-engraver.cc b/lily/axis-group-engraver.cc index 3823c34984..a19ab52af8 100644 --- a/lily/axis-group-engraver.cc +++ b/lily/axis-group-engraver.cc @@ -17,9 +17,10 @@ along with LilyPond. If not, see . */ -#include "axis-group-engraver.hh" +#include "engraver.hh" #include "axis-group-interface.hh" +#include "hara-kiri-group-spanner.hh" #include "pointer-group-interface.hh" #include "context.hh" #include "international.hh" @@ -28,11 +29,43 @@ #include "translator.icc" +/** + Put stuff in a Spanner with an Axis_group_interface. + Use as last element of a context. +*/ +class Axis_group_engraver : public Engraver +{ +protected: + Spanner *staffline_; + SCM interesting_; + vector elts_; + void process_music (); + virtual void finalize (); + DECLARE_ACKNOWLEDGER (grob); + void process_acknowledged (); + virtual Spanner *get_spanner (); + virtual void add_element (Grob *); + virtual bool must_be_last () const; + virtual void derived_mark () const; + +public: + TRANSLATOR_DECLARATIONS (Axis_group_engraver); +}; + + Axis_group_engraver::Axis_group_engraver () { staffline_ = 0; + interesting_ = SCM_EOL; +} + +void +Axis_group_engraver::derived_mark () const +{ + scm_gc_mark (interesting_); } + bool Axis_group_engraver::must_be_last () const { @@ -48,6 +81,7 @@ Axis_group_engraver::process_music () Grob *it = unsmob_grob (get_property ("currentCommandColumn")); staffline_->set_bound (LEFT, it); } + interesting_ = get_property ("keepAliveInterfaces"); } Spanner * @@ -82,6 +116,15 @@ Axis_group_engraver::acknowledge_grob (Grob_info i) return; } elts_.push_back (i.grob ()); + + if (staffline_ && to_boolean(staffline_->get_property("remove-empty"))) + { + for (SCM s = interesting_; scm_is_pair (s); s = scm_cdr (s)) + { + if (i.grob ()->internal_has_interface (scm_car (s))) + Hara_kiri_group_spanner::add_interesting_item (staffline_, i.grob ()); + } + } } /* @@ -131,7 +174,8 @@ ADD_TRANSLATOR (Axis_group_engraver, "VerticalAxisGroup ", /* read */ - "currentCommandColumn ", + "currentCommandColumn " + "keepAliveInterfaces ", /* write */ "" diff --git a/lily/box-quarantine.cc b/lily/box-quarantine.cc deleted file mode 100644 index dff8587601..0000000000 --- a/lily/box-quarantine.cc +++ /dev/null @@ -1,107 +0,0 @@ -/* - This file is part of LilyPond, the GNU music typesetter. - - Copyright (C) 2011--2012 Mike Solomon - 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 - 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 "box-quarantine.hh" -#include - -Box_quarantine::Box_quarantine (Real padding, Axis a) - : padding_ (padding), a_ (a) -{ -} - -void -Box_quarantine::add_box_to_quarantine (Box infected) -{ - Box nbox (infected); - nbox[a_].widen (padding_ / 2); - boxes_to_quarantine_.push_back (nbox); -} - -vector -Box_quarantine::quarantined_boxes () -{ - return boxes_to_quarantine_; -} - -struct Intersection_info -{ - vsize index_; - Real amount_; - int mid_; - Intersection_info (vsize index, Real amount, int mid); -}; - -Intersection_info::Intersection_info (vsize index, Real amount, int mid) - : index_ (index), amount_ (amount), mid_ (mid) -{ -} - -/* - boxes_to_quarantine_ contains a vector of boxes that may - or may not overlap. it iterates through these boxes, - pushing quarantined_boxes_ epsilon over or epsilon under a - collision. when this type of change happens, the loop is marked - as "dirty" and re-iterated. - - TODO: not sure if this loop causes infinite behavior... -*/ - -bool -sort_towards_middle(Intersection_info ii0, Intersection_info ii1) -{ - // ugh...with C++11, we'll just be able to do a factory instead of - // bundling mid with the Intersection_info - int mid = ii0.mid_; - assert ((double)(ii0.index_ - mid) >= 0.0); - assert ((double)(ii1.index_ - mid) >= 0.0); - return fabs (ii0.index_ - mid) < fabs (ii1.index_ - mid); -} - -void -Box_quarantine::solve () -{ - int mid = boxes_to_quarantine_.size () / 2; - Real epsilon = 1.0e-4; - bool dirty = false; - do - { - dirty = false; - vector ii; - for (vsize i = 0; i < boxes_to_quarantine_.size () - 1; i++) - { - Box scratch (boxes_to_quarantine_[i]); - scratch.intersect (boxes_to_quarantine_[i + 1]); - if (!scratch.is_empty ()) - ii.push_back (Intersection_info (i, scratch[a_].length (), mid)); - } - vector_sort (ii, sort_towards_middle); - if (ii.size () > 0) - { - Offset shift (-(epsilon + ii[0].amount_ / 2.0), 0.0); - if (a_ == Y_AXIS) - shift = shift.swapped (); - boxes_to_quarantine_[ii[0].index_].translate (shift); - shift[a_] = -shift[a_]; - boxes_to_quarantine_[ii[0].index_ + 1].translate (shift); - dirty = true; - } - } - while (dirty); -} diff --git a/lily/context.cc b/lily/context.cc index 90b41c155e..d2c93155a5 100644 --- a/lily/context.cc +++ b/lily/context.cc @@ -160,8 +160,29 @@ Context::find_create_context (SCM n, string id, SCM operations) Don't create multiple score contexts. */ Global_context *gthis = dynamic_cast (this); - if (gthis && gthis->get_score_context ()) - return gthis->get_score_context ()->find_create_context (n, id, operations); + if (gthis) + { + if (gthis->get_score_context ()) + return gthis->get_score_context ()->find_create_context (n, id, operations); + + // Special case: If we use \set Timing.xxx = whatever before + // Score is established, the alias of Score to Timing will not + // be taken into account. We check for this particular case + // here. Aliases apart from Score-level ones don't warrant + // context creation as they could create unwanted contexts, like + // RhythmicVoice instead of Voice. Creating a Score context, + // however, can't really do anything wrong. + + SCM score_name = default_child_context_name (); + SCM score_def = find_context_def (get_output_def (), score_name); + + if (Context_def *cd = unsmob_context_def (score_def)) + { + if (cd->is_alias (n)) + return create_context (cd, id, operations); + } + } + if (Context *existing = find_context_below (this, n, id)) return existing; diff --git a/lily/fingering-column.cc b/lily/fingering-column.cc index 76c7bd3b89..1cc6c12b11 100644 --- a/lily/fingering-column.cc +++ b/lily/fingering-column.cc @@ -19,35 +19,11 @@ #include "grob.hh" #include "fingering-column.hh" -#include "box-quarantine.hh" #include "pointer-group-interface.hh" #include "staff-symbol-referencer.hh" #include "item.hh" #include "paper-column.hh" -#include - -// The sorting algorithm may not preserve the order of the -// original fingerings. We use Fingering_position_info to retain -// this order. - -struct Fingering_position_info { - Box box_; - vsize idx_; - Fingering_position_info (Box, vsize); -}; - -Fingering_position_info::Fingering_position_info (Box box, vsize idx) - : box_ (box), idx_ (idx) -{ -} - -bool -fingering_position_less (Fingering_position_info fpi0, Fingering_position_info fpi1) -{ - return Interval::left_less (fpi0.box_[Y_AXIS], fpi1.box_[Y_AXIS]); -} - MAKE_SCHEME_CALLBACK (Fingering_column, calc_positioning_done, 1); SCM Fingering_column::calc_positioning_done (SCM smob) @@ -56,8 +32,6 @@ Fingering_column::calc_positioning_done (SCM smob) if (!me->is_live ()) return SCM_BOOL_T; - map shifted; - me->set_property ("positioning-done", SCM_BOOL_T); extract_grob_set (me, "fingerings", const_fingerings); @@ -77,32 +51,43 @@ Fingering_column::calc_positioning_done (SCM smob) common_refpoint_of_array (fingerings, me, Y_AXIS)}; Real padding = robust_scm2double (me->get_property ("padding"), 0.2); - Box_quarantine bq (padding, Y_AXIS); - vector origs; - for (vsize i = 0; i < fingerings.size (); i++) - { - Interval x_ext = fingerings[i]->extent (common[X_AXIS], X_AXIS); - // center on Y parent - fingerings[i]->translate_axis (-fingerings[i]->extent (fingerings[i], Y_AXIS).length () / 2.0, Y_AXIS); - Interval y_ext = fingerings[i]->extent (fingerings[i], Y_AXIS) - + fingerings[i]->get_parent (Y_AXIS) - ->relative_coordinate (common[Y_AXIS], Y_AXIS); - origs.push_back(Fingering_position_info (Box (x_ext, y_ext), i)); - } // order the fingerings from bottom to top - vector_sort (origs, fingering_position_less); - - for (vsize i = 0; i < origs.size (); i++) - bq.add_box_to_quarantine (Box (origs[i].box_)); + vector_sort (fingerings, pure_position_less); + + vector shift(fingerings.size()); + + // Try stacking the fingerings top-to-bottom, and then bottom-to-top. + // Use the average of the resulting stacked locations as the final positions + for (UP_and_DOWN (d)) + { + Real stack_end = -d * infinity_f; + Interval prev_x_ext; + for (vsize i = (d == UP)? 0 : fingerings.size() - 1; + i < fingerings.size (); + i += d) + { + Interval x_ext = fingerings[i]->extent(common[X_AXIS], X_AXIS); + Interval y_ext = fingerings[i]->extent(fingerings[i], Y_AXIS); + Real parent_y = fingerings[i]->get_parent(Y_AXIS) + ->relative_coordinate(common[Y_AXIS], Y_AXIS); + + // Checking only between sequential neighbors, seems good enough + if (!intersection(x_ext, prev_x_ext).is_empty()) + stack_end += d * (y_ext.length() + padding); + // minmax() returns whichever is further along in direction d + stack_end = minmax(d, stack_end, parent_y); + + shift[i] += 0.5 * (stack_end - y_ext[d] - parent_y); + + prev_x_ext = x_ext; + } + } - bq.solve (); - vector news (bq.quarantined_boxes ()); - - for (vsize i = 0; i < origs.size (); i++) - fingerings[origs[i].idx_]->translate_axis (news[i][Y_AXIS][DOWN] - origs[i].box_[Y_AXIS][DOWN], Y_AXIS); + for (vsize i = 0; i < fingerings.size (); i++) + fingerings[i]->translate_axis(shift[i], Y_AXIS); - return SCM_BOOL_T; + return SCM_BOOL_T; } void diff --git a/lily/fingering-engraver.cc b/lily/fingering-engraver.cc index 2571ac1d70..56d7b3257e 100644 --- a/lily/fingering-engraver.cc +++ b/lily/fingering-engraver.cc @@ -123,13 +123,10 @@ Fingering_engraver::make_script (Direction d, Stream_event *r, int i) fingering->set_property ("script-priority", scm_from_int (priority)); - if (!is_direction (fingering->get_property_data ("direction"))) - { - if (d) - fingering->set_property ("direction", scm_from_int (d)); - else - fingering->set_property ("direction", scm_from_int (RIGHT)); - } + if (d) + fingering->set_property ("direction", scm_from_int (d)); + else if (!is_direction (fingering->get_property_data ("direction"))) + fingering->set_property ("direction", scm_from_int (UP)); fingerings_.push_back (fingering); } diff --git a/lily/hara-kiri-engraver.cc b/lily/hara-kiri-engraver.cc deleted file mode 100644 index 243d9cbaf5..0000000000 --- a/lily/hara-kiri-engraver.cc +++ /dev/null @@ -1,105 +0,0 @@ -/* - This file is part of LilyPond, the GNU music typesetter. - - Copyright (C) 2005--2012 Han-Wen Nienhuys - - 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 "axis-group-engraver.hh" -#include "hara-kiri-group-spanner.hh" -#include "rhythmic-head.hh" -#include "spanner.hh" - -#include "translator.icc" - -/* - TODO: fold together with axis_group_engraver? - */ - -class Hara_kiri_engraver : public Axis_group_engraver -{ -protected: - virtual Spanner *get_spanner (); - DECLARE_ACKNOWLEDGER (grob); - virtual void add_element (Grob *e); - void process_music (); - virtual void derived_mark () const; - SCM interesting_; -public: - TRANSLATOR_DECLARATIONS (Hara_kiri_engraver); -}; - -Hara_kiri_engraver::Hara_kiri_engraver () -{ - interesting_ = SCM_EOL; -} - -void -Hara_kiri_engraver::derived_mark () const -{ - scm_gc_mark (interesting_); -} - -void -Hara_kiri_engraver::process_music () -{ - Axis_group_engraver::process_music (); - interesting_ = get_property ("keepAliveInterfaces"); -} - -void -Hara_kiri_engraver::add_element (Grob *e) -{ - Axis_group_engraver::add_element (e); -} - -Spanner * -Hara_kiri_engraver::get_spanner () -{ - Spanner *sp = make_spanner ("VerticalAxisGroup", SCM_EOL); - return sp; -} - -void -Hara_kiri_engraver::acknowledge_grob (Grob_info i) -{ - Axis_group_engraver::acknowledge_grob (i); - if (staffline_) - { - for (SCM s = interesting_; scm_is_pair (s); s = scm_cdr (s)) - { - if (i.grob ()->internal_has_interface (scm_car (s))) - Hara_kiri_group_spanner::add_interesting_item (staffline_, i.grob ()); - } - } -} - -ADD_ACKNOWLEDGER (Hara_kiri_engraver, grob); -ADD_TRANSLATOR (Hara_kiri_engraver, - /* doc */ - "Like @code{Axis_group_engraver}, but make a hara-kiri" - " spanner, and add interesting items (i.e., note heads, lyric" - " syllables, and normal rests).", - - /* create */ - "VerticalAxisGroup ", - - /* read */ - "keepAliveInterfaces ", - - /* write */ - "" - ); - diff --git a/lily/include/accidental-placement.hh b/lily/include/accidental-placement.hh index fa0902e1ae..08ba1e163f 100644 --- a/lily/include/accidental-placement.hh +++ b/lily/include/accidental-placement.hh @@ -27,7 +27,7 @@ class Accidental_placement { public: DECLARE_SCHEME_CALLBACK (alignment_callback, (SCM element)); - static void add_accidental (Grob *, Grob *); + static void add_accidental (Grob *, Grob *, bool, long); static vector get_relevant_accidentals (vector const &elts, Grob *left); static void split_accidentals (Grob *accs, diff --git a/lily/include/audio-item.hh b/lily/include/audio-item.hh index 45dcc7b799..5e5d499fbd 100644 --- a/lily/include/audio-item.hh +++ b/lily/include/audio-item.hh @@ -86,6 +86,8 @@ public: // with tieWaitForNote, there might be a skip between the tied notes! void tie_to (Audio_note *, Moment skip = 0); + Audio_note *tie_head (); + virtual string to_string () const; Pitch pitch_; Moment length_mom_; diff --git a/lily/include/axis-group-engraver.hh b/lily/include/axis-group-engraver.hh deleted file mode 100644 index 9f87aa3e52..0000000000 --- a/lily/include/axis-group-engraver.hh +++ /dev/null @@ -1,45 +0,0 @@ -/* - This file is part of LilyPond, the GNU music typesetter. - - Copyright (C) 2005--2012 Han-Wen Nienhuys - - 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 AXIS_GROUP_ENGRAVER_HH -#define AXIS_GROUP_ENGRAVER_HH - -#include "engraver.hh" - -/** - Put stuff in a Spanner with an Axis_group_interface. - Use as last element of a context. -*/ -class Axis_group_engraver : public Engraver -{ -protected: - Spanner *staffline_; - vector elts_; - void process_music (); - virtual void finalize (); - DECLARE_ACKNOWLEDGER (grob); - void process_acknowledged (); - virtual Spanner *get_spanner (); - virtual void add_element (Grob *); - virtual bool must_be_last () const; - -public: - TRANSLATOR_DECLARATIONS (Axis_group_engraver); -}; -#endif /* AXIS_GROUP_ENGRAVER_HH */ diff --git a/lily/include/box-quarantine.hh b/lily/include/box-quarantine.hh deleted file mode 100644 index 3673a959bd..0000000000 --- a/lily/include/box-quarantine.hh +++ /dev/null @@ -1,41 +0,0 @@ -/* - This file is part of LilyPond, the GNU music typesetter. - - Copyright (C) 2012 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 - 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 BOX_QUARANTINE_HH -#define BOX_QUARANTINE_HH - -#include "lily-proto.hh" -#include "std-vector.hh" -#include "box.hh" - -class Box_quarantine -{ -public: - Box_quarantine (Real, Axis); - void add_box_to_quarantine (Box); - void solve (); - vector quarantined_boxes (); - -private: - vector boxes_to_quarantine_; - Real padding_; - Axis a_; -}; - -#endif // BOX_QUARANTINE_HH diff --git a/lily/include/lily-lexer.hh b/lily/include/lily-lexer.hh index 8da2807266..08701c9827 100644 --- a/lily/include/lily-lexer.hh +++ b/lily/include/lily-lexer.hh @@ -50,6 +50,7 @@ private: SCM scopes_; SCM start_module_; int hidden_state_; + Input override_input_; SCM eval_scm (SCM, char extra_token = 0); public: SCM eval_scm_token (SCM sval) { return eval_scm (sval, '#'); } @@ -69,7 +70,7 @@ public: Input last_input_; Lily_lexer (Sources *, Lily_parser *); - Lily_lexer (Lily_lexer const &, Lily_parser *); + Lily_lexer (Lily_lexer const &, Lily_parser *, SCM); int yylex (); void add_lexed_char (int); @@ -77,6 +78,7 @@ public: void prepare_for_next_token (); int try_special_identifiers (SCM *, SCM); Input here_input () const; + Input const &override_input (Input const &) const; void add_scope (SCM); SCM set_current_scope (); diff --git a/lily/include/lily-parser.hh b/lily/include/lily-parser.hh index 810076c8a2..03556ab01e 100644 --- a/lily/include/lily-parser.hh +++ b/lily/include/lily-parser.hh @@ -54,7 +54,8 @@ public: bool ignore_version_b_; Lily_parser (Sources *sources); - Lily_parser (Lily_parser const &, SCM closures = SCM_EOL); + Lily_parser (Lily_parser const &, SCM closures = SCM_EOL, + SCM location = SCM_BOOL_F); DECLARE_SCHEME_CALLBACK (layout_description, ()); diff --git a/lily/include/lily-proto.hh b/lily/include/lily-proto.hh index 9ecb1b44aa..e726c4abe5 100644 --- a/lily/include/lily-proto.hh +++ b/lily/include/lily-proto.hh @@ -80,7 +80,6 @@ class Grace_music; class Grob; class Grob_array; class Grob_info; -class Hara_kiri_engraver; class Hara_kiri_line_group_engraver; class Includable_lexer; class Input; diff --git a/lily/include/smobs.hh b/lily/include/smobs.hh index fb4fa530ee..bb703e9503 100644 --- a/lily/include/smobs.hh +++ b/lily/include/smobs.hh @@ -40,9 +40,23 @@ Simple smobs are created by adding the DECLARE_SIMPLE_SMOBS(Classname) to the declaration + A simple smob is only optionally under the reign of the GUILE + garbage collector: its usual life time is that of a normal C++ + object. While a smobbed_copy () is fully under control of the + garbage collector and will have its mark_smob function called during + garbage collection, an automatic variable of this type will not have + mark_smob called, but rather have its memory image in the call stack + scanned for contained non-immediate SCM values. Anything requiring + more complex mark_smob behavior is not suitable for a simple smob. + + When you create a smobbed_copy, the _copy_ is fully managed by the + GUILE memory system. As a corollary, multiple smobbed_copy calls + yield multiple GUILE objects generally not eq? to each other. + 2. Complex smobs are objects that have an identity. These objects carry this identity in the form of a self_scm () method, which is a - SCM pointer to the object itself. + SCM pointer to the object itself. Complex smobs are always under + control of the GUILE memory system. The constructor for a complex smob should have 3 steps: diff --git a/lily/lexer.ll b/lily/lexer.ll index 9b1d6eb5aa..c1d3dd86a5 100644 --- a/lily/lexer.ll +++ b/lily/lexer.ll @@ -314,7 +314,7 @@ BOM_UTF8 \357\273\277 yy_push_state (state); } else - error (_ ("\\maininput not allowed outside init files")); + LexerError (_ ("\\maininput not allowed outside init files").c_str ()); } \\include { @@ -374,8 +374,8 @@ BOM_UTF8 \357\273\277 } \"[^""]* { // backup rule - error (_ ("end quote missing")); - exit (1); + LexerError (_ ("end quote missing").c_str ()); + yy_pop_state (); } /* Flex picks the longest matching pattern including trailing diff --git a/lily/lily-lexer.cc b/lily/lily-lexer.cc index c529da7c43..c196808a2f 100644 --- a/lily/lily-lexer.cc +++ b/lily/lily-lexer.cc @@ -106,7 +106,8 @@ Lily_lexer::Lily_lexer (Sources *sources, Lily_parser *parser) chordmodifier_tab_ = scm_make_vector (scm_from_int (1), SCM_EOL); } -Lily_lexer::Lily_lexer (Lily_lexer const &src, Lily_parser *parser) +Lily_lexer::Lily_lexer (Lily_lexer const &src, Lily_parser *parser, + SCM override_input) : Includable_lexer () { parser_ = parser; @@ -122,6 +123,8 @@ Lily_lexer::Lily_lexer (Lily_lexer const &src, Lily_parser *parser) main_input_level_ = 0; extra_tokens_ = SCM_EOL; + if (unsmob_input (override_input)) + override_input_ = *unsmob_input (override_input); smobify_self (); @@ -335,6 +338,13 @@ Lily_lexer::here_input () const return Input (*lexloc_); } +Input const & +Lily_lexer::override_input (Input const &in) const +{ + return override_input_.get_source_file () + ? override_input_ : in; +} + void Lily_lexer::prepare_for_next_token () { diff --git a/lily/lily-parser-scheme.cc b/lily/lily-parser-scheme.cc index 059cac3149..74d3feb653 100644 --- a/lily/lily-parser-scheme.cc +++ b/lily/lily-parser-scheme.cc @@ -146,11 +146,12 @@ LY_DEFINE (ly_parser_lexer, "ly:parser-lexer", } LY_DEFINE (ly_parser_clone, "ly:parser-clone", - 1, 1, 0, (SCM parser_smob, SCM closures), + 1, 2, 0, (SCM parser_smob, SCM closures, SCM location), "Return a clone of @var{parser-smob}. An association list" " of port positions to closures can be specified in @var{closures}" " in order to have @code{$} and @code{#} interpreted in their original" - " lexical environment.") + " lexical environment. If @var{location} is a valid location," + " it becomes the source of all music expressions inside.") { LY_ASSERT_SMOB (Lily_parser, parser_smob, 1); Lily_parser *parser = unsmob_lily_parser (parser_smob); @@ -158,7 +159,7 @@ LY_DEFINE (ly_parser_clone, "ly:parser-clone", closures = SCM_EOL; else LY_ASSERT_TYPE (ly_is_list, closures, 2); - Lily_parser *clone = new Lily_parser (*parser, closures); + Lily_parser *clone = new Lily_parser (*parser, closures, location); return clone->unprotect (); } diff --git a/lily/lily-parser.cc b/lily/lily-parser.cc index 550f6fb847..1b78abaed0 100644 --- a/lily/lily-parser.cc +++ b/lily/lily-parser.cc @@ -53,7 +53,7 @@ Lily_parser::Lily_parser (Sources *sources) lexer_->unprotect (); } -Lily_parser::Lily_parser (Lily_parser const &src, SCM closures) +Lily_parser::Lily_parser (Lily_parser const &src, SCM closures, SCM location) { lexer_ = 0; sources_ = src.sources_; @@ -65,10 +65,9 @@ Lily_parser::Lily_parser (Lily_parser const &src, SCM closures) smobify_self (); if (src.lexer_) { - lexer_ = new Lily_lexer (*src.lexer_, this); + lexer_ = new Lily_lexer (*src.lexer_, this, location); + lexer_->unprotect (); } - - lexer_->unprotect (); } Lily_parser::~Lily_parser () diff --git a/lily/midi-walker.cc b/lily/midi-walker.cc index 6d0b1290a3..b97630b0d1 100644 --- a/lily/midi-walker.cc +++ b/lily/midi-walker.cc @@ -178,7 +178,8 @@ void Midi_walker::process () { Audio_item *audio = items_[index_]; - do_stop_notes (audio->audio_column_->ticks ()); + Audio_column *col = audio->get_column (); + do_stop_notes (col->ticks ()); if (Midi_item *midi = get_midi (audio)) { diff --git a/lily/note-performer.cc b/lily/note-performer.cc index 01086620ef..b0a81195c7 100644 --- a/lily/note-performer.cc +++ b/lily/note-performer.cc @@ -86,15 +86,18 @@ Note_performer::process_music () notes_.push_back (p); /* - shorten previous note. + Shorten previous note. If it was part of a tie, shorten + the first note in the tie. */ if (now_mom ().grace_part_) { if (last_start_.grace_part_ == Rational (0)) { for (vsize i = 0; i < last_notes_.size (); i++) - last_notes_[i]->length_mom_ += Moment (0, - now_mom ().grace_part_); + { + Audio_note *tie_head = last_notes_[i]->tie_head (); + tie_head->length_mom_ += Moment (0, now_mom ().grace_part_); + } } } } diff --git a/lily/parser.yy b/lily/parser.yy index 37d5fa4e77..3f4faf5d7c 100644 --- a/lily/parser.yy +++ b/lily/parser.yy @@ -194,7 +194,9 @@ while (0) %{ -#define MY_MAKE_MUSIC(x, spot) make_music_with_input (ly_symbol2scm (x), spot) +#define MY_MAKE_MUSIC(x, spot) \ + make_music_with_input (ly_symbol2scm (x), \ + parser->lexer_->override_input (spot)) /* ES TODO: - Don't use lily module, create a new module instead. @@ -203,12 +205,12 @@ while (0) #define LOWLEVEL_MAKE_SYNTAX(proc, args) \ scm_apply_0 (proc, args) /* Syntactic Sugar. */ -#define MAKE_SYNTAX(name, location, ...) \ - LOWLEVEL_MAKE_SYNTAX (ly_lily_module_constant (name), scm_list_n (parser->self_scm (), make_input (location) , ##__VA_ARGS__, SCM_UNDEFINED)) +#define MAKE_SYNTAX(name, location, ...) \ + LOWLEVEL_MAKE_SYNTAX (ly_lily_module_constant (name), scm_list_n (parser->self_scm (), make_input (parser->lexer_->override_input (location)), ##__VA_ARGS__, SCM_UNDEFINED)) #define START_MAKE_SYNTAX(name, ...) \ scm_list_n (ly_lily_module_constant (name) , ##__VA_ARGS__, SCM_UNDEFINED) #define FINISH_MAKE_SYNTAX(start, location, ...) \ - LOWLEVEL_MAKE_SYNTAX (scm_car (start), scm_cons2 (parser->self_scm (), make_input (location), scm_append_x (scm_list_2 (scm_cdr (start), scm_list_n (__VA_ARGS__, SCM_UNDEFINED))))) + LOWLEVEL_MAKE_SYNTAX (scm_car (start), scm_cons2 (parser->self_scm (), make_input (parser->lexer_->override_input (location)), scm_append_x (scm_list_2 (scm_cdr (start), scm_list_n (__VA_ARGS__, SCM_UNDEFINED))))) SCM get_next_unique_context_id (); SCM get_next_unique_lyrics_context_id (); @@ -3422,7 +3424,8 @@ Lily_lexer::try_special_identifiers (SCM *destination, SCM sid) mus = mus->clone (); *destination = mus->self_scm (); unsmob_music (*destination)-> - set_property ("origin", make_input (last_input_)); + set_property ("origin", + make_input (override_input (last_input_))); bool is_event = mus->is_mus_type ("post-event"); mus->unprotect (); diff --git a/lily/timing-translator.cc b/lily/timing-translator.cc index c6b245ba61..03cbfdd3d4 100644 --- a/lily/timing-translator.cc +++ b/lily/timing-translator.cc @@ -22,6 +22,7 @@ #include "warn.hh" #include "translator-group.hh" #include "global-context.hh" +#include "moment.hh" void Timing_translator::stop_translation_timestep () @@ -66,16 +67,80 @@ Timing_translator::initialize () context ()->set_property ("currentBarNumber", barnumber); context ()->set_property ("internalBarNumber", barnumber); - context ()->set_property ("timeSignatureFraction", - timing->get_property ("timeSignatureFraction")); + SCM timeSignatureFraction = timing->get_property ("timeSignatureFraction"); + + if (!scm_is_pair (timeSignatureFraction)) + { + programming_error ("missing timeSignatureFraction"); + timeSignatureFraction = scm_cons (scm_from_int (4), scm_from_int (4)); + } + context ()->set_property ("timeSignatureFraction", timeSignatureFraction); + + SCM measureLength = timing->get_property ("measureLength"); + + if (!unsmob_moment (measureLength)) + { + measureLength = + Moment (ly_scm2rational + (scm_divide (scm_car (timeSignatureFraction), + scm_cdr (timeSignatureFraction)))).smobbed_copy (); + } + context ()->set_property ("measureLength", measureLength); + /* Do not init measurePosition; this should be done from global context. */ - context ()->set_property ("measureLength", - timing->get_property ("measureLength")); - context ()->set_property ("baseMoment", - timing->get_property ("baseMoment")); + + SCM timeSignatureSettings = timing->get_property ("timeSignatureSettings"); + if (!scm_is_pair (timeSignatureSettings)) + { + programming_error ("missing timeSignatureSettings"); + // A memoized constant is not the prettiest thing as a fallback + // since it does not track changes of the variable. However, + // this is still better than nothing, and we already complained + // via a programming_error + timeSignatureSettings = ly_lily_module_constant ("default-time-signature-settings"); + } + context ()->set_property ("timeSignatureSettings", timeSignatureSettings); + + SCM beamExceptions = timing->get_property ("beamExceptions"); + if (!scm_is_pair (beamExceptions)) + { + beamExceptions = + scm_call_2 (ly_lily_module_constant ("beam-exceptions"), + timeSignatureFraction, + timeSignatureSettings); + } + context ()->set_property ("beamExceptions", beamExceptions); + + SCM baseMoment = timing->get_property ("baseMoment"); + if (!unsmob_moment (baseMoment)) + { + baseMoment = + Moment (ly_scm2rational + (scm_call_2 (ly_lily_module_constant ("base-length"), + timeSignatureFraction, + timeSignatureSettings))).smobbed_copy (); + } + context ()->set_property ("baseMoment", baseMoment); + + SCM beatStructure = timing->get_property ("beatStructure"); + if (!scm_is_pair (beatStructure)) + { + beatStructure = + scm_call_3 (ly_lily_module_constant ("beat-structure"), + ly_rational2scm (unsmob_moment (baseMoment)->main_part_), + timeSignatureFraction, + timeSignatureSettings); + } + context ()->set_property ("beatStructure", beatStructure); + + context ()->set_property ("beamHalfMeasure", + timing->get_property ("beamHalfMeasure")); + + context ()->set_property ("autoBeaming", + timing->get_property ("autoBeaming")); } Rational diff --git a/lily/tuplet-iterator.cc b/lily/tuplet-iterator.cc index 872ccae48d..bf9a223684 100644 --- a/lily/tuplet-iterator.cc +++ b/lily/tuplet-iterator.cc @@ -126,12 +126,17 @@ Tuplet_iterator::process (Moment m) void Tuplet_iterator::construct_children () { - spanner_duration_ = music_get_length (); + if (Duration *d = unsmob_duration (get_music ()->get_property ("duration"))) + spanner_duration_ = d->get_length (); + else + { + spanner_duration_ = music_get_length (); - Moment *mp - = unsmob_moment (get_outlet ()->get_property ("tupletSpannerDuration")); - if (mp) - spanner_duration_ = min (mp->main_part_, spanner_duration_); + Moment *mp + = unsmob_moment (get_outlet ()->get_property ("tupletSpannerDuration")); + if (mp) + spanner_duration_ = min (mp->main_part_, spanner_duration_); + } Music_wrapper_iterator::construct_children (); diff --git a/ly/articulate.ly b/ly/articulate.ly index ed4e7aa752..985c680e35 100644 --- a/ly/articulate.ly +++ b/ly/articulate.ly @@ -89,7 +89,7 @@ % * Add Mordents (reported by Patrick Karl) % -\version "2.16.0" +\version "2.17.11" #(use-modules (srfi srfi-1)) #(use-modules (srfi srfi-11)) @@ -115,12 +115,12 @@ % How much to slow down for a rall. or a poco rall. % (or speed up for accel or poco accel) -#(define ac:rallFactor (ly:make-moment 60 100)) % 40% slowdown -#(define ac:pocoRallFactor (ly:make-moment 90 100)) % 10% slowdown +#(define ac:rallFactor (ly:make-moment 60/100)) % 40% slowdown +#(define ac:pocoRallFactor (ly:make-moment 90/100)) % 10% slowdown % The absolute time for a twiddle in a trill, in minutes. % Start with 1/4 seconds == 1/240 minutes -#(define ac:maxTwiddleTime (ly:make-moment 1 240)) +#(define ac:maxTwiddleTime (ly:make-moment 1/240)) % How long ordinary grace notes should be relative to their notated % duration. 9/40 is LilyPond's built-in behaviour for MIDI output @@ -160,12 +160,12 @@ (cons 6 0)))) -#(define ac:currentTempo (ly:make-moment 15 1)) % 4 = 60, measured wholes per minute +#(define ac:currentTempo (ly:make-moment 15/1)) % 4 = 60, measured wholes per minute #(define ac:lastTempo ac:currentTempo) % for 'a tempo' or 'tempo I' % The duration of the current note. Start at a crotchet % for no good reason. -#(define ac:currentDuration (ly:make-duration 2 0 1 1)) +#(define ac:currentDuration (ly:make-duration 2 0 1/1)) % Amount of musical time (in whole notes) that we need to steal from the % next events seen. @@ -352,7 +352,7 @@ pre-t (let loop ((len (ly:music-length music))) (if (ly:momentexact (round (/ (ly:moment-main-numerator c1) @@ -411,7 +411,7 @@ 'metronome-count tempo 'tempo-unit - (ly:make-duration 0 0 1 1)) + (ly:make-duration 0 0 1/1)) (context-spec-music (make-property-set 'tempoWholesPerMinute tempo) 'Score)))) @@ -688,12 +688,12 @@ ; We implement as a half-shake. (let* ((totallength (ly:music-length music)) - (newlen (ly:moment-sub totallength (ly:make-moment 3 32))) + (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))) - (gracedur (ly:make-duration 5 0 1 1)) + (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)) @@ -726,7 +726,7 @@ ((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))) + (newlen (ly:moment-sub dur (ly:make-moment 2/32))) (newdur (ly:make-duration 0 0 (ly:moment-main-numerator newlen) @@ -740,7 +740,7 @@ (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))) + (ly:make-duration 5 0 1/1))) n) mordent) (music-map (lambda (n) @@ -906,10 +906,10 @@ appoggiatura = (main-orig-len (ly:music-length main)) (numerator (ly:moment-main-numerator maindur)) (factor (if (eq? (remainder numerator 3) 0) - (ly:make-moment 1 3) (ly:make-moment 1 2)))) + (ly:make-moment 1/3) (ly:make-moment 1/2)))) (ly:music-compress grace (ly:moment-mul factor (ly:moment-div main-orig-len grace-orig-len))) - (ly:music-compress main (ly:moment-sub (ly:make-moment 1 1) factor)) + (ly:music-compress main (ly:moment-sub (ly:make-moment 1/1) factor)) (set! (ly:music-property grace 'elements) (append (ly:music-property grace 'elements) diff --git a/ly/context-mods-init.ly b/ly/context-mods-init.ly index c4378a8e66..b57fd71337 100644 --- a/ly/context-mods-init.ly +++ b/ly/context-mods-init.ly @@ -19,14 +19,6 @@ \version "2.17.6" RemoveEmptyStaves = \with { - \remove "Axis_group_engraver" - % If RemoveEmptyStaves is called twice, two - % Hara_kiri_engravers would be added, which leads to a - % warning. - % This code makes sure that no previous Hara_kiri_engraver - % is left before adding a new one. - \remove "Hara_kiri_engraver" - \consists "Hara_kiri_engraver" \override VerticalAxisGroup.remove-empty = ##t \description "Remove staves which are considered to be empty according to the list of interfaces set by @code{keepAliveInterfaces}." diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index daf1aed3d3..a7754ef67c 100644 --- a/ly/engraver-init.ly +++ b/ly/engraver-init.ly @@ -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.6" +\version "2.17.11" \context { \name "Global" @@ -37,7 +37,7 @@ \consists "Fretboard_engraver" \consists "Output_property_engraver" - \consists "Hara_kiri_engraver" + \consists "Axis_group_engraver" \consists "Separating_line_group_engraver" \consists "Font_size_engraver" \consists "Instrument_name_engraver" @@ -85,6 +85,7 @@ \consists "Figured_bass_position_engraver" \consists "Script_row_engraver" \consists "Cue_clef_engraver" + \consists "Fingering_column_engraver" localKeySignature = #'() createSpacing = ##t @@ -259,7 +260,6 @@ multiple voices on the same staff." \consists "Script_engraver" \consists "Script_column_engraver" - \consists "Fingering_column_engraver" \consists "Rhythmic_column_engraver" \consists "Note_spacing_engraver" \consists "Spanner_break_forbid_engraver" @@ -441,7 +441,7 @@ printing of a single line of lyrics." \consists "Stanza_number_engraver" \consists "Instrument_name_engraver" \consists "Font_size_engraver" - \consists "Hara_kiri_engraver" + \consists "Axis_group_engraver" \consists "Pure_from_neighbor_engraver" searchForVoice = ##f %% explicitly set instrument, so it is not inherited from the parent @@ -503,8 +503,9 @@ printing of a single line of lyrics." \consists "Output_property_engraver" \consists "Separating_line_group_engraver" \consists "Chord_name_engraver" - \consists "Hara_kiri_engraver" + \consists "Axis_group_engraver" % \consists "Note_spacing_engraver" + \override VerticalAxisGroup.remove-first = ##t \override VerticalAxisGroup.remove-empty = ##t \override VerticalAxisGroup.staff-affinity = #DOWN @@ -620,16 +621,13 @@ automatically when an output definition (a @code{\\score} or repeatCountVisibility = #all-repeat-counts-visible +%% Other Timing variables are derived and set by the Timing_translator +%% at initialization time by calling the functions in +%% scm/time-signature-settings.scm + timeSignatureSettings = #default-time-signature-settings timeSignatureFraction = 4/4 -%% These defaults should be the same as the rules established in -%% scm/time-signature-settings.scm for 4/4 time - measureLength = #(ly:make-moment 4 4) - baseMoment = #(ly:make-moment 1 4) - beatStructure = #'(1 1 1 1) - beamExceptions = #'((end . (((1 . 8) . (4 4)) - ((1 . 12) . (3 3 3 3))))) beamHalfMeasure = ##t autoBeaming = ##t @@ -767,7 +765,7 @@ automatically when an output definition (a @code{\\score} or \consists "Figured_bass_engraver" \consists "Separating_line_group_engraver" - \consists "Hara_kiri_engraver" + \consists "Axis_group_engraver" \override VerticalAxisGroup.remove-empty = ##t \override VerticalAxisGroup.remove-first = ##t diff --git a/ly/event-listener.ly b/ly/event-listener.ly index 6c0f75970e..9e5282de89 100644 --- a/ly/event-listener.ly +++ b/ly/event-listener.ly @@ -66,7 +66,7 @@ program using the output of this function to interpret grace notes however they want (half duration, quarter duration? before beat, after beat? etc.)." (if - (eq? 0 (ly:moment-grace-numerator moment)) + (zero? (ly:moment-grace-numerator moment)) (ly:format "~a" (format-moment moment)) ;; grace notes have a negative numerator, so no "-" necessary (ly:format diff --git a/ly/gregorian.ly b/ly/gregorian.ly index e16fc683ba..b5b088b95c 100644 --- a/ly/gregorian.ly +++ b/ly/gregorian.ly @@ -3,7 +3,7 @@ $Id$ %} -\version "2.17.6" +\version "2.17.11" % % Declare memorable shortcuts for special unicode characters @@ -260,7 +260,7 @@ ligature = #(define-music-function %%% causes tons of "programming error: adding reverse spring, %%% setting to unit" messages. %%% - %\override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1 4) + %\override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1/4) %\override SpacingSpanner.shortest-duration-space = #0 %\override SpacingSpanner.average-spacing-wishes = ##f %\override SpacingSpanner.spacing-increment = #0.0 diff --git a/ly/init.ly b/ly/init.ly index 7daa84929c..8e8a2fc212 100644 --- a/ly/init.ly +++ b/ly/init.ly @@ -20,6 +20,7 @@ #(note-names-language parser default-language) #(ly:set-option 'old-relative #f) +#(define location #f) #(define toplevel-scores (list)) #(define toplevel-bookparts (list)) #(define $defaultheader #f) diff --git a/ly/music-functions-init.ly b/ly/music-functions-init.ly index f321083218..061e696d08 100644 --- a/ly/music-functions-init.ly +++ b/ly/music-functions-init.ly @@ -18,7 +18,7 @@ %%%% You should have received a copy of the GNU General Public License %%%% along with LilyPond. If not, see . -\version "2.17.6" +\version "2.17.11" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -344,10 +344,8 @@ without the need of a specific end spanner.") (extract-typed-music music 'span-event))) (stop-span-evs (map (lambda (m) - (let ((c (music-clone m))) - (set! (ly:music-property c 'span-direction) STOP) - c)) - start-span-evs)) + (music-clone m 'span-direction STOP)) + start-span-evs)) (end-ev-chord (make-music 'EventChord 'elements stop-span-evs)) (total (make-music 'SequentialMusic @@ -381,6 +379,15 @@ featherDurations= argument)) +finger = +#(define-event-function (parser location finger) (number-or-markup?) + (_i "Apply @var{finger} as a fingering indication.") + + (make-music + 'FingeringEvent + (if (number? finger) 'digit 'text) + finger)) + footnote = #(define-music-function (parser location mark offset footnote item) ((markup?) number-pair? markup? symbol-list-or-music?) @@ -797,93 +804,102 @@ Example: C = { e e | f f | } @end verbatim ") - (let* ((voices (apply circular-list (make-list (length voice-ids) (list)))) - (current-voices voices) - (current-sequence (list)) - (original music) - (wrapper #f)) - ;; - ;; utilities - (define (push-music m) - "Push the music expression into the current sequence" - (set! current-sequence (cons m current-sequence))) - (define (change-voice) - "Stores the previously built sequence into the current voice and + (define (bar-check? m) + "Checks whether m is a bar check." + (eq? (ly:music-property m 'name) 'BarCheck)) + (define (recurse-and-split music) + "This returns either a list of music split along barchecks, or +@code{#f}." + (let ((elt (ly:music-property music 'element)) + (elts (ly:music-property music 'elements))) + (cond ((ly:music? elt) + (let ((lst (recurse-and-split elt))) + (and lst + (map + (lambda (x) + (let ((res (music-clone music 'element x))) + (if (ly:input-location? + (ly:music-property x 'origin)) + (set! (ly:music-property res 'origin) + (ly:music-property x 'origin))) + res)) + lst)))) + ((any bar-check? elts) + (let* ((voices (apply circular-list + (make-list (length voice-ids) + '()))) + (current-voices voices) + (current-sequence '())) + ;; + ;; utilities + (define (push-music m) + "Push the music expression into the current sequence" + (set! current-sequence (cons m current-sequence))) + (define (change-voice) + "Stores the previously built sequence into the current voice and change to the following voice." - (list-set! current-voices 0 (cons (make-music 'SequentialMusic - 'elements (reverse! current-sequence)) - (car current-voices))) - (set! current-sequence (list)) - (set! current-voices (cdr current-voices))) - (define (bar-check? m) - "Checks whether m is a bar check." - (eq? (ly:music-property m 'name) 'BarCheck)) - (define (music-origin music) - "Recursively search an origin location stored in music." - (cond ((null? music) #f) - ((not (null? (ly:music-property music 'origin))) - (ly:music-property music 'origin)) - (else (or (music-origin (ly:music-property music 'element)) - (let ((origins (remove not (map music-origin - (ly:music-property music 'elements))))) - (and (not (null? origins)) (car origins))))))) - (while (music-is-of-type? music 'music-wrapper-music) - (set! wrapper music) - (set! music (ly:music-property wrapper 'element))) - (if wrapper - (set! (ly:music-property wrapper 'element) - (make-music 'SequentialMusic - 'origin location)) - (set! original - (make-music 'SequentialMusic - 'origin location))) - ;; - ;; first, split the music and fill in voices - ;; We flatten direct layers of SequentialMusic since they are - ;; pretty much impossible to avoid when writing music functions. - (let rec ((music music)) - (for-each (lambda (m) - (if (eq? (ly:music-property m 'name) 'SequentialMusic) - (rec m) - (begin - (push-music m) - (if (bar-check? m) (change-voice))))) - (ly:music-property music 'elements))) - (if (not (null? current-sequence)) (change-voice)) - ;; un-circularize `voices' and reorder the voices - (set! voices (map-in-order (lambda (dummy seqs) - (reverse! seqs)) - voice-ids voices)) - ;; - ;; set origin location of each sequence in each voice - ;; for better type error tracking - (for-each (lambda (voice) - (for-each (lambda (seq) - (set! (ly:music-property seq 'origin) - (or (music-origin seq) location))) - voice)) - voices) - ;; - ;; check sequence length - (apply for-each (lambda* (#:rest seqs) - (let ((moment-reference (ly:music-length (car seqs)))) - (for-each (lambda (seq moment) - (if (not (equal? moment moment-reference)) - (ly:music-warning seq - "Bars in parallel music don't have the same length"))) - seqs (map-in-order ly:music-length seqs)))) - voices) - ;; - ;; bind voice identifiers to the voices - (for-each (lambda (voice-id voice) - (ly:parser-define! parser voice-id - (let ((v (ly:music-deep-copy original))) - (set! (ly:music-property - (car (extract-named-music - v 'SequentialMusic)) - 'elements) voice) - v))) - voice-ids voices))) + (set-car! current-voices + (cons (reverse! current-sequence) + (car current-voices))) + (set! current-sequence '()) + (set! current-voices (cdr current-voices))) + (for-each (lambda (m) + (let ((split? (recurse-and-split m))) + (if split? + (for-each + (lambda (m) + (push-music m) + (change-voice)) + split?) + (begin + (push-music m) + (if (bar-check? m) (change-voice)))))) + elts) + (if (pair? current-sequence) (change-voice)) + ;; un-circularize `voices' and reorder the voices + + (set! voices (map reverse! + (list-head voices (length voice-ids)))) + + ;; check sequence length + (apply for-each (lambda seqs + (define (seq-len seq) + (reduce ly:moment-add + (ly:make-moment 0) + (map ly:music-length seq))) + (let ((moment-reference (seq-len (car seqs)))) + (for-each (lambda (seq) + (if (not (equal? (seq-len seq) + moment-reference)) + (ly:music-warning + (if (pair? seq) + (last seq) + (caar seqs)) + (_ "Bars in parallel music don't have the same length")))) + seqs))) + voices) + (map + (lambda (lst) + (set! lst (concatenate! lst)) + (let ((res (music-clone music 'elements lst))) + (if (and (pair? lst) + (ly:input-location? (ly:music-property + (car lst) + 'origin))) + (set! (ly:music-property res 'origin) + (ly:music-property (car lst) 'origin))) + res)) + voices))) + (else #f)))) + (let ((voices (recurse-and-split music))) + (if voices + ;; + ;; bind voice identifiers to the voices + (for-each (lambda (voice-id voice) + (ly:parser-define! parser voice-id voice)) + voice-ids voices) + (ly:music-warning music + (_ "ignoring parallel music without barchecks"))))) parenthesize = #(define-music-function (parser loc arg) (ly:music?) @@ -1054,13 +1070,12 @@ for time signatures of @var{time-signature}.") (revert-time-signature-setting time-signature)) rightHandFinger = -#(define-event-function (parser location finger) (number-or-string?) +#(define-event-function (parser location finger) (number-or-markup?) (_i "Apply @var{finger} as a fingering indication.") (make-music 'StrokeFingerEvent - 'origin location - (if (string? finger) 'text 'digit) + (if (number? finger) 'digit 'text) finger)) scaleDurations = @@ -1335,6 +1350,45 @@ transposition = (ly:pitch-negate pitch)) 'Staff)) +tuplet = +#(define-music-function (parser location ratio tuplet-span music) + (fraction? (ly:duration? '()) ly:music?) + (_i "Scale the given @var{music} to tuplets. @var{ratio} is a +fraction that specifies how many notes are played in place of the +nominal value: it will be @samp{3/2} for triplets, namely three notes +being played in place of two. If the optional duration +@var{tuplet-span} is specified, it is used instead of +@code{tupletSpannerDuration} for grouping the tuplets. +For example, +@example +\\tuplet 3/2 4 @{ c8 c c c c c @} +@end example +will result in two groups of three tuplets, each group lasting for a +quarter note.") + (make-music 'TimeScaledMusic + 'element (ly:music-compress + music + (ly:make-moment (cdr ratio) (car ratio))) + 'numerator (cdr ratio) + 'denominator (car ratio) + 'duration tuplet-span)) + +tupletSpan = +#(define-music-function (parser location tuplet-span) + ((ly:duration?)) + (_i "Set @code{tupletSpannerDuration}, the length into which +@code{\\tuplet} without an explicit @samp{tuplet-span} argument of its +own will group its tuplets, to the duration @var{tuplet-span}. To +revert to the default of not subdividing the contents of a @code{\\tuplet} +command without explicit @samp{tuplet-span}, use +@example +\\tupletSpan \\default +@end example +") + (if tuplet-span + #{ \set tupletSpannerDuration = #(ly:duration-length tuplet-span) #} + #{ \unset tupletSpannerDuration #})) + tweak = #(define-music-function (parser location prop value item) (symbol-list-or-symbol? scheme? symbol-list-or-music?) diff --git a/ly/performer-init.ly b/ly/performer-init.ly index f26ed9f87d..e39bcf4c48 100644 --- a/ly/performer-init.ly +++ b/ly/performer-init.ly @@ -16,7 +16,7 @@ %%%% You should have received a copy of the GNU General Public License %%%% along with LilyPond. If not, see . -\version "2.16.0" +\version "2.17.11" %% %% setup for Request->Element conversion. @@ -193,12 +193,11 @@ \name Score melismaBusyProperties = #default-melisma-properties - autoBeaming = ##t % needed for consistent melismata with engravers instrumentName = #"bright acoustic" midiChannelMapping = #'staff %% quarter = 60 - tempoWholesPerMinute = #(ly:make-moment 15 1) + tempoWholesPerMinute = #(ly:make-moment 15/1) \accepts Staff \accepts DrumStaff @@ -230,12 +229,13 @@ %% Timing variables in layout definitions before any %% Timing_translator has been run. + timeSignatureSettings = #default-time-signature-settings timeSignatureFraction = 4/4 + autoBeaming = ##t % needed for consistent melismata with engravers -%% These defaults should be the same as the rules established in -%% scm/time-signature-settings.scm for 4/4 time - measureLength = #(ly:make-moment 4 4) - baseMoment = #(ly:make-moment 1 4) + %% Other beaming variables are not important as autobeams don't affect + %% the Midi. Melismata are only affected by beams when autobeaming + %% is switched off. \consists "Timing_translator" diff --git a/ly/script-init.ly b/ly/script-init.ly index 0baf24258b..5d33decace 100644 --- a/ly/script-init.ly +++ b/ly/script-init.ly @@ -46,9 +46,8 @@ staccatissimo = #(make-articulation "staccatissimo") staccato = #(make-articulation "staccato") stopped = #(make-articulation "stopped") tenuto = #(make-articulation "tenuto") -thumb = \tweak text \markup \scale #(cons (magstep 5) (magstep 5)) - \musicglyph #"scripts.thumb" - #(make-music 'FingeringEvent) +thumb = \finger \markup \scale #(cons (magstep 5) (magstep 5)) + \musicglyph #"scripts.thumb" trill = #(make-articulation "trill") turn = #(make-articulation "turn") upbow = #(make-articulation "upbow") diff --git a/mf/feta-accidentals.mf b/mf/feta-accidentals.mf index 905d1c3e8e..1130672440 100644 --- a/mf/feta-accidentals.mf +++ b/mf/feta-accidentals.mf @@ -3,11 +3,11 @@ % % Copyright (C) 1997--2012 Han-Wen Nienhuys % -% -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or you can redistribute it under +% the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-accordion.mf b/mf/feta-accordion.mf index c96ff8d06c..354e0f3e91 100644 --- a/mf/feta-accordion.mf +++ b/mf/feta-accordion.mf @@ -3,10 +3,11 @@ % % Copyright (C) 1998--2012 Han-Wen Nienhuys % -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or you can redistribute it under +% the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-arrowheads.mf b/mf/feta-arrowheads.mf index f80afc91b9..e202692182 100644 --- a/mf/feta-arrowheads.mf +++ b/mf/feta-arrowheads.mf @@ -3,10 +3,10 @@ % % Copyright (C) 2005--2012 Han-Wen Nienhuys % -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-autometric.mf b/mf/feta-autometric.mf index a12b4ebda6..e24f1605db 100644 --- a/mf/feta-autometric.mf +++ b/mf/feta-autometric.mf @@ -8,10 +8,10 @@ % to automate generation of the lily tables. % The output should be parsed by the mf-to-table script. % -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-braces-a.mf b/mf/feta-braces-a.mf index 2436c6f1f3..1210262421 100644 --- a/mf/feta-braces-a.mf +++ b/mf/feta-braces-a.mf @@ -4,10 +4,10 @@ % Copyright (C) 1997--2012 Han-Wen Nienhuys % % -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-braces-b.mf b/mf/feta-braces-b.mf index cf4adea384..df91510af7 100644 --- a/mf/feta-braces-b.mf +++ b/mf/feta-braces-b.mf @@ -4,10 +4,10 @@ % Copyright (C) 1997--2012 Han-Wen Nienhuys % % -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-braces-c.mf b/mf/feta-braces-c.mf index eacfc57a24..87fc66047d 100644 --- a/mf/feta-braces-c.mf +++ b/mf/feta-braces-c.mf @@ -4,10 +4,10 @@ % Copyright (C) 1997--2012 Han-Wen Nienhuys % % -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-braces-d.mf b/mf/feta-braces-d.mf index 4f4a6e961a..ffad571c0c 100644 --- a/mf/feta-braces-d.mf +++ b/mf/feta-braces-d.mf @@ -4,10 +4,10 @@ % Copyright (C) 1997--2012 Han-Wen Nienhuys % % -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-braces-e.mf b/mf/feta-braces-e.mf index 31201f184d..a0b130bdad 100644 --- a/mf/feta-braces-e.mf +++ b/mf/feta-braces-e.mf @@ -4,10 +4,10 @@ % Copyright (C) 1997--2012 Han-Wen Nienhuys % % -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-braces-f.mf b/mf/feta-braces-f.mf index 920ac35a55..ad31d2bcc8 100644 --- a/mf/feta-braces-f.mf +++ b/mf/feta-braces-f.mf @@ -4,10 +4,10 @@ % Copyright (C) 1997--2012 Han-Wen Nienhuys % % -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-braces-g.mf b/mf/feta-braces-g.mf index 9c233e0ade..545ca5a855 100644 --- a/mf/feta-braces-g.mf +++ b/mf/feta-braces-g.mf @@ -4,10 +4,10 @@ % Copyright (C) 1997--2012 Han-Wen Nienhuys % % -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-braces-h.mf b/mf/feta-braces-h.mf index f8ea48dcac..646e153106 100644 --- a/mf/feta-braces-h.mf +++ b/mf/feta-braces-h.mf @@ -4,10 +4,10 @@ % Copyright (C) 1997--2012 Han-Wen Nienhuys % % -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-braces-i.mf b/mf/feta-braces-i.mf index c8e7a73a10..0f3fcd3567 100644 --- a/mf/feta-braces-i.mf +++ b/mf/feta-braces-i.mf @@ -4,10 +4,10 @@ % Copyright (C) 1997--2012 Han-Wen Nienhuys % % -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-braces.mf b/mf/feta-braces.mf index 5ecd5b71a8..c948f345fd 100644 --- a/mf/feta-braces.mf +++ b/mf/feta-braces.mf @@ -4,10 +4,10 @@ % Copyright (C) 1997--2012 Han-Wen Nienhuys % Jan Nieuwenhuizen % -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-brackettips.mf b/mf/feta-brackettips.mf index 2971f1e416..d3b29cab54 100644 --- a/mf/feta-brackettips.mf +++ b/mf/feta-brackettips.mf @@ -3,10 +3,10 @@ % % Copyright (C) 2005--2012 Han-Wen Nienhuys % -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-clefs.mf b/mf/feta-clefs.mf index e1c513f94d..d76b341453 100644 --- a/mf/feta-clefs.mf +++ b/mf/feta-clefs.mf @@ -5,10 +5,10 @@ % Jan Nieuwenhuizen , % Juergen Reuter % -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-dots.mf b/mf/feta-dots.mf index c568aed737..be38847a2c 100644 --- a/mf/feta-dots.mf +++ b/mf/feta-dots.mf @@ -3,10 +3,10 @@ % % Copyright (C) 1997--2012 Han-Wen Nienhuys % -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-dynamics.mf b/mf/feta-dynamics.mf index c2728c3f08..c1b7c43a6a 100644 --- a/mf/feta-dynamics.mf +++ b/mf/feta-dynamics.mf @@ -3,10 +3,10 @@ % % Copyright (C) 1997--2012 Jan Nieuwenhuizen % -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-flags-generic.mf b/mf/feta-flags-generic.mf index a40e5d9b1e..947cc8a35a 100644 --- a/mf/feta-flags-generic.mf +++ b/mf/feta-flags-generic.mf @@ -3,11 +3,10 @@ % % Copyright (C) 1997--2012 Han-Wen Nienhuys % -% -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-flags.mf b/mf/feta-flags.mf index 81d68a49a3..2cd890f3b0 100644 --- a/mf/feta-flags.mf +++ b/mf/feta-flags.mf @@ -3,10 +3,10 @@ % % Copyright (C) 1997--2012 Han-Wen Nienhuys % -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-generic.mf b/mf/feta-generic.mf index 16c31a7beb..0d253ce653 100644 --- a/mf/feta-generic.mf +++ b/mf/feta-generic.mf @@ -3,11 +3,10 @@ % % Copyright (C) 1997--2012 Han-Wen Nienhuys % -% -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-macros.mf b/mf/feta-macros.mf index b111c94445..c464c3f7f8 100644 --- a/mf/feta-macros.mf +++ b/mf/feta-macros.mf @@ -3,10 +3,10 @@ % % Copyright (C) 1997--2012 Han-Wen Nienhuys % -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-noteheads-generic.mf b/mf/feta-noteheads-generic.mf index 70cf9a4395..3c255073c8 100644 --- a/mf/feta-noteheads-generic.mf +++ b/mf/feta-noteheads-generic.mf @@ -3,11 +3,10 @@ % % Copyright (C) 1997--2012 Han-Wen Nienhuys % -% -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-noteheads.mf b/mf/feta-noteheads.mf index c45969ed6a..d976b2df94 100644 --- a/mf/feta-noteheads.mf +++ b/mf/feta-noteheads.mf @@ -5,11 +5,10 @@ % & Han-Wen Nienhuys % & Juergen Reuter % -% -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-numbers.mf b/mf/feta-numbers.mf index 0e637550ca..8ec75697ae 100644 --- a/mf/feta-numbers.mf +++ b/mf/feta-numbers.mf @@ -3,10 +3,10 @@ % % Copyright (C) 1997--2012 Jan Nieuwenhuizen % -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-params.mf b/mf/feta-params.mf index a61edfe73b..8336df3306 100644 --- a/mf/feta-params.mf +++ b/mf/feta-params.mf @@ -3,10 +3,10 @@ % % Copyright (C) 1997--2012 Han-Wen Nienhuys % -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-pedals.mf b/mf/feta-pedals.mf index edad126265..b4979ca4a6 100644 --- a/mf/feta-pedals.mf +++ b/mf/feta-pedals.mf @@ -5,10 +5,10 @@ % % Voor Cup % -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-rests.mf b/mf/feta-rests.mf index b109d3bac2..09439853a0 100644 --- a/mf/feta-rests.mf +++ b/mf/feta-rests.mf @@ -3,10 +3,10 @@ % % Copyright (C) 1997--2012 Jan Nieuwenhuizen % -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-scripts.mf b/mf/feta-scripts.mf index 7b4cbf455d..91c3ae1fe4 100644 --- a/mf/feta-scripts.mf +++ b/mf/feta-scripts.mf @@ -5,10 +5,10 @@ % Jan Nieuwenhuizen % % -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-ties.mf b/mf/feta-ties.mf index 62702e92ff..6df5e7ca5c 100644 --- a/mf/feta-ties.mf +++ b/mf/feta-ties.mf @@ -3,10 +3,10 @@ % % Copyright (C) 2011--2012 Bertrand Bordage % -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-timesignatures.mf b/mf/feta-timesignatures.mf index 2bbb7d91a5..0098f0ad42 100644 --- a/mf/feta-timesignatures.mf +++ b/mf/feta-timesignatures.mf @@ -4,10 +4,10 @@ % Copyright (C) 1998--2012 Mats Bengtsson , % Christian Mondrup % -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/feta-trills.mf b/mf/feta-trills.mf index 9ad4e69888..ea63af0bfb 100644 --- a/mf/feta-trills.mf +++ b/mf/feta-trills.mf @@ -3,11 +3,10 @@ % % Copyright (C) 1998--2012 Jan Nieuwenhuizen % -% -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/parmesan-accidentals.mf b/mf/parmesan-accidentals.mf index 7ea7f14f68..f7cf78563b 100644 --- a/mf/parmesan-accidentals.mf +++ b/mf/parmesan-accidentals.mf @@ -3,11 +3,10 @@ % % Copyright (C) 2001--2012 Juergen Reuter % -% -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/parmesan-clefs.mf b/mf/parmesan-clefs.mf index 8cc936380e..ec6561dc8e 100644 --- a/mf/parmesan-clefs.mf +++ b/mf/parmesan-clefs.mf @@ -3,11 +3,10 @@ % % Copyright (C) 2001--2012 Juergen Reuter % -% -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/parmesan-custodes.mf b/mf/parmesan-custodes.mf index 3729679d72..08bf714858 100644 --- a/mf/parmesan-custodes.mf +++ b/mf/parmesan-custodes.mf @@ -3,11 +3,10 @@ % % Copyright (C) 2000--2012 Juergen Reuter % -% -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/parmesan-dots.mf b/mf/parmesan-dots.mf index 4e77d9c465..86a8ee7f4c 100644 --- a/mf/parmesan-dots.mf +++ b/mf/parmesan-dots.mf @@ -3,11 +3,10 @@ % % Copyright (C) 2006--2012 Juergen Reuter % -% -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/parmesan-flags.mf b/mf/parmesan-flags.mf index 13febbca6c..f7c903f874 100644 --- a/mf/parmesan-flags.mf +++ b/mf/parmesan-flags.mf @@ -3,11 +3,10 @@ % % Copyright (C) 2001--2012 Juergen Reuter % -% -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/parmesan-generic.mf b/mf/parmesan-generic.mf index c07bd21966..31b35ff25b 100644 --- a/mf/parmesan-generic.mf +++ b/mf/parmesan-generic.mf @@ -3,11 +3,10 @@ % % Copyright (C) 2002--2012 Juergen Reuter % -% -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/parmesan-macros.mf b/mf/parmesan-macros.mf index 6554c8b210..a42a1db393 100644 --- a/mf/parmesan-macros.mf +++ b/mf/parmesan-macros.mf @@ -4,10 +4,10 @@ % Copyright (C) 2001--2012 Juergen Reuter % % -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/parmesan-noteheads-generic.mf b/mf/parmesan-noteheads-generic.mf index 3ccaca9094..a4103791ff 100644 --- a/mf/parmesan-noteheads-generic.mf +++ b/mf/parmesan-noteheads-generic.mf @@ -3,11 +3,10 @@ % % Copyright (C) 1997--2012 Han-Wen Nienhuys % -% -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/parmesan-noteheads.mf b/mf/parmesan-noteheads.mf index afc713f352..dbeb87530d 100644 --- a/mf/parmesan-noteheads.mf +++ b/mf/parmesan-noteheads.mf @@ -6,10 +6,10 @@ % Neo-mensural heads originally by % Christian Mondrup and Mats Bengtsson % -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/parmesan-rests.mf b/mf/parmesan-rests.mf index b8b3c51ce8..d238211b7e 100644 --- a/mf/parmesan-rests.mf +++ b/mf/parmesan-rests.mf @@ -7,10 +7,10 @@ % Christian Mondrup and Mats Bengtsson. % % -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/parmesan-scripts.mf b/mf/parmesan-scripts.mf index 7899fcba42..cc96bbc465 100644 --- a/mf/parmesan-scripts.mf +++ b/mf/parmesan-scripts.mf @@ -4,10 +4,10 @@ % Copyright (C) 2002--2012 Juergen Reuter % % -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/mf/parmesan-timesignatures.mf b/mf/parmesan-timesignatures.mf index 598835586a..ef0fa621a5 100644 --- a/mf/parmesan-timesignatures.mf +++ b/mf/parmesan-timesignatures.mf @@ -5,11 +5,10 @@ % Christian Mondrup % Copyright (C) 2002--2012 Juergen Reuter % -% -% LilyPond is free software: you can redistribute it and/or modify +% 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 % the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% (at your option) any later version, or under the SIL Open Font License. % % LilyPond is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/po/cs.po b/po/cs.po index 4c4a0ed35f..7abaa3a906 100644 --- a/po/cs.po +++ b/po/cs.po @@ -3756,7 +3756,6 @@ msgstr "Neplatná operace vlastnosti ~a" #~ msgid "setbeatGrouping. Use baseMoment and beatStructure.\n" #~ msgstr "setbeatGrouping. Použít baseMoment a beatStructure.\n" -#~| msgid "Usage: %s" #~ msgid "success: %s" #~ msgstr "Úspěch: %s" @@ -3802,7 +3801,6 @@ msgstr "Neplatná operace vlastnosti ~a" #~ msgid "second argument must be pitch list" #~ msgstr "Druhý argument musí být seznam výšek tónů" -#~| msgid "warning: " #~ msgid "warning:" #~ msgstr "Varování:" diff --git a/po/eo.po b/po/eo.po index 00605dc941..436c3acb45 100644 --- a/po/eo.po +++ b/po/eo.po @@ -33,11 +33,11 @@ msgstr "ne eblas trovi \\begin{document} en dokumento LaTeX" #: book_latex.py:188 #, python-format msgid "Running `%s' on file `%s' to detect default page settings.\n" -msgstr "Aplikado de '%s' al la dosiero '%s' por detekti originalajn paĝ-agordojn.\n" +msgstr "Aplikado de '%s' al la dosiero '%s' por detekti apriorajn paĝ-agordojn.\n" #: book_latex.py:209 book_texinfo.py:228 msgid "Unable to auto-detect default settings:\n" -msgstr "Ne eblas mem detekti originalajn agordojn:\n" +msgstr "Ne eblas aŭtomate detekti apriorajn agordojn:\n" #: book_latex.py:221 book_texinfo.py:240 #, python-format @@ -45,23 +45,23 @@ msgid "" "Unable to auto-detect default settings:\n" "%s" msgstr "" -"Ne eblas mem detekti originalajn agordojn:\n" +"Ne eblas aŭtomate detekti apriorajn agordojn:\n" "%s" #: book_snippets.py:406 #, python-format msgid "deprecated ly-option used: %s=%s" -msgstr "evitinda ly-elektilo estis uzata: %s=%s" +msgstr "evitinda ly-modifilo estis uzata: %s=%s" #: book_snippets.py:408 #, python-format msgid "compatibility mode translation: %s=%s" -msgstr "tradukado je kongrua reĝimo: %s=%s" +msgstr "kongru-reĝima traduko: %s=%s" #: book_snippets.py:411 #, python-format msgid "deprecated ly-option used: %s" -msgstr "evitinda ly-elektilo estis uzata: %s" +msgstr "evitinda ly-modifilo estis uzata: %s" #: book_snippets.py:413 #, python-format @@ -71,7 +71,7 @@ msgstr "tradukado je kongrua reĝimo: %s" #: book_snippets.py:530 #, python-format msgid "ignoring unknown ly option: %s" -msgstr "preterpaso de nekonata ly-elektilo: %s" +msgstr "preterpaso de nekonata ly-modifilo: %s" #: book_snippets.py:621 #, python-format @@ -81,7 +81,7 @@ msgstr "Mankantaj dosieroj: %s" #: book_snippets.py:651 #, python-format msgid "Could not overwrite file %s" -msgstr "Ne eblis reskribi sur dosiero: %s" +msgstr "Ne eblis anstataŭigi la dosieron %s" #: book_snippets.py:738 #, python-format @@ -126,7 +126,7 @@ msgstr "" #: book_texinfo.py:206 #, python-format msgid "Running texi2pdf on file %s to detect default page settings.\n" -msgstr "Aplikado de texi2pdf al la dosiero %s por detekti originalajn paĝ-agordojn.\n" +msgstr "Aplikado de texi2pdf al la dosiero %s por detekti apriorajn paĝ-agordojn.\n" #: convertrules.py:12 #, python-format @@ -135,12 +135,12 @@ msgstr "Ne sufiĉe lerta por konverti %s." #: convertrules.py:13 msgid "Please refer to the manual for details, and update manually." -msgstr "Bonvolu iri al la gvidlibro por pli da detaloj, kaj ĝisdatigu malaŭtomate." +msgstr "Bonvole konsultu la gvidlibron por pli da detaloj, kaj ĝisdatigu malaŭtomate." #: convertrules.py:14 #, python-format msgid "%s has been replaced by %s" -msgstr "%s estis anstataŭigata per %s" +msgstr "%s estas anstataŭigita per %s" #: convertrules.py:24 lilylib.py:136 warn.cc:223 #, c-format, python-format @@ -216,11 +216,11 @@ msgstr "identigilaj nomoj: %s" #: convertrules.py:548 msgid "point-and-click argument changed to procedure." -msgstr "argumento 'point-and-click' ŝanĝis al 'procedure'." +msgstr "argumento 'point-and-click' ŝanĝis al proceduro." #: convertrules.py:590 msgid "semicolons removed" -msgstr "komo-punktoj estis forigataj" +msgstr "komo-punktoj estas forigitaj" #. 40 ? #: convertrules.py:633 @@ -273,7 +273,7 @@ msgstr "Permuti < > kaj << >>" #: convertrules.py:1316 msgid "attempting automatic \\figures conversion. Check results!" -msgstr "provado aŭtomate konverti \\figures. Kontrolu la rezultojn!" +msgstr "ni provas aŭtomatan konverton de \\figures. Kontrolu la rezultojn!" #: convertrules.py:1362 msgid "Use Scheme code to construct arbitrary note events." @@ -422,7 +422,7 @@ msgstr "Provu la internan interfacon 'texstrings'" #: convertrules.py:2100 #, python-format msgid "Do something like: %s" -msgstr "Faru ion simila al: %s" +msgstr "Faru ion similan al: %s" #: convertrules.py:2103 msgid "Or save as UTF-8 in your editor" @@ -867,7 +867,7 @@ msgstr "Procezado de %s.ly" #: lilylib.py:194 lilylib.py:255 #, python-format msgid "Invoking `%s'" -msgstr "Alvokado de '%s'" +msgstr "Alvoko de '%s'" #: lilylib.py:196 lilylib.py:257 #, python-format @@ -881,7 +881,7 @@ msgstr "Uzado: %s" #: musicexp.py:224 musicexp.py:229 msgid "Language does not support microtones contained in the piece" -msgstr "La lingvo de subtenas la mikrotonojn en la muziko" +msgstr "La lingvo ne subtenas la mikrotonojn en la muziko" #: musicexp.py:491 msgid "Tuplet brackets of curved shape are not correctly implemented" @@ -934,7 +934,7 @@ msgstr "Ne eblas trovi instrumenton por ID=%s\n" #: abc2ly.py:1386 convert-ly.py:84 lilypond-book.py:122 midi2ly.py:1044 #, python-format msgid "%s [OPTION]... FILE" -msgstr "%s [ELEKTILO]... DOSIERO" +msgstr "%s [MODIFILO]... DOSIERO" #: abc2ly.py:1387 #, python-format @@ -969,7 +969,7 @@ msgstr "konservi la nocion de vostligoj de ABC" #: abc2ly.py:1410 msgid "suppress progress messages" -msgstr "forigi mesaĝojn pri progreso" +msgstr "formeti mesaĝojn pri progreso" #. Translators, please translate this string as #. "Report bugs in English via %s", @@ -979,7 +979,7 @@ msgstr "forigi mesaĝojn pri progreso" #: midi2ly.py:1107 musicxml2ly.py:2674 main.cc:249 #, c-format, python-format msgid "Report bugs via %s" -msgstr "Raportu misojn per %s (angle)" +msgstr "Raportu program-misojn per %s (angle)" #: convert-ly.py:46 msgid "" @@ -1016,7 +1016,7 @@ msgstr "VERSIO" #: convert-ly.py:101 msgid "start from VERSION [default: \\version found in file]" -msgstr "komenci el VERSIO [apriore: \\version estis trovata en dosiero]" +msgstr "komenci el VERSIO [aprioras \\version, trovita en la dosiero]" #: convert-ly.py:104 msgid "edit in place" @@ -1024,7 +1024,7 @@ msgstr "redakti surloke" #: convert-ly.py:108 lilypond-book.py:179 musicxml2ly.py:2627 msgid "Print log messages according to LOGLEVEL (NONE, ERROR, WARNING, PROGRESS (default), DEBUG)" -msgstr "Printi protokolajn mesaĝojn laŭ PROTOKOLNIVELO (NONE, ERROR, WARNING, PROGRESS (apriore), DEBUG)" +msgstr "Montri protokolajn mesaĝojn laŭ PROTOKOLNIVELO (NONE, ERROR, WARNING, PROGRESS (apriore), DEBUG)" #: convert-ly.py:110 lilypond-book.py:163 lilypond-book.py:181 #: musicxml2ly.py:2629 main.cc:131 @@ -1042,7 +1042,7 @@ msgstr "perforte ĝisdatigi la numeron de \\version al %s" #: convert-ly.py:128 msgid "only update \\version number if file is modified" -msgstr "nur ĝisdatigi la numeron de \version se la dosiero estas modifita" +msgstr "nur ĝisdatigi la numeron de \\version se la dosiero estas modifita" #: convert-ly.py:134 #, python-format @@ -1105,7 +1105,7 @@ msgstr[1] "Okazis %d eraroj." #: etf2ly.py:1197 #, python-format msgid "%s [OPTION]... ETF-FILE" -msgstr "%s [ELEKTILO]... ETF-DOSIERO" +msgstr "%s [MODIFILO]... ETF-DOSIERO" #: etf2ly.py:1198 msgid "" @@ -1139,7 +1139,7 @@ msgstr "FILTRO" #: lilypond-book.py:130 msgid "pipe snippets through FILTER [default: `convert-ly -n -']" -msgstr "dukti kodaĵojn tra FILTRO [apriore: convert-ly -n -]" +msgstr "dukti kodaĵojn tra FILTRO [apriore: 'convert-ly -n -']" #: lilypond-book.py:134 msgid "use output format FORMAT (texi [default], texi-html, latex, html, docbook)" @@ -1151,7 +1151,7 @@ msgstr "FORMO" #: lilypond-book.py:142 msgid "add DIR to include path" -msgstr "aldoni UJO al la inkluziva vojo" +msgstr "aldoni UJOn al la inkluziva vojo" #: lilypond-book.py:143 lilypond-book.py:150 lilypond-book.py:169 #: lilypond-book.py:187 lilypond-book.py:208 lilypond-book.py:214 main.cc:122 @@ -1160,11 +1160,11 @@ msgstr "UJO" #: lilypond-book.py:148 msgid "format Texinfo output so that Info will look for images of music in DIR" -msgstr "strukturigi eligon Texinfo tiel ke Info serĉos bildojn de muziko en UJO" +msgstr "strukturigi eligon de Texinfo tiel ke Info serĉos bildojn de muziko en UJO" #: lilypond-book.py:155 msgid "PAD" -msgstr "SHOV" +msgstr "ŜOVO" #: lilypond-book.py:157 msgid "pad left side of music to align music inspite of uneven bar numbers (in mm)" @@ -1180,7 +1180,7 @@ msgstr "skribi dosierojn lily-XXX al UJO, ligi al la dosierujo de --output" #: lilypond-book.py:173 msgid "Load the additional python PACKAGE (containing e.g. a custom output format)" -msgstr "Ŝargi je la kroma PAKO de python (enhavanta ekz. propran elig-formon)" +msgstr "Ŝargi je la kroma PAKO de python (enhavanta ekz. personigitan elig-formon)" #: lilypond-book.py:174 msgid "PACKAGE" @@ -1228,7 +1228,7 @@ msgid "" "case --pdf option is set instead of pdflatex" msgstr "" "lanĉi la programon PROG anstataŭ latex, aŭ okaze\n" -"de elektilo --pdf estos uzata, anstataŭ pdflatex" +"de modifilo --pdf estos uzata, anstataŭ pdflatex" #: lilypond-book.py:241 lilypond-book.py:246 msgid "PROG" @@ -1325,7 +1325,7 @@ msgstr "eraro: " #: midi2ly.py:94 msgid "Exiting... " -msgstr "Elirado... " +msgstr "Ni haltas... " #: midi2ly.py:835 msgid "found more than 5 voices on a staff, expect bad output" @@ -1347,11 +1347,11 @@ msgstr "printi absolutajn tonaltojn" #: midi2ly.py:1052 midi2ly.py:1080 msgid "DUR" -msgstr "DUR" +msgstr "DAŬ" #: midi2ly.py:1053 msgid "quantise note durations on DUR" -msgstr "proksimigi noto-daŭroj per DUR" +msgstr "proksimigi noto-daŭroj per DAŬ" #: midi2ly.py:1056 msgid "debug printing" @@ -1379,11 +1379,11 @@ msgstr "antaŭvido de la unuaj 4 mezuroj" #: midi2ly.py:1078 msgid "suppress progress messages and warnings about excess voices" -msgstr "forigi mesaĝojn pri progreso kaj avertojn pri troaj voĉoj" +msgstr "formeti mesaĝojn pri progreso kaj avertojn pri troaj voĉoj" #: midi2ly.py:1079 msgid "quantise note starts on DUR" -msgstr "proksimigi noto-komencojn je DUR" +msgstr "proksimigi noto-komencojn je DAŬ" #: midi2ly.py:1083 msgid "use s instead of r for rests" @@ -1391,11 +1391,11 @@ msgstr "uzi s anstataŭ r por paŭzoj" #: midi2ly.py:1085 msgid "DUR*NUM/DEN" -msgstr "DUR*NUM/DEN" +msgstr "DAŬ*NUM/DEN" #: midi2ly.py:1088 msgid "allow tuplet durations DUR*NUM/DEN" -msgstr "ebligi opigajn daŭrojn DUR*NUM/DEN" +msgstr "ebligi opigajn daŭrojn DAŬ*NUM/DEN" #: midi2ly.py:1098 msgid "treat every text as a lyric" @@ -1518,7 +1518,7 @@ msgstr "Konvertado al esprimoj de LilyPond..." #: musicxml2ly.py:2564 msgid "musicxml2ly [OPTION]... FILE.xml" -msgstr "musicxml2ly [ELEKTILO]... DOSIERO.xml" +msgstr "musicxml2ly [MODIFILO]... DOSIERO.xml" #: musicxml2ly.py:2566 msgid "" @@ -1558,11 +1558,11 @@ msgstr "konverti tonaltojn en absoluta reĝimo" #: musicxml2ly.py:2622 msgid "LANG" -msgstr "LINGVO" +msgstr "LING" #: musicxml2ly.py:2624 msgid "use LANG for pitch names, e.g. 'deutsch' for note names in German" -msgstr "uzi LANG por tonalt-nomoj, ekz. 'deutsch' por not-nomoj en la germana" +msgstr "uzi LING por tonalt-nomoj, ekz. 'deutsch' por not-nomoj en la germana" #: musicxml2ly.py:2638 msgid "do not convert directions (^, _ or -) for articulations, dynamics, etc." @@ -1637,22 +1637,22 @@ msgstr "Pri aŭtomata elekto de lingvo." #: getopt-long.cc:153 #, c-format msgid "option `%s' requires an argument" -msgstr "la elektilo '%s' postulas argumenton" +msgstr "la modifilo '%s' postulas argumenton" #: getopt-long.cc:157 #, c-format msgid "option `%s' does not allow an argument" -msgstr "la elektilo '%s' ne permesas argumenton" +msgstr "la modifilo '%s' ne permesas argumenton" #: getopt-long.cc:161 #, c-format msgid "unrecognized option: `%s'" -msgstr "nerekonata elektilo: '%s'" +msgstr "nerekonata modifilo: '%s'" #: getopt-long.cc:167 #, c-format msgid "invalid argument `%s' to option `%s'" -msgstr "malvalida argumento '%s' por la elektilo '%s'" +msgstr "malvalida argumento '%s' por la modifilo '%s'" #: warn.cc:56 #, c-format @@ -2263,7 +2263,7 @@ msgid "" "set Scheme option SYM to VAL (default: #t).\n" "Use -dhelp for help." msgstr "" -"difini elektilon Scheme SIM al VAL (apriore: *t).\n" +"difini modifilon Scheme SIM al VAL (apriore: *t).\n" "Uzu -dhelp por ricevi helpon." #: main.cc:110 @@ -2282,7 +2282,7 @@ msgstr "FORMOj" #: main.cc:113 msgid "dump FORMAT,... Also as separate options:" -msgstr "ŝuti FORMOn,... Ankaŭ kiel apartaj elektebloj:" +msgstr "ŝuti FORMOn,... Ankaŭ kiel apartaj modifiloj:" #: main.cc:114 msgid "generate PDF (default)" @@ -2366,7 +2366,7 @@ msgstr "" #: main.cc:233 #, c-format msgid "Usage: %s [OPTION]... FILE..." -msgstr "Uzado: %s [ELEKTILO]... DOSIERO..." +msgstr "Uzado: %s [MODIFILO]... DOSIERO..." #: main.cc:235 msgid "Typeset music and/or produce MIDI from FILE." @@ -2383,7 +2383,7 @@ msgstr "Por pli da informo, vidu %s" #: main.cc:241 msgid "Options:" -msgstr "Elektebloj:" +msgstr "Modifiloj:" #: main.cc:295 #, c-format @@ -2759,12 +2759,12 @@ msgstr "Tiparo FreeType ne havas tiparnomon PostScript" #: paper-book.cc:214 #, c-format msgid "program option -dprint-pages not supported by backend `%s'" -msgstr "programa elektilo -dprint-pages ne estas subtenata de la intern-interfaco '%s'" +msgstr "programa modifilo -dprint-pages ne estas subtenata de la intern-interfaco '%s'" #: paper-book.cc:233 #, c-format msgid "program option -dpreview not supported by backend `%s'" -msgstr "programa elektilo -dpreview ne estas subtenata de la intern-interfaco '%s'" +msgstr "programa modifilo -dpreview ne estas subtenata de la intern-interfaco '%s'" #: paper-column-engraver.cc:261 msgid "forced break was overridden by some other event, should you be using bar checks?" @@ -2848,7 +2848,7 @@ msgstr "ne eblas trovi la komencon de piano-pedala krampo: '%s'" #: program-option-scheme.cc:235 #, c-format msgid "no such internal option: %s" -msgstr "neniu tia interna elektilo: %s" +msgstr "neniu tia interna modifilo: %s" #: property-iterator.cc:100 #, c-format diff --git a/po/lilypond.pot b/po/lilypond.pot index 88999ff863..90beab4670 100644 --- a/po/lilypond.pot +++ b/po/lilypond.pot @@ -6,10 +6,10 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: lilypond 2.17.10\n" +"Project-Id-Version: lilypond 2.17.12\n" "Report-Msgid-Bugs-To: http://post.gmane.org/post.php?group=gmane.comp.gnu." "lilypond.bugs\n" -"POT-Creation-Date: 2013-01-12 14:13+0000\n" +"POT-Creation-Date: 2013-02-08 17:02+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -888,12 +888,12 @@ msgid "" msgstr "" #: abc2ly.py:1395 convert-ly.py:91 etf2ly.py:1208 lilypond-book.py:231 -#: midi2ly.py:1095 musicxml2ly.py:2590 main.cc:138 +#: midi2ly.py:1095 musicxml2ly.py:2590 main.cc:181 msgid "show version number and exit" msgstr "" #: abc2ly.py:1398 convert-ly.py:95 etf2ly.py:1204 lilypond-book.py:140 -#: midi2ly.py:1062 musicxml2ly.py:2572 main.cc:117 +#: midi2ly.py:1062 musicxml2ly.py:2572 main.cc:160 msgid "show this help and exit" msgstr "" @@ -918,7 +918,7 @@ msgstr "" #. or if there is a LilyPond users list or forum in your language #. "Report bugs in English via %s or in YOUR_LANG via URI" #: abc2ly.py:1413 convert-ly.py:149 etf2ly.py:1218 lilypond-book.py:258 -#: midi2ly.py:1107 musicxml2ly.py:2674 main.cc:249 +#: midi2ly.py:1107 musicxml2ly.py:2674 main.cc:315 #, c-format, python-format msgid "Report bugs via %s" msgstr "" @@ -969,7 +969,7 @@ msgid "" msgstr "" #: convert-ly.py:110 lilypond-book.py:163 lilypond-book.py:181 -#: musicxml2ly.py:2629 main.cc:131 +#: musicxml2ly.py:2629 main.cc:174 msgid "LOGLEVEL" msgstr "" @@ -997,7 +997,7 @@ msgid "convert to VERSION [default: %s]" msgstr "" #: convert-ly.py:144 etf2ly.py:1212 lilypond-book.py:234 midi2ly.py:1096 -#: main.cc:140 +#: main.cc:183 msgid "show warranty and copyright" msgstr "" @@ -1056,7 +1056,7 @@ msgid "" msgstr "" #: etf2ly.py:1210 midi2ly.py:1067 midi2ly.py:1072 musicxml2ly.py:2659 -#: main.cc:123 main.cc:135 +#: main.cc:166 main.cc:178 msgid "FILE" msgstr "" @@ -1096,7 +1096,7 @@ msgid "add DIR to include path" msgstr "" #: lilypond-book.py:143 lilypond-book.py:150 lilypond-book.py:169 -#: lilypond-book.py:187 lilypond-book.py:208 lilypond-book.py:214 main.cc:122 +#: lilypond-book.py:187 lilypond-book.py:208 lilypond-book.py:214 main.cc:165 msgid "DIR" msgstr "" @@ -1682,15 +1682,15 @@ msgstr "" msgid "cannot change, already in translator: %s" msgstr "" -#: axis-group-engraver.cc:104 +#: axis-group-engraver.cc:147 msgid "Axis_group_engraver: vertical group already has a parent" msgstr "" -#: axis-group-engraver.cc:105 +#: axis-group-engraver.cc:148 msgid "are there two Axis_group_engravers?" msgstr "" -#: axis-group-engraver.cc:106 +#: axis-group-engraver.cc:149 msgid "removing this vertical group" msgstr "" @@ -1802,12 +1802,12 @@ msgstr "" msgid "cannot find or create new `%s'" msgstr "" -#: context.cc:207 +#: context.cc:228 #, c-format msgid "cannot find or create `%s' called `%s'" msgstr "" -#: context.cc:406 +#: context.cc:427 #, c-format msgid "cannot find or create: `%s'" msgstr "" @@ -2160,7 +2160,7 @@ msgstr "" msgid "Lyric syllable does not have note. Use \\lyricsto or associatedVoice." msgstr "" -#: main.cc:70 +#: main.cc:104 #, c-format msgid "" "This program is free software. It is covered by the GNU General Public\n" @@ -2169,7 +2169,7 @@ msgid "" "information.\n" msgstr "" -#: main.cc:76 +#: main.cc:110 msgid "" " This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License as \n" @@ -2187,98 +2187,98 @@ msgid "" "Boston, MA 02111-1307, USA.\n" msgstr "" -#: main.cc:105 +#: main.cc:148 msgid "SYM[=VAL]" msgstr "" -#: main.cc:106 +#: main.cc:149 msgid "" "set Scheme option SYM to VAL (default: #t).\n" "Use -dhelp for help." msgstr "" -#: main.cc:110 +#: main.cc:153 msgid "EXPR" msgstr "" -#: main.cc:110 +#: main.cc:153 msgid "evaluate scheme code" msgstr "" #. Bug in option parser: --output =foe is taken as an abbreviation #. for --output-format. -#: main.cc:113 +#: main.cc:156 msgid "FORMATs" msgstr "" -#: main.cc:113 +#: main.cc:156 msgid "dump FORMAT,... Also as separate options:" msgstr "" -#: main.cc:114 +#: main.cc:157 msgid "generate PDF (default)" msgstr "" -#: main.cc:115 +#: main.cc:158 msgid "generate PNG" msgstr "" -#: main.cc:116 +#: main.cc:159 msgid "generate PostScript" msgstr "" -#: main.cc:119 +#: main.cc:162 msgid "FIELD" msgstr "" -#: main.cc:119 +#: main.cc:162 msgid "" "dump header field FIELD to file\n" "named BASENAME.FIELD" msgstr "" -#: main.cc:122 +#: main.cc:165 msgid "add DIR to search path" msgstr "" -#: main.cc:123 +#: main.cc:166 msgid "use FILE as init file" msgstr "" -#: main.cc:126 +#: main.cc:169 msgid "USER, GROUP, JAIL, DIR" msgstr "" -#: main.cc:126 +#: main.cc:169 msgid "" "chroot to JAIL, become USER:GROUP\n" "and cd into DIR" msgstr "" -#: main.cc:131 +#: main.cc:174 msgid "" "print log messages according to LOGLEVEL. Possible values are:\n" "NONE, ERROR, WARNING, BASIC, PROGRESS, INFO (default) and DEBUG." msgstr "" -#: main.cc:135 +#: main.cc:178 msgid "write output to FILE (suffix will be added)" msgstr "" -#: main.cc:136 +#: main.cc:179 msgid "relocate using directory of lilypond program" msgstr "" -#: main.cc:137 +#: main.cc:180 msgid "no progress, only error messages (equivalent to loglevel=ERROR)" msgstr "" -#: main.cc:139 +#: main.cc:182 msgid "be verbose (equivalent to loglevel=DEBUG)" msgstr "" #. Do not update the copyright years here, run `make grand-replace' -#: main.cc:206 +#: main.cc:261 #, c-format msgid "" "Copyright (c) %s by\n" @@ -2286,74 +2286,74 @@ msgid "" msgstr "" #. No version number or newline here. It confuses help2man. -#: main.cc:233 +#: main.cc:299 #, c-format msgid "Usage: %s [OPTION]... FILE..." msgstr "" -#: main.cc:235 +#: main.cc:301 msgid "Typeset music and/or produce MIDI from FILE." msgstr "" -#: main.cc:237 +#: main.cc:303 msgid "LilyPond produces beautiful music notation." msgstr "" -#: main.cc:239 +#: main.cc:305 #, c-format msgid "For more information, see %s" msgstr "" -#: main.cc:241 +#: main.cc:307 msgid "Options:" msgstr "" -#: main.cc:295 +#: main.cc:374 #, c-format msgid "expected %d arguments with jail, found: %u" msgstr "" -#: main.cc:309 +#: main.cc:388 #, c-format msgid "no such user: %s" msgstr "" -#: main.cc:311 +#: main.cc:390 #, c-format msgid "cannot get user id from user name: %s: %s" msgstr "" -#: main.cc:326 +#: main.cc:405 #, c-format msgid "no such group: %s" msgstr "" -#: main.cc:328 +#: main.cc:407 #, c-format msgid "cannot get group id from group name: %s: %s" msgstr "" -#: main.cc:336 +#: main.cc:415 #, c-format msgid "cannot chroot to: %s: %s" msgstr "" -#: main.cc:343 +#: main.cc:422 #, c-format msgid "cannot change group id to: %d: %s" msgstr "" -#: main.cc:349 +#: main.cc:428 #, c-format msgid "cannot change user id to: %d: %s" msgstr "" -#: main.cc:355 +#: main.cc:434 #, c-format msgid "cannot change working directory to: %s: %s" msgstr "" -#: main.cc:601 +#: main.cc:805 #, c-format msgid "exception caught: %s" msgstr "" @@ -3218,76 +3218,76 @@ msgstr "" msgid "Skipping UTF-8 BOM" msgstr "" -#: lexer.ll:271 +#: lexer.ll:265 #, c-format msgid "Renaming input to: `%s'" msgstr "" -#: lexer.ll:288 +#: lexer.ll:282 msgid "quoted string expected after \\version" msgstr "" -#: lexer.ll:292 +#: lexer.ll:286 msgid "quoted string expected after \\sourcefilename" msgstr "" -#: lexer.ll:296 +#: lexer.ll:290 msgid "integer expected after \\sourcefileline" msgstr "" -#: lexer.ll:323 +#: lexer.ll:317 msgid "\\maininput not allowed outside init files" msgstr "" -#: lexer.ll:347 +#: lexer.ll:341 #, c-format msgid "wrong or undefined identifier: `%s'" msgstr "" -#: lexer.ll:373 +#: lexer.ll:367 msgid "string expected after \\include" msgstr "" -#: lexer.ll:383 +#: lexer.ll:377 msgid "end quote missing" msgstr "" -#: lexer.ll:695 +#: lexer.ll:689 msgid "EOF found inside a comment" msgstr "" -#: lexer.ll:700 +#: lexer.ll:694 msgid "EOF found inside string" msgstr "" -#: lexer.ll:715 +#: lexer.ll:709 msgid "Unfinished main input" msgstr "" -#: lexer.ll:815 +#: lexer.ll:809 #, c-format msgid "invalid character: `%s'" msgstr "" -#: lexer.ll:937 +#: lexer.ll:931 #, c-format msgid "unknown escaped string: `\\%s'" msgstr "" -#: lexer.ll:1220 +#: lexer.ll:1214 msgid "non-UTF-8 input" msgstr "" -#: lexer.ll:1264 +#: lexer.ll:1258 #, c-format msgid "file too old: %s (oldest supported: %s)" msgstr "" -#: lexer.ll:1265 +#: lexer.ll:1259 msgid "consider updating the input with the convert-ly script" msgstr "" -#: lexer.ll:1271 +#: lexer.ll:1265 #, c-format msgid "program too old: %s (file requires: %s)" msgstr "" @@ -3533,37 +3533,37 @@ msgstr "" msgid "Error in beam quanting. Expected ~S 0, found ~S." msgstr "" -#: lily-library.scm:304 +#: lily-library.scm:340 msgid "Music unsuitable for context-mod" msgstr "" -#: lily-library.scm:359 +#: lily-library.scm:395 #, scheme-format msgid "Cannot find context-def \\~a" msgstr "" -#: lily-library.scm:375 +#: lily-library.scm:411 msgid "Music unsuitable for output-def" msgstr "" -#: lily-library.scm:891 +#: lily-library.scm:927 msgid "" "Find the index between @var{start} and @var{end} (an integer)\n" "which produces the closest match to @var{target-val} if\n" "applied to function @var{getter}." msgstr "" -#: lily-library.scm:965 +#: lily-library.scm:1001 #, scheme-format msgid "unknown unit: ~S" msgstr "" -#: lily-library.scm:990 +#: lily-library.scm:1026 #, scheme-format msgid "no \\version statement found, please add~afor future compatibility" msgstr "" -#: lily-library.scm:996 +#: lily-library.scm:1032 msgid "old relative compatibility not used" msgstr "" @@ -3696,25 +3696,25 @@ msgstr "" msgid "music expected: ~S" msgstr "" -#: music-functions.scm:1118 +#: music-functions.scm:1138 #, scheme-format msgid "cannot find quoted music: `~S'" msgstr "" -#: music-functions.scm:1256 +#: music-functions.scm:1276 msgid "Add @var{octave-shift} to the octave of @var{pitch}." msgstr "" -#: music-functions.scm:1316 +#: music-functions.scm:1336 #, scheme-format msgid "Unknown octaveness type: ~S " msgstr "" -#: music-functions.scm:1317 +#: music-functions.scm:1337 msgid "Defaulting to 'any-octave." msgstr "" -#: music-functions.scm:1662 +#: music-functions.scm:1682 #, scheme-format msgid "unknown accidental style: ~S" msgstr "" @@ -3797,40 +3797,40 @@ msgstr "" msgid "assertion failed: ~S" msgstr "" -#: translation-functions.scm:375 +#: translation-functions.scm:374 #, scheme-format msgid "Negative fret for pitch ~a on string ~a" msgstr "" -#: translation-functions.scm:378 +#: translation-functions.scm:377 #, scheme-format msgid "Missing fret for pitch ~a on string ~a" msgstr "" -#: translation-functions.scm:421 +#: translation-functions.scm:420 #, scheme-format msgid "No open string for pitch ~a" msgstr "" -#: translation-functions.scm:436 translation-functions.scm:448 +#: translation-functions.scm:435 translation-functions.scm:447 #, scheme-format msgid "Requested string for pitch requires negative fret: string ~a pitch ~a" msgstr "" -#: translation-functions.scm:439 +#: translation-functions.scm:438 msgid "Ignoring string request and recalculating." msgstr "" -#: translation-functions.scm:451 +#: translation-functions.scm:450 msgid "Ignoring note in tablature." msgstr "" -#: translation-functions.scm:474 +#: translation-functions.scm:473 #, scheme-format msgid "No string for pitch ~a (given frets ~a)" msgstr "" -#: translation-functions.scm:579 +#: translation-functions.scm:578 #, scheme-format msgid "" "No label for fret ~a (on string ~a);\n" diff --git a/python/convertrules.py b/python/convertrules.py index da8b20fc94..a1c8d507a6 100644 --- a/python/convertrules.py +++ b/python/convertrules.py @@ -3481,6 +3481,45 @@ def conv (str): path_replace, str) return str +@rule ((2, 17, 11), r"""\times -> \tuplet, \set tupletSpannerDuration -> \tupletSpan +(ly:make-moment 1 4) -> (ly:make-moment 1/4) +(ly:make-duration 0 0 1 2) -> (ly:make-duration 0 0 1/2)""") +def conv(str): + def sub_dur (m): + num = int (m.group (1)) + den = int (m.group (2)) + +# if den is no power of 2, don't even try to use an unscaled duration + if (den & (den - 1)) != 0 : + return (r"\tupletSpan 1*%d/%d" % (num, den)) + + if den >= 4 and num == 7 : + return (r"\tupletSpan %d.." % (den/4)) + + if den >= 2 and num == 3 : + return (r"\tupletSpan %d." % (den/2)) + + if num == 1 : + return (r"\tupletSpan %d" % den) + + return (r"\tupletSpan 1*%d/%d" % (num, den)) + + str = re.sub (r"\\set\s+tupletSpannerDuration\s*=\s*" + + r"#\(ly:make-moment\s+([0-9]+)\s+([0-9]+)\s*\)", + sub_dur, str) + str = re.sub (r"\\unset tupletSpannerDuration", + r"\\tupletSpan \\default", str) + str = re.sub (r"\\times(\s*)([0-9]+)/([0-9]+)", + r"\\tuplet\1\3/\2", str) + + str = re.sub (r"(\(ly:make-moment\s+-?[0-9]+)\s+([1-9][0-9]*\))", + r"\1/\2", str) + str = re.sub (r"(\(ly:make-moment\s+-?[0-9]+)\s+([0-9]+\s+-?[0-9]+)\s([0-9]+\))", + r"\1/\2/\3", str) + str = re.sub (r"(\(ly:make-duration\s+-?[0-9]+\s+[0-9]+\s+[0-9]+)\s+([0-9]+\))", + r"\1/\2", 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/scm/bar-line.scm b/scm/bar-line.scm index 3cc956ee1c..8ac123e11e 100644 --- a/scm/bar-line.scm +++ b/scm/bar-line.scm @@ -327,34 +327,28 @@ is not used within the routine." line-pos) <)) (gap-to-find (/ (+ dot-y-length line-thickness) (/ staff-space 2))) - (first (car folded-staff)) - (found #f)) + (first (car folded-staff))) ;; find the first space big enough ;; to hold a dot and a staff line ;; (a space in the folded staff may be ;; narrower but can't be wider than the ;; corresponding original spaces) - (reduce (lambda (x y) (if (and (> (- x y) gap-to-find) - (not found)) - (begin - (set! found #t) - (set! dist (+ x y)))) - x) - "" - folded-staff) - - (if (not found) - (set! dist (if (< gap-to-find first) - ;; there's a central space big - ;; enough to hold both dots - first - - ;; dots should go outside - (+ (* 2 (car - (reverse folded-staff))) - (/ (* 4 dot-y-length) - staff-space)))))))))))) + (set! dist + (or + (any (lambda (x y) + (and (> (- y x) gap-to-find) + (+ x y))) + folded-staff (cdr folded-staff)) + (if (< gap-to-find first) + ;; there's a central space big + ;; enough to hold both dots + first + + ;; dots should go outside + (+ (* 2 (last folded-staff)) + (/ (* 4 dot-y-length) + staff-space)))))))))))) (set! staff-space 1.0)) (let* ((stencil empty-stencil) diff --git a/scm/c++.scm b/scm/c++.scm index 8d1df2aed7..f0c5d3aea9 100644 --- a/scm/c++.scm +++ b/scm/c++.scm @@ -62,6 +62,9 @@ (define-public (number-or-string? x) (or (number? x) (string? x))) +(define-public (number-or-markup? x) + (or (number? x) (markup? x))) + (define-public (string-or-pair? x) (or (string? x) (pair? x))) diff --git a/scm/chord-ignatzek-names.scm b/scm/chord-ignatzek-names.scm index 69381836a7..b90d7c4ed5 100644 --- a/scm/chord-ignatzek-names.scm +++ b/scm/chord-ignatzek-names.scm @@ -284,8 +284,7 @@ work than classifying the pitches." (= 7 (pitch-step main-name)) (is-natural-alteration? main-name) (pair? (remove-uptil-step 7 alterations)) - (reduce (lambda (x y) (and x y)) #t - (map is-natural-alteration? alterations))) + (every is-natural-alteration? alterations)) (begin (set! main-name (last alterations)) (set! alterations '()))) diff --git a/scm/define-context-properties.scm b/scm/define-context-properties.scm index 1aaf582cd7..e9239fc65f 100644 --- a/scm/define-context-properties.scm +++ b/scm/define-context-properties.scm @@ -44,6 +44,9 @@ ;; TODO FIXME + (accidentalGrouping ,symbol? "If set to @code{'voice}, accidentals +on the same note in different octaves may be horizontally staggered +if in different voices.") (aDueText ,markup? "Text to print at a unisono passage.") (additionalPitchPrefix ,string? "Text with which to prefix additional pitches within a chord name.") @@ -635,7 +638,6 @@ proceeding to next time step. This is an internal variable.") (graceSettings ,list? "Overrides for grace notes. This property should be manipulated through the @code{add-grace-property} function.") - (hasStaffSpacing ,boolean? "True if the current @code{CommandColumn} contains items that will affect spacing.") diff --git a/scm/define-event-classes.scm b/scm/define-event-classes.scm index 09dfbf79a3..c8ecbcf227 100644 --- a/scm/define-event-classes.scm +++ b/scm/define-event-classes.scm @@ -140,7 +140,7 @@ (list 'unquote `(ly:make-moment ,(ly:moment-main-numerator e) ,(ly:moment-main-denominator e) - . ,(if (eq? 0 (ly:moment-grace-numerator e)) + . ,(if (zero? (ly:moment-grace-numerator e)) '() (list (ly:moment-grace-numerator e) (ly:moment-grace-denominator e)))))) diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm index 47db681b6a..cc4a9c76e9 100644 --- a/scm/define-grobs.scm +++ b/scm/define-grobs.scm @@ -1333,12 +1333,14 @@ (outside-staff-padding . 0.5) (outside-staff-priority . 750) (self-alignment-X . ,CENTER) + (side-axis . ,Y) (staff-padding . 0.5) (stencil . ,measure-counter-stencil) (meta . ((class . Spanner) (interfaces . (font-interface measure-counter-interface self-alignment-interface + side-position-interface text-interface)))))) (MeasureGrouping diff --git a/scm/define-markup-commands.scm b/scm/define-markup-commands.scm index f4cf31dd3b..92b4b704eb 100755 --- a/scm/define-markup-commands.scm +++ b/scm/define-markup-commands.scm @@ -898,7 +898,7 @@ samplePath = (new-commands (map (lambda (x) (cond ;; for rmoveto, rlineto - ((and (relative? x) (eq? 3 (length x))) + ((and (relative? x) (= 3 (length x))) (let ((cp (cons (+ (car current-point) (second x)) @@ -908,7 +908,7 @@ samplePath = (list (car cp) (cdr cp)))) ;; for rcurveto - ((and (relative? x) (eq? 7 (length x))) + ((and (relative? x) (= 7 (length x))) (let* ((old-cp current-point) (cp (cons (+ (car old-cp) @@ -923,12 +923,12 @@ samplePath = (car cp) (cdr cp)))) ;; for moveto, lineto - ((eq? 3 (length x)) + ((= 3 (length x)) (set-point (cons (second x) (third x))) (drop x 1)) ;; for curveto - ((eq? 7 (length x)) + ((= 7 (length x)) (set-point (cons (sixth x) (seventh x))) (drop x 1)) @@ -3204,12 +3204,16 @@ A feta brace in point size @var{size}, rotated 180 degrees. (number? number? number?) #:category music #:properties ((font-size 0) - (style '())) + (flag-style '()) + (style '())) " @cindex notes within text by log and dot-count -Construct a note symbol, with stem. By using fractional values for +Construct a note symbol, with stem and flag. By using fractional values for @var{dir}, longer or shorter stems can be obtained. +Supports all note-head-styles. +Supported flag-styles are @code{default}, @code{old-straight-flag} and +@code{modern-straight-flag}. @lilypond[verbatim,quote] \\markup { @@ -3220,56 +3224,120 @@ Construct a note symbol, with stem. By using fractional values for @end lilypond" (define (get-glyph-name-candidates dir log style) (map (lambda (dir-name) - (format #f "noteheads.~a~a" dir-name - (if (and (symbol? style) - (not (equal? 'default style))) - (select-head-glyph style (min log 2)) - (min log 2)))) - (list (if (= dir UP) "u" "d") - "s"))) + (format #f "noteheads.~a~a" dir-name + (if (and (symbol? style) + (not (equal? 'default style))) + (select-head-glyph style (min log 2)) + (min log 2)))) + (list (if (= dir UP) "u" "d") + "s"))) (define (get-glyph-name font cands) (if (null? cands) - "" - (if (ly:stencil-empty? (ly:font-get-glyph font (car cands))) - (get-glyph-name font (cdr cands)) - (car cands)))) + "" + (if (ly:stencil-empty? (ly:font-get-glyph font (car cands))) + (get-glyph-name font (cdr cands)) + (car cands)))) + + (define (buildflags flag-stencil remain curr-stencil spacing) + ;; Function to recursively create a stencil with @code{remain} flags + ;; from the single-flag stencil @code{curr-stencil}, which is already + ;; translated to the position of the previous flag position. + ;; + ;; Copy and paste from /scm/flag-styles.scm + (if (> remain 0) + (let* ((translated-stencil + (ly:stencil-translate-axis curr-stencil spacing Y)) + (new-stencil (ly:stencil-add flag-stencil translated-stencil))) + (buildflags new-stencil (- remain 1) translated-stencil spacing)) + flag-stencil)) + + (define (straight-flag-mrkp flag-thickness flag-spacing + upflag-angle upflag-length + downflag-angle downflag-length + dir) + ;; Create a stencil for a straight flag. @var{flag-thickness} and + ;; @var{flag-spacing} are given in staff spaces, @var{upflag-angle} and + ;; @var{downflag-angle} are given in degrees, and @var{upflag-length} and + ;; @var{downflag-length} are given in staff spaces. + ;; + ;; All lengths are scaled according to the font size of the note. + ;; + ;; From /scm/flag-styles.scm, modified to fit here. + + (let* ((stem-up (> dir 0)) + ; scale with the note size + (factor (magstep font-size)) + (stem-thickness (* factor 0.1)) + (line-thickness (ly:output-def-lookup layout 'line-thickness)) + (half-stem-thickness (/ (* stem-thickness line-thickness) 2)) + (raw-length (if stem-up upflag-length downflag-length)) + (angle (if stem-up upflag-angle downflag-angle)) + (flag-length (+ (* raw-length factor) half-stem-thickness)) + (flag-end (polar->rectangular flag-length angle)) + (thickness (* flag-thickness factor)) + (thickness-offset (cons 0 (* -1 thickness dir))) + (spacing (* -1 flag-spacing factor dir)) + (start (cons (- half-stem-thickness) (* half-stem-thickness dir))) + ; The points of a round-filled-polygon need to be given in + ; clockwise order, otherwise the polygon will be enlarged by + ; blot-size*2! + (points (if stem-up (list start flag-end + (offset-add flag-end thickness-offset) + (offset-add start thickness-offset)) + (list start + (offset-add start thickness-offset) + (offset-add flag-end thickness-offset) + flag-end))) + (stencil (ly:round-filled-polygon points half-stem-thickness)) + ; Log for 1/8 is 3, so we need to subtract 3 + (flag-stencil (buildflags stencil (- log 3) stencil spacing))) + flag-stencil)) (let* ((font (ly:paper-get-font layout (cons '((font-encoding . fetaMusic)) - props))) - (size-factor (magstep font-size)) - (stem-length (* size-factor (max 3 (- log 1)))) + props))) + (size-factor (magstep font-size)) + (blot (ly:output-def-lookup layout 'blot-diameter)) (head-glyph-name - (let ((result (get-glyph-name font (get-glyph-name-candidates - (sign dir) log style)))) - (if (string-null? result) - ;; If no glyph name can be found, select default heads. Though - ;; this usually means an unsupported style has been chosen, it - ;; also prevents unrelated 'style settings from other grobs - ;; (e.g., TextSpanner and TimeSignature) leaking into markup. - (get-glyph-name font (get-glyph-name-candidates - (sign dir) log 'default)) - result))) + (let ((result (get-glyph-name font + (get-glyph-name-candidates + (sign dir) log style)))) + (if (string-null? result) + ;; If no glyph name can be found, select default heads. + ;; Though this usually means an unsupported style has been + ;; chosen, it also prevents unrelated 'style settings from + ;; other grobs (e.g., TextSpanner and TimeSignature) leaking + ;; into markup. + (get-glyph-name font + (get-glyph-name-candidates + (sign dir) log 'default)) + result))) (head-glyph (ly:font-get-glyph font head-glyph-name)) - (attach-indices (ly:note-head::stem-attachment font head-glyph-name)) - (stem-thickness (* size-factor 0.13)) + (ancient-flags? (or (eq? style 'mensural) (eq? style 'neomensural))) + (attach-indices (ly:note-head::stem-attachment font head-glyph-name)) + (stem-length (* size-factor (max 3 (- log 1)))) + ;; With ancient-flags we want a tighter stem + (stem-thickness (* size-factor (if ancient-flags? 0.1 0.13))) (stemy (* dir stem-length)) (attach-off (cons (interval-index - (ly:stencil-extent head-glyph X) - (* (sign dir) (car attach-indices))) - (* (sign dir) ; fixme, this is inconsistent between X & Y. - (interval-index - (ly:stencil-extent head-glyph Y) - (cdr attach-indices))))) + (ly:stencil-extent head-glyph X) + (* (sign dir) (car attach-indices))) + ; fixme, this is inconsistent between X & Y. + (* (sign dir) + (interval-index + (ly:stencil-extent head-glyph Y) + (cdr attach-indices))))) + ;; For a tighter stem (with ancient-flags) the stem-width has to be + ;; adjusted. + (stem-X-corr (if ancient-flags? (* 0.5 dir stem-thickness) 0)) (stem-glyph (and (> log 0) - (ly:round-filled-box - (ordered-cons (car attach-off) - (+ (car attach-off) - (* (- (sign dir)) stem-thickness))) - (cons (min stemy (cdr attach-off)) - (max stemy (cdr attach-off))) - (/ stem-thickness 3)))) - + (ly:round-filled-box + (ordered-cons (+ stem-X-corr (car attach-off)) + (+ stem-X-corr (car attach-off) + (* (- (sign dir)) stem-thickness))) + (cons (min stemy (cdr attach-off)) + (max stemy (cdr attach-off))) + (/ stem-thickness 3)))) (dot (ly:font-get-glyph font "dots.dot")) (dotwid (interval-length (ly:stencil-extent dot X))) (dots (and (> dot-count 0) @@ -3278,22 +3346,45 @@ Construct a note symbol, with stem. By using fractional values for (ly:stencil-translate-axis dot (* 2 x dotwid) X)) (iota dot-count))))) + ;; Straight-flags. Values taken from /scm/flag-style.scm + (modern-straight-flag (straight-flag-mrkp 0.55 1 -18 1.1 22 1.2 dir)) + (old-straight-flag (straight-flag-mrkp 0.55 1 -45 1.2 45 1.4 dir)) + ;; Calculate a corrective to avoid a gap between + ;; straight-flags and the stem. + (flag-style-Y-corr (if (or (eq? flag-style 'modern-straight-flag) + (eq? flag-style 'old-straight-flag)) + (/ blot 10 (* -1 dir)) + 0)) (flaggl (and (> log 2) (ly:stencil-translate - (ly:font-get-glyph font - (string-append "flags." - (if (> dir 0) "u" "d") - (number->string log))) - (cons (+ (car attach-off) (if (< dir 0) - stem-thickness 0)) - stemy))))) + (cond ((eq? flag-style 'modern-straight-flag) + modern-straight-flag) + ((eq? flag-style 'old-straight-flag) + old-straight-flag) + (else + (ly:font-get-glyph font + (format #f (if ancient-flags? + "flags.mensural~a2~a" + "flags.~a~a") + (if (> dir 0) "u" "d") + log)))) + (cons (+ (car attach-off) + ;; For tighter stems (with ancient-flags) the + ;; flag has to be adjusted different. + (if (and (not ancient-flags?) (< dir 0)) + stem-thickness + 0)) + (+ stemy flag-style-Y-corr)))))) ;; If there is a flag on an upstem and the stem is short, move the dots ;; to avoid the flag. 16th notes get a special case because their flags ;; hang lower than any other flags. + ;; Not with ancient flags or straight-flags. (if (and dots (> dir 0) (> log 2) - (or (< dir 1.15) (and (= log 4) (< dir 1.3)))) - (set! dots (ly:stencil-translate-axis dots 0.5 X))) + (or (eq? flag-style 'default) (null? flag-style)) + (not ancient-flags?) + (or (< dir 1.15) (and (= log 4) (< dir 1.3)))) + (set! dots (ly:stencil-translate-axis dots 0.5 X))) (if flaggl (set! stem-glyph (ly:stencil-add flaggl stem-glyph))) (if (ly:stencil? stem-glyph) @@ -3302,11 +3393,11 @@ Construct a note symbol, with stem. By using fractional values for (if (ly:stencil? dots) (set! stem-glyph (ly:stencil-add - (ly:stencil-translate-axis - dots - (+ (cdr (ly:stencil-extent head-glyph X)) dotwid) - X) - stem-glyph))) + (ly:stencil-translate-axis + dots + (+ (cdr (ly:stencil-extent head-glyph X)) dotwid) + X) + stem-glyph))) stem-glyph)) (define-public log2 @@ -3317,7 +3408,7 @@ Construct a note symbol, with stem. By using fractional values for "Parse the `duration-string', e.g. ''4..'' or ''breve.'', and return a (log dots) list." (let ((match (regexp-exec (make-regexp "(breve|longa|maxima|[0-9]+)(\\.*)") - duration-string))) + duration-string))) (if (and match (string=? duration-string (match:substring match 0))) (let ((len (match:substring match 1)) (dots (match:substring match 2))) diff --git a/scm/define-music-callbacks.scm b/scm/define-music-callbacks.scm index de442ba6d6..723ed130ec 100644 --- a/scm/define-music-callbacks.scm +++ b/scm/define-music-callbacks.scm @@ -92,11 +92,11 @@ to be used by the sequential-iterator" (lambda (context) (let* ((time-signature-settings (ly:context-property context 'timeSignatureSettings)) - (my-base-fraction - (base-fraction fraction time-signature-settings)) + (my-base-length + (base-length fraction time-signature-settings)) (my-beat-structure (if (null? structure) - (beat-structure my-base-fraction + (beat-structure my-base-length fraction time-signature-settings) structure)) @@ -106,7 +106,7 @@ to be used by the sequential-iterator" (ly:context-set-property! context 'timeSignatureFraction fraction) (ly:context-set-property! - context 'baseMoment (fraction->moment my-base-fraction)) + context 'baseMoment (ly:make-moment my-base-length)) (ly:context-set-property! context 'beatStructure my-beat-structure) (ly:context-set-property! diff --git a/scm/define-music-display-methods.scm b/scm/define-music-display-methods.scm index e5d511675e..dc10fa265f 100644 --- a/scm/define-music-display-methods.scm +++ b/scm/define-music-display-methods.scm @@ -661,6 +661,10 @@ Otherwise, return #f." (define-display-method TimeScaledMusic (times parser) (let* ((num (ly:music-property times 'numerator)) (den (ly:music-property times 'denominator)) + (span (ly:music-property times 'duration #f)) + ;; need to format before changing time scale + (formatted-span + (and span (duration->lily-string span #:force-duration #t))) (scale (/ num den)) (dur (*previous-duration*)) (time-scale (*time-scale*))) @@ -672,9 +676,10 @@ Otherwise, return #f." (* (ly:duration-scale dur) scale))) (*time-scale* (* time-scale scale))) - (format #f "\\times ~a/~a ~a" - num + (format #f "\\tuplet ~a/~a ~@[~a ~]~a" den + num + formatted-span (music->lily-string (ly:music-property times 'element) parser))))) (define-display-method RelativeOctaveMusic (m parser) diff --git a/scm/define-music-properties.scm b/scm/define-music-properties.scm index 42aa0e0238..dbad0cf092 100644 --- a/scm/define-music-properties.scm +++ b/scm/define-music-properties.scm @@ -133,8 +133,6 @@ For chord inversions, this is negative.") (ops ,scheme? "The operations to apply during the creation of a context.") (origin ,ly:input-location? "Where was this piece of music defined?") - (original-chord ,ly:music? "Original chord of a repeated chord. -Used by repeated chords in \\relative mode, to determine the first note octave") (ottava-number ,integer? "The octavation for @code{\\ottava}.") (page-break-permission ,symbol? "When the music is at top-level, diff --git a/scm/define-music-types.scm b/scm/define-music-types.scm index dc93024041..e7d121b411 100644 --- a/scm/define-music-types.scm +++ b/scm/define-music-types.scm @@ -376,6 +376,7 @@ Syntax: @code{\\override} [ @var{context} @code{.} ] (types . (general-music layout-instruction-event override-property-event)) (iterator-ctor . ,ly:push-property-iterator::constructor) + (untransposable . #t) )) (PageBreakEvent @@ -442,6 +443,7 @@ Syntax: @var{note}@code{\\(} and @var{note}@code{\\)}") Syntax: @code{\\set @var{context}.@var{prop} = @var{scheme-val}}") (types . (layout-instruction-event general-music)) (iterator-ctor . ,ly:property-iterator::constructor) + (untransposable . #t) )) (PropertyUnset diff --git a/scm/define-woodwind-diagrams.scm b/scm/define-woodwind-diagrams.scm index f60ba5a43b..d2da0dda0b 100644 --- a/scm/define-woodwind-diagrams.scm +++ b/scm/define-woodwind-diagrams.scm @@ -76,30 +76,17 @@ returns @samp{1/3}." "Returns true if x is the square of a value in input-list." (pair? (memv (inexact->exact (sqrt x)) input-list))) -(define (satisfies-function? function input-list) - "Returns true if an element in @code{input-list} is true - when @code{function} is applied to it. - For example: - @code{guile> (satisfies-function? null? '((1 2) ()))} - @code{#t} - @code{guile> (satisfies-function? null? '((1 2) (3)))} - @code{#f}" - (if (null? input-list) - #f - (or (function (car input-list)) - (satisfies-function? function (cdr input-list))))) - (define (true-entry? input-list) "Is there a true entry in @code{input-list}?" - (satisfies-function? identity input-list)) + (any identity input-list)) (define (entry-greater-than-x? input-list x) "Is there an entry greater than @code{x} in @code{input-list}?" - (satisfies-function? (lambda (y) (> y x)) input-list)) + (any (lambda (y) (> y x)) input-list)) (define (n-true-entries input-list) "Returns number of true entries in @code{input-list}." - (reduce + 0 (map (lambda (x) (if x 1 0)) input-list))) + (count identity input-list)) (define (bezier-head-for-stencil bezier cut-point) "Prepares a split-bezier to be used in a connected path stencil." diff --git a/scm/lily-library.scm b/scm/lily-library.scm index ecf5a4598f..5b39cc46ff 100644 --- a/scm/lily-library.scm +++ b/scm/lily-library.scm @@ -541,19 +541,12 @@ For example: (helper lst (make-vector n '()) (1- n))) (define (list-element-index lst x) - (list-index (lambda (m) (equal? m x)))) + (list-index (lambda (m) (equal? m x)) lst)) (define-public (count-list lst) "Given @var{lst} as @code{(E1 E2 .. )}, return @code{((E1 . 1) (E2 . 2) ... )}." - - (define (helper l acc count) - (if (pair? l) - (helper (cdr l) (cons (cons (car l) count) acc) (1+ count)) - acc)) - - - (reverse (helper lst '() 1))) + (map cons lst (iota (length lst) 1))) (define-public (list-join lst intermediate) "Put @var{intermediate} between all elts of @var{lst}." diff --git a/scm/lily.scm b/scm/lily.scm index 4905e0687b..e5e8cd93d6 100644 --- a/scm/lily.scm +++ b/scm/lily.scm @@ -575,6 +575,7 @@ messages into errors.") (,moment-pair? . "pair of moment objects") (,number-list? . "number list") (,number-or-grob? . "number or grob") + (,number-or-markup? . "number or markup") (,number-or-pair? . "number or pair") (,number-or-string? . "number or string") (,number-pair? . "pair of numbers") diff --git a/scm/ly-syntax-constructors.scm b/scm/ly-syntax-constructors.scm index 9cbec5fc4f..4cbf9a67aa 100644 --- a/scm/ly-syntax-constructors.scm +++ b/scm/ly-syntax-constructors.scm @@ -141,16 +141,8 @@ into a @code{MultiMeasureTextEvent}." (if (memq 'script-event (ly:music-property music 'types)) - (let* ((location (ly:music-property music 'origin)) - (dir (ly:music-property music 'direction)) - (tags (ly:music-property music 'tags)) - (p (make-music 'MultiMeasureTextEvent - 'origin location - 'tags tags - 'text (ly:music-property music 'text)))) - (if (ly:dir? dir) - (set! (ly:music-property p 'direction) dir)) - p) + (apply make-music 'MultiMeasureTextEvent + (flatten-alist (ly:music-mutable-properties music))) music)) (define-ly-syntax (multi-measure-rest parser location duration articulations) diff --git a/scm/music-functions.scm b/scm/music-functions.scm index 42102a1ee8..bb5bb9ab88 100644 --- a/scm/music-functions.scm +++ b/scm/music-functions.scm @@ -806,7 +806,7 @@ NUMBER is 0-base, i.e., Voice=1 (upstems) has number 0. (if (ly:music? e) (set! (ly:music-property m 'element) (voicify-music e))) (if (and (equal? (ly:music-property m 'name) 'SimultaneousMusic) - (reduce (lambda (x y ) (or x y)) #f (map music-separator? es))) + (any music-separator? es)) (set! m (context-spec-music (voicify-chord m) 'Staff))) m)) @@ -843,17 +843,37 @@ NUMBER is 0-base, i.e., Voice=1 (upstems) has number 0. (define-public (music-has-type music type) (memq type (ly:music-property music 'types))) -(define-public (music-clone music) - (define (alist->args alist acc) - (if (null? alist) - acc - (alist->args (cdr alist) - (cons (caar alist) (cons (cdar alist) acc))))) - - (apply - make-music - (ly:music-property music 'name) - (alist->args (ly:music-mutable-properties music) '()))) +(define-public (music-clone music . music-properties) + "Clone @var{music} and set properties according to +@var{music-properties}, a list of alternating property symbols and +values: +@example\n(music-clone start-span 'span-direction STOP) +@end example +Only properties that are not overriden by @var{music-properties} are +actually fully cloned." + (let ((old-props (list-copy (ly:music-mutable-properties music))) + (new-props '()) + (m (ly:make-music (ly:prob-immutable-properties music)))) + (define (set-props mus-props) + (if (and (not (null? mus-props)) + (not (null? (cdr mus-props)))) + (begin + (set! old-props (assq-remove! old-props (car mus-props))) + (set! new-props + (assq-set! new-props + (car mus-props) (cadr mus-props))) + (set-props (cddr mus-props))))) + (set-props music-properties) + (for-each + (lambda (pair) + (set! (ly:music-property m (car pair)) + (ly:music-deep-copy (cdr pair)))) + old-props) + (for-each + (lambda (pair) + (set! (ly:music-property m (car pair)) (cdr pair))) + new-props) + m)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; warn for bare chords at start. @@ -1849,6 +1869,40 @@ yourself." (map (lambda (x) (ly:music-property x 'pitch)) (event-chord-notes event-chord))) +(defmacro-public make-relative (pitches last-pitch music) + "The list of pitch-carrying variables in @var{pitches} is used as a +sequence for creating relativable music from @var{music}. +The variables in @var{pitches} are, when considered inside of +@code{\\relative}, all considered to be specifications to the preceding +variable. The first variable is relative to the preceding musical +context, and @var{last-pitch} specifies the pitch passed as relative +base onto the following musical context." + + ;; pitch and music generator might be stored instead in music + ;; properties, and it might make sense to create a music type of its + ;; own for this kind of construct rather than using + ;; RelativeOctaveMusic + (define ((make-relative::to-relative-callback pitches p->m p->p) music pitch) + (let* ((chord (make-event-chord + (map + (lambda (p) + (make-music 'NoteEvent + 'pitch p)) + pitches))) + (pitchout (begin + (ly:make-music-relative! chord pitch) + (event-chord-pitches chord)))) + (set! (ly:music-property music 'element) + (apply p->m pitchout)) + (apply p->p pitchout))) + `(make-music 'RelativeOctaveMusic + 'to-relative-callback + (,make-relative::to-relative-callback + (list ,@pitches) + (lambda ,pitches ,music) + (lambda ,pitches ,last-pitch)) + 'element ,music)) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; The following functions are all associated with the crossStaff ; function diff --git a/scm/output-lib.scm b/scm/output-lib.scm index 024788036e..bcb65588a4 100644 --- a/scm/output-lib.scm +++ b/scm/output-lib.scm @@ -872,24 +872,21 @@ and duration-log @var{log}." ;; fingering (define-public (fingering::calc-text grob) - (let* ((event (event-cause grob)) - (digit (ly:event-property event 'digit))) - - (number->string digit 10))) + (let ((event (event-cause grob))) + (or (ly:event-property event 'text #f) + (number->string (ly:event-property event 'digit) 10)))) (define-public (string-number::calc-text grob) - (let ((digit (ly:event-property (event-cause grob) 'string-number))) - - (number->string digit 10))) + (let ((event (event-cause grob))) + (or (ly:event-property event 'text #f) + (number->string (ly:event-property event 'string-number) 10)))) (define-public (stroke-finger::calc-text grob) - (let* ((digit (ly:event-property (event-cause grob) 'digit)) - (text (ly:event-property (event-cause grob) 'text))) - - (if (string? text) - text + (let ((event (event-cause grob))) + (or (ly:event-property event 'text #f) (vector-ref (ly:grob-property grob 'digit-names) - (1- (max (min 5 digit) 1)))))) + (1- (max 1 + (min 5 (ly:event-property event 'digit)))))))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/scm/parser-clef.scm b/scm/parser-clef.scm index b2c6dc2084..56284f9c4d 100644 --- a/scm/parser-clef.scm +++ b/scm/parser-clef.scm @@ -170,74 +170,30 @@ (define-public (make-cue-clef-set clef-name) "Generate the clef setting commands for a cue clef with name @var{clef-name}." - (define (make-prop-set props) - (let ((m (make-music 'PropertySet))) - (map (lambda (x) (set! (ly:music-property m (car x)) (cdr x))) props) - m)) - (let ((e '()) - (c0 0) - (oct 0) - (style 'default) - (match (string-match "^(.*)([_^])([^0-9a-zA-Z]*)([1-9][0-9]*)([^0-9a-zA-Z]*)$" clef-name))) - (if match - (begin - (set! clef-name (match:substring match 1)) - (set! oct - (* (if (equal? (match:substring match 2) "^") -1 1) - (- (string->number (match:substring match 4)) 1))) - (set! style - (cond ((equal? (match:substring match 3) "(") 'parenthesized) - ((equal? (match:substring match 3) "[") 'bracketed) - (else style))))) - (set! e (assoc-get clef-name supported-clefs)) - (if e - (let* ((prop-list `(((symbol . cueClefGlyph) (value . ,(car e))) - ((symbol . middleCCuePosition) - (value . ,(+ oct - (cadr e) - (assoc-get (car e) c0-pitch-alist)))) - ((symbol . cueClefPosition) (value . ,(cadr e))) - ((symbol . cueClefOctavation) (value . ,(- oct))))) - (prop-list (if (eq? style 'default) - prop-list - (append - prop-list - `(((symbol . cueClefOctavationStyle) - (value . ,style)))))) - (musics (map make-prop-set prop-list)) - (recalc-mid-C (make-music 'ApplyContext)) - (seq (make-music 'SequentialMusic - 'elements (append musics (list recalc-mid-C)))) - (csp (make-music 'ContextSpeccedMusic))) - (set! (ly:music-property recalc-mid-C 'procedure) ly:set-middle-C!) - (context-spec-music seq 'Staff)) - (begin - (ly:warning (_ "unknown clef type `~a'") clef-name) - (ly:warning (_ "supported clefs: ~a") - (string-join - (sort (map car supported-clefs) string= maximum-stretch (abs (- fret specced-fret))))) - specified-frets)))) + (every (lambda (specced-fret) + (or (zero? specced-fret) + (zero? fret) + (>= maximum-stretch (abs (- fret specced-fret))))) + specified-frets)) (define (string-qualifies string pitch) "Can @var{pitch} be played on @var{string}, given already placed notes?" (let* ((fret (calc-fret pitch string tuning))) (and (or (and (not restrain-open-strings) - (eq? fret 0)) + (zero? fret)) (>= fret minimum-fret)) (integer? fret) (close-enough fret)))) @@ -364,7 +358,7 @@ notes?" "Is @var{pitch} and open-string note on @var{string}, given the current tuning?" (let* ((fret (calc-fret pitch string tuning))) - (eq? fret 0))) + (zero? fret))) (define (set-fret! pitch-entry string finger) (let ((this-fret (calc-fret (car pitch-entry) @@ -400,7 +394,7 @@ the current tuning?" (for-each (lambda (pitch-entry string-fret-finger) (let* ((string (list-ref string-fret-finger 0)) - (finger (if (eq? (length string-fret-finger) 3) + (finger (if (= (length string-fret-finger) 3) (list-ref string-fret-finger 2) '())) (pitch (car pitch-entry)) @@ -408,8 +402,8 @@ the current tuning?" #f finger))) (if (or (not (null? string)) - (eq? digit 0)) - (if (eq? digit 0) + (eqv? digit 0)) + (if (eqv? digit 0) ;; here we handle fingers of 0 -- open strings (let ((fit-string (find (lambda (string) @@ -458,7 +452,7 @@ the current tuning?" (let* ((string-fret-finger (list-ref string-fret-fingers (cdr pitch-entry))) (string (list-ref string-fret-finger 0)) - (finger (if (eq? (length string-fret-finger) 3) + (finger (if (= (length string-fret-finger) 3) (list-ref string-fret-finger 2) '())) (pitch (car pitch-entry)) diff --git a/scripts/build/create-weblinks-itexi.py b/scripts/build/create-weblinks-itexi.py index 16951c9935..e7caa31161 100644 --- a/scripts/build/create-weblinks-itexi.py +++ b/scripts/build/create-weblinks-itexi.py @@ -38,6 +38,35 @@ done ''' translations = { + 'cs': { + 'Source': 'Source', + 'Learning': 'Učení', + 'Music glossary': 'Slovníček', + 'Essay': 'Článek', + 'Notation': 'Notový zápis', + 'Usage': 'Používání', + 'Snippets': 'Úryvky', + 'Web': 'Web', + 'Changes': 'Změny', + + 'Extending': 'Rozšíření', + 'Internals': 'Vnitřnosti', + 'Contributor': 'Vývojářské', + + ' (split HTML)': ' (rozdělené HTML)', + ' (big HTML)': ' (velké HTML)', + + 'Regression tests for ': 'Zkoušky regresí ', + 'PDF of regtests for ': 'PDF zkoušky regresí ', + 'abc2ly Regression tests for ': 'abc2ly zkoušky regresí ', + 'PDF of abc2ly regtests for ': 'PDF abc2ly zkoušky regresí ', + 'lilypond-book Regression tests for ': 'lilypond-book zkoušky regresí ', + 'PDF of lilypond-book regtests for ': 'PDF lilypond-book zkoušky regresí ', + 'MusicXML Regression tests for ': 'MusicXML zkoušky regresí ', + 'PDF of MusicXML regtests for ': 'PDF MusicXML zkoušky regresí ', + + 'Doc tarball for ': 'Doc tarball for ', + }, 'de': { 'Source': 'Quellen', 'Learning': 'Einführung', @@ -66,7 +95,6 @@ translations = { 'PDF of MusicXML regtests for ': 'PDF der MusicXML Regressionstests für ', 'Doc tarball for ': 'Dokumentation tar-gepackt für ', - ' (did not exist in 2.12)': ' (nicht existent in 2.12)', }, 'es': { 'Source': 'Código fuente', @@ -97,7 +125,6 @@ translations = { 'PDF of MusicXML regtests for ': 'Pruebas de MusicXML en PDF para ', 'Doc tarball for ': 'Tarball de la documentación para ', - ' (did not exist in 2.12)': ' (no existía en la versión 2.12)', }, 'fr': { 'Source': 'Sources', @@ -128,7 +155,6 @@ translations = { 'PDF of MusicXML regtests for ': 'PDF des tests de régression de MusicXML pour ', 'Doc tarball for ': 'Archive de la documentation pour ', - ' (did not exist in 2.12)': ' (non disponible pour la version 2.12)', }, 'hu': { 'Source': 'Forrás', @@ -157,7 +183,6 @@ translations = { 'PDF of MusicXML regtests for ': 'PDF formátumban - verzió: ', 'Doc tarball for ': 'Tömörített csomag - verzió: ', - ' (did not exist in 2.12)': ' (nem létezett a 2.12-es verzióban)', }, 'it': { 'Source': 'Sorgenti', @@ -187,7 +212,6 @@ translations = { 'PDF of MusicXML regtests for ': 'PDF dei test di collaudo di MusicXML per ', 'Doc tarball for ': 'Archivio della documentazione per ', - ' (did not exist in 2.12)': ' (non disponibile per la versione 2.12)', }, 'ja': { 'Source': 'ソース', @@ -219,7 +243,6 @@ translations = { 'PDF of MusicXML regtests for ': 'MusicXML 回帰テスト (PDF 版) バージョン ', 'Doc tarball for ': 'ドキュメント アーカイブ バージョン ', - ' (did not exist in 2.12)': ' (バージョン 2.12 には存在しません)', }, 'nl': { @@ -251,7 +274,6 @@ translations = { 'PDF of MusicXML regtests for ': 'MusicXML regressietesten voor ', 'Doc tarball for ': 'Tarball met documentation voor ', - ' (did not exist in 2.12)': ' (bestond nog niet in 2.12)', }, 'zh': { 'Source': '源码', @@ -282,7 +304,6 @@ translations = { 'PDF of MusicXML regtests for ': 'MusicXML 的 PDF 回归测试 ', 'Doc tarball for ': '为文档压缩包', - ' (did not exist in 2.12)': ' (在 2.12 中不存在)', }, } @@ -416,29 +437,7 @@ def translateNameToUrl(manual, version): ver_minor = ver_split[0] + '.' + ver_split[1] url = depth + "doc/v" + ver_minor + "/Documentation/" - if (ver_minor == '2.12'): - if (manual=='learning'): - return url+'user/lilypond-learning' - elif (manual=='internals'): - return url+'user/lilypond-internals' - elif (manual=='notation'): - return url+'user/lilypond' - elif (manual=='usage'): - return url+'user/lilypond-program' - elif (manual=='snippets'): - return url+'../input/lsr/lilypond-snippets' - elif (manual=='changes'): - return url+'topdocs/NEWS.html' - elif (manual=='music-glossary'): - return url+'user/music-glossary' - elif (manual=='essay'): - return url+'user/lilypond-learning/Background.html' - elif (manual=='extending'): - return url+'user/lilypond/Interfaces-for-programmers.html' - else: - return '' - else: - return url+manual + return url+manual def addLang(url, lang): if lang: @@ -464,25 +463,6 @@ def make_manual_links(name, version, lang): manual = 'Music glossary' url = translateNameToUrl(m, version) - if (url == ''): - # can't have a comma here due to texinfo - make_ver_link(macroLang("manual"+name+mshort+'Pdf',lang), - "http://lilypond.org", - mshort+getTrans(" (did not exist in 2.12)",lang)) - make_ver_link(macroLang("manual"+name+mshort+'Split',lang), - "http://lilypond.org", - mshort+getTrans(" (did not exist in 2.12)",lang)) - make_ver_link(macroLang("manual"+name+mshort+'Big',lang), - "http://lilypond.org", - mshort+getTrans(" (did not exist in 2.12)",lang)) - make_ver_link(macroLang("manual"+name+mshort+'SplitNoName',lang), - "http://lilypond.org", - mshort+getTrans(" (did not exist in 2.12)",lang)) - continue - # this is stupid and I shouldn't have bothered trying - # to support the 2.12 docs and it will be deleted once - # 2.14 is out and the website won't be visible to users - # until 2.14 is out. -gp if (url.endswith('.html')): make_ver_link(macroLang("manual"+name+mshort+'Pdf',lang), addLang(url, lang), @@ -553,7 +533,7 @@ def make_doctarball_links(name, version, lang): url, getTrans("Doc tarball for ", lang)+version) print "@c This file was autogenerated" -print "@c from: VERSION" +print "@c from: %s" % VERSION print "@c by: %s" % sys.argv[0] print "" print "@c ************************ Download binaries ************" diff --git a/smart-autogen.sh b/smart-autogen.sh index 09d8d95a44..6f4525dac1 100755 --- a/smart-autogen.sh +++ b/smart-autogen.sh @@ -3,7 +3,7 @@ srcdir=${srcdir:-.} set -ux -AUTOGEN_INPUT_CHECKSUM=`cat $srcdir/configure.in $srcdir/aclocal.m4 | md5sum | cut -b 1-32` +AUTOGEN_INPUT_CHECKSUM=`cat $srcdir/configure.ac $srcdir/aclocal.m4 | md5sum | cut -b 1-32` CHECKSUM_FILE=autogen.checksum @@ -14,4 +14,3 @@ fi set -e ${srcdir}/autogen.sh "$@" printf "%s" $AUTOGEN_INPUT_CHECKSUM > $CHECKSUM_FILE - diff --git a/stepmake/stepmake/generic-targets.make b/stepmake/stepmake/generic-targets.make index f216898fe8..1b998b938d 100644 --- a/stepmake/stepmake/generic-targets.make +++ b/stepmake/stepmake/generic-targets.make @@ -95,7 +95,7 @@ $(outdir)/version.hh: $(depth)/VERSION $(config_make) $(top-src-dir)/scripts/bui $(outdir)/config.hh: $(config_h) cp -p $< $@ -configure: configure.in aclocal.m4 +configure: configure.ac aclocal.m4 NOCONFIGURE=yes $(src-depth)/autogen.sh chmod +x configure