lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Understanding Lilypond


From: Peter Gentry
Subject: RE: Understanding Lilypond
Date: Fri, 16 Jan 2015 13:46:05 -0000

 David

Join the club - many of us have struggled for many months to get to grips with 
the structure and philosophy of Lilypond. Some of the
enlightened have often poured scorn on these attempts or became very defensive 
of any suggestion that the documentation
(comprehensive as it is) does not greatly help new comers to become familiar 
with the program.

The many many "tweaks" sometimes fairly incomprehensible (without a grouding in 
the structure and philosophy of the code) are also
daunting. This is not a critiscism of either the code or the documentation.

Just one small example many/all the \overide options are bizarre and not easily 
(if at all) found in the documentation.

Maybe the originators have all moved on and left this wonderful legacy to us 
lesser mortals.

So best of luck david if you do manage to penetrate the fog and demystify it 
for us many will be very grateful.

>-----Original Message-----
>From: 
>address@hidden 
>[mailto:address@hidden
org] On Behalf Of address@hidden
>Sent: Friday, January 16, 2015 1:32 PM
>To: address@hidden
>Subject: [SPAM] lilypond-user Digest, Vol 146, Issue 77
>
>Send lilypond-user mailing list submissions to
>       address@hidden
>
>To subscribe or unsubscribe via the World Wide Web, visit
>       https://lists.gnu.org/mailman/listinfo/lilypond-user
>or, via email, send a message with subject or body 'help' to
>       address@hidden
>
>You can reach the person managing the list at
>       address@hidden
>
>When replying, please edit your Subject line so it is more 
>specific than "Re: Contents of lilypond-user digest..."
>
>
>Today's Topics:
>
>   1. Understanding Lilypond (David Sumbler)
>   2. Re:Re:bottom of EPS output cut off (+ size of PDF files)
>      (Jayaratna)
>   3. Re:small caps (tisimst)
>   4. Re:Understanding Lilypond (Urs Liska)
>   5. Re:small caps (Kevin Barry)
>
>
>----------------------------------------------------------------------
>
>Message: 1
>Date: Fri, 16 Jan 2015 12:35:55 +0000
>From: David Sumbler <address@hidden>
>To: address@hidden
>Subject: Understanding Lilypond
>Message-ID: <address@hidden>
>Content-Type: text/plain; charset="UTF-8"
>
>As I start to gain experience in setting music in Lilypond I 
>am trying to understand more about how it works internally.  
>As well as personal satisfaction, this obviously has a 
>practical aim: it will make it easier for me to modify or 
>correct things without having to ask so many questions on this 
>forum, and will also perhaps eventually mean that I can help 
>by answering others' questions.
>
>However, despite having read the documentation - some of it 
>several times - I do find understanding some aspects of the 
>structure of Lilypond extremely difficult.  One of the manuals 
>likens a Lilypond file to source code in a computer language, 
>but I find that understanding the structure of a coding 
>language is perfectly straightforward compared to getting my 
>head around Lilypond.  (I have learnt several languages over 
>the years, although not, I admit, Lisp or Scheme; however, I 
>have no reason to suppose that understanding their structure 
>is any more difficult than other languages).
>
>For instance, in Lilypond there is a sensible difference in 
>the default handling of time- and key-signatures.  Using the 
>\key command a key is defined for the current Staff.  But 
>using the \time command sets the time signature for every 
>staff.  If a different time signature is required for a 
>particular staff, then timeSignatureFraction has to be changed.
>
>>From the Internals Reference I see that the 2 layout objects
>KeySignature and TimeSignature both exist, by default, in a 
>Staff context, which makes perfect sense.
>
>Clearly, though, when the \time command is used, then not only 
>is Staff.timeSignatureFraction set, but so also is some other 
>variable in a higher context.
>
>What I can't seem to find (although it may well be in the documentation
>somewhere) is a clear explanation of this.  Can somebody point 
>me in the right direction?
>
>David
>
>
>
>
>------------------------------
>
>Message: 2
>Date: Fri, 16 Jan 2015 06:15:18 -0700 (MST)
>From: Jayaratna <address@hidden>
>To: address@hidden
>Subject: Re: Re:bottom of EPS output cut off (+ size of PDF files)
>Message-ID: <address@hidden>
>Content-Type: text/plain; charset=us-ascii
>
>I found a couple of instances in which this crop method too fails:
>
>a) the stem of a b flat;
>b) the 8 at the bottom of an octavated clef.
>
>See attached files.
>
>esempio3033-crop.pdf
><http://lilypond.1069038.n5.nabble.com/file/n170551/esempio3033
>-crop.pdf>
>esempio3064-crop.pdf
><http://lilypond.1069038.n5.nabble.com/file/n170551/esempio3064
>-crop.pdf>  
>
>
>
>--
>View this message in context: 
>http://lilypond.1069038.n5.nabble.com/Re-bottom-of-EPS-output-c
ut-off-size-of-PDF-files-tp170524p170551.html
>Sent from the User mailing list archive at Nabble.com.
>
>
>
>------------------------------
>
>Message: 3
>Date: Fri, 16 Jan 2015 06:25:31 -0700 (MST)
>From: tisimst <address@hidden>
>To: address@hidden
>Subject: Re: small caps
>Message-ID: <address@hidden>
>Content-Type: text/plain; charset="us-ascii"
>
>Craig,
>
>\caps is just a short-hand command for \smallCaps, but this 
>situation is obviously a code bug. You CAN put the \caps or 
>\smallCaps in the header variable itself:
>
>piece = \markup \smallCaps "Piece"
>
>and then it works, but since it seems that you are trying to 
>create a custom title that does this automatically, this 
>solution may not be suitable for you. I'm forwarding this 
>small example to the bugs-list for extermination:
>
>%<------------------------------------
>
>\version "2.19.11"
>
>\paper {
>  scoreTitleMarkup = \markup {
>    \column {
>      \on-the-fly \print-all-headers { \bookTitleMarkup \hspace #1 }
>      \fill-line {
>        \large \bold \smallCaps \fromproperty #'header:piece
>      }
>    }
>  }
>}
>
>\header {
>  title = "Title"
>  piece = "Piece"  % put the \smallCaps in here and it works }
>
>{ \repeat unfold 3 { s1 \break } }
>
>%<----------------------------------------------
>
>- Abraham
>
>On Fri, Jan 16, 2015 at 2:00 AM, Craig Dabelstein [via 
>Lilypond] <address@hidden> wrote:
>> Hi Shane,
>> 
>> \version "2.19.11"
>> 
>> Even with \smallCaps (how did I miss that!?!!?) the test stays the 
>> same. Bold and Large are both working but not the small caps.
>> 
>> Craig
>> 
>> 
>> On Fri Jan 16 2015 at 4:39:22 PM Shane Brandes <[hidden 
>email]> wrote:
>>> Which version are you using? and is it not \smallcaps that you need 
>>> to issue? Also does the font actually have small caps natively?
>>> 
>>> Shane
>>> 
>>> On Fri, Jan 16, 2015 at 12:54 AM, Craig Dabelstein <[hidden email]> 
>>> wrote:
>>> > Hi List,
>>> >
>>> > Can anyone tell me why I can't get small caps working with this
>>> code?
>>> >
>>> > Many thanks,
>>> >
>>> > Craig
>>> >
>>> > scoreTitleMarkup = \markup {
>>> >     \column {
>>> >       \on-the-fly \print-all-headers { \bookTitleMarkup \hspace #1
>>> }
>>> >       \fill-line {
>>> >         \large \bold \caps \fromproperty #'header:piece
>>> >          }
>>> >         }
>>> >       }
>>> >     }
>>> >
>>> > _______________________________________________
>>> > lilypond-user mailing list
>>> > [hidden email]
>>> > https://lists.gnu.org/mailman/listinfo/lilypond-user
>>> >
>> 
>> _______________________________________________
>> lilypond-user mailing list
>> [hidden email]
>> https://lists.gnu.org/mailman/listinfo/lilypond-user
>> 
>> 
>> If you reply to this email, your message will be added to the 
>> discussion below:
>> http://lilypond.1069038.n5.nabble.com/small-caps-tp170540p170544.html
>> To start a new topic under User, email 
>> address@hidden 
>> To unsubscribe from Lilypond, click here.
>> NAML
>
>
>
>
>--
>View this message in context: 
>http://lilypond.1069038.n5.nabble.com/small-caps-tp170540p170552.html
>Sent from the User mailing list archive at Nabble.com.
>-------------- next part --------------
>An HTML attachment was scrubbed...
>URL: 
><http://lists.gnu.org/archive/html/lilypond-user/attachments/20
150116/0f65abad/attachment.html>
>
>------------------------------
>
>Message: 4
>Date: Fri, 16 Jan 2015 14:28:52 +0100
>From: Urs Liska <address@hidden>
>To: address@hidden
>Subject: Re: Understanding Lilypond
>Message-ID: <address@hidden>
>Content-Type: text/plain; charset=windows-1252; format=flowed
>
>
>Am 16.01.2015 um 13:35 schrieb David Sumbler:
>> As I start to gain experience in setting music in Lilypond I 
>am trying
>> to understand more about how it works internally.  As well 
>as personal
>> satisfaction, this obviously has a practical aim: it will 
>make it easier
>> for me to modify or correct things without having to ask so many
>> questions on this forum, and will also perhaps eventually mean that I
>> can help by answering others' questions.
>>
>> However, despite having read the documentation - some of it several
>> times - I do find understanding some aspects of the structure of
>> Lilypond extremely difficult.  One of the manuals likens a 
>Lilypond file
>> to source code in a computer language, but I find that 
>understanding the
>> structure of a coding language is perfectly straightforward 
>compared to
>> getting my head around Lilypond.  (I have learnt several 
>languages over
>> the years, although not, I admit, Lisp or Scheme; however, I have no
>> reason to suppose that understanding their structure is any more
>> difficult than other languages).
>>
>> For instance, in Lilypond there is a sensible difference in 
>the default
>> handling of time- and key-signatures.  Using the \key 
>command a key is
>> defined for the current Staff.  But using the \time command sets the
>> time signature for every staff.  If a different time signature is
>> required for a particular staff, then timeSignatureFraction has to be
>> changed.
>>
>>  From the Internals Reference I see that the 2 layout objects
>> KeySignature and TimeSignature both exist, by default, in a Staff
>> context, which makes perfect sense.
>
>Yes, that makes sense because they are used to *engrave* the visual 
>objects at staff level.
>
>>
>> Clearly, though, when the \time command is used, then not only is
>> Staff.timeSignatureFraction set, but so also is some other 
>variable in a
>> higher context.
>
>The timing aspects are controlled by the Timing_translator, and this 
>engraver by default lives in the Score context.
>Which also makes perfect sense because usually the timing is 
>uniform in 
>a score from top to bottom.
>
>But this construct is what makes polymetrics so easy to do in 
>LilyPond. 
>You can move the Timing_translator from the Score to Staff 
>level to get 
>independent timing in the different staves.
>But you should not forget to also move the Default_bar_line_engraver 
>that should live at the same level as Timing_translator.
>
>With key signatures it is much more common that different instruments 
>*show* different keys.
>Nevertheless it *is* sort of an inconsistency that you 
>*always* have to 
>specify the key for each staff separately (or in a global variable, 
>which is not much better). It would be more consistent to have the key 
>also live in the Score context by default and give the ability to 
>sepcify contexts with different keys through their context properties.
>I think this has been discussed recently.
>
>HTH
>Urs
>
>>
>> What I can't seem to find (although it may well be in the 
>documentation
>> somewhere) is a clear explanation of this.  Can somebody 
>point me in the
>> right direction?
>>
>> David
>>
>>
>> _______________________________________________
>> lilypond-user mailing list
>> address@hidden
>> https://lists.gnu.org/mailman/listinfo/lilypond-user
>
>
>
>
>------------------------------
>
>Message: 5
>Date: Fri, 16 Jan 2015 13:31:51 +0000
>From: Kevin Barry <address@hidden>
>To: Craig Dabelstein <address@hidden>
>Cc: LilyPond User Group <address@hidden>
>Subject: Re: small caps
>Message-ID:
>       
><address@hidden>
>Content-Type: text/plain; charset="utf-8"
>
>Dear Craig,
>
>Can you provide an example that compiles on its own? A 
>simplified version
>of your code is working for me. Also, what font are you using?
>
>Kevin
>
>On Fri, Jan 16, 2015 at 9:00 AM, Craig Dabelstein <
>address@hidden> wrote:
>
>> Hi Shane,
>>
>> \version "2.19.11"
>>
>> Even with \smallCaps (how did I miss that!?!!?) the test 
>stays the same.
>> Bold and Large are both working but not the small caps.
>>
>> Craig
>>
>>
>> On Fri Jan 16 2015 at 4:39:22 PM Shane Brandes <address@hidden>
>> wrote:
>>
>>> Which version are you using? and is it not \smallcaps that 
>you need to
>>> issue? Also does the font actually have small caps natively?
>>>
>>> Shane
>>>
>>> On Fri, Jan 16, 2015 at 12:54 AM, Craig Dabelstein
>>> <address@hidden> wrote:
>>> > Hi List,
>>> >
>>> > Can anyone tell me why I can't get small caps working 
>with this code?
>>> >
>>> > Many thanks,
>>> >
>>> > Craig
>>> >
>>> > scoreTitleMarkup = \markup {
>>> >     \column {
>>> >       \on-the-fly \print-all-headers { \bookTitleMarkup 
>\hspace #1 }
>>> >       \fill-line {
>>> >         \large \bold \caps \fromproperty #'header:piece
>>> >          }
>>> >         }
>>> >       }
>>> >     }
>>> >
>>> > _______________________________________________
>>> > lilypond-user mailing list
>>> > address@hidden
>>> > https://lists.gnu.org/mailman/listinfo/lilypond-user
>>> >
>>>
>>
>> _______________________________________________
>> lilypond-user mailing list
>> address@hidden
>> https://lists.gnu.org/mailman/listinfo/lilypond-user
>>
>>
>-------------- next part --------------
>An HTML attachment was scrubbed...
>URL: 
><http://lists.gnu.org/archive/html/lilypond-user/attachments/20
150116/3b794c2a/attachment.html>
>
>------------------------------
>
>_______________________________________________
>lilypond-user mailing list
>address@hidden
>https://lists.gnu.org/mailman/listinfo/lilypond-user
>
>
>End of lilypond-user Digest, Vol 146, Issue 77
>**********************************************




reply via email to

[Prev in Thread] Current Thread [Next in Thread]