slashSeparator - usage
I'm very new to LilyPond - using 2.12.1 I'm doing some pretty simple stuff at the moment, just for my own use. I am trying to create a file with some very short single-instrument exercises. Each one is only a few staves in length, so I don't want them to have a whole page each. Titles would be overkill for what I'm doing (in any case, there are no titles), so at the moment the start of each new item is only shown by the fact that there is a time signature at the start of the line. Because there are lots of repeat marks in the exercises themselves, the closing double bar doesn't stand out. I thought that using the slashSeparator between items would make things clearer, but I only want it after each complete item, not after every line. I've just spent about 2 hours trying to figure out how I can do this, without any success at all! I've got round the problem by commenting out the indent = #0 lines that I have in the layout sections, but I would like to restore them if I can use slashSeparator. Can someone help on this one, please? David ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Acciaccaturas under slurs
Using Lilypond 2.12.1 Normally an acciaccatura is slurred to the following note. However, in wind music for instance, sometimes an acciaccatura occurs during a passage which is slurred already. In that case there is no reason to print an extra slur on the acciaccatura. In Lilypond, if I enter: a4( \acciaccatura b8 c4 d) I would expect to see three crotchets (A, C and D), slurred from the A to the D, and with an acciaccatura B on the C. In practice, I find that Lilypond prints the notes correctly, but finishes the slur on the C and gives a cannot end slur warning for the ')' marked on the D. It does not print a small slur from the B to the C, which is fine so far as I am concerned! How can I persuade Lilypond to print a slur correctly from the A to the D? Any advice gratefully received! David ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Acciaccaturas under slurs
On Sat, 2010-05-15 at 16:42 +0100, Graham Percival wrote: On Sat, May 15, 2010 at 04:35:22PM +0100, David Sumbler wrote: a4( \acciaccatura b8 c4 d) Known problem; you can't do this. Oh! :-( How can I persuade Lilypond to print a slur correctly from the A to the D? You can kind-of fake it with a phrasing slur. \( \) Brilliant - that works a treat. Doing it this way does produce the usual (but here unnecessary) slur from the acciaccatura to the following note, but I can live with that. This runs into problems if you want an acciacatura, slur, and phrasing slur, though. If you really need that, I'd fake the accia slur with postscript. I rarely use 2 layers of slurs, so it is unlikely to be a problem to me. Thanks for your speedy reply! David ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
The opposite of ##f
A steep learning curve, using Lilypond! I've found answers in the documentation to most of the problems, but after an hour of searching I'm stumped on this one. I used '\override TupletNumber #'stencil = ##f' earlier in my file. Now I want to cancel that setting and restore tuplet numbers. I have tried '\override TupletNumber #'stencil = ##t', which seemed the obvious choice. And, guess what, it works! But it produces a warning value 't' must be of type 'unknown', so it is clearly not the proper way to do it. What should I put instead? David ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Printing music compactly
I need to get the whole of a piece (originally 5 pages) onto 1 or 2 sheets of A4. It doesn't matter how small the print is - at the same time, I don't want to waste space. I have got a usable result, but it isn't quite what I was hoping for: ny .ly file produces 4 pages, so by printing from Document Viewer at 4 pages per sheet, I can get the whole piece on to a single sheet of A4! I can certainly use this, if I can't come up with anything better. What I would really like to do, though, is to get the whole piece on to 2 pages of A4 (portrait layout), with staves running right across each page as normal, and without too much blank space between staves, so that the print size can be as large as possible. I have tried various ways to achieve this. Firstly I tried #(set-global-staff-size 15), and progressively smaller values, but this was not at all successful: at smaller sizes it just gave spindly and illegible notation with lots of wasted space. Then I hit on the idea of increasing the paper size, e.g. with '#(set-default-paper-size a2)': I though this would work, and I could scale the results down on to A4. But again I find that there is an enormous amount of wasted space. A2 has 4 times the area of A4, so I expected a piece which uses just over 3½ pages of A4 to fit on to two pages of A3 or one page of A4. But with the A2 size, it still extends on to a third page. Page 1 has 8 staves with a lot of wasted space, Page 2 has 12 staves more closely packed (though still with some wasted space), and page 3 has 3 fairly closely spaced staves. I have tried '\paper { annotate-spacing = ##t }', and obviously from the results I should, eventually, be able to sort out what I need to do. The trouble is, I need the finished item fairly urgently. So, can anybody give me a quick hack to get music which is proportioned normally (as regards the ratios between staves, note-heads, text etc. etc.), and which has little or no wasted space between staves? The default vertical spacings in Lilypond do seem to be rather bizarre. David ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Dynamics not correctly aligned
I am a new user of Lilypond, using v. 2.14.2 on Ubuntu 12.04. I have read the Learning Manual and Notation Reference twice each, and most of the other documentation at least once. Having set two pieces (one for solo marimba, and one for flute and piano), I hoped that I had reached the stage of being able to fine tune the appearance, but stumbled at almost the first hurdle! My first problem concerns the second piece. If I include the piano dynamics separately from the notes, as suggested in section A.2.4 (Piano Centred Dynamics) of the Learning Manual, they do not line up correctly with the dynamics in the flute part, which I have attached to the notes. For instance, with: \version 2.14.2 \new Staff = flute \relative c''' { c1\p c\f } \new PianoStaff \new Staff \relative c'' { c1 c } \new Dynamics { s1\p s\f } \new Staff \relative c { \clef bass c1 c } the dynamics in the piano part appear slightly further to the left than those in the flute part do. I get the same result (disregarding the change in vertical alignment) with: \version 2.14.2 dynamics = { s1\p s\f } \new Staff = flute \relative c''' { c1\p c\f } \new PianoStaff \new Staff \relative c'' { c1 c } \dynamics \new Staff \relative c { \clef bass c1 c } In the actual piece I have set, the misplaced piano dynamics actually collide with the preceding bar-lines, although that does not happen in the above brief examples. What am I doing wrong here? Thanks in advance for any help you can offer. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
How do I get Emacs mode? (was: Dynamics not correctly aligned)
Thanks to all for your responses to my enquiry about misaligned dynamics. Thanks especially to Hwaen Ch'uqi, who tried to answer my question: unfortunately, \override Dynamics.DynamicText.self-alignment-X = #-1 (modified for the different syntax in Lilypond 2.14.2) did not solve the problem. I think this is because -1 is the default value in any case. You all suggested, as I was afraid you would, that instead of trying to get 2.14.2 to do what I want, I should change to 2.18.0. Considering that http://www.lilypond.org/unix.html positively encourages us to use the default version with distros such as Ubuntu (v2.14.2 in this case), this is not what a new user might expect! I did actually upgrade to 2.16.0 some weeks back, but I removed it and reinstalled 2.14.2 via the Ubuntu package manager. Until a few hours ago, I couldn't remember why I reverted to 2.14.2, but I was sure I must have had a good reason. Anyway, I have now installed 2.18.0, and have now discovered again what the problem with 2.16.0 was: Emacs can't find Lilypond mode any more. I've just spent ages downloading the Lilypond source files, and trying to understand what I am supposed to do with the files in lilypond-2.18.0/elisp/ I have read http://www.lilypond.org/doc/v2.18/Documentation/usage/text-editor-support as well as the comments at the top of lilypond-2.18.0/elisp/lilypond-init.el, but I'm still confused as to what I need to do to get Emacs Lilypond mode working again. Can someone help me sort this out, please, or will I have to go back to using Lilypond 2.14.2 with no help other than the manuals? David On Sun, 2014-01-26 at 15:37 -0500, Hwaen Ch'uqi wrote: Greetings David, On 1/26/14, David Sumbler da...@aeolia.co.uk wrote: I am a new user of Lilypond, using v. 2.14.2 on Ubuntu 12.04. I have read the Learning Manual and Notation Reference twice each, and most of the other documentation at least once. First of all, welcome to LilyPond! Second, I would advise moving to the latest stable version of LilyPond, version 2.18.0. This is especially because certain basic ways of writing overrides, for example, have changed, and it will likely be easier to communicate solutions with an updated version. Third, the manuals are tightly written, and pieces of relevant information may yet be found strewn the manuals in sometimes unlikely places. Having set two pieces (one for solo marimba, and one for flute and piano), I hoped that I had reached the stage of being able to fine tune the appearance, but stumbled at almost the first hurdle! My first problem concerns the second piece. If I include the piano dynamics separately from the notes, as suggested in section A.2.4 (Piano Centred Dynamics) of the Learning Manual, they do not line up correctly with the dynamics in the flute part, which I have attached to the notes. For instance, with: \version 2.14.2 \new Staff = flute \relative c''' { c1\p c\f } \new PianoStaff \new Staff \relative c'' { c1 c } \new Dynamics { s1\p s\f } \new Staff \relative c { \clef bass c1 c } the dynamics in the piano part appear slightly further to the left than those in the flute part do. I get the same result (disregarding the change in vertical alignment) with: \version 2.14.2 dynamics = { s1\p s\f } \new Staff = flute \relative c''' { c1\p c\f } \new PianoStaff \new Staff \relative c'' { c1 c } \dynamics \new Staff \relative c { \clef bass c1 c } In the actual piece I have set, the misplaced piano dynamics actually collide with the preceding bar-lines, although that does not happen in the above brief examples. What am I doing wrong here? Thanks in advance for any help you can offer. David Try placing this command at the beginning of your Dynamics context: \override Dynamics.DynamicText.self-alignment-X = #-1 This will left-align your dynamics. If you wish to move them more to the right, you may change the number after the hash sign. #0 center-aligns the dynamics, and #1 right-aligns them. You can use other numbers between those given. I hope this helps. Hwaen Ch'uqi ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: How do I get Emacs mode?
Thanks for the link to your explanation of what to do to get Emacs Lilypond mode working. This was easy to follow, and I now have syntax highlighting etc. working for Lilypond files. Just one thing, though: when I load a .ly file into Emacs I get a message: Warning: `lilypond-words.el' not found in `load-path'. See `lilypond-init.el' I've had a look at lilypond-init.el, which is no help. I also found a scripts/build/lilypond-words.py file in the Lilypond 2.18.0 source that I downloaded, but when I tried to run that in python I got: Traceback (most recent call last): File Downloads/lilypond-2.18.0/scripts/build/lilypond-words.py, line 21, in module s = open ('lily/lily-lexer.cc', 'r').read () IOError: [Errno 2] No such file or directory: 'lily/lily-lexer.cc' How do I obtain or generate the lilypond-words.el file? Incidentally, in response to David Kastrup's suggestion How about upgrading Ubuntu?, the reason I am sticking with Ubuntu 12.04 at the moment is because it is an LTS (long term support) version. I shall probably change to 14.04 LTS a few months after it is released (so that the worst bugs can be sorted out first). As a professional musician and not a computer expert (as you can tell!), I find that reinstalling Ubuntu every other year is more than enough hassle, especially as I have to do it on 2 computers. A new installation every 6 months is just asking too much, and in my experience Ubuntu upgrades (as distinct from clean installs) always cause immense problems, so I have given up on them. David On Mon, 2014-01-27 at 16:04 -0500, Hwaen Ch'uqi wrote: On 1/27/14, David Kastrup d...@gnu.org wrote: David Sumbler da...@aeolia.co.uk writes: Thanks to all for your responses to my enquiry about misaligned dynamics. Thanks especially to Hwaen Ch'uqi, who tried to answer my question: unfortunately, \override Dynamics.DynamicText.self-alignment-X = #-1 (modified for the different syntax in Lilypond 2.14.2) did not solve the problem. I think this is because -1 is the default value in any case. Actually, the default is #0. The reason the code did not work is because, as I stated earlier, the ways of calling overrides has changed and so will not work unless you have upgraded to the latest stable version. You all suggested, as I was afraid you would, that instead of trying to get 2.14.2 to do what I want, I should change to 2.18.0. Considering that http://www.lilypond.org/unix.html positively encourages us to use the default version with distros such as Ubuntu (v2.14.2 in this case), this is not what a new user might expect! I suspect that you had installed 2.14.2 via ubuntu's apt-get mechanism, which placed all the files in their correct location. Manual installations, via the .sh script, will not place certain files, such as the .el or .info files, where you might wish them. Please have a look at this thread: https://lists.gnu.org/archive/html/lilypond-user/2013-05/msg00827.html The last message of the thread should answer your questions. The directory in view is either lisp or site-lisp. I hope this helps. Hwaen Ch'uqi ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: How do I get Emacs mode?
On Mon, 2014-01-27 at 18:02 -0500, Hwaen Ch'uqi wrote: Hmmm. You should have found seven .el files in the original lisp directory, one of them being lilypond-words.el. Be sure to move them all into one of the directories in your loadpath. For example, I am using ubuntu-13.04, and I have moved all of those files to /usr/share/emacs23/site-lisp. All should work well then. Hwaen Ch'uqi Yes, I have now found all seven files elsewhere, and checked that the six I had already found are identical to the copies I found in the other directory. So all now seems to be well. Some time when I have some time to spare, I must update all this stuff on my other computer too! Oh, and having converted a load of .ly files using convert-ly, and having now got emacs working OK, I just tried recompiling a file. It wouldn't compile, producing about 20 errors, so now I'm going to have to spend hours (probably) finding out why. But that'll have to be for another day (or week, perhaps). :-( David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: How do I get Emacs mode?
On Mon, 2014-01-27 at 19:54 -0500, Hwaen Ch'uqi wrote: Just a question or two, based on my own experience. Did you first remove (or purge) LilyPond 2.14.2 before installing 2.18.0? Otherwise, your system may still be using the older installation. Yes, I removed 2.14.2 using the Ubuntu Software Centre. Also, where did you install the latest version? If I remember correctly, the automatic installation of 2.14.2 places the bin files in /usr/bin. To keep this consistent, I installed LilyPond 2.18.0 in /usr/, using the --prefix argument. I used the default, which installed LilyPond into /usr/local/lilypond, with links in /usr/local/bin. Third, have you established that the .el files are exact copies by using a program like diff? Yes To be utterly safe, I always remove the old .el files (which even purging will not remove) and replace them with the .el files found in the new installation. Lastly, if you use the info files to read the manuals, be sure to move them from their original location to the /usr/share/info directory; otherwise, you will not have access to them by the normal means. Hwaen Ch'uqi What manuals? I don't seem to have any. One of the things I liked about the Ubuntu installation of LilyPond 2.14.2 was that the html manuals were installed on my hard drive and so were available all of the time. I don't seem to have that for 2.18.0 and can only view the manuals via the LilyPond website, but I should very much like to install them on my machines if possible - I can't always rely on having a usable wifi connection with my netbook. Incidentally, both the pieces I have set so far now compile correctly under 2.18.0, without errors. And, yes, even the misaligned dynamics, which were the reason for my original question, are corrected now. Thanks for all your help. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: How do I get Emacs mode?
On Tue, 2014-01-28 at 15:09 +0100, Federico Bruni wrote: 2014-01-28 David Sumbler da...@aeolia.co.uk What manuals? I don't seem to have any. One of the things I liked about the Ubuntu installation of LilyPond 2.14.2 was that the html manuals were installed on my hard drive and so were available all of the time. I don't seem to have that for 2.18.0 and can only view the manuals via the LilyPond website, but I should very much like to install them on my machines if possible - I can't always rely on having a usable wifi connection with my netbook. you can install the generic package with the --doc option but be aware of this bug: http://code.google.com/p/lilypond/issues/detail?id=3768 you can avoid the bug by entering the directory where you have saved the file, then type: sudo sh lilypond-version.sh --doc Thanks for that. I've now installed the html files, and it's all working fine. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Producing a title page
Having now got LilyPond 2.18.0 set up on my two machines, thanks to all the help from the list, I have now started trying to adjust the output of the pieces I have so far produced. I have used \header blocks for title, composer etc., and these are working as I would wish. However, I should like to produce a separate title page which precedes the music, but everything I have tried so far doesn't work. Usually I either get additional text added to the first page of music, or I get no title above the music itself. Of course, I could easily create a title page in LibreOffice or similar, but as LilyPond seems to have sufficient markup capabilities to do anything I am likely to want on a title page, it seems a shame not to keep the whole thing in the one place. What I would like to do is to have some items (e.g. title, composer) appearing on page 1, and some of the same ones appearing above the music which starts on page 2 (or perhaps page 3 in some cases). I imagine it is possible to set things up so that the data only appears once in the file - e.g. Title appears once in the .ly file, but appears both on the title page (page 1) and on the first page of music. Here is an abbreviated example of one of my efforts: \version 2.18.0 \book { \paper { indent = 0\mm scoreTitleMarkup = \markup { \fill-line { \null \fontsize #3 \bold \fromproperty #'header:piece \null } } first-page-number = #2 } \header { title = Partita subtitle= for solo marimba } \score { { c'1 c' } \header { piece = I. Allemande } \layout { } } \pageBreak \score { { d'1 d' } \header { piece = II. Courante } \layout { } } } How should I alter this to get a title page showing Partita and for solo marimba on a title page preceding the music pages? David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: Producing a title page
On Thu, 2014-01-30 at 11:09 -0800, Mark Stephen Mrotek wrote: David, Putting a \pagebreak after the first header and before the first score seems to accomplish what you want. Mark Thanks for that - it seems to be one permutation I hadn't tried! I must confess that I find some aspects of LilyPond a little hard to fathom. For instance, the order in which things need to be done is not always obvious, e.g. a \header section has to come after the music in a \score section, yet obviously the header is printed first. Anyway, I have now come up with the following, which seems to work. No doubt it could be improved, so any suggestions would be welcome. \version 2.18.0 title= Partita subtitle = for solo marimba \book { \pageBreak \paper { indent = 0\mm scoreTitleMarkup = \markup { \fill-line { \null \fontsize #3 \bold \fromproperty #'header:piece \null } } } \markup { \column { \vspace #15 \fill-line { \abs-fontsize #48 \bold \title } \vspace #1.5 \fill-line { \abs-fontsize #20 \subtitle } } } \pageBreak \bookpart { \header { title= \markup { \abs-fontsize #24 \title } subtitle = \subtitle } \markup { \vspace #1 } \score { { c'1 c' } \header { piece = I. Allemande } \layout { } } \pageBreak \score { { d'1 d' } \header { piece = II. Courante } \layout { } } } } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Dynamics over-lapping with bar-lines
Following the problem I was having with dynamics in a flute part and a piano part not lining up, on the advice of the list I upgraded my LilyPond from v2.14.2 to 2.18.0. Problem of non-alignment solved. But I still find that dynamics often contact or even cross a bar-line. In the flute part of this piece it does not matter, of course, because the bar-line does not extend beyond the stave. But in the piano part it does matter. The problem is the same whether the dynamic marks are added in a Staff context or in a separate Dynamics context. How do I tell LilyPond not to superimpose dynamics and bar-lines? David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Dynamics over-lapping with bar-lines
Thanks for your reply - it solves the problem of bar-line/dynamic collisions (or rather, it side-steps the problem). Actually it also begins to answer what might well have been my next question, because generally I prefer the left edge of dynamics to be related to the note position. But I should like it to be a little further to the left than the value of -1 gives. That is a bit of a problem, because the value required for a dynamic such as 'f' will be different from that needed by a wider marking such as ''. Is there perhaps a way of specifying where the left edge of the dynamic should be in relation to the note? For instance, I might like all dynamics to appear about half a note-head's width before the left edge of the note-head itself. It is going to get very tedious having continually to specify different self-alignment-X values when there are, say, alternating 'p' and 'mf' markings. Also, considering that LilyPond is generally so good at avoiding collisions, I have been surprised to find that it seems to have no objection to printing dynamics and bar-lines on top of one another. Is there no way to tell it to avoid these collisions? I would have expected avoidance to be the default, with an override to allow collisions if that is what is wanted in a particular case. But the default appears to be that bar-lines and dynamics pay no regard for each other. Am I missing something here? David On Mon, 2014-02-03 at 03:04 -0500, Hwaen Ch'uqi wrote: Greetings David, Following the problem I was having with dynamics in a flute part and a piano part not lining up, on the advice of the list I upgraded my LilyPond from v2.14.2 to 2.18.0. Problem of non-alignment solved. But I still find that dynamics often contact or even cross a bar-line. In the flute part of this piece it does not matter, of course, because the bar-line does not extend beyond the stave. But in the piano part it does matter. The problem is the same whether the dynamic marks are added in a Staff context or in a separate Dynamics context. How do I tell LilyPond not to superimpose dynamics and bar-lines? David Now that you have successfully upgraded to LilyPond 2.18.0, the command which I earlier gave you should work - namely, \override Staff.DynamicText.self-alignment-X = #-1 If your dynamics are in a Dynamics context rather than a Staff context, then change Staff in the above command to Dynamics. The default horizontal position for DynamicText is #0, or centered. #1 right-aligns the dynamics; #-1 left-aligns them. Other numbers, whether between or outside of these bounds, will work as well. I hope this helps. Please take care. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Dynamics over-lapping with bar-lines
I've now had a chance to experiment further with this, and to try the suggestions you have made, which were very helpful. For Dynamic-Text objects, the self-alignment-X = #-1 appears to align the left edge of the dynamic with the left edge of the note; self-alignment-X = #1 aligns the right edge of the dynamic with the right edge of the note. Presumably the default value of 0 aligns the centre of the dynamic mark with the centre of the note. None of this is terribly helpful if one wants consistent, sensible placing of dynamics! However, combining self-alignment-X = #-1 with a small negative value for X-offset gives the kind of result I want: that is, dynamic marks should have their left-edges consistently aligned very slightly to the left of the beginning (i.e. the left-edge) of the first note to which they apply. Using the two variables already mentioned, I can get a consistent, sensible placing for dynamics of different widths, such as f and . However, there is an irritating anomaly, which is that a dynamic in a Dynamics context is not placed in the same horizontal position as one attached to a note in a Staff context. I find that X-offset values of -1 in a Staff context and -0.3 in a Dynamics context produce similar (and, to me, satisfactory) results to each other. How weird is that! I also experimented with setting DynamicText.extra-spacing-width to '(0 . 0). With the default values of the other variables this is not a good solution to the problem of dynamic/bar-line collisions, because it produces an unwanted gap between the bar-line and the first note of the bar if the dynamic mark is a wide one. And with self-alignment-X = #-1 and a small value for X-offset these collisions are probably not going to arise very often, if at all. Thanks again for all your help. David On Tue, 2014-02-04 at 10:45 -0500, Hwaen Ch'uqi wrote: Greetings David, generally I prefer the left edge of dynamics to be related to the note position. But I should like it to be a little further to the left than the value of -1 gives. That is a bit of a problem, because the value required for a dynamic such as 'f' will be different from that needed by a wider marking such as ''. Is there perhaps a way of specifying where the left edge of the dynamic should be in relation to the note? For instance, I might like all dynamics to appear about half a note-head's width before the left edge of the note-head itself. It is going to get very tedious having continually to specify different self-alignment-X values when there are, say, alternating 'p' and 'mf' markings. Have you tried using decimal numbers with self-alignment-X, as in numbers between -1 and 0? I am guessing that this will produce what you want. If I understand things correctly, the self-alignment-X property, at least in this instance, is calculating relative to the note. The DynamicText entry of the Internals Reference (Section 3.1.39) also give X-offset as another changeable property. It will also move the dynamic text horizontally, though I am not clear what is its X-parent. If you have not yet done it, I would highly recommend looking at Chapter 4 (and especially sections 4.6 and 4.7) of the Learning Manual, which will give you an invaluable introduction to tweaking the output. In particular, you might be interested in 4.7.2 and 4.7.3, where it is shown how you can minimize typing of tweaks by using variables and stylesheets. Also, considering that LilyPond is generally so good at avoiding collisions, I have been surprised to find that it seems to have no objection to printing dynamics and bar-lines on top of one another. Is there no way to tell it to avoid these collisions? I would have expected avoidance to be the default, with an override to allow collisions if that is what is wanted in a particular case. But the default appears to be that bar-lines and dynamics pay no regard for each other. Why the default is, I cannot say. But according to the same entry in the IR, the extra-spacing-width property is set to #'(+inf.0 . -inf.0) by default, which I believe means that, in LilyPond's calculations, the object takes no horizontal space. Changing the elements within the parentheses to actual numbers should force LilyPond to give it a horizontal value and thus to place other objects with recognition of that value. This is my understanding; if I am speaking amiss, please, anyone, feel free to correct me. I hope this helps. Hwaen Ch'uqi ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Rallentando and accelerando in MIDI
Rallentando and accelerando are supported in MIDI output if the articulate.ly script is used. Looking at the script, I can see how I can additional synonyms for rall., rit. etc. that the script would then recognize. I can also begin to see how to change the amount of rall, or accel. by modifying the script. What I should like to be able to do sometimes is to alter the rate of rall. or accel. on the fly - i.e. during the course of a piece. I suspect that this might be possible using some Scheme statements, but my understanding of Scheme is insufficient for me even to know if this is possible. Can anyone tell me how to do this, or if it is even possible? David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Rallentando and accelerando in MIDI
Further to my query (below) yesterday about varying ralls and accels in midi, how do I actually get these to work at all? At the moment the articulate script is working correctly in executing trills, slurs etc. But it ignores my rit. markings and suchlike. I have tried entering these using \mark \markup and also attaching markup to a note, but my midi files do not vary the tempo at all. What syntax should I use to enter ralls and accels in a score? David Subject: Rallentando and accelerando in MIDI Date: Mon, 29 Dec 2014 22:06:51 + Rallentando and accelerando are supported in MIDI output if the articulate.ly script is used. Looking at the script, I can see how I can additional synonyms for rall., rit. etc. that the script would then recognize. I can also begin to see how to change the amount of rall, or accel. by modifying the script. What I should like to be able to do sometimes is to alter the rate of rall. or accel. on the fly - i.e. during the course of a piece. I suspect that this might be possible using some Scheme statements, but my understanding of Scheme is insufficient for me even to know if this is possible. Can anyone tell me how to do this, or if it is even possible? David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Rallentando and accelerando in MIDI
On Tue, 2014-12-30 at 22:04 +0100, Simon Albrecht wrote: Am 30.12.2014 13:16, schrieb David Sumbler: Further to my query (below) yesterday about varying ralls and accels in midi, how do I actually get these to work at all? At the moment the articulate script is working correctly in executing trills, slurs etc. But it ignores my rit. markings and suchlike. I have tried entering these using \mark \markup and also attaching markup to a note, but my midi files do not vary the tempo at all. What syntax should I use to enter ralls and accels in a score? It’s not wholly clear what you tried, but I’d assume that code\tempo rit./code is what you want. The difference from \mark is mainly that it lives in score and thus is printed only once above all staves, no matter how many parts have the same tempo marking. And probably articulate.ly will then interpret it correctly (yet I don’t have any experience with that). HTH, Simon Thanks for that suggestion, which I have now tried. Unfortunately it does not seem to have the hoped-for result. But it does raise another interesting question: how do I get tempo markings etc. to appear once above the score but also in each individual part? I cannot find any reference to this in the Lilypond documentation (although I am sure it must be in there somewhere). Previous pieces I have set in Lilypond have been for a single instrument or for a solo instrument with piano, so the question has not arisen before (because the markings are above the solo part in any case). Do I perhaps need to have them in something like a separate Dynamics context which can be included in each part when it is extracted? David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Rallentando and accelerando in MIDI
On Wed, 2014-12-31 at 11:52 +0100, Simon Albrecht wrote: Am 31.12.2014 00:32, schrieb David Sumbler: On Tue, 2014-12-30 at 22:04 +0100, Simon Albrecht wrote: Am 30.12.2014 13:16, schrieb David Sumbler: Further to my query (below) yesterday about varying ralls and accels in midi, how do I actually get these to work at all? At the moment the articulate script is working correctly in executing trills, slurs etc. But it ignores my rit. markings and suchlike. I have tried entering these using \mark \markup and also attaching markup to a note, but my midi files do not vary the tempo at all. What syntax should I use to enter ralls and accels in a score? It’s not wholly clear what you tried, but I’d assume that code\tempo rit./code is what you want. The difference from \mark is mainly that it lives in score and thus is printed only once above all staves, no matter how many parts have the same tempo marking. And probably articulate.ly will then interpret it correctly (yet I don’t have any experience with that). HTH, Simon Thanks for that suggestion, which I have now tried. Unfortunately it does not seem to have the hoped-for result. But it does raise another interesting question: how do I get tempo markings etc. to appear once above the score but also in each individual part? I cannot find any reference to this in the Lilypond documentation (although I am sure it must be in there somewhere). Previous pieces I have set in Lilypond have been for a single instrument or for a solo instrument with piano, so the question has not arisen before (because the markings are above the solo part in any case). Do I perhaps need to have them in something like a separate Dynamics context which can be included in each part when it is extracted? David No, normally you would do something like \layout { \context { \Score \remove Metronome_mark_engraver } \context { \StaffGroup % or Staff or GrandStaff or whatever... \consists Metronome_mark_engraver } } If thus every StaffGroup has its own Metronome_mark_engraver, separate tempo indications will be printed above each of them. HTH, Simon Clearly I am doing something wrong - perhaps it is to do with the way I have entered my tempo markings. Just to make things clearer, I am setting a saxophone quartet (that I wrote in 1978!); I want tempo markings to appear once above the top line in the score, but naturally I also want these markings to appear in the extracted parts for the 4 instruments. I have added the context change in both the score and one of the parts, and tried with both Staff and StaffGroup (since the score consists of 4 staves in a StaffGroup). But I still get one tempo mark (as required) in the score and none in the parts apart from the top instrument (soprano sax.). All this is exactly what I get without the context change lines. In the music expression I have \tempo Moderato 4 = 104 before the notes for the soprano sax. This is fine in the score and the soprano part, but of course I need this marking (and subsequent ones too) to appear also in the alto, tenor and baritone parts. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Rallentando and accelerando in MIDI
On Wed, 2014-12-31 at 18:11 +, Phil Holmes wrote: Original Message - From: David Sumbler da...@aeolia.co.uk Clearly I am doing something wrong - perhaps it is to do with the way I have entered my tempo markings. Just to make things clearer, I am setting a saxophone quartet (that I wrote in 1978!); I want tempo markings to appear once above the top line in the score, but naturally I also want these markings to appear in the extracted parts for the 4 instruments. The following does what you ask , as far as I understand it: musicOne = { c''1 \tempo Test c'' } musicTwo = { a'1 \tempo Test a' } \score { \new staff { \musicOne } \new staff { \musicTwo } } \score { \new staff { \musicOne } } \score { \new staff { \musicTwo } } -- Phil Holmes Yes - that solves it. Perhaps foolishly, I had not realised that I have to put the tempo markings in every part. Now that I have corrected that error the markings are appearing just where I want them. Thanks for pointing me in the right direction. Which brings me back now to my other question: how do I get midi (specifically, the articulate.ly script) to recognize my rits and ralls? I have tried entering them with \tempo, with \mark and just as markup, but nothing seems to work. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Condensing single-bar rests into a multi-measure rest
From: Urs Liska u...@openlilylib.org To: lilypond-user@gnu.org Subject: Re: Condensing single-bar rests into a multi-measure rest Date: Sat, 03 Jan 2015 16:45:27 +0100 Am 03.01.2015 um 16:36 schrieb David Sumbler: I have now finished setting the saxophone quartet, which is the first substantial multi-instrument piece I have attempted with Lilypond. I am very pleased with the result, and I am now at the stage of tweaking the appearance of the output. Searching in the Lilypond documentation, one problem I have not been able to find a solution to is this: in the piece there are a few places where one instrument is silent for several consecutive bars. In the score these obviously appear as single bar rests, but in the relevant instrumental part I should like them to appear as a multi-measure rest. The problem may be that I have used \parallelMusic for the whole score: this seems an obvious way of doing things for a piece such as this with a small number of instruments. It has certainly been far easier to find my way around the file than in my previous Lilypond efforts (e.g. a piece for flute and piano), even though they were a lot shorter than this one. But looking at the documentation, I can only see multi-measure rests appearing if they are entered as multi-measure quantities - e.g. R1*6. If this is true, then the only way I can see to get the result I want, would be to deconstruct my whole file and reassemble it as 4 separate sections, one for each instrument. This in itself will be a tedious chore, but it also means the resulting file(s) will be much less easily navigable when I make further additions and modifications. Is there any way to get the result I want whilst still keeping the \parallelMusic layout? LilyPond by default only interprets single entities as combinable rests (i.e. R1*6), while consecutive rests (e.g. R1 R1) are separated by \compressFullBarRests. I recently had the same problem and got a file from the list which I tweaked to work well in a quite similar case. You can find the file at https://git.ursliska.de/beautifulscores/das-trunkne-lied/blob/master/library/ly/to-lilylib/combineMultimeasureRests.ily I'm not sure if it is really straightforward to use in other contexts but I suspect you should be able to use it. You have to remove the conditional expression in the last function \combineMMRests (because that's project specific), but I expect the file to work smoothly once you've done that. To use it include the file and surround your music by \combineMMRests \yourMusic. HTH Urs Thanks for that. I have tried the file, and although it does not produce any errors, it does not seem to change the output at all. So it may be that I am doing something wrong. Here is what I have done. Firstly, the final function now reads: combineMMRests = #(define-music-function (parser location music) (ly:music?) (condense music) music) I'm not entirely sure I have got this right! Secondly, in the section of my main file which produces a part for a instrument, I have: \score { \combineMMRests { \myMusic } \layout { } } Is this correct? At the top of my file, of course, I have: \include combineMultimeasureRests.ily David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Condensing single-bar rests into a multi-measure rest
I have now finished setting the saxophone quartet, which is the first substantial multi-instrument piece I have attempted with Lilypond. I am very pleased with the result, and I am now at the stage of tweaking the appearance of the output. Searching in the Lilypond documentation, one problem I have not been able to find a solution to is this: in the piece there are a few places where one instrument is silent for several consecutive bars. In the score these obviously appear as single bar rests, but in the relevant instrumental part I should like them to appear as a multi-measure rest. The problem may be that I have used \parallelMusic for the whole score: this seems an obvious way of doing things for a piece such as this with a small number of instruments. It has certainly been far easier to find my way around the file than in my previous Lilypond efforts (e.g. a piece for flute and piano), even though they were a lot shorter than this one. But looking at the documentation, I can only see multi-measure rests appearing if they are entered as multi-measure quantities - e.g. R1*6. If this is true, then the only way I can see to get the result I want, would be to deconstruct my whole file and reassemble it as 4 separate sections, one for each instrument. This in itself will be a tedious chore, but it also means the resulting file(s) will be much less easily navigable when I make further additions and modifications. Is there any way to get the result I want whilst still keeping the \parallelMusic layout? David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Rallentando and accelerando in MIDI
On Thu, 2015-01-01 at 20:57 +1100, Peter Chubb wrote: David == David Sumbler da...@aeolia.co.uk writes: David Which brings me back now to my other question: how do I get David midi (specifically, the articulate.ly script) to recognize my David rits and ralls? I have tried entering them with \tempo, with David \mark and just as markup, but nothing seems to work. This used to work, but it's possible that changes in Lily have made it stop working. Last time it worked, \tempo rit wasn't available, so the syntax was: a^rit. or similar. -- Dr Peter Chubbpeter.chubb AT nicta.com.au Yes, thank you, this worked. Or rather, it didn't work! What it revealed is that articulate.ly does not do ralls and accels at all: what it does instead is sudden reductions/increases in tempo. However, having realised that, I have now found an alternative. I have effectively disabled the rall and accel recognition in articulate.ly, and have added an extra stave to my file. This contains nothing but rests and tempo markings, and is only referenced in the 'midi' block. I have found that I can produce very effective ralls, accels, pauses etc. in this way (using repeated adjustments to the tempo). Meanwhile the visible markings in the score do not affect the midi output. Thanks to all for your help. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Adjusting the position of tempo indications
On Mon, 2015-01-12 at 23:17 +0100, Thomas Morley wrote: 2015-01-12 22:37 GMT+01:00 David Sumbler da...@aeolia.co.uk: The default position of tempo indications is, to my eye, rather too close to whatever is beneath them, be it a stave, a note or a slur. I have tried experimenting with \override TextScript #'padding = #4 and \override TextScript.padding = #4 (I was unsure of the syntax) just to see if I can get my tempo markings to move, but neither of these works. How can I get tempo markings to be placed higher? Also, occasionally I have two such markings quite close together horizontally. How can I get them both to be placed at the same level, even if this means that one of them has more than my default level of space beneath it? David Hi David, please provide a minimal example, including a version-statement. Cheers, Harm Dominic pointed out that I should have usedMetronomeMark, not TextScript, so I have corrected this. \version 2.18.0 topLine = { \relative c'' { \tempo Tempo 1 c2 c | \tempo Tempo 2 c'4( g c,2) | \tempo Tempo 3 f8 c g c, c'2 | } } bottomLine = { \relative c'' { \tempo Tempo 1 c1 | \tempo Tempo 2 c1 | \tempo Tempo 3 c1 | } } \score { \new StaffGroup \override Score.MetronomeMark.padding = #2 \topLine \bottomLine } In the above, Tempo 1 appears where I want it, but Tempo 2 and Tempo 3 are respectively too close to the slur and the beam. Also, sometimes I have 2 successive markings which come close together but which nevertheless have to be anchored to different points in the music. It would be useful to have these appearing at the same height as each other, even though the clearance beneath one of them might be more than it would need if it appeared on it's own. Is there any way of achieving this, other than tweaking each individual case in each individual part? David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Adjusting the position of tempo indications
On Wed, 2015-01-14 at 15:29 -0500, Hwaen Ch'uqi wrote: Greetings David, Is the command \markLengthOn possibly what you are looking for? Hwaen Ch'uqi I don't think so, but thanks for the suggestion. The problem is not the horizontal space occupied by the marks, but their vertical position in relation to what is beneath them and also to each other. David On 1/14/15, David Sumbler da...@aeolia.co.uk wrote: On Mon, 2015-01-12 at 23:17 +0100, Thomas Morley wrote: 2015-01-12 22:37 GMT+01:00 David Sumbler da...@aeolia.co.uk: The default position of tempo indications is, to my eye, rather too close to whatever is beneath them, be it a stave, a note or a slur. I have tried experimenting with \override TextScript #'padding = #4 and \override TextScript.padding = #4 (I was unsure of the syntax) just to see if I can get my tempo markings to move, but neither of these works. How can I get tempo markings to be placed higher? Also, occasionally I have two such markings quite close together horizontally. How can I get them both to be placed at the same level, even if this means that one of them has more than my default level of space beneath it? David Hi David, please provide a minimal example, including a version-statement. Cheers, Harm Dominic pointed out that I should have usedMetronomeMark, not TextScript, so I have corrected this. \version 2.18.0 topLine = { \relative c'' { \tempo Tempo 1 c2 c | \tempo Tempo 2 c'4( g c,2) | \tempo Tempo 3 f8 c g c, c'2 | } } bottomLine = { \relative c'' { \tempo Tempo 1 c1 | \tempo Tempo 2 c1 | \tempo Tempo 3 c1 | } } \score { \new StaffGroup \override Score.MetronomeMark.padding = #2 \topLine \bottomLine } In the above, Tempo 1 appears where I want it, but Tempo 2 and Tempo 3 are respectively too close to the slur and the beam. Also, sometimes I have 2 successive markings which come close together but which nevertheless have to be anchored to different points in the music. It would be useful to have these appearing at the same height as each other, even though the clearance beneath one of them might be more than it would need if it appeared on it's own. Is there any way of achieving this, other than tweaking each individual case in each individual part? David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: lilypond-user Digest, Vol 146, Issue 98
From: Noeck [hidden email] To: [hidden email] Subject: Re: Printing titles at a consistent size Date: Sun, 18 Jan 2015 23:57:09 +0100 Hi, if I am not mistaken, there was some discussion and a solution how to get the line space consistent for different settings of the staff space within the discussion about a new Mutopia tagline. Unfortunately, I can not find it anymore. But I think it involved having a zero baseline-skip: \override #'(baseline-skip . 0 ) Perhaps, some keywords in this mail could help to find some more hints. HTH, Joram I have just tried this - I thought it sounded promising. It didn't help, except that it seems to show what is happening: in the parts (which have the larger global-staff-size), not only are the characters in the titles spaced too far apart, but the lines of text are also vertically further apart than in the score. So it looks as if the second global-staff size setting is causing the print to be spaced as if it were proportionally larger than in the score (with the smaller global-staff-size), but the abs-fontsize specified in my bookTitleMarkup is forcing the characters themselves to be printed at the size I actually want. I can see a sort of logic in this, but it isn't useful! David Can you show us a picture/PDF or provide a small example of what you are currently trying? I have some ideas, but I want to make sure you aren't already doing them... Thanks, Abraham I have tried so many different permutations of setting relative or absolute font size, having one or two definitions for bookTitleMarkup, placing things in different scopes etc. that I have lost track of what didn't work - which was everything until an hour ago. I have now found something that does work, ungainly though it undoubtedly is. What I now have, basically, is this: \version 2.18.0 #(set-global-staff-size 16) \book { %This is the score \paper bookTitleMarkup = \myBookTitleMarkupSixteen } \score { } \layout { } } #(set-global-staff-size 20) \book { %This is the first of the instrumental parts \paper bookTitleMarkup = \myBookTitleMarkupTwenty } \score { } \layout { } } In the 2 different bookTitleMarkup definitions, I have used proportional measurements, corresponding to the 5/4 ratio of the staff sizes in the score/parts. So I have (baseline-skip . 5) and (baseline-skip . 4) respectively. I specify the size of each item using \fontsize, with a difference of 2 for each corresponding item in the score and part definitions respectively - e.g., where I have \fontsize #7 in the definition for the score, I have \fontsize #5 in the definition used for the parts (this difference of 2 corresponds to the statement made in the Learning Manual section 4.3.2, where it says that 1 step is approximately equivalent to 12%.) The result is that the printed output is virtually identical in the score and parts, despite the difference in staff size in the music that follows. I dare say there is a prettier and more concise way of doing this, but at least I now have something that works! David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Printing titles at a consistent size
From: Noeck noeck.marb...@gmx.de To: lilypond-user@gnu.org Subject: Re: Printing titles at a consistent size Date: Sun, 18 Jan 2015 23:57:09 +0100 Hi, if I am not mistaken, there was some discussion and a solution how to get the line space consistent for different settings of the staff space within the discussion about a new Mutopia tagline. Unfortunately, I can not find it anymore. But I think it involved having a zero baseline-skip: \override #'(baseline-skip . 0 ) Perhaps, some keywords in this mail could help to find some more hints. HTH, Joram I have just tried this - I thought it sounded promising. It didn't help, except that it seems to show what is happening: in the parts (which have the larger global-staff-size), not only are the characters in the titles spaced too far apart, but the lines of text are also vertically further apart than in the score. So it looks as if the second global-staff size setting is causing the print to be spaced as if it were proportionally larger than in the score (with the smaller global-staff-size), but the abs-fontsize specified in my bookTitleMarkup is forcing the characters themselves to be printed at the size I actually want. I can see a sort of logic in this, but it isn't useful! David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Understanding Lilypond
As I start to gain experience in setting music in Lilypond I am trying to understand more about how it works internally. As well as personal satisfaction, this obviously has a practical aim: it will make it easier for me to modify or correct things without having to ask so many questions on this forum, and will also perhaps eventually mean that I can help by answering others' questions. However, despite having read the documentation - some of it several times - I do find understanding some aspects of the structure of Lilypond extremely difficult. One of the manuals likens a Lilypond file to source code in a computer language, but I find that understanding the structure of a coding language is perfectly straightforward compared to getting my head around Lilypond. (I have learnt several languages over the years, although not, I admit, Lisp or Scheme; however, I have no reason to suppose that understanding their structure is any more difficult than other languages). For instance, in Lilypond there is a sensible difference in the default handling of time- and key-signatures. Using the \key command a key is defined for the current Staff. But using the \time command sets the time signature for every staff. If a different time signature is required for a particular staff, then timeSignatureFraction has to be changed. From the Internals Reference I see that the 2 layout objects KeySignature and TimeSignature both exist, by default, in a Staff context, which makes perfect sense. Clearly, though, when the \time command is used, then not only is Staff.timeSignatureFraction set, but so also is some other variable in a higher context. What I can't seem to find (although it may well be in the documentation somewhere) is a clear explanation of this. Can somebody point me in the right direction? David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: lilypond-user Digest, Vol 146, Issue 81
From: Noeck noeck.marb...@gmx.de To: lilypond-user@gnu.org Subject: Re: Understanding Lilypond Date: Sat, 17 Jan 2015 00:04:34 +0100 Dear David, as a small addition and a partly similar answer to Urs’, I think the point is: LilyPond tries to suggest (or even enforce as a default) conventions of classic music notation. This comprises for example that clefs are repeated for each line but the time signature isn’t. In your case, that means: The key signature can depend on the instrument and can be different for each staff. But in most cases, the time signature is the same within a score (across staves). You can have polyrhythmical music in LilyPond but it is not the default. So while this looks inconsistent from the purely programmatical point of view, it makes sense for most music. Cheers, Joram With respect, as a professional (mainly classical) musician for half a century I totally understand why key signatures and time signatures are handled differently. My query - evidently not very well expressed - was not why does Lilypond handle them differently, but how does one discover the internal mechanism by which it does this. Peter clearly understood this, and although he could not provide an answer to how to find an answer in the documentation, he has apparently felt the same frustration in the past. If or when I ever get to a comprehensive understanding of how Lilypond handles things, I might well take Urs up on his suggestion of writing something on the subject for Scores of Beauty - a site I was not aware of until this evening. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Adjusting the position of tempo indications
On Fri, 2015-01-16 at 14:11 +, Kevin Barry wrote: Dear David, \score { \new StaffGroup \override Score.MetronomeMark.padding = #2 \topLine \bottomLine } Here if you replace the `padding' property with `outside-staff-padding' it should work, i.e. \override Score.MetronomeMark.outside-staff-padding = #2 hth, Kevin Thanks for that - it's just what I needed. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Enlarging tenuto marks
I find that tenuto lines in Lilypond are rather too thin and short. With the help of this list, as well as the Lilypond documentation, I am gradually starting to understand more about how Lilypond functions. So I was reasonably confident that I could at least increase the font size of tenuto lines to see if this would give me a satisfactory combination of length and thickness. I had a couple of false starts, because I found it difficult to determine what the name of the relevant grob was. But eventually, having decided that the name is, in fact 'Script', I was almost certain that this was going to work: { \tweak Script.font-size #6 g-- } But it completely fails to change the tenuto line. I see that the Snippets document has a couple of ways I could achieve what I want, and they might be a better bet in any case for practical reasons in the coding. But why doesn't '\tweak Script.font-size' work? David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Printing titles at a consistent size
My current project is a quartet. The score and each of the 4 parts are in separate \book blocks. I have #(set-global-staff-size 16) before the score \book, and #(set-global-staff-size 20) before the first of the 4 part \book blocks which follow. Today I turned my attention to formatting the titles etc. which come at the top the first page of each book. Because I did not find the default layout very satisfactory, I decided to rewrite 'bookTitleMarkup' (using the default in titling-init.ly as a starting point), and my version is now included in a global /paper block before any of the /book blocks. Of course, I then realized that the different staff sizes between the score and parts affects the titles also. I was able to restore the titles in the score to the size I want by adding '\fontsize #2' to each of the title items. So far so good. However, after a lot of experimenting I have not found a way to increase the baseline-skip value just for the titles in the score. Perhaps someone can tell me how to achieve this. But is there perhaps a better way of getting the titles to appear the same size in the score and parts, despite the different staff sizes in the music that follows the titles? David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Printing titles at a consistent size
On Sun, 2015-01-18 at 11:25 -0500, Kieren MacMillan wrote: Hi David, But is there perhaps a better way of getting the titles to appear the same size in the score and parts, despite the different staff sizes in the music that follows the titles? \markup \abs-fontsize … is your friend. =) Hope this helps! Kieren. This seems a promising idea, and I was cross with myself that I had not spotted \abs-fontsize for myself. But now that I have tried it, I am getting a bizarre result: the titles in the score are as specified in my version of bookTitleMarkup; but although the parts have the correct font-sizes, both vertical spacing of the lines and horizontal spacing of individual letters is abnormal, and is in proportion to the staff-size set. Try as I might, I can't work out why this is happening. The basic structure I have, missing out everything that appears to be irrelevant, is this: \version 2.18.0 %'include' file containing definition of myBookTitleMarkup titleStr = Title subtitleStr = Subtitle \paper { bookTitleMarkup = \myBookTitleMarkup } #(set-global-staff-size 16) \book { \bookOutputName score \header { title= \titleStr subtitle = \subtitleStr } \score { } \layout { } } #(set-global-staff-size 20) \book { \bookOutputName part1 \header { title= \titleStr subtitle = \subtitleStr } \score { } \layout { } } %(Other parts follow) ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Printing titles at a consistent size
On Sun, 2015-01-18 at 12:40 -0500, Kieren MacMillan wrote: Hi David, I am getting a bizarre result: the titles in the score are as specified in my version of bookTitleMarkup; but although the parts have the correct font-sizes, both vertical spacing of the lines and horizontal spacing of individual letters is abnormal, and is in proportion to the staff-size set. I don’t think (though am not 100% positive) that you can use both #(set-global-staff-size 16) and #(set-global-staff-size 20) in the same file, and expect it to behave rationally. n.b. I have different files entirely for my score and parts, because they almost always have such drastically different geometries, spacing parameters, etc. Well, it certainly doesn't seem to behave rationally! I have tried all sorts of permutations and positioning of set-global-staff-size and bookTitleMarkup, and nothing I have tried works as I wish. This seems strange, because the Notation Reference says To set the staff size globally for all scores in a file (or in a book block, to be precise), use set-global-staff-size. This seems to imply that different global-staff-sizes can be used for different book blocks. This seemed to work perfectly: I found that set-global-staff-size only seems to work outside a book block, so I placed it immediately before the start of the relevant books. And, until I started started trying to sort the titles out, it seemed to do exactly what I wanted it to. Since the problem with the titles arose, I have also tried using layout-set-staff-size and changing the font size of the music. But this still leaves the spacing of the staves unchanged as well as the font-size of text marks. It seems perfectly normal to me to want smaller staves for the score and larger ones for the parts that actually have to be read by players, yet to have the titles appearing the same on both. Is there really no straightforward way of achieving this in Lilypond? (I'm sure I never used to have this kind of difficulty in my days of using Score!) David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: rit. in Midi - was: Re: lilypond-user Digest, Vol 137, Issue 62
From: Patrick Karl patrickk...@me.com Date: Sat, 14 Feb 2015 11:18:49 -0600 I think the most disturbiing thing is that \articulate is interpreting rit. to mean ritenuto rather than ritardando, which I think is the most common interpretation of rit.. It would be great if the tempo would ramp down gradually to 4=36 at the end. It's true that articulate.ly does not handle gradual tempo changes as one would expect. I get around this, and simultaneously give myself control over the contour of the rit. or accel. by writing another invisible stave just for the midi, and containing nothing but rests and tempo markings. And I use a modified version of articulate.ly with the lines #(define ac:rallFactor (ly:make-moment 60/100)) % 40% slowdown #(define ac:pocoRallFactor (ly:make-moment 90/100)) % 10% slowdown changed to #(define ac:rallFactor (ly:make-moment 100/100)) % no slowdown #(define ac:pocoRallFactor (ly:make-moment 100/100)) % no slowdown so that rit. markings have no effect. Then I add additional tempo markings in the midi stave (there is no actual stave) to produce what is in fact a stepped change of tempo. You can add as many tempo changes as you need to give the illusion of a gradual tempo change, and if you want more rit. towards the end, or at the beginning, you can control that too by altering the figures. For instance: \version 2.18.0 \include articulate.ly mid = { \tempo 4 = 120 r1 | r1 | \tempo 4 = 115 r4 \tempo 4 = 110 r4 \tempo 4 = 104 r4 \tempo 4 = 98 r4 | \tempo 4 = 90 r4 \tempo 4 = 82 r4 \tempo 4 = 36 r2 | } music = \new Staff \with { midiInstrument = trumpet } \relative c' { \tempo Allegro 4 = 120 c8 d e f g a b c | d e f g a b c b | a g f e d c b a | g f e d c2\fermata | } \score { \music \layout { } } \score { \articulate \mid \music \midi { } } Even the length of the pause at the end can be adjusted. I have not put a rit. marking in the music here, because using the unmodified version of articulate.ly it would confuse things. But with the alterations I suggested, rits and ralls in the score will not affect the midi output. I also find it useful to change the values of staccatoFactor, normalFactor and other variables in the articulate script to produce a better result. Dynamics. too, can be changed. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Key signature and key cancellation need to be aligned
On Tue, 2015-01-27 at 20:26 +0100, Thomas Morley wrote: 2015-01-27 12:56 GMT+01:00 David Sumbler da...@aeolia.co.uk: I use Staff.printKeyCancellation = ##f in my score. At one point the key changes from C major (concert) to C minor. As the piece is for a standard saxophone quartet, this means that 2 of the instruments change from D major (notated) to D minor, and the other 2 change from A major to A minor. A minor, of course, is the open key with no sharps or flats, and, notwithstanding the negation of printKeyCancellation, Lilypond correctly prints a key cancellation at this point on the 2 staves that require it. The other 2 parts, in which the key changes from 2 sharps to 1 flat, correctly do not get a key cancellation. So far, so good. The problem is that the actual key signatures on the 2 staves that have them are not vertically aligned with the key cancellations on the other 2 staves. Instead, they are printed after the key cancellations. In other words, each of the 2 key signatures is printed as if there were an invisible key cancellation preceding it on the stave. This looks wrong, and I should like them to appear above and below the actual key cancellations on the other 2 staves. I have experimented with changing KeySignature.X-offset (which had no effect) and KeySignature.extra-offset. The latter works, but unfortunately the position of the time signature and music which follow remain unchanged, so that there is now an unnecessary gap after the key signatures/cancellations. How can I get the effect I want, and get Lilypond to take account of the change in the position of the key signatures? David Hi David, how about a minimal example? -Harm Here we are, then: the following illustrates the problem. \version 2.18.0 \language english \new StaffGroup \new Staff \relative c'' { \transposition bf \time 3/4 \key d \major a2 r4 | \key d \minor \time 2/4 R2 | } \new Staff \relative c'' { \transposition ef \time 3/4 \key a \major gs2 r4 | \key a \minor \time 2/4 R2 | } \layout { \context { \Staff printKeyCancellation = ##f } } David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Key signature and key cancellation need to be aligned
I use Staff.printKeyCancellation = ##f in my score. At one point the key changes from C major (concert) to C minor. As the piece is for a standard saxophone quartet, this means that 2 of the instruments change from D major (notated) to D minor, and the other 2 change from A major to A minor. A minor, of course, is the open key with no sharps or flats, and, notwithstanding the negation of printKeyCancellation, Lilypond correctly prints a key cancellation at this point on the 2 staves that require it. The other 2 parts, in which the key changes from 2 sharps to 1 flat, correctly do not get a key cancellation. So far, so good. The problem is that the actual key signatures on the 2 staves that have them are not vertically aligned with the key cancellations on the other 2 staves. Instead, they are printed after the key cancellations. In other words, each of the 2 key signatures is printed as if there were an invisible key cancellation preceding it on the stave. This looks wrong, and I should like them to appear above and below the actual key cancellations on the other 2 staves. I have experimented with changing KeySignature.X-offset (which had no effect) and KeySignature.extra-offset. The latter works, but unfortunately the position of the time signature and music which follow remain unchanged, so that there is now an unnecessary gap after the key signatures/cancellations. How can I get the effect I want, and get Lilypond to take account of the change in the position of the key signatures? David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Key signature and key cancellation need to be aligned
From: Thomas Morley thomasmorle...@gmail.com To: David Sumbler da...@aeolia.co.uk Cc: lilypond-user lilypond-user@gnu.org Subject: Re: Key signature and key cancellation need to be aligned Date: Thu, 29 Jan 2015 11:21:15 +0100 2015-01-28 19:00 GMT+01:00 David Sumbler da...@aeolia.co.uk: 2015-01-27 12:56 GMT+01:00 David Sumbler da...@aeolia.co.uk: I use Staff.printKeyCancellation = ##f in my score. At one point the key changes from C major (concert) to C minor. As the piece is for a standard saxophone quartet, this means that 2 of the instruments change from D major (notated) to D minor, and the other 2 change from A major to A minor. A minor, of course, is the open key with no sharps or flats, and, notwithstanding the negation of printKeyCancellation, Lilypond correctly prints a key cancellation at this point on the 2 staves that require it. The other 2 parts, in which the key changes from 2 sharps to 1 flat, correctly do not get a key cancellation. So far, so good. The problem is that the actual key signatures on the 2 staves that have them are not vertically aligned with the key cancellations on the other 2 staves. Instead, they are printed after the key cancellations. In other words, each of the 2 key signatures is printed as if there were an invisible key cancellation preceding it on the stave. This looks wrong, and I should like them to appear above and below the actual key cancellations on the other 2 staves. I have experimented with changing KeySignature.X-offset (which had no effect) and KeySignature.extra-offset. The latter works, but unfortunately the position of the time signature and music which follow remain unchanged, so that there is now an unnecessary gap after the key signatures/cancellations. How can I get the effect I want, and get Lilypond to take account of the change in the position of the key signatures? David Hi David, how about a minimal example? -Harm Here we are, then: the following illustrates the problem. \version 2.18.0 \language english \new StaffGroup \new Staff \relative c'' { \transposition bf \time 3/4 \key d \major a2 r4 | \key d \minor \time 2/4 R2 | } \new Staff \relative c'' { \transposition ef \time 3/4 \key a \major gs2 r4 | \key a \minor \time 2/4 R2 | } \layout { \context { \Staff printKeyCancellation = ##f } } I have had 2 very interesting responses to my query, one from Thomas Morley and one (off-list) from Kevin Barry. Both had slight problems with them, and experimenting with them has once again helped considerably in improving my understanding of the workings of Lilypond. Thomas suggested adding \once \override Score.KeyCancellation.space-alist.key-signature = #'(extra-space . -2.4) \once \override Score.KeySignature.space-alist.time-signature = #'(extra-space . 2.6) The only problem was this was that, although it solved the problem in the score, it introduced a problem in the parts for the instruments with an actual key signature. I could get around this by using tags, of course. Kevin's suggestion, which, after modification, was the one I ultimately used, was to omit '\key a \minor' and to add: \override Staff.KeyCancellation.stencil = ##f \set Staff.keySignature = #`((10 . ,NATURAL) (7 . ,NATURAL) (11 . ,NATURAL)) This worked well, except that the dummy key signature with natural signs then appeared on every subsequent line. My final solution is: \override Staff.KeyCancellation.stencil = ##f \override Staff.KeySignature.break-visibility = #all-invisible \set Staff.keySignature = #`((10 . ,NATURAL) (7 . ,NATURAL) (11 . ,NATURAL)) Then, immediately before the next key change: \revert Staff.KeySignature.break-visibility Thank you both for your help. David Did you notice Keith reply? The mentioned workaround is in comment #2 http://code.google.com/p/lilypond/issues/detail?id=448#c2 Cheers, Harm I confess that I failed to spot the workaround when I looked at the page before: it is so concise that it's easy to miss (that's my feeble excuse, anyway). The workaround adversely affects the parts (the problem only exists in the score), but was easily solved with a tag, of course. So I now have \tag #'forScore { \once \override Staff.KeyCancellation #'X-extent = #'(0 . 0) } Neat! Thanks to all David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Key signature and key cancellation need to be aligned
2015-01-27 12:56 GMT+01:00 David Sumbler da...@aeolia.co.uk: I use Staff.printKeyCancellation = ##f in my score. At one point the key changes from C major (concert) to C minor. As the piece is for a standard saxophone quartet, this means that 2 of the instruments change from D major (notated) to D minor, and the other 2 change from A major to A minor. A minor, of course, is the open key with no sharps or flats, and, notwithstanding the negation of printKeyCancellation, Lilypond correctly prints a key cancellation at this point on the 2 staves that require it. The other 2 parts, in which the key changes from 2 sharps to 1 flat, correctly do not get a key cancellation. So far, so good. The problem is that the actual key signatures on the 2 staves that have them are not vertically aligned with the key cancellations on the other 2 staves. Instead, they are printed after the key cancellations. In other words, each of the 2 key signatures is printed as if there were an invisible key cancellation preceding it on the stave. This looks wrong, and I should like them to appear above and below the actual key cancellations on the other 2 staves. I have experimented with changing KeySignature.X-offset (which had no effect) and KeySignature.extra-offset. The latter works, but unfortunately the position of the time signature and music which follow remain unchanged, so that there is now an unnecessary gap after the key signatures/cancellations. How can I get the effect I want, and get Lilypond to take account of the change in the position of the key signatures? David Hi David, how about a minimal example? -Harm Here we are, then: the following illustrates the problem. \version 2.18.0 \language english \new StaffGroup \new Staff \relative c'' { \transposition bf \time 3/4 \key d \major a2 r4 | \key d \minor \time 2/4 R2 | } \new Staff \relative c'' { \transposition ef \time 3/4 \key a \major gs2 r4 | \key a \minor \time 2/4 R2 | } \layout { \context { \Staff printKeyCancellation = ##f } } I have had 2 very interesting responses to my query, one from Thomas Morley and one (off-list) from Kevin Barry. Both had slight problems with them, and experimenting with them has once again helped considerably in improving my understanding of the workings of Lilypond. Thomas suggested adding \once \override Score.KeyCancellation.space-alist.key-signature = #'(extra-space . -2.4) \once \override Score.KeySignature.space-alist.time-signature = #'(extra-space . 2.6) The only problem was this was that, although it solved the problem in the score, it introduced a problem in the parts for the instruments with an actual key signature. I could get around this by using tags, of course. Kevin's suggestion, which, after modification, was the one I ultimately used, was to omit '\key a \minor' and to add: \override Staff.KeyCancellation.stencil = ##f \set Staff.keySignature = #`((10 . ,NATURAL) (7 . ,NATURAL) (11 . ,NATURAL)) This worked well, except that the dummy key signature with natural signs then appeared on every subsequent line. My final solution is: \override Staff.KeyCancellation.stencil = ##f \override Staff.KeySignature.break-visibility = #all-invisible \set Staff.keySignature = #`((10 . ,NATURAL) (7 . ,NATURAL) (11 . ,NATURAL)) Then, immediately before the next key change: \revert Staff.KeySignature.break-visibility Thank you both for your help. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Adjusting the position of tempo indications
The default position of tempo indications is, to my eye, rather too close to whatever is beneath them, be it a stave, a note or a slur. I have tried experimenting with \override TextScript #'padding = #4 and \override TextScript.padding = #4 (I was unsure of the syntax) just to see if I can get my tempo markings to move, but neither of these works. How can I get tempo markings to be placed higher? Also, occasionally I have two such markings quite close together horizontally. How can I get them both to be placed at the same level, even if this means that one of them has more than my default level of space beneath it? David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Adjusting the position of tempo indications
From: Dominic dominicirv...@gmail.com To: lilypond-user@gnu.org Subject: Re: Adjusting the position of tempo indications Date: Mon, 12 Jan 2015 15:26:56 -0700 (MST) You probably need to adjust MetronomeMark.padding in the score context rather than TextScript.padding in the Staff context, thus: /\override Score.MetronomeMark.padding = #4/ That seems to work nicely in moving the tempo markings (with or without actual metronome marks) away from the stave. (I've settled on a value of 2.0) But it does not seem to increase the clearance between a tempo mark and a slur or a beam if these are above the top of the stave. How can I increase the spacing it these cases? David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Levelling hairpins
One of my pieces has a lot of crescendo-decrescendo markings, using two hairpins (i.e. and ). Mostly these look fine; but just occasionally, because of the contours of the melodic line above the hairpins, the crescendo and decrescendo hairpins have different vertical placements and are not level. What is the simplest way to get them both to appear at the level required by the lower one of the two? David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re:Levelling hairpins
From: Peter Gentry peter.gen...@sunscales.co.uk Date: Fri, 13 Feb 2015 20:53:15 - This is too well known to need an example, indeed one is given in the documentation http://www.lilypond.org/doc/v2.18/Documentation/notation/expressive-marks-attached-to-notes#dynamics where the solution is discussed A Dynamics context is available to engrave dynamics on their own horizontal line. Use spacer rests to indicate timing. (Notes in a Dynamics context will also take up musical time, but will not be engraved.) The Dynamics context can usefully contain some other items such as text scripts, text spanners, and piano pedal marks. Richard The method shown in the Notation document (see link above) works, but needs some trial and error to find what is the minimum value of staff-padding which achieves the desired result. What I was hoping for was some method of telling Lilypond to position 2 (or more) dynamics at the level of whichever one of them needs to be furthest from the stave. I dare say that this can be done using Scheme, although as yet I am too inexperienced to know how to do it. I like David G's solution (below), and shall probably adopt it - thanks, David. Regarding the Dynamics context: I agree with Peter that this is too cumbersome for adjusting the occasional alignment problem. In any case, the piece I am currently working on is for a single instrument (marimba), and having the dynamics in a line of music all at the same level would simply look wrong in many cases. I have used a Dynamics context in a piece which involved a piano. This is still unsatisfactory, I find. For instance, the following artificial example: \version 2.18.0 \relative c' { a4 c e a | c a e c| } \\ \new Dynamics {R1\p | R1\f } \\ \new Staff \relative c { \clef bass a4 e' a c | e c e a, | } \relative c' { a4\p c e a | c a e c| } \\ \new Staff \relative c { \clef bass a4 e' a c | e^\f c e a, | } \break The first line of output shows what happens when using a Dynamics context; the second shows more or less how I would actually want it to appear, although putting the dynamics in different staves is obviously very unsatisfactory and would not always have the desired result in any case. It's a shame that Lilypond does not (so far as I know) have any way to (a) associate one mark with another for positioning purposes (b) associate dynamics with two staves, and use some sensible algorithm for vertically spacing the dynamics between the two staves and their contents. David From: David Stephen Grant da...@davidgrant.no Date: Fri, 13 Feb 2015 21:57:54 +0100 This is how I deal with it. Not exactly automatic, but works well for me :-) \version 2.19.15 dynPadYOn = #(define-music-function (parser location padding)(number?) #{ \override DynamicLineSpanner.staff-padding = $padding #}) dynPadYOff = #(define-music-function (parser location)() #{ \revert DynamicLineSpanner.staff-padding #} testMusic = { c'4 g c'\ a'\f | c'4\ g c' a'\p } { \testMusic | \break \dynPadYOn #4 \testMusic | \break \dynPadYOff \testMusic } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Levelling hairpins
It's probably a language thing... My use of the word 'shame' did not in any way imply that I think that anybody should feel shame, inadequacy or guilt for the fact that Lilypond does not always do what some of us would like. The English idiom it's a shame means the same as the similar it's a pity: they have different literal meanings, neither of which corresponds to the idiomatic meaning. I might easily say It's a shame that it's cloudy today: I am not blaming or criticising anyone for the fact that the sun is not shining: I am merely saying that it would be pleasanter if things were different from the way they are. Sorry if I offended anybody by my choice of words. The link you included is very interesting - although I won't hold my breath, because I see that the discussion has been going on for 4½ years so far. David On Sat, 2015-02-14 at 15:11 +0100, Werner LEMBERG wrote: It's a shame that Lilypond does not (so far as I know) have any way to (a) associate one mark with another for positioning purposes (b) associate dynamics with two staves, and use some sensible algorithm for vertically spacing the dynamics between the two staves and their contents. A `shame'? Definitely not! It's simply not yet implemented. Please be careful with your wording. See https://code.google.com/p/lilypond/issues/detail?id=1127 for first ideas. Werner ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Levelling hairpins
On Sat, 2015-02-14 at 15:41 +0100, Werner LEMBERG wrote: It's probably a language thing... Indeed. I should have looked up the phrase before writing. Sorry. The link you included is very interesting - although I won't hold my breath, because I see that the discussion has been going on for 4½ years so far. The very issue is that we only have tiny number of people who sufficiently understand the internals of lilypond to tackle problems of this kind, and all of them are very busy. Given that not too tedious work-arounds exist, a fix to this problem is not as urgent as, say, making lilypond work with guile2. Werner Point taken - and we are all very grateful to those who do give up time (a) to develop Lilypond, and/or (b) to answer queries from those of us lower down on the learning ladder. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re:Levelling hairpins
From: Noeck noeck.marb...@gmx.de Date: Sat, 14 Feb 2015 14:15:35 +0100 Hi David, It's a shame that Lilypond does not (so far as I know) have any way to (a) associate one mark with another for positioning purposes This association can be done quite easily as you can see in my previous mail. Have you seen it? However, I already found some drawbacks when used on the same note as other (de-)crescendi. I have now, and it is very interesting: I may make use of this. One of the drawbacks of receiving the lilypond-user digests is that sometimes I am responding to something that has already had other responses which I have not yet seen (because they will be in the next digest). But with half a dozen to a dozen digests daily, I don't think I can face changing to individual emails. Although perhaps I should consider doing that when there is a topic under discussion which I have started (or have contributed to). David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Condensing single-bar rests into a multi-measure rest
From: Urs Liska u...@openlilylib.org To: lilypond-user@gnu.org Subject: Re: Condensing single-bar rests into a multi-measure rest Date: Sat, 03 Jan 2015 18:59:17 +0100 Am 03.01.2015 um 18:45 schrieb David Sumbler: From: Urs Liska u...@openlilylib.org To: lilypond-user@gnu.org Subject: Re: Condensing single-bar rests into a multi-measure rest Date: Sat, 03 Jan 2015 16:45:27 +0100 Am 03.01.2015 um 16:36 schrieb David Sumbler: I have now finished setting the saxophone quartet, which is the first substantial multi-instrument piece I have attempted with Lilypond. I am very pleased with the result, and I am now at the stage of tweaking the appearance of the output. Searching in the Lilypond documentation, one problem I have not been able to find a solution to is this: in the piece there are a few places where one instrument is silent for several consecutive bars. In the score these obviously appear as single bar rests, but in the relevant instrumental part I should like them to appear as a multi-measure rest. The problem may be that I have used \parallelMusic for the whole score: this seems an obvious way of doing things for a piece such as this with a small number of instruments. It has certainly been far easier to find my way around the file than in my previous Lilypond efforts (e.g. a piece for flute and piano), even though they were a lot shorter than this one. But looking at the documentation, I can only see multi-measure rests appearing if they are entered as multi-measure quantities - e.g. R1*6. If this is true, then the only way I can see to get the result I want, would be to deconstruct my whole file and reassemble it as 4 separate sections, one for each instrument. This in itself will be a tedious chore, but it also means the resulting file(s) will be much less easily navigable when I make further additions and modifications. Is there any way to get the result I want whilst still keeping the \parallelMusic layout? LilyPond by default only interprets single entities as combinable rests (i.e. R1*6), while consecutive rests (e.g. R1 R1) are separated by \compressFullBarRests. I recently had the same problem and got a file from the list which I tweaked to work well in a quite similar case. You can find the file at https://git.ursliska.de/beautifulscores/das-trunkne-lied/blob/master/library/ly/to-lilylib/combineMultimeasureRests.ily I'm not sure if it is really straightforward to use in other contexts but I suspect you should be able to use it. You have to remove the conditional expression in the last function \combineMMRests (because that's project specific), but I expect the file to work smoothly once you've done that. To use it include the file and surround your music by \combineMMRests \yourMusic. HTH Urs Thanks for that. I have tried the file, and although it does not produce any errors, it does not seem to change the output at all. So it may be that I am doing something wrong. Here is what I have done. Firstly, the final function now reads: combineMMRests = #(define-music-function (parser location music) (ly:music?) (condense music) music) I'm not entirely sure I have got this right! No, that's not right. The result of a Scheme function is the result of the last expression, and that is music in your case, so you're returning the unaltered music argument. I think (without testing) that combineMMRests = #(define-music-function (parser location music) (ly:music?) (condense music)) should be right. Secondly, in the section of my main file which produces a part for a instrument, I have: \score { \combineMMRests { \myMusic } \layout { } } Is this correct? That looks correct, although you don't need the curly braces around \myMusic in this case. However, I don't know if parallelMusic is interfering here additionally. HTH Urs I have now corrected my version of the combineMMRests function, but unfortunately it still leaves my output unaffected. I can see how something like this could work - unfortunately my understanding at this stage of Scheme and Lilypond internals is insufficient for me to see where the problem might be or to write something similar from scratch. I can't see why \parallelMusic should cause a problem: presumably it just returns exactly what the individual parts would produce if they were not interleaved in the parallelMusic structure. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Condensing single-bar rests into a multi-measure rest
On Sun, 2015-01-04 at 09:26 +0100, Urs Liska wrote: I have now corrected my version of the combineMMRests function, but unfortunately it still leaves my output unaffected. I can see how something like this could work - unfortunately my understanding at this stage of Scheme and Lilypond internals is insufficient for me to see where the problem might be or to write something similar from scratch. I can't see why \parallelMusic should cause a problem: presumably it just returns exactly what the individual parts would produce if they were not interleaved in the parallelMusic structure. David But you do have the \compressFullBarRests somewhere? Urs Oops! No, I hadn't, and now that I have included it things appear to work perfectly. I'm delighted to see that I can simply include \compressFullBarRests in each individual instrument's Staff without it adversely affecting the output of the score, which obviously needs the rests to be shown individually (unless all instruments are 'tacet' for 2 or more bars). Sincere thanks for all your help. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Changing vertical spacing in a column
Before the start of the first staff system, I have the name of each instrument opposite the appropriate stave. The names are long, so I have arranged them vertically, e.g.: \set Staff.instrumentName = \markup { \center-column { Soprano Saxophone \line { in B \flat } } This is fine, but I need the lines of text to be closer to each other. The only way of doing this I can find is by altering baseline-skip, but I am afraid that my newbiness is letting me down here: I simply cannot work out how to change this setting. I have tried all sorts of permutations and varieties of syntax, but so far without success. What is the correct syntax to change baseline-skip (and other such variables)? And is there a better way of altering the spacing of these lines of text? David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Changing vertical spacing in a column
On Sun, 2015-01-04 at 20:22 +0100, Thomas Morley wrote: 2015-01-04 19:37 GMT+01:00 David Sumbler da...@aeolia.co.uk: Before the start of the first staff system, I have the name of each instrument opposite the appropriate stave. The names are long, so I have arranged them vertically, e.g.: \set Staff.instrumentName = \markup { \center-column { Soprano Saxophone \line { in B \flat } } This is fine, but I need the lines of text to be closer to each other. The only way of doing this I can find is by altering baseline-skip, but I am afraid that my newbiness is letting me down here: I simply cannot work out how to change this setting. I have tried all sorts of permutations and varieties of syntax, but so far without success. What is the correct syntax to change baseline-skip (and other such variables)? And is there a better way of altering the spacing of these lines of text? David Som epossibilities: \layout { \context { \Staff %% for all Staves %% currently making baseline-skip larger %% applied in Staff = 1 %% in Staff = 2 it's overridden by the override included in \with \override InstrumentName.baseline-skip = #5 } } instr-mrkp = \markup { \center-column { Soprano Saxophone \line { in B \flat } } } \new Staff = 1 \with { instrumentName = \markup \instr-mrkp } \relative c' { c' } \new Staff = 2 \with { \override InstrumentName.baseline-skip = #1.5 instrumentName = \markup \instr-mrkp } \relative c' { c' } %% toplevel-markup-override: \markup \override #'(baseline-skip . 1) \instr-mrkp %% or \markup \override #'(baseline-skip . 1) \center-column { Soprano Saxophone \line { in B \flat } } Thank you so much for that. Not only has it solved the immediate problem, but it will be very useful to me as a guide for how to alter the values of other variables. (It isn't always easy to find exactly what you want in the Lilypond documentation, excellent and extensive though it is.) David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Non-printing score-wide dynamics
On Wed, 2015-03-04 at 12:53 +, Kevin Barry wrote: On Wed, Mar 4, 2015 at 12:39 PM, David Sumbler da...@aeolia.co.uk wrote: What I want is for the individual instruments' dynamics to remain with and apply to them, but simultaneously to allow any dynamics in the normally invisible midiStaff to apply to all of them. Is this possible? You could try creating a variable (a music expression) that consists of nothing but spacer rests and (invisible) dynamics. Then add that variable to every staff in your score. Thanks for that suggestion. In view of the fact that I am really just trying to get rid of irritating and vague warnings during the compiling of the midi file, it is probably not worthwhile having a whole other context for occasional dynamics. But I can certainly define a whole bunch of invisible (stencil = ##f) dynamic marks and put them in the actual instrumental parts where necessary. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Non-printing score-wide dynamics
The first 2 bars of a score are as follows: invP = \tweak stencil ##f \p \parallelMusic #'(mid Vone Vtwo Va Vc) { % bar 0 \tempo 4 = 152 \partial 2 r2 | \tempo Allegro non troppo 4 = 152 \partial 2 r2 | \tempo Allegro non troppo 4 = 152 \partial 2 r2 | \tempo Allegro non troppo 4 = 152 \partial 2 r8 a\f a a | \tempo Allegro non troppo 4 = 152 \partial 2 r2 | % bar 1 r1 | r2 r8 a\f a a | r8 a\f a a b4- a | bf4- a g8 f e d | d8\f a' d f a f d a\invP | The mid item is a dummy staff (there is no actual staff) which I use for tweaking tempi for the midi output: using this I can simulate rits, fermatas etc. For the printed score and parts it is not referenced at all. Also in bar 1 I have \invP, which as can be seen produces an invisible 'piano' marking: this is simply to avoid the articulate script's annoying warnings about ambiguous dynamics (which would be less annoying if they told you exactly where in the music the problem arose!) However, I have another dynamic problem which it would be nice to get around. Later in the music there is a passage marked dim.; in addition, each bar has hairpins and . The interpretation of these up and down dynamics within a more general diminuendo is easy for musicians, but understandably opaque for articulate.ly. I can get rid of the warnings about this by putting the dim. into the parts as a markup, rather than as a dynamic. But, although it is not of vital importance, I wondered if there is some way I could mimic the effect of the diminuendo (perhaps by using \f, \mf, \mp etc. successively) in much the same way as I can mimic a rallentando by using successive \tempo markings in the 'mid' context. Actually, I am not really sure what kind of context 'mid' is anyway. I do not define it anywhere else: I simply include it with the four actual staves (which are defined with \new Staff etc.) in the \score block which precedes the \midi command. How might I add dynamics to 'mid' which would affect all the voices, in the same way as \tempo changes do? David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Non-printing score-wide dynamics
Yes, I now see that 'mid' is treated as a stand-alone music expression, so that Staff and Voice contexts are added automatically. This is confirmed by adding \mid to the printed output. So my original question now becomes: how can I add dynamics to the 'mid' staff and have them applied to all staves? I have tried creating a 'mid' staff explicitly, thus: midiStaff = \new Staff { \time 4/4 \new Voice \with { \remove Dynamic_engraver } { \mid } } and in the \midi block I put: \midi { \context { \Score \consists Dynamic_engraver \consists Dynamic_performer } } But this did not work. The dynamics in midiStaff seem to be ignored altogether in midi, although they do appear in the printed score if I add \midiStaff to the relevant \score block and the context changes to the \layout block. But then with this context change the dynamics from all of the instruments appear above the top stave. What I want is for the individual instruments' dynamics to remain with and apply to them, but simultaneously to allow any dynamics in the normally invisible midiStaff to apply to all of them. Is this possible? David On Tue, 2015-03-03 at 16:37 +, Kevin Barry wrote: Hi David, I wasn't really able to make sense of everything you said. Have you considered using a global variable that is in every staff? That can be useful for adding things (you could put your invisible dynamics in it for instance). As for your question about the mid context I'm not sure exactly what you have done, but it sounds like it's just a standalone music expression? I would need to see more code to be sure. Kevin On Tue, Mar 3, 2015 at 4:12 PM, David Sumbler da...@aeolia.co.uk wrote: The first 2 bars of a score are as follows: invP = \tweak stencil ##f \p \parallelMusic #'(mid Vone Vtwo Va Vc) { % bar 0 \tempo 4 = 152 \partial 2 r2 | \tempo Allegro non troppo 4 = 152 \partial 2 r2 | \tempo Allegro non troppo 4 = 152 \partial 2 r2 | \tempo Allegro non troppo 4 = 152 \partial 2 r8 a\f a a | \tempo Allegro non troppo 4 = 152 \partial 2 r2 | % bar 1 r1 | r2 r8 a\f a a | r8 a\f a a b4- a | bf4- a g8 f e d | d8\f a' d f a f d a\invP | The mid item is a dummy staff (there is no actual staff) which I use for tweaking tempi for the midi output: using this I can simulate rits, fermatas etc. For the printed score and parts it is not referenced at all. Also in bar 1 I have \invP, which as can be seen produces an invisible 'piano' marking: this is simply to avoid the articulate script's annoying warnings about ambiguous dynamics (which would be less annoying if they told you exactly where in the music the problem arose! ) However, I have another dynamic problem which it would be nice to get around. Later in the music there is a passage marked dim.; in addition, each bar has hairpins and . The interpretation of these up and down dynamics within a more general diminuendo is easy for musicians, but understandably opaque for articulate.ly. I can get rid of the warnings about this by putting the dim. into the parts as a markup, rather than as a dynamic. But, although it is not of vital importance, I wondered if there is some way I could mimic the effect of the diminuendo (perhaps by using \f, \mf, \mp etc. successively) in much the same way as I can mimic a rallentando by using successive \tempo markings in the 'mid' context. Actually, I am not really sure what kind of context 'mid' is anyway. I do not define it anywhere else: I simply include it with the four actual staves (which are defined with \new Staff etc.) in the \score block which precedes the \midi command. How might I add dynamics to 'mid' which would affect all the voices, in the same way as \tempo changes do? David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Dynamic mark at the end of a bar
On Tue, 2015-05-26 at 12:47 -0500, David Nalesnik wrote: Hi David, On Tue, May 26, 2015 at 10:32 AM, David Sumbler da...@aeolia.co.uk wrote: I often use 's1*0\!' to end a hairpin just before a barline. But how can a get a dynamic mark (e.g. 'ff') to appear at the end of a bar? In the following example, the first hairpin behaves as I want. The second one ends with a dynamic, but the new dynamic appears at the start of the following bar, even though it is attached to an item which occurs on the barline. It occurs at the first moment of the new measure, not *on* the barline. Somehow you need to get the dynamic within the measure you want it. You could do this by scaling durations: \version 2.18.0 { c''4\ c''2. s1*0\! | R1 | c''4\ c''2.*2/3 s2.*1/3\ff | R1 | } or (cleaner, I think) by attaching the dynamics to a separate voice: { c''4\ c''2. s1*0\! | R1 | { c''4 c''2.| } { s2.\ s4\ff | } R1 | } Hope this helps! It certainly helps a lot - thanks. The second is, to me, the neater solution, and after a bit of trial and error I have things looking reasonable. But both of these are work-arounds for something which is actually fairly normal musical notation. They are work-arounds because one method implies that a note is not really the length that it appears to be, and the other method implies that the dynamics actually belong to another, silent voice. Neither of these is true in reality. Ideally one shouldn't have to use trial and error, varying the length of the second invisible rest, to get an acceptable appearance. We know exactly where the final dynamic should go: it should be immediately before the bar-line. Perhaps at some stage the Lilypond developers could look at the possibility of having a method of adding a dynamic (or text) for cases like this, so that it is automatically right-aligned to a note or rest. Additionally, if the note or rest comes immediately after a barline, then the dynamic/text should be right-aligned to the barline itself. I would suggest that a suitable input method would be to use a slash (/) instead of or as well as the usual backslash (\). I am not criticising Lilypond, which is magnificent. But it does seem unfortunate that at the moment there is no way of directly inputting a perfectly normal, if not particularly common, bit of standard notation. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Dynamic mark at the end of a bar
On Wed, 2015-05-27 at 16:52 -0500, David Nalesnik wrote: Hi David, On Wed, May 27, 2015 at 3:03 PM, David Sumbler da...@aeolia.co.uk wrote: But both of these are work-arounds for something which is actually fairly normal musical notation. They are work-arounds because one method implies that a note is not really the length that it appears to be, and the other method implies that the dynamics actually belong to another, silent voice. Neither of these is true in reality. Actually, I think I was a little imprecise talking about attaching the dynamics to a new voice here. I created SimultaneousMusic, rather than another Voice context. Note that this is done commonly enough by users parameterizing their input: one variable is used to store the notes, and another to store the dynamics. Simon also made this point - which I accept. (This is not to say that there isn't some hackery at work here :) ) Ideally one shouldn't have to use trial and error, varying the length of the second invisible rest, to get an acceptable appearance. We know exactly where the final dynamic should go: it should be immediately before the bar-line. Yes, but what of more complex examples, where a composer indicates a number of inflections on a single note? There are a number of examples of that here: https://www.youtube.com/watch?v=uav-OYUJ7BQ (including a simple one at the very beginning). How else could you notate these cases without the simultaneous music approach? True, but in these cases we actually want the dynamics to be at particular points within a bar, so the simultaneous music approach is logical. In my case, I want the dynamic to appear at the end of the bar - this, of course is the same moment in time as the start of the next bar+, but is not the same point on paper. The simultaneous music approach, however, requires us to pretend that we want the dynamic at some arbitrary moment just before the end of the bar. And the choice of that moment will vary, depending on how busy the music is on other staves in the same bar. It might also mean that we have to use one value for the score and another for the individual part - yet, in reality, we just want the dynamic to appear immediately before the bar-line regardless of what is happening elsewhere in the ensemble. David David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Dynamic mark at the end of a bar
On Wed, 2015-05-27 at 22:14 +0100, Phil Holmes wrote: - Original Message - From: David Sumbler da...@aeolia.co.uk But both of these are work-arounds for something which is actually fairly normal musical notation. They are work-arounds because one method implies that a note is not really the length that it appears to be, and the other method implies that the dynamics actually belong to another, silent voice. Neither of these is true in reality. Ideally one shouldn't have to use trial and error, varying the length of the second invisible rest, to get an acceptable appearance. We know exactly where the final dynamic should go: it should be immediately before the bar-line. Perhaps at some stage the Lilypond developers could look at the possibility of having a method of adding a dynamic (or text) for cases like this, so that it is automatically right-aligned to a note or rest. Additionally, if the note or rest comes immediately after a barline, then the dynamic/text should be right-aligned to the barline itself. I would suggest that a suitable input method would be to use a slash (/) instead of or as well as the usual backslash (\). I am not criticising Lilypond, which is magnificent. But it does seem unfortunate that at the moment there is no way of directly inputting a perfectly normal, if not particularly common, bit of standard notation. I'm sorry, but you've lost me on this. What, musically, is the difference between a dynamic at the end of a bar, and the same dynamic at the start of the next bar. As I performer, I can't distinguish. Well, I suppose that the difference logically and musically is none, if the note is followed by a rest. But what if it is followed by another note? In the example I gave there was a note lasting for one bar followed by a one bar rest. You are suggesting, it seems, that it would be all the same if the dynamic indicating the level which we want the crescendo to reach were attached to the rest in the next bar. In theory you are correct, but (a) I do not recall ever having seen this notation in the 62 years I have been playing music, and (b) it is illogical to apply a dynamic to a silence, although I admit that this objection is somewhat academic. However, I think that most performers would think that it looks wrong and it is therefore possibly a little confusing. Now consider an instance where, instead of a rest in the 2nd bar, we have another note which needs to be played in a similar manner to the first. In other words, we have 2 (or more) 1-bar notes, each of which starts at the same level (e.g. piano) and crescendoes to forte, say. Each note needs a separate hairpin, with an 'f' marking at the end and, with the possible exception of the 1st note, a 'p' marking at the start of the note. We would probably also put the word 'subito' or 'sub.' after the 'p' on the 2nd note. In this case the 'f' *must* come at the end of one bar and the 'p' at the start of the next. Having both at the start of the next bar would mean something quite different: we would be indicating a 'fp' accent on the second note. (And if we put 'fp sub.', not only will it make no difference but it will cause the performers to wonder what on earth the composer meant by it.) In the particular case I was dealing with, there is a time change at the barline. Having a time signature increasing the distance between the end of one bar and the start of the next would have made idiosyncratic placing of a dynamic at the start of the next bar (which only contains a whole bar rest) look even more weird than it would otherwise. And supposing that there is a line-break, or even a page-break at this point? That would look even more peculiar. In conventional music I have never seen a dynamic applied to a rest, so far as I can remember. In any case, this is all rather academic: the convention, in my experience, is that the destination dynamic in these cases is printed before the barline. I don't think anyone would think that notating music in an unconventional manner because the software makes it easier to do it that way is a good idea. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Dynamic mark at the end of a bar
Thanks to all for your consideration of the problem I have been having in placing a dynamic at the end of a bar. Stephen's 2 solutions are quite effective in some cases, but so far as I can see cannot be made to work when there is a single note (e.g. a semibreve) which has to carry the hairpin. The solution using \afterGrace is not dissimilar (or so it seems to me) to David's original suggestion of using a parallel music expression with spacer rests to position the final dynamic. The trouble is, that these are all in one sense work-arounds, and might give problems where the music in question is to be used in both a score and parts. Of course, this difficulty can easily be got around by using tags to create 2 different versions, one for the score and one for the part. Why do I refer to all of these as work-arounds? It is because none of them actually directly achieves what we want. Whether it is my dynamic at the end of a bar (which some people seem to consider unorthodox, though I disagree) or a pair of grace-notes after a trill, we know where the item should appear: it is just before the barline (or the following note, if it is not at the end of a bar). All the work-arounds fake this by placing the object in relation to a note or rest which occurs near the end of the bar, and then if necessary adjusting the horizontal offset. And, so far as I can see, we cam only find the correct values by trial and error. Even then we might have to change them because of later editing. There is absolutely nothing at all wrong with this. But it would be nice if we could just place the object where we actually want it, i.e. in relation to the bar-line, and know that that is where it is going to appear no matter what might happen with the spacing of the bar during editing or compilation. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Incomplete final bar with \parallelMusic
On Mon, 2015-05-25 at 17:47 +0100, Phil Holmes wrote: - Original Message - From: David Sumbler da...@aeolia.co.uk To: lilypond-user@gnu.org Sent: Monday, May 25, 2015 5:32 PM Subject: Incomplete final bar with \parallelMusic I am using the \parallelMusic entry for a string quartet. At the beginning of the 1st movement (which is mostly in 4/4 time) there is a half bar before the first bar-line, which causes no problem because I have \partial 2 in each part. But the corresponding half bar at the end of the movement produces barcheck failed warning messages, although the music compiles correctly. The final bar and a half are these: % bar 148 d2 r2 | d2 r2 | d2 r8 cs cs cs | d2 r8 cs cs cs | % bar 149 d4 r4 \bar |. d4 r4 \bar |. d4 r4 \bar |. d4 r4 \bar |. So far I haven't found a way to suppress these messages, although I have tried several different approaches. I suspect that there is probably a fairly simple solution, but so far I haven't managed to think of it! Any ideas? David Have you considered skips: s2 -- Phil Holmes Yes, but unfortunately they leave a space equivalent to a printed rest. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Incomplete final bar with \parallelMusic
I am using the \parallelMusic entry for a string quartet. At the beginning of the 1st movement (which is mostly in 4/4 time) there is a half bar before the first bar-line, which causes no problem because I have \partial 2 in each part. But the corresponding half bar at the end of the movement produces barcheck failed warning messages, although the music compiles correctly. The final bar and a half are these: % bar 148 d2 r2 | d2 r2 | d2 r8 cs cs cs | d2 r8 cs cs cs | % bar 149 d4 r4 \bar |. d4 r4 \bar |. d4 r4 \bar |. d4 r4 \bar |. So far I haven't found a way to suppress these messages, although I have tried several different approaches. I suspect that there is probably a fairly simple solution, but so far I haven't managed to think of it! Any ideas? David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Incomplete final bar with \parallelMusic
David Sumbler wrote Monday, May 25, 2015 5:32 PM I am using the \parallelMusic entry for a string quartet. At the beginning of the 1st movement (which is mostly in 4/4 time) there is a half bar before the first bar-line, which causes no problem because I have \partial 2 in each part. But the corresponding half bar at the end of the movement produces barcheck failed warning messages, although the music compiles correctly. The final bar and a half are these: % bar 148 d2 r2 | d2 r2 | d2 r8 cs cs cs | d2 r8 cs cs cs | % bar 149 d4 r4 \bar |. d4 r4 \bar |. d4 r4 \bar |. d4 r4 \bar |. So far I haven't found a way to suppress these messages, although I have tried several different approaches. I suspect that there is probably a fairly simple solution, but so far I haven't managed to think of it! Any ideas? On Mon, 2015-05-25 at 15:15 -0400, Stephen MacNeil wrote: what about \set Score.measureLength = #(ly:make-moment 2/4) as far as i know \partial is only for the beginning and from then on you use ly:make-moment This works a treat - thanks. On Mon, 2015-05-25 at 22:49 +0100, Trevor Daniels wrote: The bars must be all the same length as the bar check marks are required. This can be fiddled by increasing the duration of the rests without changing the printed appearance: % bar 148 d''2 r2 | d2 r2 | d2 r8 cs cs cs | d2 r8 cs cs cs | % bar 149 d4 r4*3 \bar |. | d4 r4*3 \bar |. | d4 r4*3 \bar |. | d4 r4*3 \bar |. | I find that this has some of the disadvantages of adding an 's2' after the 'r4'. Although only one crotchet rest appears in the last bar of each part, there is a noticeable gap after it before the final bar. I am using Lilypond 2.18.0 - I don't know whether later versions would behave differently. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Dynamic mark at the end of a bar
I often use 's1*0\!' to end a hairpin just before a barline. But how can a get a dynamic mark (e.g. 'ff') to appear at the end of a bar? In the following example, the first hairpin behaves as I want. The second one ends with a dynamic, but the new dynamic appears at the start of the following bar, even though it is attached to an item which occurs on the barline. \version 2.18.0 { c''4\ c''2. s1*0\! | R1 | c''4\ c''2. s1*0\ff | R1 | } David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Repeats in \parallelMusic
Is there a way of using \repeat volta 2 and similar when using the \parallelMusic command? The following does not work: \version 2.18.0 \parallelMusic #'(Vone Vtwo) { %bar 1 \repeat volta 2 { d''1 | \repeat volta 2 { f'1 | %bar 2 c''1 } | e'1 } | } \score { \new Staff { \Vone } \new Staff { \Vtwo } } I have tried repositioning the braces but none of my experiments so far have produced the desired result. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Text-spanner text repeated at start of line
I want to use a marking such as "accel.-alVivace". However, the following example does not do what I want, because the text is repeated at the start of each new line of music. I just want the dotted line to continue without repetition of the text. \version "2.19.24" \relative { \override TextSpanner.bound-details.left.text = "accelerando" c''4\startTextSpan c c c | c c c c | c c c c \break | c4 c c c\stopTextSpan | \override TextSpanner.bound-details.left.text = "al" c\startTextSpan c c c\stopTextSpan | \tempo "Vivace" c c c c| } I tried using break-visibility, but as I expected this property does not have any with these objects. How can this be achieved? Also, it would be nice if the dotted line could be made to continue right up to the next piece of text, rather than leaving a gap. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: lilypond-user Digest, Vol 155, Issue 137
Getting 40 newcomers to use Lilypond must be a record, I should think! Congratulations to you and Aymeric. I confess that I have only had a chance to watch the first couple of minutes of the video. And although I can read French pretty well, I would struggle with 2 hours of spoken French. However, when I have the time I shall watch more of it: I am be interested to see how you introduce the practical aspects of using Lilypond. Keep up the good work! David On Wed, 2015-10-28 at 10:42 -0400, Mathieu Demangewrote: > Hello, > > My friend and colleague Aymeric OLIVAUD and I, would like to > share the > result of our (ongoing) work focused on LilyPond. We are two > french > music teachers in Paris and we imagined a form of public > workshop/keynote event with young students where we'd try to > show and > explain what is LilyPond but also quickly jump into how to > actually use > it. > > http://lilypond.conservatoire-claude-debussy.fr > > Here you'll find the result of that event (first video). Even > though > it's in French, we'd be very delighted to hear your feedback > about this > initiative. It has already shown great success as I counted > something > like 40 students now using LilyPond and loving it in the music > engraving > workshop I'm in charge of in conservatoire Claude Debussy. > > Yours, > > Mathieu > > ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Text-spanner text repeated at start of line
Thanks, both, for your help on this. Regarding \override TextSpanner.bound-details.left-broken.text = ##f In section 3.1.122 of the internals reference, I see 'left.broken' as an item in the 'bound-details' list but with no indication of what it does, nor that 'left-broken.text' is possible and the values that could take. How could I have found this out from the documentation? As suggested, the thread linked to by Pierre seems to be a good bet. It has taken me some time to read through it all and try out the various attached files. I am quite happy to install version 2.19.27, so that I can get the result I want (with dotted lines). More likely I shall install v2.19.30, which seems to be the latest. Has any of the material developed in connection with the "Text centralized above a TextSpan" thread actually been incorporated into v2.19.30, or is that yet to come? David On Mon, 2015-10-26 at 22:54 +0100, Thomas Morley wrote: > 2015-10-26 21:31 GMT+01:00 Pierre Perol-Schneider > <pierre.schneider.pa...@gmail.com>: > > Hi David, > > > > See : > > http://lilypond.1069038.n5.nabble.com/Text-centralized-above-a-TextSpan-td180601.html > > > > Cheers, > > Pierre > > > > > > 2015-10-26 21:19 GMT+01:00 David Sumbler <da...@aeolia.co.uk>: > >> > >> I want to use a marking such as "accel.-alVivace". > >> > >> However, the following example does not do what I want, because the text > >> is repeated at the start of each new line of music. I just want the > >> dotted line to continue without repetition of the text. > >> > >> \version "2.19.24" > >> > >> \relative { > >> \override TextSpanner.bound-details.left.text = "accelerando" > >> c''4\startTextSpan c c c | c c c c | c c c c \break | > >> c4 c c c\stopTextSpan | > >> \override TextSpanner.bound-details.left.text = "al" > >> c\startTextSpan c c c\stopTextSpan | > >> \tempo "Vivace" c c c c| > >> } > >> > >> I tried using break-visibility, but as I expected this property does not > >> have any with these objects. > >> > >> How can this be achieved? > >> > >> Also, it would be nice if the dotted line could be made to continue > >> right up to the next piece of text, rather than leaving a gap. > >> > >> David > > > > Hi David, > > for your use-case the thread Pierre linked is likely best you can do. > > Though, for the record, you can exclude to repeat TextSpanner's text > after line-break. Compare: > > \relative { > \override TextSpanner.bound-details.left.text = "accelerando" > c''1\startTextSpan \break c c\stopTextSpan > } > > \relative { > \override TextSpanner.bound-details.left.text = "accelerando" > \override TextSpanner.bound-details.left-broken.text = ##f > c''1\startTextSpan \break c c\stopTextSpan > } > > > HTH, > Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Text-spanner text repeated at start of line
OK - thanks for that information. And thanks to you and others for all the hard work that goes into Lilypond. David On Tue, 2015-10-27 at 10:35 -0500, David Nalesnik wrote: > Hi, > > On Tue, Oct 27, 2015 at 9:54 AM, David Sumbler <da...@aeolia.co.uk> > wrote: Has any of the material > developed in connection with the "Text centralized above a > TextSpan" > thread actually been incorporated into v2.19.30, or is that > yet to come? > > > > > Yet to come. This is just something floating around the user list at > the moment. Submitting a patch and putting it through the review > process is my goal, but I will need to mull over it a bit before I'm > confident of it. > > > DN ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Text-spanner text repeated at start of line
I think that the documentation you mention is pretty good as it stands - I just hadn't found it. That's my fault and my inefficiency. I hardly ever use text spanners, and hadn't remembered there was even a section like that. I think I need to find some time simply to read through (for the umpteenth time) the whole of the Notation Reference. No doubt I shall be able to absorb many more details than I could the last time I did it. David On Tue, 2015-10-27 at 20:25 +0100, Thomas Morley wrote: > 2015-10-27 15:54 GMT+01:00 David Sumbler <da...@aeolia.co.uk>: > > Regarding > > \override TextSpanner.bound-details.left-broken.text = ##f > > > > In section 3.1.122 of the internals reference, I see 'left.broken' as an > > item in the 'bound-details' list but with no indication of what it does, > > nor that 'left-broken.text' is possible and the values that could take. > > How could I have found this out from the documentation? > > Hi David, > > well, we have > http://www.lilypond.org/doc/v2.19/Documentation/notation/spanners#using-the-line_002dspanner_002dinterface > > Could you suggest on the bug-list something to improve it? > I'm a non-native speaker ... > > In general, the bound-details-property is a list of lists. With > possible settings for (pseudo-code) > '( > (left ) > (left-broken ) > (right ) > (right-broken ) > ) > I think, possible key-value-settings are explained quite well in the > above linked doc. > > Of course it's possible but quite tedious to always enter the whole > list. Therefore, we have the dotted-list syntax for nested properties, > which modifies a single entry in the (default-)list, like` > bound-details.left-broken.text' > > Btw, there was a problem with reverting overrides for bound-details. > David Kastrup fixed it some time ago. > > > HTH, > Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Text-spanner text repeated at start of line
Thanks for the help with this problem. It has taken me until now to have a chance to experiment further with it. I ended up not using the \markupMap idea, because I don't in any case want the "(minim=138) part of the tempo marking to be bold. So I have ended up with: accelVivaceText = { \override TextSpanner.line-X-offset = #'(0.5 . 0.5) \override TextSpanner.line-Y-offset = 0.5 \addTextSpannerText \lyricmode { \markup \upright \bold "accelerando molto" -- \markup \upright \bold al -- \markup \upright \concat { \bold "Vivace (" \general-align #Y #-1 \tiny \note #"2" #UP " = 138)" } } } Some time in the future, a real text-spanner mode would be useful for this sort of case, so that the problem of wanting the instruction to appear once in the score and once in each of the parts would be solved, hopefully, just as it is currently for normal tempo markings. As it is, the relevant passage in my quartet file looks like this (using \parallelMusic): % bar 40 \tag #'forScore { c8 a b a b \accelVivaceText a \startTextSpan gs a \noBreak | c8 a b a b a gs a | c8 a b a b a gs a | c8 a b a b a gs a | } \tag #'forPart { c8 a b a b \accelVivaceText a \startTextSpan gs a \noBreak | c8 a b a b \accelVivaceText a \startTextSpan gs a \noBreak | c8 a b a b \accelVivaceText a \startTextSpan gs a \noBreak | c8 a b a b \accelVivaceText a \startTextSpan gs a \noBreak | } % bar 41 b8_\cresc gs a gs a gs fs gs | b8_\cresc gs a gs a gs fs es | b8_\cresc gs g gs g fs gs fs | b8_\cresc gs g gs g fs e fs | % bar 42 a8 fs gs fs gs fs e fs | fs8 gs es fs es fs fs es | gs8 a gs g a g a g | gs8 fs e gs fs gs fs fs | % bar 43 gs8 e fs e fs fs es fs | fs8 gs es fs es fs fs es | fs8 g fs es fs g fs g | es8 fs g fs g fs g fs | % bar 44 \tag #'forScore { g8\ff \stopTextSpan es fs es fs fs fs fs | fs8\ff g! es fs es fs fs fs | fs8\ff g fs es fs es fs es | es8\ff fs g es fs es fs fs | } \tag #'forPart { g8\ff \stopTextSpan es fs es fs fs fs fs | fs8\ff \stopTextSpan g! es fs es fs fs fs | fs8\ff \stopTextSpan g fs es fs es fs es | es8\ff \stopTextSpan fs g es fs es fs fs | } Thanks again. David On Tue, 2015-11-03 at 11:39 -0600, David Nalesnik wrote: > Hi David, > > On Tue, Nov 3, 2015 at 11:22 AM, David Sumbler <da...@aeolia.co.uk> > wrote: > I have now got around to trying to use > text-spanner-inner-text-lyric-mode.ly, as suggested by Pierre. > > The basic concept is great, but I am having a few difficulties > (some of > which may be to do with the fact that I have never used > \lyricmode > before). > > It has been suggested that a Tempo spanner might be useful > eventually. > That would certainly have helped me, because I want > "accelerando > moltoalVivace (텞=138)" to appear in each of the four > parts of > the string quartet, but only once in the score. I have got > around this > problem for now by using tags named "forScore" and forPart". > > My second problem is that I want upright, bold text - the > style that is > usually used for tempo markings. Unfortunately, I have not > found a way > of doing this, other than using \markup \upright \bold for > each distinct > part of the text, thus: > > \addTextSpannerText \lyricmode { > \markup \upright \bold "accelerando molto" -- > \markup \upright \bold al -- > \markup \upright \bold "Vivace (2 = 138)" } > > I can't help feeling that there must be a way of formatting > lyrics > globally, but I haven't managed to find it in the manual yet. > > > In this case you'd need to address the TextSpanner grob. Check the > properties here: > http://lilypond.org/doc/v2.19/Documentation/internals/textspanner > Listed is a 'font-shape property, set by default to 'italic. So all > you'd need to do is: > \override TextSpanner.font-shape = #'upright > > > TextSpanner supports the font-interface which has the property > 'font-series and you could set that to bold: > \override TextSpanner.font-series = #'bold > (See http://lilypond.org/doc/v2.19/Documentation/internals/font_002dinterface) > > > > The third problem is the minim for the tempo marking at the > end. I >
Re: Text-spanner text repeated at start of line
I have now got around to trying to use text-spanner-inner-text-lyric-mode.ly, as suggested by Pierre. The basic concept is great, but I am having a few difficulties (some of which may be to do with the fact that I have never used \lyricmode before). It has been suggested that a Tempo spanner might be useful eventually. That would certainly have helped me, because I want "accelerando moltoalVivace (텞=138)" to appear in each of the four parts of the string quartet, but only once in the score. I have got around this problem for now by using tags named "forScore" and forPart". My second problem is that I want upright, bold text - the style that is usually used for tempo markings. Unfortunately, I have not found a way of doing this, other than using \markup \upright \bold for each distinct part of the text, thus: \addTextSpannerText \lyricmode { \markup \upright \bold "accelerando molto" -- \markup \upright \bold al -- \markup \upright \bold "Vivace (2 = 138)" } I can't help feeling that there must be a way of formatting lyrics globally, but I haven't managed to find it in the manual yet. The third problem is the minim for the tempo marking at the end. I can't use \note #"2", because that will be treated as a separate markup and be spaced away from "Vivace(" and "= 138)". Is there a way of achieving what I want? David On Mon, 2015-10-26 at 21:31 +0100, Pierre Perol-Schneider wrote: > Hi David, > > > See : > http://lilypond.1069038.n5.nabble.com/Text-centralized-above-a-TextSpan-td180601.html > > > Cheers, > > Pierre > > 2015-10-26 21:19 GMT+01:00 David Sumbler <da...@aeolia.co.uk>: > I want to use a marking such as "accel.-alVivace". > > However, the following example does not do what I want, > because the text > is repeated at the start of each new line of music. I just > want the > dotted line to continue without repetition of the text. > > \version "2.19.24" > > \relative { > \override TextSpanner.bound-details.left.text = > "accelerando" > c''4\startTextSpan c c c | c c c c | c c c c \break | > c4 c c c\stopTextSpan | > \override TextSpanner.bound-details.left.text = "al" > c\startTextSpan c c c\stopTextSpan | > \tempo "Vivace" c c c c| > } > > I tried using break-visibility, but as I expected this > property does not > have any with these objects. > > How can this be achieved? > > Also, it would be nice if the dotted line could be made to > continue > right up to the next piece of text, rather than leaving a gap. > > David > > > ___ > lilypond-user mailing list > lilypond-user@gnu.org > https://lists.gnu.org/mailman/listinfo/lilypond-user > > ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Tweaking a footnote
Thanks for the response. It hadn't occurred to me to look in \paper variables for 'footnote-separator-markup', though it probably should have done. Similarly, it hadn't occurred to me simply to put the asterisk into the footnote string, even though this should have been an obvious solution! I think I was mystified by that fact that Lilypond prints its default mark in the text, but if you change that default, it doesn't. Somehow that stopped me seeing the obvious. Thanks again. David On Tue, 2015-10-06 at 17:04 +0200, Pierre Perol-Schneider wrote: > Hi David, > > > Try: > > \version "2.18.2" > #(set-default-paper-size "a6") > > \paper { > tagline = ##f > footnote-separator-markup = ##f > } > > { > \override Score.FootnoteItem.annotation-line = ##f > \footnote "*" #'(0 . 3) \markup \fill-line { "*Theme by Louis > Drouet" } > c'4 > } > > > Cheers, > > Pierre > > > 2015-10-06 16:43 GMT+02:00 David Sumbler <da...@aeolia.co.uk>: > I want to annotate a particular passage with a footnote. > > So far I have managed to get what I want in the music itself > with: > > \override Score.FootnoteItem.annotation-line = ##f > \footnote "*" #'(0 . 3) "Theme by Louis Drouet" > > This produces an asterisk over the first note of the relevant > passage, > which is exactly what I want. > > But there are 3 things about the footnote itself which I would > like to > alter. > > 1) If I don't specify a mark, Lilypond puts a "1" by the grob > and by the > footnote. But if I do specify a mark, the footnote itself > does not show > it, i.e. it has no asterisk (in this case) by it. I want the > footnote > to display the asterisk, otherwise it will not be clear why > there is an > asterisk in the score. > > 2) Lilypond produces a horizontal line separating the footnote > area from > the main part of the page. I would prefer not to have this - > assuming > that I can get the asterisk to be displayed next to the > footnote, there > is no ambiguity about what the footnote is there for. > > 3) I would like this footnote centred, rather than > left-aligned on the > page, but I haven't figured out how to do this. No doubt it > involves > normal markup commands, but I can't work out how to apply them > in this > case. (I have never used footnotes before.) > > Thanks for any suggestions. > > David > > > ___ > lilypond-user mailing list > lilypond-user@gnu.org > https://lists.gnu.org/mailman/listinfo/lilypond-user > > ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Handling of objects near barlines
Thanks to Harm and Simon for their responses, which were much as I expected. I still can't see why others don't think my idea is a good one, since it makes some things easier to do and makes nothing more difficult than it is currently - unless Simon is really being serious when he says he doesn't know where clef signs etc. should go. But, ho hum, as I said the response was only what I expected. I can live with that! And I can live with the occasional ungainly overrides too. Lilypond is still a fantastic program. David On Mon, 2015-10-05 at 23:30 +0200, Thomas Morley wrote: > 2015-10-05 19:49 GMT+02:00 David Sumbler <da...@aeolia.co.uk>: > > For a while I have been thinking about something which I feel could be a > > useful modification of Lilypond's behaviour. > > > > Lilypond defaults to standard choices for musical notation, which > > generally saves a lot of work - for instance, it assumes that when we > > write c4 we want a standard crotchet to appear on the page. It saves a > > lot of time not having to specify that that is what we want, yet we can > > still change the appearance of the note into something else if we want > > to, with a bit of extra work. > > > > However, I have had a few problems with items near barlines lately, some > > of which I had help with from the list, and it occurs to me that > > Lilypond is being unnecessarily "helpful" in this area. > > > > Lilypond defaults to putting clef-change signs before the barline, key- > > and time-signature after the barline regardless of whether they are > > before or after a possible bar check marking. For instance, the clef, > > key signature and time signature changes in the following all appear in > > their conventional positions, even though they are (perversely) written > > in reverse order, and with a bar check between two of the items. > > > > \version "2.19.24" > > > > \relative c' > > \displayMusic { > > \key g \major c1 \time 3/4 \key f \major | > > \clef "bass" c2. | > > } > > > > Even when we write the opposite, Lilypond still conforms to the standard > > practice - which is very nice of it, but unnecessary. Lilypond is a > > practical tool, not an educational one, and people using it know the > > conventions and can just as easily type a key change etc. before or > > after the bar check. Lilypond's insistence on orthodoxy does not save > > us any effort whatsoever. > > > > Now I realise that the bar checks are not generally required in > > Lilypond, and they don't really represent barlines anyway, even if they > > look like them. But I think it would be useful if we could use them to > > aid the positioning of these various items. > > > > What I am suggesting is that if you don't use a bar check, then Lilypond > > would sensibly put items in their conventional positions. But if you do > > use a bar check, and put the time change or whatever on the > > unconventional side of it, then Lilypond should respect that. It would > > increase the versatility of the program without losing anything useful. > > > > And it is not necessarily because we are being perverse that we need to > > do these apparently strange things: sometimes it is to cope with a > > situation which is unusual but which Lilypond doesn't currently cope > > with. For instance, one of my recent problems concerned a clef change > > during the "first-time bar" section of a repeated passage; this meant > > that at the start of the "second-time" bar it was necessary to have a > > clef sign to avoid ambiguity - but it made no sense to have it before > > the bar line (i.e. at the end of the first-time section): of necessity > > it needed to come after the barline, at the start of the second-time > > section. If Lilypond had understood that > > > > | \clef "bass" > > > > meant that the clef sign should come after the barline, it would have > > saved me having to type > > > > \once \override Score.BreakAlignment #'break-align-orders = > > #(make-vector 3 '(staff-bar clef key-signature)) \clef "bass" > > > > I think it would also be useful, at least for those of us perverse > > enough to want to do such things, if we could actually anchor items to > > barlines, simply by attaching them to the bar check - I am thinking > > particularly about such things as dynamics (notably the \! to end a > > hairpin) and fermataMarkup. > > > > Perhaps this feature could be considered for a future version of > > Lilypond. It would not inconvenience those users
Tweaking a footnote
I want to annotate a particular passage with a footnote. So far I have managed to get what I want in the music itself with: \override Score.FootnoteItem.annotation-line = ##f \footnote "*" #'(0 . 3) "Theme by Louis Drouet" This produces an asterisk over the first note of the relevant passage, which is exactly what I want. But there are 3 things about the footnote itself which I would like to alter. 1) If I don't specify a mark, Lilypond puts a "1" by the grob and by the footnote. But if I do specify a mark, the footnote itself does not show it, i.e. it has no asterisk (in this case) by it. I want the footnote to display the asterisk, otherwise it will not be clear why there is an asterisk in the score. 2) Lilypond produces a horizontal line separating the footnote area from the main part of the page. I would prefer not to have this - assuming that I can get the asterisk to be displayed next to the footnote, there is no ambiguity about what the footnote is there for. 3) I would like this footnote centred, rather than left-aligned on the page, but I haven't figured out how to do this. No doubt it involves normal markup commands, but I can't work out how to apply them in this case. (I have never used footnotes before.) Thanks for any suggestions. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Handling of objects near barlines
For a while I have been thinking about something which I feel could be a useful modification of Lilypond's behaviour. Lilypond defaults to standard choices for musical notation, which generally saves a lot of work - for instance, it assumes that when we write c4 we want a standard crotchet to appear on the page. It saves a lot of time not having to specify that that is what we want, yet we can still change the appearance of the note into something else if we want to, with a bit of extra work. However, I have had a few problems with items near barlines lately, some of which I had help with from the list, and it occurs to me that Lilypond is being unnecessarily "helpful" in this area. Lilypond defaults to putting clef-change signs before the barline, key- and time-signature after the barline regardless of whether they are before or after a possible bar check marking. For instance, the clef, key signature and time signature changes in the following all appear in their conventional positions, even though they are (perversely) written in reverse order, and with a bar check between two of the items. \version "2.19.24" \relative c' \displayMusic { \key g \major c1 \time 3/4 \key f \major | \clef "bass" c2. | } Even when we write the opposite, Lilypond still conforms to the standard practice - which is very nice of it, but unnecessary. Lilypond is a practical tool, not an educational one, and people using it know the conventions and can just as easily type a key change etc. before or after the bar check. Lilypond's insistence on orthodoxy does not save us any effort whatsoever. Now I realise that the bar checks are not generally required in Lilypond, and they don't really represent barlines anyway, even if they look like them. But I think it would be useful if we could use them to aid the positioning of these various items. What I am suggesting is that if you don't use a bar check, then Lilypond would sensibly put items in their conventional positions. But if you do use a bar check, and put the time change or whatever on the unconventional side of it, then Lilypond should respect that. It would increase the versatility of the program without losing anything useful. And it is not necessarily because we are being perverse that we need to do these apparently strange things: sometimes it is to cope with a situation which is unusual but which Lilypond doesn't currently cope with. For instance, one of my recent problems concerned a clef change during the "first-time bar" section of a repeated passage; this meant that at the start of the "second-time" bar it was necessary to have a clef sign to avoid ambiguity - but it made no sense to have it before the bar line (i.e. at the end of the first-time section): of necessity it needed to come after the barline, at the start of the second-time section. If Lilypond had understood that | \clef "bass" meant that the clef sign should come after the barline, it would have saved me having to type \once \override Score.BreakAlignment #'break-align-orders = #(make-vector 3 '(staff-bar clef key-signature)) \clef "bass" I think it would also be useful, at least for those of us perverse enough to want to do such things, if we could actually anchor items to barlines, simply by attaching them to the bar check - I am thinking particularly about such things as dynamics (notably the \! to end a hairpin) and fermataMarkup. Perhaps this feature could be considered for a future version of Lilypond. It would not inconvenience those users who don't see the desirability for it in any way. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Repeats in \parallelMusic
Thank you for this reply. Yes, it looks as if things are a lot simpler in the latest development version of Lilypond. Still, as I do not actually need repeats starting and ending during a bar for the piece I am currently setting, I shall defer upgrading (and perhaps wait for stable version 2.20). As for Jacques suggestion Wouldn’t all that be much simpler without \parallelMusic, with just one variable per staff contents? Yes, it would, but then my reasons for using \parallelMusic (for a string quartet) are that it has other advantages in the editing, at least from my point of view. David On Wed, 2015-08-26 at 17:12 +0200, David Kastrup wrote: David Sumbler da...@aeolia.co.uk writes: On Wed, 2015-08-26 at 14:10 +0200, David Kastrup wrote: David Sumbler da...@aeolia.co.uk writes: But suppose that the repeat should start in the middle of bar 1 and end in the middle of bar 2. This is easily done when setting the parts separately; but can it be done within a \parallelMusic structure? On the face of it, the answer would seem to be no. Or is it? Any reason you neither try it out nor add any template to demonstrate on? A user list is primarily a knowledge resource: making use of the different knowledge and skill levels of the participants for overcoming hurdles, not for running the whole track. It should be easy enough for yourself to modify the example such that the repeats are on partial measure positions. With respect, I could see no obvious way in which it could be done, which is why I asked. I suppose it was the proverbial stupid question. Anyway, after trying several more (im)possibilities, I found a method that worked but produced error messages. Then I remembered Stephen MacNeil's helpful suggestion a few months ago regarding incomplete final bars. An example is: \version 2.18.0 Ugh. It's likely better to return to the method that worked but produced error messages. Possibly even to one that didn't. There has been Issue 4426: Remove bar checks at the end of \parallelMusic passages This allows ending \parallelMusic at non-bar boundaries. in version 2.19.22. There has also been Issue 3984: Let \parallelMusic cope with \repeat .. \alternative \parallelMusic's recursive decent only worked for comparatively simple cases. It now should be able to deal with complex constructs gracefully. in version 2.19.10 so I am surprised that my example presumably even works in 2.18.0. The contraptions you have been using, in contrast, are fairly noisome. \parallelMusic #'(Vone Vtwo) { %bar 1 \set Score.measureLength = #(ly:make-moment 3/4) c''2. | \set Score.measureLength = #(ly:make-moment 3/4) e'2. | \repeat volta 2 { \set Score.measureLength = #(ly:make-moment 1/4) d''4 | \set Score.measureLength = #(ly:make-moment 1/4) f'4 | %bar 2 \set Score.measureLength = #(ly:make-moment 4/4) e''1 | \set Score.measureLength = #(ly:make-moment 4/4) g'1 | %bar 3 d''1 | f'1 | %bar 4 \set Score.measureLength = #(ly:make-moment 3/4) c''2. | \set Score.measureLength = #(ly:make-moment 3/4) e'2. | } \set Score.measureLength = #(ly:make-moment 1/4) b'4 | \set Score.measureLength = #(ly:make-moment 1/4) d'4 | %bar 5 \set Score.measureLength = #(ly:make-moment 4/4) c''1 | \set Score.measureLength = #(ly:make-moment 4/4) e'1 | } \score { \new Staff { \Vone } \new Staff { \Vtwo } } Not exactly succinct, but it works. I am sending this to the list (a) so that I can find it again when I actually need it (b) in case somebody knows a neater solution to the problem. Well, upgrading. Then the following will work just fine: Lilypond music sheet attachment (sumb.ly) \version 2.19.22 \parallelMusic #'(Vone Vtwo) { %bar 1 { c''2. | e'2. | } \repeat volta 2 { d''4 | f'4 | %bar 2 e''1 | g'1 | %bar 3 d''1 | f'1 | %bar 4 c''2. | e'2. | } b'4 | d'4 | %bar 5 c''1 | e'1 | } \score { \displayLilyMusic \new Staff { \Vone } \new Staff { \Vtwo } } There is, indeed, a slight complication over the most simple version, namely the additional { ... } pair before the \repeat. The reason for that is obvious when looking at the output of the \displayLilyMusic: GNU LilyPond 2.19.26 Processing `sumb.ly' Parsing... \new Staff { { { c''2. } \repeat volta 2 { d''4 | e''1 | d''1 | c''2. } b'4 | c''1 } } \new Staff { { { e'2. } \repeat volta 2 { f'4 | g'1 | f'1 | e'2. } d'4 | e'1 } } One can see that _most_ | events are preserved, but those at the end of some music list are removed. This caters fine
Re: Repeats in \parallelMusic
On Tue, 2015-08-25 at 18:34 +0200, David Kastrup wrote: David Sumbler da...@aeolia.co.uk writes: Is there a way of using \repeat volta 2 and similar when using the \parallelMusic command? The following does not work: \version 2.18.0 \parallelMusic #'(Vone Vtwo) { %bar 1 \repeat volta 2 { d''1 | \repeat volta 2 { f'1 | %bar 2 c''1 } | e'1 } | } \score { \new Staff { \Vone } \new Staff { \Vtwo } } I have tried repositioning the braces but none of my experiments so far have produced the desired result. It's simpler than you think it is. You only need the structure to descend into once. Lilypond music sheet attachment (repar.ly) \version 2.18.0 \parallelMusic #'(Vone Vtwo) { %bar 1 \repeat volta 2 { d''1 | f'1 | %bar 2 c''1 | e'1 | } g''1 | c''1 | } \score { \new Staff { \Vone } \new Staff { \Vtwo } } Thank you very much for that. I see that the repeat structure is acting at a higher level, so to speak, than the parallelMusic layout. This solution works fine for the piece I am currently setting. However, it raises a question for which I may some day need an answer: is it possible to have repeats starting and ending within a bar when using \parallelMusic? Here is a modified version of the above snippet: \version 2.18.0 \parallelMusic #'(Vone Vtwo) { %bar 1 \repeat volta 2 { d''2 d'' | f'2 f' | %bar 2 c''2 c'' | e'2 e' | } %bar 3 g''1 | c''1 | } \score { \new Staff { \Vone } \new Staff { \Vtwo } } That, of course, works fine. But suppose that the repeat should start in the middle of bar 1 and end in the middle of bar 2. This is easily done when setting the parts separately; but can it be done within a \parallelMusic structure? On the face of it, the answer would seem to be no. Or is it? David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Repeats in \parallelMusic
On Wed, 2015-08-26 at 14:10 +0200, David Kastrup wrote: David Sumbler da...@aeolia.co.uk writes: is it possible to have repeats starting and ending within a bar when using \parallelMusic? \version 2.18.0 \parallelMusic #'(Vone Vtwo) { %bar 1 \repeat volta 2 { d''2 d'' | f'2 f' | %bar 2 c''2 c'' | e'2 e' | } %bar 3 g''1 | c''1 | } \score { \new Staff { \Vone } \new Staff { \Vtwo } } That, of course, works fine. But suppose that the repeat should start in the middle of bar 1 and end in the middle of bar 2. This is easily done when setting the parts separately; but can it be done within a \parallelMusic structure? On the face of it, the answer would seem to be no. Or is it? Any reason you neither try it out nor add any template to demonstrate on? A user list is primarily a knowledge resource: making use of the different knowledge and skill levels of the participants for overcoming hurdles, not for running the whole track. It should be easy enough for yourself to modify the example such that the repeats are on partial measure positions. With respect, I could see no obvious way in which it could be done, which is why I asked. I suppose it was the proverbial stupid question. Anyway, after trying several more (im)possibilities, I found a method that worked but produced error messages. Then I remembered Stephen MacNeil's helpful suggestion a few months ago regarding incomplete final bars. An example is: \version 2.18.0 \parallelMusic #'(Vone Vtwo) { %bar 1 \set Score.measureLength = #(ly:make-moment 3/4) c''2. | \set Score.measureLength = #(ly:make-moment 3/4) e'2. | \repeat volta 2 { \set Score.measureLength = #(ly:make-moment 1/4) d''4 | \set Score.measureLength = #(ly:make-moment 1/4) f'4 | %bar 2 \set Score.measureLength = #(ly:make-moment 4/4) e''1 | \set Score.measureLength = #(ly:make-moment 4/4) g'1 | %bar 3 d''1 | f'1 | %bar 4 \set Score.measureLength = #(ly:make-moment 3/4) c''2. | \set Score.measureLength = #(ly:make-moment 3/4) e'2. | } \set Score.measureLength = #(ly:make-moment 1/4) b'4 | \set Score.measureLength = #(ly:make-moment 1/4) d'4 | %bar 5 \set Score.measureLength = #(ly:make-moment 4/4) c''1 | \set Score.measureLength = #(ly:make-moment 4/4) e'1 | } \score { \new Staff { \Vone } \new Staff { \Vtwo } } Not exactly succinct, but it works. I am sending this to the list (a) so that I can find it again when I actually need it (b) in case somebody knows a neater solution to the problem. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Development or stable version?
After recently asking about the use of \repeat inside \parallelMusic I was recommended to download to the latest "development" version of Lilypond. At the time I said I wouldn't do this, but would wait for the next "stable" version. But shortly afterwards, I realised that I needed to use \alternative after a repeat. With the version I was using, 2.18.0, this was going to be a nightmare or perhaps impossible, whereas I had already been shown that in a later version it was easy to make things work. So I decided to "bite the bullet", and downloaded and installed the latest version, 2.19.24. I then used convert-ly to update the files I was working on. Result? A very satisfied user! The result has been an overwhelming success, and has saved me a lot of messing about trying to get things working in 2.18.0 which have already been immeasurably improved in later versions of Lilypond. Why am I writing this? Simply to encourage any other user who might benefit from using a later version than the "stable" one. Of course there is the possibility that some as yet unnoticed bug might rear its head at some point, but let's face it, even release issues of most software have the odd bug somewhere. It is that word "unstable" that put me off! Now that I have used 2.19.24 and entered another 30-odd pages of string quartet with no problems, I shall be less chicken-hearted about using development versions in future. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Clef symbol after a barline
At a repeat, if there is a clef sign within the first-time-bar, then it is essential to restate the appropriate clef at the start of the second-time-bar - but of course the clef sign needs to come after the repeat barline, not before it in its usual position at a barline. I tried the solution posted at http://lists.gnu.org/archive/html/lilypond-user/2012-02/msg00913.html and it works perfectly. However, that was for Lilypond v.2.14. As most of us are now using v.2.18 or 2.19, I just wondered if there is perhaps now a more, shall I say, "elegant" solution available. I certainly couldn't find anything in the manuals, but the fact that I couldn't find it doesn't prove that there is nothing appropriate there! David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Unterminated tie
I have yet another problem related to repeats. The piece I am setting has one instrument which is tied from the last note in the first-time-bar to the note at the start of the repeat. (Moving the repeats does not help, because there are a lot of overlapping ties.) I tried to produce an unterminated tie in the last bar of the first alternative by having a second, invisible voice with two tied notes in the bar: \version "2.19.24" { g'1 ~| \repeat volta 2 { g'1 | d'1 | } \alternative { { << { g'1 } \\ { \override Dots.stencil = ##f \override Stem.stencil = ##f \override Flag.stencil = ##f g'2... ~ g'16 \revert Flag.stencil \revert Stem.stencil \revert Dots.stencil } >> | } { a'1 | } } g'1 | } So far, so good, but the note heads in the bar are still there of course. But when I add "\override NoteHead.stencil = ##f" the compiler gives up with the message: Drawing systems...lilypond: /home/gub/NewGub/gub/target/linux-64/src/lilypond-git.sv.gnu.org--lilypond.git-release-unstable/lily/skyline.cc:119: void Building::precompute(Real, Real, Real, Real): Assertion `!isinf (slope_) && !isnan (slope_)' failed. Why does this happen? And is there perhaps a simpler way of producing my unterminated tie? ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: Clef symbol after a barline
On Sat, 2015-09-12 at 14:10 -0700, Mark Stephen Mrotek wrote: > David, > > Here is a snippet. I am not sure where it is located in the manual, V 2.18. > > \once \override Score.BreakAlignment #'break-align-orders = #(make-vector 3 > '( staff-bar > clef > key-cancellation > key-signature > time-signature)) > > The order of the items can be changed to suit needs. All of them need not be > included. > > Mark That's pretty much what I had - except that I had not realised that I could miss out the irrelevant items. Thanks a lot. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Unterminated tie
On Sun, 2015-09-13 at 00:46 +0200, Thomas Morley wrote: > 2015-09-13 0:11 GMT+02:00 David Sumbler <da...@aeolia.co.uk>: > > I have yet another problem related to repeats. The piece I am setting > > has one instrument which is tied from the last note in the > > first-time-bar to the note at the start of the repeat. (Moving the > > repeats does not help, because there are a lot of overlapping ties.) > > > > I tried to produce an unterminated tie in the last bar of the first > > alternative by having a second, invisible voice with two tied notes in > > the bar: > > > > \version "2.19.24" > > > > { g'1 ~| > > \repeat volta 2 { g'1 | d'1 | } > > \alternative { > > { > > << { g'1 } \\ { \override Dots.stencil = ##f > > \override Stem.stencil = ##f > > \override Flag.stencil = ##f > > g'2... ~ g'16 > > \revert Flag.stencil > > \revert Stem.stencil > > \revert Dots.stencil > > } >> | > > } { > > a'1 | > > } } > > g'1 | > > } > > > > So far, so good, but the note heads in the bar are still there of > > course. But when I add "\override NoteHead.stencil = ##f" the compiler > > gives up with the message: > > > > Drawing systems...lilypond: > > /home/gub/NewGub/gub/target/linux-64/src/lilypond-git.sv.gnu.org--lilypond.git-release-unstable/lily/skyline.cc:119: > > void Building::precompute(Real, Real, Real, Real): Assertion `!isinf > > (slope_) && !isnan (slope_)' failed. > > > > Why does this happen? And is there perhaps a simpler way of producing > > my unterminated tie? > > If you set NoteHead.stencil #f, then the Tie has nothing to attach to. > Use point-stencil instead. > Scaling durations will save much code: > > \version "2.19.24" > > { > g'1 ~| > \repeat volta 2 { g'1 | d'1 | } > \alternative { > { > g'1*15/16~ > \once \override Stem.stencil = #point-stencil > \once \override Flag.stencil = #point-stencil > \once \override NoteHead.stencil = #point-stencil > \once \override Tie.minimum-length = 10 > g'16 > } > { a'1 | } > } > g'1 | > } > > > Other possibility would be to use \repeatTie and use \shape on it. > I doubt it would be the better one ... > > Cheers, > Harm That's brilliant - thank you so much. I wasn't aware of point-stencil (or had forgotten about it). The scaling of durations is a neat trick too - I hadn't thought of it. I find that the override of the tie-length is unnecessary. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: OT: Beauty of programming languages
I guess I had better join in this "off"-topic. I use Lilypond and Emacs on Ubuntu 12.04. I previously use Score for the flute-and-harp arrangements that my former partner and I used to publish. I found learning to use Lilypond effectively much harder to than Score was. It's always much easier to hear wrong notes than to spot them in a printed score, so I use midi output for that purpose. I am 68, and recently retired as an orchestral flautist. I am mainly using Lilypond to put all of the music I ever composed into printed form. This is not really a vanity project - I know that my compositions are not great works, and a few of them are absolute rubbish! - but it keeps me doing something musical which will occupy me for years to come. Having said that, I was interested in Pete's mention of uploading things to IMSLP. I might consider putting some of my better pieces there. My computing background starts with a BBC Micro in 1982. I soon got into writing programs using BBC BASIC, but also loved using assembly language. I wrote a disassembler and output the whole of the OS in assembly language, on reams of fan-fold paper! I also wrote an interpreter (in assembler) for a language called Forth, which I was very keen on. After a few years away from computers, I came back to them in 1994. I have always enjoyed programming, and have dabbled with C, Perl, Java and a few other languages. I use Python for anything I seriously want to do. For many years I used Psion hand-held computers, and used its own OPL language for programming. Wanting to understand Scheme because of its use with Lilypond, I indirectly came across the book "Structure and Interpretation of Computer Programs" by Abelson & Sussman, and am slowly working my way through this. The disciplined approach to programming is something I could really do with! David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Percent repeats within \parallelMusic
The string quartet I have been working on has a few passages where one or more of the instruments are playing the same pattern for several bars in succession. In the score I want these to be written out in full, but in the parts I would like to use numbered "percent" repeat marks. The obvious way for me to do this was to use tags, and provide 2 versions. Unfortunately, because I am using the \parallelMusic structure, it seems to me that this won't work. As an alternative, I thought I could provide the alternatives on a bar-by-bar basis, just for the instrument concerned, so I have experimented to see how I can construct the required output. With just the repeat marks, this works: \version "2.19.24" makePercent = #(define-music-function (note) (ly:music?) "Make a percent repeat the same length as NOTE." (make-music 'PercentEvent 'length (ly:music-length note))) \relative c'' { %Normal version \repeat percent 3 { c1 } %Constructed version c1 \makePercent s1 \makePercent s1 } But the best I have managed so far to include numbers over the repeats is: \version "2.19.24" makePercent = #(define-music-function (note) (ly:music?) "Make a percent repeat the same length as NOTE." (make-music 'PercentEvent 'length (ly:music-length note))) \relative c'' { %Normal \set countPercentRepeats = ##t \repeat percent 3 { c1 } %Constructed version c1 << {\makePercent s1} {s1^\markup \override #'(font-encoding . fetaText) \tiny "2"} >> << {\makePercent s1} {s1^\markup \override #'(font-encoding . fetaText) \tiny "3"} >> } This works (apart from the fact that the numbers are not correctly centred over the bar), but it is clearly rather ungainly. Can anyone suggest a better way of achieving what I want? David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Percent repeats within \parallelMusic
Thanks for this information - it could well provide a solution. I was not aware that, in \parallelMusic, the music between successive bar checks could be more than a single bar. Section 1.5.2 of the Notation Reference says "Bar checks | must be used, and the measures must be of the same length." There is no suggestion that these "measures" need not actually correspond to single measures of the music. The examples shown all use single bars between bar checks. Perhaps this useful fact could be added to this section of the documentation. David On Fri, 2015-10-02 at 10:23 +0200, David Kastrup wrote: > David Sumbler <da...@aeolia.co.uk> writes: > > > The string quartet I have been working on has a few passages where one > > or more of the instruments are playing the same pattern for several bars > > in succession. > > > > In the score I want these to be written out in full, but in the parts I > > would like to use numbered "percent" repeat marks. > > > > The obvious way for me to do this was to use tags, and provide 2 > > versions. > > > > Unfortunately, because I am using the \parallelMusic structure, it seems > > to me that this won't work. > > Why? Can you make a sketch of what you are having problems with? > Percent repeats usually are only for a few bars. If they are not > staggered over instruments, you can just leave off all bar checks in the > repeated passage for all instruments: there is no requirement to do a > barcheck/voiceswitch every bar in \parallelMusic. > ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Controlling hairpin length
Although I quite often find myself needing to use \override Voice.Hairpin.minimum-length = #2 or similar, I find that the results are unpredictable (to me!) Sometimes I have a very short hairpin, perhaps starting on a quaver and ending on the next quaver. In the output such a hairpin sometimes appears as a short vertical line (i.e. with length=0), and a warning is shown in the compiler output. If I change Hairpin.minimum-length I have to do it by trial and error, because the result does not seem necessarily to correspond to the value I have specified. (I am assuming that the units are staff spaces.) I'm guessing that this may perhaps be something to do with having an actual dynamic such as mf attached to one or both notes. The Internals Reference says that use of the minimum-length property with a hairpin "requires an appropriate callback for the springs-and-rods property". Unfortunately I have no clear idea what this means, and I haven't managed to find out yet either by searching or by experimentation. The best I have come up with so far is \override Hairpin.springs-and-rods = #ly:spanner::set-spacing-rods This doesn't improve the output at all, but at least it doesn't produce any additional error or warning! How can I guarantee that all hairpins will be printed with a minimum length of, say, 1.5 staff spaces, and the notes spaced appropriately, regardless of preceding or following dynamics? David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Extending staff lines through key change
> > From: Cynthia Karl> > To: lilypond-user > > Subject: Extending staff lines through key change > > Date: Sat, 12 Dec 2015 15:41:32 -0600 > > > > I’m engraving a piece that ends with a D.C. al Fine. Also the key > > at the beginning of the piece is different from the key at the end > > of the piece. So, in order to cue the performer, a final key change > > is issued for the initial key: > > > > > > \version "2.19.32" > > > > > > { \relative c'' { > > \key g\major > > \repeat unfold 4 { c d e fis } > > \break > > > > > > > > \key f\major > > \repeat unfold 4 { c d e f } > > \mark\markup { D.C. } > > \key g\major > > } } > > > > > > The problem with this is that the staff lines do not extend through > > the final key change. Is there a way do do this? I had a similar problem, which was solved by adding a spacer rest after the last complete bar: c4 d e f \mark \markup { D.C. } \key g \major s16 David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Strings as variable names
> > From: David Kastrup> > To: Andrew Bernard > > Cc: lilypond-user@gnu.org > > Subject: Re: Strings as variable names > > Date: Mon, 28 Dec 2015 12:51:51 +0100 > > > > Andrew Bernard writes: > > > > > > > d...@gnu.org> wrote: > > >> > > >> The quote syntax is a bit of an ugliness which was added for sort-of > > >> consistency reasons. > > > > > > Consistency with what actually? > > > > After > > > > xxx = ... > > > > you can refer to \xxx. And > > > > "xxx" = ... > > > > has always been allowed for arbitrary strings. > > > > > And so the NR should in fact therefore be updated? > > > > It's not really making stuff more readable. I think it would be useful to have it added to the NR. I have always been frustrated by the fact that I can't (or thought I couldn't) use underscores in variable names, and also that numbers are not allowed. Using the syntax with quotes is rather ugly, I agree. But it is nonetheless potentially useful for two reasons: (1) it enables us to use numbers etc. in variable names (2) the quotes help to distinguish our own defined variables from Lilypond's own. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Table of Contents: 2 problems
Thank you for the help I received with this problem. I have finally had time to get back to the project, and have ended up with: \paper { inner-margin = 30\mm outer-margin = 30\mm print-page-number = ##f tocTitleMarkup = \markup { \vspace #10 \fontsize #6 \column { \fill-line { \null "Contents" \null } \vspace #2 } } tocItemMarkup = \markup \fontsize #5 \fill-line { \override #'(line-width . 80) \tocItemWithDotsMarkup } } \markuplist \override #'(baseline-skip . 5) \table-of-contents Lower down on the same page are a couple of paragraphs of text. The table of contents is now much as I want it, although I am not keen on the amount of space between the end of the row of dots and the page-number itself - to me, it seems excessive. But this is a small matter and I can live with it. I dare say that the above markup could be more logically arranged: there was a fair amount of trial and error that went on before I got a successful result, even with the help from the list! David > I have not used a Table of Contents before, and I am having some > difficulty in getting the result I want. I have 2 problems. > > 1) I would like to have a dotted line between the title and the page > number in each line. But if I use > > tocItemMarkup = \tocItemWithDotsMarkup > > then there does not seem to be a way of formatting the text the way I > want to (larger font etc.). > > As an alternative I have tried defining tocItemMarkup including > > \fill-with-pattern #1 #RIGHT . > > This results in a space between the dots > and the page number; I get a similar result with > \fill-with-pattern #1 #CENTER . > > 2) The table of contents appears at the top of a page which already has > a couple of paragraphs of text on it. This page is defined as a > separate \bookpart, and has its own \paper block setting a wider > 'inner-margin' and 'outer-margin' than I use for the actual scores. > > I would like the table of contents to have wider margins still, but a > second \paper block on the same page does not work, and changing > 'indent' effectively only increases the right margin. I have tried > experimenting with a \hspace before and after the contents of the line, > e.g. > > tocItemMarkup = \markup \fontsize #5 \fill-line { > \hspace #1 { \fill-with-pattern #1 #RIGHT . > \fromproperty #'toc:text \fromproperty #'toc:page } \hspace #1 } > > but this just doesn't work. (Please forgive my feeble attempts at using > markup, which I still find rather cryptic!) > > David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Aligning a tempo marking with a note
The markings that have been discussed relate either to "dynamic" (e.g. "mf" or "dim.), or to tempo (e.g. "Allegro", rit."). They also indicate either a state ("mf", "Allegro") or a continuous change ("dim.", "rit."). Both "mf" and "Allegro" could apply to a whole piece lasting, say, half an hour, but "dim. and "rit." could not sensibly do so. There is a third classification that one might consider: does the mark apply to the whole ensemble, or can it apply to just some of it? Clearly, in conventional music tempo markings (whether immediate or gradual) must apply to the whole ensemble, whereas dynamic markings of either sort can apply to just some of the instruments. For this reason it is natural that, whereas dynamic marks are shown separately for each instrument, tempo markings (of both sorts) should appear just once in a score (normally above the top stave). This is one reason I favour marking "rit." etc. by using \tempo: it automatically puts the mark once in the score and once in each individual extracted part. The situation is slightly confused because the distinction is not so clear in music written for one instrument (typically piano). It is not unreasonable to have "rit. e dim." in a piece of solo music. However even in a piano piece, one occasionally gets differential dynamics between one "voice" and another. But one would not usually find, say, "rit." in the right hand and "accel." in the left (except in Nancarrow's music!) David > > From: Kieren MacMillan> > To: Noeck > > Cc: Lilypond-User Mailing List > > Subject: Re: Aligning a tempo marking with a note > > Date: Thu, 19 Nov 2015 18:24:58 -0500 > > > > Hi Joram, > > > > > Well, they are closer than cresc and rit for example. > > > > Definitely! =) > > > > > marks like 'Allegro' are valid for a whole piece or at least large parts > > > of it > > > > Not really… A metronome marking is only valid until the next time the tempo > > changes in any way. That change could be immediate and extreme (e.g., > > “Molto Lento”) or immediate and not-so-extereme (e.g., “Poco meno mosso”) > > or gradual (e.g., “poco accel.”). The tempo is then reset, either > > explicitly (e.g., “Allegro”) or by reference (e.g., “A tempo”). > > > > > A similar thing (not fully equivalent) is this: bar numbers and > > > rehearsal marks. Both can be used to identify a point in time, the > > > latter are for larger chunks, the former more fine grained. > > > > I agree that the analogy is not fully equivalent. > > > > Cheers, > > Kieren. > > > > > > Kieren MacMillan, composer > > ‣ website: www.kierenmacmillan.info > > ‣ email: i...@kierenmacmillan.info > > > > > > > ___ > lilypond-user mailing list > lilypond-user@gnu.org > https://lists.gnu.org/mailman/listinfo/lilypond-user ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Aligning a tempo marking with a note
Thanks to all for the various suggestions on this topic. In particular, Kieren's suggestion is interesting. I must confess that, having been reading and playing music for a mere 63 years, I had to look up what the word "custos" means! As you can deduce, I've never really been "into" early music. You will understand, then, that I never use a custos, so the line \once \override Score.MetronomeMark.break-align-symbols = #'(custos) intrigues me. I am guessing that "custos" is there because it is something that will never be found in my scores, and therefore we are effectively neutralising the usual alignment adjustments at the break. Is this correct? Is it not possible to have an empty list? David > > From: Kieren MacMillan> > To: Noeck > > Cc: Lilypond-User Mailing List > > Subject: Re: Aligning a tempo marking with a note > > Date: Thu, 19 Nov 2015 13:23:21 -0500 > > > > Hi Joram and David, > > > > > you should rather stick to the right syntax > > > > David *is* using the right syntax: “rit” (etc.) is a tempo marking > > (MetronomeMark), not an arbitrary text markup (TextScript). > > > > > I have now discovered that this does not work too well when the > > > mark comes at the beginning of a bar which has a time- and/or a > > > key-signature, because the marking then comes above the signature. This > > > is fine for a normal tempo marking such as "Allegro", but looks wrong > > > for "rit." or "accel.", which I would prefer to appear above the first > > > note of the bar. > > > > Look at break-align-symbols, e.g. > > > > SNIPPET BEGINS > > \version "2.19.30" > > \language "english" > > > > markMusic = { > > \time 4/4 > > \tempo "Aligned to TimeSignature (default)" > > c''4 4 4 4 \break > > > > \time 3/4 > > \tempo "rit. (default)" > > c''4 4 4 \break > > > > \time 3/4 > > \once \override Score.MetronomeMark.break-align-symbols = #'(custos) > > \tempo "rit. (tweaked)" > > c''4 4 4 \break > > > > \time 4/4 > > \tempo "rit. (back to default)" > > c''4 4 4 4 > > } > > > > \score { \markMusic } > > SNIPPET ENDS > > > > Hope this helps! > > Kieren. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Changing first-system indent
I have finally got to the stage of tidying up the score I have been working on. The top-level .ly file is structured like this: \book { \paper { *variables* } \bookpart { *titlepage* } \bookpart { \header { *variables* } \score { { *first-movement-music* } \header { piece = "I" } \layout { } } \score { { *second-movement-music* } \header { piece = "II" } \layout { } } % etc. } } } \book { *data-for-1st-violin-part* } \book { *data-for-2nd-violin-part* } % etc. For the first movement of the score, I have Staff.instrumentName defined for each instrument, and this requires an indent of 16mm. However, in subsequent movements I do not set Staff.instrumentName, so no indent is required. The variable 'indent' is defined in a \paper block, and I now see that the lowest level context that a \paper block can appear in is \bookpart. I could, of course, quite easily restructure the file so that each movement is contained in a separate \bookpart, but this would mean that each movement then starts on a new page. This is not what I want: I prefer the movements to follow one another with no page break to emphasize the integrity of the whole work. Is there a way round this problem? In other words, is there some way I can force the first system of the 2nd and subsequent movements to be printed with no indent, without each movement necessarily appearing on a new page? David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Table of Contents: 2 problems
Thank you for this suggestion. But unfortunately using \override-lines #'(line-width . 100) effectively alters the width of the right margin without altering the left margin. I want the text centred horizontally on the page, so this does not produce the result I want. David On Sat, 2015-11-21 at 08:16 -0500, Hwaen Ch'uqi wrote: > Greetings David, > > Please forgive me if I misunderstood your meaning, but here is perhaps > a solution, albeit less elegant, for your second issue? Perhaps your > \paper block can reflect the margins which you would like for the > Table of Contents, but for the preceding paragraphs of text on the > same page, you could use > > \override-lines #'(line-width . 100) { . . . } > > to affect those particular margins. > > Hwaen Ch'uqi > > > On 11/21/15, David Sumbler <da...@aeolia.co.uk> wrote: > > I have not used a Table of Contents before, and I am having some > > difficulty in getting the result I want. I have 2 problems. > > > > 1) I would like to have a dotted line between the title and the page > > number in each line. But if I use > > > > tocItemMarkup = \tocItemWithDotsMarkup > > > > then there does not seem to be a way of formatting the text the way I > > want to (larger font etc.). > > > > As an alternative I have tried defining tocItemMarkup including > > > > \fill-with-pattern #1 #RIGHT . > > > > This results in a space between the dots > > and the page number; I get a similar result with > > \fill-with-pattern #1 #CENTER . > > > > 2) The table of contents appears at the top of a page which already has > > a couple of paragraphs of text on it. This page is defined as a > > separate \bookpart, and has its own \paper block setting a wider > > 'inner-margin' and 'outer-margin' than I use for the actual scores. > > > > I would like the table of contents to have wider margins still, but a > > second \paper block on the same page does not work, and changing > > 'indent' effectively only increases the right margin. I have tried > > experimenting with a \hspace before and after the contents of the line, > > e.g. > > > > tocItemMarkup = \markup \fontsize #5 \fill-line { > > \hspace #1 { \fill-with-pattern #1 #RIGHT . > > \fromproperty #'toc:text \fromproperty #'toc:page } \hspace #1 } > > > > but this just doesn't work. (Please forgive my feeble attempts at using > > markup, which I still find rather cryptic!) ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Table of Contents: 2 problems
On Tue, 2015-11-24 at 14:47 +0100, David Kastrup wrote: > David Sumbler <da...@aeolia.co.uk> writes: > > > I have experimented with elements from the all the suggestions made - > > thanks to all. One thing that has been confirmed is that my > > understanding of how to use markup commands is pretty poor. > > > > I still have not managed to solve all of the problems. I tried to test > > Graham's suggestion of a modification of part of Nicolas Sceaux's > > book-titling snippet. But when I try to compile the whole snippet > > (which has a demo at the end of it) I get an error. > > > > I am using Lilypond 2.19.30; the snippet does not have a "version" > > statement. The error I am getting stems from the fact that in the > > snippet the procedure 'collect-music-for-book' is always called with 2 > > arguments: (collect-music-for-book parser (make-music # # ...)). When I > > look in the lily-library.scm in my current Lilypond installation, I see > > that it should only have 1 argument, e.g. > > (collect-music-for-book (make-music # # ...)). > > > > I have tried putting an old version number at the top of the snippet > > (e.g. "version" 2.16.1) and running convert.ly, but no significant > > changes are made to the file. > > > > How can I get this snippet to work? > > I presume you are talking about snippet 368? > > Putting on old version number at the top of the snippet and running > convert-ly works here. Do you have the wrong convert-ly perhaps? > > I get as diff (from 2.18.0) > > differences between files attachment (lsr368.diff) > --- /tmp/Snippet 2015-11-24 14:39:21.482732193 +0100 > +++ - 2015-11-24 14:44:36.648156076 +0100 > @@ -1,3 +1,4 @@ > +\version "2.19.32" > %% http://lsr.di.unimi.it/LSR/Item?id=368 > %% see also > http://www.lilypond.org/doc/v2.18/Documentation/snippets/paper-and-layout > %% see also http://nicolas.sceaux.free.fr/ > @@ -236,7 +237,7 @@ > (set! odd-label-header-table > (cons (list label text display-1st) > odd-label-header-table)) > - (collect-music-for-book parser > + (collect-music-for-book > (make-music 'Music >'page-marker #t >'page-label label) > @@ -246,7 +247,7 @@ > (set! even-label-header-table > (cons (list label text display-1st) > even-label-header-table)) > - (collect-music-for-book parser > + (collect-music-for-book > (make-music 'Music >'page-marker #t >'page-label label)) > @@ -266,23 +267,23 @@ > %%% Utilities for adding (no-)page breaks, toplevel markups > %%% > #(define (add-page-break parser) > - (collect-music-for-book parser > + (collect-music-for-book > (make-music 'Music > 'page-marker #t > 'line-break-permission 'force > 'page-break-permission 'force))) > > #(define (add-no-page-break parser) > - (collect-music-for-book parser > + (collect-music-for-book > (make-music 'Music > 'page-marker #t > 'page-break-permission 'forbid))) > > #(define (add-toplevel-markup parser text) > - (collect-scores-for-book parser (list text))) > + (collect-scores-for-book (list text))) > > #(define (add-toc-item parser markup-symbol text) > - (collect-music-for-book parser > + (collect-music-for-book > (add-toc-item! markup-symbol text))) > > > @@ -302,7 +303,7 @@ >(format #f "~a-~a" major-number minor-number > > #(define-public (add-rehearsal-number parser) > - (collect-scores-for-book parser > + (collect-scores-for-book > (list (markup #:huge #:bold (rehearsal-number) > > > @@ -314,50 +315,50 @@ > #(define *use-rehearsal-numbers* (make-parameter #f)) > > useRehearsalNumbers = > -#(define-music-function (parser location use-numbers) (boolean?) > +#(define-music-function (use-numbers) (boolean?) >(*use-rehearsal-numbers* use-numbers) > (make-music 'Music 'void #t)) > > bookTitle = > -#(define-music-function (parser location title) (string?) > +#(define-music-function (title) (string?) > (*book-title* title) > (make-music 'Music 'void #t)) > > chapter = > -#(define-music-function (parser location title) (string?) > +#(define-music-function (title) (string?) >(increase-rehearsal-major-number) > - (add-page-break parser) &
Re: Table of Contents: 2 problems
I have experimented with elements from the all the suggestions made - thanks to all. One thing that has been confirmed is that my understanding of how to use markup commands is pretty poor. I still have not managed to solve all of the problems. I tried to test Graham's suggestion of a modification of part of Nicolas Sceaux's book-titling snippet. But when I try to compile the whole snippet (which has a demo at the end of it) I get an error. I am using Lilypond 2.19.30; the snippet does not have a "version" statement. The error I am getting stems from the fact that in the snippet the procedure 'collect-music-for-book' is always called with 2 arguments: (collect-music-for-book parser (make-music # # ...)). When I look in the lily-library.scm in my current Lilypond installation, I see that it should only have 1 argument, e.g. (collect-music-for-book (make-music # # ...)). I have tried putting an old version number at the top of the snippet (e.g. "version" 2.16.1) and running convert.ly, but no significant changes are made to the file. How can I get this snippet to work? David On Sat, 2015-11-21 at 11:56 +, David Sumbler wrote: > I have not used a Table of Contents before, and I am having some > difficulty in getting the result I want. I have 2 problems. > > 1) I would like to have a dotted line between the title and the page > number in each line. But if I use > > tocItemMarkup = \tocItemWithDotsMarkup > > then there does not seem to be a way of formatting the text the way I > want to (larger font etc.). > > As an alternative I have tried defining tocItemMarkup including > > \fill-with-pattern #1 #RIGHT . > > This results in a space between the dots > and the page number; I get a similar result with > \fill-with-pattern #1 #CENTER . > > 2) The table of contents appears at the top of a page which already has > a couple of paragraphs of text on it. This page is defined as a > separate \bookpart, and has its own \paper block setting a wider > 'inner-margin' and 'outer-margin' than I use for the actual scores. > > I would like the table of contents to have wider margins still, but a > second \paper block on the same page does not work, and changing > 'indent' effectively only increases the right margin. I have tried > experimenting with a \hspace before and after the contents of the line, > e.g. > > tocItemMarkup = \markup \fontsize #5 \fill-line { > \hspace #1 { \fill-with-pattern #1 #RIGHT . > \fromproperty #'toc:text \fromproperty #'toc:page } \hspace #1 } > > but this just doesn't work. (Please forgive my feeble attempts at using > markup, which I still find rather cryptic!) > > David > ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Changing first-system indent
Thanks for the answer to my query. I now see that this is mentioned in section 4.1.5 of the NR. The mistake I was making was in trying to put indent within a \paper block inside a \layout block. Best wishes David On Thu, 2015-11-19 at 15:31 +, Trevor Daniels wrote: > David, you wrote Thursday, November 19, 2015 3:14 PM > > > >I have finally got to the stage of tidying up the score I have been > > working on. > [snip] > > For the first movement of the score, I have Staff.instrumentName defined > > for each instrument, and this requires an indent of 16mm. However, in > > subsequent movements I do not set Staff.instrumentName, so no indent is > > required. > > > > The variable 'indent' is defined in a \paper block, and I now see that > > the lowest level context that a \paper block can appear in is \bookpart. > > > > I could, of course, quite easily restructure the file so that each > > movement is contained in a separate \bookpart, but this would mean that > > each movement then starts on a new page. This is not what I want: I > > prefer the movements to follow one another with no page break to > > emphasize the integrity of the whole work. > > > > Is there a way round this problem? In other words, is there some way I > > can force the first system of the 2nd and subsequent movements to be > > printed with no indent, without each movement necessarily appearing on a > > new page? > > indent can also be set in a \layout block, which is at \score level. > > Trevor ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Aligning a tempo marking with a note
Although many scores use a similar italic font for "rit.", "accel." etc. as they do for dynamic changes such as "cresc.", I prefer to use an upright bold font - the same as for other tempo markings such as "Allegro". The easiest way for me to do this (at least until now) is to use '\tempo "rit."' or similar. However, I have now discovered that this does not work too well when the mark comes at the beginning of a bar which has a time- and/or a key-signature, because the marking then comes above the signature. This is fine for a normal tempo marking such as "Allegro", but looks wrong for "rit." or "accel.", which I would prefer to appear above the first note of the bar. I have tried \once \override Score.MetronomeMark.X-offset = #4 \tempo "rit.", but this is unreliable: it works some of the time, but does not work correctly at the beginning of a line; also a clef change seems to upset things. And since a clef change will not exist in all the parts, I cannot use different values of MetronomeMark.X-offset to get around this problem. Clearly, rather than trying to fake it with horizontal shifting, I need actually to align the tempo mark with the note itself, but I haven't managed to work out how to do that. How can it be done? David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Table of Contents: 2 problems
I have not used a Table of Contents before, and I am having some difficulty in getting the result I want. I have 2 problems. 1) I would like to have a dotted line between the title and the page number in each line. But if I use tocItemMarkup = \tocItemWithDotsMarkup then there does not seem to be a way of formatting the text the way I want to (larger font etc.). As an alternative I have tried defining tocItemMarkup including \fill-with-pattern #1 #RIGHT . This results in a space between the dots and the page number; I get a similar result with \fill-with-pattern #1 #CENTER . 2) The table of contents appears at the top of a page which already has a couple of paragraphs of text on it. This page is defined as a separate \bookpart, and has its own \paper block setting a wider 'inner-margin' and 'outer-margin' than I use for the actual scores. I would like the table of contents to have wider margins still, but a second \paper block on the same page does not work, and changing 'indent' effectively only increases the right margin. I have tried experimenting with a \hspace before and after the contents of the line, e.g. tocItemMarkup = \markup \fontsize #5 \fill-line { \hspace #1 { \fill-with-pattern #1 #RIGHT . \fromproperty #'toc:text \fromproperty #'toc:page } \hspace #1 } but this just doesn't work. (Please forgive my feeble attempts at using markup, which I still find rather cryptic!) David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Repeated notes
Is there a quick way to write repeated notes? I know that I can write \repeat unfold 8 { bf8 } instead of bf8 bf bf bf bf bf bf bf But is there a simpler way? Perhaps something along the lines of bf8*8 (which, as it stands, doesn't work, of course). David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Repeated notes
On Tue, 2016-06-14 at 19:01 +0200, David Kastrup wrote: > David Sumbler <da...@aeolia.co.uk> writes: > > > > > Is there a quick way to write repeated notes? > > > > I know that I can write > > > > \repeat unfold 8 { bf8 } > > > > instead of > > > > bf8 bf bf bf bf bf bf bf > > > > > > But is there a simpler way? Perhaps something along the lines of > > > > bf8*8 > > > > (which, as it stands, doesn't work, of course). > It does work, but you probably don't like its result. I'm using v.2.19.40, and so far as I can see it only works in the sense that the compiler doesn't produce an error. > At any rate, I like > > bf8 8 8 8 8 8 8 8 > > better. Particularly useful for percussion, but generally useful for > rhythmical patterns on the same pitch/chord. It doesn't save all > that > much typing but the result tends to be clearer to read when leaving > off > the pitches rather than the lengths. Agreed, and since this possibility was introduced, I have been using it quite a lot. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user