Re: Default length of laissezvibrer ties
On 13/03/12 10:21, Thomas Morley wrote: 2012/3/11 David Kastrupd...@gnu.org: Thomas Morleythomasmorle...@googlemail.com writes: Hi Nick, 2012/3/9 Nick Paynenick.pa...@internode.on.net: Thanks. I gave it a try. The one shortcoming I've found is that the ends of LV ties on a chord containing a second no longer align. That's because factor is used in a multiplication. An easy fix would be to change that to an addition. But now a new problem arises: If you use customised staff-sizes the length isn't scaled accurate. For smaller staffs the LaissezVibrerTie should be still smaller and for greater staffs still greater. Currently I don't know how to make it better. You can get the system grob (ly:grob-system) from the tie, and then base your additional size on some dimension calculated from that in some manner. -- David Kastrup Hi David, thanks for the hint, it let me rethink the definition. Now I've done it a little different and currently I see no drawback. Well, one could argue about the values, but that's another question ... \version 2.14.2 #(define adding 1.5) #(define (enlarged-extent-laissez-vibrer::print grob) (let* ((ssymb (ly:grob-object grob 'staff-symbol)) (staff-space (ly:grob-property ssymb 'staff-space)) (adding-factor (if (null? staff-space) 1 (expt staff-space 2))) (stil (laissez-vibrer::print grob)) (stil-ext (ly:stencil-extent stil X)) (stil-length (interval-length stil-ext)) (new-stil-length (+ stil-length (* adding-factor adding))) (scale-factor (/ new-stil-length stil-length)) (new-stil (ly:stencil-scale stil scale-factor 1)) (new-stil-ext (ly:stencil-extent new-stil X)) (x-corr (- (car stil-ext) (car new-stil-ext (ly:stencil-translate-axis new-stil x-corr X))) #(assoc-set! (assoc-ref all-grob-descriptions 'LaissezVibrerTie) 'stencil enlarged-extent-laissez-vibrer::print) music = \relative c' { c e g c\laissezVibrer s s s d c f,\laissezVibrer s s s } \new StaffGroup \new Staff \with { fontSize = #-3 \override StaffSymbol #'staff-space = #(magstep -3) \override StaffSymbol #'thickness = #(magstep -3) } \music \new Staff \music \new Staff \with { fontSize = #3 \override StaffSymbol #'staff-space = #(magstep 3) \override StaffSymbol #'thickness = #(magstep 3) } \music Thanks. I was playing around with your code, trying to figure out how to stop the tie getting flattened out, but couldn't manage it. If your code is used for an LV tie that is part of a succession of slurs/ties, then the LV tie looks out of place because it is flatter than the others: \relative c' { d8( e) ~ e4 ~ e2\laissezVibrer } I also played around with trying to make a callback function for \override LaissezVibrerTie #'control-points, but although Lilypond gives no error on the console, the LV tie doesn't appear at all when I try to use the callback. \version 2.15.33 #(define ((alter-lv-tie-curve offsets) grob) (let ((coords (ly:semi-tie::calc-control-points grob)) (n 0)) (define loop (lambda (n) (set-car! (list-ref coords n) (+ (list-ref offsets (* 2 n)) (car (list-ref coords n (set-cdr! (list-ref coords n) (+ (list-ref offsets (1+ (* 2 n))) (cdr (list-ref coords n (if ( n 3) (loop (1+ n) (loop n) coords)) shapeLVTie = #(define-music-function (parser location offsets) (list?) #{ \once \override LaissezVibrerTie #'control-points = #(alter-lv-tie-curve offsets) #}) \relative c' { d8( e) ~ e4 ~ \shapeLVTie #'(0 0 0.75 -0.7 2.25 -0.7 3 0) e2\laissezVibrer } \relative c' { \override LaissezVibrerTie #'control-points = #(lambda (grob) (if (= UP (ly:grob-property grob 'direction)) (alter-lv-tie-curve '(0 0 0.75 0.7 2.25 0.7 3 0)) (alter-lv-tie-curve '(0 0 0.75 -0.7 2.25 -0.7 3 0 d8( e) ~ e4 ~ e2\laissezVibrer } Nick ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Aleatoric / modern notation
On Mar 13, 2012, at 4:25 AM, David Nalesnik wrote: I've defined a grob, Frame, and given it several properties. One of these, 'padding, adds space between the frame and its contents, as you would expect. The length of the continuation line is controlled by the property 'extender-length. Then, there's 'extra-left-padding and 'extra-right-padding. These last are there to correct a shortcoming: I can't think of an artful way to accomodate an accidental before the first note of a group so there isn't a collision. Another problem is that the horizontal spacing doesn't adapt to the frame. I suppose this comes from the fact that I've hijacked a TextSpanner, so that collisions are reckoned with outside staff objects. Is there anything I can do about this? Excellent work! I've attached a new file that addresses some of the issues you identify above: --) It uses axis-group::width to box accidentals --) It creates a FrameStub grob to occupy the horizontal space that a frame line takes up (note that I don't know if this actually works - I'm not sure how to test it - but at least it doesn't crash!). Whenever you have a spanner that somehow occupies horizontal space at its bounds, you can create stub grobs that approximate this space. This technique also works for items that, for whatever reason, have heights that are difficult to approximate (see SpanBarStub and StemStub, for example). --) It gets rid of some dead or unused code. Cheers, MS frameEngraver2.ly Description: Binary data ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Sibelius user looking for the easiest way to learn LilyPond
- Original Message - From: Kieren MacMillan kieren_macmil...@sympatico.ca To: Vaughan McAlley vaug...@mcalley.net.au Cc: lilypond-user lilypond-user@gnu.org Sent: Tuesday, March 13, 2012 4:09 AM Subject: Re: Sibelius user looking for the easiest way to learn LilyPond Hi Vaughan, Finale does automatic word extensions for lyrics. Um… so does Lilypond. Cheers, Kieren. __ Strictly, I don't believe it does automatic extenders - you need to add underscores to get them. Anyway, I'm a reluctant Sibelius user (need to use it for college) and I find its inability to edit music a complete PITA. For example, I'd created a chord with 3 notes and then moved onto other notes. I then wanted to add a further note to the chord. Whenever I tried, it deleted the chord and replaced it with a note. The tutor and all the class could offer no better answer than to delete the chord and recreate it. There may be a way, but no-one knew it. Oh - and I'd entered some music which ran to 2 lines. I wanted it on one. I reduced the font size. No effect. I tried for at least 30 minutes before giving up. The way you edit in Sibelius is just so c**p. I don't edit directly into LilyPond (I use Noteworthy and convert) but anyone swapping to LilyPond must save time over Sibelius's arcane ways. -- Phil Holmes ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Sibelius user looking for the easiest way to learn LilyPond
Did you try to press number 3 in sibelius..i think it would create a third interval..and so on..i'm not sure.. On Tue, Mar 13, 2012 at 8:57 AM, Phil Holmes m...@philholmes.net wrote: - Original Message - From: Kieren MacMillan kieren_macmil...@sympatico.ca To: Vaughan McAlley vaug...@mcalley.net.au Cc: lilypond-user lilypond-user@gnu.org Sent: Tuesday, March 13, 2012 4:09 AM Subject: Re: Sibelius user looking for the easiest way to learn LilyPond Hi Vaughan, Finale does automatic word extensions for lyrics. Um... so does Lilypond. Cheers, Kieren. __ Strictly, I don't believe it does automatic extenders - you need to add underscores to get them. Anyway, I'm a reluctant Sibelius user (need to use it for college) and I find its inability to edit music a complete PITA. For example, I'd created a chord with 3 notes and then moved onto other notes. I then wanted to add a further note to the chord. Whenever I tried, it deleted the chord and replaced it with a note. The tutor and all the class could offer no better answer than to delete the chord and recreate it. There may be a way, but no-one knew it. Oh - and I'd entered some music which ran to 2 lines. I wanted it on one. I reduced the font size. No effect. I tried for at least 30 minutes before giving up. The way you edit in Sibelius is just so c**p. I don't edit directly into LilyPond (I use Noteworthy and convert) but anyone swapping to LilyPond must save time over Sibelius's arcane ways. -- Phil Holmes ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user -- Nesmotren govori kao da mačem probada, a jezik je mudrih iscjeljenje. Izreke 12:18 ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Aleatoric / modern notation
Hi Mike, Excellent work! I'm glad you think so! I've attached a new file that addresses some of the issues you identify above: --) It uses axis-group::width to box accidentals Beautiful! Now there's really no need for the extra padding properties. (I've kept them in the attached file, but combined them into a single property which takes a pair = 'extra-padding.) --) It creates a FrameStub grob to occupy the horizontal space that a frame line takes up (note that I don't know if this actually works - I'm not sure how to test it - but at least it doesn't crash!). Whenever you have a spanner that somehow occupies horizontal space at its bounds, you can create stub grobs that approximate this space. This technique also works for items that, for whatever reason, have heights that are difficult to approximate (see SpanBarStub and StemStub, for example). This works great for spacing on the left side. It wasn't working on the right, so I added 'extender-length in (plus a slight correction accounting for arrow-length, etc., which should be fairly easy to calculate). Now it will push everything forward nicely. One thing I've noticed, though, is that the line will not cross a bar line. If I increase the length of the extender, the bar line is simply pushed to the right. I figured out one way around this--namely, setting the X-extent of the bar line to (+inf.0 . -inf.0), which is what I do in the attached file. Of course this has other consequences. Is there any other way? --) It gets rid of some dead or unused code. Thank you very much for your improvements and explanations--I think I've learned quite a bit! Best, David frameEngraver3.ly Description: Binary data ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: addl. normal staff (ossia) in drummode or DrumStaff context
Thanks for saving me. I knew it would be possible :-) Uwe -- Quoting Trevor Daniels t.dani...@treda.co.uk: Uwe, you wrote Monday, March 12, 2012 2:32 AM I have just started to use lilypond to set some drum scores. As I need to add a few patches of backing vocals, I'd attempted to add extra (normal) staffs at those places, however, lilypond seems to refuse doing that. Example: \score { \new DrumStaff \drummode { bd4 sn bd bd4 { bd bd8 sn sn4 bd } \new Staff { c8 d8 e8 f8 g4 c4 } } } This produces an error like t.ly:23:27: error: syntax error, unexpected STRING \new Staff { c8 d8 e8 f8 g4 c4 } t.ly:18:2: error: errors found, ignoring music expression I suppose that either the \drummode or the \DrumStaff context do not allow this. Yes, drummode doesn't allow it. You need to switch temporarily back to notemode, like this: \score { \new DrumStaff \drummode { bd4 sn bd bd4 { bd bd8 sn sn4 bd } \notemode { \new Staff { c8 d8 e8 f8 g4 c4 } } } } Trevor smime.p7s Description: S/MIME Cryptographic Signature ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: addl. normal staff (ossia) in drummode or DrumStaff context
Ah, Trevor, the simple example worked well with your advice (thanks again), but I am lost in real life ...: \score { \new DrumStaff %% done some redefinitions, hope that doesn't affect anything, omitted here ... % \set DrumStaff.drumStyleTable = #(alist-hash-table mydrums) \new DrumVoice = 1 { s1*2 } \new DrumVoice = 2 { s1*2 } \drummode { { \repeat unfold 8 cymr8 } \\ { bd4 sn4 bd4 sn4 } %Reggae { r1 } \\ { bd4 bd bd bd } \notemode { \new staff { r4 a4 fis2 } } { r1 } \\ { bd4 bd bd bd8 sn8 } } } gives error messages like t2.ly:380:21: warning: ignoring too many clashing note columns { r1 } \\ { bd4 bd bd bd } t2.ly:380:25: warning: ignoring too many clashing note columns { r1 } \\ { bd4 bd bd bd } t2.ly:380:28: warning: ignoring too many clashing note columns { r1 } \\ { bd4 bd bd bd } No new score appears ... I seem to miss something important here ... The code with the \notemode line uncommented compiles well ... Uwe -- Quoting Trevor Daniels t.dani...@treda.co.uk: Uwe, you wrote Monday, March 12, 2012 2:32 AM I have just started to use lilypond to set some drum scores. As I need to add a few patches of backing vocals, I'd attempted to add extra (normal) staffs at those places, however, lilypond seems to refuse doing that. Example: \score { \new DrumStaff \drummode { bd4 sn bd bd4 { bd bd8 sn sn4 bd } \new Staff { c8 d8 e8 f8 g4 c4 } } } This produces an error like t.ly:23:27: error: syntax error, unexpected STRING \new Staff { c8 d8 e8 f8 g4 c4 } t.ly:18:2: error: errors found, ignoring music expression I suppose that either the \drummode or the \DrumStaff context do not allow this. Yes, drummode doesn't allow it. You need to switch temporarily back to notemode, like this: \score { \new DrumStaff \drummode { bd4 sn bd bd4 { bd bd8 sn sn4 bd } \notemode { \new Staff { c8 d8 e8 f8 g4 c4 } } } } Trevor smime.p7s Description: S/MIME Cryptographic Signature ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: articulate.ly with rall not working?
Thomas == Thomas Morley thomasmorle...@googlemail.com writes: Thomas \version 2.14.2 \include articulate.ly Thomas \score { \unfoldRepeats \articulate \relative c' { c8-. d-. Thomas e-. f-. g-.-rall f-. e-. d-. c-. d-. e-. f-. g-. Thomas f-. e-. d-. c1-. } Thomas \midi { } } The rallentendo actually does happen, but at the tempo you're going, it's not paticularly deep. If I add a \displayLilyMusic before the \unfoldRepeats I see: { { c'8*1/2 r } { d' r } { e' r } { f' r } { \set tempoWholesPerMinute = #(ly:make-moment 9 1 0 1) { g'-rall r } } { f' r } { e' r } { d' r } { c' r } { d' r } { e' r } { f' r } { g' r } { f' r } { e' r } { d' r } { c'1*1/2 r } } Note the setting of tempoWholesPerMinute. This corresponds to a 40% slowdown. The default is MM crotchet=60, this should slow down to about MM crotchet=36. However, note this is the *only* tempo adjustment --- you need to start with a tempo. I suggest \version 2.14.2 \include articulate.ly \score { \displayLilyMusic\unfoldRepeats \articulate \relative c' { \set tempoWholesPerMinute = #(ly:make-moment 4 80) c8-. d-. e-. f-. g-.-rall f-. e-. d-. c-. d-. e-. f-. g-. f-. e-. d-. c1-. } \midi { } } -- Dr Peter Chubb peter.chubb AT nicta.com.au http://www.ssrg.nicta.com.au Software Systems Research Group/NICTA ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Fwd: Re: addl. normal staff (ossia) in drummode or DrumStaff context
Dear all, I had not subscribed to the lsit until just a few minutes ago, hence my reply below was received by trevor but not by the list. Should work now .. Uwe - Forwarded message from fa...@horst.in-chemnitz.de - Date: Mon, 12 Mar 2012 18:05:11 +0100 From: Uwe Falke fa...@horst.in-chemnitz.de Subject: Re: addl. normal staff (ossia) in drummode or DrumStaff context To: Trevor Daniels t.dani...@treda.co.uk Cc: lilypond-user@gnu.org Ah, Trevor, the simple example worked well with your advice (thanks again), but I am lost in real life ...: \score { \new DrumStaff %% done some redefinitions, hope that doesn't affect anything, omitted here ... % \set DrumStaff.drumStyleTable = #(alist-hash-table mydrums) \new DrumVoice = 1 { s1*2 } \new DrumVoice = 2 { s1*2 } \drummode { { \repeat unfold 8 cymr8 } \\ { bd4 sn4 bd4 sn4 } %Reggae { r1 } \\ { bd4 bd bd bd } \notemode { \new staff { r4 a4 fis2 } } { r1 } \\ { bd4 bd bd bd8 sn8 } } } gives error messages like t2.ly:380:21: warning: ignoring too many clashing note columns { r1 } \\ { bd4 bd bd bd } t2.ly:380:25: warning: ignoring too many clashing note columns { r1 } \\ { bd4 bd bd bd } t2.ly:380:28: warning: ignoring too many clashing note columns { r1 } \\ { bd4 bd bd bd } No new score appears ... I seem to miss something important here ... The code with the \notemode line uncommented compiles well ... Uwe -- Quoting Trevor Daniels t.dani...@treda.co.uk: Uwe, you wrote Monday, March 12, 2012 2:32 AM I have just started to use lilypond to set some drum scores. As I need to add a few patches of backing vocals, I'd attempted to add extra (normal) staffs at those places, however, lilypond seems to refuse doing that. Example: \score { \new DrumStaff \drummode { bd4 sn bd bd4 { bd bd8 sn sn4 bd } \new Staff { c8 d8 e8 f8 g4 c4 } } } This produces an error like t.ly:23:27: error: syntax error, unexpected STRING \new Staff { c8 d8 e8 f8 g4 c4 } t.ly:18:2: error: errors found, ignoring music expression I suppose that either the \drummode or the \DrumStaff context do not allow this. Yes, drummode doesn't allow it. You need to switch temporarily back to notemode, like this: \score { \new DrumStaff \drummode { bd4 sn bd bd4 { bd bd8 sn sn4 bd } \notemode { \new Staff { c8 d8 e8 f8 g4 c4 } } } } Trevor - End forwarded message - ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
localized horizontal spacing
Is there a way to expand and contract the horizontal spacing on a measure-to-measure basis? For a simple example, three measures of quarter notes: a4 a4 a4 a4 a4 a4 a4 a4 a4 a4 a4 a4 Can I get the second measure to be widely spaced and then the third measure back to more closely spaced? Many thanks, Erik -- View this message in context: http://old.nabble.com/localized-horizontal-spacing-tp33492027p33492027.html Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Sibelius user looking for the easiest way to learn LilyPond
Stjepan Horvat zvanste...@gmail.com writes: Did you try to press number 3 in sibelius..i think it would create a third interval..and so on..i'm not sure.. Now this is actually a great example about what makes LilyPond so much better to work in the long run with than Sibelius or other GUI/WYSIWYG programs. It supports culture, the transfer of knowledge. If you get a score from a great LilyPond master, you don't have to ask how do you do that?. It's all in there. Of course, the question why did you do that? is not answered, but as long as you have the same task to solve, you can use the same solution. You can type it off, or copypaste and it works. And if the master cared about the question why did you do that?, he can add _comments_ to the source. No did you try to press numner 3..i think it would create a third interval. If you want to do small changes, you do them. No magically disappearing chords refusing to accept additional notes. There is a community of people exchanging and creating _knowledge_ instead of fellow sufferers. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: addl. normal staff (ossia) in drummode or DrumStaff context
Hm, this works in my simple example. Thank you. However, it does not so for what I really want to do - sorry for having oversimplified. I just sent another example which is a snippet of the real score, employing two \DrumVoice contexts, and that might be the turning point: I read : This context is a bottom context; it cannot contain other contexts. Does this break my neck? Uwe -- Quoting Eluze elu...@gmail.com: Am 12.03.2012 03:32, schrieb Uwe: Dear lilypond people, I have just started to use lilypond to set some drum scores. As I need to add a few patches of backing vocals, I'd attempted to add extra (normal) staffs at those places, however, lilypond seems to refuse doing that. Example: \score { \new DrumStaff \drummode { bd4 sn bd bd4 { bd bd8 sn sn4 bd } \new Staff { c8 d8 e8 f8 g4 c4 } } } This produces an error like t.ly:23:27: error: syntax error, unexpected STRING \new Staff { c8 d8 e8 f8 g4 c4 } t.ly:18:2: error: errors found, ignoring music expression I suppose that either the \drummode or the \DrumStaff context do not allow this. Is there a way to switch these contexts off locally? Or is there anything else I could do to get this done ? All good ideas or helping advices are welcome. hi Uwe no idea if an ossia with /normal notes/ is possible within a drum part. maybe this is a workaround (which probably can or must be refined): \score { \new DrumStaff \drummode { bd4 sn bd bd4 bd bd8 sn sn4 bd } \new Staff \with { \remove Clef_engraver \remove Time_signature_engraver } \relative { \stopStaff s4*4 \startStaff c8 d8 e8 f8 g4 c4 } } hth Eluze smime.p7s Description: S/MIME Cryptographic Signature ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Stem direction/merging in mixed identical/different rhythm
Hello, I'd like to write this song with Lilypond: http://www.taize.fr/spip.php?page=chantsong=203lang=en (in fact I'm writing with portuguese lyrics) Just so you don't need to click the site, here's the problem. Many of these songs have identical rhythm, except for some parts. When the rhythm is the same, I want to have same stem direction (may be neutral), because all originals are like this and seems to be easier to read than with four separated voices with opposite stems. When the rhythm is not the same, I want to fallback to 1-2-3-4 voices being S=stemUp, A=down, T=up, B=down. Also, I'd like to have separate and unique variables for voices (sopMus, altoMus, etc), because I may want to output MIDI with higher volume on one of the voices (e.g. for soprano learning). But I'm kind of giving up on this... Up until now I tried to keep SA and TB in two voices only and separate them when needed. - soprano: normal, no \stemXX command, no new voice, just plain notes. - alto: create a new Voice like this: altoMus = \relative c' { ... % quia1 e8 e4 e8 cis cis | \new Voice { \stemDown cis8 [ b8 ] } cis2 | ... } Later this is arranged in one voice only with: \new Voice = women { \global \sopranoMus \altoMus } This is ok, worked, BUT creating new voices inside variables didn't seem to be a good way to do it. Also I had already come accross a score that I needed to create a voice for soprano too (I needed to force stemUp), and then my lyrics were broken. I also tried to insert \voiceOne/Two and \stemUp/Down before the different parts, but it didn't work. Another related problem: I want note collisions of opposite stems to be merged, but only when they have the same duration -- I'm having problem here, notes are being merged even with different duration (there's a case in the linked score, 3rd bar before the end). I have some other questions but I will post parsimoniously. thanks in advance, -- Felipe ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: addl. normal staff (ossia) in drummode or DrumStaff context
Quoting Trevor Daniels t.dani...@treda.co.uk: Uwe Falke wrote Monday, March 12, 2012 5:05 PM Ah, Trevor, the simple example worked well with your advice (thanks again), but I am lost in real life ...: [snip] You had \notemode { \new staff { r4 a4 fis2 } } Staff needs a capital S omg what an ignorant brick i am ... thanks for your patience, i guess that I'll keep for a while ... and sorry for the extra pain ps please don't send digitally signed messages, especially with expired IDs. They make replying a pain. Uwe ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Sibelius user looking for the easiest way to learn LilyPond
2012/3/13 David Kastrup d...@gnu.org: Stjepan Horvat zvanste...@gmail.com writes: Did you try to press number 3 in sibelius..i think it would create a third interval..and so on..i'm not sure.. Now this is actually a great example about what makes LilyPond so much better to work in the long run with than Sibelius or other GUI/WYSIWYG programs. It supports culture, the transfer of knowledge. If you get a score from a great LilyPond master, you don't have to ask how do you do that?. It's all in there. Of course, the question why did you do that? is not answered, but as long as you have the same task to solve, you can use the same solution. You can type it off, or copypaste and it works. And if the master cared about the question why did you do that?, he can add _comments_ to the source. +1 +1 +1 -- Francisco Vila. Badajoz (Spain) www.paconet.org , www.csmbadajoz.com ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Default length of laissezvibrer ties
Hi Nick, I also played around with trying to make a callback function for \override LaissezVibrerTie #'control-points, but although Lilypond gives no error on the console, the LV tie doesn't appear at all when I try to use the callback. The following should work. (I've also substituted in a more current version of the snippet you incorporated. Same result, but I think it looks a little better.) \version 2.15.30 #(define ((alter-lv-tie-curve offsets) grob) (let ((coords (ly:semi-tie::calc-control-points grob))) (define (add-offsets coords offsets) (if (null? coords) '() (cons (cons (+ (caar coords) (car offsets)) (+ (cdar coords) (cadr offsets))) (add-offsets (cdr coords) (cddr offsets) (add-offsets coords offsets))) shapeLVTie = #(define-music-function (parser location offsets) (list?) #{ \once \override LaissezVibrerTie #'control-points = #(alter-lv-tie-curve offsets) #}) \relative c' { d8( e) ~ e4 ~ \shapeLVTie #'(0 0 0.75 -0.7 2.25 -0.7 3 0) e2\laissezVibrer } \relative c' { \override LaissezVibrerTie #'control-points = #(lambda (grob) (if (= UP (ly:grob-property grob 'direction)) ((alter-lv-tie-curve '(0 0 0.75 0.7 2.25 0.7 3 0)) grob) ((alter-lv-tie-curve '(0 0 0.75 -0.7 2.25 -0.7 3 0)) grob))) d8( e) ~ e4 ~ e2\laissezVibrer } HTH, David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Sibelius user looking for the easiest way to learn LilyPond
On 3/13/2012 10:01 AM, David Kastrup wrote: Stjepan Horvatzvanste...@gmail.com writes: Did you try to press number 3 in sibelius..i think it would create a third interval..and so on..i'm not sure.. Now this is actually a great example about what makes LilyPond so much better to work in the long run with than Sibelius or other GUI/WYSIWYG programs. It supports culture, the transfer of knowledge. If you get a score from a great LilyPond master, you don't have to ask how do you do that?. It's all in there. Yes, it's all in there! A significant part of my experience with becoming better at coding LilyPond input files has been a series of small epiphanies. I was converting some Finale ETF files (there used to be an etf2ly converter) and I was puzzled by the LilyPond code that was produced. Upon closer examination I learned something valuable about the power and flexibility of LilyPond. I think it was then that I really never went back to commercial music printing software. Of course, the question why did you do that? is not answered, but as long as you have the same task to solve, you can use the same solution. You can type it off, or copypaste and it works. And if the master cared about the question why did you do that?, he can add _comments_ to the source. Sometimes the why is actually evident in the how/what. -David No did you try to press numner 3..i think it would create a third interval. If you want to do small changes, you do them. No magically disappearing chords refusing to accept additional notes. There is a community of people exchanging and creating _knowledge_ instead of fellow sufferers. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Old style numerals for page numbers
I tried sending this earlier, but didn't receive it myself, so I am trying again. I am trying to figure out how I can get Old Style numerals to be used for the page numbers. I found some lilypond scheme code here (http://www.mrlauer.org/music/) that defines a markup command oldStyleNum that will replace any digit with the unicode string for the appropriate old style numeral. However, I don't know how to make this work with the page number, because when I try to put \oldStyleNum\fromproperty #'page:page-number-string the oldStyleNum command isn't getting the numeric string to process, but something else, and I don't really know scheme at all, and haven't been able to figure this out after looking at it for a few hours, and I thought maybe someone else would know or have some idea of how this might be done. What follows is sample code that shows old style numerals in the title and (unfortunately) regular numerals for the page number. Thanks, Benjamin Bloomfield - \version 2.14.2 % Michael's utilities %% UTF-8 utilities #(define (utf-8-list str) (define (numBytes leader) (cond (( leader #x80) 1) (( leader #xc0) (begin (stderr programming-error: bad utf-8:~x\n leader) 1)) (( leader #xe0) 2) (( leader #xf0) 3) (( leader #xf8) 4) (else (begin (stderr programming-error: utf-8 too big:~x\n leader) 1 (define (helper start l n) (if (= n 0) start (helper (+ (* start #x40) (modulo (car l) #x40)) (cdr l) (- n 1 (define (utf-8-int l) (let* ((leader (car l)) (n (- (numBytes leader) 1)) (fac (/ #x80 (expt 2 n))) (rest (cdr l)) (result (helper (modulo leader fac) rest n))) result)) (define (toListHelper lst chars) (if (null? lst) (reverse chars) (let* ((c (utf-8-int lst)) (n (numBytes (car lst))) (t (list-tail lst n)) (newC (cons c chars))) (toListHelper t newC (toListHelper (map char-integer (string-list str)) '() )) %These are appropriate for Junicode, and other fonts. Override as necessary oldStyleZeroCode = ##xF730 smallCapsACode = ##xF761 %For Linux Libertine oldStyleZeroCodeLL = ##xE01A smallCapsACodeLL = ##xE051 #(define (change-char-helper aa test? offset) (if (string? aa) (let* ((chars (utf-8-list aa)) (tosc (map (lambda (c) (if (and (= c 127) (test? (integer-char c))) (ly:wide-char-utf-8 (+ c offset)) (if (and (= c 255) (= c 224)) (ly:wide-char-utf-8 (+ c offset)) (if (= c #x0153) (ly:wide-char-utf-8 #xF6FA) (ly:wide-char-utf-8 c) ) ) ) ) chars)) (newStr (apply string-append tosc))) newStr) aa) ) #(define (to-old-style str) (change-char-helper str char-numeric? (- oldStyleZeroCode (char-integer #\0 #(define (to-small-caps str) (change-char-helper str char-lower-case? (- smallCapsACode (char-integer #\a #(define-markup-command (realCaps layout props str) (markup?) Real small capitals (interpret-markup layout props (to-small-caps str))) #(define-markup-command (oldStyleNum layout props str) (markup?) Old-style numerals (interpret-markup layout props (to-old-style str))) #(define-markup-command (smallCapsOldStyle layout props str) (markup?) Real small caps and old-style numerals (interpret-markup layout props (to-old-style (to-small-caps str %%% #(define-public (bar-number-print grob) Print function for making oldStyle numbers. Useful for BarNumber, for example (let* ((text (ly:grob-property grob 'text)) (layout (ly:grob-layout grob)) (defs (ly:output-def-lookup layout 'text-font-defaults)) (props (ly:grob-alist-chain grob defs))) (ly:text-interface::interpret-markup layout props (if (string? text) (markup #:oldStyleNum text) text \header { title = \markup{\oldStyleNum1234567890 1234567890} } \paper { two-sided = ##t print-first-page-number = ##t oddHeaderMarkup = \markup\fill-line{ \combine \fill-line{ \on-the-fly #print-page-number-check-first \oldStyleNum\fromproperty #'page:page-number-string } } evenHeaderMarkup = \markup { \combine
Re: localized horizontal spacing
2012/3/13 eriksbike eriksb...@yahoo.com: Is there a way to expand and contract the horizontal spacing on a measure-to-measure basis? For a simple example, three measures of quarter notes: a4 a4 a4 a4 a4 a4 a4 a4 a4 a4 a4 a4 Can I get the second measure to be widely spaced and then the third measure back to more closely spaced? Maybe something like { \override Score.SpacingSpanner #'base-shortest-duration = #(ly:make-moment 1 2) b4 b b b \newSpacingSection \override Score.SpacingSpanner #'base-shortest-duration = #(ly:make-moment 1 16) b4 b b b \newSpacingSection \override Score.SpacingSpanner #'base-shortest-duration = #(ly:make-moment 1 2) b4 b b b } -- Francisco Vila. Badajoz (Spain) www.paconet.org , www.csmbadajoz.com ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Sibelius user looking for the easiest way to learn LilyPond
On Mon, Mar 12, 2012 at 2:52 PM, John Link johnl...@nyc.rr.com wrote: On Mar 12, 2012, at 9:42 AM, David Bobroff wrote: On 3/11/2012 6:39 PM, John Link wrote: A few years ago I was encouraged to try LilyPond as an alternative to Sibelius because LilyPond produced more beautiful scores. I was also told that it would allow me to do things like specify that bars 25 through 32 are to be identical to bars 9 through 16 and avoid cutting and pasting from bars 9-16 into 25-32. I liked what I heard, but I was quite shocked by LilyPond's interface. I would be interested in hearing from any Sibelius users who have successfully learned LilyPond. How can I get going in LilyPond as quickly as possible? In case it's relevant, I should add that I used to program in FORTRAN and a little bit of UNIX but never in any other languages. Thanks in advance, John Link Hi John, I can't really speak to LilyPond vs Sibelius use. On the other hand, I used to be a Finale user and I have had *very* limited contact with Sibelius. Having said that, while I'm aware of differences between Sibelius and Finale they share a major feature; namely, an interactive graphical user interface which displays your music while you work. LilyPond, as you have likely discerned, does not work that way at all. I have found that, for me at least, the learning curve for LilyPond is not terribly steep, but it's long-ish. I know just about nothing about FORTRAN aside from the fact that it's an old programming language, but I would imagine that having programming experience would be helpful. I think the main hurdle is getting used to focusing on the informational content as you input your scores and worry about output later if you need to tweak it. The idea is that LilyPond should do the actual 'engraving' for you without much intervention on your part. Hope this was useful, -David Thank you, David. What you wrote is very helpful. Here are a few more questions: 1) What is the easiest way to extract parts from a score? 2) Are there any features in Finale (or Sibelius or any other scorewriter with a GUI) that you wish you had in LilyPond? Thanks, John I do professional engraving in both finale and lilypond, and I have been using almost exclusively lily for my projects (i.e. when the client does not require finale) in the last four years. As others said, go through the learning manual and take some time. When I first switched I had a couple things that took me some time to adapt, missing graphical interface frontmost. If you are used to finale/sibelius, this is indeed shocking as the first times you use lilypond it is very difficult to correlate your textual input to what will end up in the pdf. It took me some deal of time to stop finding the layout as magical. Now when I enter the music I generally already have an idea of what I will find on the layout. The other thing was structuring the input file, \score, \new Staff etc., which you will need to spend some time studying, but is no rocket science, in the end it is quite easy. And after you figure this out you will have access to the very powerful movement layout features you have in lilypond (i.e. you can structure easily very complex multi-movement pieces, I wish finale could do this too). As for learning, I suggest, after you go through the learning manual, to just start and engrave some simple music, let's say a polyphonic piece with no single-staff polyphony and text, just to see the relation from the input to the output. When you get a good gasp of what is happening, you can add more stuff, like lyrics, then a piano piece with polyphony and chords. By when you can typeset a mildly complex piano piece at ease, I think you already have figured out all the basics. From then on you just need to learn to use the reference manuals and snippets to figure out more complex things. It will take some time, but you will never look back :) BTW I do not use a 100% pure lilypond workflow, as I generally enter all my music in finale (using speedy) and the export to musicxml and then to lilypond. I do this particularly with vocal scores, as I'm lazy and I prefer to enter the text in finale :) As for typesetting speed, using finale's speedy entry and entering the notes directly in lilypond format take, for me, the same time. And to reply to your last questions, no I do not miss anything from finale in lilypond, while it is true the other way round: now that I am proficent in lily I miss many of it's features in finale! Multi movement pieces and figured bass as an example (even if I think sibelius supports those) Just my 2c :) Ciao! Rodolfo ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Old style numerals for page numbers
I am trying to figure out how I can get Old Style numerals to be used for the page numbers. I found some scheme code here (http://www.mrlauer.org/music/) that defines a markup command oldStyleNum that will replace any digit with the unicode string for the appropriate old style numeral. However, I don't know how to make this work with the page number, because when I try to put \oldStyleNum\fromproperty #'page:page-number-string the oldStyleNum command isn't getting the numeric string to process, but something else, and I don't really know scheme at all, and haven't been able to figure this out after looking at it for a few hours, and I thought someone else might know. What follows is sample code that shows old style numerals in the title and (unfortunately) regular numerals for the page number. Thanks, Ben - \version 2.14.2 % Michael's utilities %% UTF-8 utilities #(define (utf-8-list str) (define (numBytes leader) (cond (( leader #x80) 1) (( leader #xc0) (begin (stderr programming-error: bad utf- 8:~x\n leader) 1)) (( leader #xe0) 2) (( leader #xf0) 3) (( leader #xf8) 4) (else (begin (stderr programming-error: utf-8 too big:~x\n leader) 1 (define (helper start l n) (if (= n 0) start (helper (+ (* start #x40) (modulo (car l) #x40)) (cdr l) (- n 1 (define (utf-8-int l) (let* ((leader (car l)) (n (- (numBytes leader) 1)) (fac (/ #x80 (expt 2 n))) (rest (cdr l)) (result (helper (modulo leader fac) rest n))) result)) (define (toListHelper lst chars) (if (null? lst) (reverse chars) (let* ((c (utf-8-int lst)) (n (numBytes (car lst))) (t (list-tail lst n)) (newC (cons c chars))) (toListHelper t newC (toListHelper (map char-integer (string-list str)) '() )) %These are appropriate for Junicode, and other fonts. Override as necessary oldStyleZeroCode = ##xF730 smallCapsACode = ##xF761 %For Linux Libertine oldStyleZeroCodeLL = ##xE01A smallCapsACodeLL = ##xE051 #(define (change-char-helper aa test? offset) (if (string? aa) (let* ((chars (utf-8-list aa)) (tosc (map (lambda (c) (if (and (= c 127) (test? (integer-char c))) (ly:wide-char-utf-8 (+ c offset)) (if (and (= c 255) (= c 224)) (ly:wide-char-utf-8 (+ c offset)) (if (= c #x0153) (ly:wide-char-utf-8 #xF6FA) (ly:wide-char-utf-8 c) ) ) ) ) chars)) (newStr (apply string-append tosc))) newStr) aa) ) #(define (to-old-style str) (change-char-helper str char-numeric? (- oldStyleZeroCode (char-integer #\0 #(define (to-small-caps str) (change-char-helper str char-lower-case? (- smallCapsACode (char-integer #\a #(define-markup-command (realCaps layout props str) (markup?) Real small capitals (interpret-markup layout props (to-small-caps str))) #(define-markup-command (oldStyleNum layout props str) (markup?) Old-style numerals (interpret-markup layout props (to-old-style str))) #(define-markup-command (smallCapsOldStyle layout props str) (markup?) Real small caps and old-style numerals (interpret-markup layout props (to-old-style (to-small-caps str %%% #(define-public (bar-number-print grob) Print function for making oldStyle numbers. Useful for BarNumber, for example (let* ((text (ly:grob-property grob 'text)) (layout (ly:grob-layout grob)) (defs (ly:output-def-lookup layout 'text-font-defaults)) (props (ly:grob-alist-chain grob defs))) (ly:text-interface::interpret-markup layout props (if (string? text) (markup #:oldStyleNum text) text \header { title = \markup{\oldStyleNum1234567890 1234567890} } \paper { two-sided = ##t print-first-page-number = ##t oddHeaderMarkup = \markup\fill-line{ \combine \fill-line{ \on-the-fly #print-page-number-check-first \oldStyleNum\fromproperty #'page:page-number-string } } evenHeaderMarkup = \markup { \combine \on-the-fly #print-page-number-check-first \oldStyleNum\fromproperty
Re: localized horizontal spacing
eriksbike wrote: Is there a way to expand and contract the horizontal spacing on a measure-to-measure basis? For a simple example, three measures of quarter notes: a4 a4 a4 a4 a4 a4 a4 a4 a4 a4 a4 a4 Can I get the second measure to be widely spaced and then the third measure back to more closely spaced? yes, see eg. \set Timing.proportionalNotationDuration = #(ly:make-moment 1 32) and \unset Timing.proportionalNotationDuration to return in NR 4.5.5 Proportional notation http://lilypond.org/doc/v2.14/Documentation/notation/proportional-notation hth Eluze -- View this message in context: http://old.nabble.com/localized-horizontal-spacing-tp33492027p33495404.html Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: localized horizontal spacing
2012/3/13 Francisco Vila paconet@gmail.com: { \override Score.SpacingSpanner #'base-shortest-duration = #(ly:make-moment 1 2) b4 b b b \newSpacingSection \override Score.SpacingSpanner #'base-shortest-duration = #(ly:make-moment 1 16) b4 b b b \newSpacingSection \override Score.SpacingSpanner #'base-shortest-duration = #(ly:make-moment 1 2) b4 b b b } And the default is #(ly:make-moment 3 16) BTW -- Francisco Vila. Badajoz (Spain) www.paconet.org , www.csmbadajoz.com ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Sibelius user looking for the easiest way to learn LilyPond
Hello, On 13 March 2012 12:02, Rodolfo Zitellini xhero...@gmail.com wrote: ... If you are used to finale/sibelius, this is indeed shocking as the first times you use lilypond it is very difficult to correlate your textual input to what will end up in the pdf. It took me some deal of time to stop finding the layout as magical. I've never stopped thinking it's like 'magic' =8 ) - I've been using LP for the last 2 years. Oh if you've ever had to transcribe a piece of 'real' music (by real I mean an old dog-eared printed complete score that's in the 'wrong' pitch for your instrument) I cannot believe that typing letters on a keyboard is anything but *significantly* faster than dragging and dropping graphics on a page, especially if they are peppered with slurs, dynamics and articulations. -- -- James ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: localized horizontal spacing
Hello, On 13 March 2012 17:15, Francisco Vila paconet@gmail.com wrote: 2012/3/13 Francisco Vila paconet@gmail.com: { \override Score.SpacingSpanner #'base-shortest-duration = #(ly:make-moment 1 2) b4 b b b \newSpacingSection \override Score.SpacingSpanner #'base-shortest-duration = #(ly:make-moment 1 16) b4 b b b \newSpacingSection \override Score.SpacingSpanner #'base-shortest-duration = #(ly:make-moment 1 2) b4 b b b } And the default is #(ly:make-moment 3 16) BTW What would one use if (for instance) one wanted all notes to touch or rather be exactly touching the edge of the 'note column' of the previous note so if I were to write a32 a a a a a a a a a a a a (assume no bar lines) all the notes would be touching? -- -- James ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Sibelius user looking for the easiest way to learn LilyPond
For me..After moving to Lilypond 3, 4 years ago..When i changed to NO MOUSE interface..i stoped having headaches couse i didnt have to look in the music sheet for the wrong notes..and didnt have to think of kombinations of keys and clicking with mouse..Now when i typeset music and if i'm not lazy i can write whole piece without looking into pdf..but locking into pdf is more fun..:) watch how your procces growes..:) compilig like we are programers..:) (we are) On Tue, Mar 13, 2012 at 6:19 PM, James pkx1...@gmail.com wrote: Hello, On 13 March 2012 12:02, Rodolfo Zitellini xhero...@gmail.com wrote: ... If you are used to finale/sibelius, this is indeed shocking as the first times you use lilypond it is very difficult to correlate your textual input to what will end up in the pdf. It took me some deal of time to stop finding the layout as magical. I've never stopped thinking it's like 'magic' =8 ) - I've been using LP for the last 2 years. Oh if you've ever had to transcribe a piece of 'real' music (by real I mean an old dog-eared printed complete score that's in the 'wrong' pitch for your instrument) I cannot believe that typing letters on a keyboard is anything but *significantly* faster than dragging and dropping graphics on a page, especially if they are peppered with slurs, dynamics and articulations. -- -- James ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user -- Nesmotren govori kao da mačem probada, a jezik je mudrih iscjeljenje. Izreke 12:18 ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: localized horizontal spacing
2012/3/13 James pkx1...@gmail.com: Hello, On 13 March 2012 17:15, Francisco Vila paconet@gmail.com wrote: 2012/3/13 Francisco Vila paconet@gmail.com: { \override Score.SpacingSpanner #'base-shortest-duration = #(ly:make-moment 1 2) b4 b b b \newSpacingSection \override Score.SpacingSpanner #'base-shortest-duration = #(ly:make-moment 1 16) b4 b b b \newSpacingSection \override Score.SpacingSpanner #'base-shortest-duration = #(ly:make-moment 1 2) b4 b b b } And the default is #(ly:make-moment 3 16) BTW What would one use if (for instance) one wanted all notes to touch or rather be exactly touching the edge of the 'note column' of the previous note so if I were to write a32 a a a a a a a a a a a a (assume no bar lines) all the notes would be touching? \override Score.SpacingSpanner #'packed-spacing = ##t -- Francisco Vila. Badajoz (Spain) www.paconet.org , www.csmbadajoz.com ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Stem direction/merging in mixed identical/different rhythm
2012/3/13 Felipe Pereira felmas...@gmail.com: Hello, I'd like to write this song with Lilypond: http://www.taize.fr/spip.php?page=chantsong=203lang=en (in fact I'm writing with portuguese lyrics) Just so you don't need to click the site, here's the problem. Many of these songs have identical rhythm, except for some parts. When the rhythm is the same, I want to have same stem direction (may be neutral), because all originals are like this and seems to be easier to read than with four separated voices with opposite stems. When the rhythm is not the same, I want to fallback to 1-2-3-4 voices being S=stemUp, A=down, T=up, B=down. % \partcombine usually helps primera = \relative f { e'4 e e e } segunda = \relative f { c'4 c8 d c4 e } { \partcombine \primera \segunda } -- Francisco Vila. Badajoz (Spain) www.paconet.org , www.csmbadajoz.com ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: localized horizontal spacing
Hello, On 13 March 2012 17:39, Francisco Vila paconet@gmail.com wrote: 2012/3/13 James pkx1...@gmail.com: Hello, What would one use if (for instance) one wanted all notes to touch or rather be exactly touching the edge of the 'note column' of the previous note so if I were to write a32 a a a a a a a a a a a a (assume no bar lines) all the notes would be touching? \override Score.SpacingSpanner #'packed-spacing = ##t Gracias -- -- James ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Old style numerals for page numbers
Hello On 13 March 2012 15:40, Benjamin Bloomfield bhb...@gmail.com wrote: I tried sending this earlier, but didn't receive it myself, so I am trying again. For some reason this email ended up marked as 'spam' for me. So maybe that was the reason? -- -- James ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Sibelius user looking for the easiest way to learn LilyPond
James wrote: Oh if you've ever had to transcribe a piece of 'real' music (by real I mean an old dog-eared printed complete score that's in the 'wrong' pitch for your instrument) I cannot believe that typing letters on a keyboard is anything but *significantly* faster than dragging and dropping graphics on a page, especially if they are peppered with slurs, dynamics and articulations. Amen. There are people who tell me they can do data entry in Finale quite efficiently using a MIDI keyboard, but for me, from a standard computer keyboard, entering LilyPond data could not be more efficient. -- Tim Roberts, t...@probo.com Providenza Boekelheide, Inc. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: ANN: Frescobaldi 2.0.4
On Mon, Mar 12, 2012 at 9:50 AM, Wilbert Berendsen wbs...@xs4all.nl wrote: Please let me know the things you miss most! Note that F2 is only (roughly) one year old and really written from scratch, the first commit is of Nov 11, 2012. I intend to keep developing and adding new features. I think the current technical infrastructure and code setup is very nice. I for one was in favor of removing the KDE dependency; but I wasn't expecting so many features to be missing afterwards! For example, integrating a web-browser and a terminal was trivial with Kparts, but now you'd need to recode everything from scratch... When you first mentioned you were going to go KDE-independent, I assumed it would be something like SMplayer compared to Kplayer : both are mplayer front-ends but SMplayer is KDE-independent and is a **lot** better than Kplayer. I realize now, however, that Frescobaldi involves much more different components. Anyhoo, I got upgraded to Frescobaldi 2.0 as part of a normal distro update, without noticing the major version bump... and when I opened Frescobaldi again, it was kind of a shock. - aesthetically speaking, the difference is huge and the interface looks a lot less pretty (pinkish background in the PDF preview: wtf?). - the source code window sports less pleasant colors (plain blue/red/black instead of KDE's pastel tones). - the search function is now just that: no searchreplace. - no more tabs on the side and the bottom: making frames appear/disappear is a lot less intuitive: you have to **close** frames, not merely **hide** them (I was used to hiding the log window, but closing it makes less sense to me -- sure, I could just use the keyboard shortcut but then I'd have to learn it first ;-) - no more terminal frame (unlike LilyPondTool, where the log window may be used as a terminal emulator). - no more integrated file browser (the documents frame isn't half as useful) - the new Compile but don't save behavior is quite surprising (and I've found myself loosing more than one score because of it). I'm not saying it's bad or absurd, it's just unexpected (and should be optional IMO). - the intelligent-indenting awesomeness now looks a bit less intelligent. (Where's my Ctrl-I?) - the PDF preview offers less features than before (thanks to the kpdf component I could just select an area with the right-button and copy it as an image). - the MIDI player looks gorgeous (but I never use it). - the Preferences window has more colors and icons, but somehow feels less complete (a lot of the old one was Kate's preferences, where you could fine-tune your level of indenting, etc.) That being said, there still are a lot of nice touches and afterthoughts that embody the Frescobaldi spirit and show how generously and intelligently you care about your users' every need or whim: snippets, special chars, run LilyPond with English messages, etc. It's so brillantly thought it's disarming. Many things are high on the TODO list, and all the needed infrastructure is already there: - folding in editor I'd definitely put _that_ one on top of the list. Kate's display of nested blocks in the colored gutter was _very_ good and convenient. (And beautiful to look at. :-) Now, I can't wait to see a Windows and Mac port (that could embed a ready-to-run LilyPond distribution, by the way)! Good luck -- you know where to find me if you need any French translation (although, quite frankly, I've been feeling a bit discouraged when seeing the subpar work of other contributors to your fr.po file). Cheers, Valentin. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Callback function and applying to all notes in chord
I was trying to make a callback function to lengthen LV ties (thanks to David Nalesnik for his help). It works fine when applied to single notes, but on a chord, only one of the two ties is lengthened. Is this due to an error in the code below or some more deep-rooted problem. If I reverse the order of the notes in the chord, the long and short ties swap around: \version 2.15.33 #(define ((alter-lv-tie-curve offsets) grob) (let ((coords (ly:semi-tie::calc-control-points grob))) (define (add-offsets coords offsets) (if (null? coords) '() (cons (cons (+ (caar coords) (car offsets)) (+ (cdar coords) (cadr offsets))) (add-offsets (cdr coords) (cddr offsets) (add-offsets coords offsets))) \relative c'' { \override LaissezVibrerTie #'control-points = #(lambda (grob) (if (= UP (ly:grob-property grob 'direction)) ((alter-lv-tie-curve '(0 0 0.75 0.7 2.25 0.7 3 0)) grob) ((alter-lv-tie-curve '(0 0 0.75 -0.7 2.25 -0.7 3 0)) grob))) c f,1\laissezVibrer f, c'\laissezVibrer } Nick attachment: lv.png___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Callback function and applying to all notes in chord
Hi Nick, I was trying to make a callback function to lengthen LV ties (thanks to David Nalesnik for his help). It works fine when applied to single notes, but on a chord, only one of the two ties is lengthened. Is this due to an error in the code below or some more deep-rooted problem. If I reverse the order of the notes in the chord, the long and short ties swap around: Instead of overriding the property directly, I set 'control-points within an override of 'before-line-breaking. Seems to to the trick: \version 2.15.30 #(define ((alter-lv-tie-curve offsets) grob) (let ((coords (ly:semi-tie::calc-control-points grob))) (define (add-offsets coords offsets) (if (null? coords) '() (cons (cons (+ (caar coords) (car offsets)) (+ (cdar coords) (cadr offsets))) (add-offsets (cdr coords) (cddr offsets) (add-offsets coords offsets))) \relative c'' { \override LaissezVibrerTie #'before-line-breaking = #(lambda (grob) (set! (ly:grob-property grob 'control-points) (if (= UP (ly:grob-property grob 'direction)) ((alter-lv-tie-curve '(0 0 0.75 0.7 2.25 0.7 3 0)) grob) ((alter-lv-tie-curve '(0 0 0.75 -0.7 2.25 -0.7 3 0)) grob c f,1\laissezVibrer f, c'\laissezVibrer c f c' f\laissezVibrer } -David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: difficulty filling the whole page
On 8 mars 2012, at 07:51, Janek Warchoł wrote: On Wed, Mar 7, 2012 at 11:14 PM, Jean-Alexis Montignies j...@montignies.info wrote: On 7 mars 2012, at 22:14, Janek Warchoł wrote: As for your question, any reason not to set page-count = #1 to force Lily to fill one page only? Yes: I didn't knew it existed :) Glad i helped. How come you missed this in the manuals? Shall we rewrite some section? cheers, Janek Sorry for the late reply I'm really over-busy these times. The documentation is usually well written but I find myself browsing many pages before finding something, even if it's something I know it exists and I already used. For instance for sizes. May be a graphic annotated with spacing value names (for staves, systems, paper...) would be a good summary. And for the page count, I didn't thought of looking in other \paper variables, may be an entry could be in fitting music on fewer pages. But those are really very quick thoughts. Still I think the automatic page breaking in this case seems non optimal on this (what I think is a) simple case, but it's only a small annoyance. Thanks, Jean-Alexis ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: articulate.ly with rall not working?
2012/3/13 Peter Chubb peter.ch...@nicta.com.au: If I add a \displayLilyMusic before the \unfoldRepeats I see: { { c'8*1/2 r } { d' r } { e' r } { f' r } { \set tempoWholesPerMinute = #(ly:make-moment 9 1 0 1) { g'-rall r } } { f' r } { e' r } { d' r } { c' r } { d' r } { e' r } { f' r } { g' r } { f' r } { e' r } { d' r } { c'1*1/2 r } } Note the setting of tempoWholesPerMinute. This corresponds to a 40% slowdown. The default is MM crotchet=60, this should slow down to about MM crotchet=36. However, note this is the *only* tempo adjustment --- you need to start with a tempo. I suggest \version 2.14.2 \include articulate.ly \score { \displayLilyMusic \unfoldRepeats \articulate \relative c' { \set tempoWholesPerMinute = #(ly:make-moment 4 80) c8-. d-. e-. f-. g-.-rall f-. e-. d-. c-. d-. e-. f-. g-. f-. e-. d-. c1-. } \midi { } } -- Dr Peter Chubb peter.chubb AT nicta.com.au http://www.ssrg.nicta.com.au Software Systems Research Group/NICTA Hi, thanks for your reply. But playing around with various tempo-settings I never heard a rallentando. This code: \version 2.14.2 \include articulate.ly \score { \displayLilyMusic \unfoldRepeats \articulate \relative c' { \tempo 4=180 %\set tempoWholesPerMinute = #(ly:make-moment 4 80) c8-. d-. e-. f-. g-.-rall f-. e-. d-. c-. d-. e-. f-. g-. f-. e-. d-. c1-. } \midi { %\context { %\Score %tempoWholesPerMinute = #(ly:make-moment 180 4) %} } } displays { \tempo 4 = 180 { c'8*1/2 r } { d' r } { e' r } { f' r } { \set tempoWholesPerMinute = #(ly:make-moment 27 1 0 1) { g'-rall r } } { f' r } { e' r } { d' r } { c' r } { d' r } { e' r } { f' r } { g' r } { f' r } { e' r } { d' r } { c'1*1/2 r } } with no noticeable difference (apart from the staccatti) to a code without articulate.ly Midi attached. Any idea? Cheers, Harm articulate-test-01.midi Description: MIDI audio ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: [Frescobaldi] Re: ANN: Frescobaldi 2.0.4
I did not use (or do not remember to) the KDE version and do not 'miss' all those things, but 2012/3/13 Valentin Villenave valen...@villenave.net: - aesthetically speaking, the difference is huge and the interface looks a lot less pretty (pinkish background in the PDF preview: wtf?). I think this is a matter of default settings and easily adjustable. - the source code window sports less pleasant colors (plain blue/red/black instead of KDE's pastel tones). Same. - the search function is now just that: no searchreplace. Ctrl+H or Edit- Replace - no more terminal frame (unlike LilyPondTool, where the log window may be used as a terminal emulator). Well there is a terminal in tools menu. - the new Compile but don't save behavior is quite surprising (and I've found myself loosing more than one score because of it). I'm not saying it's bad or absurd, it's just unexpected (and should be optional IMO). It is, go to LilyPond Preferences and set Save If Possible. - the intelligent-indenting awesomeness now looks a bit less intelligent. (Where's my Ctrl-I?) I have configured Ctrl-Alt-I for tools-Indent and everything indents nicely at a keystroke - the PDF preview offers less features than before (thanks to the kpdf component I could just select an area with the right-button and copy it as an image). I can do that with current version. Now, I can't wait to see a Windows and Mac port (that could embed a ready-to-run LilyPond distribution, by the way)! Are we talking about the same program? There's been a Windows port for a time now. I gave a talk for my colleagues and installed Fresco+Lily in minutes for all. Cheers, -- Francisco Vila. Badajoz (Spain) www.paconet.org , www.csmbadajoz.com ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Sibelius user looking for the easiest way to learn LilyPond
2012/3/13 Tim Roberts t...@probo.com: Amen. There are people who tell me they can do data entry in Finale quite efficiently using a MIDI keyboard, but for me, from a standard computer keyboard, entering LilyPond data could not be more efficient. I used to master Finale's Speedy Entry and liked to sing and type Happy Birthday To You at the same time, starting together and ending together. Now I can do the same (the complete song -- pitches and durations) in LilyPond. I still have spare time to add dynamics and a fermata. I mean, note entry is as fast. -- Francisco Vila. Badajoz (Spain) www.paconet.org , www.csmbadajoz.com ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: articulate.ly with rall not working?
Looks like there's been a semantic change in Lilypond. It used to be you could \set tempoWholesPerMinute = 60 or similar anywhere in the Lilypond input and the result would be a tempo change at that point. It looks as if now there's a different event, TempoChangeEvent, that does the work. I'll have a go at changing articulate to fix this. -- Dr Peter Chubb peter.chubb AT nicta.com.au http://www.ssrg.nicta.com.au Software Systems Research Group/NICTA ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: localized horizontal spacing
Many thanks! Francisco Vila wrote: 2012/3/13 eriksbike eriksb...@yahoo.com: Is there a way to expand and contract the horizontal spacing on a measure-to-measure basis? For a simple example, three measures of quarter notes: a4 a4 a4 a4 a4 a4 a4 a4 a4 a4 a4 a4 Can I get the second measure to be widely spaced and then the third measure back to more closely spaced? Maybe something like { \override Score.SpacingSpanner #'base-shortest-duration = #(ly:make-moment 1 2) b4 b b b \newSpacingSection \override Score.SpacingSpanner #'base-shortest-duration = #(ly:make-moment 1 16) b4 b b b \newSpacingSection \override Score.SpacingSpanner #'base-shortest-duration = #(ly:make-moment 1 2) b4 b b b } -- Francisco Vila. Badajoz (Spain) www.paconet.org , www.csmbadajoz.com ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user -- View this message in context: http://old.nabble.com/localized-horizontal-spacing-tp33492027p33499457.html Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user