Re: \RemoveEmptyStaves removes Dynamics context
Malte and Simon - I didn't have the opportunity to try your suggestions yet, but just wanted to say thanks for helping! Am 07.05.2018 um 01:21 schrieb Simon Albrecht: > On 06.05.2018 23:03, Malte Meyn wrote: >> Am 06.05.2018 um 22:35 schrieb Thomas Weber: >>> Can anybody help me with keeping the dynamics alive? Many thanks! >>> >>> […] >>> >>> \layout { >>> \context { >>> \Score >> Replace \Score by \Staff here. >>> \RemoveEmptyStaves >>> \override VerticalAxisGroup.remove-first = ##t > In case you’re using any version starting from 2.19.36, you can replace the > above two lines by > \RemoveAllEmptyStaves > > Best, Simon > > ___ > 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
\RemoveEmptyStaves removes Dynamics context
Can anybody help me with keeping the dynamics alive? Many thanks! dynamics = {s1\p} music = {c'1} \layout { \context { \Score \RemoveEmptyStaves \override VerticalAxisGroup.remove-first = ##t } } \score { << \new Staff \music \new Dynamics \dynamics >> } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: DynamicText.X-offset in StaffGroups
Am 05.05.2018 um 11:23 schrieb Malte Meyn: > • or \override DynamicText.extra-spacing-width = #empty-interval for the > lowest Staff in a StaffGroup. That is very useful to know! Also when the dynamics would actually cross a barline in combination with whiteout: violinIIa = \relative c'' { r16 fis-. fis'-. fis,-. fis'-. r r8 | r4 \once \override DynamicText.X-offset = #-4 \once \override DynamicText.Y-offset = #3 d8\pp^\markup "pizz." r | r4 e8 r | } violinIIb = \relative c'' { r16 fis-. fis'-. fis,-. fis'-. r r8 | \once \override DynamicText.X-offset = #-4 \once \override DynamicText.extra-spacing-width = #empty-interval \once \override DynamicText.whiteout = ##t g,2~-.\upbow \pp | g2-. | } \score { << \time 2/4 \new StaffGroup << \new Staff \partcombine \violinIIa \violinIIb \new Staff \partcombine \violinIIa \violinIIb >> >> } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Need someone testing XML file in Finale and Sibelius (and Dorico)
Sibelius 8.1.1 creates exactly the same beaming. Am 05.05.2018 um 09:38 schrieb Robert Blackstone: > Hi Urs, > > This is what your file produces with Finale 2024.5, on a MacBook with > OSX 10.9.5. > > > > (I should have compressed it a bit.) > > Best regards, > > Robert Blackstone > >> Hi, >> >> I'm trying to add support to python-ly for exporting manual beams >> to MusicXML. >> >> I managed to export the commands to start and end a beam, but >> that's not sufficient. In theory >> (https://usermanuals.musicxml.com/MusicXML/Content/EL-MusicXML-beam.htm) >> the beaming pattern is described in detail in MusicXML, and when I >> export something from MuseScore this is also what I get. >> >> I don't see it as reasonable to properly implement this in the >> python-ly exporter (at least for now) because that would >> essentially mean re-implementing the whole beaming-pattern code >> from LilyPond (which even isn't fully correct either). >> >> However, I realized that when I have the beam start and end encoded >> by python-ly and then (so far manually) add >> >> continue >> >> to each note, regardless of the actual beaming pattern situation, >> MuseScore will correctly import the XML file (and add the correct >> encoding when re-exporting to XML). >> >> While I know this is not a correct export I think it would be a >> good start and in any case better than nothing. But I would like to >> know what the other programs will do with the code. >> >> So I'd be happy if people could import the attached .xml file to >> Finale, Sibelius and (if possible) Dorico, and tell me about the >> results. Also attached is the reference image of what it should >> look like. (Note that the .xml is manually tweaked at this point). >> >> TIA Urs >> >> <05-beam.xml><05-beam.png>___ >> >> 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 05-beam - Full Score.pdf Description: Adobe PDF document ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
DynamicText.X-offset in StaffGroups
Hi all, when I compile the below example with 2.18.2, I get the output that I want - the "pp" below the staff is offset as expected. When I compile with 2.19.54, more unnecessary space is created after the barline to avoid that the dynamic crosses below the barline. (See attached images.) Is this a bug or a feature? It only happens in StaffGroups. This might make sense to avoid barlines within the StaffGroup, but not below the StaffGroup. Best Thomas P.S.: From which git branch can I compile the current state of 2.19? The download links for the compiled binaries are broken: http://lilypond.org/development.html#Download-4 violinIIa = \relative c'' { r16 fis-. fis'-. fis,-. fis'-. r r8 | r4 \once \override DynamicText.X-offset = #-4 \once \override DynamicText.Y-offset = #3 d8\pp^\markup "pizz." r | r4 e8 r | } violinIIb = \relative c'' { r16 fis-. fis'-. fis,-. fis'-. r r8 | \once \override DynamicText.X-offset = #-4 g,2~-.\upbow \pp | g2-. | } \score { << \time 2/4 \new StaffGroup { \new Staff \partcombine \violinIIa \violinIIb } >> } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Double time signature when there are grace notes
Am 11.02.2017 um 13:51 schrieb Thomas Morley: Arnold has put up some work to get a more automagic workflow. http://lsr.di.unimi.it/LSR/Item?id=990 http://lsr.di.unimi.it/LSR/Item?id=978 IIRC his work is not finished, so you probably will need to fall back to grace-spacers sometimes... This actually solves my problem - thanks for pointing me there! I'm relieved there is an existing fix. This looks like it should be the standard behaviour of Lilypond. Can anybody tell how the chances are of integrating this into off-the-shelf Lilypond? Would be really convenient. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Double time signature when there are grace notes
Am 10.02.2017 um 23:48 schrieb Jacques Menu Muzhic: Not a bug, but a feature : you have to add graces in all voices : I already realized that: Le 10 févr. 2017 à 23:23, Thomas Weber <t...@notabit.eu> a écrit : * I can add a "grace space" to the bottom staff But I tried to avoid this for the following reasons: * The staffs won't work standalone ([...] broken spacing). * I have to analyze all other staffs when writing out one staff. How would you actually do this e.g. in an orchestral work where you want to create score and parts from the same data without distorting the spacing where invisible graces were added? Would you work with tags to remove the invisible graces? Best Thomas ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Double time signature when there are grace notes
Dear all, I need help with the following situation: \version "2.19.54" << { c'1 \break \time 15/16 \grace a'16 b'2... } { R1 \break \time 15/16 c'2... } >> This results in the attached output. Is that a bug or is this supposed to be encoded differently? There are dirty workarounds: * I can fix it by removing the \time from the bottom staff. * I can add a "grace space" to the bottom staff[1] Both solutions have the following disadvantages I want to avoid: * The staffs won't work standalone (missing time signature or broken spacing). * I have to analyze all other staffs when writing out one staff. I'm looking for a reliable solution that works well for auto-generating Lilypond code. Highly appreciating any help on this, Thomas Weber [1] https://lists.gnu.org/archive/html/lilypond-user/2004-08/msg00258.html ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Find out denominator of current time signature
11.01.2017 um 18:46 schrieb Malte Meyn: You can get the duration from the context property timeSignatureFraction or baseMoment: % \version "2.19.53" { \time 12/8 \applyContext #(lambda (context) (display (ly:context-property context 'baseMoment))) %'timeSignatureFraction))) } % I don’t know how you can make a music function that uses this and returns music. \applyContext #(lambda (context) (make-music …)) has no visible output. But maybe it’s a start. That's definitely going into the right direction - many thanks. I tried this: \new Staff << { c'4 d'4 e'4 f'4 } { \applyContext #(lambda (context) (make-music 'SkipEvent 'articulations (list (make-music 'AbsoluteDynamicEvent 'text "ff")) 'duration (ly:make-duration 0 0 1 (cdr (ly:context-property context 'timeSignatureFraction) } >> which is apparently valid, but the created skip event is not inserted into the music (which your reply already suggested). I guess the problem boils down to how to get hold of the context without \applyContext. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Find out denominator of current time signature
Dear all, I wonder how I can create a duration that is so to say exactly one time signature denominator long (e.g. an eigth in 6/8, a quarter in 4/4 etc.). I thought something like this would work: #(make-music 'SkipEvent 'duration (ly:make-duration 0 0 1 (ly:moment-main-denominator ???)) 'articulations (list (make-music 'AbsoluteDynamicEvent 'text "ff"))) Lacking experience, I don't know whether ly:moment-main-denominator is the thing to go for here and if so, what argument to supply. The background is automatic generation of Lilypond input code where it is non-trivial to find out the time signature for the code generator, so I hoped it would be possible to write out some Scheme code that will defer that task to Lilypond. Many thanks Thomas ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Building Lilypond on Ubuntu 16.04
Thanks for bringing me on track, Werner. I was able to solve the problem in a quick and dirty manner, however it would be useful to learn how to solve it properly. What I did was: $ sudo ln -s /usr/include/freetype2/freetype/config /usr/include/freetype2/config $ sudo sed -i 's|/freetype2$|/freetype2/freetype|' /usr/lib/x86_64-linux-gnu/pkgconfig/freetype2.pc $ ./configure $ make Which gives me a working lilypond 2.19.49. What I didn't try previously was the first step, i.e. the symbolic link to the config folder. Am 21.09.2016 um 10:59 schrieb Werner LEMBERG: > > You still don't tell us what lilypond version you are compiling. You're right. I tried compiling the current master branch. > And > the interesting data is not the make output but the data in > `config.log' that protocols how the build system got configured. > O.K., so I attached the full log (that's from the unmodified .pc file). Here are the lines with "freetype" in them: $ grep freetype config.log configure:9267: result: -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/freetype2 configure:9273: result: -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype configure:9307: g++ -c -O2 -finline-functions -g -pipe -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu/python2.7 -fno-strict-aliasing -g -fstack-protector-strong -g -fwrapv -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/freetype2 conftest.cpp >&5 configure:9307: g++ -E -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu/python2.7 -fno-strict-aliasing -g -fstack-protector-strong -g -fwrapv -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/freetype2 conftest.cpp configure:9319: g++ -o conftest -O2 -finline-functions -g -pipe -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu/python2.7 -fno-strict-aliasing -g -fstack-protector-strong -g -fwrapv -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/freetype2 conftest.cpp -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype -ldl >&5 configure:9409: result: -I/usr/include/freetype2 configure:9415: result: -lfontconfig -lfreetype configure:9513: checking for freetype2 >= 2.1.10 configure:9524: result: -I/usr/include/freetype2 configure:9530: result: -lfreetype FONTCONFIG_CFLAGS='-I/usr/include/freetype2' FONTCONFIG_LIBS='-lfontconfig -lfreetype' FREETYPE2_CFLAGS='-I/usr/include/freetype2' FREETYPE2_LIBS='-lfreetype' PANGO_FT2_CFLAGS='-I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/freetype2' PANGO_FT2_LIBS='-lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype' >> I tried changing the line "Cflags: -I${includedir}/freetype2" to >> "Cflags: -I${includedir}/freetype2/freetype", but the headers are >> still not found. > Pfft, don't change this file! It was installed during a `make > install' of the FreeType library. If you have a different FreeType > library installed, then you have *another* `freetype2.pc' file. > Search that. This is a pretty clean and fresh system, I didn't install anything outside of the package manager. All I got was: $ LANG=C sudo find / -name 'freetype2.pc' find: './run/user/1000/gvfs': Permission denied ./usr/lib/x86_64-linux-gnu/pkgconfig/freetype2.pc > It might be possible to change the order of directories searched by > pkg-config. You can do that by modifying the `PKG_CONFIG_PATH' > environment variable. More details can be found in pkg-config's > manpage. > > Have a look at the output of > > pkg-config --debug 2>&1 | less > > and search for `freetype'; this shows you what pkg-config finds where. $ pkg-config --debug 2>&1 | grep freetype File 'freetype2.pc' appears to be a .pc file Will find package 'freetype2' in file '/usr/lib/x86_64-linux-gnu/pkgconfig/freetype2.pc' That's the very freetype2.pc file I modified to make things work. Could that mean the package libreetype6-dev has a broken .pc file (because Cflags should point to a different folder)? These are the .pc and .h files it installs: $ dpkg-query -L libfreetype6-dev | grep -E '(\.pc$)|(\.h$)' /usr/lib/x86_64-linux-gnu/pkgconfig/freetype2.pc /usr/include/freetype2/freetype/ftcid.h /usr/include/freetype2/freetype/ftmodapi.h /usr/include/freetype2/freetype/fttrigon.h /usr/include/freetype2/freetype/ftoutln.h /usr/include/freetype2/freetype/ftglyph.h /usr/include/freetype2/freetype/ftincrem.h /usr/include/freetype2/freetype/fterrors.h
Re: Building Lilypond on Ubuntu 16.04
Thanks for your reply, Werner. What I did is the following: $ git pull ; LANG=C make all | tail Already up-to-date. make[1]: *** No rule to make target '/usr/include/freetype2/freetype.h', needed by 'out/vaticana-ligature.o'. Stop. make: *** [all] Error 2 make[2]: Entering directory '/home/tom/devel/lilypond/scripts/build' true make[2]: Leaving directory '/home/tom/devel/lilypond/scripts/build' make[1]: Leaving directory '/home/tom/devel/lilypond/scripts' make[1]: Entering directory '/home/tom/devel/lilypond/flower' true make[1]: Leaving directory '/home/tom/devel/lilypond/flower' make[1]: Entering directory '/home/tom/devel/lilypond/lily' make[1]: Leaving directory '/home/tom/devel/lilypond/lily' /home/tom/devel/lilypond/stepmake/stepmake/generic-targets.make:6: recipe for target 'all' failed Am 21.09.2016 um 08:39 schrieb Werner LEMBERG: > > However, if you use > either the `freetype-config' script or the `freetype2.pc' file for > pkg-config tool to specify the header include directory, together with > proper header macros like FT_FREETYPE_H in the source code, nothing > should change for compilation. Pardon my ignorance - how would I have to use freetype-config or how would I have to manipulate freetype2.pc? I tried changing the line "Cflags: -I${includedir}/freetype2" to "Cflags: -I${includedir}/freetype2/freetype", but the headers are still not found. Thomas ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Building Lilypond on Ubuntu 16.04
When I try to "make" Lilypond on Ubuntu 16.04, the freetype headers are expected to be located in /usr/include/freetype2/. That's also where Ubuntu's package libfreetype6-dev used to put them, at least in Ubuntu versions 14.04 to 15.10, but in 16.04 (also 12.04, interestingly), it's in /usr/include/freetype2/freetype/. Hence, a symbolic link won't work and I'm not too eager to mess with a folder hierarchy that should be left under control of the package manager. Is there a command line option for make that I can supply to point it to the directory where the headers actually are? Thanks! Thomas ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: rehearsal marks: separate from content encoding and display above strings
Am 12.08.2016 um 17:29 schrieb Mark Knoop: > At 16:30 on 12 Aug 2016, Thomas Weber wrote: > >> Secondly, how can I make rehearsal marks appear both on the very top >> staff and the top staff of the strings? As far as I can see, >> rehearsal marks will always be put at the very top staff. > See this snippet http://lsr.di.unimi.it/LSR/Item?id=1010 which defines > a custom context to achieve this. > > Note this currently doesn't work well in a frenched score as the > MarkLine context can't know if the staves below it are still alive. > However I have just submitted a potential fix for this, see here > https://codereview.appspot.com/308910043/ for its progress. > It's of course essential that rehearsal marks don't disappear when the score is frenched. So thanks a heap for working on this! Thomas ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
rehearsal marks: separate from content encoding and display above strings
There are two things about rehearsal marks in orchestral scores I'd like to know about. Firstly, how can I separate rehearsal marks (and other structural stuff like \break or \pageBreak) from the actual musical content? Can I somehow add a virtual staff to carry the rehearsal mark information? I think I remember seeing something like that before, but I can't seem to find any documentation about it. Secondly, how can I make rehearsal marks appear both on the very top staff and the top staff of the strings? As far as I can see, rehearsal marks will always be put at the very top staff. Thanks! Thomas ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Forcing a DynamicText to appear inside the staff
Am 10.08.2016 um 23:44 schrieb Simon Albrecht: > > Am 10.08.2016 um 19:13 schrieb Thomas Weber: > > > in old orchestral scores one can observe that engravers did not hesitate to > > make more room in dense situations by moving dynamics into the staff rather > > than putting them below (or above). > > > I mostly work on choral scores, where the problem might even be more imminent > due to the lyrics. And I very much think allowing dynamics to overlap with > the staff is a good idea, so I’ve been facing this a lot and made many essays > at writing a music function that is easy to use (easy to understand and easy > to type), versatile, and well maintainable. Unfortunately I haven’t found a > satisfactory solution yet, and I can’t delve into the subject more right now. > So I’m sorry to provide no more help at the moment except for this issue > tracker link: <https://sourceforge.net/p/testlilyissues/issues/4316/>. Some > of the problems encountered are mentioned there. What kind of essays are you talking about (anything other than the issue you linked to)? I think a scheme function would be useful that determines how much it needs to offset the dynamic to the left in order to move it into the staff. Optionally it might also determine by itself by how much it should move it into the staff. Ideally, it would detect whether there is a tight vertical spacing situation that could be mitigated by moving the dynamic, but that might be beyond what Scheme can do. I think Urs posted something related on the dev list or somewhere else some months ago, but I can't find it right now. Thomas ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Forcing a DynamicText to appear inside the staff
Am 10.08.2016 um 20:33 schrieb Robin Bannister: > Thomas Weber wrote: >> But Lilypond insist on keeping the dynamic outside of the staff. > > Try > { > \override Staff.DynamicLineSpanner #'outside-staff-priority = ##f > \override Staff.DynamicText #'X-offset = -4 > \override Staff.DynamicLineSpanner #'Y-offset = 0 > c' \f > } Great, that works! What does ##f actually stand for? ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Forcing a DynamicText to appear inside the staff
Hi all, in old orchestral scores one can observe that engravers did not hesitate to make more room in dense situations by moving dynamics into the staff rather than putting them below (or above). To achieve the same effect, I tried the following: { \once \override Staff.DynamicText #'X-offset = -4 \once \override Staff.DynamicText #'Y-offset = 3 c' \f } But Lilypond insist on keeping the dynamic outside of the staff. I'm not an experienced Lilypond user, so I'm most likely missing something. How can I achieve this effect? (And are there counterparts to X-offset and Y-offset that allow specifying an absolute position? At least staff-position does not seem to work.) Thanks Thomas W. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user