automatic fingering annotation

2014-10-12 Thread erik flister
hi-

i'm writing some software that generates .ly files and want to offer
the option to automatically add (woodwind) fingering chart annotations
to the engraving.  the project is in haskell and i'd rather not learn
scheme or lilypond internals.  the problem is determining the octave
-- i want to support relative octave entry
(http://lilypond.org/doc/v2.18/Documentation/notation/writing-pitches#relative-octave-entry),
but i don't want to reimplement relative octave detection (not because
it's hard, but i in principle don't want to duplicate logic).

i would think automatic fingering annotation would be a desirable
feature in lilypond itself -- perhaps a markup flag where i request
the standard fingering for the note, maybe some way of selecting a
predefined alternate fingering (nice to have would be rules for
determining prefered fingerings from the previous note, a way to
define fingering libraries to choose from, etc).

i assume that wouldn't be anyone's priority to implement, so either i
could try to myself from within lilypond, or (my preference) i need
some way to ask lilypond for the octave -- either an API or
command-line program or something where i give an .ly snippet and
lilypond gives me back the absolute pitches.

what do you think would be the best way?

thanks!
-erik

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: recorder diagram and some woodwind-diagram bugs

2014-10-12 Thread James
Erik,

On 12/10/14 04:05, erik flister wrote:
 hi there-
 sorry for cross posting to all the lists, i'd rather not subscribe and
 this post seems to apply to all three.
 
 attached is a recorder diagram patch, would love for feedback and for
 it to be incorporated.  hopefully it's ok it's not actually in patch
 format, it just drops into display-woodwind-diagrams.scm (of course a
 corresponding entry needs to be added to
 woodwind-data-assembly-instructions in that file as well).

Can you make it patch format?

Then I can help push this through the proper review process. Although if
you do want to wait for people to comment (and I am not qualified to ...
sorry) then that is fine, but it will still need to be in patch format
in the end, it's up to you.

It's more likely to get more constructive reviews if it is a proper
patch though.

regards

James





 
 my biggest problems:
 
 - 1h (half-covered) works for eg 'flute two', but on my recorder thumb
 (T) it doesn't work -- it just shows fully covered.
 
 - why are partial covers shown as shaded, then there is no distinction
 w/trills (ie 1h and 1hT are identical)?
 
 i don't know scheme, so i was mainly pattern-matching from existing
 diagrams.  some issues i had while trying to figure this out:
 
 - what is the purpose of the baked-in cc/lh/rh grouping?
 
 - i can't find doc for draw-instructions rules -- seems to determine
 whether keys are hidden unless specified -- i didn't want that
 behavior, but was stuck unexpectedly getting it for a while.
 
 - difference between identity and return-1 -- they sound identical to
 me (when xy-scaling), but gave different results.
 
 - the style used encourages a lot of duplicated code -- it needs to be
 refactored so that keys are defined as simple declarative structures
 (with properties like name, group, position, complexity, stencil,
 textual-representation) and graphical/textual-commands derived
 therefrom.
 
 - similarly, key positions should be described in relative terms --
 most stuff is absolute w/brittle hardcoding.
 
 - explicit support for when there is no text-override (key name
 instead of graphical stencil) available.  i tripped across a
 previously reported bug that doesn't seem to have made it to the issue
 list even though it's a crash:
 (http://lists.gnu.org/archive/html/lilypond-user/2014-09/msg00405.html):
 
   c^
   \markup \override #'(graphical . #f) {
   \woodwind-diagram
 #'tin-whistle
 #'()
   }
 
 C:/Program Files 
 (x86)/LilyPond/usr/share/lilypond/current/scm/display-woodwind-
 diagrams.scm:1977:20: In procedure = in expression (= 0 (assoc-get node 
 draw-ins
 tructions)):
 C:/Program Files 
 (x86)/LilyPond/usr/share/lilypond/current/scm/display-woodwind-
 diagrams.scm:1977:20: Wrong type: #f
 
 also broken for saxophone (a different error tho), but works for piccolo.
 for tin-whistle, seems to be from use of CENTRAL-COLUMN-HOLE-H-LIST
 instead of CENTRAL-COLUMN-HOLE-LIST.
 
 - when using \override #'(graphical . #f) (is there a way to call this
 textual?) with an empty keylist, should show all possible text
 stencils (as it currently does for graphical).  also, how are partial
 coverings/trills handled in this case?
 
 - would be nice if i didn't have to edit display-woodwind-diagrams.scm
 and instead could just \include my raw .scm file from a .ly file.
 
 thanks!
 -erik
 
 
 
 ___
 bug-lilypond mailing list
 bug-lilyp...@gnu.org
 https://lists.gnu.org/mailman/listinfo/bug-lilypond
 


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


How to get the total length of Sequential Music

2014-10-12 Thread Hans Sommer
Hello,

I am relatively new to Lilypond. 
I try to check the total length of a SequentialMusic part, i.e. 


my_score_part = { c'4 d e f }

I want to get the result 4 quarters (or any other numerical representation)

and for 

my_score_part2 = { c'4 d e f g8}

should deliver 4 quarter and 1 eighth.

I found in the documentation the property:

 length-callback (procedure):

ly:music-sequence::cumulative-length-callback 


but I don't know how to use it.

I would be very thankful, if anybody could provide an example.

Best regards


Hans



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: relative music inside music functions explodes when used twice

2014-10-12 Thread Janek Warchoł
Thanks David and Paul - that's helpful.  However, while the situation
improved the output is still not what i want:
\version 2.19.13

voiceDivisi =
#(define-music-function (parser location m1 m2) (ly:music? ly:music?)
   #{
 \tag divI { $m1 }
 \tag divII { $m2 }
 \tag together  { \dynamicUp $m1 } \\ { \dynamicDown $m2 } 
   #})

music = \relative c' {
  \voiceDivisi {
c4 d e f
  }{
a,1
  }
}
musicII = \relative c' {
  \voiceDivisi {
f4 e d c
  } {
a1
  }
}

\new Staff \with { instrumentName = part I }
\removeWithTag divII.together { \music \musicII }

\new Staff \with { instrumentName = part II }
\removeWithTag divI.together { \music \musicII }

\new Staff \with { instrumentName = combined }
\removeWithTag divI.divII { \music \musicII }

if i understand correctly, relativization happens too late, i.e. after
the music is processed by the voiceDivisi function.
How should i work around this?  Maybe instead of using tags i should write
a function with a switch statement inside?  I know that i can put \relative
command inside \voiceDivisi, but i'd like to avoid this as it would add a
lot of typing.

best,
Janek

2014-10-11 21:01 GMT+02:00 David Kastrup d...@gnu.org:

 Janek Warchoł janek.lilyp...@gmail.com writes:

  Hi,
 
  i have a function that takes music as an argument and uses it twice -
 each
  time with a different tag appended, so that later on i can decide what to
  output:
 
  voiceDivisi =
  #(define-music-function (parser location m1 m2) (ly:music? ly:music?)
 #{
   \tag divI \context Voice = divI { #m1 }
   \tag divII \context Voice = divII { #m2 }
   \tag together \context Voice = both  #m1 #m2 
 #})
 
  The problem is that when used with relative mode, the output gets crazy:
 
  music = \relative c' {
\voiceDivisi {
  c4 d e f
}
{
  e4 f g a
}
  }
 
  \new Staff \keepWithTag divI \music
  \new Staff \keepWithTag divII \music
  \new Staff \keepWithTag together \music
 
  (see attachment)
 
  I have checked that the problem disappears when the function uses the
  arguments (m1 and m2) only once.  Is this a bug?

 No.

 URL:
 http://www.lilypond.org/doc/v2.19/Documentation/extending/adding-articulation-to-notes-_0028example_0029
 

 In an earlier example, we constructed music by repeating a given
 music argument. In that case, at least one repetition had to be a
 copy of its own. If it weren’t, strange things may happen. For
 example, if you use \relative or \transpose on the resulting music
 containing the same elements multiple times, those will be subjected
 to relativation or transposition multiple times. If you assign them
 to a music variable, the curse is broken since referencing ‘\name’
 will again create a copy which does not retain the identity of the
 repeated elements.

  Can i work around it, or maybe i should be doing this in an altogether
  different way?

 Use ly:music-deep-copy on one of the copies.  Better both.  Or write $x
 instead of #x in order to get such a copy.

 --
 David Kastrup


 ___
 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: Double clef (canon)

2014-10-12 Thread Jayaratna
Hi Pierre,

I guess your suggestion should better the note spacing. I have to experiment
on it though.

Thank you,
Andrea



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Double-clef-canon-tp167389p167447.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: relative music inside music functions explodes when used twice

2014-10-12 Thread David Kastrup
Janek Warchoł janek.lilyp...@gmail.com writes:

 Thanks David and Paul - that's helpful.  However, while the situation
 improved the output is still not what i want:
 \version 2.19.13

 voiceDivisi =
 #(define-music-function (parser location m1 m2) (ly:music? ly:music?)
#{
  \tag divI { $m1 }
  \tag divII { $m2 }
  \tag together  { \dynamicUp $m1 } \\ { \dynamicDown $m2 } 
#})

 music = \relative c' {
   \voiceDivisi {
 c4 d e f
   }{
 a,1
   }
 }
 musicII = \relative c' {
   \voiceDivisi {
 f4 e d c
   } {
 a1
   }
 }

 \new Staff \with { instrumentName = part I }
 \removeWithTag divII.together { \music \musicII }

 \new Staff \with { instrumentName = part II }
 \removeWithTag divI.together { \music \musicII }

 \new Staff \with { instrumentName = combined }
 \removeWithTag divI.divII { \music \musicII }

 if i understand correctly, relativization happens too late, i.e. after
 the music is processed by the voiceDivisi function.

I'm not even sure I understand _how_ you want the relativization to
happen.  One after the other?  In that case, you can use

voiceDivisi =
#(define-music-function (parser location m1 m2) (ly:music? ly:music?)
  (make-relative (m1 m2) #{ #m1 #m2 #}
  #{
  \tag divI { $m1 }
  \tag divII { $m2 }
  \tag together  { \dynamicUp $m1 } \\ { \dynamicDown $m2 } 
  #}))

 How should i work around this?  Maybe instead of using tags i should
 write a function with a switch statement inside?  I know that i can
 put \relative command inside \voiceDivisi, but i'd like to avoid this
 as it would add a lot of typing.

It seems like the ingenuity of my make-relative macro never really
caught on...

By the way: I'm not sure it will be transparent enough to have  \\ 
be recognized at the proper point of time.  If not, you'll need to use
explicit voices instead.

-- 
David Kastrup

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Double clef (canon)

2014-10-12 Thread Jayaratna
Hi Harm,

I don't really have a personal setup for mensural music. Recently I begun a
project that involves a lot of mensural notation, therefore I am still
learning and noticing . Usually I adjust flaws when they occur, just within
the notation rather than on the layout level, but I guess this is a flaw
inherent on my way of working with Lilypond, as I have never learnt it in a
theoretical and comprehensive way, adjusting my learning to specific needs
as per occurrence.

So far I think mensural and neomensural notation fonts to be a little
unbalanced. The diamond shaped noteheads are too small, in my opinion, while
the square shaped noteheads are generally good. I usually increase noteheads
size, but not as much as I would, as the risk is getting breves and longae
noteheads too big. I think there should be a way to selectively increase
noteheads sizes, but I still have to sort out the problem. Actually, before
consolidating my opinion I should try see more of it in print: so far I am
just in the phase of making drafts. I also usually increase stems thickness,
but, again, I should evaluate this on paper rather than on screen. Longae
stems are too short, generally speaking (why are they built in the glyph???
Not that I dislike it, actually it solved so many issues I had!). The real
pain comes with ligatures: I have to revert the noteheads size to default
whenever I want to type ligatures, with the unnerving result that ligatures
look smallish, especially compared to squared noteshapes. On the other side,
if I don't revert noteheads to their normal sizes, spacing within ligatures
is completely scattered. Obtaining black or half coloured ligatures is also
quite painful, but I still have to study the problem a little bit closer, as
I guess changing the font to black mensural should partly overcome the
issue. 

Again, as for the font balance, I have sometimes to mix mensural and
neomensural or petrucci shapes, especially for clefs and time signature
symbols. Probably this is due to the fact that it is impossible to have a
consistent classification of these glyphs, because I think printers of
various times and locations used a variety of mixed shapes. But, again, a
bass mensural clef is really too small, compared, say, to a petrucci C clef.
Overall, I feel the mensural part of our feta font works better in giving
the idea of a handwritten score rather than of a printed one. You also
noticed dots are generally too big, and some of the alteration symbols are
too small. 

Finally, the available repertoire of time signature symbols is not complete.
I had to type a piece with many proportional changes and I finally decided
to include in my scores a separate file with 20 custom time signature
commands, some of them being already implemented, others being made by
adding fractions to existing glyphs. Thankfully I haven't yet found a score
with a double crossed time signature symbol (like a O with an X above it),
but I feel this kind of symbol could be easily added to the font. In typing
proportional music I prefer to use a standard 2/1 time, my custom time
signature symbols and \scaleDurations accordingly. So far it has been the
easiest way: still I remind myself that I have never planned one of these
projects globally from scratch, but I am guilty of always working on problem
by problem occurrence solutions.

These are some of the features I am introducing so far in my mensural
typewriting, warning that they still have to be fine tuned when proofed on
paper (and printed at different sizes too):

\override Stem.neutral-direction = #up
\override NoteHead #'font-size = #2 
\override Dots #'font-size = #-2  
\override Stem.thickness = #2.0

I'd also like to hear from yours and others opinion on the topic.

Andrea



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Double-clef-canon-tp167389p167449.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: recorder diagram and some woodwind-diagram bugs

2014-10-12 Thread erik flister
ok here you go

On Sun, Oct 12, 2014 at 2:31 AM, James pkx1...@gmail.com wrote:
 Erik,

 On 12/10/14 04:05, erik flister wrote:
 hi there-
 sorry for cross posting to all the lists, i'd rather not subscribe and
 this post seems to apply to all three.

 attached is a recorder diagram patch, would love for feedback and for
 it to be incorporated.  hopefully it's ok it's not actually in patch
 format, it just drops into display-woodwind-diagrams.scm (of course a
 corresponding entry needs to be added to
 woodwind-data-assembly-instructions in that file as well).

 Can you make it patch format?

 Then I can help push this through the proper review process. Although if
 you do want to wait for people to comment (and I am not qualified to ...
 sorry) then that is fine, but it will still need to be in patch format
 in the end, it's up to you.

 It's more likely to get more constructive reviews if it is a proper
 patch though.

 regards

 James






 my biggest problems:

 - 1h (half-covered) works for eg 'flute two', but on my recorder thumb
 (T) it doesn't work -- it just shows fully covered.

 - why are partial covers shown as shaded, then there is no distinction
 w/trills (ie 1h and 1hT are identical)?

 i don't know scheme, so i was mainly pattern-matching from existing
 diagrams.  some issues i had while trying to figure this out:

 - what is the purpose of the baked-in cc/lh/rh grouping?

 - i can't find doc for draw-instructions rules -- seems to determine
 whether keys are hidden unless specified -- i didn't want that
 behavior, but was stuck unexpectedly getting it for a while.

 - difference between identity and return-1 -- they sound identical to
 me (when xy-scaling), but gave different results.

 - the style used encourages a lot of duplicated code -- it needs to be
 refactored so that keys are defined as simple declarative structures
 (with properties like name, group, position, complexity, stencil,
 textual-representation) and graphical/textual-commands derived
 therefrom.

 - similarly, key positions should be described in relative terms --
 most stuff is absolute w/brittle hardcoding.

 - explicit support for when there is no text-override (key name
 instead of graphical stencil) available.  i tripped across a
 previously reported bug that doesn't seem to have made it to the issue
 list even though it's a crash:
 (http://lists.gnu.org/archive/html/lilypond-user/2014-09/msg00405.html):

   c^
   \markup \override #'(graphical . #f) {
   \woodwind-diagram
 #'tin-whistle
 #'()
   }

 C:/Program Files 
 (x86)/LilyPond/usr/share/lilypond/current/scm/display-woodwind-
 diagrams.scm:1977:20: In procedure = in expression (= 0 (assoc-get node 
 draw-ins
 tructions)):
 C:/Program Files 
 (x86)/LilyPond/usr/share/lilypond/current/scm/display-woodwind-
 diagrams.scm:1977:20: Wrong type: #f

 also broken for saxophone (a different error tho), but works for piccolo.
 for tin-whistle, seems to be from use of CENTRAL-COLUMN-HOLE-H-LIST
 instead of CENTRAL-COLUMN-HOLE-LIST.

 - when using \override #'(graphical . #f) (is there a way to call this
 textual?) with an empty keylist, should show all possible text
 stencils (as it currently does for graphical).  also, how are partial
 coverings/trills handled in this case?

 - would be nice if i didn't have to edit display-woodwind-diagrams.scm
 and instead could just \include my raw .scm file from a .ly file.

 thanks!
 -erik



 ___
 bug-lilypond mailing list
 bug-lilyp...@gnu.org
 https://lists.gnu.org/mailman/listinfo/bug-lilypond




0001-added-recorder-diagram.patch
Description: Binary data
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Contemporary Music Notation

2014-10-12 Thread Piaras Hoban
Hi all,

I'm a bit late to the party here but hope I can contribute something.

About two years ago I made the switch to using Lilypond exclusively as I
was getting tired of exporting pdfs with basic music notation and
overlaying graphics in Illustrator or some such. This was a real pain when
doing parts or making even the smallest of changes. Since then I've used
lilypond for a lot of pieces, all of which have some idiosyncratic
notational devices. There's very little I haven't been able to implement
successfully in lilypond (really just 1 thing that still evades me...
customised barlines aligning with first beat of a measure...).

I thought it might be interesting for those wondering what's possible in
lilypond to see some examples from the field. I've put together a page
collating those things I've done in the past year or so. Many of these
notational devices seem to be fairly standardized nowadays; or at least the
symbols appear consistently, even if the interpretation of their meaning
can vary a lot.

It would be great to develop a contemporary notation library for lilypond
making these notations readily available to any user, I'm not sure what
that would involve but I know it could be a major selling point for
lilypond in the contemporary music world.

For completeness sake here's index of what you see in the linked PDF
(naturally eveything you see here is generated using lilypond alone):

1) Split-stem chords/clusters
2) Stemmed glissando
3) Bezier glissando w/arrowhead
4) Variable width bezier glissando
5) Vibrato with variable/random period and slope
6) Interruptive polyphony
7) Lachenmann pressed bow
8) Billone beat notation
9) Pencil line emulation (after Charlie Sdraulig)
10) Sciarrino style jet-whistle
11) Woodwind fingering staff
12) Carin Levine style flute multiphonics
13) Klavierstuck X proof-of-concept
14) Sciarrino tremolo (with bezier hairpins)
15) Stockhausen cluster-glissando
16) Notation from a work of my own for violin

Hope this might be illuminating for others; lilypond is great for this kind
of stuff.

best wishes,

piaras hoban

​
 notation_sampler.pdf
https://docs.google.com/file/d/0B0LUzVrFDYH8S0hQN0hLZHdnT2s/edit?usp=drive_web
​

On 12 October 2014 06:22, SoundsFromSound soundsfromso...@gmail.com wrote:

 Urs Liska wrote
  Am 09.10.2014 06:31, schrieb Marco Bagolin:
  The notation contemporary music is so diverse, I know.
  I wonder if actually Lilypond has commands for drawing graphic
  symbols, as line circle, curve, square, circle, etc...
 
  A nice thing about LilyPond's approach is that once you have invented
  something you can make it available as a command so it can easily be
  reused. You can also make such commands process arguments so they can be
  versatile and context-dependent.
  As an example have a look at the attached image. This is what someone on
  the list (Piaras Hoban) came up with when I asked for a function to
  write a stemmed glissando notation. The underlying function is quite
  complicated but you can use it by simply writing
 
  \stemmedGlissando #'(15 . #f) c'4
 
  to tell LilyPond that the next glissando will have 15 stems and no (the
  #f) trailing grace note to indicate the target note.
 
  Stemmed-glissando.png (34K)
  lt;
 http://lilypond.1069038.n5.nabble.com/attachment/167377/0/Stemmed-glissando.pnggt
 ;

 Urs,

 Is there more information on that stemmed gliss function? I'd be interested
 to read more on that for LilyPond. Thanks!

 Ben




 -
 composer | sound designer
 LilyPond Tutorials (for beginners) -- http://bit.ly/bcl-lilypond
 --
 View this message in context:
 http://lilypond.1069038.n5.nabble.com/Contemporary-Music-Notation-tp167324p167437.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

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: automatic fingering annotation

2014-10-12 Thread David Nalesnik
Hi Erik,

On Sun, Oct 12, 2014 at 2:35 AM, erik flister erik.flis...@gmail.com
wrote:

 hi-

 i'm writing some software that generates .ly files and want to offer
 the option to automatically add (woodwind) fingering chart annotations
 to the engraving.  the project is in haskell and i'd rather not learn
 scheme or lilypond internals.  the problem is determining the octave
 -- i want to support relative octave entry
 (
 http://lilypond.org/doc/v2.18/Documentation/notation/writing-pitches#relative-octave-entry
 ),
 but i don't want to reimplement relative octave detection (not because
 it's hard, but i in principle don't want to duplicate logic).

 i would think automatic fingering annotation would be a desirable
 feature in lilypond itself -- perhaps a markup flag where i request
 the standard fingering for the note, maybe some way of selecting a
 predefined alternate fingering (nice to have would be rules for
 determining prefered fingerings from the previous note, a way to
 define fingering libraries to choose from, etc).

 i assume that wouldn't be anyone's priority to implement, so either i
 could try to myself from within lilypond, or (my preference) i need
 some way to ask lilypond for the octave -- either an API or
 command-line program or something where i give an .ly snippet and
 lilypond gives me back the absolute pitches.


I can't offer any suggestions about manipulating the text file, but I hope
the following will be useful to you.

It is possible to create markups in the score through a Scheme engraver.
The one I've attached looks for a NoteHead that has had its
'display-property property set to #t.

(Aside 1:This is an invented property, and there is currently no good way
to add a property except by adding it to the codebase.  This method will
probably cause problems if you try to process a batch of files--though
removing the symbol redefined error will likely fix that.)

(Aside 2: I've thought for a long time that adding a generic marker
property to grobs would be very useful: store whatever you want in it to
act as an ID.)

This engraver prints the octave of notes in the score by way of a markup
command \placeholder, where you could substitute whatever logic goes into
making woodwind diagrams.   You'll want other info about the pitch, of
course, and there are Scheme functions for that.  See
http://lilypond.org/doc/v2.18/Documentation/internals/scheme-functions.

Best,

David
\version 2.19.10


#(define (define-grob-custom-property symbol type? description)
   (if (not (equal? (object-property symbol 'backend-doc) #f))
   (ly:error (_ symbol ~S redefined) symbol))

   (set-object-property! symbol 'backend-type? type?)
   (set-object-property! symbol 'backend-doc description)
   symbol)

#(define all-user-grob-custom-properties
   (map
(lambda (x)
  (apply define-grob-custom-property x))

`((display-fingering ,boolean? Display woodwind fingering

#(define-markup-command (placeholder layout props arg) (number?)
  (interpret-markup layout props (number-string arg)))

textToMarkedEngraver=
#(lambda (context)
   (make-engraver
(acknowledgers
 ((note-head-interface trans grob source)
  (let* ((cause (event-cause grob))
 (p (ly:event-property cause 'pitch))
 (marked? (ly:grob-property grob 'display-fingering))
 (marked? (and (boolean? marked?) marked?)))
(if marked?
(let* ((t (ly:engraver-make-grob trans 'TextScript cause)))
  (ly:grob-set-property! t 'text
#{ \markup \placeholder #(ly:pitch-octave p) #}

markAll = \override NoteHead.display-fingering = ##t
markOne = \once \markAll

%%% EXAMPLE

\relative c {
  \clef bass 
  c, \markOne c' c'
  \clef treble
  c' \markAll c' c'
}

\layout {
  \context {
\Staff
\consists #textToMarkedEngraver
  }
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: automatic fingering annotation

2014-10-12 Thread David Nalesnik
On Sun, Oct 12, 2014 at 9:34 AM, David Nalesnik david.nales...@gmail.com
wrote:


 It is possible to create markups in the score through a Scheme engraver.
 The one I've attached looks for a NoteHead that has had its
 'display-property property set to #t.


I mean 'display-fingering...
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Contemporary Music Notation

2014-10-12 Thread David Nalesnik
On Sun, Oct 12, 2014 at 7:06 AM, Piaras Hoban phoba...@googlemail.com
wrote:



 I thought it might be interesting for those wondering what's possible in
 lilypond to see some examples from the field. I've put together a page
 collating those things I've done in the past year or so.


I'm speechless!

--David
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: How to get the total length of Sequential Music

2014-10-12 Thread David Nalesnik
Hi Hans,

On Sun, Oct 12, 2014 at 4:38 AM, Hans Sommer hansisom...@gmx.de wrote:

 Hello,

 I am relatively new to Lilypond.
 I try to check the total length of a SequentialMusic part, i.e.


 my_score_part = { c'4 d e f }

 I want to get the result 4 quarters (or any other numerical representation)

 and for

 my_score_part2 = { c'4 d e f g8}


(This isn't a valid name for a variable, so I changed it below.)



 should deliver 4 quarter and 1 eighth.

 I found in the documentation the property:

  length-callback (procedure):

 ly:music-sequence::cumulative-length-callback


 but I don't know how to use it.

 I would be very thankful, if anybody could provide an example.


I'm not familiar with this property, but it's relatively easy to determine
the length of a music expression.  Try this:

 \version 2.19.10

my_score_part = { c'4 d e f }

my_score_part_two = { c'4 d e f g8 }

#(display (ly:music-length my_score_part))

#(display (ly:music-length my_score_part_two))

Hope this is helpful,
David
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: automatic fingering annotation

2014-10-12 Thread Simon Albrecht

Hello David,

Am 12.10.2014 um 16:34 schrieb David Nalesnik:

Hi Erik,

On Sun, Oct 12, 2014 at 2:35 AM, erik flister erik.flis...@gmail.com 
mailto:erik.flis...@gmail.com wrote:


hi-

i'm writing some software that generates .ly files and want to offer
the option to automatically add (woodwind) fingering chart annotations
to the engraving.  the project is in haskell and i'd rather not learn
scheme or lilypond internals.  the problem is determining the octave
-- i want to support relative octave entry

(http://lilypond.org/doc/v2.18/Documentation/notation/writing-pitches#relative-octave-entry),
but i don't want to reimplement relative octave detection (not because
it's hard, but i in principle don't want to duplicate logic).

i would think automatic fingering annotation would be a desirable
feature in lilypond itself -- perhaps a markup flag where i request
the standard fingering for the note, maybe some way of selecting a
predefined alternate fingering (nice to have would be rules for
determining prefered fingerings from the previous note, a way to
define fingering libraries to choose from, etc).

i assume that wouldn't be anyone's priority to implement, so either i
could try to myself from within lilypond, or (my preference) i need
some way to ask lilypond for the octave -- either an API or
command-line program or something where i give an .ly snippet and
lilypond gives me back the absolute pitches.


I can't offer any suggestions about manipulating the text file, but I 
hope the following will be useful to you.


It is possible to create markups in the score through a Scheme 
engraver.  The one I've attached looks for a NoteHead that has had its 
'display-property property set to #t.


(Aside 1:This is an invented property, and there is currently no good 
way to add a property except by adding it to the codebase.  This 
method will probably cause problems if you try to process a batch of 
files--though removing the symbol redefined error will likely fix 
that.)


(Aside 2: I've thought for a long time that adding a generic marker 
property to grobs would be very useful: store whatever you want in it 
to act as an ID.)
Perhaps the id property in 
http://lilypond.org/doc/v2.18/Documentation/internals/grob_002dinterface? 
That came to my mind.


Yours, Simon
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Contemporary Music Notation

2014-10-12 Thread Urs Liska
That's terrific!

We should get in touch privately about the library stuff.

Urs

Am 12. Oktober 2014 14:06:17 MESZ, schrieb Piaras Hoban 
phoba...@googlemail.com:
Hi all,

I'm a bit late to the party here but hope I can contribute something.

About two years ago I made the switch to using Lilypond exclusively as
I
was getting tired of exporting pdfs with basic music notation and
overlaying graphics in Illustrator or some such. This was a real pain
when
doing parts or making even the smallest of changes. Since then I've
used
lilypond for a lot of pieces, all of which have some idiosyncratic
notational devices. There's very little I haven't been able to
implement
successfully in lilypond (really just 1 thing that still evades me...
customised barlines aligning with first beat of a measure...).

I thought it might be interesting for those wondering what's possible
in
lilypond to see some examples from the field. I've put together a page
collating those things I've done in the past year or so. Many of these
notational devices seem to be fairly standardized nowadays; or at least
the
symbols appear consistently, even if the interpretation of their
meaning
can vary a lot.

It would be great to develop a contemporary notation library for
lilypond
making these notations readily available to any user, I'm not sure what
that would involve but I know it could be a major selling point for
lilypond in the contemporary music world.

For completeness sake here's index of what you see in the linked PDF
(naturally eveything you see here is generated using lilypond alone):

1) Split-stem chords/clusters
2) Stemmed glissando
3) Bezier glissando w/arrowhead
4) Variable width bezier glissando
5) Vibrato with variable/random period and slope
6) Interruptive polyphony
7) Lachenmann pressed bow
8) Billone beat notation
9) Pencil line emulation (after Charlie Sdraulig)
10) Sciarrino style jet-whistle
11) Woodwind fingering staff
12) Carin Levine style flute multiphonics
13) Klavierstuck X proof-of-concept
14) Sciarrino tremolo (with bezier hairpins)
15) Stockhausen cluster-glissando
16) Notation from a work of my own for violin

Hope this might be illuminating for others; lilypond is great for this
kind
of stuff.

best wishes,

piaras hoban

​
 notation_sampler.pdf
https://docs.google.com/file/d/0B0LUzVrFDYH8S0hQN0hLZHdnT2s/edit?usp=drive_web
​

On 12 October 2014 06:22, SoundsFromSound soundsfromso...@gmail.com
wrote:

 Urs Liska wrote
  Am 09.10.2014 06:31, schrieb Marco Bagolin:
  The notation contemporary music is so diverse, I know.
  I wonder if actually Lilypond has commands for drawing graphic
  symbols, as line circle, curve, square, circle, etc...
 
  A nice thing about LilyPond's approach is that once you have
invented
  something you can make it available as a command so it can easily
be
  reused. You can also make such commands process arguments so they
can be
  versatile and context-dependent.
  As an example have a look at the attached image. This is what
someone on
  the list (Piaras Hoban) came up with when I asked for a function to
  write a stemmed glissando notation. The underlying function is
quite
  complicated but you can use it by simply writing
 
  \stemmedGlissando #'(15 . #f) c'4
 
  to tell LilyPond that the next glissando will have 15 stems and no
(the
  #f) trailing grace note to indicate the target note.
 
  Stemmed-glissando.png (34K)
  lt;

http://lilypond.1069038.n5.nabble.com/attachment/167377/0/Stemmed-glissando.pnggt
 ;

 Urs,

 Is there more information on that stemmed gliss function? I'd be
interested
 to read more on that for LilyPond. Thanks!

 Ben




 -
 composer | sound designer
 LilyPond Tutorials (for beginners) -- http://bit.ly/bcl-lilypond
 --
 View this message in context:

http://lilypond.1069038.n5.nabble.com/Contemporary-Music-Notation-tp167324p167437.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





___
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: Feedback Request for Music Fonts

2014-10-12 Thread Noeck
Hi Abraham,

thanks for your reply.

 Does your machinery allow to take these numbers
 from Bravura for example and put it in a normal text font?
 
 By default, the tuplet numbers come from whatever is set to be the
 \roman font.

\version 2.19.14

\transpose c c'
{
  % default (Century Schoolbook)
  \tuplet 3/2 { a8 a a }
  % bold (Century Schoolbook) - closer to Bravura
  \override TupletNumber.font-series = #'bold
  \tuplet 3/2 { a a a }
  % from Emmentaler (bold numbers) - your suggestion
  \override TupletNumber.font-encoding = #'fetaText
  \override TupletNumber.font-size = #-4
  \tuplet 3/2 { a a a }
  % tuplet number from Bravura (U+E883) - what I wanted!
  \override TupletNumber.font-name = Bravura
  \override TupletNumber.font-size = #3.5
  \override TupletNumber #'text = 
  \tuplet 3/2 { a a a }
}

This example shows four different tuplet numbers. The last one is what I
wanted: the dedicated Bravura tuplet number on code point U+E883.
To achieve that I had to put Bravura in /usr/share/fonts. I was
wondering why installing it under Ubuntu does not work and copying into
/usr/share/fonts of the LP directory structure does not work, neither.

A real solution would be if this number would be calculated
automatically. But I couldn't get it to work:
\override TupletNumber #'text = #(integer-char
  (+ 59520 (tuplet-number::calc-denominator-text)))

I am trying that out, because it would help to get a consistent style
for the new fonts including the text font part.

 2) Do you or does anyone know text fonts similar to the ones used in
 many old scores, like here:
 http://javanese.imslp.info/files/imglnks/usimg/7/7f/IMSLP00115-Chopin_-_Ballade_No1.pdf
 I've often looked for some nice fonts like those. A nice one I've found
 is called OldStandardTT. It's free and supports an extensive character
 set including Latin, Greek, and Cyrillic:
 
 http://www.fontsquirrel.com/fonts/old-standard-TT

Just to share what I found yesterday:
http://www.fontsquirrel.com/fonts/DubielPlain

But I am not really convinced (there are some irregularities e.g. in the
letter a).

 I'm actually working on a few right now that have a similar feel as
 those found in the Chopin score, but I can't say when they'll be done
 and ready for prime-time.

I will be interested whenever it gets ready.

Joram

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re:Contemporary Music Notation

2014-10-12 Thread Dave Phillips


On 10/12/2014 11:35 AM, lilypond-user-requ...@gnu.org wrote:

Message: 2
Date: Sun, 12 Oct 2014 09:52:50 -0500
From: David Nalesnik david.nales...@gmail.com
To: Piaras Hoban phoba...@googlemail.com
Cc: lilypond-user lilypond-user@gnu.org
Subject: Re: Contemporary Music Notation
Message-ID:
cann-nxkjdxaf65ofnyyknbrwsz4bsk7mjyxcohs7ar_qajo...@mail.gmail.com
Content-Type: text/plain; charset=utf-8

On Sun, Oct 12, 2014 at 7:06 AM, Piaras Hoban phoba...@googlemail.com
wrote:



I thought it might be interesting for those wondering what's possible in
lilypond to see some examples from the field. I've put together a page
collating those things I've done in the past year or so.


I'm speechless!

--David



Very impressive !

Best,

dp


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Can I make a TextScript occupy no space, potentially colliding?

2014-10-12 Thread Richard Shann
In this code I put a large letter A above the music.
If I uncomment the tweak the letter A is moved elsewhere, but it still
takes up space at the top of the score.
If I uncomment the override, I don't get the space back.

\version 2.18.0
\score { 
 {
  %\override  TextScript.Y-extent = #'(0 . 0) 
  a1 
  %-\tweak #'extra-offset #'(7 . -12) 
  ^\markup {\fontsize #12 A }
  }
} 

Is there a way to stop LilyPond trying to prevent my TextScript
colliding - to say that it occupies, say, no space?

Richard



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Can I make a TextScript occupy no space, potentially colliding?

2014-10-12 Thread Simon Albrecht

Am 12.10.2014 um 18:21 schrieb Richard Shann:

In this code I put a large letter A above the music.
If I uncomment the tweak the letter A is moved elsewhere, but it still
takes up space at the top of the score.
If I uncomment the override, I don't get the space back.

\version 2.18.0
\score {
  {
   %\override  TextScript.Y-extent = #'(0 . 0)
   a1
   %-\tweak #'extra-offset #'(7 . -12)
   ^\markup {\fontsize #12 A }
   }
}

Is there a way to stop LilyPond trying to prevent my TextScript
colliding - to say that it occupies, say, no space?

Richard

Hello Richard,

try:


\version 2.18.0

\score {

{

a1

%-\tweak #'extra-offset #'(7 . -12)

^\markup { \with-dimensions #'(0 . 0) #'(0 . 0) \fontsize #12 A }

}

}



HTH, Simon

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: ly:pitch and string

2014-10-12 Thread Simon Albrecht

Hello Paul,

Thanks for your help in improving the helper functions; however, 
‘inverting’ string-append and cond seems to be based on a 
misunderstanding. It needs to be


%%
\version 2.19.12
\language deutsch

pitch-to-key-string-german =
#(define-scheme-function
   (parser location p mode)
   (ly:pitch? string?)
   (let*
((major? (equal? mode major))
 (nn (ly:pitch-notename p))
 (nn-string (if major?
(list-ref '(C D E F G A H) nn)
(list-ref '(c d e f g a h) nn)))
 (alt (ly:pitch-alteration p))
 (alt-num (+ 2 (* 2 (ly:pitch-alteration p
 (alt-string (list-ref '(eses es  is isis) alt-num))
 ;pitch without octave
 (na (cons nn alt))
 ;helper functions for exceptions in german note naming
 (test (lambda (n a) (equal? na (cons n a
 (exc (lambda (ma mi) (if major? ma mi

(string-append nn-string
  (cond
   ((test 2 -1) (exc Eses eses))
   ((test 2 -1/2) (exc Es es))
   ((test 5 -1) (exc Asas asas))
   ((test 5 -1/2) (exc As as))
   ((test 6 -1/2) (exc B b))
   (else alt-string)


(cond

((test 2 -1) (exc Eses eses))

((test 2 -1/2) (exc Es es))

((test 5 -1) (exc Asas asas))

((test 5 -1/2) (exc As as))

((test 6 -1/2) (exc B b))

(else (string-append nn-string alt-string)



newTonic = disis'

newTonicString = \pitch-to-key-string-german \newTonic major

% for testing:
#(display (string-append in- newTonicString))

\bookOutputSuffix #(string-append in- newTonicString)

\score { \transpose c \newTonic { c' } }

%%

and then it works very well.

Yours, Simon
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Can I make a TextScript occupy no space, potentially colliding?

2014-10-12 Thread Richard Shann
Perfect! I've found that in the documentation as well...
Thank you very much,
Richard
On Sun, 2014-10-12 at 18:40 +0200, Simon Albrecht wrote:
 Am 12.10.2014 um 18:21 schrieb Richard Shann:
  In this code I put a large letter A above the music.
  If I uncomment the tweak the letter A is moved elsewhere, but it still
  takes up space at the top of the score.
  If I uncomment the override, I don't get the space back.
 
  \version 2.18.0
  \score {
{
 %\override  TextScript.Y-extent = #'(0 . 0)
 a1
 %-\tweak #'extra-offset #'(7 . -12)
 ^\markup {\fontsize #12 A }
 }
  }
 
  Is there a way to stop LilyPond trying to prevent my TextScript
  colliding - to say that it occupies, say, no space?
 
  Richard
 Hello Richard,
 
 try:
 
 
 \version 2.18.0
 
 \score {
 
 {
 
 a1
 
 %-\tweak #'extra-offset #'(7 . -12)
 
 ^\markup { \with-dimensions #'(0 . 0) #'(0 . 0) \fontsize #12 A }
 
 }
 
 }
 
 
 
 HTH, Simon



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: practice/volunteer opportunities

2014-10-12 Thread SoundsFromSound
truthling wrote
 Greetings, all!
 
 This is my first post and I would firstly like to express my gratitude and
 enthusiasm for Lilypond.  I have recently discovered it and it has been
 immensely helpful and fun!
 
 My name is Andrew and I am a music theory/classical guitar student.  
 
 I am looking for opportunities to develop my Lilypond knowledge and,
 skills and would love to take any opportunities to assist with your
 engraving projects, as a way to hone my skills.  So if you have any
 projects underway that you could use some help, let me know and I would be
 glad to offer my time and effort.
 
 Cheers!
 Andrew

Hello Andrew!

Welcome to the LilyPond community/mailing list! :)

-Ben



-
composer | sound designer 
LilyPond Tutorials (for beginners) -- http://bit.ly/bcl-lilypond
--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/practice-volunteer-opportunities-tp167462p167469.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


Text alignment

2014-10-12 Thread Marco Bagolin
Hi all,
I can not reproduce the attached Sample1.png.
The best result I obtained is the  attached MySample1.png  with the
following code:

e,1 \trill \p \ |
 b'1 \trill|
 e b1
  \trill
  ^\markup {\tiny \italic \halign #2 \raise #1.5 div.}
  ^\markup {\tiny (both trill)}
   
 {b1 \trill}
 \\
 {\set Staff.ottavation = #Half 8va (opt.)
  \hideNotes
b4 b b b
  \unset Staff.ottavation
 }
   

but text (both trill) is not aligned with the trill symbol and Half
8va(opt.) font is bigger than the others. I tried some ways, but I don't
understand where is my mistake.

Please, can anyone help me?

Thank you in advance at all

Regards
Marco B.
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Can I make a TextScript occupy no space, potentially colliding?

2014-10-12 Thread Richard Shann
On Sun, 2014-10-12 at 17:49 +0100, Richard Shann wrote:
 Perfect!

hmm, I spoke a little too soon. It seems that \with-dimensions kills
point-and-click. Understandable with 0 as the dimension, but actually
this doesn't seem to be the issue:

\version 2.18.0

\score { 
 {
  a1 
  ^\markup \with-dimensions #'(10 . -10) #'(10 . -10) 
  %\with-url #'some link 
  {\fontsize #12 A }
 }
} 

with good-sized dimension here there is no point and click. If I
uncomment the \with-url in this code then the A *is* clickable - and the
clickable area is the area of the letter not the 200x200 square.

So, if there is no easy way to get point-and-click back, can I
re-construct the link that point and click would have given using
\with-url? 

(Point-and-click is essential my application...)

Richard





  I've found that in the documentation as well...
 Thank you very much,
 Richard
 On Sun, 2014-10-12 at 18:40 +0200, Simon Albrecht wrote:
  Am 12.10.2014 um 18:21 schrieb Richard Shann:
   In this code I put a large letter A above the music.
   If I uncomment the tweak the letter A is moved elsewhere, but it still
   takes up space at the top of the score.
   If I uncomment the override, I don't get the space back.
  
   \version 2.18.0
   \score {
 {
  %\override  TextScript.Y-extent = #'(0 . 0)
  a1
  %-\tweak #'extra-offset #'(7 . -12)
  ^\markup {\fontsize #12 A }
  }
   }
  
   Is there a way to stop LilyPond trying to prevent my TextScript
   colliding - to say that it occupies, say, no space?
  
   Richard
  Hello Richard,
  
  try:
  
  
  \version 2.18.0
  
  \score {
  
  {
  
  a1
  
  %-\tweak #'extra-offset #'(7 . -12)
  
  ^\markup { \with-dimensions #'(0 . 0) #'(0 . 0) \fontsize #12 A }
  
  }
  
  }
  
  
  
  HTH, Simon
 
 
 
 ___
 lilypond-user mailing list
 lilypond-user@gnu.org
 https://lists.gnu.org/mailman/listinfo/lilypond-user



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Text alignment

2014-10-12 Thread Thomas Morley
2014-10-12 19:26 GMT+02:00 Marco Bagolin bagolin.ma...@gmail.com:
 Hi all,
 I can not reproduce the attached Sample1.png.
 The best result I obtained is the  attached MySample1.png  with the
 following code:

Hi Marco,

please always post a _compilable_ code, showing your problem and
matching with images you post.

-Harm


 e,1 \trill \p \ |
  b'1 \trill|
  e b1
   \trill
   ^\markup {\tiny \italic \halign #2 \raise #1.5 div.}
   ^\markup {\tiny (both trill)}

  {b1 \trill}
  \\
  {\set Staff.ottavation = #Half 8va (opt.)
   \hideNotes
 b4 b b b
   \unset Staff.ottavation
  }


 but text (both trill) is not aligned with the trill symbol and Half
 8va(opt.) font is bigger than the others. I tried some ways, but I don't
 understand where is my mistake.

 Please, can anyone help me?

 Thank you in advance at all

 Regards
 Marco B.

 ___
 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: Automatic ottava handling

2014-10-12 Thread David Nalesnik
Hi,

On Sat, Oct 11, 2014 at 9:05 PM, David Nalesnik


 I'll look into fixing up build-new-elts so there won't be so much
 duplication of code.  Then it will be a lot cleaner to deals with bassas,


OK, now it will provide automatic bassas as well.

The function \ottavate now takes two numbers, one for the upper threshold
and another for the lower.  I decided to specify the lower threshold in
negative numbers, but that could be changed.

If you want to turn off one or the other, you can just pick a number out of
range.  (So, for example, you can ensure no bassas with treble clef.)

Let me know how this works for you!

Enjoy,
David
\version 2.19.10

#(define (ledger-line-no middle-C-pos p)
   Returns the number of ledger-lines a pitch @var{p} will have with
middle C position @var{middle-C-pos} expressed as staff-steps from the
middle staff line.
   (let* ((ps (ly:pitch-steps p))
  (mid-staff-steps (- middle-C-pos))
  (top-line (+ mid-staff-steps 4))
  (bottom-line (- mid-staff-steps 4))
  (above? ( ps top-line))
  (below? ( ps bottom-line))
  (steps-outside-staff
   (cond
(below? (- ps bottom-line))
(above? (- ps top-line))
(else 0
 (truncate (/ steps-outside-staff 2

#(define (find-clefMiddleCPosition mus)
   (let ((clef-pos -6)) ; treble is default
 (for-some-music
  (lambda (x)
(let ((n (ly:music-property x 'symbol)))
  (and (eq? n 'middleCClefPosition)
   (set! clef-pos (ly:music-property x 'value)
  mus)
 clef-pos))

#(define (make-ottava-music arg)
   (list (make-music 'OttavaMusic 'ottava-number arg)))

ottavate =
#(define-music-function (parser location upper lower mus)
   (integer? number? ly:music?)
   Create an ottava for notes based on number of ledger lines.  Ledger lines above the staff
are specified in @var{upper} as positive integers; an 8va will be created for notes with at least
this many lines.  Ledger lines below the staff are specified in @var{lower} as negative numbers;
an 8va bassa will be created for notes with at least the absolute value of this number.  Choose
an number of ledger lines which does not appear in the music expression to prevent either
from appearing.

All notes in a chord must pass the threshold to receive an ottava.
   (let ((up-an-octave (make-ottava-music 1))
 (down-an-octave (make-ottava-music -1))
 (loco (make-ottava-music 0)))
 
 (define (up-or-down-an-octave clef-pos mus-expr)
   ; select from variables up-an-octave and down-an-octave
   ; return #f if no displacement
   (cond
((music-is-of-type? mus-expr 'event-chord)
 (cond
  ((every (lambda (p)
(= (ledger-line-no clef-pos (ly:music-property p 'pitch)) upper))
 (ly:music-property mus-expr 'elements))
   up-an-octave)
  ((every (lambda (p)
(= (ledger-line-no clef-pos (ly:music-property p 'pitch)) lower))
 (ly:music-property mus-expr 'elements))
   down-an-octave)
  (else #f)))
((music-is-of-type? mus-expr 'note-event)
 (cond
  ((= (ledger-line-no clef-pos
 (ly:music-property mus-expr 'pitch))
   upper)
   up-an-octave)
  ((= (ledger-line-no clef-pos
 (ly:music-property mus-expr 'pitch))
   lower)
   down-an-octave)
  (else #f)
 
 (define (no-ottava clef-pos mus-expr)
   (not (up-or-down-an-octave clef-pos mus-expr)))
 
 (define (build-new-elts mus-expr new-expr start-loco? start-ottava? clef-pos)
   (if (null? mus-expr)
   ;; ensure that ottava does not extend past a localized
   ;; use of \ottavate
   (append new-expr loco)
   
   (begin
;; find value for 'clefMiddleCPosition
(if (eq? (ly:music-property (car mus-expr) 'name) 'ContextSpeccedMusic)
(set! clef-pos (find-clefMiddleCPosition (car mus-expr

(cond
 ((or (music-is-of-type? (car mus-expr) 'event-chord)
  (music-is-of-type? (car mus-expr) 'note-event))
  (cond
   ((and
 start-ottava?
 (up-or-down-an-octave clef-pos (car mus-expr)))
(build-new-elts
 (cdr mus-expr)
 (append
  new-expr
  (up-or-down-an-octave clef-pos (car mus-expr))
  (list (car mus-expr)))
 #t #f clef-pos))
   ((and 
 start-loco?
 (no-ottava clef-pos (car mus-expr)))
(build-new-elts
 (cdr mus-expr)
 (append
  new-expr
  loco
  (list (car mus-expr)))
 #f #t clef-pos))
   (else 

Re: Automatic ottava handling

2014-10-12 Thread David Bellows
That is amazing work! I don't have the time to experiment with it right now
but I will do so tonight and let you know tomorrow the results. But based
on your example this looks like it will be perfect. I think the negative
numbers for the bassa is a good choice as that was what I was imagining in
the first place.

Thanks for all your work on this!

On Sun, Oct 12, 2014 at 12:07 PM, David Nalesnik david.nales...@gmail.com
wrote:

 Hi,

 On Sat, Oct 11, 2014 at 9:05 PM, David Nalesnik


 I'll look into fixing up build-new-elts so there won't be so much
 duplication of code.  Then it will be a lot cleaner to deals with bassas,


 OK, now it will provide automatic bassas as well.

 The function \ottavate now takes two numbers, one for the upper threshold
 and another for the lower.  I decided to specify the lower threshold in
 negative numbers, but that could be changed.

 If you want to turn off one or the other, you can just pick a number out
 of range.  (So, for example, you can ensure no bassas with treble clef.)

 Let me know how this works for you!

 Enjoy,
 David





___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Contemporary Music Notation

2014-10-12 Thread Janek Warchoł
2014-10-12 14:06 GMT+02:00 Piaras Hoban phoba...@googlemail.com:

 I thought it might be interesting for those wondering what's possible in
 lilypond to see some examples from the field. I've put together a page
 collating those things I've done in the past year or so.


!!
and then:
!
And i thought that after seeing Mike Solomon's stuff i wouldn't have my
mind blown away anymore
Extremely impressive!


 It would be great to develop a contemporary notation library for lilypond
 making these notations readily available to any user, I'm not sure what
 that would involve but I know it could be a major selling point for
 lilypond in the contemporary music world.


Absolutely!
And if you'd like to write a short (or long) blog post about this, just to
showcase what you can do with LilyPond (doesn't have to be elaborated), i
would be delighted - i don't have enough time for writing myself, and
anyway anything i could write wouldn't be even half as impressive as what
you did.

best,
Janek
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: relative music inside music functions explodes when used twice

2014-10-12 Thread Janek Warchoł
2014-10-12 12:45 GMT+02:00 David Kastrup d...@gnu.org:
 I'm not even sure I understand _how_ you want the relativization to
 happen.  One after the other?

If you mean \musicII should be relativized after \music, that's
roughly what i want.

 In that case, you can use

 voiceDivisi =
 #(define-music-function (parser location m1 m2) (ly:music? ly:music?)
   (make-relative (m1 m2) #{ #m1 #m2 #}
   #{
   \tag divI { $m1 }
   \tag divII { $m2 }
   \tag together  { \dynamicUp $m1 } \\ { \dynamicDown $m2 } 
   #}))

Seems to work! :)

  How should i work around this?  Maybe instead of using tags i should
  write a function with a switch statement inside?  I know that i can
  put \relative command inside \voiceDivisi, but i'd like to avoid this
  as it would add a lot of typing.

 It seems like the ingenuity of my make-relative macro never really
 caught on...

I've found https://code.google.com/p/lilypond/issues/detail?id=3118
and looked at input/regression/make-relative.ly but i don't think i
really understand what it does (and how).  I'll try digging deeper,
but any additional explanations you could provide would be very
welcome (as i have very limited time available for tinkering...) - i'd
very much like to be able to understand your ingenuity :)

 By the way: I'm not sure it will be transparent enough to have  \\ 
 be recognized at the proper point of time.  If not, you'll need to use
 explicit voices instead.

Absolutely.  My code is just a proof of concept, and I've used  \\
 to minimize the example.

best,
Janek

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


practice/volunteer opportunities

2014-10-12 Thread truthling
Greetings, all!

This is my first post and I would firstly like to express my gratitude and
enthusiasm for Lilypond.  I have recently discovered it and it has been
immensely helpful and fun!

My name is Andrew and I am a music theory/classical guitar student.  

I am looking for opportunities to develop my Lilypond knowledge and, skills
and would love to take any opportunities to assist with your engraving
projects, as a way to hone my skills.  So if you have any projects underway
that you could use some help, let me know and I would be glad to offer my
time and effort.

Cheers!
Andrew



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/practice-volunteer-opportunities-tp167462.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: Contemporary Music Notation

2014-10-12 Thread Mike Solomon
On Oct 12, 2014, at 3:06 PM, Piaras Hoban phoba...@googlemail.com wrote:

 Hi all,
 
 I'm a bit late to the party here but hope I can contribute something.
 
 About two years ago I made the switch to using Lilypond exclusively as I was 
 getting tired of exporting pdfs with basic music notation and overlaying 
 graphics in Illustrator or some such. This was a real pain when doing parts 
 or making even the smallest of changes. Since then I've used lilypond for a 
 lot of pieces, all of which have some idiosyncratic notational devices. 
 There's very little I haven't been able to implement successfully in lilypond 
 (really just 1 thing that still evades me... customised barlines aligning 
 with first beat of a measure...).
 
 I thought it might be interesting for those wondering what's possible in 
 lilypond to see some examples from the field. I've put together a page 
 collating those things I've done in the past year or so. Many of these 
 notational devices seem to be fairly standardized nowadays; or at least the 
 symbols appear consistently, even if the interpretation of their meaning can 
 vary a lot. 
 
 It would be great to develop a contemporary notation library for lilypond 
 making these notations readily available to any user, I'm not sure what that 
 would involve but I know it could be a major selling point for lilypond in 
 the contemporary music world.
 
 For completeness sake here's index of what you see in the linked PDF 
 (naturally eveything you see here is generated using lilypond alone):
 
 1) Split-stem chords/clusters
 2) Stemmed glissando
 3) Bezier glissando w/arrowhead
 4) Variable width bezier glissando
 5) Vibrato with variable/random period and slope
 6) Interruptive polyphony
 7) Lachenmann pressed bow
 8) Billone beat notation
 9) Pencil line emulation (after Charlie Sdraulig)
 10) Sciarrino style jet-whistle
 11) Woodwind fingering staff
 12) Carin Levine style flute multiphonics
 13) Klavierstuck X proof-of-concept
 14) Sciarrino tremolo (with bezier hairpins)
 15) Stockhausen cluster-glissando
 16) Notation from a work of my own for violin
 
 Hope this might be illuminating for others; lilypond is great for this kind 
 of stuff.
 
 best wishes,
 
 piaras hoban
 
 ​
  notation_sampler.pdf
 ​
 
 On 12 October 2014 06:22, SoundsFromSound soundsfromso...@gmail.com wrote:
 Urs Liska wrote
  Am 09.10.2014 06:31, schrieb Marco Bagolin:
  The notation contemporary music is so diverse, I know.
  I wonder if actually Lilypond has commands for drawing graphic
  symbols, as line circle, curve, square, circle, etc...
 
  A nice thing about LilyPond's approach is that once you have invented
  something you can make it available as a command so it can easily be
  reused. You can also make such commands process arguments so they can be
  versatile and context-dependent.
  As an example have a look at the attached image. This is what someone on
  the list (Piaras Hoban) came up with when I asked for a function to
  write a stemmed glissando notation. The underlying function is quite
  complicated but you can use it by simply writing
 
  \stemmedGlissando #'(15 . #f) c'4
 
  to tell LilyPond that the next glissando will have 15 stems and no (the
  #f) trailing grace note to indicate the target note.
 
  Stemmed-glissando.png (34K)
  lt;http://lilypond.1069038.n5.nabble.com/attachment/167377/0/Stemmed-glissando.pnggt;
 
 Urs,
 
 Is there more information on that stemmed gliss function? I'd be interested
 to read more on that for LilyPond. Thanks!
 
 Ben
 
 

Incredible!!
If you can, please post the sources on openlilylib.org.  This is remarkable 
work that will be undoubtedly be of use to many people.

All the best,
~Mike

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: practice/volunteer opportunities

2014-10-12 Thread Federico Bruni
2014-10-12 18:03 GMT+02:00 truthling heartsa...@gmail.com:

 My name is Andrew and I am a music theory/classical guitar student.

 I am looking for opportunities to develop my Lilypond knowledge and, skills
 and would love to take any opportunities to assist with your engraving
 projects, as a way to hone my skills.  So if you have any projects underway
 that you could use some help, let me know and I would be glad to offer my
 time and effort.


Hi Andrew, welcome!
Do you know Mutopia?
http://www.mutopiaproject.org/contribute.html
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Fwd: Re: practice/volunteer opportunities

2014-10-12 Thread Urs Liska




 Original-Nachricht 
Betreff:Re: practice/volunteer opportunities
Datum:  Sun, 12 Oct 2014 21:49:58 +0200
Von:Urs Liska u...@openlilylib.org
An: SoundsFromSound soundsfromso...@gmail.com



Hello Andrew,

I can propose you a project that would be happy about your
collaboration. It is already under way but I don't think it's too late.
We are doing a quite huge orchestral score in a collaborative edition
effort.

You may look at the following pages to get an impression of the project:

http://lilypondblog.org/2014/10/crowd-engraving-picking-up-speed/
http://lilypondblog.org/2014/10/approaching-a-big-score/
https://git.ursliska.de/beautifulscores/das-trunkne-lied/wikis/Table-of-Contents.md
http://das-trunkne-lied.beautifulscores.net/status/

Best wishes
Urs


Am 12.10.2014 18:54, schrieb SoundsFromSound:

truthling wrote

Greetings, all!

This is my first post and I would firstly like to express my gratitude and
enthusiasm for Lilypond.  I have recently discovered it and it has been
immensely helpful and fun!

My name is Andrew and I am a music theory/classical guitar student.

I am looking for opportunities to develop my Lilypond knowledge and,
skills and would love to take any opportunities to assist with your
engraving projects, as a way to hone my skills.  So if you have any
projects underway that you could use some help, let me know and I would be
glad to offer my time and effort.

Cheers!
Andrew

Hello Andrew!

Welcome to the LilyPond community/mailing list! :)

-Ben



-
composer | sound designer
LilyPond Tutorials (for beginners) -- http://bit.ly/bcl-lilypond
--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/practice-volunteer-opportunities-tp167462p167469.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




___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: How to get the total length of Sequential Music

2014-10-12 Thread Hans Sommer

David Nalesnik david.nalesnik at gmail.com writes:

 
 Hi Hans,
 On Sun, Oct 12, 2014 at 4:38 AM, Hans Sommer hansisommer at gmx.de
wrote:Hello,
 I am relatively new to Lilypond.
 I try to check the total length of a SequentialMusic part, i.e.
 my_score_part = { c'4 d e f }
 I want to get the result 4 quarters (or any other numerical representation)
 and for
 my_score_part2 = { c'4 d e f g8}
 
 
 (This isn't a valid name for a variable, so I changed it below.)
  
 
 
 should deliver 4 quarter and 1 eighth.
 I found in the documentation the property:
  length-callback (procedure):
     ly:music-sequence::cumulative-length-callback
 but I don't know how to use it.
 I would be very thankful, if anybody could provide an example.
 
 
 I'm not familiar with this property, but it's relatively easy to determine
the length of a music expression.  Try this:
 
  \version 2.19.10
 
 my_score_part = { c'4 d e f }
 
 my_score_part_two = { c'4 d e f g8 }
 
 #(display (ly:music-length my_score_part))
 
 #(display (ly:music-length my_score_part_two))
 
 Hope this is helpful,
 David
 
 
 
 
 
 ___
 lilypond-user mailing list
 lilypond-user at gnu.org
 https://lists.gnu.org/mailman/listinfo/lilypond-user
 

Thank you David,

that was what I was looking for.

When I use
 #(display (ly:music-length my_score_part))
I get in the lilypond log file (depending on the score length) someting like
that:

#Mom 2

Is there a possibility to write the result in an extra text file  (I want to
process the result by a program, that is actually starting the lilypond
compilation. It should check the score length and eventually throw an error).
I guess some scheme routines will be necessary, but I did not work with
scheme in the past, so maybe somebody has a small example code.


Regards 

Hans



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: How to get the total length of Sequential Music

2014-10-12 Thread David Nalesnik
On Sun, Oct 12, 2014 at 5:59 PM, Hans Sommer hansisom...@gmx.de wrote:


 David Nalesnik david.nalesnik at gmail.com writes:

 
  Hi Hans,
  On Sun, Oct 12, 2014 at 4:38 AM, Hans Sommer hansisommer at gmx.de
 wrote:Hello,
  I am relatively new to Lilypond.
  I try to check the total length of a SequentialMusic part, i.e.
  my_score_part = { c'4 d e f }
  I want to get the result 4 quarters (or any other numerical
 representation)
  and for
  my_score_part2 = { c'4 d e f g8}
 
 
  (This isn't a valid name for a variable, so I changed it below.)
 
 
 
  should deliver 4 quarter and 1 eighth.
  I found in the documentation the property:
   length-callback (procedure):
  ly:music-sequence::cumulative-length-callback
  but I don't know how to use it.
  I would be very thankful, if anybody could provide an example.
 
 
  I'm not familiar with this property, but it's relatively easy to
 determine
 the length of a music expression.  Try this:
 
   \version 2.19.10
 
  my_score_part = { c'4 d e f }
 
  my_score_part_two = { c'4 d e f g8 }
 
  #(display (ly:music-length my_score_part))
 
  #(display (ly:music-length my_score_part_two))
 
  Hope this is helpful,
  David
 
 
 
 
 
  ___
  lilypond-user mailing list
  lilypond-user at gnu.org
  https://lists.gnu.org/mailman/listinfo/lilypond-user
 

 Thank you David,

 that was what I was looking for.

 When I use
  #(display (ly:music-length my_score_part))
 I get in the lilypond log file (depending on the score length) someting
 like
 that:

 #Mom 2

 Is there a possibility to write the result in an extra text file  (I want
 to
 process the result by a program, that is actually starting the lilypond
 compilation. It should check the score length and eventually throw an
 error).


Yes, you can specify a port for display:

 \version 2.19.10

my_score_part = { c'4 d e f }

my_score_part_two = { c'4 d e f g8 }

#(define out (open-output-file music-length.txt))

#(display (ly:music-length my_score_part) out)

#(display (ly:music-length my_score_part_two) out)

%%%

You could also use format for nicer output:

#(format out Length of my_score_part: ~a~%Length of my_score_part_two:
~a~%
   (ly:music-length my_score_part)
   (ly:music-length my_score_part_two))

%%%

I don't think you need to close the port, but you could add this:

#(close-output-port out)

--David
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Tilde causes error message: unrecognized string, not in text script or \lyricmode

2014-10-12 Thread Eyolf Østrem

If I try to run the following (either directly or as part of a score):

\relative c' {
\key e \minor
\time 4/4

r4 r8 e8 e fis g4 fis fis8 fis fis e dis e ~ e4 r8
e8 e fis g4 a a8 a a g a b~ b4 r8
b b b b4 c c8 c c b a b~ b4 r8
b8 b a g4  fis fis8 fis fis e dis e ~ e4 r8
}

I get the error message: unrecognized string, not in text script or 
\lyricmode at the tildes in the first and last line. The es after the 
tildes do not get written out. The two b~ work as expected, though, 
even though everything but the pitches is the same as in the first line.

If I remove the tildes, everything works - except that I don't get the ties.

I'm running v. 2.18.2 under Arch Linux.

Eyolf

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


RE: Tilde causes error message: unrecognized string, not in text script or \lyricmode

2014-10-12 Thread Mark Stephen Mrotek
Eyolf,

Your snippet compiles without error message for me. I am using Lilypond
under Windows.
I notice that a space separates the two e from their ~. The space is not
between the two b and theirs.
Perhaps this is the source of the error message for you.

Mark

-Original Message-
From: lilypond-user-bounces+carsonmark=ca.rr@gnu.org
[mailto:lilypond-user-bounces+carsonmark=ca.rr@gnu.org] On Behalf Of
Eyolf Østrem
Sent: Sunday, October 12, 2014 4:57 PM
To: lilypond-user@gnu.org
Subject: Tilde causes error message: unrecognized string, not in text
script or \lyricmode

If I try to run the following (either directly or as part of a score):

\relative c' {
\key e \minor
\time 4/4

r4 r8 e8 e fis g4 fis fis8 fis fis e dis e ~ e4 r8
e8 e fis g4 a a8 a a g a b~ b4 r8
b b b b4 c c8 c c b a b~ b4 r8
b8 b a g4  fis fis8 fis fis e dis e ~ e4 r8 }

I get the error message: unrecognized string, not in text script or
\lyricmode at the tildes in the first and last line. The es after the
tildes do not get written out. The two b~ work as expected, though, even
though everything but the pitches is the same as in the first line.
If I remove the tildes, everything works - except that I don't get the ties.

I'm running v. 2.18.2 under Arch Linux.

Eyolf

___
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: Tilde causes error message: unrecognized string, not in text script or \lyricmode

2014-10-12 Thread Eyolf Østrem

On 13-10-2014 02:02, Mark Stephen Mrotek wrote:

Eyolf,

Your snippet compiles without error message for me. I am using Lilypond
under Windows.

Which version do you use?

I notice that a space separates the two e from their ~. The space is not
between the two b and theirs.
I forgot to add that: no, there is no difference whether there is a 
space there or not.


I also tested the snippet on lilybin.com, both with the latest stable 
(which is the same as I am running) and the latest devel, with the same 
result.


e

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: ly:pitch and string

2014-10-12 Thread Paul Morris
Simon Albrecht-2 wrote
 Thanks for your help in improving the helper functions; however, 
 ‘inverting’ string-append and cond seems to be based on a 
 misunderstanding. It needs to be

Ah, I see now... I was missing the forest for the trees.  

Cheers,
-Paul



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/ly-pitch-and-string-tp167397p167491.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: Tilde causes error message: unrecognized string, not in text script or \lyricmode

2014-10-12 Thread Abraham Lee
Eyolf,

Your snippet compiles perfectly for me on Ubuntu using LilyPond 2.18.2, so it 
probably is something with your installation? Sorry I can't help more than 
that. 

Regards,
Abraham

Sent from my iPhone

 On Oct 12, 2014, at 6:23 PM, Eyolf Østrem ey...@oestrem.com wrote:
 
 On 13-10-2014 02:02, Mark Stephen Mrotek wrote:
 Eyolf,
 
 Your snippet compiles without error message for me. I am using Lilypond
 under Windows.
 Which version do you use?
 I notice that a space separates the two e from their ~. The space is not
 between the two b and theirs.
 I forgot to add that: no, there is no difference whether there is a space 
 there or not.
 
 I also tested the snippet on lilybin.com, both with the latest stable (which 
 is the same as I am running) and the latest devel, with the same result.
 
 e
 
 ___
 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: Feedback Request for Music Fonts

2014-10-12 Thread Abraham Lee

Joram,

On Sun, Oct 12, 2014 at 10:04 AM, Noeck noeck.marb...@gmx.de wrote:

Hi Abraham,

thanks for your reply.

\version 2.19.14

\transpose c c'
{
  % default (Century Schoolbook)
  \tuplet 3/2 { a8 a a }
  % bold (Century Schoolbook) - closer to Bravura
  \override TupletNumber.font-series = #'bold
  \tuplet 3/2 { a a a }
  % from Emmentaler (bold numbers) - your suggestion
  \override TupletNumber.font-encoding = #'fetaText
  \override TupletNumber.font-size = #-4
  \tuplet 3/2 { a a a }
  % tuplet number from Bravura (U+E883) - what I wanted!
  \override TupletNumber.font-name = Bravura
  \override TupletNumber.font-size = #3.5
  \override TupletNumber #'text = 
  \tuplet 3/2 { a a a }
}

This example shows four different tuplet numbers. The last one is 
what I

wanted: the dedicated Bravura tuplet number on code point U+E883.
To achieve that I had to put Bravura in /usr/share/fonts. I was
wondering why installing it under Ubuntu does not work and copying 
into

/usr/share/fonts of the LP directory structure does not work, neither.


From my experience, LP only looks for Century Schoolbook and the 
music/brace fonts in that folder. Any other text font should be 
installed in a regular system location. On Ubuntu, if you put Bravura 
in /home/YOUR_USER_NAME/.local/share/fonts, then you should be able 
to do what you tried above (manually, of course).



A real solution would be if this number would be calculated
automatically. But I couldn't get it to work:
\override TupletNumber #'text = #(integer-char
  (+ 59520 (tuplet-number::calc-denominator-text)))

I am trying that out, because it would help to get a consistent style
for the new fonts including the text font part.


I agree. That is a great idea! I don't have enough Scheme experience to 
know how to modify the text property like that, but that would 
certainly be very nice. On the other hand, I could just create a simple 
tuplet numerals file for your needs :) It would probably be better to 
access the glyphs from the complete Bravura font file, but sometimes 
you've got to take measures into your own hands and try something 
simpler. I doubt Steinberg will ever be changing those glyphs, so it's 
probably a safe bet.




 2) Do you or does anyone know text fonts similar to the ones used 
in

 many old scores, like here:
 
http://javanese.imslp.info/files/imglnks/usimg/7/7f/IMSLP00115-Chopin_-_Ballade_No1.pdf
 I've often looked for some nice fonts like those. A nice one I've 
found
 is called OldStandardTT. It's free and supports an extensive 
character

 set including Latin, Greek, and Cyrillic:
 
 http://www.fontsquirrel.com/fonts/old-standard-TT


Just to share what I found yesterday:
http://www.fontsquirrel.com/fonts/DubielPlain

But I am not really convinced (there are some irregularities e.g. in 
the

letter a).


Yeah, that one looks nice, but I agree that it's not as well 
constructed as we would like.


Regards,
Abraham
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user