Demo: Score and parts template
Hi, Since the question came up about organizing LilyPond code for score and parts, I thought I would make a quick demo of what I believe to be the standard way to do it. Somehow I pieced these ideas together from LP code that I found online (Mozart Horn Concerto, as I recall), but I don't remember finding a compact example. I used a few bars from a recent woodwind trio, because it uses some notational features that you would like to be handled automatically -- and which *are* handled automatically using these techniques: - Multi-measure rests - Meter changes - Tempo markings (at the top of the score only, and in all parts) - Clef changes in one part, independent of the others - Transposing instruments Comments are in the file, but to summarize briefly: - A global variable holds any elements that need to be shared across all parts. Spacer (s) rests set the number of bars between tempo changes, meter or key changes, rehearsal marks, double barlines etc. - Each instrument has a variable containing notes, rests, dynamics etc. Clef changes go into these variables (because they are specific to each part). - The score creates staves for each instrument and fills them with simultaneous music expressions: \global \instrumentNotes . - A part is a \score containing one staff, using only the instrument's notes. If the part is for a multi-staff instrument, like piano, the \score would hold a PianoStaff or StaffGroup. - \compressFullBarRests in the parts does what you think it should do. Multi-measure rests should get broken by rehearsal marks etc. (the global things), and that's exactly what happens. I also use the \override because I don't like Kirchenpausen. In the real piece, I have a score.ly file that \include's the global and instrument variables, and separate oboe.ly, clarinet.ly etc. files that \include only what's needed for each part. For the demo, it's easier to send just one ly file but you wouldn't do it that way in real life. /Theme and Variations/ is released under CC-BY-NC-SA 4.0; please don't steal the notes :) Comments welcome. Hope this is helpful. hjh \version 2.18.2 \language english % global contains meter, key, and tempo changes, % and any rehearsal marks or markups that need to appear in all parts global = { \numericTimeSignature \tempo 2 = 88 \time 2/2 s1*3 \tempo \markup { \fontsize #-2 { \note #2 #1 = \note #4. #1 } } \time 6/8 s2. \tempo \markup { \fontsize #-2 { \note #4. #1 = \note #2 #1 } } \time 2/2 s1*2 } % Just the notes -- no need to copy anything from global obNotes = \relative c'' { R1*3 e8.\mp\ ( d16 ) f8 ~ ( f16 e ) g8. ( f16\! ) R1*2 } % entered in C (I prefer to think in concert pitch) clNotes = \relative c { e4\f d8 ( e f4 ) e8 ( d e4 ) cs2 e4 d8 ( e f4 ) g2 R2. e4\f d8 ( e f4 ) g ~ g\ f d'4. ( c8\! ) } bsnNotes = \relative c { \clef bass r4 bf\f af g fs e g f af g bf a \clef tenor g''8\mp\ ( f ) e-. d-. cs4-\! \clef bass r2 bf,4\f a bf\ g a8 ( bf c4\! ) } \paper { left-margin = 1.8\cm line-width = 18.2\cm right-margin = 1\cm ragged-bottom = ##t ragged-last-bottom = ##t } \header { title = Demo: Score and parts organization in LilyPond subtitle = \markup { Excerpt from \italic Theme and Variations } composer = H. James Harkins copyright = Licensed under Creative Commons CC-BY-NC-SA 4.0 poet = Score in C } \score { \new StaffGroup \new Staff \with { instrumentName = Oboe shortInstrumentName = Ob. } % this expression runs global simultaneously with the oboe notes \global \obNotes \new Staff \with { instrumentName = Clar. in A shortInstrumentName = Cl. } \global \clNotes \new Staff \with { instrumentName = Bassoon shortInstrumentName = Bsn. } \global \bsnNotes \layout { % This won't matter for this excerpt, % but I generally like to French my scores \context { \Staff \RemoveEmptyStaves } } } \pageBreak \markup { \column { \vspace #2 \bold Oboe part \vspace #1 } } % The part then consists of just a single staff, % using only the required notes. % It should be clear in the PDF what \compressFullBarRests does. % The \override forces the horizontal bar for rests of two bars or more, % instead of using LilyPond's default Kirchenpausen. % It's not shown here, but LilyPond will automatically break % multi-measure rests for key/tempo/meter changes etc. in global. \score { \new Staff \global { \compressFullBarRests \override MultiMeasureRest.expand-limit = #1 \obNotes } } \markup { \column { \vspace #2 \bold Clarinet in A part \vspace #1 } } % ... and the \transpose function handles non-C instruments \score { \new Staff \global \transpose a, c \clNotes } \markup { \column { \vspace #2 \bold Bassoon part \vspace #1 } } \score { \new Staff \global \bsnNotes }
CueDuring and Markup
Hi List, When using CueDuring, how do I get markup entries to show up in the cue? I've used this code to get articulations and dynamics to show up, but I can't work out how to get markup items to show. \set Score.quotedCueEventTypes = #'(note-event articulation-event dynamic-event) Many thanks, Craig ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: CueDuring and Markup
2015-01-10 1:58 GMT+01:00 Craig Dabelstein craig.dabelst...@gmail.com: Hi List, When using CueDuring, how do I get markup entries to show up in the cue? I've used this code to get articulations and dynamics to show up, but I can't work out how to get markup items to show. \set Score.quotedCueEventTypes = #'(note-event articulation-event dynamic-event) Many thanks, Craig Example taken from NR 1.6.3 Writing parts - Formatting cue notes http://www.lilypond.org/doc/v2.19/Documentation/notation/writing-parts#formatting-cue-notes slightly extended oboeNotes = \relative c'' { r2 r8 d16(\f f^XY e g f a) g8 g16 g g2. } \addQuote oboe { \oboeNotes } \new Voice \relative c'' { \set Score.quotedCueEventTypes = #'(note-event rest-event tie-event beam-event tuplet-span-event text-script-event dynamic-event slur-event) \cueDuring #oboe #UP { R1 } g2 c, } HTH, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: CueDuring and Markup
Thanks Thomas. text-script-event was the one I was missing. All the best, Craig On Sat Jan 10 2015 at 12:15:38 PM Thomas Morley thomasmorle...@gmail.com wrote: 2015-01-10 1:58 GMT+01:00 Craig Dabelstein craig.dabelst...@gmail.com: Hi List, When using CueDuring, how do I get markup entries to show up in the cue? I've used this code to get articulations and dynamics to show up, but I can't work out how to get markup items to show. \set Score.quotedCueEventTypes = #'(note-event articulation-event dynamic-event) Many thanks, Craig Example taken from NR 1.6.3 Writing parts - Formatting cue notes http://www.lilypond.org/doc/v2.19/Documentation/notation/ writing-parts#formatting-cue-notes slightly extended oboeNotes = \relative c'' { r2 r8 d16(\f f^XY e g f a) g8 g16 g g2. } \addQuote oboe { \oboeNotes } \new Voice \relative c'' { \set Score.quotedCueEventTypes = #'(note-event rest-event tie-event beam-event tuplet-span-event text-script-event dynamic-event slur-event) \cueDuring #oboe #UP { R1 } g2 c, } HTH, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: MetronomeMark at top + above staff groups - no luck
Pierre Perol-Schneider writes: Hi Anders, how about : Great, this works fine. (I was sure i had tried that already... :-) Thanks alot! -anders ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Slurs in volta alternate bars
I have a situation where I need a slur to go into the second alternate bar of a repeat, and I need a slur out of the first. Attached is how it should look. The d-flat in the first alternate bar gets a slurs as it should, but the d-flat in the second alternate does not. (These slurs show that the d-flats are part of a larger phrase.) Also, the f in the first alternate needs a slur to show it's attached to the beginning of the phrase in the first note of the repeat. I don't know how to produce the slurs on the f and the second d-flat. Any ideas? Knute Snortum (via Gmail) ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Information about Parts
Sounds like you might as well be interested in * http://www.projectabjad.org/ and * http://web.mit.edu/music21/. hth patrick On 09.01.2015, at 01:35, Matthew James Briggs matthew.james.bri...@gmail.com wrote: Thank you everyone for the info. Lilypond sounds totally awesome. Just a little more background because there may be folks here with insight on these things (PM if not appropriate for the forum): One of my major goals is to generate musical material with an object-oriented representation of musical concepts allowing textures or whole compositions to be generated algorithmically. I wanted to create my own object-oriented music world instead of learning an existing library or software (partly because I want it to be mine and partly because I want to get more into software development). I realized I would need a way to convert that world into interoperable formats, the main options that seemed apparent to me were MIDI and MusicXML. I chose to go with MusicXML and decided to implement my own strong binding of MusicXML. That was about a year ago and I've implemented about 70% of the MusicXML specification, but it is extremely slow going and difficult. XSD is hard enough to learn when we're talking about simple database schemas, and the complexity of the MusicXML specification absolutely blows my mind. (Note I don't think auto-generated strong-binding really works here because the specification is so difficult that the output of the auto-schema-strong-binding would be as difficult to use as the XSD is to read. I could be wrong about this...) I'm starting to wonder if I should just skip it and learn Lilypond instead, thus my object-oriented world could output Lilypond code instead of MusicXML. Alas I have to make a score or two the old fashioned way before I allow myself to indulge further on this larger goal. .mjb On Thu, Jan 8, 2015 at 1:28 PM, Colin Campbell colinpkcampb...@gmail.com wrote: On 2015-01-08 04:10 PM, Matthew James Briggs wrote: Hello, I just joined this list because I was searching unsuccessfully for information about Lilypond's features for extracting and producing individual parts from a score. Does Lilypond have features akin to Finale's linked-parts? I suspect my searching was unsuccessful since the work part is used so frequently in the english language. Any urls to point me in the right direction would be great. Background: composer using Finale since the early 1990's. In the past several years I have learned some code, C#, C++, SQL, tiny bits of bash. I don't know Python yet but it's on my to-do list. The idea of controlling music notation with the precision of an interpreted text language is highly appealing and I plan to learn Lilypond soon (unless it has, like, zero support for creating parts). Thank you! Matt Welcome to the community, Matt! The best bit of advice I can give is to look at the introductory stuff on the website. Start with the Introduction itself, then follow up with the Learning Manual. Others have pointed out that LilyPond builds scores from parts rather than building scores and extracting parts, but the website stuff may help to clarify it. I'm sure you'll be delighted at the kind and degree of control LilyPond will give you. Have fun! Cheers, Colin -- I've learned that you shouldn't go through life with a catcher's mitt on both hands. You need to be able to throw something back. -Maya Angelou, poet (1928- ) ___ 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 ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Information about Parts
On Thu, 2015-01-08 at 16:35 -0800, Matthew James Briggs wrote: I'm starting to wonder if I should just skip it and learn Lilypond instead, thus my object-oriented world could output Lilypond code instead of MusicXML. I think that would be very wise: IMHO MusicXML gives the impression of something well-designed and comprehensively thought-out whereas the reality is that it is a horrendous hotchpotch of constructs singularly unsuited to describing written notation. With its horrible going forwards and backwards in time semantics, I doubt if it is suited to describing music events either. Richard Shann ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Centering score and chord names horizontally
On 2015-01-09 09:41, Anton Curl wrote: Hi everyone! Hi Anton. I can't find how to center horizontally the \score bloc I create to display chord diagrams on top of my score. The trick here is to put the score into a markup, which can be positioned arbitrarily. In particular, \fill-line can be used to add whitespace to the left and right to center the markup. I'd also like to center the name of each chord with the corresponding diagram. That's a (little) more involved; AFAIK, it requires a bit of Scheme I found here: http://lilypond.1069038.n5.nabble.com/Chords-td56012.html Find attached the example; note that I also added skips in the chords - that's the quick-and-dirty approach to add some horizontal whitespace. HTH, Alexander \include predefined-guitar-fretboards.ly my_chords = \chordmode { a:m s s c s s d:m s s e } #(define (text-interface::print-X-centered grob) (ly:stencil-aligned-to (ly:text-interface::print grob) X CENTER )) \markup { \fill-line { \score { \new ChordNames \my_chords \new FretBoards \my_chords \layout { \context { \ChordNames \override ChordName.stencil = #text-interface::print-X-centered } \context { \FretBoards \override FretBoard.align-dir = #CENTER } } } } } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Centering score and chord names horizontally
Hi everyone! I can't find how to center horizontally the \score bloc I create to display chord diagrams on top of my score. I'd also like to center the name of each chord with the corresponding diagram. Does anyone have an idea on how to do this ? Thanks in advance, Anton Curl \include predefined-guitar-fretboards.ly my_chords = \chordmode { a:m c d:m e } \score { \new ChordNames \my_chords \new FretBoards \my_chords } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Information about Parts
On Thu, 2015-01-08 at 22:22 +0100, Urs Liska wrote: To make it short: LilyPond has a totally different approach to extracting parts. And I'm sure it will serve you well. You may also like to know that the Denemo music input program as well as putting parts in LilyPond variables can also generate the parts into separate files which is another approach used for more elaborate LilyPond scores. Richard ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: overlapping articulations with slurs
Please see the reply to your previous request. -- Phil Holmes - Original Message - From: Alex Jones akjonesjeff...@gmail.com To: lilypond-user@gnu.org Sent: Friday, January 09, 2015 7:06 PM Subject: overlapping articulations with slurs Apologies if others have solved this in the past, but I wasn’t able to find a solution on the list quickly. Has anyone seen something like the following: I’m trying to write both a stopped and accented note, that is slurred to an open note. I’m having trouble with the stopped and accented articulation occurring overtop of each other. Additionally, some of the articulations are below and some are above the slur, which is weird, but legible. Here is the code segment and resulting output. \version 2.18.2 \score { \new Staff = foo { \time 6/8 cis''4.--+ (c''8) \open r8 r8 cis''4.--+ (c''8) \open r8 r8 } } Note: in the context of my larger score, both instances have the overlapping + and symbols. Thanks for any help! -akj ___ 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: Slurs in volta alternate bars
Great ideas, guys. Thanks. I have a question about tweaking the X-extent. My understanding is that the pair (0 . 5) means start where you normally would and extend out five spaces (or note heads, the units don't matter to me). But when I do this: { df4) r f' -\tweak X-extent #'(0 . 5) \laissezVibrer } ...the Laissez Vibrer slur shape doesn't stretch. The slur takes up more space (and pushes the repeat sign to the right) but the slur shape stays the same. Do I need to use the \shape command or am I misunderstanding the X-extent property? Knute Snortum (via Gmail) On Fri, Jan 9, 2015 at 9:52 AM, tisimst tisimst.lilyp...@gmail.com wrote: Knute, Nick has it right. Here's a customized snippet I took from the NR that looks like what you are wanting (works with slurs, too, as shown here): c1 \repeat volta 2 { c4 d e f ( } \alternative { { f2 ) d*\laissezVibrer* } { f2*\repeatTie* f, } } [image: Inline image 1] That should at least give you a place to start. HTH, Abraham On Fri, Jan 9, 2015 at 9:38 AM, Nick Baskin [via Lilypond] [hidden email] http:///user/SendEmail.jtp?type=nodenode=170268i=0 wrote: On Fri, Jan 9, 2015 at 8:22 AM, Knute Snortum [hidden email] http:///user/SendEmail.jtp?type=nodenode=170264i=0 wrote: I have a situation where I need a slur to go into the second alternate bar of a repeat, and I need a slur out of the first. Attached is how it should look. The d-flat in the first alternate bar gets a slurs as it should, but the d-flat in the second alternate does not. (These slurs show that the d-flats are part of a larger phrase.) Also, the f in the first alternate needs a slur to show it's attached to the beginning of the phrase in the first note of the repeat. I don't know how to produce the slurs on the f and the second d-flat. Any ideas? Knute Snortum (via Gmail) ___ lilypond-user mailing list [hidden email] http:///user/SendEmail.jtp?type=nodenode=170264i=1 https://lists.gnu.org/mailman/listinfo/lilypond-user Knute, Have you tried using laissez vibrer and repeat ties? You might have to alter the X-extent, but they should be able to accomplish the same effect. HTH Nick ___ lilypond-user mailing list [hidden email] http:///user/SendEmail.jtp?type=nodenode=170264i=2 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/Slurs-in-volta-alternate-bars-tp170263p170264.html To start a new topic under User, email [hidden email] http:///user/SendEmail.jtp?type=nodenode=170268i=1 To unsubscribe from Lilypond, click here. NAML http://lilypond.1069038.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewerid=instant_html%21nabble%3Aemail.namlbase=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespacebreadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml -- View this message in context: Re: Slurs in volta alternate bars http://lilypond.1069038.n5.nabble.com/Slurs-in-volta-alternate-bars-tp170263p170268.html Sent from the User mailing list archive http://lilypond.1069038.n5.nabble.com/User-f3.html at Nabble.com. ___ 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: Slurs in volta alternate bars
Knute Snortum wrote Great ideas, guys. Thanks. I have a question about tweaking the X-extent. My understanding is that the pair (0 . 5) means start where you normally would and extend out five spaces (or note heads, the units don't matter to me). But when I do this: { df4) r f' -\tweak X-extent #'(0 . 5) \laissezVibrer } ...the Laissez Vibrer slur shape doesn't stretch. The slur takes up more space (and pushes the repeat sign to the right) but the slur shape stays the same. Do I need to use the \shape command or am I misunderstanding the X-extent property? Knute Snortum Knute, Yes, I think there is just a misunderstanding. X-extent or Y-extent are used to tell the layout algorithm how large a grob is in the respective directions, HOWEVER /it doesn't actually change the size of the grob itself/. It's a way to cleverly giving the grob more space than it has be default. I think you should probably just use \shape here to change the size/shape of the laissezVibrer tie. -Abraham -- View this message in context: http://lilypond.1069038.n5.nabble.com/Slurs-in-volta-alternate-bars-tp170263p170270.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
overlapping articulations with slurs
Apologies if others have solved this in the past, but I wasn’t able to find a solution on the list quickly. Has anyone seen something like the following: I’m trying to write both a stopped and accented note, that is slurred to an open note. I’m having trouble with the stopped and accented articulation occurring overtop of each other. Additionally, some of the articulations are below and some are above the slur, which is weird, but legible. Here is the code segment and resulting output. \version 2.18.2 \score { \new Staff = foo { \time 6/8 cis''4.--+ (c''8) \open r8 r8 cis''4.--+ (c''8) \open r8 r8 } } Note: in the context of my larger score, both instances have the overlapping + and symbols. Thanks for any help! -akj Untitled.pdf Description: Adobe PDF document ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: overlapping articulations with slurs
Thank you Phil, for some reason the reply didn’t come through to me. Thank you also to Abraham, I found his reply using babble interface and tried his fix, which works perfectly. Best to you both! -akj On Jan 9, 2015, at 2:08 PM, Phil Holmes m...@philholmes.net wrote: Please see the reply to your previous request. -- Phil Holmes - Original Message - From: Alex Jones akjonesjeff...@gmail.com To: lilypond-user@gnu.org Sent: Friday, January 09, 2015 7:06 PM Subject: overlapping articulations with slurs Apologies if others have solved this in the past, but I wasn’t able to find a solution on the list quickly. Has anyone seen something like the following: I’m trying to write both a stopped and accented note, that is slurred to an open note. I’m having trouble with the stopped and accented articulation occurring overtop of each other. Additionally, some of the articulations are below and some are above the slur, which is weird, but legible. Here is the code segment and resulting output. \version 2.18.2 \score { \new Staff = foo { \time 6/8 cis''4.--+ (c''8) \open r8 r8 cis''4.--+ (c''8) \open r8 r8 } } Note: in the context of my larger score, both instances have the overlapping + and symbols. Thanks for any help! -akj ___ 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: Slurs in volta alternate bars
On Fri, Jan 9, 2015 at 8:22 AM, Knute Snortum ksnor...@gmail.com wrote: I have a situation where I need a slur to go into the second alternate bar of a repeat, and I need a slur out of the first. Attached is how it should look. The d-flat in the first alternate bar gets a slurs as it should, but the d-flat in the second alternate does not. (These slurs show that the d-flats are part of a larger phrase.) Also, the f in the first alternate needs a slur to show it's attached to the beginning of the phrase in the first note of the repeat. I don't know how to produce the slurs on the f and the second d-flat. Any ideas? Knute Snortum (via Gmail) ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user Knute, Have you tried using laissez vibrer and repeat ties? You might have to alter the X-extent, but they should be able to accomplish the same effect. HTH Nick ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: system separator markup position
Hi Neil, On Wed, Jan 7, 2015 at 4:01 PM, Neil Thornock neilthorn...@gmail.com wrote: Thanks for the suggestion. While it does avoid the collision, it doesn't center the separator between staves. I believe the separator is spaced evenly between the vertical midpoint of each surrounding staff (line-position 0), and so when the bottom staff is that tall, it encroaches on the separator. I believe you are right about the method of calculation. Looking at the file scm/page.scm, at the function called make-page-stencil, we see that the system-separator stencil is placed using the function paper-system-staff-extents which reads a property called 'staff-refpoint-extent (which I would guess is a pair representing the midlines of top/bottom staves.) As an experiment, I replaced calls to paper-system-staff-extents with another function (from paper-system.scm) which looks at the _stencil_, namely paper-system-extent. I'll quote the function with my (tiny) alterations. Sorry, it's a long function! I suppose you could patch the file yourself if you like what you see. (See the attached image.) from scm/page.scm: (define (make-page-stencil page) Construct a stencil representing the page from PAGE. (page-translate-systems page) (let* ((paper-book (page-property page 'paper-book)) (prop (lambda (sym) (page-property page sym))) (layout (ly:paper-book-paper paper-book)) (scopes (ly:paper-book-scopes paper-book)) (lines (page-lines page)) (number (page-page-number page)) ;; TODO: naming paper-height/paper-width not analogous to TeX. (system-xoffset (ly:output-def-lookup layout 'horizontal-shift 0.0)) (system-separator-markup (ly:output-def-lookup layout 'system-separator-markup)) (system-separator-stencil (if (markup? system-separator-markup) (interpret-markup layout (layout-extract-page-properties layout) system-separator-markup) #f)) (page-stencil (ly:make-stencil '())) (last-system #f) (last-y 0.0) (add-to-page (lambda (stencil x y) (set! page-stencil (ly:stencil-add page-stencil (ly:stencil-translate stencil (cons (+ system-xoffset x) (- 0 y (prop 'top-margin))) ) (add-system (lambda (system) (let* ((stencil (paper-system-stencil system)) (y (ly:prob-property system 'Y-offset 0)) (is-title (paper-system-title? system))) (add-to-page stencil (ly:prob-property system 'X-offset 0.0) y) (if (and (ly:stencil? system-separator-stencil) last-system (not (paper-system-title? system)) (not (paper-system-title? last-system))) (add-to-page system-separator-stencil 0 (average (- last-y (car (paper-system-extent last-system Y))) ;; NB (- y (cdr (paper-system-extent system Y)) ;; NB (set! last-system system) (set! last-y y (head (prop 'head-stencil)) (foot (prop 'foot-stencil)) ) (if (and (ly:stencil? head) (not (ly:stencil-empty? head))) (begin ;; Ensure that the top of the header just touches the top margin. (set! head (ly:stencil-translate-axis head (- 0 (cdr (ly:stencil-extent head Y)) (prop 'top-margin)) Y)) (set! page-stencil (ly:stencil-add page-stencil head (if (and (annotate? layout) (pair? lines)) (begin (set! page-stencil (annotate-top-space (car lines) layout head page-stencil)) (for-each (lambda (sys next-sys) (paper-system-annotate sys next-sys layout)) lines (append (cdr lines) (list #f))) (paper-system-annotate-last (car (last-pair lines)) layout))) (for-each add-system lines) (ly:prob-set-property! page 'bottom-system-edge (car (ly:stencil-extent page-stencil Y))) (ly:prob-set-property! page 'space-left (+ (prop 'bottom-edge) (prop 'bottom-system-edge) (if (and (ly:stencil? foot) (not (ly:stencil-empty? foot)))
Add \mark entries with edition-engraver?
Hi folks, I've successfully managed to add \break events to a score with the edition-engraver. With a wrapper function I can now maintain all manual breaks in one Scheme list. Another thing I find very useful is passing skipTypesetting events to the score, so I could create a function to compile parts of a score only (e.g. measure 50-67 or page 3-5 (which can be deduced from the above list of (original) page breaks). However,what doesn't seem to work is passing \mark events that way with \editionMod fullscore 5 0/4 score.Score.A \mark \default Is it known that I don't get them in the score like this? Do I have to create a dummy voice and add it to a staff? Anything else I could do? While I am extremely impressed by the edition-engraver I' m often at a loss because editing is somewhat like flying in the dark. Urs___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: system separator markup position
On Fri, Jan 9, 2015 at 11:07 AM, David Nalesnik david.nales...@gmail.com wrote: (See the attached image.) Of course, you would still need to add some vertical space with system-system-spacing, for example. I'm not sure why LilyPond puts the systems so closely together, and doesn't add in some space when the staff-line positions are altered so dramatically. In any case, you need to force some room so that the measure number doesn't get covered over. (The separator stencil is not accommodated at all in vertical spacing.) --David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Slurs in volta alternate bars
Knute, Nick has it right. Here's a customized snippet I took from the NR that looks like what you are wanting (works with slurs, too, as shown here): c1 \repeat volta 2 { c4 d e f ( } \alternative { { f2 ) d*\laissezVibrer* } { f2*\repeatTie* f, } } [image: Inline image 1] That should at least give you a place to start. HTH, Abraham On Fri, Jan 9, 2015 at 9:38 AM, Nick Baskin [via Lilypond] ml-node+s1069038n170264...@n5.nabble.com wrote: On Fri, Jan 9, 2015 at 8:22 AM, Knute Snortum [hidden email] http:///user/SendEmail.jtp?type=nodenode=170264i=0 wrote: I have a situation where I need a slur to go into the second alternate bar of a repeat, and I need a slur out of the first. Attached is how it should look. The d-flat in the first alternate bar gets a slurs as it should, but the d-flat in the second alternate does not. (These slurs show that the d-flats are part of a larger phrase.) Also, the f in the first alternate needs a slur to show it's attached to the beginning of the phrase in the first note of the repeat. I don't know how to produce the slurs on the f and the second d-flat. Any ideas? Knute Snortum (via Gmail) ___ lilypond-user mailing list [hidden email] http:///user/SendEmail.jtp?type=nodenode=170264i=1 https://lists.gnu.org/mailman/listinfo/lilypond-user Knute, Have you tried using laissez vibrer and repeat ties? You might have to alter the X-extent, but they should be able to accomplish the same effect. HTH Nick ___ lilypond-user mailing list [hidden email] http:///user/SendEmail.jtp?type=nodenode=170264i=2 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/Slurs-in-volta-alternate-bars-tp170263p170264.html To start a new topic under User, email ml-node+s1069038n...@n5.nabble.com To unsubscribe from Lilypond, click here http://lilypond.1069038.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_codenode=2code=dGlzaW1zdC5saWx5cG9uZEBnbWFpbC5jb218Mnw4MzU3Njg3MDU= . NAML http://lilypond.1069038.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewerid=instant_html%21nabble%3Aemail.namlbase=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespacebreadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml image.png (22K) http://lilypond.1069038.n5.nabble.com/attachment/170268/0/image.png -- View this message in context: http://lilypond.1069038.n5.nabble.com/Slurs-in-volta-alternate-bars-tp170263p170268.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: Centering score and chord names horizontally
It's perfect! Thank you very much Anton Curl On 09/01/2015 10:58, Alexander Kobel wrote: On 2015-01-09 09:41, Anton Curl wrote: Hi everyone! Hi Anton. I can't find how to center horizontally the \score bloc I create to display chord diagrams on top of my score. The trick here is to put the score into a markup, which can be positioned arbitrarily. In particular, \fill-line can be used to add whitespace to the left and right to center the markup. I'd also like to center the name of each chord with the corresponding diagram. That's a (little) more involved; AFAIK, it requires a bit of Scheme I found here: http://lilypond.1069038.n5.nabble.com/Chords-td56012.html Find attached the example; note that I also added skips in the chords - that's the quick-and-dirty approach to add some horizontal whitespace. HTH, Alexander ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
MetronomeMark at top + above staff groups - no luck
Hi, i see this issue has been raised many times earlier. However, the suggested solutions i've found don't seem to work. I need the MetronomeMarks placed at two places: on top of score and above a StaffGroup (actually a PianoStaff) further down. In the score included below i've tried all combinations of placing Metronome_mark_engraver and Staff_collecting_engraver in Score, Staff and StaffGroup wo. luck - the marks either end up all on top of score, or above each staff, or a combination of these two. Heres an illustration of what i want, perhaps someone can point me to the right way: Tmpo1 Tmpo2 ins1|--|---|---|| ins2|--|---|---|| Tmpo1 Tmpo2 pno |--|---|---|| |--|---|---|| Any clues? Cheers, -anders rehearsal_mark_in_Frenched_score.ly Description: Binary data ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Constant sized rehersal marks?
As a first step here's a manual workaround : \version 2.18.2 \relative c' { \time 2/4 d e | \mark \markup { \center-column { \draw-circle #1.35 #0.1 ##f \vspace #-.8 \bold 1 } } d e | \mark \markup { \center-column { \draw-circle #1.35 #0.1 ##f \vspace #-.68 \fontsize #-3 \bold \concat { 1 \hspace #-.1 0 } } } f g | \mark \markup { \center-column { \draw-circle #1.35 #0.1 ##f \vspace #-.68 \magnify #.8 \bold \concat { 1 \hspace #-.1 1 } } } f g | \mark \markup { \center-column { \draw-circle #1.35 #0.1 ##f \vspace #-.61 \fontsize #-6 \bold \concat { 1 \hspace #-.1 00 } } } b c | \mark \markup { \center-column { \draw-circle #1.35 #0.1 ##f \vspace #-.8 \bold \concat { \hspace #.1 2 } } } a b | \mark \markup { \center-column { \draw-circle #1.35 #0.1 ##f \vspace #-.68 \fontsize #-3 \bold \concat { \hspace #.1 20 } } } c d | \mark \markup { \center-column { \draw-circle #1.35 #0.1 ##f \vspace #-.61 \fontsize #-6 \bold \concat { \hspace #.1 200 } } } c d | \mark \markup { \center-column { \draw-circle #1.35 #0.1 ##f \vspace #-.8 \bold 3 } } e f | \mark \markup { \center-column { \draw-circle #1.35 #0.1 ##f \vspace #-.68 \fontsize #-3 \bold 30 } } g a | \mark \markup { \center-column { \draw-circle #1.35 #0.1 ##f \vspace #-.61 \fontsize #-6 \bold 300 } } b c | } Pierre 2015-01-09 1:30 GMT+01:00 Steve Lacy sl...@slacy.com: Using \set Score.markFormatter = #format-mark-circle-numbers how would one go about making sure that all the rehersal marks are the same size (i.e. the radius of the circle is constant and the font inside scales to fit, and digits are centered within the circle?). Here's an example score that I would like to fix: [image: Inline image 1] (http://lilybin.com/qurd93/2) Additionally: - I find that the 1 inside the first rehersal mark needs to be tweaked to the right a little to be visually centered, - The 10 looks unnatural and needs some kerning so the digits are as close as the digits in 20 and 30 are - The mark for the 2 and 20 would look better with more default padding as the lower left of the digit almost touches the surrounding circle. Steve ___ 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: Information about Parts
Dear Matt, I dont compose. I arrange, mainly church music (choir, brass-choir, organ, piano) and theory (combining texts and music). Seldom using parts... The beginning was quite arduous, I had no idea of programmin and wanted to arrange directly in ly. Got it but then came Frescobaldi and changed the game. Have a eye at it. Its really the usefull app for composing. Greetings, Francois 2015-01-09 4:48 GMT-05:00, Richard Shann rich...@rshann.plus.com: On Thu, 2015-01-08 at 16:35 -0800, Matthew James Briggs wrote: I'm starting to wonder if I should just skip it and learn Lilypond instead, thus my object-oriented world could output Lilypond code instead of MusicXML. I think that would be very wise: IMHO MusicXML gives the impression of something well-designed and comprehensively thought-out whereas the reality is that it is a horrendous hotchpotch of constructs singularly unsuited to describing written notation. With its horrible going forwards and backwards in time semantics, I doubt if it is suited to describing music events either. Richard Shann ___ 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: MetronomeMark at top + above staff groups - no luck
Hi Anders, how about : \version 2.19 myMusic = { \tempo Tmpo1 \repeat unfold 4 { s1 } \tweak self-alignment-X #RIGHT \tempo Tmpo2 \stopStaff s } \score { \new StaffGroup \new Staff \with { instrumentName = ins1 } \myMusic \new Staff \with { instrumentName = ins2 } \myMusic \new PianoStaff \with { instrumentName = pno } \new Staff \with { \consists Metronome_mark_engraver }\myMusic \new Staff { \clef F \myMusic } \layout { ragged-right = ##f } } HTH, Pierre 2015-01-09 12:57 GMT+01:00 anders.vin...@bek.no: Hi, i see this issue has been raised many times earlier. However, the suggested solutions i've found don't seem to work. I need the MetronomeMarks placed at two places: on top of score and above a StaffGroup (actually a PianoStaff) further down. In the score included below i've tried all combinations of placing Metronome_mark_engraver and Staff_collecting_engraver in Score, Staff and StaffGroup wo. luck - the marks either end up all on top of score, or above each staff, or a combination of these two. Heres an illustration of what i want, perhaps someone can point me to the right way: Tmpo1 Tmpo2 ins1|--|---|---|| ins2|--|---|---|| Tmpo1 Tmpo2 pno |--|---|---|| |--|---|---|| Any clues? Cheers, -anders ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Dynamic positioning in dynamic context
On Sun, Jan 4, 2015 at 4:59 AM, Helge Kruse helge.kr...@gmx.net wrote: Hello, I have an improvement request. The dynamic context has a lot of advantages. Most important it makes a uniform vertical position of all dynamics in a line. Unfortunately it doesn't behave with the horizontal spacing. The following example starts with a spacer rest measure. The \p in the second measure is placed as expected. But if the dynamic has more width it collides with the bar. This doesn't happen when I add the dynamic to the upper staff in the third measure. Here you can find a small space between the bar and the first note (d). Can this be improved so that the width of objects in the dynamic context control the spacing in the staff context? \version 2.19.15 \language deutsch global = { \time 3/4 } upper = \relative c' { s2. d4\p\( e \acciaccatura{g8} f4-\) d4\( e \acciaccatura{g8} f4-\) d4\ppp\\( e \acciaccatura{g8} f4-\) s2.\! s } dynamic = { s2. s2.\p s2.\ppp\ s2.\! s2. } lower = { s2. s s s } \new PianoStaff \new Staff = Staff_pfUpper \global \upper \new Dynamics = Dynamics_pf \global \dynamic \new Staff = Staff_pfLower \global \lower Greetings, Helge Kruse - This has been submitted as issue 4253 : https://code.google.com/p/lilypond/issues/detail?id=4253 Ralph ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user