Re: instrumentSwitch and addInstrumentDefinition use
On Sun, 18 Jan 2015 19:34:24 -0800, Kieren MacMillan kieren_macmil...@sympatico.ca wrote: This does have the variable reedPlayer storing written pitches, where we recommend storing concert pitches I would much rather code in concert pitches. What I was suggesting, and what I put into the example, had all the typed input in concert pitch. By saying reedPlayer stores written pitches, I meant only that the \transpose{...} operations, to tell LilyPond which notes should be printed at which transposition, were included in the variable reedPlayer. Still, I think I must be missing something fundamental… It really seems to me that \addInstrumentDefinition already has [almost?] everything we need: the shortInstrumentName is there, the clef is there (in case a change is needed), the cue name is there, the transposition is there, etc. So what is stopping us from making something very similar to the OP’s original code Do The Right Thing™? LilyPond has the information, but it takes some work to teach her to consistently use it differently than she does now, and differently than the original poster still wants her to. You could try the attached modification (to avoid transposition of cues) of Jan-Peter's method. LilyPond transposes your input by 'instrumentTransposition when generating cue notes, so leave instrumentTransposition at its default. Instead, the attached engraver uses a new property 'printTransposition to shift your concert-pitch input to printed pitches. Key-signature changes are not always appropriate, but you can type \key\default to reprint the current key-signature and have it transposed for the instrument. (This second *-Transposition setting would be confusing to new users of LilyPond, so any real patch would require re-writing some internals of LilyPond so we can select the desired behavior using just the old 'instrumentTransposition to describe the instrument pitch.) part = { g'4 b' d'' fis'' R1 \instrumentSwitch cl Bflat \bar||\key\default g'4 b' d'' fis'' R1 \instrumentSwitch flute \bar||\key\default g'4 b' d'' fis'' R1 } global = { \key g\major s1*4 } \new Staff \with { \printTransposition } \new Voice \global \part \version 2.18.2 % vim: filetype=lilypond: % Substitute for \key\default that works with midi{} reprintKey = \applyContext #(lambda (c) (define (same-scale-step? a b) (= (car a) (car b))) (let* ((pitch-alist (delete-duplicates! (append (ly:context-property c 'keyAlterations) major) same-scale-step?)) (tonic (ly:context-property c 'tonic (ly:make-pitch 0 0 0))) (sev (ly:make-stream-event `(key-change-event) `((pitch-alist . ,pitch-alist) (tonic . ,tonic) (ly:broadcast (ly:context-event-source c) sev))) % from scm/define-context-properties.scm #(define (translator-property-description symbol type? description) (if (not (and (symbol? symbol) (procedure? type?) (string? description))) (throw 'init-format-error)) (if (not (equal? #f (object-property symbol 'translation-doc))) (ly:error (_ symbol ~S redefined symbol))) (set-object-property! symbol 'translation-type? type?) (set-object-property! symbol 'translation-doc description) (set! all-translation-properties (cons symbol all-translation-properties)) symbol) #(translator-property-description 'printTransposition ly:pitch? transposition for printing with autoTransposeEngraver) % adapted from Jan-Peter Voigt's autoTransposeEngraver at openlilylib printTranspositionEngraver = #(lambda (context) (let ((old-pitch-alist major) (old-transp (ly:make-pitch 1 0 0))) (make-engraver (listeners ((melodic-event engraver ev) (let ((transp (ly:context-property context 'printTransposition)) (pitch (ly:event-property ev 'pitch))) (if (and (ly:pitch? pitch) (ly:pitch? transp)) (ly:event-set-property! ev 'pitch (ly:pitch-diff pitch transp) ((key-change-event engraver ev) (let ((transp (ly:context-property context 'printTransposition)) (tonic (ly:event-property ev 'tonic (ly:context-property context 'tonic ;for \key\default (ly:make-pitch 1 0 0 (pitch-alist (ly:event-property ev 'pitch-alist old-pitch-alist))) (if (ly:pitch? transp) (begin (ly:event-set-property! ev 'tonic (ly:pitch-diff tonic transp)) (set! pitch-alist (ly:transpose-key-alist pitch-alist (ly:pitch-diff old-transp transp)))
Re: Staccato
On Jan 19, 2015, at 9:43 PM, Cynthia Karl pck...@mac.com wrote: You must have an intimate knowledge of LP source code to be able to say that. In the Learning Manual, there is a single mention of dotsDown, in a discussion of UP and DOWN. In the Notation Manual, there are five mentions, one saying simply that it is a predefined command, and four references to that statement in the appendices. I don't think there are any other mentions of dotsDown in the other LP documentation. How would anyone know what \dotsDown does? Not that I would be one to sing a paean to the wonders of the Lilypond manual, but when I had an issue with a dot clashing with another note, I was able to figure out \dotsDown and \dotsNeutral. It may be because it's consistent with other similar constructs, but it definitely didn't come from reading the source code. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Staccato
At 22:01 on 19 Jan 2015, Kieren MacMillan wrote: Hi, On Jan 19, 2015, at 9:43 PM, Cynthia Karl pck...@mac.com wrote: You must have an intimate knowledge of LP source code to be able to say that. […] How would anyone know what \dotsDown does? 1. Search the contents of the application for “dotsDown” — find 4 results. Actually you don't even need to grep the code to discover this. \dotsDown in the Notation Reference index links to the Durations page and is introduced as a predefined command at the end of the section discussing dotted note lengths. Likewise in section 1.3.1 Expressive marks attached to notes: The rules for the default placement of articulations are defined in ‘scm/script.scm’. Articulations and ornamentations may be manually placed above or below the staff; see Direction and placement. Articulations are Script objects. Their properties are described more fully in Script. Cynthia, perhaps you could suggest a way to make this easier to find? -- Mark Knoop ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Staccato
Dear Cynthia, The rules about articulation placement are solidly established and differ depending on whether a staff has a single voice or two. The extract you quoted from Read is the rule as it applies to a single voice. When two voices share a staff the articulation placement is reversed (think about what would happen when both voices have articulations - they would all end up in the middle of the staff if placed on the notehead side, which would be very difficult to read). I would be very surprised if Read neglected to mention this exception to the rule, so maybe it's worth rereading to double check. My library has this book in storage, so it will be a number of days before I can check myself. Kevin On Tue, Jan 20, 2015 at 9:54 AM, Mark Knoop m...@opus11.net wrote: At 22:01 on 19 Jan 2015, Kieren MacMillan wrote: Hi, On Jan 19, 2015, at 9:43 PM, Cynthia Karl pck...@mac.com wrote: You must have an intimate knowledge of LP source code to be able to say that. […] How would anyone know what \dotsDown does? 1. Search the contents of the application for “dotsDown” — find 4 results. Actually you don't even need to grep the code to discover this. \dotsDown in the Notation Reference index links to the Durations page and is introduced as a predefined command at the end of the section discussing dotted note lengths. Likewise in section 1.3.1 Expressive marks attached to notes: The rules for the default placement of articulations are defined in ‘scm/script.scm’. Articulations and ornamentations may be manually placed above or below the staff; see Direction and placement. Articulations are Script objects. Their properties are described more fully in Script. Cynthia, perhaps you could suggest a way to make this easier to find? -- Mark Knoop ___ 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: OT: Re: Grand Advanced Stylesheet Project (GASP)
On Mon, 2015-01-19 at 19:08 -0500, Kieren MacMillan wrote: Hi all, Chord Chart” +1 the compact chord symbols have yet to make it into LilyPond I don’t think those (or any other) chord symbols should “make it into Lilypond” I wrote too tersely, it is not the symbols bit rather the compact bit I was referring to here. LilyPond only supports arranging the elements of a chord symbol (Root Name, attributes, bass-inversion) in a fixed way, taking up an elegant amount of space between these parts. For a compact chord symbol (for display on a hand-held device) these need to be arranged to take up less horizontal space. The patch currently waiting to make it into LilyPond does that. You as a user still need to decide whether you want -7 or 7- or whatever for the attributes by writing chord-exceptions. Richard ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Double thin bar lines and repeats?
thomasmorle...@gmail.com: Well, _every_ BarLine has some settings in the definition how to behave mid-line, line-begin, line-end and for the span-bar-type. Ah. That does make sense. I'm discovering stuff by the minute. :-) \bar || doesn't print a bar-line at line-begin (see bar-line.scm) Ack! The \repeat construct uses the value from 'startRepeatType' (see engraver-init.ly) as starting repeat-sign, default and fall-back is .|: (see repeat-acknowledge-engraver.cc and look up how .|: is defined in bar-line.scm) Umm ... indeed. :-) While inputting \bar || \break \repeat volta ... you have two _conflicting_ settings at the _same_ musical moment. One will override the other. Clean sollution is to define a BarLine which has the settings you prefer. This is done already with the predefined .|:-|| (again, see bar-line-scm). Only thing I don't fully understand, why does || wins? I'd expect the .|: to be printed. To answer my own question: In repeat-acknowledge-engraver.cc is a comment and code: /* We only set the barline if we wouldn't overwrite a previously set barline. */ SCM wb = get_property (whichBar); SCM db = get_property (defaultBarType); if (!scm_is_string (wb) || ly_is_equal (db, wb)) { if (s != || (volta_found !scm_is_string (wb))) context ()-set_property (whichBar, ly_string2scm (s)); } } Although I don't know C++, it seems to be pretty clear what happens A warm thanks for sharing your expertise! This is really appreciated, even if I don't penetrate all the details ... yet. :-) Now future googlers have something to chew on, and I have working code! :-) Cheers, /Liman ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: How to pack notes very tightly?
Am 20. Januar 2015 13:25:25 MEZ, schrieb James p...@gnu.org: On 20/01/15 07:29, Urs Liska wrote: Forwarding to bug-lilypond. Could someone please verify this Verify what precisely? If what the NR states is wrong. Or if it needs enhancement by the other property. James and create a tracker entry? (It's not my code BTW) Am 20. Januar 2015 08:20:25 MEZ, schrieb Steve Lacy sl...@slacy.com: Thanks, Urs. Reading your code, seems like it was just a convenience function for setting SpacingSpanner.common-shortest-duration Adding a simple: \override Score.SpacingSpanner #'common-shortest-duration = #(ly:make-moment 1 4) Got me to the density I was looking for. (http://lilybin.com/qukbs5/3) It's interesting (frustrating?) that the documentation on changing horizontal spacing mentions setting base-shortest-duration to adjust horizontal spacing ( http://www.lilypond.org/doc/v2.16/Documentation/notation/changing-horizontal-spacing), but in fact, it seems as though common-shortest-duration is the variable that really needs to be tweaked. Steve On Mon, Jan 19, 2015 at 11:07 PM, Urs Liska u...@openlilylib.org wrote: Am 20. Januar 2015 07:47:20 MEZ, schrieb Steve Lacy sl...@slacy.com: I'm transcribing a Mendelssohn score, and am trying to get Lilypond to pack notes about as densely as they are in the original score. For example, trying to fit a snippet like this onto a single line: \version 2.16.2 \language english \relative c''' { \key e \minor \mark \default \time 2/2 b2-\f\(\times 2/3 { b8\!)[fs8-1(g8] a8[g8-3 fs8] } | \times 2/3 { g8-)[ds-1(e8] fs8[e8 ds8] e8)[as,-1(b-2] c-3[b-2 as-1] | b8-1-)[fs(g] a[g fs] } g-) e\(g) b_- | e8---4 e---0 g-- b-- e4.---0\sf(e8-.) | e2(\sf\ \times 2/3 { e8\!)[b8-2(c8] d8[c8 b8] } | } (http://lilybin.com/qukbs5/2) I've tried adding: \override SpacingSpanner #'base-shortest-duration = #(ly:make-moment 1 1) But this seems to have no or only very little effect on the default spacing, even with make-moment up to 2/1 or higher. For reference I'd like the formatting to match something like this: [image: Inline image 1] I can get the desired result by adding a \noBreak at the end of every bar but that's very laborious and makes the .ly file quite a bit uglier. (even using an alias like nb = { \noBreak }) Are there other tricks for very densely formatted scores? Steve Have a look at https://github.com/openlilylib/openlilylib/tree/master/notation-snippets/adjust-horizontal-spacing and see if it helps. Urs ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user ___ bug-lilypond mailing list bug-lilyp...@gnu.org https://lists.gnu.org/mailman/listinfo/bug-lilypond ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Quartet Template with/without trills
I have been trying out the quartet template inserting music with \include. The individual instrument music files contain trills and I have used the tags 'trills and 'expand to produce scores and midi. However although the tags work OK when the music files are compiled individually when using the score file below any music identified by 'trills or 'expand is skipped. Am I missing a point here or is this not possible? \version 2.18.2 \include piece.ly #(set-global-staff-size 14) \score { \new StaffGroup \keepWithTag #'score \removeWithTag #'expand \music \layout { } } \score { \new StaffGroup \keepWithTag #'score \removeWithTag #'trills \music \midi{ } } For the test only one music file conatined the 'trills 'expand tags. Do I need to separate the keepWith and removeWith actions with {} or ? regards Peter Gentry ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Double thin bar lines and repeats?
On Mon, Jan 19, 2015 at 06:26:38PM -0800, Jim Long wrote: That is, a closing volta barline which has no matching opening volta barline repeats either to the beginning of the piece, or to the nearest double barline, whichever is closer. I did understand that part in your message, and I had arrived at that conclusion as a theory by myself, but ... lilyp...@umpquanet.com: My apologies for not describing that very definitively, but hopefully the point is clear enough. A contrived exceptional counter-example is attached. This is ... a wonderfully broken example, agreed! Nightmare is a very appropriate file name ... :-) :-) Cheers, /Liman ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Changing Laissez Vibrer ties for chords
I forgot to thank you. It works great. Knute Snortum (via Gmail) On Mon, Jan 19, 2015 at 10:11 AM, David Nalesnik david.nales...@gmail.com wrote: Hi Knute, On Mon, Jan 19, 2015 at 11:08 AM, Knute Snortum ksnor...@gmail.com wrote: I'm using a Laissez Vibrer tie on a chord. It works fine, but I would like to change the shape. \shape works fine but for only one tie. How do I shape both ties? As with the ties in a TieColumn, \shape won't work for l.v. ties in a LaissezVibrerTieColumn. One solution here is to adapt \shapeTieColumn (in openlilylib and on the -user list). Try this: \version 2.19.15 shapeLVTieColumn = #(define-music-function (parser location all-offsets) (list?) #{ \override LaissezVibrerTieColumn.before-line-breaking = #(lambda (grob) (let ((ties (ly:grob-array-list (ly:grob-object grob 'ties (for-each (lambda (tie offsets) (set! (ly:grob-property tie 'control-points) (map (lambda (x y) (coord-translate x y)) (ly:tie::calc-control-points tie) offsets))) ties all-offsets))) #}) \language english \relative c, { \time 3/4 \key a \major \clef bass \shapeLVTieColumn #' ( ((1 . 0) (2 . 0) (3 . 0) (17 . 0)) ((1 . 0) (2 . 0) (3 . 0) (4 . 0)) ) a a'2. \laissezVibrer | } %%% -- End HTH, David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Staccato
On Jan 20, 2015, at 7:14 AM, Noeck noeck.marb...@gmx.de wrote: 4. To find the override for staccatos, I tried to find the property of Script that specifies the direction. I used the Frescobaldi autocomplete and typed \override Script. and Ctrl+Space which showed me that there is a property called direction, which sounds good. I could also have clicked on the word 'Script' in the pdf above, which would have brought me to: http://www.lilypond.org/doc/v2.18/Documentation/internals/script Where direction is also mentioned. = \override Scripts.direction = and then? On a mac, it's apparently Cmnd+Space. But when I tried that I got the Spotlight popup. There was a keyboard setting that apparently overrode Frescobaldi's use of the shortcut. So I turned that off: Apple-System Preferences- Keyboard-Shortcuts-Spotlight-Show Spotlight search. There was another usage of Cmnd+Space in Keyboard-Input Sources, which I also turned off (I wonder how that shortcut sharing thingy is supposed to work). Now when I do what you described above, I get the Completion Popup. Yay! Thanks. Nobody seems very enthused about my suggestion to modify the definition of Staccato in Musical Glossary. An entry for Augmentation Dot might also be nice. I might also suggest to add a little documentation for dotsDown in the Notation Manual. Is Gould's Behind Bars the unofficial go-to reference for LilyPond notation questions? ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Quartet Template with/without trills
- Original Message - From: Peter Gentry peter.gen...@sunscales.co.uk To: lilypond-user@gnu.org Sent: Tuesday, January 20, 2015 10:50 AM Subject: Quartet Template with/without trills I have been trying out the quartet template inserting music with \include. The individual instrument music files contain trills and I have used the tags 'trills and 'expand to produce scores and midi. However although the tags work OK when the music files are compiled individually when using the score file below any music identified by 'trills or 'expand is skipped. Am I missing a point here or is this not possible? \version 2.18.2 \include piece.ly #(set-global-staff-size 14) \score { \new StaffGroup \keepWithTag #'score \removeWithTag #'expand \music \layout { } } \score { \new StaffGroup \keepWithTag #'score \removeWithTag #'trills \music \midi{ } } For the test only one music file conatined the 'trills 'expand tags. Do I need to separate the keepWith and removeWith actions with {} or ? regards Peter Gentry I would suggest adding { } around the \music after the \removeWithTag and see if this works. -- Phil Holmes ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Staccato
Hi Cynthia, Is Gould's Behind Bars the unofficial go-to reference for LilyPond notation questions? Gould’s “Behind Bars” is now the de facto “bible” for composers, arrangers, and engravers with respect to most standard musical notation issues. Cheers, Kieren. ___ Kieren MacMillan, composer www: http://www.kierenmacmillan.info email: i...@kierenmacmillan.info ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Staccato
Hi Cynthia, You must have an intimate knowledge of LP source code to be able to say that. to be honest, it’s not intimate knowledge of LP source code. I write my approach (what I did) here, perhaps it is helpful for you or someone else: 1. Such things can almost always be changed via the right \override command. So I need to know what to override. 2. From doing this: http://joramberger.de/files/lilypond_visualindex.pdf I had in mind that all articulations are a »Script« and that there is a category (graphical object) called »Dots« for augmentation dots (see the Voice line in this pdf). 3. I tested if that is true with this small code: { b'4. b'8-. \dotsDown b'4. b'8-. } This confirms that \dotsDown acts on augmentation dots. = \override Scripts and then? 4. To find the override for staccatos, I tried to find the property of Script that specifies the direction. I used the Frescobaldi autocomplete and typed \override Script. and Ctrl+Space which showed me that there is a property called direction, which sounds good. I could also have clicked on the word 'Script' in the pdf above, which would have brought me to: http://www.lilypond.org/doc/v2.18/Documentation/internals/script Where direction is also mentioned. = \override Scripts.direction = and then? 5. Then I knew that there are the scheme entities #UP, #DOWN, #LEFT, #RIGHT. This brought me to: \override Script.direction = #DOWN HTH, Joram ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Ubuntu Download
Hello, I was interested in installing Lilypond on my Ubuntu, but whenever I go to the download page I got an error. Is maybe the server on linuxaudio.org down for some reason? Thank you Luca ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Are these triple-dots of augmentation possible?
Of course this is possible with any number of dots: \version 2.19 \relative { g'2.. 8 2... 16 % or even 2 32 2.. 128 } %%% end snip %%% I don't see why there should be any problem with shiftDurations there. But if I'm right, three dots multiply the duration by 15/8... HTH, Simon Am 19-Jan-2015 23:59:28 +0100 schrieb lilyp...@tremagi.org.uk: Here's a little thing that has got me stumped. Is it possible to add three dots to a note glyph, thus: O:. to signify that the duration of the note is to be multiplied by 9/4 ? And can this be done in such a way (i) that the dots avoid clashing with staff lines, and (ii) that the note glyph changes correctly under \shiftDurations ? i.e. so that, say: c1\wierdDots % displays the note above, \shiftDurations #1 #0 { c1\wierdDots } % displays a 3-dotted minim, and \shiftDurations #-1 #0 { c1\wierdDots } % displays a 3-dotted breve. (For simplicity it is safe to assume that the second argument to \shiftDurations will always be zero). Grateful, as always, for any insight, even if on this occasion it is just expert advice to give up! -- Graham ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Ubuntu Download
2015-01-20 16:09 GMT+01:00 Luca Danieli mr.luce...@hotmail.it: I was interested in installing Lilypond on my Ubuntu, but whenever I go to the download page I got an error. Is maybe the server on linuxaudio.org down for some reason? It's working here: http://www.downforeveryoneorjustme.com/linuxaudio.org Which error are you getting? ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Are these triple-dots of augmentation possible?
On Tue, 2015-01-20 at 16:29 +0100, Simon Albrecht wrote: Of course this is possible with any number of dots: \version 2.19 \relative { g'2.. 8 2... 16 % or even 2 32 2.. 128 } %%% end snip %%% I don't see why there should be any problem with shiftDurations there. But if I'm right, three dots multiply the duration by 15/8... HTH, Simon Thanks Simon, that's why the dots are weird (excuse the typo in my original posting). O... would indeed multiply the duration of O by 15/8, but O:. is intended to multiply the duration of O by 9/4 ( i.e. O. + ..) I'm transcribing a piece without access to the original white mensural notation, and I'm coming to the conclusion (for this and other reasons) that the old edition I'm working from is seriously loopy. Time to reverse-engineer the original notation and take a different approach methinks... Am 19-Jan-2015 23:59:28 +0100 schrieb lilyp...@tremagi.org.uk: Here's a little thing that has got me stumped. Is it possible to add three dots to a note glyph, thus: O:. to signify that the duration of the note is to be multiplied by 9/4 ? And can this be done in such a way (i) that the dots avoid clashing with staff lines, and (ii) that the note glyph changes correctly under \shiftDurations ? i.e. so that, say: c1\wierdDots% displays the note above, \shiftDurations #1 #0 { c1\wierdDots } % displays a 3-dotted minim, and \shiftDurations #-1 #0 { c1\wierdDots } % displays a 3-dotted breve. (For simplicity it is safe to assume that the second argument to \shiftDurations will always be zero). Grateful, as always, for any insight, even if on this occasion it is just expert advice to give up! -- Graham ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: instrumentSwitch and addInstrumentDefinition use
Hi Keith, By saying reedPlayer stores written pitches, I meant only that the \transpose{...} operations, to tell LilyPond which notes should be printed at which transposition, were included in the variable reedPlayer. Thanks for the clarification. You could try the attached modification (to avoid transposition of cues) of Jan-Peter's method. part = { g'4 b' d'' fis'' R1 \instrumentSwitch cl Bflat \bar||\key\default g'4 b' d'' fis'' R1 \instrumentSwitch flute \bar||\key\default g'4 b' d'' fis'' R1 } global = { \key g\major s1*4 } \new Staff \with { \printTransposition } \new Voice \global \part This is really great, IMO! So… 1. What do others think? 2. What would be required so that the \bar ||” \key \default stuff could be avoided (e.g., could be abstracted either in the global, or somewhere better)? Because right now, writing \new Staff \with { \printTransposition } \new Voice \global \part \new Staff \new Voice \global \part one gets [as expected] the key signature(s) unnecessarily reprinted at each switch point in the second (concert) score. 3. In a perfect world, either \instrumentSwitch would take two music expressions (i.e., one for the “prep” period, one for the “playing” period), or there would be an \instrumentPrep macro — primarily to deal with the markup activities (e.g., “take clarinet”), but possibly for other things. Which do you think is ultimately a better solution? Thanks! Kieren. _ Kieren MacMillan, composer www: http://www.kierenmacmillan.info email: i...@kierenmacmillan.info ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: OT: Re: Grand Advanced Stylesheet Project (GASP)
Hi Johan, As I understand, the compact chord names require a (otherwise harmless) change in one of lily's scm files. I don't know if this can be dealt with by pure inclusion of an .ily file. Yes… I misunderstood the original post. Just nitpicking: the names are Clinton H. Roemer and Carl Brandt. Thanks for the correction! Cheers, Kieren. ___ Kieren MacMillan, composer www: http://www.kierenmacmillan.info email: i...@kierenmacmillan.info ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: Quartet template with/without trills
I have used the tags 'trills and 'expand to produce scores and midi. However although the tags work OK when the music files are compiled individually when using the score file below any music identified by 'trills or 'expand is skipped. Am I missing a point here or is this not possible? \version 2.18.2 \include piece.ly #(set-global-staff-size 14) \score { \new StaffGroup \keepWithTag #'score \removeWithTag #'expand \music \layout { } } \score { \new StaffGroup \keepWithTag #'score \removeWithTag #'trills \music \midi{ } } keepWithTag #'score keeps untagged and score-tagged sections and removes all other tagged sections. So you will loose #'trills and #'expand. What about: score { \new StaffGroup \keepWithTag #'(score trills expand) \removeWithTag #'expand \music layout { } } \score { \new StaffGroup \keepWithTag #'(score trills expand) \removeWithTag #'trills \music \midi{ } } or even: score { \new StaffGroup \keepWithTag #'(score trills) \music layout { } } \score { \new StaffGroup \keepWithTag #'(score expand) \music \midi{ } } Toine Schreurs Thanks that worked a treat. I had not realised the way \keepWithTag worked or that you could put all the tags in parentheses. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Double thin bar lines and repeats?
At 22:10 19/01/2015 +0100, Lars-Johan Liman wrote: I'm trying to end a section of piano music with thin double bar lines, break the line, and then start the next line with repeat marks. [...] (You may feel tempted to argue that what I want to do is wrong, which it may well be according to modern typesetting standards, ... For what it's worth, Elaine Gould doesn't think this is wrong: Some editions place a thin double barline at the end of a previous system where a repeat barline starts the next system. (Behind Bars, p. 234). Brian Barker ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Proposed changes to LSR Snippet 906
LSR Maintainers, I'd like to propose the following changes to make LSR snippet 906 http://lsr.di.unimi.it/LSR/Item?id=906 Orchestral grouping with a postscript brace Current output (using postscript code): http://lilypond.1069038.n5.nabble.com/file/n170797/Image.image Proposed code and output (using the built-in braces): % START SNIP \version 2.18.2 %% http://lsr.di.unimi.it/LSR/Item?id=906 % by Kieren MacMillan and P.P.Schneider. % = http://lists.gnu.org/archive/html/lilypond-user/2013-03/msg00260.html %% % LSR workaround: #(set! paper-alist (cons '(snippet . (cons (* 90 mm) (* 120 mm))) paper-alist)) \paper { #(set-paper-size snippet) tagline = ##f } \markup \vspace #1 %% %here starts the snippet: someMusic = { \tempo Andante. \time 3/4 \key c \minor c'2. r8 } \paper { indent = 40 } \layout { \context { \Staff \override InstrumentName.font-size = #-1 \override InstrumentName.extra-offset = #'(6 . 0) } \context { \StaffGroup \name ViolinGroup \alias StaffGroup systemStartDelimiter = #'SystemStartBrace } \context { \StaffGroup \name WindGroup \alias StaffGroup systemStartDelimiter = #'SystemStartBracket \override SystemStartBracket.collapse-height = #1 } \context { \StaffGroup \name StringGroup \alias StaffGroup \accepts ViolinGroup systemStartDelimiter = #'SystemStartBracket } \context { \StaffGroup \name OrchestraGroup \accepts WindGroup \accepts StringGroup \remove System_start_delimiter_engraver instrumentName = \markup { \lower #0.75 \rotate #90 Orchestra \hspace #1 \left-brace #175 \hspace #5 } } \context { \GrandStaff \remove System_start_delimiter_engraver \accepts OrchestraGroup \accepts StaffGroup \accepts VocalGroup } \context { \StaffGroup \name VocalGroup \alias StaffGroup systemStartDelimiter = #'SystemStartBracket } } \score { \new GrandStaff \new OrchestraGroup \new WindGroup \new Staff \with { instrumentName = Oboe } \someMusic \new StringGroup \new ViolinGroup \new Staff \with { instrumentName = Violino I } \someMusic \new Staff \with { instrumentName = Violino II } \someMusic \new Staff \with { instrumentName = Viola } { \clef C \someMusic } \new VocalGroup \new Staff \with { instrumentName = Soprano } \someMusic \new Staff \with { instrumentName = Alto } { \clef C \someMusic } } % END SNIP http://lilypond.1069038.n5.nabble.com/file/n170797/snippet906-updated.png What do you think? I guess it might also need a new name since it doesn't actually use postscript anymore... There's probably more that could be done to make this even more automagic, but I'm leaving it at this for now. -Abraham -- View this message in context: http://lilypond.1069038.n5.nabble.com/Proposed-changes-to-LSR-Snippet-906-tp170797.html Sent from the User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Ubuntu Download
Hi Luca, 1. Works fine here. 2. You probably already have an old LilyPond (v2.14 or 2.16) in your Ubuntu. So maybe the first thing to do is : uninstall-lilypond HTH, Pierre 2015-01-20 16:09 GMT+01:00 Luca Danieli mr.luce...@hotmail.it: Hello, I was interested in installing Lilypond on my Ubuntu, but whenever I go to the download page I got an error. Is maybe the server on linuxaudio.org down for some reason? Thank you Luca ___ 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: How to pack notes very tightly?
On 20/01/15 07:29, Urs Liska wrote: Forwarding to bug-lilypond. Could someone please verify this Verify what precisely? James and create a tracker entry? (It's not my code BTW) Am 20. Januar 2015 08:20:25 MEZ, schrieb Steve Lacy sl...@slacy.com: Thanks, Urs. Reading your code, seems like it was just a convenience function for setting SpacingSpanner.common-shortest-duration Adding a simple: \override Score.SpacingSpanner #'common-shortest-duration = #(ly:make-moment 1 4) Got me to the density I was looking for. (http://lilybin.com/qukbs5/3) It's interesting (frustrating?) that the documentation on changing horizontal spacing mentions setting base-shortest-duration to adjust horizontal spacing ( http://www.lilypond.org/doc/v2.16/Documentation/notation/changing-horizontal-spacing), but in fact, it seems as though common-shortest-duration is the variable that really needs to be tweaked. Steve On Mon, Jan 19, 2015 at 11:07 PM, Urs Liska u...@openlilylib.org wrote: Am 20. Januar 2015 07:47:20 MEZ, schrieb Steve Lacy sl...@slacy.com: I'm transcribing a Mendelssohn score, and am trying to get Lilypond to pack notes about as densely as they are in the original score. For example, trying to fit a snippet like this onto a single line: \version 2.16.2 \language english \relative c''' { \key e \minor \mark \default \time 2/2 b2-\f\(\times 2/3 { b8\!)[fs8-1(g8] a8[g8-3 fs8] } | \times 2/3 { g8-)[ds-1(e8] fs8[e8 ds8] e8)[as,-1(b-2] c-3[b-2 as-1] | b8-1-)[fs(g] a[g fs] } g-) e\(g) b_- | e8---4 e---0 g-- b-- e4.---0\sf(e8-.) | e2(\sf\ \times 2/3 { e8\!)[b8-2(c8] d8[c8 b8] } | } (http://lilybin.com/qukbs5/2) I've tried adding: \override SpacingSpanner #'base-shortest-duration = #(ly:make-moment 1 1) But this seems to have no or only very little effect on the default spacing, even with make-moment up to 2/1 or higher. For reference I'd like the formatting to match something like this: [image: Inline image 1] I can get the desired result by adding a \noBreak at the end of every bar but that's very laborious and makes the .ly file quite a bit uglier. (even using an alias like nb = { \noBreak }) Are there other tricks for very densely formatted scores? Steve Have a look at https://github.com/openlilylib/openlilylib/tree/master/notation-snippets/adjust-horizontal-spacing and see if it helps. Urs ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user ___ bug-lilypond mailing list bug-lilyp...@gnu.org https://lists.gnu.org/mailman/listinfo/bug-lilypond ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Quartet Template with/without trills
I have used the tags 'trills and 'expand to produce scores and midi. However although the tags work OK when the music files are compiled individually when using the score file below any music identified by 'trills or 'expand is skipped. Am I missing a point here or is this not possible? \version 2.18.2 \include piece.ly #(set-global-staff-size 14) \score { \new StaffGroup \keepWithTag #'score \removeWithTag #'expand \music \layout { } } \score { \new StaffGroup \keepWithTag #'score \removeWithTag #'trills \music \midi{ } } keepWithTag #'score keeps untagged and score-tagged sections and removes all other tagged sections. So you will loose #'trills and #'expand. What about: score { \new StaffGroup \keepWithTag #'(score trills expand) \removeWithTag #'expand \music layout { } } \score { \new StaffGroup \keepWithTag #'(score trills expand) \removeWithTag #'trills \music \midi{ } } or even: score { \new StaffGroup \keepWithTag #'(score trills) \music layout { } } \score { \new StaffGroup \keepWithTag #'(score expand) \music \midi{ } } Toine Schreurs ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Ubuntu Download
Ok, now it's clear. The .sh file is a text file. You should save it in your hard disk instead of viewing it in the browser. You can either save it from File menu if you are on that page or choose Save link as in the lilypond.org download page. You can also configure your browser to always donwload .sh files. 2015-01-20 16:31 GMT+01:00 Luca Danieli mr.luce...@hotmail.it: When I click on the download link http://download.linuxaudio.org/lilypond/binaries/linux-x86/lilypond-2.18.2-1.linux-x86.sh I get the following text-page. Is that expected? #! /bin/sh me=$0 root=$HOME doc=no extract=no interactive=yes arch=$(uname -m) if test `id -u` = 0; then root=/usr/local fi while test -n $1; do case $1 in --help) cat EOF $me - install LilyPond tarball Options --batch no interaction --doc [attempt to] download and install documentation --prefix PREFIX install into PREFIX/lilypond (default: ${root}) --help this help --tarball extract tar file for archive EOF -- Date: Tue, 20 Jan 2015 16:20:56 +0100 Subject: Re: Ubuntu Download From: fedel...@gmail.com To: mr.luce...@hotmail.it CC: lilypond-user@gnu.org 2015-01-20 16:09 GMT+01:00 Luca Danieli mr.luce...@hotmail.it: I was interested in installing Lilypond on my Ubuntu, but whenever I go to the download page I got an error. Is maybe the server on linuxaudio.org down for some reason? It's working here: http://www.downforeveryoneorjustme.com/linuxaudio.org Which error are you getting? ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Ubuntu Download
(please respond to the list) See : Generic Packages or Distribution-Specific Packages? here : http://lilypond.org/unix.html Cheers, Pierre 2015-01-20 16:32 GMT+01:00 Luca Danieli mr.luce...@hotmail.it: This is true!!! How come?? :) Thanks! -- Date: Tue, 20 Jan 2015 16:23:43 +0100 Subject: Re: Ubuntu Download From: pierre.schneider.pa...@gmail.com To: mr.luce...@hotmail.it CC: lilypond-user@gnu.org Hi Luca, 1. Works fine here. 2. You probably already have an old LilyPond (v2.14 or 2.16) in your Ubuntu. So maybe the first thing to do is : uninstall-lilypond HTH, Pierre 2015-01-20 16:09 GMT+01:00 Luca Danieli mr.luce...@hotmail.it: Hello, I was interested in installing Lilypond on my Ubuntu, but whenever I go to the download page I got an error. Is maybe the server on linuxaudio.org down for some reason? Thank you Luca ___ 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
shape in 2.16.2
I really like Lilypond, so congrats to everybody! But some errors are very frustrating. Just a few questions: 1) does the function shape (for slurs) work in the version 2.16.2?2) the fantastic references on the website are constantly updated to the last version? (I often get problems and errors by simply copying and pasting example codes from the website.) Luca ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Proposed changes to LSR Snippet 906
Kieren MacMillan wrote Well, as long as we’re doing that — which is quite nice, by the way! — we should make it fully automagic, yes? i.e., if you add additional contexts to the OrchestraGroup, the brace should expand accordingly. Not sure if this will require a callback function, or if it can somehow be done by using SystemStartDelimiter — i.e., the way it should have worked in the first place — but nested context names should Do The Right Thing™. I couldn't agree more about wanting it to be automagic. I played around with the contexts and some of the overrides for the SystemStartDelimiter, but I couldn't get something that worked to my satisfaction. If anyone else has a great idea for this, I'd love to hear it! -Abraham -- View this message in context: http://lilypond.1069038.n5.nabble.com/Proposed-changes-to-LSR-Snippet-906-tp170797p170802.html Sent from the User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Proposed changes to LSR Snippet 906
Hi Abraham (et al.), I'd like to propose the following changes to LSR snippet 906 Well, as long as we’re doing that — which is quite nice, by the way! — we should make it fully automagic, yes? i.e., if you add additional contexts to the OrchestraGroup, the brace should expand accordingly. Not sure if this will require a callback function, or if it can somehow be done by using SystemStartDelimiter — i.e., the way it should have worked in the first place — but nested context names should Do The Right Thing™. Cheers, Kieren. ___ Kieren MacMillan, composer www: http://www.kierenmacmillan.info email: i...@kierenmacmillan.info ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: shape in 2.16.2
Luca Danieli wrote I really like Lilypond, so congrats to everybody! But some errors are very frustrating. Just a few questions: 1) does the function shape (for slurs) work in the version 2.16.2? 2) the fantastic references on the website are constantly updated to the last version? (I often get problems and errors by simply copying and pasting example codes from the website.) Luca, You came to the right place if you are having errors. I have a few questions/suggestions for you: 1. The documentation for previous versions is always available online ( here http://lilypond.org/doc/v2.16/Documentation/web/manuals is the link for 2.16.2). 2. What operating system are you using? If you are on linux, the version in your repository may not be up-to-date. Unfortunately, this is quite common. Any other OS, you should be able to get the latest stable http://lilypond.org/download.html / unstable http://lilypond.org/development.html versions installed. 3. Can you give at least one specific examples of what isn't working for you (i.e., a small, compileable snippet)? Hope That Helps! -Abraham -- View this message in context: http://lilypond.1069038.n5.nabble.com/Ubuntu-Download-tp170786p170806.html Sent from the User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Proposed changes to LSR Snippet 906
Kieren MacMillan wrote How about this? +1! Nice work, Kieren. I just wish I didn't have to also manually offset the ViolinGroup brace as well. Otherwise, I think this is excellent. -Abraham -- View this message in context: http://lilypond.1069038.n5.nabble.com/Proposed-changes-to-LSR-Snippet-906-tp170797p170808.html Sent from the User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Vertical alignment of text added to notes.
I find it easier to use lyrics. http://lilybin.com/to3r9r/5 musicOne = \relative c' { d e f g a b c } verseOne = \lyricmode { d e f g a b c } \score { \new Voice = one { \time 2/4 \musicOne } \new Lyrics \lyricsto one { \verseOne } } -- View this message in context: http://lilypond.1069038.n5.nabble.com/Vertical-alignment-of-text-added-to-notes-tp170221p170815.html Sent from the User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Derive the correct print function of a grob
Is it possible to derive the correct default print function for a grob? For example, if I want to get the stencil of a hairpin, I know the function is called ly:hairpin::print, but for accidentals, it's ly:accidental-interface:print. I'd like to be able to get the right one automatically (in scheme) without needing to specify them all and use conditionals to figure out the right one. Any suggestions? I'm not sure if this is even possible, and I can deal with it if it's not, but I'd rather not if I can help it. Thanks, Abraham -- View this message in context: http://lilypond.1069038.n5.nabble.com/Derive-the-correct-print-function-of-a-grob-tp170809.html Sent from the User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Derive the correct print function of a grob
2015-01-20 22:49 GMT+01:00 Thomas Morley thomasmorle...@gmail.com: 2015-01-20 22:30 GMT+01:00 tisimst tisimst.lilyp...@gmail.com: Is it possible to derive the correct default print function for a grob? For example, if I want to get the stencil of a hairpin, I know the function is called ly:hairpin::print, but for accidentals, it's ly:accidental-interface:print. I'd like to be able to get the right one automatically (in scheme) without needing to specify them all and use conditionals to figure out the right one. Any suggestions? I'm not sure if this is even possible, and I can deal with it if it's not, but I'd rather not if I can help it. Thanks, Abraham Hi Abraham, it's not that hard ;) Though, one Problem might be a previous applied stencil-override... The code below will return the name of the default and the actual print-procedure. \version 2.19.15 #(define new-stil (lambda (grob) (grob-interpret-markup grob xy))) { \override NoteHead.stencil = #new-stil \override NoteHead.after-line-breaking = #(lambda (grob) (display \nactual-stencil:\t\t) (display (procedure-name (assoc-get 'stencil (ly:grob-basic-properties grob (display \ndefault-stencil:\t) (display (procedure-name (assoc-get 'stencil (reverse (ly:grob-basic-properties grob) ) c''1 } HTH, Harm Maybe better to do some more afford, to return useful output, if it's applied to a grob without 'stencil property #(define new-stil (lambda (grob) (grob-interpret-markup grob xy))) { \override NoteHead.stencil = #new-stil \override NoteHead.after-line-breaking = #(lambda (grob) (display \nactual-stencil:\t\t) (display (let ((actual-stil-proc (assoc-get 'stencil (ly:grob-basic-properties grob (if (procedure? actual-stil-proc) (procedure-name actual-stil-proc) (format #f no stencil found for ~a grob (display \ndefault-stencil:\t) (display (let ((default-stil-proc (assoc-get 'stencil (reverse (ly:grob-basic-properties grob) (if (procedure? default-stil-proc) (procedure-name default-stil-proc) (format #f no stencil found for ~a grob) c''1 } Cheers, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Proposed changes to LSR Snippet 906
Thomas Morley-2 wrote Hi, I've currently not the time to have a deeper look into the proposed change. Please contribute it to the LSR following http://lsr.di.unimi.it/LSR/html/contributing.html Suggesting modifications or improvements to existing snippets Thanks, Harm Thanks, Harm. I'll do that when I feel confident I'm done tweaking it. -Abraham -- View this message in context: http://lilypond.1069038.n5.nabble.com/Proposed-changes-to-LSR-Snippet-906-tp170797p170818.html Sent from the User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Proposed changes to LSR Snippet 906
2015-01-20 22:20 GMT+01:00 tisimst tisimst.lilyp...@gmail.com: Kieren MacMillan wrote How about this? +1! Nice work, Kieren. I just wish I didn't have to also manually offset the ViolinGroup brace as well. Otherwise, I think this is excellent. -Abraham Hi, I've currently not the time to have a deeper look into the proposed change. Please contribute it to the LSR following http://lsr.di.unimi.it/LSR/html/contributing.html Suggesting modifications or improvements to existing snippets Thanks, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Proposed changes to LSR Snippet 906
tisimst wrote Kieren MacMillan wrote How about this? +1! Nice work, Kieren. I just wish I didn't have to also manually offset the ViolinGroup brace as well. Otherwise, I think this is excellent. -Abraham Actually, I thought about and played with Kieren's suggestion a little more, but one issue I discovered is that it continues to print the larger Orchestra brace way out to the left, but we only need it the one time at the beginning, so I'd have to say I'm more inclined to put it in the instrument name and deal with manually adjusting the brace size. Objections? -Abraham -- View this message in context: http://lilypond.1069038.n5.nabble.com/Proposed-changes-to-LSR-Snippet-906-tp170797p170817.html Sent from the User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: ANN: Frescobaldi 2.17.2
on Mac, when I launch Frescobaldi it does not show the document. I always have to go to Window New Window to see the lilypond code and the music. Is there a workaround? -- View this message in context: http://lilypond.1069038.n5.nabble.com/ANN-Frescobaldi-2-17-2-tp170737p170822.html Sent from the User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: ANN: Frescobaldi 2.17.2
Le 21 janv. 2015 à 05:12, MarcM m...@mouries.net a écrit : on Mac, when I launch Frescobaldi it does not show the document. I always have to go to Window New Window to see the lilypond code and the music. Is there a workaround? Hello, That bug is found since some time now (and is linked, I think, to the mac implementation of the QT4 framework). The only other way now is to click once more on the Frescobaldi icon in the Dock since Frescobaldi is running Philippe ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Derive the correct print function of a grob
2015-01-20 22:30 GMT+01:00 tisimst tisimst.lilyp...@gmail.com: Is it possible to derive the correct default print function for a grob? For example, if I want to get the stencil of a hairpin, I know the function is called ly:hairpin::print, but for accidentals, it's ly:accidental-interface:print. I'd like to be able to get the right one automatically (in scheme) without needing to specify them all and use conditionals to figure out the right one. Any suggestions? I'm not sure if this is even possible, and I can deal with it if it's not, but I'd rather not if I can help it. Thanks, Abraham Hi Abraham, it's not that hard ;) Though, one Problem might be a previous applied stencil-override... The code below will return the name of the default and the actual print-procedure. \version 2.19.15 #(define new-stil (lambda (grob) (grob-interpret-markup grob xy))) { \override NoteHead.stencil = #new-stil \override NoteHead.after-line-breaking = #(lambda (grob) (display \nactual-stencil:\t\t) (display (procedure-name (assoc-get 'stencil (ly:grob-basic-properties grob (display \ndefault-stencil:\t) (display (procedure-name (assoc-get 'stencil (reverse (ly:grob-basic-properties grob) ) c''1 } HTH, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: How to pack notes very tightly?
FYI, you get a more condensed layout using the latest unstable release: http://lilybin.com/qukbs5/13 -- View this message in context: http://lilypond.1069038.n5.nabble.com/How-to-pack-notes-very-tightly-tp170760p170814.html Sent from the User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Matching backslash in Scheme string (escaping characters for LaTeX)
Hi all, I have a Scheme function that processes a string and writes the result to a LaTeX file. For this I have to escape a number of characters that are allowed in a LilyPond string but not in LaTeX input. Consider this code: \version 2.19.16 #(use-modules (ice-9 regex)) str = This should be \partcombine-d match everything ampString = \\ slashString = \\textbackslash #(set! str (regexp-substitute/global #f str 'pre ampString 'post)) #(set! str (regexp-substitute/global #f \\+ str 'pre slashString 'post)) #(ly:message ) #(ly:message str) #(ly:message ) The resulting output is This should be \partcombine-d \ match everything while I want to have This should be \textbackslash partcombine-d \ match everything. The escaping of the ampersand works as expected (although I have to define the replacement string in a LilyPond string while entering it directly as a string in the Scheme function doesn't seem to work), but the backslash is not matched. Using \ as regex obviously doesn't work because that would escape the quotation mark so the string isn't properly ended. Using \\ give the error Trailing backslash Using \\+ compiles but doesn't match the backslash. So what's the way to match a backslash in a LilyPond string? Additionally I'd be glad about comments to: - Which other characters would I have to escape when writing LaTeX code (so far I've encountered the backslash and the ampersand. But I'd feel better if I'd not just wait for errors ...)? - Is there a more efficient way to escape a number of characters than piping the string through a series of regex substitutions? TIA Urs ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Proposed changes to LSR Snippet 906
Hi Abraham, but one issue I discovered is that it continues to print the larger Orchestra brace way out to the left, but we only need it the one time at the beginning, so I'd have to say I'm more inclined to put it in the instrument name and deal with manually adjusting the brace size. Ooh… good point! Objections? Yes: Can we not have the size of the brace auto-calculated from the StaffGroup height? =) (David N.!?) Thanks, Kieren. ___ Kieren MacMillan, composer www: http://www.kierenmacmillan.info email: i...@kierenmacmillan.info ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Matching backslash in Scheme string (escaping characters for LaTeX)
On Wed, 21 Jan 2015 08:31:53 +0100 Urs Liska u...@openlilylib.org wrote: So what's the way to match a backslash in a LilyPond string? My guess is four backslashes. To match a backslash you need \\ in the pattern. Each of these need to be escaped in the string, so it becomes . -- Johan ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Matching backslash in Scheme string (escaping characters for LaTeX)
Am 21.01.2015 um 08:41 schrieb Johan Vromans: On Wed, 21 Jan 2015 08:31:53 +0100 Urs Liska u...@openlilylib.org wrote: So what's the way to match a backslash in a LilyPond string? My guess is four backslashes. To match a backslash you need \\ in the pattern. Each of these need to be escaped in the string, so it becomes . -- Johan Thank you very much. That works perfectly. Urs ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Proposed changes to LSR Snippet 906
Hi Abraham, How about this? someMusic = { \tempo Andante. \time 3/4 \key c \minor c'2. r8 } \paper { indent = 40 } \layout { \context { \Staff \override InstrumentName.font-size = #-1 \override InstrumentName.padding = #-5 } \context { \StaffGroup \name ViolinGroup \alias StaffGroup systemStartDelimiter = #'SystemStartBrace \override SystemStartBrace.X-offset = #-1 } \context { \StaffGroup \name WindGroup \alias StaffGroup systemStartDelimiter = #'SystemStartBracket \override SystemStartBracket.collapse-height = #1 } \context { \StaffGroup \name StringGroup \alias StaffGroup \accepts ViolinGroup systemStartDelimiter = #'SystemStartBracket } \context { \StaffGroup \name OrchestraGroup \accepts WindGroup \accepts StringGroup systemStartDelimiter = #'SystemStartBrace \override SystemStartBrace.X-extent = #empty-interval \override SystemStartBrace.X-offset = #-12 instrumentName = \markup { \rotate #90 Orchestra \hspace #8 } } \context { \GrandStaff \remove System_start_delimiter_engraver \accepts OrchestraGroup \accepts StaffGroup \accepts VocalGroup } \context { \StaffGroup \name VocalGroup \alias StaffGroup systemStartDelimiter = #'SystemStartBracket } } \score { \new GrandStaff \new OrchestraGroup \new WindGroup \new Staff \with { instrumentName = Oboe } \someMusic \new StringGroup \new ViolinGroup \new Staff \with { instrumentName = Violino I } \someMusic \new Staff \with { instrumentName = Violino II } \someMusic \new Staff \with { instrumentName = Viola } { \clef C \someMusic } \new Staff \with { instrumentName = Cello } { \clef bass \someMusic } \new VocalGroup \new Staff \with { instrumentName = Soprano } \someMusic \new Staff \with { instrumentName = Alto } { \clef C \someMusic } } Comment and/or uncomment the cello staff (e.g.) to see the stretching. Cheers, Kieren. ___ Kieren MacMillan, composer www: http://www.kierenmacmillan.info email: i...@kierenmacmillan.info ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Proposed changes to LSR Snippet 906
Hi Abraham, I played around with the contexts and some of the overrides for the SystemStartDelimiter, but I couldn't get something that worked to my satisfaction. Yeah, I remember it failing when I tried it way back then… something about not being able to get the big brace on the outside of the InstrumentName stack without knocking everything else out of alignment. =\ Kieren. ___ Kieren MacMillan, composer www: http://www.kierenmacmillan.info email: i...@kierenmacmillan.info ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user