Re: --bigpdf

2021-09-28 Thread Erik Ronström
I finally got it working!

For future reference, the problem was that I could not make ghostscript use the 
exported font files from lilypond. I got it working by symlinking from one of 
the hardcoded font search paths (/usr/local/share/ghostscript) into the font 
export directory.

Also I use pdfcrop in my chain and for the files produced with 
--pspdfopt=TeX-GS, pdfcrop doesn’t work correctly. pdfcrop uses gs with 
-sDEVICE=bbox to get the bounding box of the pdf but it runs gs with -dSAFER 
which prevents gs from loading the exported font files. I suspect it is because 
they are not the actual font files but only wrappers linking to the real font 
files.

The only way I could resolve that was to either patch pdfcrop to remove -dSAFER 
or to ”manually” point gs to the actual font files by placing their path in the 
environment before calling pdfcrop:

GS_FONTPATH=/Library/Fonts/:/Applications/LilyPond.app/Contents/Resources/share/lilypond/current/fonts/otf/
 pdfcrop myscore.pdf


If anyone has a cleaner solution I would be glad to hear about it!

Erik



> 27 sep. 2021 kl. 20:47 skrev Erik Ronström :
> 
>> That option was removed again, but as far as I understand [1] you can
>> get similar tunings with "--pspdfopt=".






Re: --bigpdf

2021-09-27 Thread Erik Ronström
> That option was removed again, but as far as I understand [1] you can
> get similar tunings with "--pspdfopt=".


Thank you, I think that is what I was looking for!

However I didn’t get it to work: now the fonts are not embedded at all and GS 
does not load them:

Querying operating system for font files...
Substituting font Helvetica for Emmentaler-20.
Loading NimbusSanL-Reg font from 
/usr/local/share/ghostscript/9.19/Resource/Font/NimbusSanL-Reg... 7031772 
5679169 8204340 6720995 3 done.
Substituting font Helvetica for Emmentaler-14.
Substituting font Helvetica-Bold for CMUSerif-Bold.
Loading NimbusSanL-Bol font from 
/usr/local/share/ghostscript/9.19/Resource/Font/NimbusSanL-Bol... 7190500 
5866190 8358820 6850270 3 done.
Substituting font Helvetica for Emmentaler-13.
Page 6
Substituting font Helvetica for Emmentaler-20.
Substituting font Helvetica for Emmentaler-14.
Substituting font Helvetica-Bold for CMUSerif-Bold.
Substituting font Helvetica for Emmentaler-13.
[…]

Do I have to install the fonts used system-wide somehow? Or can I use the 
lilypond font export option to feed the used fonts into GS?

Erik






--bigpdf

2021-09-27 Thread Erik Ronström
Hi,

A couple of years ago, Knut Petersen submitted a patch for a --bigpdf option:

https://sourceforge.net/p/testlilyissues/issues/4251/

Was this option ever included in the main lilypond code base? The reason I’m 
asking is that I just downloaded lilypond 2.22.1 (on macOS, via homebrew) and 
it doesn’t recognise it:

unrecognized option: `--bigpdf’

Obviously I could try and apply the patch to the current code and recompile it 
myself but on the other hand, since it is a useful feature (at least for me!) I 
think it would be nice to have it in the official version!

Erik





Re: Barline glyphs in lilyglyphs

2018-05-30 Thread Erik Ronström
If you’re not specifically requiring the Feta font, you could try Bravura Text 
(https://www.smufl.org/fonts/)

See
https://w3c.github.io/smufl/gitbook/tables/barlines.html
https://w3c.github.io/smufl/gitbook/tables/repeats.html

Regards
Erik



> 30 maj 2018 kl. 20:35 skrev Sam Bivens :
> 
> Hi all,
> 
> How can I invoke a barline glyph in lilyglyphs? I'm having trouble finding a 
> list of glyphs akin to 
> http://lilypond.org/doc/v2.18/Documentation/notation/the-feta-font
> 
> Thanks,
> 
> Sam
> 
> 
> ___
> 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: Key signatures in modes other than Ionian & Aeolian

2018-04-17 Thread Erik Ronström

>> Even if my opinion may differ from the general opinion here, I think that in
>> popular music, one would use standard D major key signature.
>> Reason: Two sharps clearly show D major tonic and the characteristic mixo
>> tone C (flat seventh) stands out in the sheet music by the accidental used.

> I very much agree. In my impression, nowadays most musicians (save medieval 
> or Renaissance music specialists and maybe Jazz musicians) tend to only 
> differentiate between "major-like" and "minor-like" scales/keys

Another exception is the pretty large and vivid community of Irish/Celtic 
traditional music, where key signatures usually written corresponding to the 
actual mode (so e.g. a tune in D mixolydian would be written with only one 
sharp). This makes sense as the music is (for the most part) strictly modal and 
diatonic.

Many musicians in this genre use abc notation rather than sheet music, and in 
abc, mode is (almost) always defined explicitly:
http://abcnotation.com/wiki/abc:standard:v2.1#kkey

Erik




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


Re: [OT] Grammatic gender

2017-11-16 Thread Erik Ronström
Swedish (if anyone’s interested) has two grammatical genders, but they are not 
connected to male/female. Third person singular ”den”/”det” would both just 
translate to ”it” in English, whereas ”han” and ”hon” (”he” and ”she”) are 
separate pronouns only used for people (plus animals and things to which you 
have a personal relation).

(So I don’t know if you could say that we technically have four grammatical 
genders, I have a vague memory from my school time about it)

Erik





> 15 nov. 2017 kl. 23:32 skrev Wol's lists <antli...@youngman.org.uk>:
> 
> On 15/11/17 20:32, David Kastrup wrote:
>> David Wright <lily...@lionunicorn.co.uk> writes:
>>> On Wed 15 Nov 2017 at 11:56:07 (-0500), Kieren MacMillan wrote:
>>>> Hi Simon,
>>>> 
> 
>>> 
>>> A duchess has gender, but I don't see that the word "duchess" has
>>> grammatical gender. How is that expressed?
>> "The duchess ate her lunch" as opposed to "The duchess ate its lunch"?
>> German: "Das Mädchen aß seine Mahlzeit.".
> 
> Except that "her" refers to the person, not the noun ...
> 
> Mind you, I would feel happy with the following:
> The cat ate its lunch (indeterminate gender)
> The tom ate its lunch (we know it's male because it's a tom)
> The queen ate its lunch (we know it's female because it's a queen)
> 
> But I suspect that's because we rarely use "tom" or "queen", and your mind 
> substitutes the indeterminate "cat".
>>>>> It may seem so, because the articles for all three genders are the
>>>>> same, but words are referred to by ‘he’, ‘she’, or ‘it’. In
>>>>> English the sun is male, the moon female
>>>> 
>>>> I've spoken English my entire life, and I have literally never heard
>>>> an exchange like:
>>>> 
>>>>   Q: Is the sun up yet?
>>>>   A: Yes — he rose an hour ago.
>>> 
>>> Neither have I, though there is the song "The sun has got his hat on".
>>> Again, personification, not grammar.
>> "Sometime too hot the eye of heaven shines
>> And often is his gold complexion dimm'd"
>> Sonnet 18 by Shakespeare.
> But again, personification, not grammar. To me that feels slightly weird - as 
> far as I am concerned the sun is "it".
> 
> Cheers,
> Wol
> 
> ___
> 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: Gotlandstoner

2017-09-02 Thread Erik Ronström
> If I apply the attached patch to a cloned git archive I get the following 
> results with ghostscript 9.06:
> 
> bok2: Original size 9.996.691 bytes, optimized size 2.043.380 bytes
> bok3: Original size 13.706.324 bytes, optimized size 2.447.232 bytes
> 
> Unfortunately I found that a current git master of ghostscript does not work 
> as intended. I have to bisect and investigate that problem.

Lovely! Thanks again!

>>> A lot of pages contain a lot of white space. It would be possible to 
>>> include every staff as a paragraph instead of including the whole pdfs ….
>>> 
>> Yeah, but that is intentional. I didn’t want tunes split over page breaks 
>> (except the tunes that are too long to fit in one page). Actually that was 
>> the main reason for not using lilypond-book: I wanted more fine-grained 
>> control over vertical spacing, and I found that much easier to achieve when 
>> lilypond takes care of the whole typesetting process.
> 
> I did not write about using lilypond-book, I never use it and prefer 
> pdf(la)tex/xe(la)tex/lua(la)tex for similar reasons. 

I know, I just meant that I find it easier to tweak vertical spacing in 
lilypond than working with individual staff systems (be it lilypond-book, latex 
or whatever).

> I agree that there are valid reasons not to split over page breaks if a page 
> turn would be the result. But why do you have objections against  a score 
> starting on an even page and continuing on an uneven page?

Actually, I started out that way. But it turned out that the reduction in 
number of pages was not very big in the end (just over 20%), so I went for the 
tradeoff of paying a few more pages for getting as many tunes as possible fit 
into a single page. Of course that’s mainly an aesthetic decision (and I do 
find it slightly easier when sightreading) but another benefit is that if you 
want to print a single tune from the pdf file, you generally only have to print 
one page.

> A possible extension of your work: You might generate score videos (example) 
> and add links to those videos in your books ….

Nice!

Erik


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


Re: Gotlandstoner

2017-09-01 Thread Erik Ronström
> 
> Nice work, but your pdf includes many different subsets of the lilypond fonts 
> and is several MB to big because of this.
> 
> Use the --bigpdfs option of lilypond  in step 3. The resulting pdfs are 
> _much_ bigger because all glyphs from the fonts are included.
> 
>  …

Wow, thanks, I hadn’t thought of that at all! There’s always something more to 
learn! :)

> A lot of pages contain a lot of white space. It would be possible to include 
> every staff as a paragraph instead of including the whole pdfs ….

Yeah, but that is intentional. I didn’t want tunes split over page breaks 
(except the tunes that are too long to fit in one page). Actually that was the 
main reason for not using lilypond-book: I wanted more fine-grained control 
over vertical spacing, and I found that much easier to achieve when lilypond 
takes care of the whole typesetting process.

Erik




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


Re: Gotlandstoner

2017-08-30 Thread Erik Ronström
>> I just wanted to say that in July, we published a reprint of Gotlandstoner, 
>> a collection of about 500 traditional fiddle tunes from Gotland, Sweden. The 
>> reprint was typeset with Lilypond.
> 
> Impressive! Could you describe the production process for this? In the 
> PDF properties I can see references to LuaTeX and TeX Live 2016, so I'm 
> guessing that's what produced it. Was lilypond-book used there? I have 
> dreams of doing a project this size, and I'm still trying to understand 
> the best way to structure it.

I’m glad you asked! :)

1) One-time conversion from abc files to lilypond ”notes files” – lilypond 
source, but only the notes (and key and time signatures etc)

2) The ”notes files” are combined with a song template using a config file, to 
produce lilypond ”song files” – complete lilypond documents

3) The song files are run through lilypond to produce pdf files

4) The text information from the abc source is extracted and inserted into a 
book template, again using the config file, to produce a ”book document” in 
latex format, which also includes the individual song pdf files

5) The latex document is run through LuaLaTEX

I didn’t use lilypond-book as I needed more control over the process, but the 
overall principle is the same. Apart from the first one-time conversion from 
abc, all steps are scripted and a hash is appended to the names of all 
generated files, so that changing a single tune (in the ”notes file”) requires 
only a single terminal command to rebuild the complete book, and only the 
affected song is recompiled.

Having the entire project under version control has been a big help, I can 
highly recommend using git (or something similar) for any bigger Lilypond 
project!

Feel free to check out the project on github 
(https://github.com/erikronstrom/gotlandstoner)! The bin folder contains all 
the scripts (but be warned that the code is a bit messy and mostly 
undocumented). Most scripts are written in perl.

If you have any more specific questions, also feel free to email me privately!

Regards
Erik



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


Gotlandstoner

2017-08-29 Thread Erik Ronström
Hi folks,

I just wanted to say that in July, we published a reprint of Gotlandstoner, a 
collection of about 500 traditional fiddle tunes from Gotland, Sweden. The 
reprint was typeset with Lilypond.

The entire material is available on www.gotlandstoner.se, both the final PDF 
file used for printing, and an online version for browsing individual tunes.

Lilypond has been both a prerequisite and an important inspiration for this 
project coming true, so thank you for making this wonderful tool!

Erik



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


Re: Reverting TimeSignature after box notation

2017-08-05 Thread Erik Natanael Gustafsson
Brilliant! Thanks!

Erik

lör 5 aug. 2017 kl 21:54 skrev Thomas Morley <thomasmorle...@gmail.com>:

> 2017-08-05 21:09 GMT+02:00 Erik Natanael Gustafsson
> <eriknatanaelgustafs...@gmail.com>:
>
> > Here is the MWE I arraived at (I don't know how much of the structure
> code
> > is usually posted here so I'm posting the whole file with score
> definition
> > and all):
> [skipping the "whole file"]
>
> A minimal would be:
>
> \version "2.18.2"
>
> {
>   \time 4/4 r1
>   \set Staff.timeSignatureFraction = 4/4
>   \time 2/4 r2
>   \time 3/4 r2.
> }
>
> Two suggestions:
>
> {
>   \time 4/4 r1
>   \once \set Staff.timeSignatureFraction = 4/4
>   \time 2/4 r2
>   \time 3/4 r2.
> }
>
> {
>   \time 4/4 r1
>   \set Staff.timeSignatureFraction = 4/4
>   \time 2/4 r2
>   \unset Staff.timeSignatureFraction
>   \time 3/4 r2.
> }
>
> -Harm
>
-- 
Erik Natanael Gustafsson
---
► Composer, musician ◄
❂ Website: https://eriknatanael.com/
❂ SoundCloud: https://soundcloud.com/enatanael
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Reverting TimeSignature after box notation

2017-08-05 Thread Erik Natanael Gustafsson
Sorry for the confusion. Seems like the first reply I got also only went to
me and not to the list. This was written by Holland Hopson:

"Hi Erik,
Your example doesn’t compile for me. Maybe you can make a minimal working
example?

I’ve had good results using frameEngraver-bars-and-boxes.ily for box
notation.
Best,
Holland"

So I made a minimal example and found the error in the process ("\set
Staff.timeSignatureFraction = 4/4" disables all time signatures after that
point, it had nothing to do with the markup). But what about if I only want
to print an "alternative" time signature (fraction) for one bar and then go
back to the normal ones?

Holland also attached the frameEngraver-bars-and-boxes.ily and I asked for
how to use it and he answered that so that's solved.

Here is the MWE I arraived at (I don't know how much of the structure code
is usually posted here so I'm posting the whole file with score definition
and all):

\version "2.18.2"

\header {
  title = "Rymdmusik"
  composer = "Erik Natanael Gustafsson"
  poet = "Jane Barlow"
  tagline = ##f
}

global = {
  \key c \major
  \time 4/4
  \tempo "Svävande" 4 = 70
}

altoVoice = \relative c' {
  \global
  \dynamicUp
  % Music follows here.
  s1 |
  a'2 d8 c a g | \time 5/4 d4. g8 e g a,2 \bar "||"|
  \time 4/4 a'2 d8 c a g | \time 5/4 d4. g8 a g d'2 \bar "||" |
  \time 5/8 dis8 cis b cis a \bar"|"| \time 4/4 f g es des a'2 |

  % Mellanbit

  \time #'(3 2 2) 7/8  r4. r2 | \time 3/4 r2. \bar "||"|

  \time #'(2 2 4 1) 9/8  r2 r2 r8 | \time #'(3 4) 7/8 r4. r2 \bar "||"|
  \time 4/4 r1 | \time 3/4 r2. | cis2.~\< | cis4\> r2\! |
}

left = \relative c' {
  \global
  % Music follows here.
  a8 e' d
  a'8 g d' c g' \bar"" |
  %\override Staff.TimeSignature.stencil = ##f
  s1 | s1 s4 | s1 | s1 s4 | %\revert Staff.TimeSignature.stencil
  \clef "treble"
  %\set Staff.timeSignatureFraction = 4/4 % If I add this in no more
time signature will be shown
  \scaleDurations 5/8{
  g,8 cis b
  f' dis a' g cis |}

  s1 |

  \scaleDurations 7/6 {
f,8 bes as  des  ces  e }

  %\set Staff.timeSignatureFraction = 4/4
  \scaleDurations 6/8 {
gis8 fis e'4^"x3"
ais,8 gis e'4^"x3"
  }
  \change Staff = "left"
  s1 s8 | s2 s4. |
  r2. \tuplet 3/2 { fis,,8 gis a } |
  eis''2 \tuplet 3/2 { fis,,8 gis a } |
  eis''8 cis4. \ottava #1 \tuplet 3/2 {fis8 eis cis } |

}

altoVoicePart = \new Staff \with {
  instrumentName = "Alto"
  midiInstrument = "choir aahs"
} { \altoVoice }

pianoPart = \new PianoStaff \with {
  \override StaffGrouper.staffgroup-staff-spacing.padding = #20
  instrumentName = "Piano"

} <<
  \new Staff = "left" \with {
midiInstrument = "acoustic grand"
  } { \clef bass \left }
>>

\score {
  <<
\altoVoicePart

\pianoPart
  >>
  \layout {
\context {
  \Score
  \override StaffGrouper.staff-staff-spacing.padding = #1
}
\context {
  \Staff
}
  }
  \midi {
\tempo 4=70
  }
}



lör 5 aug. 2017 kl 19:53 skrev Thomas Morley <thomasmorle...@gmail.com>:

> 2017-08-05 19:28 GMT+02:00 Erik Natanael Gustafsson
> <eriknatanaelgustafs...@gmail.com>:
> > Whoops, I accidentally sent my reply only to Holland. Here it is again:
> >
> > "
> > Good idea! I made a minimal example
>
> Where is it?
>
> > and in the process I realised that time
> > signatures stopped being printed after I used "\set
> > Staff.timeSignatureFraction = 4/4" (the box markup had nothing to do with
> > it). Is there any way of continuing to print the default time signature
> > after one bar of polymetric notation?
>
> "polymetric notation?"
> Minimal example please!
>
> >
> > Thanks for the code!
>
> Which code?
> I'm tired of looking into the archives whether there is some code
> somewhere.
> Finding:
>
>
>
>
>
>
>
>
>
>
> >Could you point me to a resource for how to use it? I
> > mean, where I put that file, how I invoke it in my score etc.
>
> No idea what you're talking about.
>
>
> -Har

-- 
Erik Natanael Gustafsson
---
► Composer, musician ◄
❂ Website: https://eriknatanael.com/
❂ SoundCloud: https://soundcloud.com/enatanael
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Reverting TimeSignature after box notation

2017-08-05 Thread Erik Natanael Gustafsson
Whoops, I accidentally sent my reply only to Holland. Here it is again:

"
Good idea! I made a minimal example and in the process I realised that time
signatures stopped being printed after I used "\set
Staff.timeSignatureFraction = 4/4" (the box markup had nothing to do with
it). Is there any way of continuing to print the default time signature
after one bar of polymetric notation?

Thanks for the code! Could you point me to a resource for how to use it? I
mean, where I put that file, how I invoke it in my score etc.

Cheers,
Erik"

lör 5 aug. 2017 kl 17:02 skrev Knute Snortum <ksnor...@gmail.com>:

> You'll probably get more responses if you create a Minimal Working Example
> (MWE).  This is the smallest amount of code that will reproduce the problem.
>
> I often find that I stumble over a solution when I'm creating my MWE.
>
>
> ---
> Knute Snortum
> (via Gmail)
>
> On Thu, Aug 3, 2017 at 3:27 AM, Erik Natanael Gustafsson <
> eriknatanaelgustafs...@gmail.com> wrote:
>
>> Hi!
>>
>> I'm working on a piece while learning lilypond. It uses a bit of box
>> notation so I have the time signatures hidden in the beginning, but then I
>> want them back.
>>
>> After using
>> \override Staff.TimeSignature.stencil = ##f
>> to remove my time signatures, I can revert back using
>> \revert Staff.TimeSignature.stencil
>> if I place it before this block of code (making boxes for my box notation)
>>
>> s2-\markup {
>>   \with-dimensions #'(0 . 0) #'(0 . 0)
>>   \override #'(thickness . 3)
>>   \box
>>   \with-dimensions #'(-2 . 100) #'(-10 . 10)
>>   \null} s4.  \bar""|
>>   s4.-\markup {
>>   \with-dimensions #'(0 . 0) #'(0 . 0)
>>   \box
>>   \with-dimensions #'(-2 . 15) #'(0 . 10)
>>   \null}  s4.-\markup {
>>   \with-dimensions #'(0 . 0) #'(0 . 0)
>>   \box
>>   \with-dimensions #'(-2 . 9) #'(0 . 10)
>>   \null}|
>>
>> but if I place it after this code it has no effect (and gives no error).
>> What am I doing wrong, is it a bug, is there a workaround? I'm on lilypond
>> 2.18.2.
>>
>> Cheers,
>> Erik Natanael Gustafsson
>>
>> ___
>> lilypond-user mailing list
>> lilypond-user@gnu.org
>> https://lists.gnu.org/mailman/listinfo/lilypond-user
>>
>>
> --
Erik Natanael Gustafsson
---
► Composer, musician ◄
❂ Website: https://eriknatanael.com/
❂ SoundCloud: https://soundcloud.com/enatanael
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Reverting TimeSignature after box notation

2017-08-03 Thread Erik Natanael Gustafsson
Hi!

I'm working on a piece while learning lilypond. It uses a bit of box
notation so I have the time signatures hidden in the beginning, but then I
want them back.

After using
\override Staff.TimeSignature.stencil = ##f
to remove my time signatures, I can revert back using
\revert Staff.TimeSignature.stencil
if I place it before this block of code (making boxes for my box notation)

s2-\markup {
  \with-dimensions #'(0 . 0) #'(0 . 0)
  \override #'(thickness . 3)
  \box
  \with-dimensions #'(-2 . 100) #'(-10 . 10)
  \null} s4.  \bar""|
  s4.-\markup {
  \with-dimensions #'(0 . 0) #'(0 . 0)
  \box
  \with-dimensions #'(-2 . 15) #'(0 . 10)
  \null}  s4.-\markup {
  \with-dimensions #'(0 . 0) #'(0 . 0)
  \box
  \with-dimensions #'(-2 . 9) #'(0 . 10)
  \null}|

but if I place it after this code it has no effect (and gives no error).
What am I doing wrong, is it a bug, is there a workaround? I'm on lilypond
2.18.2.

Cheers,
Erik Natanael Gustafsson
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Center-align a score

2017-04-26 Thread Erik Ronström
> There are paper variables to achieve ragged-right and ragged-last
> layout. Is there a way to achieve center-aligned music in a score?

I’ve been fairly successful in the past with rendering lilypond to svg, and 
then writing perl scripts to automatically edit the svg file (which is a lot 
easier than manipulating a pdf). In those specific situations, svg happened to 
be my target format anyway, but if you want pdf I suppose you can convert the 
svg to pdf somehow (?).

I don’t know whether this would make sense for you at all, just wanted to 
mention it!

Erik



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


Re: Outputting current moment to svg

2017-01-15 Thread Erik Ronström
Many thanks! I should have found those discussions after more than two hours of 
googling, but somehow I didn’t…

Erik




> 16 jan. 2017 kl. 01:57 skrev David Nalesnik <david.nales...@gmail.com>:
> 
> Hi Erik,
> 
> On Sun, Jan 15, 2017 at 6:14 PM, Erik Ronström <e...@ompom.se> wrote:
>> Hi,
>> 
>> I’m trying to output some identifiers to my svg, so that I can access 
>> different objects later.
>> 
>> I found this thread:
>> http://lilypond.1069038.n5.nabble.com/id-s-for-svg-elements-td152945.html
>> 
>> explaining how to output pitch, which is useful. But I also want to output 
>> the ”timing” (current moment) of each note, and I can’t figure out how to do 
>> it.
>> 
>> This question seems to have been asked before 
>> (https://lists.gnu.org/archive/html/lilypond-user/2013-12/msg00207.html), 
>> but I couldn’t find any conclusive answer.
>> 
>> Any examples greatly appreciated!
>> 
> 
> Try the discussion here:
> http://www.mail-archive.com/lilypond-user@gnu.org/msg114527.html
> 
> and the follow-up thread here:
> http://www.mail-archive.com/lilypond-user@gnu.org/msg117641.html
> 
> More information is output than just moment, but hopefully the code
> there will be useful to you.
> 
> -David


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


Outputting current moment to svg

2017-01-15 Thread Erik Ronström
Hi,

I’m trying to output some identifiers to my svg, so that I can access different 
objects later.

I found this thread:
http://lilypond.1069038.n5.nabble.com/id-s-for-svg-elements-td152945.html

explaining how to output pitch, which is useful. But I also want to output the 
”timing” (current moment) of each note, and I can’t figure out how to do it.

This question seems to have been asked before 
(https://lists.gnu.org/archive/html/lilypond-user/2013-12/msg00207.html), but I 
couldn’t find any conclusive answer.

Any examples greatly appreciated!

Erik



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


Re: Re; New LilyPond website

2016-11-29 Thread Erik Ronström
> In fact, I tend to be confused about the different layout and sectioning of 
> the manual pages for stable and unstable. Now suddenly I wonder whether in 
> the long run it would be a good idea to have an identical structure for 
> downloads, manuals, regtests etc. for stable and unstable, but use a 
> different (background) color (scheme) for the two?

+1



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


Re: New LilyPond website

2016-11-29 Thread Erik Ronström
Hi,

While the new site may give a ”nicer” or more ”friendly” impression (depending 
on taste), I actually found it much harder to use, especially on a laptop 
screen where vertical space is limited: scrolling is needed for almost every 
action. While the old site may not be the most beautiful (although I have seen 
worse!), it is very functional, with good overview and almost all resources 
available with a single click from the first screen, without any scrolling.

So as a Lilypond user, I certainly prefer the old design, as function is far 
more important to me than design. But perhaps non-Lilypond users stumbling on 
the site are discouraged by the somewhat old-fashioned look? (OTOH, as someone 
pointed out, potential Lilypond users are probably already more or less deep 
into music typesetting, and hopefully would have a more deep perspective than 
just being deterred by the general website design).

Would it thus make sense to have a public-facing ”front-page”, with the current 
(more ”traditional”) webpage easily accessible for those who are already using 
Lilypond?

(I’m actually not convinced myself that this is a good idea, I just wanted to 
raise the question)

Erik



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


Re: Choosing glyph variants

2016-09-01 Thread Erik Ronström
> if it’s about easier maintenance or nicer code, you might do something like 
> this:
> 
> %%
> \version "2.19.47"
> computer-modern = ##f
> flqq = #(if computer-modern #{ \markup { \char #"#xF101" } #} "»")
> \markup \flqq
> %%

Nice one, thanks!

Actually, in my specific case, I’m typesetting a book of many hundred folk 
tunes from an abc source, so I’m already scripting the generation of the .ly 
files. So I can just do the replacement there.

Erik



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


Re: Choosing glyph variants

2016-08-29 Thread Erik Ronström
I found another workaround: even though the glyph variants share the same 
codepoint in the font, the alternative glyphs are actually defined in the 
unicode ”Private Use Area”, so they also have codepoints of their own. So I 
just replaced all » characters in the lilypond source with the unicode 
character #xF101. The drawback is that this codepoint is specific to the font, 
so when editing the source files, these characters is not displayed 
”correctly”. And if I would like to change lyrics font for the score, the 
quotes won’t show up.

Erik



> 29 aug. 2016 kl. 22:02 skrev Erik Ronström <e...@ompom.se>:
> 
> Hi,
> 
> I’m using Computer Modern in my score to match the surrounding text (set in 
> LaTeX). However, I discovered that the french quotes (guillemet) display 
> differently in the lyrics, compared to the TeX text (see attached image).
> 
> After digging into it, I found that the Computer Modern font contain 
> different glyph variants of the guillemet, encoded to the same codepoint in 
> the font. LaTeX chooses a specific variant because of the language context (I 
> think), while lilypond uses the default glyph.
> 
> So, the question is: Is it possible to choose glyph variants for text in 
> lilypond?
> 
> (Plan B would be to edit the font file in FontForge and replace the default 
> glyph with the variant I want, but I wouldn’t do that unless I really have 
> to…)
> 
> Erik
> 
> 
> 
> ___
> 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: Adding augmentation dots

2016-08-20 Thread Erik Ronström
>> I would like to add a dot, but \override Dots.dot-count = #1 has no effect.
> 
> You can also use (e.g.)
> 
>  c4.*2/3
> 
> This puts the dot on, but only uses up a quarter note worth of time.

Nice trick, thanks!

Erik



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


Adding augmentation dots

2016-08-20 Thread Erik Ronström
Hi,

For a dotted note, it’s possible to override the number of dots actually drawn. 
But when there are no dots to begin with? I would like to add a dot, but 
\override Dots.dot-count = #1 has no effect.

Erik



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


Re: Open Sound control?

2016-08-13 Thread Erik Ronström
AFAIK, OSC is only a communication protocol – what is sent over the protocol is 
up to the application. So it is not a replacement for MIDI, rather a complement.

Erik




> 13 aug. 2016 kl. 15:52 skrev bb <bb-543...@telecolumbus.net>:
> 
> https://de.wikipedia.org/wiki/Open_Sound_Control
> is sayed to replace MIDI. Is this something usefull for lilypond? Can one 
> save osc files like MIDI files?
> 
> Kindly
> 
> ___
> 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: Custom fonts

2016-08-11 Thread Erik Ronström
> However, for some reason it doesn’t work: #(define fonts …) seems to have no 
> effect at all in my document. Any tips for why?


Never mind: I found this thread:

http://lilypond.1069038.n5.nabble.com/Make-pango-font-tree-doesn-t-work-with-set-global-staff-size-td15920.html

which explained that set-global-staff-size seems to reset all fonts. Moving 
set-global-staff-size to before the \paper block solves the problem.

Thanks again!

Erik



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


Re: Custom fonts

2016-08-11 Thread Erik Ronström
> Do you really want to change only the Lyrics font? Or is it ok to change the 
> fonts in the whole document? Here is how to do that in LilyPond version 2.19 
> and 2.18:

Thanks, that would be the best solution!

However, for some reason it doesn’t work: #(define fonts …) seems to have no 
effect at all in my document. Any tips for why?

Erik



> 
> %%% begin LilyPond code
> 
> %{
> \version "2.19.46"
> 
> \paper {
>  #(define fonts
>(set-global-fonts
>#:roman "LMRoman10"
>#:sans "LMSans10"
>#:typewriter "LMMono10"
>#:factor (/ staff-height pt 20)
>  ))
> }
> %}
> 
> %%{
> \version "2.18.2"
> 
> \paper {
>  #(define fonts
> (make-pango-font-tree
>  "LMRoman10"
>  "LMSans10"
>  "LMMono10"
>  (/ staff-height pt 20)))
> }
> %}
> 
> 
> \relative {
>  c' d e f g2 g
> }
> 
> \addlyrics {
>  \markup \typewriter Al -- le mei -- ne \markup \italic Ent -- \markup \bold 
> chen
> }
> 
> %%% end LilyPond code


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


Custom fonts

2016-08-11 Thread Erik Ronström
Hi,

I’m trying to use Computer Modern for lyrics, and after installing the otf 
version of the font, the following works well:

\layout {
\context {
\Lyrics
\override LyricText #'font-size = #-1
\override LyricText #'font-name = #"CMU Serif"
}
}

However, making italic text with \markup { \italic text } doesn’t work anymore. 
Of course, I can define my own macro, but isn’t there a built-in mechanism to 
resolve different fonts of the same typeface/font family?

Erik



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


Re: Padding of VoltaBrackets

2016-08-08 Thread Erik Ronström
That works, thanks!

Erik


> 8 aug. 2016 kl. 11:22 skrev Pierre Perol-Schneider 
> <pierre.schneider.pa...@gmail.com>:
> 
> Hi Erik,
> 
> Try: \override Score.VoltaBracketSpanner #'padding = #4
> 
> Cheers,
> Pierre
> 
> 2016-08-08 10:58 GMT+02:00 Erik Ronström <e...@ompom.se>:
> Hi List,
> 
> How do I move VoltaBrackets further from the staff?
> 
> \override Score.VoltaBracket #'padding = #4
> or
> \override Score.VoltaBracket #'outside-staff-padding = #4
> 
> seems to have no effect
> 
> Erik
> 
> 
> 
> ___
> 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: bis

2016-08-08 Thread Erik Ronström
This works perfectly, thanks a lot!

Erik



> 25 juli 2016 kl. 14:56 skrev David Nalesnik <david.nales...@gmail.com>:
> 
> On Mon, Jul 25, 2016 at 6:54 AM,  <e...@ompom.se> wrote:
>> 
>> Thanks a lot, I'll check it out!
>> 
>> Erik
>> 
>> 
>> - Ursprungligt meddelande -
>> Från:
>> "Andrew Bernard" <andrew.bern...@gmail.com>
>> 
>> Till:
>> "lilypond-user Mailinglist" <lilypond-user@gnu.org>
>> Kopia:
>> 
>> Skickat:
>> Mon, 25 Jul 2016 19:23:40 +1000
>> Ämne:
>> Re: bis
>> 
>> 
>> 
>> Hi Erik,
>> 
>> This is a use for a text spanner with centred text that I had been
>> asking about on the list for some time, Eventually I wrote a function
>> to do it with the kind help of Thomas Morley also. Very useful - I
>> always said so!
>> 
> 
> This is a good solution, but one drawback is the left and right bounds
> of the text spanner aren't set to the column that holds the bar lines,
> rather to the NoteColumn objects.  One consequence is that you
> wouldn't get automatic alignment with bar lines, if that's what you
> want.
> 
> Another solution is available on the LSR:
> http://lsr.di.unimi.it/LSR/Snippet?id=954.
> 
> Add this function:
> 
> textedMeasureBracket =
> #(define-music-function
>  (parser location str mus)
>  (markup? ly:music?)
>  #{
>\override Staff.MeasureCounter.stencil =
>#(lambda (grob) (test-stencil grob str))
>\startMeasureCount
>#mus
>\stopMeasureCount
>  #}
>  )
> 
> Use it like this:
> 
> twice = \markup { \italic "bis" }
> 
> {
>  \textedMeasureBracket \twice { g'1 g'1 }
> }
> 
> 
> HTH,
> David


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


Padding of VoltaBrackets

2016-08-08 Thread Erik Ronström
Hi List,

How do I move VoltaBrackets further from the staff?

\override Score.VoltaBracket #'padding = #4
or
\override Score.VoltaBracket #'outside-staff-padding = #4

seems to have no effect

Erik



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


Re: bis

2016-07-25 Thread erik

Thanks a lot, I'll check it out!

Erik

- Ursprungligt meddelande -
Från: "Andrew Bernard" <andrew.bern...@gmail.com>
Till:"lilypond-user Mailinglist" <lilypond-user@gnu.org>
Kopia:
Skickat:Mon, 25 Jul 2016 19:23:40 +1000
Ämne:Re: bis

 Hi Erik,

 This is a use for a text spanner with centred text that I had been
 asking about on the list for some time, Eventually I wrote a function
 to do it with the kind help of Thomas Morley also. Very useful - I
 always said so!

 Have a look at this - it may do what you require.

 Andrew

 == snip

 version "2.19.37"

 include "/home/andro/lib/lilypond/scheme.ily"

 % Annotation bracket with centred text.
 % Andrew Bernard and Thomas Morley

 TextSpannerCentredText =
 #(define-music-function (text extra-length) (string? pair?)
 "Use TextSpanner semantics to create spanner brackets with centred
text"
 #{
 once override TextSpanner.after-line-breaking =
 #(lambda (grob)
 (let* (
 ;; get stencil of grob
 (stil (ly:grob-property grob 'stencil))
 ;; get spanner length
 (spanner-len (interval-length (ly:stencil-extent stil X)))
 ;; make stencil from text arg
 (text-stil (grob-interpret-markup grob
 (markup #:sans #:upright text)))
 ;; get text length
 (text-len (interval-length (ly:stencil-extent text-stil X
 ;; if text length exceeds the spanner length we cannot really
proceed.
 ;; do nothing - make an ordinary text spanner and warn.
 (if (>= text-len spanner-len)
 (begin
 (ly:warning "text length longer than spanner")
 #f
 )
 (let* (
 ;; get direction, up or down
 (dir (ly:grob-property grob 'direction))
 ;; some padding
 (padding 1)
 ;; line thickness
 (thickness 0.25)
 ;; extra length on left, negative values shorten
 (left-ext (car extra-length))
 ;; extra length on right, negative values shorten
 (right-ext (cdr extra-length))
 ;; calculate length considering text length
 (path-part-len (/ (- spanner-len text-len) 2))
 ;; make left bracket stencil
 (path-left-part-stil
 (make-path-stencil
 `(
 moveto ,(- left-ext) ,(* -1 dir)
 lineto ,(- left-ext) 0
 lineto ,path-part-len 0
 )
 thickness 1 1 #f))
 ;; make right bracket stencil
 (path-right-part-stil
 (make-path-stencil
 `(
 moveto ,(+ path-part-len right-ext) ,(* -1 dir)
 lineto ,(+ path-part-len right-ext) 0
 lineto 0 0
 )
 thickness 1 1 #f))
 ;; make complete stencil combining left and right parts
 ;; and text
 (full-stil
 (stack-stencils X RIGHT padding
 (list
 path-left-part-stil
 (centered-stencil text-stil)
 path-right-part-stil)))
 )
 ;; set grob stencil to fully constructed stencil
 (ly:grob-set-property! grob 'stencil full-stil)
 
 #}
 )

 {
 c' d' ees' fis'
 once override TextSpanner.direction = #DOWN
 TextSpannerCentredText "6"" #'(0 . 0)
 g' startTextSpan
 a' bes' c'' stopTextSpan
 TextSpannerCentredText "x3" #'(2 . 1)
 bes'startTextSpan a' g' c'stopTextSpan
 TextSpannerCentredText "x3" #'(2 . -6)
 c''1startTextSpan
 c''1stopTextSpan
 }

 == snip

 ___
 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: bis

2016-07-24 Thread erik
Just the markup would work fine, I don't need correct Midi playback!

Attached is a mockup. I've seen this notation in a couple of old tune
books of Swedish traditional music, and I thought it was a common
thing, until I started googling for it - seems to be quite rare
actually... But it is a very useful thing, as it effectively
introduces nested repeats in a very readable way!

Erik

- Ursprungligt meddelande -
Från: "Chris Yate" <chrisy...@gmail.com>
Till:<e...@ompom.se>, <lilypond-user@gnu.org>
Kopia:
Skickat:Sun, 24 Jul 2016 23:32:36 +
Ämne:Re: bis

Erik,

Do you want it to reproduce that in Midi, or just create the
appropriate markup? 

Could you create a mockup of what you want and post it (I'm sure it's
possible if not quite easy to create the output). It's not a style of
repeats I've ever seen.

Chris

On Mon, 25 Jul 2016 at 00:24 <e...@ompom.se [1]> wrote:
Hi List,

Does Lilypond have a built-in way of making "bis" repeats? I.e. a
horizontal bracket over one or a few measures with the word "bis",
indicating that the section is to be played twice.

Regards
Erik

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

Links:
--
[1] mailto:e...@ompom.se
[2] mailto:lilypond-user@gnu.org
[3] https://lists.gnu.org/mailman/listinfo/lilypond-user

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


bis

2016-07-24 Thread erik
Hi List,

Does Lilypond have a built-in way of making "bis" repeats? I.e. a
horizontal bracket over one or a few measures with the word "bis",
indicating that the section is to be played twice.

Regards
Erik


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


Re: Ace editor - Lilypond support

2015-03-10 Thread Erik Nilsson
Thanks for the input!

I'll have a look at the VIM files, although I'm not familiar with their
format.

I've found that there is an automatic importer for Ace that can take a
syntax described in a .tmLanguage file (Text Mate format).

There are such files for Lilypond here:
https://github.com/yrammos/SubLilyPond

I haven't given it a try yet but the generated files might be a good enough
start for getting Lilypond support in Ace.

//Erik



On Mon, Mar 9, 2015 at 5:39 PM, Michael Hendry hendry.mich...@gmail.com
wrote:


 On 9 Mar 2015, at 13:34, Erik Nilsson nilsso...@gmail.com wrote:


 Hi,

 I'm considering creating a syntax highlighter for Lilypond code for the
 Ace
 javascript code editor (http://ace.c9.io/). I think it would be useful
 for
 tools like for instance weblily (http://www.weblily.net/).

 Is there a clear definition of the lilypond language that one could use as
 the
 basis for such work? Does anybody know of other syntax highlighters out
 there
 (Frescobaldi, Emacs, Sublime or whatever) that would be a good starting
 point
 (being fairly complete, readable code).

 Regards,

 Erik


 I’m not sure if this is what you’re looking for, Erik, but my installation
 of lilypond (on iMac) includes the following files:


 /Applications/LilyPond.app/Contents/Resources/share/lilypond/current/vim/compiler/lilypond.vim

 /Applications/LilyPond.app/Contents/Resources/share/lilypond/current/vim/ftdetect/lilypond.vim

 /Applications/LilyPond.app/Contents/Resources/share/lilypond/current/vim/ftplugin/lilypond.vim

 /Applications/LilyPond.app/Contents/Resources/share/lilypond/current/vim/indent/lilypond.vim

 /Applications/LilyPond.app/Contents/Resources/share/lilypond/current/vim/syntax/lilypond.vim

 …which allow MacVim to provide syntax highlighting for lilypond.

 I’m not sure now whether these came with lilypond, or whether I installed
 them separately.

 Michael


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


Ace editor - Lilypond support

2015-03-09 Thread Erik Nilsson

Hi, 

I'm considering creating a syntax highlighter for Lilypond code for the Ace 
javascript code editor (http://ace.c9.io/). I think it would be useful for 
tools like for instance weblily (http://www.weblily.net/).

Is there a clear definition of the lilypond language that one could use as the 
basis for such work? Does anybody know of other syntax highlighters out there 
(Frescobaldi, Emacs, Sublime or whatever) that would be a good starting point 
(being fairly complete, readable code). 

Regards,

Erik


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


Re: automatic fingering annotation

2014-10-14 Thread erik flister
thanks a lot david, i learned a lot from studying this!

looks like there would be two options to get lilypond to report pitch info:

\void \displayLilyMusic   % types absolute pitches to console
\include event-listener.ly  % writes file w/midi numbers

but your example inspired me to figure it out in scheme, see attached.  i
would think auto-fingering-diagrams would be of general interest -- is it
worth submitting either to the snippet library or the core scm library?
some questions:
- how could i pass an argument to the engraver (like 'recorder, to tell it
what diagrams to use)?
- i can't find doc on make-engraver -- are there any?
- this method ignored the layout overrides i need (that worked on manually
entered markups):
  TextScript.staff-padding
  TextScript.self-alignment-X
  how do i get them back?
- i like your 'display-fingering property, but i removed it for simplicity
while trying to learn, i'll add it back...

i also found
http://www.lilypond.org/doc/v2.17/Documentation/learning/advanced-tweaks-with-scheme,
which seems like it should also work and is simpler than defining a new
engraver.  however, i can't figure out how to find the right
object/property to give a note/column a markup.  NoteHead.text doesn't do
anything.  where do i look this up?

ancillary layout q's:
- getting the diagrams to line up looks impossible -- staff-padding isn't
general enough -- woodwind diagrams are tall, of variable height, and their
reference point is typically at their bottom.  can staff-padding be
sensitive to variable heights and appropriate for either above/below the
staff?  also, there seems to be no way to account for staff objects that
extend beyond the anticipated amount.  why not be able to assign objects to
arbitrary groupings, and then apply justification/alignment rules to those
groups?  this could lead to contradictory constraints, but that could just
be an error.

- it took me a while to realize i had to set TextScript.staff-padding, not
some other object like DynamicLineSpanner (which
http://www.lilypond.org/doc/v2.17/Documentation/learning/fixing-overlapping-notation#the-staff_002dpadding-property
suggests works even for non-spanning objects
) -- where are objects/properties comprehensively listed?

- why can't i \context {\Score staff-padding = #5}?

- self-alignment-X is behaving strangely -- on the first line, the diagrams
align to the left note in a chord, but to the right note on subsequent
lines.  why?

- i can't find anything along the lines
of VerticalAxisGroup.nonstaff-unrelatedstaff-spacing that will give me
additional spacing between lines, and the diagrams are crowding the next
line.  where do i look this up?

- and of course, if anyone can help me figure out why that 1h
('half-covered') works for eg flute, but not on my recorder thumb :(

thanks alot for the help!
-e


recorder fingering.ly
Description: Binary data
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


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 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


recorder diagram and some woodwind-diagram bugs

2014-10-11 Thread erik flister
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).

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
;;; Recorder assembly instructions

(define make-hidden-key-addresses (make-key-symbols 'hidden))

(define recorder-change-points
  ((make-named-spreadsheet '(recorder)) '()))

(define (remove-last x) (reverse (cdr (reverse x

(define recorder-rh-B-key-stencil (variable-column-circle-stencil 0.55))
(define recorder-rh-L-key-stencil (variable-column-circle-stencil 0.35))

(define (generate-recorder-family-entry recorder-name)
  (let*
  ((change-points
(get-named-spreadsheet-column recorder-name recorder-change-points)))
`(,recorder-name
  . ((keys
  . ((hidden
  . ((midline
  . ((offset . (0.0 . 0.0))
 (stencil . ,midline-stencil)
 (text? . #f)
 (complexity . basic)))
 (r3
  . ((offset . (0.0 . 1.0))
 (stencil . ,column-circle-stencil)
 (text? . #f)
 (complexity . basic)))
 (r4
  . ((offset . (0.0 . 0.0))
 (stencil . ,column-circle-stencil)
 (text? . #f)
 (complexity . basic)
 (central-column
  . ((one
  . ((offset . ,(assoc-get 'one CENTRAL-COLUMN-HOLE-PLACEMENTS))
 (stencil . ,column-circle-stencil)
 (text? . #f)
 (complexity . trill)))
 (two
  . ((offset . ,(assoc-get 'two CENTRAL-COLUMN-HOLE-PLACEMENTS))
 (stencil . ,column-circle-stencil)
 (text? . #f)
 (complexity . trill)))
 (three
  . ((offset . ,(assoc-get 'three CENTRAL-COLUMN-HOLE-PLACEMENTS))
 (stencil . ,column-circle-stencil)
 (text? . #f)
 (complexity . trill)))
 (four
  . ((offset . ,(assoc-get 'four CENTRAL-COLUMN-HOLE-PLACEMENTS))
 (stencil . ,column-circle-stencil)
 (text

Re: lilypond-user Digest, Vol 135, Issue 60

2014-02-14 Thread Erik Linde
Hey David,

-danti-alias-factor looks great - thanks for the suggestion - but I believe
it won't work for (extremely) large, transparent images...  Unless
Ghostscript is called with the option -dMaxBitmap=2147483647 (or similar)
from within LilyPond. The reason is that without that option set,
Ghostscript will revert to the png16m device (rather than the pngalpha
device) for extremely large images, presumably because of memory reasons...
and with png16m instead of pngalpha I will loose the transparency, which I
don't want to...

If Ghostscript was run with this dMaxBitmap option automatically, then I
think it would work, or if I was able to specify this option somehow during
lilypond runtime? Is that possible?

Cheers,

Erik

PS: Pasting the previous discussion regarding GS / pngalpha / png16m for
reference.



Regarding how to create large, transparent scores:

When the images you output are reasonably small, 'lilypond... --png ...
-dpixmap-format=pngalpha ' successfully generates the transparent
images. Once the images surpass a certain size however, transparency seems
to fail, and the .png images come out with a white background.

If you run the following lilypond command: 'lilypond --png -dresolution=100
-dpixmap-format=pngalpha --ps --verbose x.ly'

and look at the bottom of the log, you can see the actual Ghostscript
command called by Lilypond used to create the .png. It is going to look
something like this:

gs  -dDEVICEWIDTHPOINTS=37533.99 -dDEVICEHEIGHTPOINTS=2160.00
-dGraphicsAlphaBits=4 -dTextAlphaBits=4 -dNOPAUSE -sDEVICE=pngalpha
-sOutputFile=./x.png -r100 x.ps -c quit

As you can see it is correctly using the device 'pngalpha' in order to
generate the transparent image. The problem seems to be that - upon
inspecting the logs - Ghostscript reverts to the device png16m instead,
which is unable to generate a transparent image.

The way to fix this is to tweak the memory usage options for Ghostscript,
specifically by adding the option '-dMaxBitmap=2147483647' to the
Ghostscript command, as in the following snippet:

gs  -dDEVICEWIDTHPOINTS=37533.99 -dDEVICEHEIGHTPOINTS=2160.00 -dMaxBitmap=
2147483647 -dGraphicsAlphaBits=4 -dTextAlphaBits=4 -dNOPAUSE
-sDEVICE=pngalpha -sOutputFile=./x.png -r100 x.ps -c quit

This allocates more memory to Ghostscript and makes it correctly use the
pngalpha device, and thus correctly output a transparent image. If you have
a 64 bit machine perhaps you can extend it further. It should also be
possible to rebuild lilypond from source and compile it with this option
baked in, but I haven't tried that

Perhaps this information helps someone trying to create large, transparent
images in LilyPond!

On Fri, Feb 14, 2014 at 1:38 AM, David Kastrup d...@gnu.org wrote:

 Erik Linde erik.li...@gmail.com writes:

  Hey Chris / David,
 
  Adding the --png option when you run your lilypond command works fine (as
  David stated)... Also, you may want to set the -dresolution parameter to
  something high like 300 (DPI) to get a good resolution. Or even set it to
  600, and then shrink it to 300DPI using some image processing software
 such
  as Photoshop or ImageMagick / GraphicMagick to achieve an even better
  anti-aliasing effect.

 Why would you do that manually rather than using the
 -danti-alias-factor=2 option?

 --
 David Kastrup

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


Re: lilypond-user Digest, Vol 135, Issue 60

2014-02-13 Thread Erik Linde
Hey Chris / David,

Adding the --png option when you run your lilypond command works fine (as
David stated)... Also, you may want to set the -dresolution parameter to
something high like 300 (DPI) to get a good resolution. Or even set it to
600, and then shrink it to 300DPI using some image processing software such
as Photoshop or ImageMagick / GraphicMagick to achieve an even better
anti-aliasing effect.

Cheers,

Erik

PS: I am adding some additional information below for anyone who has
attempted to create large *transparent* images using Lilypond but failed.
It took me a while to get the transparency to work as it seems to fail for
large images.



Regarding how to create large, transparent scores:

When the images you output are reasonably small, 'lilypond... --png ...
-dpixmap-format=pngalpha ' successfully generates the transparent
images. Once the images surpass a certain size however, transparency seems
to fail, and the .png images come out with a white background.

If you run the following lilypond command: 'lilypond --png -dresolution=100
-dpixmap-format=pngalpha --ps --verbose x.ly'

and look at the bottom of the log, you can see the actual Ghostscript
command called by Lilypond used to create the .png. It is going to look
something like this:

gs  -dDEVICEWIDTHPOINTS=37533.99 -dDEVICEHEIGHTPOINTS=2160.00
-dGraphicsAlphaBits=4 -dTextAlphaBits=4 -dNOPAUSE -sDEVICE=pngalpha
-sOutputFile=./x.png -r100 x.ps -c quit

As you can see it is correctly using the device 'pngalpha' in order to
generate the transparent image. The problem seems to be that - upon
inspecting the logs - Ghostscript reverts to the device png16m instead,
which is unable to generate a transparent image.

The way to fix this is to tweak the memory usage options for Ghostscript,
specifically by adding the option '-dMaxBitmap=2147483647' to the
Ghostscript command, as in the following snippet:

gs  -dDEVICEWIDTHPOINTS=37533.99 -dDEVICEHEIGHTPOINTS=2160.00
-dMaxBitmap=2147483647 -dGraphicsAlphaBits=4 -dTextAlphaBits=4 -dNOPAUSE
-sDEVICE=pngalpha -sOutputFile=./x.png -r100 x.ps -c quit

This allocates more memory to Ghostscript and makes it correctly use the
pngalpha device, and thus correctly output a transparent image. If you have
a 64 bit machine perhaps you can extend it further. It should also be
possible to rebuild lilypond from source and compile it with this option
baked in, but I haven't tried that

Perhaps this information helps someone trying to create large, transparent
images in LilyPond!

On Thu, Feb 13, 2014 at 8:20 AM, lilypond-user-requ...@gnu.org wrote:

 Send lilypond-user mailing list submissions to
 lilypond-user@gnu.org

 To subscribe or unsubscribe via the World Wide Web, visit
 https://lists.gnu.org/mailman/listinfo/lilypond-user
 or, via email, send a message with subject or body 'help' to
 lilypond-user-requ...@gnu.org

 You can reach the person managing the list at
 lilypond-user-ow...@gnu.org

 When replying, please edit your Subject line so it is more specific
 than Re: Contents of lilypond-user digest...


 Today's Topics:

1. Re:Ottava (Brian Barker)
2. Re:Horizontalized scores (David Kastrup)
3. Re:Ottava (Noeck)
4. Re:Ottava (Noeck)
5. Lilypond for blind musicians (Claudio Garanzini)
6. Re:frescobaldi macports broken after update (Davide Liessi)
7. Re:Lilypond for blind musicians (Pierre Perol-Schneider)


 --

 Message: 1
 Date: Thu, 13 Feb 2014 06:57:25 +
 From: Brian Barker b.m.bar...@btinternet.com
 To: lilypond-user@gnu.org
 Subject: Re: Ottava
 Message-ID: 52f0e4380091e...@smtpout06.bt.lon5.cpcloud.co.uk (added
 by  postmas...@btinternet.com)
 Content-Type: text/plain; charset=us-ascii; format=flowed

 At 20:19 12/02/2014 +0100, Noeck Joram Marburg wrote:
 what is the recommended/default formatting for ottava marks/brackets
 (8va)?
 In bold or not bold? And with dashed lines or dotted or others?
 What does E. Gould say ...

 Page 28:
 The octave sign is written in italic, the numeral '8' is 1 1/2
 stave-paces high.  The optional 'va' is placed flush with the top of
 _ottava sopra_ (_8^va_), flush with the base of _ottava bassa_ (_8va_).
 
 Indicate the extent of the transposition with a line of dashes
 (hereafter called a dotted line).  The line extends from the top
 edge of the _8_ for _8 sopra_ and the base of the _8_ for _8 bassa_,
 and runs parallel to the stave.

 And those 8s look bold to me.

 Brian Barker




 --

 Message: 2
 Date: Thu, 13 Feb 2014 07:07:18 +0100
 From: David Kastrup d...@gnu.org
 To: Chris Crossen elaparic...@gmail.com
 Cc: lilypond-user@gnu.org lilypond-user@gnu.org
 Subject: Re: Horizontalized scores
 Message-ID: 87ha838s15@fencepost.gnu.org
 Content-Type: text/plain

 Chris Crossen elaparic...@gmail.com writes:

  I am also generating single, continuous line scores

Re: Horizontalized scores

2014-02-09 Thread Erik Linde
Hello Jay,

Thanks for the tip, I tried it and it works wonders! Truly excellent, will
save me enormous amounts of time :)

Lunch on me if you come to NYC!

Best,

Erik

On Fri, Feb 7, 2014 at 6:36 PM, Jay Anderson horndud...@gmail.com wrote:

 On Fri, Feb 7, 2014 at 11:24 AM, Erik Linde e...@notezilla.io wrote:
  Typically the way we have been generating the images of the sheet music
 that
  we use on the website, is by setting some of the layout attributes to
 really
  large values, for example:
 
  ragged-last = ##t
  paper-width = 2400.0\cm
  paper-height = 50.0\cm
 
  or perhaps
 
  #(set! paper-alist (cons '(my size . (cons (* 2000 in) (* 50 in)))
  paper-alist))
  #(set-default-paper-size my size)
 
  And then generating a pdf, which we then convert to images.
 
  This works very well when generating a simple piece, such as a piano
 piece,
  but whenever there are multiple instruments, and when the piece is very
  long, such as is the case for most symphonies (which happen to be the
 most
  popular pieces on Notezilla), the time required to typeset a file seems
 to
  increase exponentially with the complexity of the music.
 
  For a symphony, it could easily go from a few minutes, when using a
 default
  layout, such as A4 or letter, to upwards of 10 hours, when using a custom
  paper format that is extremely wide, for example a 500cm or 1000cm in
 width.
  Please feel free to use this link to download the example that
 illustrates
  this - Beethoven's 3rd Symphony Mvt. 1. If I try running lilypond
  ScoreMvtI.ly in this example in a default layout, it takes maybe 10-15
  minutes or so to typeset. If I uncomment row 27 and 28 (which is where I
  specify the *huge* paper size), it takes maybe 10 hours...
 
  I am wondering if someone on this mailing list knows of any work-arounds
 or
  tricks that I could employ here to shorten the this time? The only
  requirements for us is that, in the end, that we get one long horizontal
  score, where the vertical spacing between the staffs is identical
 throughout
  the piece. Whatever method we can use to get there would be great to hear
  about! Maybe one way could be to split up the score into just 3-4 rows
  instead, and then merge these in Photoshop - my concern with that method
  would be that the vertical distances between staffs would probably not be
  identical, which would mean that the horizontal score simply would not
  work...

 Try this:

 \paper {
   page-breaking = #ly:one-line-breaking
 }

 This should make the compilation much quicker. Also \override
 Score.NonMusicalPaperColumn #'line-break-permission = ##f may be
 useful.

 -Jay

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


Re: Horizontalized scores

2014-02-09 Thread Erik Linde
Thanks Janek!

Jay's suggestion worked great. I've been talking with Adam as well and will
dig into the ly2video project when I get a chance - could definitely be a
lot of overlap with Notezilla!

All the best,

Erik


On Sat, Feb 8, 2014 at 4:36 PM, Janek Warchoł janek.lilyp...@gmail.comwrote:

 Hello,

 2014-02-07 19:24 GMT+01:00 Erik Linde e...@notezilla.io:
  Hi,
 
  I am the creator of Notezilla, a popular (and fairly new) web application
  that allows users to both listen to classical music, as well as see a
  scrolling representation of the score that has been synced exactly to the
  recording.

 this looks very nice!  I haven't heard about it before.

 I hope that Jay's suggestion worked for you.  Btw, you may find this
 project interesting: https://github.com/aspiers/ly2video

 best,
 Janek

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


Horizontalized scores

2014-02-07 Thread Erik Linde
Hi,

I am the creator of Notezilla http://www.notezilla.io, a popular (and
fairly new) web application that allows users to both listen to classical
music, as well as see a scrolling representation of the score that has been
synced exactly to the recording.

A big thing for us is being able to generate horizontal scores, ie scores
where there are no line breaks or page breaks. This allows us and our users
to enjoy a very constant visual flow of the music without skipping around
too much. LilyPond is an integral component for us when it comes to
generating these scores, as it is very important to us that the music looks
and feels like real sheet music - this is one of the primary reasons for
why we love LilyPond.

Typically the way we have been generating the images of the sheet music
that we use on the website, is by setting some of the layout attributes to
really large values, for example:

ragged-last = ##t
paper-width = 2400.0\cm
paper-height = 50.0\cm

or perhaps

#(set! paper-alist (cons '(my size . (cons (* 2000 in) (* 50 in)))
paper-alist))
#(set-default-paper-size my size)

And then generating a pdf, which we then convert to images.

This works very well when generating a simple piece, such as a piano piece,
but whenever there are multiple instruments, and when the piece is very
long, such as is the case for most symphonies (which happen to be the most
popular pieces on Notezilla), the time required to typeset a file seems to
increase exponentially with the complexity of the music.

For a symphony, it could easily go from a few minutes, when using a default
layout, such as A4 or letter, to upwards of 10 hours, when using a custom
paper format that is extremely wide, for example a 500cm or 1000cm in
width. Please feel free to use this
linkhttps://s3.amazonaws.com/notezilla/other/Horizontal+Score+Beethoven+3-1+example.zip
to
download the example that illustrates this - Beethoven's 3rd Symphony Mvt.
1. If I try running lilypond ScoreMvtI.ly in this example in a default
layout, it takes maybe 10-15 minutes or so to typeset. If I uncomment row
27 and 28 (which is where I specify the *huge* paper size), it takes maybe
10 hours...

I am wondering if someone on this mailing list knows of any work-arounds or
tricks that I could employ here to shorten the this time? The only
requirements for us is that, in the end, that we get one long horizontal
score, where the vertical spacing between the staffs is identical
throughout the piece. Whatever method we can use to get there would be
great to hear about! Maybe one way could be to split up the score into just
3-4 rows instead, and then merge these in Photoshop - my concern with that
method would be that the vertical distances between staffs would probably
not be identical, which would mean that the horizontal score simply would
not work...

I look forward to hearing your thoughts! Thank you very much for all the
work that has gone into LilyPond!

Best regards,

Erik Linde
-
Using a Mac Book Pro with 16GB RAM, 2.3GHz i7, Max OS X 10.9.1 + and
LilyPond 2.18.0-1
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Creating a 1-channel MIDI file?

2010-09-07 Thread Erik
When I use lilypond to create a MIDI file, it seems to create a 2-channel file. 
Am I understanding this correctly? Can I get a 1-channel file?
Any help would be greatly appreciate,
Erik



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


quit

2009-11-10 Thread Erik Appeldoorn
I've been around for a short while only. A month with lilypond and 3 weeks
on the list. Made a couple of scores, quite complex ones. But for each and
every one I had to fiddle for hours and hours trying to grab all the
details. All the while I had Sibelius at the ready and whenever I did
fallback finished the score in record time. This is not going to continue I
thought. I'd rather have a score that looks 85% than no score at all. So for
now it's quits with Lilypond. Perhaps I'll be back, I just don't know. All
that helped, many thanks. I have now disabled the posts from the list, any
reply have to be personal.

 

Hou je goed / Keep well,

 

Erik

 

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


RE: quit

2009-11-10 Thread Erik Appeldoorn
As several users have responded asking for feedback why I stopped with
lilypond (or criticism). Here's my 2cents worth.

During the last four weeks I have been restoring a piece. It has come to me
in several different parts. Handwriting, several voices just as extraction
parts. The publisher asked for goodlooking, editable scores. Which seemed
like a good point to start with lilypond. I started with the simplest piece,
a voice with organ. Laying it all out wasn't the problem. I am familiar with
programming, and familiar with other markup languages. From day one I ran
into trouble with notating what was asked. I have found the list very
friendly and very helpful. In the end all my questions were answered, and
all notating puzzles solved. But the fact I had to use several of these
solutions (or work arounds) in one score (or even in one bar) made inputting
very tedious. The last piece I did was a short piece of 25 bars, four
voices. Took me two days to complete. And although I can see that the speed
will get greater, at this point I'm only frustrated. I created all 10
movements in Sibelius, took me about 5 evenings. I have created the 4
smallest of them with lilypond, took me 20 evenings. So I take all the
blame. I'm just to slow. On the practical side the work just could not wait.

On the plus I found, good looking scores, very flexible
On the minus I found, very tedious, time-consuming and heavily relying on
work-arounds.

Hope this will give some inside. I won't say I'll never try again, but not
just now.

Hou je goed / Keep well,
 
Erik


 -Original Message-
 From: Patrick McCarty [mailto:pnor...@gmail.com]
 Sent: woensdag 11 november 2009 0:39
 To: Erik Appeldoorn
 Cc: lilypond-user@gnu.org
 Subject: Re: quit
 
 On Tue, Nov 10, 2009 at 11:36 AM, Erik Appeldoorn ursus.k...@ziggo.nl
 wrote:
  I've been around for a short while only. A month with lilypond and 3
 weeks
  on the list. Made a couple of scores, quite complex ones. But for each
 and
  every one I had to fiddle for hours and hours trying to grab all the
  details. All the while I had Sibelius at the ready and whenever I did
  fallback finished the score in record time. This is not going to
 continue I
  thought. I'd rather have a score that looks 85% than no score at all. So
 for
  now it's quits with Lilypond. Perhaps I'll be back, I just don't know.
 All
  that helped, many thanks. I have now disabled the posts from the list,
 any
  reply have to be personal.
 
 While it's interesting that you have stopped using LilyPond, I wish
 you would have posted some constructive feedback or criticism.
 
 Do you have suggestions to improve the documentation or the program
 itself?
 
 Thanks,
 Patrick



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


RE: slurs and ties

2009-11-07 Thread Erik Appeldoorn
Thanks Nick,

Interesting to see how your solution differs from the one Kieren and Carl
offered. More than one way to reach the goal. Nice.

Erik

 -Original Message-
 From: Nick Payne [mailto:nick.pa...@internode.on.net]
 Sent: zaterdag 7 november 2009 13:27
 To: Erik Appeldoorn
 Cc: lilypond-user@gnu.org
 Subject: Re: slurs and ties
 
 Erik Appeldoorn wrote:
 
  Attached a jpg snipped of score parts I want to reproduce with
  lilypond. (Took me 30 secs to make using Sibelius)
 
  But after a day of trying I can't figure it out.
 
  I have looked into the LSR and tried to adapt the following snippet
  without any success.
 
 
 Here's my solution (took about 15 minutes)
 
 %==
 \version 2.13.7
 
 \relative c' {
 \time 3/4
 \key d \major
 \mergeDifferentlyHeadedOn
  {
 
 s4 d8 fis a d |
 R1*3/4 |
 d a8 fis, a d fis e |
 } \\ {
 d a4 d, ~ d |
 s2. |
 fis8 fis fis4 ~ fis |
 } \\ { \tieDown
 \override NoteColumn #'ignore-collision = ##t
 s4. \once \override Stem #'flag-style = #'no-flag fis8 ~ \stemDown fis4 |
 s2. |
 s4 ]\stemUp a ~ \stemDown a |
 } 
 }
 %==
 
 Nick



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


RE: slurs and ties

2009-11-07 Thread Erik Appeldoorn
Kieren,

Trying to understand. As I see it you create the two voices as if nothing
special was needed. Then create a third voice, with identical notes as the
second voice. These remain hidden, but the ties are visible.

Am I correct?

Erik

 -Original Message-
 From: Kieren MacMillan [mailto:kieren_macmil...@sympatico.ca]
 Sent: zaterdag 7 november 2009 1:31
 To: Erik Appeldoorn
 Cc: lilypond user group; Carl Sorensen
 Subject: Re: slurs and ties
 
 Hi Erik,
 
  I WANT TO CREATE NICE SCORES!!!
 
 Well, aren't you glad you're learning Lilypond, then!?  ;)
 
 Here's a final version:
 
 \version 2.13.7
 \include english.ly
 
 tieVoice = {
\shiftOff
\override Voice.NoteColumn #'ignore-collision = ##t
\set tieWaitForNote = ##t
\hideNotes
 }
 




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


RE: slurs and ties

2009-11-07 Thread Erik Appeldoorn
David,

If the composer has written them it is not to me to leave them out. Sensical
or not-so-sensical.

As I'm restoring an old manuscript I feel I'm bound to what I find. It is
difficult enough to recreate the score with only parts in different
handwriting available.

But I have to agree on the tricky part. All the extra's I need to recreate
the score makes my scores unyealding and time-consuming to create.

Erik

 
 Now there is something to be said against tieing into a different voice
 like that musically: it messes up the audible voice situation.  Unless
 dictated by the instrument (and then there is little necessity to write
 the tie explicitly), it is cleaner to articulate the note separately.
 




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


Tie doesn't tie

2009-11-07 Thread Erik Appeldoorn
Why doesn't the first bar tie to the second?

 

mus = \relative c {

 \autoBeamOff

 \key d \major

 \time 3/4

 \clef bass

 

 { d a' d2 d, d'4~ } \\ { d2 }  |

d d'2. |

}

 

\score { 

 \mus

}

 

Hou je goed / Keep well,

 

Erik

 

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


fermata on final barline

2009-11-04 Thread Erik Appeldoorn
It seems logical that someone has figured out how to create a \fermata on
the final barline \bar |.

 

Hou je goed / Keep well,

 

Erik

 

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


RE: fermata on final barline

2009-11-04 Thread Erik Appeldoorn
Still have to learn to remember this exists (And then learn how to use it)
This is a good reason for a further look what the LSR has to offer. 

Thanks, Erik


 -Original Message-
 From: lilypond-user-bounces+ursus.kirk=ziggo...@gnu.org [mailto:lilypond-
 user-bounces+ursus.kirk=ziggo...@gnu.org] On Behalf Of Reinhold Kainhofer
 Sent: woensdag 4 november 2009 9:56
 To: lilypond-user@gnu.org
 Subject: Re: fermata on final barline
 
 Am Mittwoch, 4. November 2009 09:40:52 schrieb Erik Appeldoorn:
  It seems logical that someone has figured out how to create a \fermata
 on
  the final barline \bar |.
 
 The LSR is your friend: http://lsr.dsi.unimi.it/
 
 In particular: http://lsr.dsi.unimi.it/LSR/Item?id=1
 To see the lilypond code for the snippet, simply click on the image.
 
 Cheers,
 Reinhold
 --
 --
 Reinhold Kainhofer, reinh...@kainhofer.com, http://reinhold.kainhofer.com/
  * Financial  Actuarial Math., Vienna Univ. of Technology, Austria
  * http://www.fam.tuwien.ac.at/, DVR: 0005886
  * LilyPond, Music typesetting, http://www.lilypond.org
 
 
 ___
 lilypond-user mailing list
 lilypond-user@gnu.org
 http://lists.gnu.org/mailman/listinfo/lilypond-user



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


error

2009-11-03 Thread Erik Appeldoorn
Did I understand correctly that hairpins and (de)crescendo's automatically
end on a volume specifier?

Like c\ d e f g\f, where the crescendo ends on (or just before) the g with
the forte. I shouldn't have to end them with an \!

I get errors: (de)crescendo on items with specified volume.

The files nor the specific place are mentioned (as they are on other errors)

 

Hou je goed / Keep well,

 

Erik

 

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


RE: textspan

2009-11-03 Thread Erik Appeldoorn
Thanks Frédérick,

As I said: I must have been blind (Or just plain stubborn)
Either way, problem corrected now. Thanks for pointing it out.

Erik

 -Original Message-
 From: Frédéric Bron [mailto:frederic.b...@m4x.org]
 Sent: maandag 2 november 2009 19:36
 To: Erik Appeldoorn
 Cc: Kieren MacMillan; lilypond-user@gnu.org
 Subject: Re: textspan
 
  I still must be blind, but haven't got the solution to work.
 
 You did not look in detail at my proposition: replace s
 s2\stopTextSpan by s2 s8 s8\stopTextSpan
 
 Frédéric



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


RE: error

2009-11-03 Thread Erik Appeldoorn
Thanks Reinhold,

As I wanted the hairpins and the forte afterwards for me the output is not
erroneous. Indeed the error-wording does suggest a music-coding error where
in fact there might be none.

I'm not into changing source code, someone else will have to figure that one
out.

Keep well, Erik

 -Original Message-
 From: lilypond-user-bounces+ursus.kirk=ziggo...@gnu.org [mailto:lilypond-
 user-bounces+ursus.kirk=ziggo...@gnu.org] On Behalf Of Reinhold Kainhofer
 Sent: woensdag 4 november 2009 1:06
 To: lilypond-user@gnu.org
 Subject: Re: error
 
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 Am Dienstag, 3. November 2009 21:33:51 schrieb Erik Appeldoorn:
  Did I understand correctly that hairpins and (de)crescendo's
 automatically
  end on a volume specifier?
 
  Like c\ d e f g\f, where the crescendo ends on (or just before) the g
 with
  the forte. I shouldn't have to end them with an \!
 
  I get errors: (de)crescendo on items with specified volume.
 
 This has nothing to do with the implicit \!
 The problem appears when the volume before and after a (de)crescendo is
 the
 same (typically because of an implicit decrescendo, which is not notated),
 so
 lilypond does not know how to handle the crescendo.
 
 I'm able to reproduce that warning with the following code:
 
 \version 2.13.7
 \score {
  \new Staff \relative c'{
c\f d e f
c\ d e f\!\f
   }
   \midi {}
 }
 
 Note that the volume is already \f, and then another crescendo starts and
 ends
 with \f, too. Typically, some parts after the first \f would be played a
 little less forte, so the crescendo makes sense.
 
 Granted, that warning message has extremly  bad wording, and it does not
 tell
 you at all where in the problem is! I have not checked, whether the
 location
 can be included in the warning, which would be quite an improvement.
 
 AFAICS, that warning is triggered in the function
 Audio_span_dynamic::render(), so it happens after parsing. And the code is
 structured so that all superfluous dynamics are discarded. The message is
 then
 printed if no dynamics changes are left for the crescendo. First, I have
 no
 idea if it is even possible to get the position in the code at that time,
 even
 if the dynamic object is still available... And second, one would have to
 restructure the code a little bit to keep the discarded dynamics around,
 from
 which one might possibly get the position in the code.
 
 Cheers,
 Reinhold
 - --
 - --
 Reinhold Kainhofer, reinh...@kainhofer.com, http://reinhold.kainhofer.com/
  * Financial  Actuarial Math., Vienna Univ. of Technology, Austria
  * http://www.fam.tuwien.ac.at/, DVR: 0005886
  * LilyPond, Music typesetting, http://www.lilypond.org
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v1.4.9 (GNU/Linux)
 
 iD8DBQFK8MVmTqjEwhXvPN0RAnjTAJ4u/V1XS6WgnOoQ3ikXTEBh9Qm28QCggqv7
 VqFsIYTD7xf8YJs3wqz/+Vs=
 =1ug6
 -END PGP SIGNATURE-
 
 
 ___
 lilypond-user mailing list
 lilypond-user@gnu.org
 http://lists.gnu.org/mailman/listinfo/lilypond-user



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


RE: error

2009-11-03 Thread Erik Appeldoorn
Francisco,

Reinhold has explained this behaviour in the group..

Keep well, Erik

 -Original Message-
 From: Francisco Vila [mailto:paconet@gmail.com]
 Sent: woensdag 4 november 2009 0:19
 To: Erik Appeldoorn
 Cc: lilypond-user@gnu.org
 Subject: Re: error
 
 2009/11/3 Erik Appeldoorn ursus.k...@ziggo.nl:
  Did I understand correctly that hairpins and (de)crescendo's
 automatically
  end on a volume specifier?
 
  Like c\ d e f g\f, where the crescendo ends on (or just before) the g
 with
  the forte. I shouldn't have to end them with an \!
 
  I get errors: (de)crescendo on items with specified volume.
 
 What version are you using? I can not reproduce it on 2.13.7; it
 compiles without errors or warnings and gives the expected output.
 --
 Francisco Vila. Badajoz (Spain)
 www.paconet.org
 www.csmbadajoz.com



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


RE: textspan

2009-11-02 Thread Erik Appeldoorn
I still must be blind, but haven't got the solution to work.
I have tried:

 { d2 d4 | cis a2} \new Voice { \tsRal s2.\startTextSpan s4 | s
s2\stopTextSpan }  |

and tried:

{ d2 d4 | cis a2} \new Voice { \tsRal s2.\startTextSpan s4 | s
s2\stopTextSpan } | 

Then I tried:

 { \tsRal s2.\startTextSpan s4 | s s2\stopTextSpan } \\
{ d2 d4 | cis a2} 

And nothing seems to work. So I think it must be me, misunderstanding
something

Erik


 -Original Message-
 From: Kieren MacMillan [mailto:kieren_macmil...@sympatico.ca]
 Sent: zondag 1 november 2009 13:16
 To: Frédéric Bron
 Cc: Erik Appeldoorn; lilypond-user@gnu.org
 Subject: Re: textspan
 
 Hi Frédéric,
 
  It is funny. I was quite sure to have the solution but I do not
  understand why what I propose does not work: you have to separate
  notes and TextSpan in parallel music expressions.
  Can somebody tell why this does not work?
 
 Because your construct doesn't have two Voice constructs, only two
 expressions in the same Voice.
 
 Instead, try
 
 tsRal = \override TextSpanner #'(bound-details left text) = Ral.
 
 \new Score 
\new Staff \relative c' { \time 3/4
   { d2 d4 | cis a2 } \new Voice { \tsRal s2.\startTextSpan s2
 s8 s8\stopTextSpan } 
}
\new Staff \relative c' { \time 3/4
   { \repeat unfold 12 d8 } \new Voice { \tsRal s2.
 \startTextSpan s2 s8 s8\stopTextSpan } 
}
  
 
 Hope this helps!
 Kieren.=



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


textspan

2009-11-01 Thread Erik Appeldoorn
I have defined the following

\override TextSpanner #'(bound-details left text) = Ral.

 

Within a \time 3/4 I have the following notes:

d2\startTextSpan d4 | cis a2\stopTextSpan |

 

The Ral. now stops directly above the a2. Other voices above it have more
notes there, so the Ral. stops far more to the right within the same bar.

 I want the Ral. to align right up to the last notes of the voices above for
this voice only. So all Rals stop at the same vertical.

 

Hou je goed / Keep well,

 

Erik

 

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


escaped string

2009-10-31 Thread Erik Appeldoorn
Why do I get ëscaped string” error here. The compiled result looks ok to me

 

\layout {

 \context {

  \Staff

   \override VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 3)

   \fontSize = #-2

  }

 }

 

Hou je goed / Keep well,

 

Erik

 

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


RE: escaped string

2009-10-31 Thread Erik Appeldoorn
According to the manual:

3.3.4 Modifying context properties

fontSize Real Increase or decrease the font size

 

and further:

 

% make note heads smaller

\set fontSize = #-4

 

I did forget to type the \set but the result is still the same…

 

Erik

 

 

  _  

From: James E. Bailey [mailto:derhindem...@googlemail.com] 
Sent: zondag 1 november 2009 0:28
To: Erik Appeldoorn
Cc: lilypond-user@gnu.org
Subject: Re: escaped string

 

If I remember correctly, \fontSize is not a known LilyPond string.

 

On 01.11.2009, at 00:20, Erik Appeldoorn wrote:





Why do I get ëscaped string” error here. The compiled result looks ok to me

 

\layout {

 \context {

  \Staff

   \override VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 3)

   \fontSize = #-2

  }

 }

 

Hou je goed / Keep well,

 

Erik

 

___

lilypond-user mailing list

lilypond-user@gnu.org

http://lists.gnu.org/mailman/listinfo/lilypond-user

 

James E. Bailey

 

 

 

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


bracket and staff names

2009-10-30 Thread Erik Appeldoorn
I have a snipped of code that doesn't quite come out is expected / wanted.
The score is a choir SATB with organ (two staffs)

 

I would like the normal bracket to be in front of the SATB staffs. It now
extends to the last staf.

 

2nd I'm missing the names of the voices before the staves although I use the
\set Staff.instrumentName.

 

Any other hints also very welcome.

 

 

\score {

\new ChoirStaff

 

{

\new Staff = Sopraan \sop

\set Staff.instrumentName = #Sopraan

}

{

\new Staff = Alt \alt

\set Staff.instrumentName = #Alt

}

{

\new Staff = Tenor \ten

\set Staff.instrumentName = #Tenor

}

{

\new Staff = Bas \bas

\set Staff.instrumentName = #Bas

}

 

\new PianoStaff 

   \new Staff = ManualOne 

 \new Voice { \rh }

   

   \new Staff = ManualTwo 

 \new Voice { \lh }

   

 

 

}

 

Hou je goed / Keep well,

 

Erik

 

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


RE: bracket and staff names

2009-10-30 Thread Erik Appeldoorn
Mats, 

Bracket problem solved
I just miscounted the place for the closing 
It now looks slightly different and brackets are in place as I want them.
But still no names before the staffs

Thanks, Erik

 -Original Message-
 From: Mats Bengtsson [mailto:mats.bengts...@ee.kth.se]
 Sent: vrijdag 30 oktober 2009 11:00
 To: Erik Appeldoorn
 Cc: lilypond-user@gnu.org
 Subject: Re: bracket and staff names
 
 
 
 Erik Appeldoorn wrote:
 
  I have a snipped of code that doesn't quite come out is expected /
  wanted. The score is a choir SATB with organ (two staffs)
 
  I would like the normal bracket to be in front of the SATB staffs. It
  now extends to the last staf.
 
 Yes, since you include all the staves within the ChoirStaff. I think you
 rather want to follow the structure used in the Learning Manual template
 SATB + piano:
 \score{
 
 \new ChoirStaff 
 % Here comes the two staves for the SATB ...
  
 \new PianoStaff 
 % Here comes the two staves for the organ
  
  
 }
 
 I would recommend to use indentation as I did above and as is done in
 the examples in the manual, to make it easier to see the overall
 hierarchical structure of the score.
 
 /Mats




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


RE: bracket and staff names

2009-10-30 Thread Erik Appeldoorn
Eluze
Thanks for the explanation, but solving one problem creates a new one.

The names of the staves now are correct. But the lyrics belonging to the
notes are completely misplaced. Lyrics of voices now get collected all in
one go below the bass staff. 

More to learn I guess. Here is how it is looking now.


\score {

\new ChoirStaff


\new Staff = Sopraan {
\set Staff.instrumentName = #Sopraan 
\sop 
}

\new Staff = Alt {
\set Staff.instrumentName = #Alt
\alt
}

\new Staff = Tenor {
\set Staff.instrumentName = #Tenor 
\ten
}

\new Staff = Bas {
\set Staff.instrumentName = #Bas
\bas
}


\new PianoStaff 
   \new Staff = ManualOne 
 \new Voice { \rh }
   
   \new Staff = ManualTwo 
 \new Voice { \lh }
   


}

 -Original Message-
 From: lilypond-user-bounces+ursus.kirk=ziggo...@gnu.org [mailto:lilypond-
 user-bounces+ursus.kirk=ziggo...@gnu.org] On Behalf Of -Eluze
 Sent: vrijdag 30 oktober 2009 11:20
 To: lilypond-user@gnu.org
 Subject: Re: bracket and staff names
 
 
 
 Erik Appeldoorn wrote:
 
 
  2nd I'm missing the names of the voices before the staves although I use
  the
  \set Staff.instrumentName.
 
 if yout set the instrument names *before* the notes they will be
 displayed:
 
   \new Staff = Sopraan {
 \set Staff.instrumentName = #Sopraan
 \sop
   }
 
 --
 View this message in context: http://old.nabble.com/bracket-and-staff-
 names-tp26126880p26127716.html
 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com.
 
 
 
 ___
 lilypond-user mailing list
 lilypond-user@gnu.org
 http://lists.gnu.org/mailman/listinfo/lilypond-user



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


RE: bracket and staff names

2009-10-30 Thread Erik Appeldoorn
Thanks again all. I found the problem

\new Staff = Sopraan {
\set Staff.instrumentName = #Sopraan
\sop
}

Should be

\new Staff = Sopraan 
\set Staff.instrumentName = #Sopraan
\sop


And all looks well now. Probably have more questions later, but for now I am
content.

Keep well, Erik



 -Original Message-
 From: lilypond-user-bounces+ursus.kirk=ziggo...@gnu.org [mailto:lilypond-
 user-bounces+ursus.kirk=ziggo...@gnu.org] On Behalf Of Erik Appeldoorn
 Sent: vrijdag 30 oktober 2009 11:45
 To: '-Eluze'
 Cc: lilypond-user@gnu.org
 Subject: RE: bracket and staff names
 
 Eluze
 Thanks for the explanation, but solving one problem creates a new one.
 
 The names of the staves now are correct. But the lyrics belonging to the
 notes are completely misplaced. Lyrics of voices now get collected all in
 one go below the bass staff.
 
 More to learn I guess. Here is how it is looking now.
 
 
 \score {
 
 \new ChoirStaff
 
 
   \new Staff = Sopraan {
   \set Staff.instrumentName = #Sopraan
   \sop
   }
 



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


tempter

2009-10-30 Thread Erik Appeldoorn
Can I tempt anyone?

 

After learning on one voice only pieces, I have now finished my first
multi-voice / multi-file piece.

The resulting pdf looks fine but I'm open to feedback. Would anyone be
tempted to give it the once over and give that feedback?

 

Some info on the project:

For my choir I'm restoring a piece once performed in 1892.

The score has only survived in bits and pieces which I'm attempting to put
together again.

With lylipond I have started with part 4. choir SATB and organ. Choir 44
bars text and notes. Organ notes completely missing at this point.

Project has 8 files. SATB, organ RH and LH, a style file to replace the time
signature and the main file that binds it all together.

 

Hou je goed / Keep well,

 

Erik

 

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


Adding voices

2009-10-29 Thread Erik Appeldoorn
As I'm brand spanking new I'm probably going to ask a lot of dumb questions.
If so, just tell me.

 

The point is building a SATB with organ score. Everything looks fine until I
activate/add the organ part. After that the score is rubbish. Would a basic
explanation of what I've done suffice?

 

\header { left empty for now }

\global = { \autoBeamOff \key g \major }

sopMusic = \relative c' { left empty }

sopWords = \lyricmode { left empty }

 

the same for alto, tenor , bass and orgAmusic, orgBmusic

 

then I built the score

 

\score {

\new ChoirStaff 

 

\new Staff = Sop 

\set Staff.instrumentName = #Sopraan

\new Lyrics = sopranos { s1 }

\new Voice = sopranos {

 \global \sopMusic 

}

 

 

Repeat three times for rhe other voices

 

Add the lyrics:

\context Lyrics = sopranos \lyricsto sopranos \sopWords

\context Lyrics = altos \lyricsto altos \altoWords

\context Lyrics = tenors \lyricsto tenors \tenorWords

\context Lyrics = basses \lyricsto basses \bassWords

 

When I now end it and compile all looks well (Without the organ ofcourse)
but then add the following and all kind of things go awry.

Extra time signs suddenly appear out of nowhere, the score gets unbalanced

 

So here is the organ part I added.

 

\new PianoStaff 

 \new Staff = ManualOne 

 \new Voice { \orgAMusic } 

 \new Staff = ManualTwo 

 \new Voice { \orgBMusic }  

  

 

All { and   are well balanced and the score does compile without errors it
just looks a mess afterwards

 

Thanks very much for any help,

 

Keep well, Ursus

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


RE: Adding voices

2009-10-29 Thread Erik Appeldoorn
Thanks Simon and Kieren, Indeed the r1 was the culprit. I will add the |
marks from now on.

Erik

 in both these parts you had a 4-beat rest (r1) in a 3-beat bar. the
 error message about a barcheck failing was also being output.
 misplaced bars and beats will almost always cause a score to end up
 looking weird. at which point it's a good idea to read the process log
 to see what errors turn up. lily can be fairly verbose, but you can
 normally spot your errors through the log. another good practice is to
 _always_ use bar checks in your scores. where you expect a bar-line,
 put | in your score. if the beats are off at this point, lily will
 scream at you. :



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


centering rests

2009-10-29 Thread Erik Appeldoorn
When I use r1 (4/4 time) the sign gets aligned left in the bar. R1 aligns it
properly, but when I want to use r2 at the start (or R2) of the bar it looks
awfull. So how do I align these rests centered?

 

I haven't done anything fancy

 

Hou je goed / Keep well,

 

Erik

 

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


RE: centering rests

2009-10-29 Thread Erik Appeldoorn
You are quite right, and I have never even bothered to check. Although I
have a quite substantial library and am over 25 years active with music.

Erik

 -Original Message-
 From: Kieren MacMillan [mailto:kieren_macmil...@sympatico.ca]
 Sent: donderdag 29 oktober 2009 18:29
 To: Erik Appeldoorn
 Cc: lilypond-user@gnu.org
 Subject: Re: centering rests
 
 Hi Erik,
  when I want to use r2 at the start (or R2) of the bar it looks
  awfull. So how do I align these rests centered?
 
 If you mean that you want the (e.g.) half-note rest to be mid-way
 through the first half of the measure, rather than left-aligned at
 the first beat, then... you don't/shouldn't.
 
 In standard music engraving practice, the full-measure rest is the
 *only* one that is centered in its [horizontal] duration-space - all
 other rests are placed at the position where they first happen in the
 flow of time, just like their sounding-note equivalent(s).
 
 Hope this helps!
 Kieren.=



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


Re: Combine rests from two voices

2008-11-17 Thread Erik Ronström
Thank you folks!

/ Erik






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


Combine rests from two voices

2008-11-15 Thread Erik Ronström
Hi!

I am writing a single staff with two voices, using \voiceOne and \voiceTwo. Is 
it possible to have rests common to both voices to be combined into single 
voice rests?

Of course I could do like 


  \newVoice = one { \voiceOne a4 b c d }
  \newVoice = two { \voiceTwo a4 b c d }

r2 r4

  \newVoice = one { \voiceOne a4 b c d }
  \newVoice = two { \voiceTwo a4 b c d }


but it is not a very practical solution.

Regards
Erik






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


Tuplet groupings / TupletBracket Padding

2008-10-29 Thread Erik Hagström
Hi, I'm a new user of lilypond and I'm currently learning to write parts for
drums with this great program. I've run into a minor issue with some tuplet
number markings. In the example there's a triplet over 2 beats with each of the
triplets being another tuplet. Lilypond handles this beautifully, and I
managed to raise the tuplet bracket for the overlaying triplet with the
\override TupletBracket #'padding command. This makes the underlying tuplet
numbers
easier to see, but somehow lilypond chooses to raise the first sub tuplet number
too.
I've tried putting \revert TupletBracket #'padding at various places but it
doesn't seem to work. I feel like there's probably some solution to this though
- hope you can help out!

Example file at:

http://www.erikhagstrom.net/files/snippet.ly

/Erik Hagström





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


Re: Tuplet groupings / TupletBracket Padding

2008-10-29 Thread Erik Hagström
Thanks a lot Risto, that did the trick! 








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


Re: lilypond-book and searchable pdf:s

2008-01-12 Thread Erik Ronström
 if you replace --psfonts lilypond-book option with
 --pdf, you'll get a LaTeX document to be processed by pdflatex.  I
 recently changed lilypond-book doc to explain clearly both ways (via
 latex/dvips/ps2pdf or via pdflatex) and encourage new users use
 [...]

Oh! Very good! Many thanks!! Too bad I didn't find that earlier :-/

One thing though: the --pdf switch is mentioned in the example, but is
not present under command line options (section 4.4).

Best regards
Erik



  __
Sent from Yahoo! Mail - a smarter inbox http://uk.mail.yahoo.com



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


lilypond-book and searchable pdf:s

2008-01-11 Thread Erik Ronström
Hi!

This is not a question, rather I would like to just present some things
I've come across the last days. Maybe this is old knowledge to you, and
in that case, please ignore this mail. Still, I was not able to find
these my conclusions in the archives, so hopefully it may be of some
use for someone!

I'm typesetting a book with lilypond and LaTeX, using lilypond-book to
put it all together. However the text in the resulting pdf file is not
searchable or copyable by Acrobat or Preview.app. After many hours of
error checking, I found out what is causing my problems and some
workarounds.

The problem seems to be that when the fonts are encoded with T1
encoding in LaTeX, the resulting pdf does not have a correct character
mapping, and thus can not extract any text.

As several people earlier have pointed out, there are some workarounds:

1) Use the CMAP package for LaTeX
2) Use a standard postscript font, like times
3) Use the default OT1 font encoding instead of T1

The CMAP package works perfectly and magically takes care of
everything. However, it only works with pdflatex and not with dvips,
which is a problem when I'm using lilypond-book (since I can't make
pdflatex work with my generated tex files from lilypond-book, I have to
use dvips)

Using times instead of the CM fonts work - but I don't want times!

Using OT1 font encoding has two problems: a minor problem is that the
pdf renders a bit ugly on-screen in Acrobat, compared to when using T1
fonts. Worse is that the OT1 fonts only contain a basic extended ASCII
set of glyphs, which means that many non-english characters are
missing!

Conclusion:
* I can have a searchable pdf, but in that case I have to sacrifice
either the font or the encoding (meaning all non-english chars), OR
* I can have a complete, perfectly looking pdf, which is not
searchable, OR
* I can get it all if I use the cmap package for LaTeX. But then I have
to use pdflatex instead of dvips, which doesn't work with
lilypond-book!

As far as I can tell, there is no solution to this problem.

HOWEVER: Making cmap work with dvips is on the TODO for cmap. I emailed
the creator of the cmap package, and he says that he think[s] it is
possible to make it work with dvips, but it needs some hacking and
time. He continues unfortunately i currently don't have time for
this. if you can help, or know someone who is interested in this,
please let me know.

I don't have enough skills for such a task, but maybe someone on this
list has? And I want to ask the LilyPond team: can this be a candidate
for sponsoring, even though it is not really a part of lilypond itself?

Best regards
Erik Ronström



  __
Sent from Yahoo! Mail - a smarter inbox http://uk.mail.yahoo.com



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


Re: OO and MIDI support

2007-11-04 Thread Erik Sandberg
On Friday 05 October 2007, Hans Aberg wrote:
 On 5 Oct 2007, at 01:20, Graham Percival wrote:
  Midi support in lilypond is quite limited, and this is not likely
  to change in the near future.

 Might it possible to handle this by OO (object orientation)? The idea
 is that if objects can be defined (in pseudocode)
turn := default: ...
midi: ...
short: ...
quintuplet: ...
;
 And one then is able to write code like
d8^\turn[staff-short,midi-quintuplet]
 if one in this position wants the turn to not be the defaults, but
 then the staff to be written in the short form, and MIDI be written
 as a quintuplets.

 The principle is quite general. So it might be useful for handing a
 number of problems. The enhanced MIDI support would emerge as a
 byproduct of this OO support.

I don't understand all of this, but wouldn't it be possible to achieve most of 
this functionality with tags? You could just use \keepWithTag #'midi when 
creating midi, and then tag stuff with midi in the definition of \turn.

Erik


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


Re: Scheme code for extracting LilyPond header properties?

2007-11-04 Thread Erik Sandberg
On Tuesday 09 October 2007, John Zaitseff wrote:
 Dear Nicolas / LilyPonders,

 I store a field in the header, lastupdated, in the form 09-Oct-2007;
 the \parsed-date function converts that to something like 9 October,
 2007:

   % \parsed-date DATE - convert a DD-MMM- property to a fully printed
 date #(define-markup-command (parsed-date layout props date) (symbol?)
 Convert the property @var{date} containing a date in the
   form DD-MMM- into a nicely formatted stencil output D ,
   .
   (let* ((datestr (chain-assoc-get date props)))
   (interpret-markup layout props
   (if (string? datestr)
   (markup #:simple
   (strftime %e %B, %Y (car (strptime %d-%b-%Y
 datestr datestr

 (Of course, I should rewrite that to make it somewhat more robust.
 It works for me, however).

You may want to use SRFI-19 for this,
http://www.gnu.org/software/guile/manual/html_node/SRFI_002d19.html#SRFI_002d19

Erik


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


PNG output from lilypond-book using Infotex under Cygwin

2007-10-13 Thread Erik Igelström
Hello,

I'm trying to generate an html from an Infotex file with lilypond-book, under
Cygwin. After I've put the source through lilypond-book, I seem to end up with
just about everything I'm supposed to, except for the png files. It gives me eps
files, and I assume that it's supposed to convert them to png, but it seems to
skip that step without telling me anything about it. The lines below are what
happens. Any ideas?

$ lilypond-book book.texi --output lilypond --format texi-html
lilypond-book (GNU LilyPond) 2.10.33
Reading book.texi...
Dissecting...
Writing snippets...
Processing...
Running lilypond...GNU LilyPond 2.10.33
Processing `snippet-map.ly'
Parsing...
Processing `book.texi'
Parsing...
Interpreting music...
Preprocessing graphical objects...
Calculating line breaks...
Drawing systems...
Writing lily-e413b06d98-systems.tex...
Writing lily-e413b06d98-systems.texi...
Layout output to `lily-e413b06d98-1.eps'...
Layout output to `lily-e413b06d98.eps'...

Compiling book.texi...
Writing `book.texi'...
lilypond-book: warning: option --psfonts not used
lilypond-book: warning: processing with dvips will have no fonts


--
Erik Igelström
[EMAIL PROTECTED]




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


Re: SVG output sponsorship

2007-08-16 Thread Erik Sandberg
On Wednesday 15 August 2007, Eduardo Vieira wrote:
 Citando Vivian Barty-Taylor [EMAIL PROTECTED]:
 I'm using various bits of graphics in this piece
  which aren't natively supported by Lilypond. Although I could add them
  all as EPS markups, the amount of time I would spend adjusting the
  positions of them makes it a lot easier to do it this way.

 Have you ever tried importing your ps file into Scribus? You could import
 and ungroup all the objects of your score, then you can adjust, move, or
 insert whatever object you want.

Ah, now I remember, this is the way I used to do to convert ps - svg. IIRC, 
you sometimes need to do a round or two of ps2ps, eps2eps, pdf2ps, or similar 
to make scribus decode the ps correctly.

Erik


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


Re: SVG output sponsorship

2007-08-15 Thread Erik Sandberg
On Wednesday 15 August 2007, Vivian Barty-Taylor wrote:
 Thanks for that suggestion. Do you know where I can get the gnome
 backend, or do I just need to download the earlier version of Lilypond?

IIRC, it's a compile-time option which by default is off (i.e., you need to 
recompile lily manually).

 However, I think there is a more general issue here about graphical
 notation in scores. I'm using various bits of graphics in this piece
 which aren't natively supported by Lilypond. Although I could add them
 all as EPS markups, the amount of time I would spend adjusting the
 positions of them makes it a lot easier to do it this way. The SVG
 option seemed the best because I don't lose image quality by converting
 to a bitmap, and also because Inkscape is a good piece of software.

Again, if your only problem is to adjust offsets etc, then getting the gnome 
back-end to work may be a good solution for this problem too (i.e.: insert 
EPS markups without considering spacing offsets, then move them to the right 
spot using the gnome back-end). A problem here is that EPS images probably 
won't show up in the gnome back-end. IIRC, it's possible to store a bitmap 
preview in an EPS image; in this case it may be possible to hack the gnome 
back-end to extract  display the preview.

Erik


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


Re: SVG output sponsorship

2007-08-14 Thread Erik Sandberg
On Sunday 12 August 2007, Vivian Barty-Taylor wrote:
 It seems to me that having reliable (bug-free) SVG output would be a
 big plus for Lilypond. At the present  time, I have been unable to fix
 all the font problems (not sure whether this is Lilypond or Inkscape
 which is giving me trouble.) To get to where I am at I had to make a
 lot of changes by hand to the SVG file which is tedious. (Specifically,
 the italic sans-serif fonts still don't work.)

 The main advantage of the SVG output (I would suggest) is that small
 changes to positions of objects can be done in a WYSIWYG environment,
 instead of the current estimate-how-much-I-have-to-move-that-object/
 add line of code/ re-process score/ find out I haven't moved it enough/
 moved it too much/ change values of #'padding or #'extra-offset etc.
 etc. all of which is time consuming especially with big projects.

This approach has a problem: Once you change a note (say, fix a typo) and need 
to re-run lilypond, you will have to redo all tweaks again.

You may want to take a look at the experimental gnome back-end, which has 
existed for quite some time now (2.4 or 2.6, IIRC), but which for some reason 
never became popular. It offers a better solution to your problem: The score 
is displayed on the screen, and you can adjust spacing by drag-and drop, and 
save all modifications in a separate file (containing tweaks). This way you 
can still make musical corrections in the .ly file without having to redo all 
spacing tweaks (except, of course, if your musical corrections themselves 
affect spacing sufficiently to invalidate your tweaks).

Erik


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


Re: Fonts in SVG output

2007-08-11 Thread Erik Sandberg
On Sunday 08 July 2007, Benjamin Esham wrote:
 Benjamin Esham wrote:
  I'm having some issues with Lilypond 2.10.x's SVG export.

 I seem to have fixed most (all?) of my font problems.  I now have another
 problem, however.

 In order to submit one of LilyPond's SVGs to e.g. the Wikimedia Commons, it
 is necessary to convert all of its text into paths; that way, users need
 not have LilyPond's fonts in order to view the image correctly.  Before
 converting text into paths in Inkscape, you must make sure that none of the
 text is contained within a group.  Therefore, I started to process my file
 by selecting everything and issuing an Ungroup command.

 When I did so, the staff lines disappeared!  Apparently every object in the
 file is in a one-element group.  For some reason, ungrouping the staff
 lines made them disappear—they were still present, just not visible.  I
 think there may be an Inkscape bug at play here too, since Select All
 couldn't find the lines, but on the LilyPond end... how can I get Lily to
 create a sane, usable SVG file?

 Any help is greatly appreciated here.

There's another approach to the SVG output problem: You can take PDF or EPS 
output from lilypond, and try to turn it into SVG files. The postscript 
backend of lilypond is obviously more mature, and there exist converters from 
pdf/ps to svg. Free converters are a bit shaky, but for some lily versions I 
managed to convert .ly files into valid SVG via a chain of converters.

Usually, you need to first expand fonts to curves using some ps2ps-like 
script, and then use pstoedit to convert to something that can be converted 
to svg. Unfortunately, most conversion tools are rather immature, so you will 
need some experimenting to make it work. IIRC, I managed to generate valid 
svg with this method for my master's thesis, using a lilypond version around 
2.6. I don't remember the exact combination of commands that worked though.

(I have vague memories that it may be good to start with pdf output and 
convert it back to eps)

Here's a script that works for some subsets of ps (not lily's though), you can 
look at it for ideas:
http://en.wikipedia.org/wiki/Wikipedia:WikiProject_Electronics/Ps2svg.sh

If you manage to find a fairly reliable path to convert the output of a recent 
lily version into wikipedia-usable SVGs, I'd be happy to know.

Erik


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


Re: \times vs \tuplet (Was: Constructive Criticism and a Question)

2007-01-18 Thread Erik Sandberg
On Monday 15 January 2007 10:25, Valentin Villenave wrote:
 2007/1/14, Mats Bengtsson [EMAIL PROTECTED]:
  Valentin Villenave wrote:
   Tuplets are made with the minimalistic \t keyword.
 
  Comments:
 
  - If Erik's proposal to handle fractions such as 2/3 as a new
argument type is implemented, then it will be trivial to
define your own music function called \t within LilyPond.
I definitely do not think that it's a good idea to use such
heavily abbreviated command names by default in LilyPond
but on the other hand it's an excellent solution for you and
many others to add such a customized music function and
this specific example should be included as a standard example
in the documentation.
 
 /Mats

 Thank you Mats;
 it would be indeed heavily abbreviated. But what about the second part

 of my suggestion:
   If you do not specify a tuplet argument, the argument last entered is
   used for the next tuplet. The argument of the first tuplet in input
   defaults to 2/3.

 When you use the \times command, most of the time it's to use 2/3, or
 to use some argument you've already been using. Is we keep \times, I
 agree to say this command can't go without any argument. But if it
 becomes \tuplet, why couldn't we implemement some default rule ?

 Where
 \times {f8 g a} doesn't mean anything,

 \tuplet {f8 g a} makes sense, doesn't it ?

it's easy to write a separate function 
\triplet {f8 g a}
for this purpose.
(IMHO, this would be a useful addition to the standard lily distribution)

-- 
Erik


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


Re: Constructive Criticism and a Question

2007-01-07 Thread Erik Sandberg
On Sunday 07 January 2007 04:55, [EMAIL PROTECTED] wrote:
. . . Note also that the tupletSequence
function  would be implemented entirely in Scheme . . .

 I'm not very fluent in Scheme, so this is a naive question.

 I presume that ratios like 3:2 (or 2/3) could be made into some kind of
 object type (possibly a moment).  So I could imagine that it would be
 possible to write a Scheme function definition to cover a syntax like

\tupletSequence m:n #'( {...} {...} ... )

 where the first argument is a moment and the second is a list of literal
 music expressions.  (And I suppose I'm too optimistic about that syntax;
 probably those {...} would have to be sprinkled with # or $ or other
 spices.)  But there are some questions:

 1) I don't see how this could accommodate the case where one of the music
 expressions *were* a variable reference (\var) or *contained* a variable
 reference.

Music functions are not macros; the arguments are evaluated before the 
function is called. So \var always means to dereference a variable.

(I'm working on a system for 'music macros', which should make it possible to 
delay the dereferencing of variables, this will mainly be useful to clean up 
\relative)

 2) Because the syntax  \tupletSequence m:n { {...} {...} }
 is nicer, it would be good if it could be written that way, but then the
 second argument would not be a standard Scheme entity, so I don't see how
 Scheme could handle it at all.

There is a distinction between Scheme functions and Music functions. Music 
functions are invoked as \function arg1 arg2, while Scheme functions are 
invoked in Scheme expressions, as #(function arg1 arg2). tupletSequence would 
be a music function.

There are three types of arguments to music functions: Music, Markup and 
Scheme. This suggestion would add another argument type 'fraction'. The 
parser takes care of identifying argument types. Music arguments are notated 
as music, so you can use {{c}{d}} syntax out-of-the-box. E.g., partcombine is 
a music function.

In Scheme functions, you can use the #{ #} syntax to easily create music 
expressions as arguments.

 Can tupletSequence really be defined in pure Scheme, as long as the parser
 is modified to recognize the object m:n or n/m (so that there would exist
 a type-verification-name for the object m:n for use in defining Scheme
 functions)?

yes, the only thing we need is a new parameter type.

BTW, one of the biggest problems (IMHO) in the lilypond language is that we 
can't extend the parser to accept durations as parameters to music functions: 
\foo c 4. is ambiguous; it's unclear whether the 4. is the c's duration, or 
if it's a separate argument.

-- 
Erik


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


Re: Constructive Criticism and a Question

2007-01-06 Thread Erik Sandberg
On Friday 05 January 2007 22:53, [EMAIL PROTECTED] wrote:
  . . . The { m1 m2 m3 } syntax is used for repeat alternatives
  already, and the meaning is very clear: Each music expression between the
  outer { } is a separate argument. Note also that the tupletSequence
  function  would be implemented entirely in Scheme . . .
 
  { {g8 f e} \seq {b8 a g} }
 
  \tuplet {g f e} \tuplet \seq \tuplet {b a g}
 
  {{c d e} {{f g} a} b c}
 
  \tuplet {c d e} \tuplet {{f g} a} \tuplet b \tuplet c

 OK.  Thank you for clarifying that.  I understand, from your original
 remarks, that (here) you have written just \tuplet in the interest of
 brevity, and that the full form would be

\tupletSequence 3:2 {{c d e} {{f g} a} b c}
 meaning
\tuplet 3:2 {c d e} \tuplet 3:2 {{f g} a} \tuplet 3:2 b \tuplet 3:2 c

yes, that's right.

 which implies the following things:

 a) tupletSequence is a Scheme function which just breaks up its
 subexpressions naively, without any semantic analysis.

 b) \tuplet is a real LilyPond function; it is identical to \times,
 except that the notation 3:2 (meaning 2/3) would be allowed.

 c) People would have to write \tupletSequence m:n { {...} {...} },
 not \tuplet m:n { {...} {...} }.

yep, this is right (thanks for expressing it clearly).

 d) Any semantic errors in the subexpressions would be reported by the
 \tuplet function, not by the \tupletSequence Scheme function.

technically this is not correct (the \tuplet function doesn't detect semantic 
errors), but in principle you're right (\tuplet and \tupletSequence actually 
only create Music data structures, without performing semantic analysis; 
most 'semantic errors' are detected either when these data structures are 
further processed into typeset scores, or by the parser before the function 
applications)

-- 
Erik


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


Re: Constructive Criticism and a Question

2007-01-05 Thread Erik Sandberg
On Friday 05 January 2007 09:22, [EMAIL PROTECTED] wrote:
  . . . \tupletSequence 2/3 {{c d e} {f g a} {b c d}}
  would just be a shorthand for
  \tuplet 2/3 {c d e} \tuplet 2/3 {f g a} \tuplet 2/3 {b c d}

 That would add a big semantic burden to the meaning of { and }.
 Currently {{c d e} {f g a} {b c d}} means the same thing as
 {c d e f g a b c d}.  

It's not a problem. The { m1 m2 m3 } syntax is used for repeat alternatives 
already, and the meaning is very clear: Each music expression between the 
outer { } is a separate argument. Note also that the tupletSequence function 
would be implemented entirely in Scheme, the parser would not be modified. 
Examples:

 I would hate to have to write the parser that would 
 figure out (reliably) what
{{c d e} {f g} {a b c}}
\tuplet {c d e} \tuplet {f g} \tuplet {a b c}

 or
{{c d e} {{f g} a} b c}
\tuplet {c d e} \tuplet {{f g} a} \tuplet b \tuplet c

 or
{{c8 d e} {f4 g a}}
\tuplet {c d e} \tuplet {f4 g a}
 mean (as arguments to \tupletSequence).  And if
\seq = {{a8 b c} {d8 e f}}
 then, since LP macros are *not* string macros, what will the parser
 do with the argument
{ {g8 f e} \seq {b8 a g} }
\tuplet {g f e} \tuplet \seq \tuplet {b a g}

-- 
Erik


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


Re: Constructive Criticism and a Question

2007-01-04 Thread Erik Sandberg
On Tuesday 02 January 2007 22:29, [EMAIL PROTECTED] wrote:
  ... in irregular, tuplet-intensive music it may be sensible to create a
  music function for sequences of tuplets. In addition, it's IMHO a more
  lilypondesque solution than tupletSpannerDuration, once we support
  fractions as music function arguments.

 If I understand you correctly, this would involve specifying, one way or
 another, the duration of each actual tuplet.  Explicit specification of a
 duration (other than by an external tupletSpannerDuration declaration) has
 been suggested by another user, and IMO it would be a good idea, although
 I gather that Han-Wen is not in favour of the idea.

No, \tupletSequence 2/3 {{c d e} {f g a} {b c d}} would just be a shorthand 
for \tuplet 2/3 {c d e} \tuplet 2/3 {f g a} \tuplet 2/3 {b c d}

It is problematic to use durations to decide the scaling of a tuplet; this has 
been discussed previously in this thread. E.g., if you scale 3 8th notes to 
duration 4, then it is unclear whether it corresponds to factor 2/3 or 4/6.

 But I have a question about how one would specify a duration.  Specifying
 durations in the way we usually think about them allows actual durations
 that look like this:
 1== 1
 2... == 15/16
 2..  == 7/8
 2.   == 3/4
 4... == 15/32
 4..  == 7/16
 4.   == 3/8
 4== 1/4
 (etc.)
 so that only durations of the form
2^(p-1) / 2^q  (where p  q)
 can be specified this way.  But given the extravagancies of contemporary
 music, wouldn't it be possible, for example, to have a tuplet where 4
 eighth notes would be played over a time interval of 5 eighths --
   \times 5/4  {c8 d e f}
 Or does such a thing never happen?  If it does, then the tuplet's
 duration, equal to 5/8 here, cannot be expressed simply by a dotted-note
 notation such as in the preceding list.  

you could always write 1*5/8, which is a valid duration.

-- 
Erik



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


Re: Constructive Criticism and a Question

2007-01-02 Thread Erik Sandberg
On Monday 01 January 2007 20:57, Mats Bengtsson wrote:
 Frédéric Chiasson wrote:
  Might it be possible to use
 
  \tuplet 3:2 {x x x}
 
  for the usual operation, and if we want to have many tuplets of the
  same kind, to use
 
  \tuplet 3:2 { {x x x} {y y y} {z z z} }
 
  Might resolve the clarity problems.

 Since it's easy to define your own function \triplet which
 does the equivalent of \tuplet 3:2 ..., and since you could
 give it a short name like \t, your proposal wouldn't save
 much typing or increase the clarity compared to
 \t {x x x} \t {y y y} \t {z z z}

 In these situations with repetitive triplet patterns, I definitely
 prefer the current kind of solution with
 \set tupletSpannerDuration = #(ly:make-moment 1 4)

There is one problem with this: If the 'most common' tuplet duration is 1/4, 
but you occasionally have a different tuplet with _longer_ duration, then 
tupletSpannerDuration will break the long tuplet into several shorter 
durations, unless you always remember to \unset tupletSpannerDuration all the 
time.

So, in irregular, tuplet-intensive music it may be sensible to create a music 
function for sequences of tuplets. In addition, it's IMHO a more 
lilypondesque solution than tupletSpannerDuration, once we support fractions 
as music function arguments.

-- 
Erik


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


Re: Constructive Criticism and a Question

2006-12-29 Thread Erik Sandberg
On Thursday 28 December 2006 11:13, Brett Duncan wrote:
 Erik Sandberg wrote:
  On Monday 25 December 2006 06:32, David Fedoruk wrote:
  Hello:
 
  I've been watching this discussion or debate. There are two ways to
  look at this problem. The first is from a programmer's point of view
  where the programmer is experienced with some computer languages,
  these days its upper level languages more and more. For these people,
  lilypond typesetting code feels comfortable when it is syntactically
  correct and when it makes sense in either computer or mathematical
  terms. A mathematical algorithm is what they are used to seeing.
 
  The other group has less mathematical knowledge, very little (very
  little compared to a programmer working on a major project like
  Lilypond) programming knowledge or experience. In all likelihood the
  only thing that connects these people is the printed musical score.
 
  At least in part I think these points have already been made. The
  question that occurs to me as a novice Lilypond user  (and one who
  jumps in the deep end with complex scores!)  is this: How will you
  deal with other types of prolongation or compression of notes into one
  or more beats or where the composers intentions are clear but they are
  not immediately mathematically correct?
 
  The example below is a single bar from a Beethoven Piano Sonata (Opus
  31 number 3, 1st mvt. bar 53) in which two more out of the ordinary
  examples occur next to each other. You will excuse any mistakes in
  coding here, this doesn't render as it should.
 
  upper = \relative c'' {
  \clef treble
  \key ef \major
  \time 3
 
 bf16[d f ef] \times 5/4 d16[ ef f g a] bf32[bf a c bf d c bf a g c g
  ef]
 
  }
 
  You can see how there are three beams, one for the notes in eaech
  beat. The first and second beat are quite clear, but the third one has
  eluded me as yet. The score has 12 thirty-second notes beamed together
  with  12 below the note heads.
 
  The printed score is clear to the performer. The Lilypond code I
  suspect is far more complex. The only way that 12 thirty-second notes
  will fit into one beat is if they are triplets, but in context, they
  are not played or heard as triplets.
 
  My only comment in this discussion is that the Lilypond code to
  represent this short passage should be as clear as the printed score I
  am reading.
 
  try \times 8/12 { ... }
 
  (by default, this will probably display as 12:8 above the notes, which
  can be tweaked to just show 12)
 
  IMHO, this is an argument for a mathematical notation: You must know what
  you are doing to notate the music (i.e., multiplying durations with
  8/12), just saying that a 12 should be displayed above would make it
  difficult to maintain the .ly code.

 Here's a different idea: instead of specifying the ratio for a tuplet or
 set of tuplets, what about specifying the duration of a tuplet, and
 letting LP determine what number appears over the beam?

 For example, where we now use
 \times 2/3 { a8 b c }
 to get a triplet of three quavers in the time of two, instead have
 \tuplet 4 { a8 b c }
 LP can calculate the ratio (and hence what should appear over the
 tuplet) from the time given before the {...} and the cumulative time of
 the notes inside the {...}.

 This would mean that users do not need to work out the ratio, they just
 need to know how long the tuplet should last. Further to this idea would
 be to allow an internal division inside the {...}, so that multiple
 tuplets could be entered, maybe something like \tuplet 4 { a8 b c ! c4
 a8 ! b8 c4 }. (I've used  !  only for explaining the idea - I'm NOT
 advocating it as the desired syntax.)

 This would mean that for the Beethoven snippet in David Fedoruk's post,
 instead of

 bf16[d, f ef] \times 4/5 {d16[ ef f g a]} \times 8/12 {bf32[a c bf d c
 bf a g f g ef]}

 you would put

 bf16[d, f ef] \tuplet 4 { d16 ef f g a ! bf32a c bf d c bf a g f g ef }


 Just a thought!

Unfortunately, the number above does not always follow from the duration. 
E.g., the factors 2/3 and 4/6 are mathematically equal, but give different 
numbers. It is probably difficult to define when to use 4/6 and 2/3, 
respectively (e.g., I guess {c8[ c16 c c8]} could have either a 3 or a 6 
above it, depending on context)

-- 
Erik


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


Re: Any way to turn off warning: ignoring too many clashing note columns?

2006-12-29 Thread Erik Sandberg
On Saturday 18 November 2006 23:12, Trevor Bača wrote:
 Hi,

 So my question is: is there any way to turn off the clashing note
 column warnings? I think this is the one place where one of Lily's
 warnings truly is completely harmless and I feel safe turning it off.
 More importantly, I really need to see any *other* warnings that Lily
 generates, which is quite hard given the original sourcefile (which
 runs many thousands of lines).

It would not be difficult to add a feature to disable warnings for specific 
input spots, so you could write something like:


\new Voice { \noWarning e8 }
\new Voice { \noWarning c8 }


to suppress warnings only for the notes you have made strange tweaks to (I 
don't have much time now, but you could ask Han-Wen if he likes the idea, and 
if it's sponsorable).

-- 
Erik


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


Re: Constructive Criticism and a Question

2006-12-27 Thread Erik Sandberg
On Saturday 23 December 2006 03:10, Frédéric Chiasson wrote:
 Might it be possible to use

 \tuplet 3:2 {x x x}

 for the usual operation, and if we want to have many tuplets of the same
 kind, to use

 \tuplet 3:2 { {x x x} {y y y} {z z z} }

 Might resolve the clarity problems.

Doesn't look good to me, syntax becomes unclear for cases like
\tuplet 3:2 { x {y y y } z }

However, it would IMHO be OK to write a separate music function with this 
syntax, something like:
\tupletSequence 3:2 {{ x x x} {y y y} {z z z}}

-- 
Erik


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


Re: Constructive Criticism and a Question

2006-12-27 Thread Erik Sandberg
On Monday 25 December 2006 07:05, Joe Neeman wrote:
 On 12/21/06, Han-Wen Nienhuys [EMAIL PROTECTED] wrote:
  Erik Sandberg escreveu:
   BTW, in this case it may be good to register the fraction as its own
 
  argument
 
   type, so \tuplets and \tuplet are generic music functions, both with
   signature
   (tuplet-fraction? music?)
 
  it would be cool if we could pull this off, that would make \time generic
  too.

 Could you make 3:2 equivalent to #'(3 . 2)? Then
  - you don't need to introduce a new type
  - we could use x:y everywhere instead of the scary (it certainly was for
 me when I first started with lilypond) #'(x . y)

With the current way the parser works, you'd probably be able to do something 
like #(ly:export '(x . y)); of course we can add a define-music-function 
style synonym on top of that, like #(make-fraction x y)

BTW, I have some ideas to change the way SCM expressions work in the parser; 
unfortunately I haven't had the time to code lilypond for a very long time 
though, and other things are of higher priority. My idea is that the 
detection of types after ly:export should be carried out by the parser rather 
than lexer; this would allow a more intuitive behaviour of music macros the 
day they are implemented (it would be possible to delay the evaluation of 
inline SCM expressions)

-- 
Erik



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


Re: Constructive Criticism and a Question

2006-12-27 Thread Erik Sandberg
On Monday 25 December 2006 06:32, David Fedoruk wrote:
 Hello:

 I've been watching this discussion or debate. There are two ways to
 look at this problem. The first is from a programmer's point of view
 where the programmer is experienced with some computer languages,
 these days its upper level languages more and more. For these people,
 lilypond typesetting code feels comfortable when it is syntactically
 correct and when it makes sense in either computer or mathematical
 terms. A mathematical algorithm is what they are used to seeing.

 The other group has less mathematical knowledge, very little (very
 little compared to a programmer working on a major project like
 Lilypond) programming knowledge or experience. In all likelihood the
 only thing that connects these people is the printed musical score.

 At least in part I think these points have already been made. The
 question that occurs to me as a novice Lilypond user  (and one who
 jumps in the deep end with complex scores!)  is this: How will you
 deal with other types of prolongation or compression of notes into one
 or more beats or where the composers intentions are clear but they are
 not immediately mathematically correct?

 The example below is a single bar from a Beethoven Piano Sonata (Opus
 31 number 3, 1st mvt. bar 53) in which two more out of the ordinary
 examples occur next to each other. You will excuse any mistakes in
 coding here, this doesn't render as it should.

 upper = \relative c'' {
 \clef treble
 \key ef \major
 \time 3

   bf16[d f ef] \times 5/4 d16[ ef f g a] bf32[bf a c bf d c bf a g c g ef]

 }

 You can see how there are three beams, one for the notes in eaech
 beat. The first and second beat are quite clear, but the third one has
 eluded me as yet. The score has 12 thirty-second notes beamed together
 with  12 below the note heads.

 The printed score is clear to the performer. The Lilypond code I
 suspect is far more complex. The only way that 12 thirty-second notes
 will fit into one beat is if they are triplets, but in context, they
 are not played or heard as triplets.

 My only comment in this discussion is that the Lilypond code to
 represent this short passage should be as clear as the printed score I
 am reading.

try \times 8/12 { ... }

(by default, this will probably display as 12:8 above the notes, which can be 
tweaked to just show 12)

IMHO, this is an argument for a mathematical notation: You must know what you 
are doing to notate the music (i.e., multiplying durations with 8/12), just 
saying that a 12 should be displayed above would make it difficult to 
maintain the .ly code.

-- 
Erik


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


Unequal, changing time signatures in parts

2006-12-27 Thread Erik
Hello,

I have a manuscript from my organ teacher I'm attempting to transcribe. So 
far, so good, but the beginning of one composition has me stumped, despite 
looking for hints in the archive, snipits, and documentation.

The piece begins with a somewhat unmeasured section; the bass is a slightly 
modified version of Adoro Devote, and the accompaniment is a tone cluster 
composed of tied whole notes. The cluster starts with a high d, and then after 
each phrase of the plainchant the next lower semitone is added (cis, c, b 
bes...fis) so that at the end of the chant, the full cluster is sounding. It 
is very beautiful.

The problem I'm having is reconciling the whole note notation in the cluster 
with the varying meter of the chant within Lilypond; the bars in the chant are 
9/8, 8/8, 10/8, 8/8, 10/8, 6/8, 8/8. 8/8. So, I can't get the tone cluster 
additions to line up properly with the chant phrases.

In the manuscript, my teacher used vertical arrows in the score to emphasize 
the aligment of the tones where a new cluster tone enters. I'm happy to place 
barlines instead, as drawn arrows across three staves sounds pretty exotic.

Once this section concludes, the rest of the score changes time frequently, 
but all parts are in the same time so I'm home free.

I've looked at staff measure length and the arguments of \time, but can't seem 
to find a way to affect one staff without messing up the other.

Any solutions or hints welcome.

Thanks,

Erik



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


Re: Constructive Criticism and a Question

2006-12-21 Thread Erik Sandberg
On Wednesday 20 December 2006 10:58, Mats Bengtsson wrote:
 Graham Percival wrote:
  ... hmm, what about allowing
  \tuplet 3:2 {c8 d e} \tuplet { f e d}

 Again, I definitely vote against! We already now have too many
 optional constructs in the syntax, which causes more confusion than
 it helps.

I also vote against this. AFAIK, this kind of repetition seldom happens for 
other cases than 2/3 and 4/6; we can easily build music functions for those 
cases (i.e., create a unary function \triplet etc.)

-- 
Erik


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


Re: Constructive Criticism and a Question

2006-12-21 Thread Erik Sandberg
On Wednesday 20 December 2006 07:51, Graham Percival wrote:
 Han-Wen Nienhuys wrote:
  Jonathan Henkelman escreveu:
  I think Eriks point is actually well founded.  The discussion started
  with my discussion of trying to trim down the grammer complexity. Adding
  syntax is not really in that direction.
 
  Another option:
 
  - add \tuplet 3:2 {.. }
 
  - replace \times 2/3 by \times #'(2 . 3)  ; this can be implemented with
  a standard music function

 Oh God no.  It took me a year to get used to #'(2 . 3) -- I kept on
 trying '#( and #( and #'(2.3)... every time I gave up after ten minutes
 and found an example from the documentation to copy.

Scheme has rational numbers as a builtin type, so it _is_ possible to pass the 
easy-to-type #2/3 as an argument to a music function (AFAIK, this is the only 
case where scheme doesn't use polish notation).

Unfortunately, this would not work with \times: #2/3 and #4/6 are the same 
rational number, but 2/3 and 4/6 are different tuplet fractions. Also, Scheme 
rational numbers may not contain whitespaces, so #2 / 3 is not the same as 
#2/3.

(hm.. for obvious mathematical reasons this solution doesn't work, but if it 
WOULD have worked, it would have been a nice solution in a mathematical 
sense)

-- 
Erik


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


Re: Constructive Criticism and a Question

2006-12-21 Thread Erik Sandberg
On Tuesday 19 December 2006 15:25, Mats Bengtsson wrote:
 Werner LEMBERG wrote:
\tuplet 3:2 {...}
 
  One minor detail is that the name isn't exactly appropriate when you
  do
  \set tupletSpannerDuration = #(ly:make-moment 1 4)
  \times 2/3 {c8 d e f e d e f g f e d }
 
  Well, in that case just stay with \times.

 I thought the proposal was to completely get rid of \times and replace it
 by \tuplet (which I think is a good idea). Just wanted to see if anybody
 had any bright idea on a command name that's accurate also in this
 special case.

What about:
\tuplets 2/3 {c8 d e f e d e f g f e d }

We could also make \tuplet and \tuplets differ on the iterator level, so that 
the tupletSpannerDuration property affects \tuplets expressions but not 
\tuplet expressions.

BTW, in this case it may be good to register the fraction as its own argument 
type, so \tuplets and \tuplet are generic music functions, both with 
signature
(tuplet-fraction? music?)

-- 
Erik


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


Re: Constructive Criticism and a Question

2006-12-21 Thread Erik Sandberg
On Thursday 21 December 2006 12:55, Han-Wen Nienhuys wrote:
 Erik Sandberg escreveu:
  BTW, in this case it may be good to register the fraction as its own
  argument type, so \tuplets and \tuplet are generic music functions, both
  with signature
  (tuplet-fraction? music?)

 it would be cool if we could pull this off, that would make \time generic
 too.

Hm, if we do this together with the 2:3 syntax change, then we would suddenly 
be able to write:
\time 4:3
which would be equivalent to:
\time 3/4
That's a bit confusing.

BTW, if we start adding new types, it would be nice to create a new 'type' 
data structure, to be used in function signatures. The data structure would 
contain a type-checking predicate, a name (displayed when type-check fails), 
and perhaps a type ID for the lexer. This would allow more complex types, 
e.g. 'sequential music', 'single note or chord', 'pair of numbers' (as in 
#'(1 . 3)), etc; perhaps the system could be used for 
define-context-properties.scm as well.

-- 
Erik


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


Re: Constructive Criticism and a Question

2006-12-21 Thread Erik Sandberg
On Thursday 21 December 2006 15:01, Han-Wen Nienhuys wrote:
 Erik Sandberg escreveu:
  On Thursday 21 December 2006 12:55, Han-Wen Nienhuys wrote:
  Erik Sandberg escreveu:
  BTW, in this case it may be good to register the fraction as its own
  argument type, so \tuplets and \tuplet are generic music functions,
  both with signature
  (tuplet-fraction? music?)
 
  it would be cool if we could pull this off, that would make \time
  generic too.
 
  Hm, if we do this together with the 2:3 syntax change, then we would
  suddenly be able to write:
  \time 4:3
  which would be equivalent to:
  \time 3/4
  That's a bit confusing.
 
  BTW, if we start adding new types, it would be nice to create a new
  'type' data structure, to be used in function signatures. The data
  structure would contain a type-checking predicate, a name (displayed when
  type-check fails), and perhaps a type ID for the lexer. This would allow
  more complex types, e.g. 'sequential music', 'single note or chord',
  'pair of numbers' (as in #'(1 . 3)), etc; perhaps the system could be
  used for
  define-context-properties.scm as well.

 be careful. If you introduce type, you will have to introduce subtypes as
 well: seq-music is a subtype of music. Before you know, we'll be writing a
 type inference engine.

I don't understand. Why isn't is sufficient to let typechecking be carried out 
by an arbitrary user-defined turing-complete function? music and seq-music 
don't need to share any code, the type inference engine machinery would be 
voluntary AFAICS (seq-music's predicate would check that the object is a 
Music and that it's of type SequentialMusic, and seq-music's name would 
be sequential music).

And when it comes to parser, seq-music can just tell it that it expects a 
Music, and typecheck after parsing. Alternatively, we create an independent 
rule for seq-music which only accepts stuff on the form { }. This rule will 
exist independently of the generic Music rule.

Or did I miss something?

-- 
Erik


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


  1   2   3   4   5   6   >