Re: lyLuaTex (solved)

2022-11-23 Thread David Bellows
> I have now succeeded in getting lyLuaTex[2][3] working, and this posting 
> seems as good a place as any to record the steps, in case anyone else might 
> find it helpful.  This is a summary of a moderately painful learning curve, 
> full of interruptions and blind alleys, so I hope I've captured the result 
> properly (modulo any spurious linebreaks introduced in the email chain)...

I'm running some fairly recent version of Ubuntu but instead of
installing TeX from the repository I install TeXLive from here:
https://www.tug.org/texlive/
This way I can also keep all the packages much more up to date than
what Ubuntu does. Even after all these years, we're all still better
off installing TeXLive directly instead of through the repositories.

I ran your code (without the pathname for lyluatex since it is part of
TeXLive) with the command:
lualatex --shell-escape example.tex
and it compiled just fine without any errors. I didn't have to install
anything extra, I just keep TeXLive current and everything works.

I use emacs but compile the code from the command line.

On Wed, Nov 23, 2022 at 5:59 PM Graham King  wrote:
>
> (with apologies for the digression on a previous thread[1])
>
>
> I have now succeeded in getting lyLuaTex[2][3] working, and this posting 
> seems as good a place as any to record the steps, in case anyone else might 
> find it helpful.  This is a summary of a moderately painful learning curve, 
> full of interruptions and blind alleys, so I hope I've captured the result 
> properly (modulo any spurious linebreaks introduced in the email chain)...
>
> My environment:
>
> Ubuntu Linux 18.04
> Lilypond 2.23.10 (I think this procedure should work for more up-to-date 
> versions)
> Texlive packages from Ubuntu (of which most are almost certainly unnecessary 
> for this purpose, but never mind): texlive-base, texlive-binaries, 
> texlive-extra-utils, texlive-font-utils, texlive-fonts-recommended, 
> texlive-lang-english, texlive-latex-base, texlive-latex-extra, 
> texlive-latex-recommended, texlive-luatex, texlive-music, texlive-pictures, 
> texlive-plain-generic, texlive-pstricks.
> Editor: TeXstudio 2.12.6  (my choice; yours may differ)
>
> Install some luaTex extension packages:
>
> mkdir -p ~/texmf/tex/latex
> cd ~/texmf/tex/latex
> git clone https://github.com/lualatex-tools/luaoptions
> git clone https://github.com/jperon/luatex-tools
> texhash ~/texmf
>
>
> Create a wrapper script to suppress TeXstudio complaints about $TERM [4]:
>
> cat > ~/bin/lualatex-wrapper <<-EOF
>
> #! /bin/bash
>
> # Don't indent the previous line!
>
> # Wrapper script for luatex invoked from TeXstudio.
>
> TERM=dumb /usr/bin/lualatex "$@"
> EOF
>
> chmod 755 ~/bin/lualatex-wrapper
>
> In TeXstudio, select :
>
> In the commands tab:
>
> LuaLaTeX: /home/yourusername/bin/lualatex-wrapper -synctex=1 
> -interaction=nonstopmode -shell-escape %.tex
>
> Note that the -shell-escape option opens a security hole if you are going to 
> compile latex docs from dodgy sources.  I don't judge ;)
>
> In the build tab:
>
> Default compiler: txs:///lualatex
>
>
>
>
> Now we should be ready to compile a fairly minimal example document:
>
> \documentclass{article}
>
> % Adjust the program path to match your installation:
>
> \usepackage[program=/usr/local/lilypond/lilypond-2.23.10/bin/lilypond]{lyluatex}
>
> \begin{document}
> Here is an example:
>
> \begin{ly}
> {a' b' c''}
> \addlyrics{a -- b -- c}
> \end{ly}
>
> And here is a fragment, \lilypond{\new RhythmicStaff { \time 3/4 c4( c16) c c 
> c c c c c \bar "|."}} inserted inline.
>
> \end{document}
>
> (Remember to use  if you want to see the updated 
> PDF)
>
>  HTH.  Grateful thanks to all the contributors listed at [2].
>
> -- Graham
>
>
> References:
> [1] https://lists.gnu.org/archive/html/lilypond-user/2022-11/msg00403.html
> [2] https://github.com/jperon/lyluatex
> [3] https://mirror.ox.ac.uk/sites/ctan.org/support/lyluatex/lyluatex.pdf
> [4] 
> https://htmlpreview.github.io/?https://github.com/texstudio-org/texstudio/master/utilities/manual/usermanual_en.html#configuring-the-latex-related-commands
>



Re: how to hide dynamics? Only solution is to have a dedicated midi music variable?

2022-06-06 Thread David Bellows
If you care a lot about how it sounds then you'll want to import the
MIDI into a DAW and make your adjustments there.

If you are content with just the MIDI sounds then what I have done in
the past is to make a copy of the LilyPond file and make all the
adjustments I want to the dynamics on that version and generate a MIDI
file from it. This way you can also change tempo slightly frequently,
add ornaments, etc. The pdf you print from that will now be a visual
representation of the DAW-like changes you've made and you can
continue to work from that to get the kind of performance you want.

On Mon, Jun 6, 2022 at 9:20 PM Kenneth Wolcott  wrote:
>
> HI;
>
>   Frequently I have engraved music that doesn't sound good when the
> corresponding midi is played, usually with regards to two (or more)
> instruments that are overwhelmed by one of them.
>
>   In this case, I have a piece which has a Contrabass with Piano
> accompaniment, with two different kinds of unwanted domination.  In
> the first case I have to specify the dynamics for the right hand and
> the left hand separately (a human pianist would not need this).
> Secondly, the left hand encounters polyphony about fifteen bars into
> the piece.  Then, these notes are played at mezzo forte or forte when
> I want them to be the same dynamic as previously (ppp).  I can't have
> the Contrabass and the Piano playing at piano dynamics because the
> Contrabass is completely dominated by the Piano.
>
>   I guess I could solve this problem by having four variables for the
> left hand (lh_one, lh_two, lh_one_midi and lh_two_midi), but that
> seems quite a bit of work.
>
>   Am I the only one that would like to have the midi output sound at
> least somewhat pleasant?  Or am I the only one who has this problem
> with the midi dynamics being wonky?
>
>   See attached files for details.
>
>   Mac Mini
>   Lilypond 2.22.2 (from home brew)
>   Fluidsynth (from home brew)
>
> Thanks,
> Ken Wolcott



Re: Font kerning

2022-02-07 Thread David Bellows
> making something like shelf{}full omit the ff ligature only
somewhat reliably: if there is a hyphenation pass over the paragraph in
question, TeX will create the ff ligature in the "reconstitution pass".

As an aside, the selnolig package exists for LuaTeX that automatically
removes select ligatures like with "shelfful".

On Mon, Feb 7, 2022 at 2:36 PM David Kastrup  wrote:
>
> Valentin Petzel  writes:
>
> >> Am Montag, 7. Februar 2022, 22:47:30 CET schrieb:
> >>> Valentin Petzel  writes:
> >>> >> Am Montag, 7. Februar 2022, 21:30:21 CET schrieb:
> >>> >>> Thanks to all for your answers. The trick suggested by Valentin
> >>> >>> works for me.
> >>> >>>
> >>> >>> Anyway it looks like there’s no option to directly adjust letter
> >>> >>> spacing, something like \kern macro in LaTeX, right?
> >>> >
> >>> > No. As Lilypond is a music typesetter, not a  text typesetter, the text
> >>> > typesetting options in Lilypond are quite rudimentary. This means that
> >>> > Lilypond has no interface for these things. So kerning in Lilypond 
> >>> > markup
> >>> > usually means taking two markups and putting them next to each other 
> >>> > with
> >>> > some (potentially negative) distance.
> >>>
> >>> Which is pretty much what \kern does in TeX.  The difference between
> >>> a \kern and \hspace in TeX is that \hspace indicates a possible
> >>> breakpoint (and when a break happens there, it will get removed),
> >>> and \hspace can take flexible glue specifications.  And I am not
> >>> sure but \kern may be transparent to hyphenation.
> >>>
> >>> LilyPond's \hspace takes no flexible glue specifications and cannot
> >>> become a breakpoint either, and hyphenation is not a thing.  So I
> >>> have no idea what your "No." is supposed to mean.
> >
> > Hello David.
> >
> > TeX takes care of text output entirely by itself, while Lilypond delegates
> > this to Pango. This makes handling certain things quite a bit more awkward 
> > in
> > Lilypond. So while \hspace does work similarly to \kern it does not really
> > have the same function.
> >
> > In TeX we could for example do
> > This is a Test\kern0.2pt word
> > for what Lilypond would need
> > { This is a \concat { Test \hspace #0.1 word } }
>
> That has nothing to do with how \hspace works but rather how \line
> breaks things into pieces.  The equivalent to
> \markup { This is a Test \hspace #0.1 word }
> would be
> This is a Test \kern0.2pt\relax word
>
> \concat is LilyPond's way of omitting spaces.
>
> You'll also find that TeX's way of grouping kernable material is rather
> awkward, making something like shelf{}full omit the ff ligature only
> somewhat reliably: if there is a hyphenation pass over the paragraph in
> question, TeX will create the ff ligature in the "reconstitution pass".
>
> > Thus my "no" means to say that there is in fact not such a direct way
> > to adjust letter spacing in Lilypond.
>
> --
> David Kastrup
>



Re: Problems with music fonts

2021-03-21 Thread David Bellows
> I downloaded the Beethoven font and was able to use it with your code
with LilyPond 2.22.0 on my system (Fedora 33).

Thanks Kevin. I think that basically confirms that something is going
on with my system. But it also seems like there must be a difference
between those two sets of fonts that would relate to whatever is going
on.

I don't have any other computer to check this on but I do know I have
used these fonts before on a different computer running various
versions of Ubuntu.

Dave
https://www.platonicmusicengine.com

On Sun, Mar 21, 2021 at 2:15 AM Kevin Barry  wrote:
>
> Hi David,
>
> I downloaded the Beethoven font and was able to use it with your code
> with LilyPond 2.22.0 on my system (Fedora 33). I don't know what the
> problem is, but as you say it might be your system. If you have an older
> computer to try it on, that might be a good way for you to verify.
>
> Kevin
>
> On Sat, 2021-03-20 at 22:17 -0700, David Bellows wrote:
> > Hello everybody,
> >
> > I am using LilyPond 2.23 but the problem I'm going to describe is
> > happening with older LilyPonds back 2.20.
> >
> > I am running Linux (Pop_OS! 20.10 which is basically Ubuntu 20.10). It
> > is a relatively new installation on a computer I bought a few months
> > ago.
> >
> > Here is the basic code:
> >
> > \version "2.23.0"
> > #(set-global-staff-size 16)
> > \paper {
> >   #(define fonts
> > (set-global-fonts
> >   #:music "beethoven"
> >   #:brace "beethoven"
> >   #:factor (/ staff-height pt 20)
> >   ))
> > }
> > {c' d' e'128}
> >
> > With some music fonts this works, with others it doesn't.
> >
> > Works:
> > Gonville https://www.chiark.greenend.org.uk/~sgtatham/gonville/
> > Arnold https://www.musictypefoundry.com/
> >
> > Doesn't work:
> > Everything from: https://github.com/OpenLilyPondFonts
> > and: https://github.com/lyp-packages?page=1
> >
> > I think all of those fonts on github are the same. Note, the Gonville
> > font in the latter two groups does not work while the one from the
> > website does.
> >
> > When I try to compile the above code with anything from the "Doesn't
> > work" group I get the following error:
> >
> > fatal error: unsupported font format:
> > /usr/local/lilypond/usr/share/lilypond/current/fonts/otf/beethoven.otf
> >
> > Another data point. When I try to view any of the non-working fonts in
> > a font viewer, that also generates an error and nothing shows up. The
> > "working" fonts do show up in the font viewer.
> >
> > So I'm guessing maybe there's something weird going on somewhere else
> > on my system? I don't know how LilyPond handles music fonts, but if
> > there's some kind of standard font library that it expects from Linux,
> > maybe mine isn't the right one?
> >
> > Thanks,
> > Dave Bellows
> > https://www.platonicmusicengine.com
> >
>
>



Problems with music fonts

2021-03-20 Thread David Bellows
Hello everybody,

I am using LilyPond 2.23 but the problem I'm going to describe is
happening with older LilyPonds back 2.20.

I am running Linux (Pop_OS! 20.10 which is basically Ubuntu 20.10). It
is a relatively new installation on a computer I bought a few months
ago.

Here is the basic code:

\version "2.23.0"
#(set-global-staff-size 16)
\paper {
  #(define fonts
(set-global-fonts
  #:music "beethoven"
  #:brace "beethoven"
  #:factor (/ staff-height pt 20)
  ))
}
{c' d' e'128}

With some music fonts this works, with others it doesn't.

Works:
Gonville https://www.chiark.greenend.org.uk/~sgtatham/gonville/
Arnold https://www.musictypefoundry.com/

Doesn't work:
Everything from: https://github.com/OpenLilyPondFonts
and: https://github.com/lyp-packages?page=1

I think all of those fonts on github are the same. Note, the Gonville
font in the latter two groups does not work while the one from the
website does.

When I try to compile the above code with anything from the "Doesn't
work" group I get the following error:

fatal error: unsupported font format:
/usr/local/lilypond/usr/share/lilypond/current/fonts/otf/beethoven.otf

Another data point. When I try to view any of the non-working fonts in
a font viewer, that also generates an error and nothing shows up. The
"working" fonts do show up in the font viewer.

So I'm guessing maybe there's something weird going on somewhere else
on my system? I don't know how LilyPond handles music fonts, but if
there's some kind of standard font library that it expects from Linux,
maybe mine isn't the right one?

Thanks,
Dave Bellows
https://www.platonicmusicengine.com



Re: Repeated durations: pitches vs rests

2021-02-22 Thread David Bellows
Hello Jean,

That works basically like I was hoping it would! Thank you very much
for the effort you put into this. I suppose the only issue is that it
spits out a warning when a tilde is used: "r8~ 16" but still prints it
out properly.

I know absolutely nothing about Scheme coding in LilyPond so I have no
idea how correct your code is, hopefully someone will take a closer
look at it?

Thank you very much!
Dave

On Mon, Feb 22, 2021 at 1:25 PM Jean Abou Samra  wrote:
>
> Hello,
>
> For what it's worth, you can do the following.
>
> Please be aware, however, that not being fully
> knowledgeable about LilyPond's representation of
> music, I cannot guarantee the correctness of this
> code in all cases.
>
> Best,
> Jean
>
> \version "2.22.0"
>
> implicitRests =
> #(define-music-function (music) (ly:music?)
> (map-some-music
>   (lambda (m)
> (ly:music-set-property!
>   m
>   'elements
>   (let loop ((remaining-elements (ly:music-property m 'elements))
>  (last-rhythmic-event #f)
>  (acc '()))
> (if (null? remaining-elements)
> (reverse acc)
> (let ((next-event (car remaining-elements))
>   (other-events (cdr remaining-elements)))
>   (if (and (music-is-of-type? next-event 'note-event)
>(null? (ly:music-property next-event 'pitch)))
>   (loop other-events
> last-rhythmic-event
> (cons
>(make-music (ly:music-property
> last-rhythmic-event 'name)
>'pitch
>(ly:music-property
> last-rhythmic-event 'pitch)
>'duration
>(ly:music-property next-event
> 'duration))
>acc))
>   (loop other-events
> (if (music-is-of-type? next-event
> 'rhythmic-event)
> next-event
> last-rhythmic-event)
> (cons next-event acc)))
>   #f)
>   music))
>
> \implicitRests \new Voice \relative {
>c'4 4 r4 4
>c'4 4 r8 8 4
>c d8 r8 8 r4 8
><< { c'4 4 r8 4 8 } \\ { r8 8 16 16 16. 32 2 } >>
> }
>



Re: Repeated durations: pitches vs rests

2021-02-22 Thread David Bellows
Hey Martin,

> perhaps by giving a minimal example of the particular situation you have, 
> where you feel a “tied rest” is the best possible solution, other people 
> could give you better approaches.

Check out the email I sent just a few minutes before yours, it goes
into greater detail about why I want this particular behavior. The
short of it is that it allows me to treat something like "4~ 16" as a
single duration object (like "4", "4.", "4..", "4...", etc) making it
easy to look it up in a table and result in Lilypond correctly
printing out pitches or rests. So "c4~ 16" would print a C quarter
note tied to a 16th note and a "r4~ 16" would print a quarter note
rest followed by a 16th note rest.

Hope these two emails make it clearer why I want to do this.

Dave

On Mon, Feb 22, 2021 at 1:29 PM Martín Rincón Botero
 wrote:
>
> Hi David,
>
> perhaps by giving a minimal example of the particular situation you have, 
> where you feel a “tied rest” is the best possible solution, other people 
> could give you better approaches.
>
> My software does create rests, it's just in the particular situation
>
> where a voice in one staff (like in a piano) has a quarter tied to a
>
> 16th that I need the same voice in the other staff to create the
>
> appropriate rests (quarter followed by a 16th).
>
>
> I still don’t understand why having one voice such as {c4 ~ c16 c8.} can’t be 
> “translated” to a second voice that “creates the appropriate rests“ producing 
> something like {r4 r16 r8.} with no tie, or rather, why isn’t something like 
> this the first approach for your software. It seems we’re all on this list 
> missing something about the way you’re working with your software to be able 
> to help.
>
> Cheers,
> Martín.
>
> www.martinrinconbotero.com
> On 22. Feb 2021, 21:50 +0100, David Bellows , wrote:
>
>
> that



Re: Repeated durations: pitches vs rests

2021-02-22 Thread David Bellows
Hello David,

> You can also write things like

Ah, that makes complete sense. I can totally see why this feature was
added and how the default behavior would be desired. I had assumed
that this was simply a shortcut similar to leaving out durations (eg,
"c8 d e f g" would all be 8th notes).

For the sake of the curious, below is a more detailed explanation for
why I wanted this other behavior. When converting my audio data to
LilyPond commands, the software goes through a table matching up
seconds in durations to LilyPond durations (tempo is handled
elsewhere), for example:

[.5] = "8",
[.75] = "8."
[1] = "4",
[1.5] = "4.",
...

If the lone duration command applied to an immediately preceding rest,
then I could treat tied rhythms as a single duration command in my
software:

[1.25] = "4~ 16"

This works as expected with pitches but when a rest is automatically
generated then it doesn't.

So why are rests automatically generated for me? If you have two
staves and a melody voice in one staff, my software automatically puts
in the corresponding rests in the other staff. So if the upper staff
is c''16 e''8 g''4 then the lower staff would automatically put in r16
r8 r4 like one might see in, say, Baroque music.

If the lone duration worked as I had expected then generating a "c4~
16" for one staff would result in "r4~ 16" which would be printed as
"r4 r16".

So instead of just adding tied rests to the table above, I have to
code in how to deal with tildes in order to handle tied durations. It
can be done but will just require more work than just adding entries
into a table.

Thanks everyone for your help and explanations,
Dave Bellows
https://www.platonicmusicengine.com

On Mon, Feb 22, 2021 at 12:41 PM David Kastrup  wrote:
>
> David Bellows  writes:
>
> > Hi Timothy,
> >
> >> David Kastrup (who probably implemented the feature) comments on the
> >> design decisions here
> >
> > Thanks for that. That is definitely not a use-case I had anticipated
> > though it's nice to see that I'm not alone in wondering about the
> > default behavior. And apparently my solution involving an alternate
> > syntax (adding a ~ (tilde) to a rest to make LilyPond repeat the rest)
> > is probably not worth the effort to implement or maintain.
>
> You can also write things like
>
> \new RhythmicStaff \drummode { tambourine
>   4 4 \tuplet 3/2 { 8 8 8 } r8 8
>   R1*8
>   4 4 r8 8 4
> }
>
> and need to write "tambourine" only once.  If rests would override the
> "tambourine", that would be a lot less convenient.
>
> --
> David Kastrup



Re: Repeated durations: pitches vs rests

2021-02-22 Thread David Bellows
Hi Timothy,

> David Kastrup (who probably implemented the feature) comments on the
design decisions here

Thanks for that. That is definitely not a use-case I had anticipated
though it's nice to see that I'm not alone in wondering about the
default behavior. And apparently my solution involving an alternate
syntax (adding a ~ (tilde) to a rest to make LilyPond repeat the rest)
is probably not worth the effort to implement or maintain.

Dave

On Mon, Feb 22, 2021 at 12:00 PM Timothy Lanfear  wrote:
>
> On 22/02/2021 19:30, David Bellows wrote
> > And that's mainly what I was trying to find out. For me, the expected
> > behavior is that with a lone duration, the rest would be repeated if
> > it is the object immediately preceding the lone duration. If it turns
> > out that most people would expect that rest to be ignored and for
> > LilyPond to keep searching backward till it finds a pitch, then that's
> > fine. Not what I expected but if I'm in the minority then code
> > operates as it should. If I were in the majority then it would seem to
> > be in everyone's best interest if the behavior were changed.
> >
> > Dave
> >
> David Kastrup (who probably implemented the feature) comments on the
> design decisions here
> https://lists.gnu.org/archive/html/lilypond-user/2020-03/msg00355.html.
>
>
> --
>
> Timothy Lanfear, Bristol, UK.
>
>



Re: Repeated durations: pitches vs rests

2021-02-22 Thread David Bellows
Hello David,

> Why does your software want to emit a lone duration?

To take advantage of the recent addition of this feature to the
LilyPond code. Given how my audio data is converted into LilyPond
syntax, using this shortcut would have made certain kinds of durations
easier for me to code in.

> Does it not know what pitch, or silence, is required at that point? Why is 
> this
information not immediately to hand?

The software and the process are complicated. The audio data is stored
in its own format (frequency, duration in seconds, amplitude between 0
and 1) which corresponds almost directly to what I need in Csound.
Converting that to what LilyPond needs involves a binary search of a
table with the key being durations in seconds and the values as
LilyPond durations. That's already a fairly large table and right now
it has almost no double dotted durations. Adding tied durations would
make it even more tedious.

To make this long story short and leaving out some other crucial
details, the solution for tied rhythms could have been handled with
almost no code if the lone duration feature operated in the manner I
assumed it would, eg r4~ 16 would produce two rest notes. Since it
doesn't work this way, this means I need to code in how to deal with
tied durations. It can be done, but it is more work than I had hoped
for. I'll survive, it just surprised me that the behavior is not what
I expected.

> That's right: Music Notation 101. We all learn to deal with that.

Not sure what your point is.

> Go back and redesign how your software codifies the
music, and how it generates LP code from that, using an absolute pitch
and duration for each note, chord and rest.

Five years in and I'm not going to redo everything just to make this
one thing work easier. The LilyPond part of the software operates well
as it is, it just now needs to deal with an extra problem.

> and a lot more typing for people.

And that's mainly what I was trying to find out. For me, the expected
behavior is that with a lone duration, the rest would be repeated if
it is the object immediately preceding the lone duration. If it turns
out that most people would expect that rest to be ignored and for
LilyPond to keep searching backward till it finds a pitch, then that's
fine. Not what I expected but if I'm in the minority then code
operates as it should. If I were in the majority then it would seem to
be in everyone's best interest if the behavior were changed.

Dave

On Mon, Feb 22, 2021 at 9:36 AM David Wright  wrote:
>
> On Mon 22 Feb 2021 at 00:07:56 (-0800), David Bellows wrote:
> >
> > Right, so I'm not asking for two rests to actually be tied. I was just
> > hoping that the behavior of a lone duration value would repeat the
> > rest right before it and not skip back till it finds a note.
>
> Why does your software want to emit a lone duration? Does it not know
> what pitch, or silence, is required at that point? Why is this
> information not immediately to hand?
>
> > For example, instead of {c4 r4 16} resulting in "C, rest, C", it would
> > be "C, rest, rest" with no ties anywhere.
>
> At a stroke, this destroys the documented intent of the isolated
> duration notation:
>
>"Isolated durations in music sequences now stand for unpitched
> notes. This may be useful for specifying rhythms to music or
> scheme functions. When encountered in the final score, the pitches
> are provided by the preceding note or chord."
>
> Rhythmic sequences, of course, need to be able to include rests,
> and their inclusion shouldn't cause LP to throw away all the pitch
> information that's being duplicated.
>
> > My software can handle all normal durations including dotted ones. But
> > a quarter tied to a 16th can only be notated with a tie. There is no
> > other simple way to notate it which means I need two notes or two
> > rests in my LilyPond file.
>
> That's right: Music Notation 101. We all learn to deal with that.
>
> > I'm sure I can eventually figure out how to make LilyPond's current
> > behavior work with my software, it's just that it will take a lot of
> > work.
>
> No, don't do that. Go back and redesign how your software codifies the
> music, and how it generates LP code from that, using an absolute pitch
> and duration for each note, chord and rest. Short-cuts are for humans.
>
> > If a lone duration would use a previous rest instead of going
> > back to find a note, then it would be much easier for me to implement.
>
> … and a lot more typing for people. (That's ignoring any consideration
> of preexisting LP and scheme code that would need conversion.) Any
> short-cut is a trade-off, \relative being one of the more discussed
> examples on this list, but the benefits of this particular one might
> not be obvious to someone who writes only melodies, for example.
>
> Cheers,
> David.



Re: Repeated durations: pitches vs rests

2021-02-22 Thread David Bellows
Hey Martin,

> it’s best that softwares that produce Lilypond files don’t use any kind of 
> shortcuts, they should write everything explicitly (and in absolute mode) 
> instead.

Your advice is excellent. Shortcuts like this probably have finicky
lives and if something more important comes along that breaks it, then
it will stay broken and I'll have to deal with this again anyway.

> I’ll just agree with Andrew that they don’t make sense. Your software will 
> have to take tied groups of notes and remove the ties when converting notes 
> to rests.

I was looking at that as a syntactical option to get the desired
behavior as opposed to the regular syntax which produces the current
(and surprising to me) behavior. In other words, a tied rest would
still be printed out as two rests but in the case of the lone
duration, the rest would be repeated instead of whatever note came
before the rest. It's probably a complication to the LilyPond code
that isn't worth dealing with.

Dave

On Mon, Feb 22, 2021 at 12:36 AM Martín Rincón Botero
 wrote:
>
> Hi David,
>
> I don’t know what software you’re using to create your Lilypond files, but 
> what working with Python and abjad has taught me is that it’s best that 
> softwares that produce Lilypond files don’t use any kind of shortcuts, they 
> should write everything explicitly (and in absolute mode) instead. I suggest 
> you program your software with that in mind: it’ll save you lots of headaches 
> down the road. Leave shortcuts and relative mode only for manually generated 
> files.
>
> As for tied rest, I’ll just agree with Andrew that they don’t make sense. 
> Your software will have to take tied groups of notes and remove the ties when 
> converting notes to rests.
>
> Cheers,
> Martín.
>
> www.martinrinconbotero.com
> On 22. Feb 2021, 09:09 +0100, David Bellows , wrote:
>
> Hello Andrew,
>
> Right, so I'm not asking for two rests to actually be tied. I was just
> hoping that the behavior of a lone duration value would repeat the
> rest right before it and not skip back till it finds a note.
>
> For example, instead of {c4 r4 16} resulting in "C, rest, C", it would
> be "C, rest, rest" with no ties anywhere.
>
> But if that is not the expected behavior from most people then perhaps
> adding a tie to the rest could tell LilyPond to make that lone
> duration a rest instead of skipping back till it finds a note.
>
> So {c4 r4~ 16) would result in: C, rest, rest (with no ties in the
> actual sheet music). If not the tilde then perhaps some other symbol
> to signify this behavior.
>
> Why cant you just have a rest of the appropriate
>
> duration? You can have dotted rests you know, and durations can be
> scaled as can note durations.
>
> My software can handle all normal durations including dotted ones. But
> a quarter tied to a 16th can only be notated with a tie. There is no
> other simple way to notate it which means I need two notes or two
> rests in my LilyPond file. I don't think scaling the duration will
> produce something that a performer would understand.
>
> I'm sure I can eventually figure out how to make LilyPond's current
> behavior work with my software, it's just that it will take a lot of
> work. If a lone duration would use a previous rest instead of going
> back to find a note, then it would be much easier for me to implement.
>
> Dave
>
> On Sun, Feb 21, 2021 at 11:23 PM Andrew Bernard
>  wrote:
>
>
> Ties rests make no musical sense, even in relation to programmatically
> generated music. Why cant you just have a rest of the appropriate
> duration? You can have dotted rests you know, and durations can be
> scaled as can note durations.
>
> a
>
>
>
>



Re: Repeated durations: pitches vs rests

2021-02-22 Thread David Bellows
Hello Andrew,

Right, so I'm not asking for two rests to actually be tied. I was just
hoping that the behavior of a lone duration value would repeat the
rest right before it and not skip back till it finds a note.

For example, instead of {c4 r4 16} resulting in "C, rest, C", it would
be "C, rest, rest" with no ties anywhere.

But if that is not the expected behavior from most people then perhaps
adding a tie to the rest could tell LilyPond to make that lone
duration a rest instead of skipping back till it finds a note.

So {c4 r4~ 16) would result in: C, rest, rest (with no ties in the
actual sheet music). If not the tilde then perhaps some other symbol
to signify this behavior.

> Why cant you just have a rest of the appropriate
duration? You can have dotted rests you know, and durations can be
scaled as can note durations.

My software can handle all normal durations including dotted ones. But
a quarter tied to a 16th can only be notated with a tie. There is no
other simple way to notate it which means I need two notes or two
rests in my LilyPond file. I don't think scaling the duration will
produce something that a performer would understand.

I'm sure I can eventually figure out how to make LilyPond's current
behavior work with my software, it's just that it will take a lot of
work. If a lone duration would use a previous rest instead of going
back to find a note, then it would be much easier for me to implement.

Dave

On Sun, Feb 21, 2021 at 11:23 PM Andrew Bernard
 wrote:
>
> Ties rests make no musical sense, even in relation to programmatically
> generated music. Why cant you just have a rest of the appropriate
> duration? You can have dotted rests you know, and durations can be
> scaled as can note durations.
>
> a
>
>
>



Re: Repeated durations: pitches vs rests

2021-02-21 Thread David Bellows
Hello Andrew,

> It's just the syntax. A 16 without a note will produce a
note, not a rest, even after a rest.

> People don't normally put ties on rests - does not quite make sense, as
a ties means hold the note and don't articulate, whereas silence cant be
articulated anýway.

So if a duration without a rest will result in a note and that a rest
with a tie is otherwise meaningless, then perhaps a rest with a tie
followed by a duration could be made to produce a rest instead of a
note.

{c4 r16 8}

would produce: C, rest, C,

while:

{c4 r16~ 8}

would produce: C, rest, rest

> Is it that hard to make the computer program emit an r for a rest?

As you can imagine, writing software that takes audio data and
converts it into LilyPond files automatically is not an easy task. My
software does create rests, it's just in the particular situation
where a voice in one staff (like in a piano) has a quarter tied to a
16th that I need the same voice in the other staff to create the
appropriate rests (quarter followed by a 16th). The way my software is
designed, it handles all simple durations just fine, but ones that
require ties are where the problem is and I do not see a way out that
doesn't add a lot of complexity. It's the peculiarity of how I
designed my program that ultimately is the problem but it's also
something that is way, way too late in the game to change.

The rest with a tie solution would make my life a ton easier and could
just be plugged straight into my software without any actual
programming. Otherwise, I will have to program in a solution and it
will be difficult to graft it onto the existing code.

Dave

On Sun, Feb 21, 2021 at 10:02 PM Andrew Bernard
 wrote:
>
> Its not a bug. It's just the syntax. A 16 without a note will produce a
> note, not a rest, even after a rest. There would be a dozen different
> possibilities for syntax, but that's how it is.
>
> Is it that hard to make the computer program emit an r for a rest?
> People don't normally put ties on rests - does not quite make sense, as
> a ties means hold the note and don't articulate, whereas silence cant be
> articulated anýway.
>
>
> Andrew
>
>
> David Bellows wrote on 22/02/2021 4:20 PM:
> > I had hoped that the last 16th would be a rest.
> >
> >
>
>



Repeated durations: pitches vs rests

2021-02-21 Thread David Bellows
The following:

{c4 16}

produces a quarter note C followed by a 16th note C

The following:

{c4 16 r4 16}

Produces a quarter C, 16th C, quarter rest, 16th C

I had hoped that the last 16th would be a rest.

This came about while trying out this code:

{c4~ 16 r4~ 16}

which produces the tie with the first two notes but again, that last
16 is a separate 16th note C.

I don't know what the expected behavior is but at least for my case,
remembering the rest would be the most helpful outcome. Or at least a
tie from a rest seems like it would always want the next note to be a
rest, right?

My music is all computer generated along with the LilyPond files and
the behavior I describe is what would be best for me, but I get if
that's not how it is for most people.

So I don't know if there is a work-around, if this is a bug, or a
feature request?

Any help would be appreciated even if it's just that my desire here is
way out of the ordinary.

Dave



Re: Any news on the engraving conference at Mozarteum?

2020-02-06 Thread David Bellows
> The general consensus seemed to be that the conference was a worthwhile
experience ;-). Others might give more details.

> Everything, including the Lilypond developer meeting on Sunday, has been
recorded on video. We haven't descided yet on the best way to publish
it, but this will happen in one way or the other "real soon now"

That's great news! I can't wait to see the videos.

Thanks, Dave

On Thu, Feb 6, 2020 at 12:49 PM Lukas-Fabian Moser  wrote:
>
> Hi David,
>
> Am 06.02.20 um 21:43 schrieb David Bellows:
> > I guess specifically I'm directing this to Urs, how did the conference
> > go and will any of the content be made available for viewing online?
>
> The general consensus seemed to be that the conference was a worthwhile
> experience ;-). Others might give more details.
>
> Everything, including the Lilypond developer meeting on Sunday, has been
> recorded on video. We haven't descided yet on the best way to publish
> it, but this will happen in one way or the other "real soon now" - given
> that the Mozarteum's February holidays started and I have a little bit
> more time.
>
> Best
> Lukas
>



Any news on the engraving conference at Mozarteum?

2020-02-06 Thread David Bellows
I guess specifically I'm directing this to Urs, how did the conference
go and will any of the content be made available for viewing online?



Re: Unconventional score and unwanted stray staff lines

2019-12-01 Thread David Bellows
Hey Thomas,

> Maybe throw \RemoveEmptyStaves away.

That works for this example but when I incorporate that back into the
original issue 
(https://lists.gnu.org/archive/html/lilypond-user/2019-05/msg00263.html)
it results in the stray staves being printed which is what lead to
this whole problem in the first place.

Because these examples are all part of the same music generating
algorithm, I don't think I'm going to be able to come up with a rule
for when to include \RemoveEmptyStaves and when not to.

On Sun, Dec 1, 2019 at 1:20 AM Thomas Morley  wrote:
>
> Am Sa., 30. Nov. 2019 um 23:19 Uhr schrieb David Bellows
> :
> >
> > Hello everyone, I started this thread back in May and as far as I can
> > tell the main problem has not been added to the tracker.
>
> Yep.
>
>
> > As I was playing around with my software (summary: a program that
> > generates music and then automatically generates Lilypond files where
> > the Lilypond file is compiled without any human interaction so it has
> > to be able to handle some crazy, crazy stuff), I discovered a
> > situation that is not properly handled by the workaround. I fear that
> > fixing this will require a workaround for the workaround which feels
> > like a bad thing. But since I don't understand what's going on and I
> > don't understand the relationship between the minimal working examples
> > supplied by others and my original example, I have no idea if the new
> > problem is part of the original issue, part of the workaround, an
> > entirely separate issue that happens to be rearing its ugly head here.
> >
> > As you'll see, the problem is incorporating a score that is
> > entirely/mostly rests into the previous workaround. Problems result.
> >
> > So, I'm not sure what my next step should be.
> >
> > Anyway, I've attached a Lilypond file. There are three different ways
> > to compile it, you just comment out the options you don't want. I've
> > attached the three resulting pdfs. I apologize for any extraneous code
> > and the way it is structured as I've kept it as close to my original
> > form as possible.
> >
> > Thanks for any additional help,
> > Dave Bellows
>
> Your first example is ok. there's no need for a line-break.
> Same for the second one: You use \RemoveEmptyStaves, thus the second
> line of rests is deleted.
> Consequently your third example (with notes) works as expected.
>
> Maybe throw \RemoveEmptyStaves away.
>
>
> Cheers,
>   Harm



Re: Unconventional score and unwanted stray staff lines

2019-11-30 Thread David Bellows
Sorry Flaming Hakama by Elaine,

> Very unclear what the original issue is.  If by "workarounds" you mean the 
> context definitions that remove various engravers, then it is unclear what 
> you expect to print if you remove everything.

I was making a dumb assumption that the history of this entire thread
would be present and would provide the necessary context. My initial
email starts here:
https://lists.gnu.org/archive/html/lilypond-user/2019-05/msg00263.html
The main workaround, if I remember correctly, is the use of \stopStaff
to prevent empty staves from printing past the final bar line.

> As best I can gather, it seems like you want to print rests, with no 
> barlines, and with line breaks.

Actually, I want all the rests with bar lines and with line breaks.
The context where this fails is where I use the various engravers
which implement different features making the process more flexible.
See that first email I linked to above and the attached bad_test.pdf
and bad_test.ly lilypond files for examples of things going wrong.

In the examples I supplied in my previous email, everything works as
it should when printing notes but runs into problems when printing
rests. The last email of the original thread back in May ended with
someone needing to submit an official bug report but I don't think
this happened. I'm hoping that whatever bug might be causing this
will, when fixed, take care of this problem with the rests.

So I guess I was looking for an update with regard to that bug and it
being submitted to the tracker. And hoping that the situation with the
rests doesn't add any difficulties to resolving that bug.

Dave


On Sat, Nov 30, 2019 at 6:03 PM Flaming Hakama by Elaine
 wrote:
>
>
>
>> -- Forwarded message --
>> From: David Bellows 
>> To:
>> Cc: lilypond-user Mailinglist 
>> Bcc:
>> Date: Sat, 30 Nov 2019 14:18:48 -0800
>> Subject: Re: Unconventional score and unwanted stray staff lines
>
>
>>
>> As I was playing around with my software (summary: a program that
>> generates music and then automatically generates Lilypond files where
>> the Lilypond file is compiled without any human interaction so it has
>> to be able to handle some crazy, crazy stuff), I discovered a
>> situation that is not properly handled by the workaround.
>
>
>> As you'll see, the problem is incorporating a score that is
>> entirely/mostly rests into the previous workaround. Problems result.
>
>
> Very unclear what the original issue is.  If by "workarounds" you mean the 
> context definitions that remove various engravers, then it is unclear what 
> you expect to print if you remove everything.
>
>> So, I'm not sure what my next step should be.
>
>
> Describe more clearly what you are trying to achieve.
>
>>
>> Anyway, I've attached a Lilypond file. There are three different ways
>> to compile it, you just comment out the options you don't want.
>
>
> Better to have one file per use case.
>
>> Thanks for any additional help,
>> Dave Bellows
>
>
>
> Just guessing about what you are trying to achieve.  As best I can gather, it 
> seems like you want to print rests, with no barlines, and with line breaks.  
> Here is one way to achieve this.  Not sure what the point of \stopStaff is, 
> but it works with that command.
>
>
> \version "2.19.83"
>
> \header{
> title = "19 rests: prints all rests and line breaks, and uses empty 
> barlines rather than removing the barline engraver."
> }
>
> voice_one_one = {
> r1 \bar "" r1 \bar "" r1 \bar "" r1 \bar "" r1 \bar "" r1 \bar "" \break
> r1 \bar "" r1 \bar "" r1 \bar "" r1 \bar "" r1 \bar "" r1 \bar "" \break
> r1 \bar "" r1 \bar "" r1 \bar "" r1 \bar "" r1 \bar "" r1 \bar "" r1 \bar 
> ""
> \bar "|."
> \stopStaff
> }
>
> \score {
> <<
> \new PianoStaff  <<
> \new Staff = "upper" <<
> \clef "treble"
> \voice_one_one
> >>
> >>
> >>
> }
>
>
> HTH,
>
> Elaine Alt
> 415 . 341 .4954   "Confusion is 
> highly underrated"
> ela...@flaminghakama.com
> Producer ~ Composer ~ Instrumentalist ~ Educator
> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-



Re: Unconventional score and unwanted stray staff lines

2019-05-21 Thread David Bellows
Thomas,

> Main thing here is
>  \stopStaff

Ok, so \noStaff seems to fix my problem without the need for anything
else. I'll need to test it a lot more but perhaps that will get me
through until/unless this problem gets solved within Lilypond. Thanks
for that! I search and search the documentation and the mail list but
sometimes that one command I really need escapes me.

> Could you please provide a minimal where it does not?

I don't know how to make a truly minimal example but I have stripped
out all the unnecessary bits and attached it and the pdf it produces.
Sorry it's not as minimal as it should be -- I often don't understand
what's going on in my own Lilypond files.

\noBeam fixes the problem with notes that would be beamed unless that
note is tied to a previous one. You can see this in Piano 1 and 6.

Dave

On Tue, May 21, 2019 at 12:12 PM Thomas Morley  wrote:
>
> Am Di., 21. Mai 2019 um 18:03 Uhr schrieb David Bellows 
> :
> >
> > Hi Thomas,
> >
> > Thanks for jumping in!
>
> Well, without Urs' minimal I wouldn't have. Thanks Urs!
>
> > > At least in the minimal one can workaround with inserting \noBeam:
> >
> > It works in some cases but not when that last pitch it tied to
> > previous notes (see attached pdf).
>
> Here it works with \noBeam:
>   <<
> \new Staff { c'1 c'1 }
> \new Staff { c'1 c'4~ c'16 \noBeam }
>   >>
>
> Could you please provide a minimal where it does not?
>
> > Karim provided a workaround:
> >
> > \once \set Staff.whichBar = "|." \override Staff.Clef.stencil=##f \set
> > PianoStaff.shortInstrumentName = #"" \stopStaff
>
> Main thing here is
>   \stopStaff
>
> The other settings may have more to do with a personal workflow, I suppose.
>
> Cheers,
>   Harm


test.pdf
Description: Adobe PDF document
\version "2.19.83" 

\language "english"

scoreinfo = {\time 4/4 \tempo "andante" 4 = 90}

voice_one_one = {\key c \major r64 r128 r4 r4 \noBeam \bar "|."  }

voice_two_one = {\key c \major e,,64\mp cs128\ppp g4 gs4\fff \noBeam \bar "|."  }

voice_one_two = {\key c \major r1 fs'''4\ppp fs''4\p r64 \noBeam  \bar "|."  }

voice_two_two = {\key c \major d,1\ppp r4 r4 g64\pp \noBeam \bar "|."  }

voice_one_three = {\key c \major r4. r1 g'1.\pp ds'8\ppp \noBeam \bar "|."  }

voice_two_three = {\key c \major e4.\mp r1 r1. r8 \noBeam \bar "|."  }

voice_one_four = {\key c \major cs''2\mf e'''2.\p as''2\ f''64\mp \noBeam \bar "|."  }

voice_two_four = {\key c \major r2 r2. r2 r64 \noBeam \bar "|."  }

voice_one_five = {\key c \major cs128\mf r32 r2 gs4\mp \noBeam \bar "|."  }

voice_two_five = {\key c \major r128 r32 as2\ r4 \noBeam \bar "|."  }

voice_one_six = {\key c \major r1 a'''64\f r32 r2.. \noBeam \bar "|."  }

voice_two_six = {\key c \major a1\mp r64 f,,32\ c,2..\fff \noBeam \bar "|."  }

\paper {#(set-paper-size "letter") short-indent = 5\mm}

\score { << 
  \new PianoStaff \with { instrumentName = #"Piano 1" shortInstrumentName = #"Pn 1" } << 
\new Staff = "upper" << 
  \scoreinfo \clef "treble" \voice_one_one >> 
\new Staff = "lower" << 
  \scoreinfo \clef bass \voice_two_one >> 
 >>

  \new PianoStaff \with { instrumentName = #"Piano 2" shortInstrumentName = #"Pn 2" } << 
\new Staff = "upper" << 
  \scoreinfo \clef "treble" \voice_one_two >> 
\new Staff = "lower" << 
  \scoreinfo \clef bass \voice_two_two >> 
 >>

  \new PianoStaff \with { instrumentName = #"Piano 3" shortInstrumentName = #"Pn 3" } << 
\new Staff = "upper" << 
  \scoreinfo \clef "treble" \voice_one_three >> 
\new Staff = "lower" << 
  \scoreinfo \clef bass \voice_two_three >> 
 >>

  \new PianoStaff \with { instrumentName = #"Piano 4" shortInstrumentName = #"Pn 4" } << 
\new Staff = "upper" << 
  \scoreinfo \clef "treble" \voice_one_four >> 
\new Staff = "lower" << 
  \scoreinfo \clef bass \voice_two_four >> 
 >>

  \new PianoStaff \with { instrumentName = #"Piano 5" shortInstrumentName = #"Pn 5" } << 
\new Staff = "upper" << 
  \scoreinfo \clef "treble" \voice_one_five >> 
\new Staff = "lower" << 
  \scoreinfo \clef bass \voice_two_five >> 
 >>

  \new PianoStaff \with { instrumentName = #"Piano 6" shortInstrumentName = #"Pn 6" } << 
\new Staff = "upper" << 
  \scoreinfo \clef "treble" \voice_one_six >> 
\new Staff = "lower" << 
  \scoreinfo \clef bass \voice_two_six >> 
 >>

>> 
  \layout{ragged-bottom = ##t  
\context { \Score \remove "Timing_translator" \remove "Default_bar_line_engraver"}
\context { \Staff \consists "Timing_translator" \consists "Default_bar_line_engraver" }
\context { \Voice \remove "Note_heads_engraver" \consists "Completion_heads_engraver" \remove "Rest_engraver" \consists "Completion_rest_engraver" completionUnit = #(ly:make-moment 2/4)}} 
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Unconventional score and unwanted stray staff lines

2019-05-21 Thread David Bellows
Hi Thomas,

Thanks for jumping in!

> At least in the minimal one can workaround with inserting \noBeam:

It works in some cases but not when that last pitch it tied to
previous notes (see attached pdf). When they are not tied this works
well. In my use-case, I have Lilypond break notes up automatically
across beams and according to the beat using all kinds of durations so
this sort of thing happens a lot in the scores I generate.

Karim provided a workaround:

\once \set Staff.whichBar = "|." \override Staff.Clef.stencil=##f \set
PianoStaff.shortInstrumentName = #"" \stopStaff

along with: with \context {\Staff \RemoveEmptyStaves}

This seems to work in all my tests but I was hoping for cleaner
Lilypond files since my users will have access to them.

Dave

On Tue, May 21, 2019 at 2:56 AM Thomas Morley  wrote:
>
> Am Di., 21. Mai 2019 um 11:27 Uhr schrieb Urs Liska :
> >
> >
> >
> > Am 21. Mai 2019 10:49:01 MESZ schrieb Thomas Morley 
> > :
> > >Am Di., 21. Mai 2019 um 02:32 Uhr schrieb Thomas Morley
> > >:
> > >>
> > >> Am So., 19. Mai 2019 um 20:32 Uhr schrieb Urs Liska
> > >:
> > >>
> > >> > The staves that continue to be printed appear to only happen when
> > >the
> > >> > last note in that staff is an actual printed note. If it's a rest
> > >or a
> > >> > space then the extra staves are not printed. Further
> > >experimentation
> > >> > and it looks like the extra staves are only printed if the final
> > >note
> > >> > is less than a quarter note (!).
> > >> [..]
> > >> > Maybe something to do with the time signature as well?
> > >> >
> > >> > This looks like a bug maybe?
> > >> >
> > >> > I could confirm that behaviour with the following MWE:
> > >> >
> > >> > \version "2.21.0"
> > >> >
> > >> > \score {
> > >> >   <<
> > >> > \new Staff { c'1 c'1 }
> > >> > \new Staff { c'1 c'4 c'16 }
> > >> > \new Staff { c'1 c'8 }
> > >> > \new Staff { c'1 c'4 }
> > >> > \new Staff { c'1 c'4. }
> > >> >   >>
> > >> > }
> > >> >
> > >> > I too find this surprising. I suggest you ask on lilypond-user
> > >whether this is a bug or intended behaviour. If it is intended (due to
> > >some engraving convention for example) it might be made configurable.
> > >>
> > >> Looks like a bug to me.
> > >>
> > >> First bad commit:
> > >>
> > >> commit 9ff88d127acb371435a96e04cba7f0e3f525496d
> > >> Author: Keith OHara 
> > >> Date:   Sat Aug 6 12:05:59 2011 -0700
> > >>
> > >> auto-beam-engraver: keep a Context_handle to starting Staff
> > >>
> > >> Which is in version 2.15.9
> > >>
> > >> cc-ing Keith
> > >>
> > >>
> > >> Cheers,
> > >>   Harm
> > >
> > >At least in the minimal one can workaround with inserting \noBeam:
> > >
> > >\score {
> > >  <<
> > >\new Staff { c'1 c'1 }
> > >\new Staff { c'1 c'4 c'16 \noBeam }
> > >\new Staff { c'1 c'8 \noBeam }
> > >\new Staff { c'1 c'4 }
> > >\new Staff { c'1 c'4. }
> > >  >>
> > >}
> > >
> >
> > Which might even be a pointer to the underlying trigger.
> >
> > Urs
> >
> > >Cheers,
> > >  Harm
>
> Finally I found it on the tracker:
> https://sourceforge.net/p/testlilyissues/issues/1800/
> Review at Rietveld:
> https://codereview.appspot.com/4830064
>
> And indeed
>
> <<
>   \new Voice {
> c8 c c
> \change Staff = "down"
> c
>   }
>   \context Staff = "down" s2
> >>
>
> segfaults without the patch
>
>
> Cheers,
>   Harm
>
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user


Piano_Simple_Melody.pdf
Description: Adobe PDF document
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Unconventional score and unwanted stray staff lines

2019-05-19 Thread David Bellows
Hey Mark,

> You are asking a computer (Lilypond) to look good when "one never knows 
> what's going to happen."

> IMHO, the two are mutually exclusive.

One of the big reasons I chose Lilypond for this project is how good a
job it does at making things look good by default without human
intervention. Obviously I have to experiment a lot with options and
how I handle things but so far it's doing really well. And even when
something is less than ideal on a particular run -- since the notes
being generated are random --, the results are still generally
acceptable. Lilypond really is a pretty terrific program.

On Sun, May 19, 2019 at 2:39 PM Mark Stephen Mrotek
 wrote:
>
> Dave,
>
> You are asking a computer (Lilypond) to look good when "one never knows 
> what's going to happen."
>
> IMHO, the two are mutually exclusive.
>
> Mark
>
> -Original Message-
> From: David Bellows [mailto:davebell...@gmail.com]
> Sent: Sunday, May 19, 2019 1:23 PM
> To: Mark Stephen Mrotek 
> Cc: lilypond-user 
> Subject: Re: Unconventional score and unwanted stray staff lines
>
> Hey Mark,
>
> This music is generated algorithmically and there are a lot of options for 
> the user to choose from, so one never knows what's going to happen. I need 
> for Lilypond to do its usual thing and look perfect without any additional 
> user interaction.
>
> For example, I left out of these examples the scheme code that automatically 
> adds ottava markings based on the instrument and so on.
>
> Dave
>
> On Sun, May 19, 2019 at 10:35 AM Mark Stephen Mrotek  
> wrote:
> >
> > David,
> >
> > My experience is transcribing 18th and 19th century piano scores.
> > I do get "run-off" staves.
> > This is usually the result of incorrect mensuration of a note or notes.
> >
> > You piece still has some sort of vertical simultaneity.
> > Perhaps you could start with a temporary time signature, just to see if 
> > voices align.
> > Then remove it for publication.
> >
> > Mark
> >
> > -Original Message-
> > From: David Bellows [mailto:davebell...@gmail.com]
> > Sent: Saturday, May 18, 2019 10:46 PM
> > To: Mark Stephen Mrotek 
> > Cc: lilypond-user 
> > Subject: Re: Unconventional score and unwanted stray staff lines
> >
> > Hey Mark,
> >
> > > Maybe use bar checks?
> >
> > Given that a lot of the music isn't generated to fit any particular time 
> > signature (ie, the bar lines are often there just to break things up to 
> > ease reading), I would get tons of bar check errors. Plus, keeping track of 
> > when bars should be inserted in my software seems like it would be a huge 
> > chore. Is this something you think would solve the problem?
> >
> > On Sat, May 18, 2019 at 10:25 PM Mark Stephen Mrotek  
> > wrote:
> > >
> > > David
> > >
> > > Maybe use bar checks?
> > >
> > > Mark
> > >
> > > -Original Message-
> > > From: lilypond-user
> > > [mailto:lilypond-user-bounces+carsonmark=ca.rr@gnu.org] On
> > > Behalf Of David Bellows
> > > Sent: Saturday, May 18, 2019 3:59 PM
> > > To: lilypond-user 
> > > Subject: Unconventional score and unwanted stray staff lines
> > >
> > > Hello everyone,
> > >
> > > I tried to keep the examples minimal but I also needed to show the full 
> > > extent of what is going on.
> > >
> > > Attached are two Lilypond files and pdfs showing an unconventional score. 
> > > Each part has the same number of notes but since the durations are 
> > > random, each part ends at its own time.
> > >
> > > badtest.ly and badtest.pdf show the default behavior. When a part ends, 
> > > one of its staves continues on till the last part ends. I don't want this 
> > > behavior.
> > >
> > > test.ly and test.pdf do a better job of showing what happens with the 
> > > workaround hack of adding s128 at the end of each part. The problem with 
> > > that -- and I didn't include examples -- is that if all the durations are 
> > > the same and end at a natural bar line, an extra empty measure is added 
> > > at the end of each part. I can't check for this occurrence ahead of time 
> > > in my own software as it would be insane to keep track of all of that.
> > >
> > > You'll notice a lot of context commands all of which I think are 
> > > necessary to get everything else to look as it should.
> > >
> > > So I'm hoping someone has an idea about what's going on here and how
> > > to prevent those extra staves like in test.pdf
> > >
> > > Also, these Lilypond files are generated automatically by another program 
> > > I've created so the layout of the Lilypond file can't really be changed 
> > > without a massive amount of work. Hopefully a solution won't require 
> > > something like that.
> > >
> >
>

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


Re: Unconventional score and unwanted stray staff lines

2019-05-19 Thread David Bellows
Hey Kieren,

> If the algorithm uses a random number generator to determine which output to 
> give, “one never knows what’s going to happen”, but it would still be easy 
> for Lilypond to make the result "look good".

Yep, that's it exactly. I do spend a lot of time generating a lot of
different runs with different parameters and such looking for weird
gotchas and then coming up with general solutions when those things
happen. So far the results are really good which is a testament to
Lilypond's quality. The final result will be online and there will be
no chance for the user to fix the Lilypond file so I need to make sure
things look as good as possible.

Dave

On Sun, May 19, 2019 at 2:50 PM Kieren MacMillan
 wrote:
>
> Hi Mark,
>
> > You are asking a computer (Lilypond) to look good when "one never knows 
> > what's going to happen."
> > IMHO, the two are mutually exclusive.
>
> Doesn’t that depends ultimately upon the precise algorithms (and thus output) 
> involved? I mean, I could code an algorithm that outputs either
>
>   { c'1 }
>
> or
>
>   { c''1 }
>
> with no other possibility. If the algorithm uses a random number generator to 
> determine which output to give, “one never knows what’s going to happen”, but 
> it would still be easy for Lilypond to make the result "look good".
>
> Obviously this is a vast simplification of the actual situation under 
> discussion… My point is simply that the two constraints, while potentially 
> difficult to satisfy simultaneously, aren’t [literally] mutually exclusive.
>
> Cheers,
> Kieren.
> 
>
> Kieren MacMillan, composer
> ‣ website: www.kierenmacmillan.info
> ‣ email: i...@kierenmacmillan.info
>

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


Re: Unconventional score and unwanted stray staff lines

2019-05-19 Thread David Bellows
Hey Mark,

This music is generated algorithmically and there are a lot of options
for the user to choose from, so one never knows what's going to
happen. I need for Lilypond to do its usual thing and look perfect
without any additional user interaction.

For example, I left out of these examples the scheme code that
automatically adds ottava markings based on the instrument and so on.

Dave

On Sun, May 19, 2019 at 10:35 AM Mark Stephen Mrotek
 wrote:
>
> David,
>
> My experience is transcribing 18th and 19th century piano scores.
> I do get "run-off" staves.
> This is usually the result of incorrect mensuration of a note or notes.
>
> You piece still has some sort of vertical simultaneity.
> Perhaps you could start with a temporary time signature, just to see if 
> voices align.
> Then remove it for publication.
>
> Mark
>
> -Original Message-
> From: David Bellows [mailto:davebell...@gmail.com]
> Sent: Saturday, May 18, 2019 10:46 PM
> To: Mark Stephen Mrotek 
> Cc: lilypond-user 
> Subject: Re: Unconventional score and unwanted stray staff lines
>
> Hey Mark,
>
> > Maybe use bar checks?
>
> Given that a lot of the music isn't generated to fit any particular time 
> signature (ie, the bar lines are often there just to break things up to ease 
> reading), I would get tons of bar check errors. Plus, keeping track of when 
> bars should be inserted in my software seems like it would be a huge chore. 
> Is this something you think would solve the problem?
>
> On Sat, May 18, 2019 at 10:25 PM Mark Stephen Mrotek  
> wrote:
> >
> > David
> >
> > Maybe use bar checks?
> >
> > Mark
> >
> > -Original Message-
> > From: lilypond-user
> > [mailto:lilypond-user-bounces+carsonmark=ca.rr@gnu.org] On Behalf
> > Of David Bellows
> > Sent: Saturday, May 18, 2019 3:59 PM
> > To: lilypond-user 
> > Subject: Unconventional score and unwanted stray staff lines
> >
> > Hello everyone,
> >
> > I tried to keep the examples minimal but I also needed to show the full 
> > extent of what is going on.
> >
> > Attached are two Lilypond files and pdfs showing an unconventional score. 
> > Each part has the same number of notes but since the durations are random, 
> > each part ends at its own time.
> >
> > badtest.ly and badtest.pdf show the default behavior. When a part ends, one 
> > of its staves continues on till the last part ends. I don't want this 
> > behavior.
> >
> > test.ly and test.pdf do a better job of showing what happens with the 
> > workaround hack of adding s128 at the end of each part. The problem with 
> > that -- and I didn't include examples -- is that if all the durations are 
> > the same and end at a natural bar line, an extra empty measure is added at 
> > the end of each part. I can't check for this occurrence ahead of time in my 
> > own software as it would be insane to keep track of all of that.
> >
> > You'll notice a lot of context commands all of which I think are necessary 
> > to get everything else to look as it should.
> >
> > So I'm hoping someone has an idea about what's going on here and how
> > to prevent those extra staves like in test.pdf
> >
> > Also, these Lilypond files are generated automatically by another program 
> > I've created so the layout of the Lilypond file can't really be changed 
> > without a massive amount of work. Hopefully a solution won't require 
> > something like that.
> >
>

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


Re: Unconventional score and unwanted stray staff lines

2019-05-19 Thread David Bellows
Hey Urs,

> I too find this surprising. I suggest you ask on lilypond-user whether this 
> is a bug or intended behaviour. If it is intended (due to some engraving 
> convention for example) it might be made configurable.

I first posted this to lilypond-user. I don't know if I need to repost
with a clearer explanation and examples?

Karim provided a work-around that seems to solve the problem but it
does add mysterious stuff to the Lilypond file. I don't anticipate too
many users needing to look at the Lilypond code that is generated for
their music but for the sake of those few who do, I do try to keep
things clean. (I probably need to add comments to the Lilypond
generating file as it is.)

Dave

On Sun, May 19, 2019 at 11:32 AM Urs Liska  wrote:
>
>
> Am 19.05.19 um 17:56 schrieb David Bellows:
>
> Hey Aaron,
>
> Before I respond to the rest of your email, I think it's worth going
> over something I didn't emphasize enough in my first email. I've
> attached a new pdf with instrument labels this time to make it easier
> to follow.
>
> The staves that continue to be printed appear to only happen when the
> last note in that staff is an actual printed note. If it's a rest or a
> space then the extra staves are not printed. Further experimentation
> and it looks like the extra staves are only printed if the final note
> is less than a quarter note (!). You can see this in two spots with
> Piano 4 and Piano 5 on page 3. I've attached the .ly file as well.
> Maybe something to do with the time signature as well?
>
> This looks like a bug maybe?
>
> I could confirm that behaviour with the following MWE:
>
> \version "2.21.0"
>
> \score {
>   <<
> \new Staff { c'1 c'1 }
> \new Staff { c'1 c'4 c'16 }
> \new Staff { c'1 c'8 }
> \new Staff { c'1 c'4 }
> \new Staff { c'1 c'4. }
>   >>
> }
>
> I too find this surprising. I suggest you ask on lilypond-user whether this 
> is a bug or intended behaviour. If it is intended (due to some engraving 
> convention for example) it might be made configurable.
>
> ___
> 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: Unconventional score and unwanted stray staff lines

2019-05-19 Thread David Bellows
Hi Karim,

> My workaround was to put at each end of a part where this occurs, this

That does work! Thank you very much for this!

If you can search my emails to the list today about the issue, I
include more information about when this issue occurs in my scores.
The only staves that continue to be created are the ones where the
final note is an actual printed note. If the final note of a staff is
a rest or space then the extra staves are not printed. Also, it
appears that the problem only occurs if the final note is less than a
quarter note, but I haven't tested that thoroughly.

In other words, at least in my case, this appears to be a bug?

Thanks again for your help on this. If this is a bug that isn't going
to be fixed anytime soon then your solution does the trick.

On Sun, May 19, 2019 at 7:47 AM Karim Haddad  wrote:
>
> Dear David,
>
> Lately I had a similar issue with a multi-tempi and multi-metered ensemble 
> score.
> However the strayed clefs and staves where not on all instruments. I suspect 
> it does have to do with internal timing lilypond calculations.
> My workaround was to put at each end of a part where this occurs, this :
>
> %here is the closing bar :
> \once \set Staff.whichBar = "|."
> % these are to stop the running staff and "phantom" clef and instrument name 
> going on  :
>
> \override Staff.Clef.stencil=##f
> \set Staff.shortInstrumentName = #""
> \stopStaff
>
> Hope this helps.
>
> Best
> Karim
>
> On Sun, May 19, 2019 at 09:04:47AM -0400, lilypond-user-requ...@gnu.org wrote:
> >
> > Message: 2
> > Date: Sat, 18 May 2019 20:09:10 -0700
> > From: David Bellows 
> > To: Andrew Bernard 
> > Cc: lilypond-user Mailinglist 
> > Subject: Re: Unconventional score and unwanted stray staff lines
> > Message-ID:
> >   
> > Content-Type: text/plain; charset="UTF-8"
> >
> > Hi Andrew,
> >
> > > adding \stopStaff at the end of the sections - does this do what you want?
> >
> > That gets me really close except ...
> >
> > > There seems to be some stray clefs in this, but I am sure you can tidy 
> > > this up.
> >
> > I have no idea where those stray clefs are coming from. In the first
> > pdfs I sent they didn't show up. However, the one bass clef I see in
> > these new versions does correspond to where a bass clef was in the
> > original pdfs I sent. As in the stray bass clef is where a stray empty
> > staff was originally. I'm guessing it's related.
> >
> > > I can't quite grasp what your score is. Is it for five pianos, as all the 
> > > piano staves are grouped into one system? ... I assume this is 
> > > algorithmically generated music?
> >
> > The piece is really for any number of instruments but all of one kind.
> > Like 20 violins or, as in this example, 5 pianos. And yes, the music
> > is generated algorithmically. This particular example just uses the
> > most basic function for generating pitches, durations and dynamics
> > without trying to make it sound good.
> >
> > So what you have here are five different "melodies" generated for five
> > different pianos that all get played at the same time. I think the way
> > I have it grouped makes the most sense but I'm always open to
> > suggestions. I haven't put in the instrument labels yet and I left off
> > the title stuff.
> >
> > On Sat, May 18, 2019 at 7:36 PM Andrew Bernard  
> > wrote:
> > >
> > > Hi David,
> > >
> > > I can't quite grasp what your score is. Is it for five pianos, as all the 
> > > piano staves are grouped into one system?
> > >
> > > Anyway, adding \stopStaff at the end of the sections - does this do what 
> > > you want? There seems to be some stray clefs in this, but I am sure you 
> > > can tidy this up. I assume this is algorithmically generated music?
> > >
> > > Andrew
> > >
> >
> >
> >
> webpage : http://karim.haddad.free.fr

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


Re: Unconventional score and unwanted stray staff lines

2019-05-19 Thread David Bellows
Hey Andrew,

I did receive your other email. I guess the one emailed directly to me
got through. I haven't had time to go through everything you wrote yet
but I would be interested in seeing that part of the Lilypond file.
I'm hoping my problem doesn't require a complex solution since all I'm
trying to do is end a staff where it's supposed to end and I'm not
worried about making them all line up.

Anyway, if you can find it, check out the last email I sent to the
list where I point out what might be a bug in Lilypond. The extra
staves only occur if the final not is an actual printed note. For
staves that end in a rest or space, no more extra staves are created.
What's more, the behavior only seems to happen if the duration is less
than a quarter note.

Thanks for your help on this, hopefully I'm getting closer to a solution.

Dave

On Sun, May 19, 2019 at 8:48 AM Andrew Bernard  wrote:
>
> Hi David,
>
> Interesting, I emailed the following to the list but for the first time ever 
> it was rejected by the list moderator (person or software?) for being too 
> large, yet it is not. Anyway, I mention here Karim Haddid's help for me, and 
> sure enough, he has also posted. I'll copy the text ere, and send the PDF to 
> you personally off list to avoid this strange problem.
>
> 
>
> Hi David,
>
> Currently I do not have a lot of time to look into your problem, but this 
> does remind me of work I have done for my current String Quartet engraving. 
> It's a New Complexity composition by a colleague (all 300 pages of it) and 
> some parts are in polymeter and in different tempos. Here attached is an 
> extract of one of those sections, which demonstrates a system comprised of 
> four instruments with staves that end at different positions - two duos. This 
> reminded me of your score.
>
> If of interest, I can send you the code for this privately.
>
> You can find out about how this is done in the NR under the polymeter 
> section. It involves a subtle use of scaled durations. I must also 
> acknowledge Karim Haddid who helped me very much achieving this result. I 
> will say in advance that setting up the proportional ratios for this section 
> involved a large amount of thinking (and headache tablets).
>
> 
>
>
> Andrew
>
>
>

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


Re: Unconventional score and unwanted stray staff lines

2019-05-19 Thread David Bellows
Hey Aaron,

Before I respond to the rest of your email, I think it's worth going
over something I didn't emphasize enough in my first email. I've
attached a new pdf with instrument labels this time to make it easier
to follow.

The staves that continue to be printed appear to only happen when the
last note in that staff is an actual printed note. If it's a rest or a
space then the extra staves are not printed. Further experimentation
and it looks like the extra staves are only printed if the final note
is less than a quarter note (!). You can see this in two spots with
Piano 4 and Piano 5 on page 3. I've attached the .ly file as well.
Maybe something to do with the time signature as well?

This looks like a bug maybe?

> I would have thought it fairly trivial* to keep track of bar lines.  You
need only add up the durations of the notes you have emitted ...  Of
course, you might have notes that overlap the bar line,
and perhaps you are leveraging LilyPond's ability to automatically split
notes  For the purposes of inserting bar checks, you
would skip it since the next note does not start the measure.

I've thought more about it and perhaps it would be fairly easy. I do,
as you mentioned here, use Lilypond's feature to automatically split
notes across bar lines. Skipping where there isn't  natural bar line
seems doable. But I guess my question is whether this would actually
help the situation?

> One thing to consider: if your music is really fluid, perhaps writing
things with \cadenzaOn makes sense.  Here there are no measures, and you
can emit bar lines whenever you see fit.

I use the bar lines mainly for aesthetic reasons. The software will
eventually be online and civilians will be able to use it to generate
audio files and sheet music (and lots of other stuff). I want the
evenly spaced bar lines because I think it looks cooler. And for
algorithms where everything fits neatly into measures then doing this
the default Lilypond way works (ie, I don't want to have to have too
create and maintain too many different printing options).

I think easier for me is to give the user the option to use the "s128"
option before the ending bar line if the printing looks funky and by
default not use it for the algorithms that are designed to fit neatly.

> Then again, it is entirely possible that your intentionally misaligned 
> systems are just
running afoul of some limitation of LilyPond.  I certainly have never
tried pushing this aspect of the software.

That could be.

On Sun, May 19, 2019 at 6:06 AM Aaron Hill  wrote:
>
> On 2019-05-18 10:46 pm, David Bellows wrote:
> >> Maybe use bar checks?
> >
> > Given that a lot of the music isn't generated to fit any particular
> > time signature (ie, the bar lines are often there just to break things
> > up to ease reading), I would get tons of bar check errors. Plus,
> > keeping track of when bars should be inserted in my software seems
> > like it would be a huge chore. Is this something you think would solve
> > the problem?
>
> I would have thought it fairly trivial* to keep track of bar lines.  You
> need only add up the durations of the notes you have emitted and, when
> the running count equals a whole measure, you know there is spot for a
> bar check.  Of course, you might have notes that overlap the bar line,
> and perhaps you are leveraging LilyPond's ability to automatically split
> notes.  In this case, you would see that the durations exceed a whole
> measure by some fraction.  For the purposes of inserting bar checks, you
> would skip it since the next note does not start the measure.
>
> (* Let's assume that 1/128 notes are the shortest duration your program
> generates.  Then each instance of that duration could simply add one to
> a counter.  1/64 notes add two; 1/32 add four; etc.  Depending on how
> many 1/128 notes make up the desired length of a measure, you subtract
> that amount from the running total when it is equal or greater.  And
> anytime the counter is zero, you emit a bar check before the next note.
> Of course the amounts to add get a little more interesting with tuplets
> and unusually scaled durations.  A more general-purpose rational
> representation could be useful.)
>
> I have not checked exactly, but perhaps your final measures on each line
> are not precisely aligned to a whole measure.  You can of course say
> \bar "|." early, but maybe you need to use \partial on the final measure
> as well.  Granted, this would require that your software cache notes
> before writing them so you can tell if you are going to have a short
> measure.
>
> One thing to consider: if your music is really fluid, perhaps writing
> things with \cadenzaOn makes sense.  Here there are no measures, and you
> can emit bar lines whenever you see fit.  (In fact, you *have* to emit

Re: Unconventional score and unwanted stray staff lines

2019-05-18 Thread David Bellows
Hey Mark,

> Maybe use bar checks?

Given that a lot of the music isn't generated to fit any particular
time signature (ie, the bar lines are often there just to break things
up to ease reading), I would get tons of bar check errors. Plus,
keeping track of when bars should be inserted in my software seems
like it would be a huge chore. Is this something you think would solve
the problem?

On Sat, May 18, 2019 at 10:25 PM Mark Stephen Mrotek
 wrote:
>
> David
>
> Maybe use bar checks?
>
> Mark
>
> -Original Message-
> From: lilypond-user 
> [mailto:lilypond-user-bounces+carsonmark=ca.rr....@gnu.org] On Behalf Of 
> David Bellows
> Sent: Saturday, May 18, 2019 3:59 PM
> To: lilypond-user 
> Subject: Unconventional score and unwanted stray staff lines
>
> Hello everyone,
>
> I tried to keep the examples minimal but I also needed to show the full 
> extent of what is going on.
>
> Attached are two Lilypond files and pdfs showing an unconventional score. 
> Each part has the same number of notes but since the durations are random, 
> each part ends at its own time.
>
> badtest.ly and badtest.pdf show the default behavior. When a part ends, one 
> of its staves continues on till the last part ends. I don't want this 
> behavior.
>
> test.ly and test.pdf do a better job of showing what happens with the 
> workaround hack of adding s128 at the end of each part. The problem with that 
> -- and I didn't include examples -- is that if all the durations are the same 
> and end at a natural bar line, an extra empty measure is added at the end of 
> each part. I can't check for this occurrence ahead of time in my own software 
> as it would be insane to keep track of all of that.
>
> You'll notice a lot of context commands all of which I think are necessary to 
> get everything else to look as it should.
>
> So I'm hoping someone has an idea about what's going on here and how to 
> prevent those extra staves like in test.pdf
>
> Also, these Lilypond files are generated automatically by another program 
> I've created so the layout of the Lilypond file can't really be changed 
> without a massive amount of work. Hopefully a solution won't require 
> something like that.
>

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


Re: Unconventional score and unwanted stray staff lines

2019-05-18 Thread David Bellows
Hi Andrew,

> adding \stopStaff at the end of the sections - does this do what you want?

That gets me really close except ...

> There seems to be some stray clefs in this, but I am sure you can tidy this 
> up.

I have no idea where those stray clefs are coming from. In the first
pdfs I sent they didn't show up. However, the one bass clef I see in
these new versions does correspond to where a bass clef was in the
original pdfs I sent. As in the stray bass clef is where a stray empty
staff was originally. I'm guessing it's related.

> I can't quite grasp what your score is. Is it for five pianos, as all the 
> piano staves are grouped into one system? ... I assume this is 
> algorithmically generated music?

The piece is really for any number of instruments but all of one kind.
Like 20 violins or, as in this example, 5 pianos. And yes, the music
is generated algorithmically. This particular example just uses the
most basic function for generating pitches, durations and dynamics
without trying to make it sound good.

So what you have here are five different "melodies" generated for five
different pianos that all get played at the same time. I think the way
I have it grouped makes the most sense but I'm always open to
suggestions. I haven't put in the instrument labels yet and I left off
the title stuff.

On Sat, May 18, 2019 at 7:36 PM Andrew Bernard  wrote:
>
> Hi David,
>
> I can't quite grasp what your score is. Is it for five pianos, as all the 
> piano staves are grouped into one system?
>
> Anyway, adding \stopStaff at the end of the sections - does this do what you 
> want? There seems to be some stray clefs in this, but I am sure you can tidy 
> this up. I assume this is algorithmically generated music?
>
> Andrew
>

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


Re: Unconventional score and unwanted stray staff lines

2019-05-18 Thread David Bellows
Andrew,

> These both complie.

That's a relief! I changed the formatting in the master program that
generates these Lilypond files to be more sane. Spaces instead of
tabs.


On Sat, May 18, 2019 at 7:25 PM Andrew Bernard  wrote:
>
> These both complie.
>
> Andrew
>
>
> On Sun, 19 May 2019 at 12:09, David Bellows  wrote:
>>
>> Hey Andrew,
>>
>> Hmm, I'm running Kubuntu 19.04. You wouldn't think there'd be that
>> much difference between the two? I also wouldn't think there would be
>> anything we could do in our Lilypond files to cause Ghostscript
>> problems for one file but not another.
>>

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


Re: Unconventional score and unwanted stray staff lines

2019-05-18 Thread David Bellows
Hey Andrew,

Hmm, I'm running Kubuntu 19.04. You wouldn't think there'd be that
much difference between the two? I also wouldn't think there would be
anything we could do in our Lilypond files to cause Ghostscript
problems for one file but not another.

I do wonder if maybe there's a spacing/indention issue? I've attached
less indented versions of both files -- maybe that'll help?

On Sat, May 18, 2019 at 6:07 PM Andrew Bernard  wrote:
>
> Hi David,
>
> I think this may be easy to fix but neither of your examples compiles for me 
> on Ubuntu 19.04 with Lilypond 2.19.83. Ghostscript crashes. I don't have this 
> problem with other scores.
>
> Andrew
>
>
> On Sun, 19 May 2019 at 09:14, David Bellows  wrote:
>>
>>
>> I tried to keep the examples minimal but I also needed to show the
>> full extent of what is going on.
>>
\version "2.19.83" 
\language "english"
\pointAndClickOff

scoreinfo = {\time 4/4 \tempo "andante" 4 = 90}

voice_oneone = {\key c \major r64 r128 r4 r4 ds''1\p fs'64\ g4.\pp cs64\fff fs1\ gs2\pp c'32\fff r32%{%} \bar "|."}

voice_twoone = {\key c \major e,,64\mp cs128\ppp g4 gs4\fff r1 r64 r4. r64 r1 r2 r32 b,,32\p%{%} \bar "|."}

voice_onetwo = {\key c \major r1 fs'''4\ppp fs''4\p r64 r1. e\breve\ppp r1 r2.. d''4.\f r4 gs8\mf r2...%{%} \bar "|."}

voice_twotwo = {\key c \major d,1\ppp r4 r4 g64\pp g,,1.\mp r\breve d1\p e,2..\p r4. d,4\fff r8 a,2...\p%{%} \bar "|."}

voice_onethree = {\key c \major r4. r1 g'1.\pp ds'8\ppp r2... r1. cs'4.\fff r8 r4. fs'''2.\mf r128 as''64\ff%{%} \bar "|."}

voice_twothree = {\key c \major e4.\mp r1 r1. r8 e,2... r1. r4. r8 e4.\f r2. r128 r64%{%} \bar "|."}

voice_onefour = {\key c \major cs''2\mf e'''2.\p as''2\ f''64\mp r32 a1.\ a'''4.\ppp a'''2\p r8 fs''2\ e'1\ff cs8\p%{%} \bar "|."}

voice_twofour = {\key c \major r2 r2. r2 r64 b,32\ r1. r4. r2 g8\ r2 r1 r8%{%} \bar "|."}

voice_onefive = {\key c \major cs128\mf r32 r2 gs4\mp r4.. r8 r8 f'''4\p r4.. r64 gs'''\breve\p cs'''4\mf%{%} \bar "|."}

voice_twofive = {\key c \major r128 r32 as2 r4 gs4..\ff as,,,8\mf b,,,8\fff r4 r4.. c64\p r\breve r4%{%} \bar "|."}

\paper {#(set-paper-size "letter") }

\score { << 
  \new PianoStaff << 
\new Staff = "upper" << 
  \scoreinfo \clef "treble"  \voice_oneone >> 
\new Staff = "lower" << \scoreinfo\clef bass  \voice_twoone >> 

  >>
  \new PianoStaff << 
\new Staff = "upper" << 
  \scoreinfo \clef "treble"  \voice_onetwo >> 
\new Staff = "lower" << \scoreinfo\clef bass  \voice_twotwo >> 

  >>
  \new PianoStaff << 
\new Staff = "upper" << 
  \scoreinfo \clef "treble"  \voice_onethree >> 
\new Staff = "lower" << \scoreinfo\clef bass  \voice_twothree >> 

  >>
  \new PianoStaff << 
\new Staff = "upper" << 
  \scoreinfo \clef "treble"  \voice_onefour >> 
\new Staff = "lower" << \scoreinfo\clef bass  \voice_twofour >> 

  >>
  \new PianoStaff << 
\new Staff = "upper" << 
  \scoreinfo \clef "treble"  \voice_onefive >> 
\new Staff = "lower" << \scoreinfo\clef bass  \voice_twofive >> 

  >>			>> 
	 \layout{ragged-bottom = ##t  
		 \context { \Score \remove "Timing_translator" \remove "Default_bar_line_engraver"}
		 \context { \Staff \consists "Timing_translator" \consists "Default_bar_line_engraver"}
		 \context { \Voice \remove "Note_heads_engraver" \consists "Completion_heads_engraver" \remove "Rest_engraver" \consists "Completion_rest_engraver" completionUnit = #(ly:make-moment 2/4)}} 
   }\version "2.19.83" 

\language "english"
\pointAndClickOff

scoreinfo = {\time 4/4 \tempo "andante" 4 = 90}

voice_oneone = {\key c \major r64 r128 r4 r4 ds''1\p fs'64\ g4.\pp cs64\fff fs1\ gs2\pp c'32\fff r32 s128 \bar "|."}

voice_twoone = {\key c \major e,,64\mp cs128\ppp g4 gs4\fff r1 r64 r4. r64 r1 r2 r32 b,,32\p s128 \bar "|."}

voice_onetwo = {\key c \major r1 fs'''4\ppp fs''4\p r64 r1. e\breve\ppp r1 r2.. d''4.\f r4 gs8\mf r2... s128 \bar "|."}

voice_twotwo = {\key c \major d,1\ppp r4 r4 g64\pp g,,1.\mp r\breve d1\p e,2..\p r4. d,4\fff r8 a,2...\p s128 \bar "|."}

voice_onethree = {\key c \major r4. r1 g'1.\pp ds'8\ppp r2... r1. cs'4.\fff r8 r4. fs'''2.\mf r128 as''64\ff s128 \bar "

Re: Automatically splitting long notes according to the beat?

2019-04-05 Thread David Bellows
Hey David,

> When all else fails, try reading the documentation.

> <http://lilypond.org/doc/v2.19/Documentation/notation/displaying-rhythms#automatic-note-splitting>

>\new Voice \with { \remove "Note_heads_engraver"
   \consists "Completion_heads_engraver"
   completionUnit = #(ly:make-moment 1/4)
 }
>{c'8 c'2 c'4 c'8}

Wow. I actually read through that section many times and never picked
up on the fact that completionUnit would help out in this case -- I
thought it only affected the split when it happened across bar lines.

Anyway, this works perfectly and gives one a lot of control on how to
split things up. Thanks!


On Fri, Apr 5, 2019 at 6:27 AM David Kastrup  wrote:
>
> David Bellows  writes:
>
> > Lilypond groups beams automatically according to the beat. If you use
> > the "Completion_heads_engraver" you can get Lilypond to automatically
> > split long notes at bar lines tying them together.
> >
> > So I'm wondering if Lilypond can automatically split long notes
> > according to the beat and if I am just missing something?
>
> When all else fails, try reading the documentation.
>
> <http://lilypond.org/doc/v2.19/Documentation/notation/displaying-rhythms#automatic-note-splitting>
>
> > If you have something like:
> >
> > {c'8 c'2 c'4 c'8}
> >
> > then you might want it to automatically split at the middle of the bar:
> >
> > {c'8 c'4.~c'8 c'4 c'8}
> >
> > or even on every beat:
> >
> > {c'8 c'8~c'4~c'8 c'8~c'8 c'8}
>
> \new Voice \with { \remove "Note_heads_engraver"
>\consists "Completion_heads_engraver"
>completionUnit = #(ly:make-moment 1/4)
>  }
> {c'8 c'2 c'4 c'8}
>
>
> > I've been searching for a while but I haven't been able to find
> > mention of this anywhere though I might not be using the correct
> > search terms.
>
> completionUnit is likely a v2.19 feature.  At least the v2.18
> documentation does not mention it yet.
>
> --
> David Kastrup

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


Re: Automatically splitting long notes according to the beat?

2019-04-04 Thread David Bellows
> This is of course a total hack, but basically you could pretend that the 
> measures are 2/4 rather than 4/4. Then by hiding every other bar line, it 
> *looks* like it is 4/4.

That's pretty clever. I'll play around with that approach to see how
flexible it is. I generate Lilypond files automatically from a program
I've written that generates music so I will have to find a way to
automate the process. I was hoping that this was already a feature
that I wasn't aware of.

On Thu, Apr 4, 2019 at 6:08 PM Aaron Hill  wrote:
>
> On 2019-04-04 5:24 pm, David Bellows wrote:
> > Lilypond groups beams automatically according to the beat. If you use
> > the "Completion_heads_engraver" you can get Lilypond to automatically
> > split long notes at bar lines tying them together.
> >
> > So I'm wondering if Lilypond can automatically split long notes
> > according to the beat and if I am just missing something?
> >
> > If you have something like:
> >
> > {c'8 c'2 c'4 c'8}
> >
> > then you might want it to automatically split at the middle of the bar:
> >
> > {c'8 c'4.~c'8 c'4 c'8}
> >
> > or even on every beat:
> >
> > {c'8 c'8~c'4~c'8 c'8~c'8 c'8}
> >
> > And if it's  compound meter then it seems less optional:
> >
> > {\time 6/8 c'8 c'2 c'8} should be:
> > {\time 6/8 c'8 c'4~c'4 c'8}
> >
> > Elaine Gould says on the first example:
> > "When the rhythms are not part of a regular pattern, the long duration
> > may
> > be divided to expose the beats or half—bar, to make the rhythm easier
> > to count
> > and therefore to place."
> >
> > and
> > "Compound Time: No note-value should be written across the beat, ..."
> >
> > I've been searching for a while but I haven't been able to find
> > mention of this anywhere though I might not be using the correct
> > search terms.
>
> This is of course a total hack, but basically you could pretend that the
> measures are 2/4 rather than 4/4.  Then by hiding every other bar line,
> it *looks* like it is 4/4:
>
> 
> \version "2.19.82"
> \new Staff
><<
>  { \tweak stencil
>  #(lambda (grob) (grob-interpret-markup grob #{
>  \markup \override #'(baseline-skip . 0)
>  \column { \number 4 \number 4 } #}))
>\time 2/4
>\repeat unfold 3 { s2 \bar "" \noBreak s2 \bar "|" } }
>
>  \new Voice \with { \remove "Note_heads_engraver"
> \consists "Completion_heads_engraver" }
>  \fixed c' { c8 c2 c4 c4 c1 c4 c2 c8 | }
>>>
> 
>
> But there are almost certainly problems with such a kludge.
>
>
> -- Aaron Hill
>
> ___
> 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


Automatically splitting long notes according to the beat?

2019-04-04 Thread David Bellows
Lilypond groups beams automatically according to the beat. If you use
the "Completion_heads_engraver" you can get Lilypond to automatically
split long notes at bar lines tying them together.

So I'm wondering if Lilypond can automatically split long notes
according to the beat and if I am just missing something?

If you have something like:

{c'8 c'2 c'4 c'8}

then you might want it to automatically split at the middle of the bar:

{c'8 c'4.~c'8 c'4 c'8}

or even on every beat:

{c'8 c'8~c'4~c'8 c'8~c'8 c'8}

And if it's  compound meter then it seems less optional:

{\time 6/8 c'8 c'2 c'8} should be:
{\time 6/8 c'8 c'4~c'4 c'8}

Elaine Gould says on the first example:
"When the rhythms are not part of a regular pattern, the long duration may
be divided to expose the beats or half—bar, to make the rhythm easier to count
and therefore to place."

and
"Compound Time: No note-value should be written across the beat, ..."

I've been searching for a while but I haven't been able to find
mention of this anywhere though I might not be using the correct
search terms.

Dave

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


Re: Comparison of Musescore, Sibelius and Dorico -- would like to add Lilypond

2018-11-26 Thread David Bellows
> Ok, everyone. I have finally gotten around to adding data about LilyPond

Excellent work and thank you!

Lilypond does look good here. I am curious, what are forked stems? You
have that as a "no" for Lilypond.

Also, I see you used the latest unstable version of Lilypond, did that
make much of a difference?

Dave
On Mon, Nov 26, 2018 at 2:37 PM Abraham Lee  wrote:
>
>
>
> On Tue, Nov 20, 2018 at 1:04 PM David Bellows  wrote:
>>
>> Urs,
>>
>> >I think it would be good to add our stuff to the chart (not necessarily 
>> >much to the comments section).
>>
>> If the owner of the spreadsheet allows it, then definitely. I don't
>> know them personally so I don't know how they feel about that. I
>> suppose we could create our own version if they do not agree. I'm one
>> of the mods in that sub so I'll be making the chart a permanent link
>> in the sub so either way would work (and obviously we can link to it
>> from anywhere else we'd like).
>>
>> > not only check the given items with yes/no but also freely add to the list
>>
>> I agree. The OP did ask for omissions/corrections so I would think
>> these (and others) would apply.
>>
>> > find a way to plug the "programmability" aspect (vs. applying plugins 
>> > after-the-fact),with things like complete extensibility with 
>> > syntactical means, conditional layout per engraving target ...(Maybe 
>> > this would even warrant a new tab in the sheet)
>>
>> One of Lilypond's biggest strengths! Working out meaningful/useful
>> parallels with the other programs would be the issue, I'm guessing?
>
>
> Ok, everyone. I have finally gotten around to adding data about LilyPond. I 
> felt pretty confident in the Notation and Engraving tabs, pretty solid marks 
> there, but more uncertain about the Playback tab entries. I'm honestly not 
> sure what they should be since many of the playback functionality is 
> requisite on forming the content for playback rather than score output (i.e., 
> using articulate.ly, restructuring repeats, etc.). Please feel free to look 
> over my responses and let me know if you feel I've answered in error.
>
> Best,
> Abraham

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


Re: Comparison of Musescore, Sibelius and Dorico -- would like to add Lilypond

2018-11-20 Thread David Bellows
Urs,

>I think it would be good to add our stuff to the chart (not necessarily much 
>to the comments section).

If the owner of the spreadsheet allows it, then definitely. I don't
know them personally so I don't know how they feel about that. I
suppose we could create our own version if they do not agree. I'm one
of the mods in that sub so I'll be making the chart a permanent link
in the sub so either way would work (and obviously we can link to it
from anywhere else we'd like).

> not only check the given items with yes/no but also freely add to the list

I agree. The OP did ask for omissions/corrections so I would think
these (and others) would apply.

> find a way to plug the "programmability" aspect (vs. applying plugins 
> after-the-fact),with things like complete extensibility with syntactical 
> means, conditional layout per engraving target ...(Maybe this would even 
> warrant a new tab in the sheet)

One of Lilypond's biggest strengths! Working out meaningful/useful
parallels with the other programs would be the issue, I'm guessing?
On Tue, Nov 20, 2018 at 11:50 AM David Kastrup  wrote:
>
> Karlin High  writes:
>
> > On 11/20/2018 12:38 PM, David Bellows wrote:
> >> Over in the /r/composer sub on Reddit, a user put together a chart
> >> listing features of Musescore, Sibelius and Dorico.
> >
> > I remember seeing some past work done with comparing LilyPond to other
> > software.
> >
> > <https://github.com/engraving-challenges/main>
> > <https://lilypondblog.org/category/comparisons/>
> >
> > Other list members here may have more recent references or info.
>
> I think it's always a bit of a squeeze to compare LilyPond with other
> programs, particularly in the "challenges" department since the
> challenge is often more to the user than to the program, LilyPond being
> an open architecture with user-extensible functionality to a much larger
> degree than other programs.
>
> So a particularly user may set a checkmark "yes, can do" while this does
> not actually hold for a typical user without asking on the mailing list.
>
> --
> David Kastrup

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


Re: Comparison of Musescore, Sibelius and Dorico -- would like to add Lilypond

2018-11-20 Thread David Bellows
Hey Abraham,

> What a lovely idea! I'd be happy to add data for LilyPond. I've requested 
> write access to the Google Doc (not sure if you're the owner or not).

I'm not the owner which is why I suggested emailing the results to me
or to post it on Reddit. But I am glad you're willing to contribute
and look forward to the results!

Dave
On Tue, Nov 20, 2018 at 10:52 AM Abraham Lee  wrote:
>
> Hi, David!
>
> On Tue, Nov 20, 2018 at 11:39 AM David Bellows  wrote:
>>
>> Over in the /r/composer sub on Reddit, a user put together a chart
>> listing features of Musescore, Sibelius and Dorico. While I can figure
>> out whether Lilypond has some/many of those features (or can "fake"
>> them), I figured that there are people here who could do this easier
>> and better and off the tops of their heads.
>>
>> So if anyone wants to contribute you can either do so using this list,
>> email me directly or if you have a Reddit account just post your
>> results in that thread. I'm one of the mods of that sub and our plan
>> is to keep a permanent link to the chart for future reference.
>>
>> The post:
>> https://www.reddit.com/r/composer/comments/9yue29/comparison_of_features_between_musescore_sibelius/
>>
>> The chart (Google document):
>> https://docs.google.com/spreadsheets/d/1VWH-dEMyf4P4smFKE36dnBQ_vXNGvKRnE7Fgh4yFNXQ/edit#gid=0
>
>
> What a lovely idea! I'd be happy to add data for LilyPond. I've requested 
> write access to the Google Doc (not sure if you're the owner or not).
>
> Best,
> Abraham

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


Comparison of Musescore, Sibelius and Dorico -- would like to add Lilypond

2018-11-20 Thread David Bellows
Over in the /r/composer sub on Reddit, a user put together a chart
listing features of Musescore, Sibelius and Dorico. While I can figure
out whether Lilypond has some/many of those features (or can "fake"
them), I figured that there are people here who could do this easier
and better and off the tops of their heads.

So if anyone wants to contribute you can either do so using this list,
email me directly or if you have a Reddit account just post your
results in that thread. I'm one of the mods of that sub and our plan
is to keep a permanent link to the chart for future reference.

The post:
https://www.reddit.com/r/composer/comments/9yue29/comparison_of_features_between_musescore_sibelius/

The chart (Google document):
https://docs.google.com/spreadsheets/d/1VWH-dEMyf4P4smFKE36dnBQ_vXNGvKRnE7Fgh4yFNXQ/edit#gid=0

Thanks,
Dave Bellows

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


Re: Auto-ottava Scheme script problems

2018-08-15 Thread David Bellows
Sorry everyone, it's been too long since I've used the list and forgot
to reply to all. Below is a message sent earlier indicating that
Torsten's fix solved my problem.

Thanks everyone,
Dave Bellows

Torsten, thank you very much! That seems to fix my test cases. I have
absolutely no idea what's going on in that script so I am very
grateful that you took the time to figure this out.

Sincerely,
Dave Bellows
On Wed, Aug 15, 2018 at 2:54 PM David Bellows  wrote:
>
> Elaine Alt:
>
> > But it does make me wonder whether it would work if you structured your 
> > score a bit differently?
>
> > For example,
>
> > <>\f 
> > <>\f 4
>
> Carl Sorensen:
>
> > Have you tried
>
> >  -\f or
> >  4-\f
>
> Neither of those two approaches worked.
>
> The spacer method would work but it adds a lot of complexity to how my
> program generates Lilypond files. The process is already really
> complicated.
>
> Fortunately Torsten's solution seems to do the trick, at least based
> on my tests.
>
> Dave
> On Wed, Aug 15, 2018 at 2:27 PM Flaming Hakama by Elaine
>  wrote:
> >
> >
> >>
> >> -- Forwarded message --
> >> From: David Bellows 
> >> Date: Wed, 15 Aug 2018 10:23:41 -0700
> >> Subject: Auto-ottava Scheme script problems
> >> Hello all,
> >> ...
> >>
> >> So I've been using that function daily for years and it works
> >> wonderfully. Just recently, however, I started working on adding
> >> chords to my music generating program (before you could have many
> >> different voices but just not chords) and that's when I noticed a
> >> problem.
> >>
> >> The following works as intended:
> >>
> >>  or
> >> 4
> >>
> >> but these produce errors:
> >> \f or
> >> 4\f
> >>
> >> ...
> >>
> >> The problem seems to be when there are dynamics involved with chords.
> >> Note, this does *not* happen with single notes and dynamics, only with
> >> chords and dynamics.
> >>
> >> ...
> >>
> >> Thanks,
> >> Dave Bellows
> >
> >
> >
> > Sorry I can't help directly.  But it does make me wonder whether it would 
> > work if you structured your score a bit differently?
> >
> > For example,
> >
> > <>\f 
> > <>\f 4
> >
> > Or like this:
> >
> > <<
> > {
> > % We'll need to give this first chord a definite duration for this 
> > approach to have a chance
> > 2.
> > 4
> > }
> > {
> > s2.\f
> > s4\f
> > }
> > >>
> >
> >
> > HTH,
> >
> > Elaine Alt
> > 415 . 341 .4954   "Confusion is 
> > highly underrated"
> > ela...@flaminghakama.com
> > Producer ~ Composer ~ Instrumentalist
> > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
> >
> > ___
> > 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: Auto-ottava Scheme script problems

2018-08-15 Thread David Bellows
Elaine Alt:

> But it does make me wonder whether it would work if you structured your score 
> a bit differently?

> For example,

> <>\f 
> <>\f 4

Carl Sorensen:

> Have you tried

>  -\f or
>  4-\f

Neither of those two approaches worked.

The spacer method would work but it adds a lot of complexity to how my
program generates Lilypond files. The process is already really
complicated.

Fortunately Torsten's solution seems to do the trick, at least based
on my tests.

Dave
On Wed, Aug 15, 2018 at 2:27 PM Flaming Hakama by Elaine
 wrote:
>
>
>>
>> ------ Forwarded message --
>> From: David Bellows 
>> Date: Wed, 15 Aug 2018 10:23:41 -0700
>> Subject: Auto-ottava Scheme script problems
>> Hello all,
>> ...
>>
>> So I've been using that function daily for years and it works
>> wonderfully. Just recently, however, I started working on adding
>> chords to my music generating program (before you could have many
>> different voices but just not chords) and that's when I noticed a
>> problem.
>>
>> The following works as intended:
>>
>>  or
>> 4
>>
>> but these produce errors:
>> \f or
>> 4\f
>>
>> ...
>>
>> The problem seems to be when there are dynamics involved with chords.
>> Note, this does *not* happen with single notes and dynamics, only with
>> chords and dynamics.
>>
>> ...
>>
>> Thanks,
>> Dave Bellows
>
>
>
> Sorry I can't help directly.  But it does make me wonder whether it would 
> work if you structured your score a bit differently?
>
> For example,
>
> <>\f 
> <>\f 4
>
> Or like this:
>
> <<
> {
> % We'll need to give this first chord a definite duration for this 
> approach to have a chance
> 2.
> 4
> }
> {
> s2.\f
> s4\f
> }
> >>
>
>
> HTH,
>
> Elaine Alt
> 415 . 341 .4954   "Confusion is 
> highly underrated"
> ela...@flaminghakama.com
> Producer ~ Composer ~ Instrumentalist
> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
>
> ___
> 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


Auto-ottava Scheme script problems

2018-08-15 Thread David Bellows
Hello all,

Several years ago David Nalesnik very kindly and generously created a
Scheme script that would automatically apply ottava markings to a
score when needed (according to my own instrument definitions). I
needed this function because my Lilypond scores are all generated
automatically by my software and there is no human intervention
allowed in that process.

So I've been using that function daily for years and it works
wonderfully. Just recently, however, I started working on adding
chords to my music generating program (before you could have many
different voices but just not chords) and that's when I noticed a
problem.

The following works as intended:

 or
4

but these produce errors:
\f or
4\f

The error message:

GNU LilyPond 2.19.82
Processing `auto-ottava.ly'
Parsing...auto-ottava.ly:24:15: In procedure ly:pitch-steps in
expression (ly:pitch-steps p):
auto-ottava.ly:24:15: Wrong type argument in position 1 (expecting Pitch): ()

The problem seems to be when there are dynamics involved with chords.
Note, this does *not* happen with single notes and dynamics, only with
chords and dynamics.

I emailed David several days ago but haven't heard from him. I'm not
sure if it was a good email address or if he's just not available
these days. In any case, I'm hoping someone on the list can spot the
problem and offer up a solution. I've attached a copy of the Scheme
script.

Thanks,
Dave Bellows
%%This program, auto-ottava.ly. creates automatic ottavation of GNU Lilypond input.

%%Copyright (C) 2014-2015  David Nalesnik

%%This program is free software: you can redistribute it and/or modify
%%it under the terms of the GNU General Public License as published by
%%the Free Software Foundation, either version 3 of the License, or
%%(at your option) any later version.

%%This program is distributed in the hope that it will be useful,
%%but WITHOUT ANY WARRANTY; without even the implied warranty of
%%MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
%%GNU General Public License for more details.

%%You should have received a copy of the GNU General Public License
%%along with this program.  If not, see .

\version "2.19.82"

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

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

#(define clefs
   ; An alist of (clef . position of middle C) pairs.  Center line of staff = 0.
   ; For use when \ottavate is called on a music expression which begins with a
   ; clef other than treble, which has been set before that expression.
   '((treble . -6)
 (treble_8 . 1)
 (bass . 6)
 (bass_8 . 13)
 (alto . 0)
 (tenor . 2)))

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

#(define (select-ottava-music str)
   (let ((options
  '(("up-an-octave" . 1)
("down-an-octave" . -1)
("up-two-octaves" . 2)
("down-two-octaves" . -2)
("loco" . 0
 (make-ottava-music (assoc-get str options

#(define naming-options
   '((short . (("up-an-octave" . "8")
   ("down-an-octave" . "8")
   ("up-two-octaves" . "15")
   ("down-two-octaves" . "15")
   ("loco" . #f)))
 (long . (("up-an-octave" . "8va")
  ("down-an-octave" . "8va bassa")
  ("up-two-octaves" . "15ma")
  ("down-two-octaves" . "15ma")
  ("loco" , #f)))
 (default . #f)))

#(define (make-alternate-name name)
   (let* ((ps (make-music
   'PropertySet
   'symbol 'ottavation
   'value name))
  (csm (make-music
'ContextSpeccedMusic
'element ps
'context-type 'Staff)))
 (list csm)))

#(define (select-name displacement name-style)
   (let* ((style (assoc-get name-style naming-options))
  (name (if style
(assoc-get displacement style)
#f)))
 (if name
 (make-alternate-name name)
 '(


ottavate =
#(define-music-function 

Re: Lilypond interfaces

2018-04-18 Thread David Bellows
You didn't say why you wanted this so I might as well throw in the
project I'm working on, the Platonic Music Engine
(http://www.platonicmusicengine.com). The point is **not** to be a
front-end for Lilypond but to generate music. But it will also create
sheet music using Lilypond (and graphical notation using LaTeX). I've
begun working on a very simple parser that allows one to enter in a
piece of music using a not-so-efficient syntax which will then create
music via Csound and sheet music.

My software is very much in the alpha stages and the parser exists
only on my computer because it is woefully incomplete but if anyone
wants to try it for some reason I can upload it to my git repo.

The syntax goes like this (using the first several notes for Row, Row,
Row Your Boat):

pitches = {"P1:c4","P1","P1","M2","M3","M3","M2","M3","P4","P5"}

As you can see it uses interval notation. You specify what octave to
start with and can change this as needed. If you don't specify an
octave than the previous one holds over.

The durations are held in a separate table for now but eventually will
be merged:

durations = {"dotted quarter","dotted quarter", "quarter",
"8th","dotted quarter","quarter","8th","quarter", "8th", "dotted
half"}

And dynamics have their own table as well:

volume = "ff"

The point of the interval notation is not ease-of-use but because one
of the big features of my software is that it can handle just about
any tuning imaginable (99% compatible with Scala). So you enter in the
notes once and then change the tuning to whatever you want (various
JIs, 0<=n<=3 million+ EDO (or EDI), etc) and the software will
calculate the nearest pitch to what I designate as the Platonic values
for the standard 12 Western intervals (using a 5-lim JI and eventually
non-Western intervals will be supported as well). So it's very easy to
hear what your melody will sound like in 12-EDO, Harry Partch's 43
Tone System, 13-EDO, 5-ED:P5, etc. And then also to be able to
generate sheet music and various kinds of graphical notation.

As of now, the parser can only handle a small subset of what the PME
can do sheet music-wise which itself is only a small subset of what
Lilypond can do.

On Tue, Apr 17, 2018 at 1:17 PM, Amir Teymuri  wrote:
> Hello,
>
> does anyone knows about interfaces and/or notation systems written in other
> programming languages which use lilypond as backend? Two examples of such
> interfaces are fomus (https://common-lisp.net/project/fomus/doc/)
> and abjad (http://projectabjad.org/).
>
> cheers,
> Amir
>
>
> - - - - - - - - - - -
> ateymur...@gmail.com
> - - - - - - - - - - -
>
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user

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


Re: [OT] Linux Users

2017-11-18 Thread David Bellows
I use Linux, Lilypond, LuaLaTeX, and Csound, editing all of it in
emacs. This does seem like a pretty potent or at least popular
combination.

On Sat, Nov 18, 2017 at 8:18 AM, Sam Bivens  wrote:
> I'm also a Linux user. For notation I use LilyPond (with Frescobaldi)
> exclusively, and for any serious writing I use LaTeX.
>
> Although I use the lilyglyphs package in LaTeX, I've never gotten around to
> using lilypond-book; instead I just autocrop my Lily PDFs and insert those
> as floats.
>
> A quick question for others: I've used LilyPond a couple times on Mac, and
> the compile times were horrendous. Are the compile times on Linux faster
> than on other operating systems? (Unfortunately I can't remember what Mac OS
> I used...)
>
> 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: A premiere by Daahoud Salim, typeset with LilyPond

2017-08-14 Thread David Bellows
> He stated that he didn't want to
block people to play the work, be it for free or for profit.

> The only concern is, what if someone tries to become rich and/or
prevents others to do the same?

Here's the page in the Creative Commons website (the license you used
at the bottom of the first page) that discusses your options, which
allowances/restrictions you wish to allow:

https://creativecommons.org/share-your-work/licensing-types-examples/

Personally I use:
"by" (I must be attributed)
"sa" (share alike, ie, must preserve this same license if they use my
work -- this seems to be what the composer is concerned with)

I don't use either the "no commercial" or "no derivative" clauses. By
not using the "nc" clause people are allowed to make money off the
work. This seems to be what your composer wishes to allow -- that
people can play the work for profit. You haven't said anything about
whether the composer wishes to allow people to modify the original.

So this would look like CC BY-SA 4.0:
https://creativecommons.org/licenses/by-sa/4.0/

or CC BY-ND 4.0 if the composer does not wish to allow people to
modify his original work.

Anyway, I applaud the two of you for making these choices.

On Mon, Aug 14, 2017 at 11:19 AM, Knute Snortum <ksnor...@gmail.com> wrote:
> The "CC" license mentioned in the quoted material is Creative Commons
> (https://creativecommons.org/share-your-work/) and it was designed for
> exactly these kinds of situations.
>
>
> ---
> Knute Snortum
> (via Gmail)
>
> On Mon, Aug 14, 2017 at 10:24 AM, Francisco Vila <paconet@gmail.com>
> wrote:
>>
>> On 14/08/17 16:00, David Bellows wrote:
>> > [copied to entire list, sigh]
>> >
>> > Hey Francisco,
>> >
>> > It looks really nice, congratulations!
>> >
>> > I was wondering if you could talk a bit about how you and the composer
>> > chose the license for this work. I license my stuff under a permissive
>> > CC license but still find it interesting when other composers do as
>> > well and wonder about their thought process.
>> >
>> > Thanks!
>> > Dave Bellows
>>
>> First I offered my edition work for free, provided that it would be
>> freely available. The composer agreed. This alone implies that PDFs are
>> also available, because in theory anyone could render the PDFs for
>> themselves, so I thought why not to ship them as well? I wouldn't make
>> much difference. But to be honest, the part "anyone to render by
>> themselves" was not fully clear because LilyPond is not excessively
>> popular among musicians from our close environment.
>>
>> Then I asked directly for the license of the work itself. My position is
>> to be clear on this point: all other rights are kept by the composer,
>> given that a 'strong' copyright is automatically applied to any creative
>> work, and the fact a PDF is freely downloadable does not mean he can not
>> benefit from recordings et cetera. He stated that he didn't want to
>> block people to play the work, be it for free or for profit.
>>
>> The only concern is, what if someone tries to become rich and/or
>> prevents others to do the same? Here is where the All Rights Reserved
>> comes into place. That way he reserves the right to be asked when a use
>> of the material could potentially be outside of the limits of fair use.
>>
>> I don't know if the license is perfectly well chosen, but the compromise
>> looks reasonably safe.
>>
>>
>> >
>> > On Mon, Aug 14, 2017 at 12:19 AM, Francisco Vila <paconet@gmail.com>
>> > wrote:
>> >> On 12/08/17 13:09, Francisco Vila wrote:
>> >>> Hello all,
>> >>>
>> >>> I'd like to share what I'm been working on lately.  Daahoud Salim, a
>> >>> young Spanish composer and pianist has been commited by the Grachten
>> >>> Festival Amsterdam to compose a short work for one main violin plus
>> >>> piano quintet (string quartet plus piano), named "Poem - History of
>> >>> Peoples", and it's going to be premiered tomorrow as a part of the
>> >>> festival programme.
>> >>>
>> >>> Players will be Rosanne Philippens (soloist, and dedicatee) and the
>> >>> Aristos Quartet with D. Salim itself on the piano (links below).
>> >>>
>> >>> Of course, what is relevant to LilyPond is that I offered to prepare
>> >>> all the playing materials as a copyist from the composer's manuscript
>> >>> (a PDF from Finale) as w

Re: A premiere by Daahoud Salim, typeset with LilyPond

2017-08-14 Thread David Bellows
[copied to entire list, sigh]

Hey Francisco,

It looks really nice, congratulations!

I was wondering if you could talk a bit about how you and the composer
chose the license for this work. I license my stuff under a permissive
CC license but still find it interesting when other composers do as
well and wonder about their thought process.

Thanks!
Dave Bellows

On Mon, Aug 14, 2017 at 12:19 AM, Francisco Vila  wrote:
> On 12/08/17 13:09, Francisco Vila wrote:
>> Hello all,
>>
>> I'd like to share what I'm been working on lately.  Daahoud Salim, a
>> young Spanish composer and pianist has been commited by the Grachten
>> Festival Amsterdam to compose a short work for one main violin plus
>> piano quintet (string quartet plus piano), named "Poem - History of
>> Peoples", and it's going to be premiered tomorrow as a part of the
>> festival programme.
>>
>> Players will be Rosanne Philippens (soloist, and dedicatee) and the
>> Aristos Quartet with D. Salim itself on the piano (links below).
>>
>> Of course, what is relevant to LilyPond is that I offered to prepare
>> all the playing materials as a copyist from the composer's manuscript
>> (a PDF from Finale) as well as a score for a potential publishing.
>> It's my first work of copying I can label as serious. Many
>> difficulties arose and technical challenges were present, but I
>> learned a lot from the whole process and the result is very
>> satisfying.
>>
>> My work of typesetting is licensed as CC-BY-SA and all the code and
>> rendered PDFs are freely avalilable for downloading. The work itself
>> is also free to perform and redistribute. I will share a link to the
>> whole thing (not before the premiere, though). So, stay tuned! I will
>> thank any comments.
>
> Hello; as promised, here is the link: https://goo.gl/oauPWL but please
> bear in mind that the composer has found some changes to be done and
> therefore the version is not final. Read the history.txt file to know
> what latest changes are.
>
> Kind regards,
>
>> Grachtenfestival Amsterdam
>> Poem: History of Peoples
>> https://www.grachtenfestival.nl/concert_detail.vm?id=3379
>>
>> Sunday 13 August / 20:30
>> Muziek
>> Salim, D.: Poem: History of Peoples
>> Chausson, E: Poème
>> Ravel, M.: Violin Sonata no. 2 in G major
>>
>> Daahoud Salim
>> piano, composer
>> https://www.grachtenfestival.nl/musician_detail.vm?mus=43576=en
>>
>> Rosanne Philippens
>> violin
>> https://www.grachtenfestival.nl/musician_detail.vm?mus=7906
>> http://www.rosannephilippens.com/
>>
>> Aristos Quartet
>> https://www.grachtenfestival.nl/musician_detail.vm?ens=8711=en
>> http://aristosquartet.nl/home/
>> Evelien Jaspers - Dmitry Ivanov - Sylvain Dessane - Otto Bakker
> --
>
> Francisco Vila. Badajoz (Spain)
> paconet.org , csmbadajoz.com
>
>
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user

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


Re: Music fonts in local directory

2017-07-10 Thread David Bellows
> Its relative path is "../share/lilypond/current/fonts/otf"
> Linux package maintainers may organize things differently, though.

So it sounds like, for now, at least, if I want to do this I would be
better off providing installation instructions for the fonts for the
various platforms (OSX, Windows, and Linux). Ugh. While I know where
to put the fonts in Linux, I'm not sure if I could come up with
general enough instructions for all Linux users and then Mac and
Windows users -- who knows?

Or does there already exist a set of instructions for this for all platforms?

Dave


On Mon, Jul 10, 2017 at 2:02 PM, Urs Liska <u...@openlilylib.org> wrote:
> [CCing back to the list]
>
>
> Am 10.07.2017 um 22:02 schrieb David Bellows:
>>> If your software is able to determine the lilypond installation directory 
>>> it could create the appropriate symlinks.
>> Is there a Lilypond command for that?
>
> No.
>
>> I'm using OS system commands to
>> call Lilypond from inside my software so I could get that information
>> if that's the case.
>
> Well, that's what I would do. However, there are different ways how
> LilyPond is installed, depending on OS and method. With binary releases
> you can find the font directory from the executable. Its relative path
> is "../share/lilypond/current/fonts/otf"
> Linux package maintainers may organize things differently, though.
>
>>
>>> Apart from that I think I recall someone wrote you can add the font 
>>> directory to LilyPond's include path.
>> That would work nicely as well. Hopefully someone can give me a hint
>> about that as well.
>
> Hm, I just tested adding the folder to LilyPond's include path where the
> fonts are, and that did *not* work.
> So it seems my recollection was wrong ...
>
> Best
>
> Urs
>
>>
>> On Sun, Jul 9, 2017 at 9:53 PM, Urs Liska <u...@openlilylib.org> wrote:
>>>
>>> Am 10. Juli 2017 04:29:35 MESZ schrieb David Bellows 
>>> <davebell...@gmail.com>:
>>>> I fear I already know the answer to this question but I thought I'd try
>>>> anyway.
>>>>
>>>> I have a project that generates music and sheet music using Lilypond.
>>>> I want to allow the user to use any music font they want (the free
>>>> music fonts). But I want to keep things as simple as possible. So I
>>>> don't want for them to have to figure out how to install the music
>>>> fonts into the standard places that Lilypond looks for them.
>>>>
>>>> Instead I'd love for them to be able to download my software and keep
>>>> those music fonts in a subdirectory of my project and for Lilypond to
>>>> be able to find them.
>>>>
>>>> I've experimented a lot with this and cannot get anything to work. And
>>>> based on what I've read I don't think it is possible, but I'm hoping
>>>> this isn't the case. I really don't want to have to deal with making
>>>> people install these fonts when it feels like I can just include them
>>>> with my project.
>>>>
>>>> Thanks,
>>>> Dave Bellows
>>> If your software is able to determine the lilypond installation directory 
>>> it could create the appropriate symlinks.
>>>
>>> Apart from that I think I recall someone wrote you can add the font 
>>> directory to LilyPond's include path.
>>>
>>> HTH
>>> Urs
>>>> ___
>>>> 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
>
> --
> u...@openlilylib.org
> https://openlilylib.org
> http://lilypondblog.org
>

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


Re: Music fonts in local directory

2017-07-10 Thread David Bellows
> If your software is able to determine the lilypond installation directory it 
> could create the appropriate symlinks.

Is there a Lilypond command for that? I'm using OS system commands to
call Lilypond from inside my software so I could get that information
if that's the case.

> Apart from that I think I recall someone wrote you can add the font directory 
> to LilyPond's include path.

That would work nicely as well. Hopefully someone can give me a hint
about that as well.

On Sun, Jul 9, 2017 at 9:53 PM, Urs Liska <u...@openlilylib.org> wrote:
>
>
> Am 10. Juli 2017 04:29:35 MESZ schrieb David Bellows <davebell...@gmail.com>:
>>I fear I already know the answer to this question but I thought I'd try
>>anyway.
>>
>>I have a project that generates music and sheet music using Lilypond.
>>I want to allow the user to use any music font they want (the free
>>music fonts). But I want to keep things as simple as possible. So I
>>don't want for them to have to figure out how to install the music
>>fonts into the standard places that Lilypond looks for them.
>>
>>Instead I'd love for them to be able to download my software and keep
>>those music fonts in a subdirectory of my project and for Lilypond to
>>be able to find them.
>>
>>I've experimented a lot with this and cannot get anything to work. And
>>based on what I've read I don't think it is possible, but I'm hoping
>>this isn't the case. I really don't want to have to deal with making
>>people install these fonts when it feels like I can just include them
>>with my project.
>>
>>Thanks,
>>Dave Bellows
>
> If your software is able to determine the lilypond installation directory it 
> could create the appropriate symlinks.
>
> Apart from that I think I recall someone wrote you can add the font directory 
> to LilyPond's include path.
>
> HTH
> Urs
>>
>>___
>>lilypond-user mailing list
>>lilypond-user@gnu.org
>>https://lists.gnu.org/mailman/listinfo/lilypond-user
>
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user

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


Music fonts in local directory

2017-07-09 Thread David Bellows
I fear I already know the answer to this question but I thought I'd try anyway.

I have a project that generates music and sheet music using Lilypond.
I want to allow the user to use any music font they want (the free
music fonts). But I want to keep things as simple as possible. So I
don't want for them to have to figure out how to install the music
fonts into the standard places that Lilypond looks for them.

Instead I'd love for them to be able to download my software and keep
those music fonts in a subdirectory of my project and for Lilypond to
be able to find them.

I've experimented a lot with this and cannot get anything to work. And
based on what I've read I don't think it is possible, but I'm hoping
this isn't the case. I really don't want to have to deal with making
people install these fonts when it feels like I can just include them
with my project.

Thanks,
Dave Bellows

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


Re: general question for composers

2016-11-20 Thread David Bellows
I'm a composer in the classical tradition. Sheet music is everything.
And I compose directly into Lilypond. I don't have access to any
instruments and don't want to lug around manuscript paper. I also
don't want to spend time writing all the music out by hand and then
writing it out *again* in Lilypond. Just do it once (plus all the
editing, of course). It's just me and my laptop and Lilypond (and a
few other things but you get the idea).

On Sat, Nov 19, 2016 at 9:37 PM, Vaughan McAlley  wrote:
> On 19 Nov 2016 8:20 a.m., "Tobin Chodos"  wrote:
>>
>> hi all,
>>
>> this is a general question for composers using lilypond.  at what point in
>> your process do you generally start engraving?  Like most composers coming
>> from the consumer notation softwares, I'm accustomed to working in pencil
>> first, but not to completely separating the engraving and composition tasks.
>> Curious about composer perspectives about this with lilypond.  are there
>> strategies for working with a lilypond file while still composing?
>>
>> Thanks.
>>
>> Tobin
>>
>> ___
>> lilypond-user mailing list
>> lilypond-user@gnu.org
>> https://lists.gnu.org/mailman/listinfo/lilypond-user
>>
>
> Like the others, I prefer to keep composing and typesetting separate.
> Composing is (or should be) too difficult to be simultaneously wrestling
> with any technology more complicated than a pencil (and maybe a piano).
> Occasionally like Trevor i will print out a cantus firmus with blank staves,
> mainly because of thinks are in canon, cf mistakes are difficult to fix!
>
> Listening to MIDI is essential for proofing. So many scores on the internet
> have errors that one listen-through would pick up. I have a script that
> finds consecutives. But in the end, once I have found the errors, I'll fix
> them on paper, partly because it can be done away from the computer.
>
> Vaughan
>
>
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>

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


Re: How to get a polymeter with time signature 89888449/5199909 against 742739/45045

2016-11-06 Thread David Bellows
> So we can simply photoshop the barlines in and photoshop the entire score by 
> entering 4
measures or so at time and separately engraving 'em, then assembling the
entire score by hand. Not ideal perhaps, but a whole lot easier than any
other way of doing it I know of.

No idea if this would be any easier or better, but you can have
Lilypond create an .svg file and then edit it in something like
Inkscape. For fine manipulations this generally is easier and works
better than manipulating pdfs with Photoshop. Pretty much everything
is treated as an object in the resulting .svg file which is nice.

On Sun, Nov 6, 2016 at 1:05 AM, mclaren  wrote:
> Lilypond crashes with the familiar error code if we enter those time
> signatures directly. But there is a workaround, and it involves
> approximating both meters with smaller rational fractions, then deleting the
> actual meter used and engraving the real time signature by hand on both
> staves. Then we use a tuplet to squish one meter so that it fits in the time
> of the other meter (to within 7 parts in 100,000, which is probably close
> enough).
>
> Here's the score. Unfortunately, Urs Liska's and Andrew Ho's ametric bar
> break code doesn't work here, but that's not an issue because the measures
> line up on the downbeat (to within 7 parts in 100,000). So we can simply
> photoshop the barlines in and photoshop the entire score by entering 4
> measures or so at time and separately engraving 'em, then assembling the
> entire score by hand. Not ideal perhaps, but a whole lot easier than any
> other way of doing it I know of.
>
> 
>
> Here's the Lilypond code:
>
> \version "2.18.2"
>
>
> \header {
>   tagline = ""  % removed
> }
> #(set-default-paper-size "a4" 'landscape)
> \paper {
>   indent = 0
>   page-count = 1
> }
>
> % This code allows page breaks on complex ametric scores with the \breaks
> % command. Thanks to Urs Liska and Andrew Ho of the Lilypond user group.
>
> \layout {
>   % Create time signature context
>   % Source: http://lsr.di.unimi.it/LSR/Snippet?id=272
>   % (modified)
>   \context {
> \Voice
> %\override VerticalAxisGroup.nonstaff-nonstaff-spacing.stretchability =
> #5000
> \remove "Forbid_line_break_engraver"
>   }
>   \context {
> \type Engraver_group
> % Add elements that _can_ be printed
> \consists "Timing_translator"
> \consists "Time_signature_engraver"
> \consists "Axis_group_engraver"
> \name "TimeLine"
> \alias "Staff"
>
> % Align time signatures on barlines
> \override TimeSignature.X-offset =
> #ly:self-alignment-interface::x-aligned-on-self
> \override TimeSignature.self-alignment-X = #CENTER
>   }
>   \context {
> \Score
> \accepts "TimeLine"
> \remove "Timing_translator"
> \remove "Default_bar_line_engraver"
> \override TupletNumber.text = #tuplet-number::calc-fraction-text
>   }
>   \context {
> \Staff
> \consists "Timing_translator"
> \remove "Default_bar_line_engraver"
> %\remove "Time_signature_engraver"
> %\override VerticalAxisGroup.staff-spacing.stretchability = #5000
>
>   }
> }
>
> % Define line breaks
> breaks = {
>   {
> s2. \bar "" \break
> s2 \bar "" \break
>   }
> }
>
> {
>
>
> <<
>
>
>
>
>
> \new Staff { \clef "treble"
>
> %\time 89888449/5199909
>
>
>   % This is the accurate time signature, but it crashes
>   % Lilypond. The solution? Use a rational approximation
>   % program to find the closest time signature -- 3237/224
>   % approximates 89888449/5199909 to within 0.07142857143094261
>
>
>  % Top time signature is
>  % 3*(13/17) + 2*(9/11) + 3*(29/31) + 2*(8/13) + 3*(5/9) + 2*(19/23) + 6 =
> 89888449/5199909 = 17.2865427068
>  % ~ 8989/520
>  %
>  % Bottom time signature is
>  % 3*(11/13) + 2*(7/9) + 3*(5/7) + 2*(3/5) + 3*(7/11) + 2*(4/7) + 6 =
> 742739/45045 = 16.4888222888
>  % ~ 5161/313
>  %
>  %
>  % Ratio of the two time signatures is the value of the tuplet
>
>  % 17.2865427068/16.4888222888 = 1.04837946604 ~ 2067:2167
>
>  \once \override Staff.TimeSignature #'stencil = ##f
>   %\time 8989/520
>   % More info about the Lilypond time signature bug -- turns out
>   % Lilypond can't handle time signatures above about 3900 in either
>   % the numerator or denominator. The above meter crashed Lilypond,
>   % but the meter below is OK and Lilypond produced engraved output.
>   \time 2956/171
>   \override Staff.TimeSignature.stencil = #ly:text-interface::print
>   \override Staff.TimeSignature.text =
>   \markup \override #'(baseline-skip . 0) \center-column \number {
> \concat {
>   "89888449"
>
> }
> "5199909"
>   }
>
>
>
>
> {
>
>
> \relative c''
>
> {\tuplet 17/13 {c8[ c8 c8]}  c8 \tuplet 11/9 {c8[ c8]} c8
>  \tuplet 31/29 {c8[ c8 c8]} c8 }
>
> \relative c''
>
> { \tuplet 13/8 {c8[ c8]}  c8 \tuplet 9/5 {c8[ c8 c8]} c8 \tuplet 23/19
>  {c8[ c8]} c8 }
> 

Re: Any thoughts on how to automatically avoid rest collisions in polyphonic music?

2016-10-26 Thread David Bellows
Urs,

> I think you're missing something: the double backslash construct that David 
> uses already creates the voices as \voiceOne \voiceTwo etc. implicitly. So if 
> that isn't good enough engraving-wise then setting it manually should not 
> make any difference

Thanks for that. I had become really worried that I was
misunderstanding a basic point about Lilypond and was about to spend
probably another 5 or 6 hours hacking away to try out the changes. Of
course I'm sure I'm misunderstanding plenty about Lilypond as it is
but other than these collisions things look pretty good.

Dave

On Wed, Oct 26, 2016 at 5:32 PM, Urs Liska <u...@openlilylib.org> wrote:
>
>
> Am 26. Oktober 2016 16:56:16 GMT-07:00, schrieb "H. S. Teoh" 
> <hst...@quickfur.ath.cx>:
>>On Wed, Oct 26, 2016 at 04:52:18PM -0700, David Bellows wrote:
>>> > Do you use the \voiceOne, \voiceTwo, \voiceThree commands in the
>>> > generated parts?  Sometimes those can help, by rendering rests for
>>> > each voice separately. Not sure if this is the solution you're
>>> > looking for, though.
>>>
>>> I had been but keeping it all straight and making the process
>>> infinitely expandable became a headache so now I use << voice1 //
>>> voice2 // voice3 >> etc which is easy to just keep adding to. Would
>>> using \voiceOne (etc) make that much of a difference?
>>
>>You can try it and see?  In my experience, it does help with placement
>>of notes especially when you have rests in multiple voices. Lilypond is
>>generally quite good at handling shifting notes/rests horizontally to
>>make them fit, but that depends on how complex the music is. Some cases
>>may be so complex it will always require manual intervention.
>>
>>I'm not sure about using << ... // ... >> to make it "infinitely
>>expandable"... wouldn't the output become illegible past 4 voices?  If
>>you're mechanically generating these parts, I'd say keep it to 2 voices
>>per staff, which is least problematic. In theory, it should be easy for
>>the program to allocate a new Staff for every two voices, right?
>>
>>You could have more, up to 4 per staff, if you use \voiceOne,
>>\voiceTwo,
>>...  \voiceFour, but then there would be cases where collisions become
>>inevitable and lilypond may just give up trying to figure it out.  At
>>least, it would require manual intervention (recently I've been working
>>on a complex 4-voice piano score and lots of manual intervention were
>>needed to keep things straight and not turn into spaghetti on the
>>page).
>>
>
>
> I think you're missing something: the double backslash construct that David 
> uses already creates the voices as \voiceOne \voiceTwo etc. implicitly. So if 
> that isn't good enough engraving-wise then setting it manually should not 
> make any difference.
>
> Urs
>>
>>T
>
> --
> Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.
>
> ___
> 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: Any thoughts on how to automatically avoid rest collisions in polyphonic music?

2016-10-26 Thread David Bellows
> I'm not sure about using << ... // ... >> to make it "infinitely
expandable"... wouldn't the output become illegible past 4 voices?  If
you're mechanically generating these parts, I'd say keep it to 2 voices
per staff, which is least problematic. In theory, it should be easy for
the program to allocate a new Staff for every two voices, right?

I say infinite but for now I'm limiting myself to 4 voices per staff.
But programmatically it's easy to add a "\\ voice_x" to the next line
and just close it at the end with a ">>". Or at least I found that to
be the case when I switched over (the old code was a nightmare). Plus,
when dealing with instruments that have two staves each voice has a
voice in each staff -- my software handles switching the voice to the
other staff as needed at middle-c. In any case I'll play around with
it to see if it makes a difference.

But I'm not sure I understand what you're saying about keeping it to 2
voices per staff. If this is a four voice fugue for piano or guitar or
something then what other staff would there be?

> but then there would be cases where collisions become
inevitable and lilypond may just give up trying to figure it out.  At
least, it would require manual intervention

Yeah, that's what I figure is going on which is why I was hoping
someone might have another trick/snippet/magical scheme function that
might help. I've thought about getting rid of rests altogether which
is, of course, non-standard but at least you'd be able to see the
notes clearly and still figure out what's going on. I'm not really
expecting musicians to play these scores, it's more so that the user
can have something pretty to look at (that's still fairly accurate).



On Wed, Oct 26, 2016 at 4:56 PM, H. S. Teoh <hst...@quickfur.ath.cx> wrote:
> On Wed, Oct 26, 2016 at 04:52:18PM -0700, David Bellows wrote:
>> > Do you use the \voiceOne, \voiceTwo, \voiceThree commands in the
>> > generated parts?  Sometimes those can help, by rendering rests for
>> > each voice separately. Not sure if this is the solution you're
>> > looking for, though.
>>
>> I had been but keeping it all straight and making the process
>> infinitely expandable became a headache so now I use << voice1 //
>> voice2 // voice3 >> etc which is easy to just keep adding to. Would
>> using \voiceOne (etc) make that much of a difference?
>
> You can try it and see?  In my experience, it does help with placement
> of notes especially when you have rests in multiple voices. Lilypond is
> generally quite good at handling shifting notes/rests horizontally to
> make them fit, but that depends on how complex the music is. Some cases
> may be so complex it will always require manual intervention.
>
> I'm not sure about using << ... // ... >> to make it "infinitely
> expandable"... wouldn't the output become illegible past 4 voices?  If
> you're mechanically generating these parts, I'd say keep it to 2 voices
> per staff, which is least problematic. In theory, it should be easy for
> the program to allocate a new Staff for every two voices, right?
>
> You could have more, up to 4 per staff, if you use \voiceOne, \voiceTwo,
> ...  \voiceFour, but then there would be cases where collisions become
> inevitable and lilypond may just give up trying to figure it out.  At
> least, it would require manual intervention (recently I've been working
> on a complex 4-voice piano score and lots of manual intervention were
> needed to keep things straight and not turn into spaghetti on the page).
>
>
> T
>
> --
> If Java had true garbage collection, most programs would delete themselves 
> upon execution. -- Robert Sewell
>
> ___
> 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: Any thoughts on how to automatically avoid rest collisions in polyphonic music?

2016-10-26 Thread David Bellows
> Do you use the \voiceOne, \voiceTwo, \voiceThree commands in the
generated parts?  Sometimes those can help, by rendering rests for each
voice separately. Not sure if this is the solution you're looking for,
though.

I had been but keeping it all straight and making the process
infinitely expandable became a headache so now I use << voice1 //
voice2 // voice3 >> etc which is easy to just keep adding to. Would
using \voiceOne (etc) make that much of a difference?

On Wed, Oct 26, 2016 at 4:34 PM, H. S. Teoh <hst...@quickfur.ath.cx> wrote:
> On Wed, Oct 26, 2016 at 02:10:49PM -0700, David Bellows wrote:
>> I have a large computer music generating program that I'm creating.
>> One of the things it does is generate sheet music for the generated
>> music using Lilypond. It works really well.
>>
>> When dealing with one or two voices everything's fine. But I just
>> added a musical style that uses three voices and collisions with rests
>> are occurring.
>
> Do you use the \voiceOne, \voiceTwo, \voiceThree commands in the
> generated parts?  Sometimes those can help, by rendering rests for each
> voice separately. Not sure if this is the solution you're looking for,
> though.
>
>
> T
>
> --
> BREAKFAST.COM halted...Cereal Port Not Responding. -- YHL
>
> ___
> 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


Any thoughts on how to automatically avoid rest collisions in polyphonic music?

2016-10-26 Thread David Bellows
So sorry everyone, I forgot to use reply all. Here's my latest message:

Ok, this all might be confusing so I've attached two example pngs
showing the collisions. The use_rest.png file uses rests like c'4/rest
while no_rest just uses regular rests like r4. I know I could
manipulate these manually to avoid the rests but getting things to
work automatically is the trick.
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Any thoughts on how to automatically avoid rest collisions in polyphonic music?

2016-10-26 Thread David Bellows
I have a large computer music generating program that I'm creating.
One of the things it does is generate sheet music for the generated
music using Lilypond. It works really well.

When dealing with one or two voices everything's fine. But I just
added a musical style that uses three voices and collisions with rests
are occurring.

The Lilypond files are generated automatically by my software and
cannot be hand-tweaked afterwards (end users won't know how and
shouldn't be expected to do this anyway). In other words they need to
be perfect or at least good enough.

Options I've added to the software:

1. Eliminate all rests for quiet voices (which can look weird but is
kind of neat).
2. Use the \rest option.
3. Use spaces instead of rests.

Here's the thing, using any, all, or none of those options at one time
might result in a score without collisions but when I change the
instrument or just run through it again with different data there
might be collisions again. These are blunt tools that cannot be used
selectively on certain notes -- it's either all or nothing.

So what I'm wondering is if there are any other strategies people have
for automatically avoiding rest collisions and if this is the sort of
thing that might be dealt with in the future in Lilypond or if maybe
it's just too difficult a problem for Lilypond for now?

I haven't supplied an mwe (though I will if someone really wants one)
as my software generates infinitely many scores so a solution for one
score won't necessarily work for another which is why I'm seeing if
maybe there's an approach that I'm not aware of.

Thanks!

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


Re: Problem with understanding results with multiple voices and Note_heads_engraver

2016-10-19 Thread David Bellows
> Before mentioning where one problem is, I suspect that I'm not
handling the multiple voices properly so that could be a problem as
well.

> The offending code in mwe.ly appears to be the following:

Ok, I discovered that there was an easier way to code multiple voices
across staves and now all the problems are gone. Still an interesting
problem, I suppose, but I've moved on.

Dave Bellows

On Wed, Oct 19, 2016 at 6:31 PM, David Bellows <davebell...@gmail.com> wrote:
> I've attached mwe.ly and mwe.png. I'm using Lilypond 2.19.49 but I've
> observed the same results in other versions including 2.18.
>
> Before mentioning where one problem is, I suspect that I'm not
> handling the multiple voices properly so that could be a problem as
> well.
>
> The offending code in mwe.ly appears to be the following:
>
> \context { \Voice \remove "Note_heads_engraver" \consists
> "Completion_heads_engraver" \remove "Rest_engraver" \consists
> "Completion_rest_engraver"}
>
> Remove this line and the it prints out as you'd expect with those two
> B's as 16th notes in the lower staff. Here's the thing, the Lilypond
> code is generated automatically by my software and it's rare that
> notes fit within the bar lines so I always have that line included so
> that Lilypond prints things out accurately no matter what happens at
> bar lines (Lilypond automatically splits up and ties notes across bar
> lines and it does it really, really well).
>
> So I'm not sure if I've formed that line incorrectly or if there is
> something else going on or a combination of things.
>
> Thanks for any help,
> David Bellows

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


Problem with understanding results with multiple voices and Note_heads_engraver

2016-10-19 Thread David Bellows
I've attached mwe.ly and mwe.png. I'm using Lilypond 2.19.49 but I've
observed the same results in other versions including 2.18.

Before mentioning where one problem is, I suspect that I'm not
handling the multiple voices properly so that could be a problem as
well.

The offending code in mwe.ly appears to be the following:

\context { \Voice \remove "Note_heads_engraver" \consists
"Completion_heads_engraver" \remove "Rest_engraver" \consists
"Completion_rest_engraver"}

Remove this line and the it prints out as you'd expect with those two
B's as 16th notes in the lower staff. Here's the thing, the Lilypond
code is generated automatically by my software and it's rare that
notes fit within the bar lines so I always have that line included so
that Lilypond prints things out accurately no matter what happens at
bar lines (Lilypond automatically splits up and ties notes across bar
lines and it does it really, really well).

So I'm not sure if I've formed that line incorrectly or if there is
something else going on or a combination of things.

Thanks for any help,
David Bellows
\version "2.19.49" 

\header { 
}

\language "english"

voice_one = {
  \key c \major
  \clef "treble"
  \time 4/4
  \tempo "adagio" 4 = 60
  r8 c'16 e'16 d'16 s16 s16 c'16 e'16 d'16 a'16 c'16 c'16 a'16 e'16 f'16 c'1
}

voice_five = {
  \key c \major
  \clef "treble"
  \time 4/4
  \tempo "adagio" 4 = 60
  s1 s1
}

voice_two = {
  \key c \major
  \clef "bass"
  \time 4/4
  \tempo "adagio" 4 = 60
  s8 s16 s16 s16 b16\ff b16 s16 s16 s16 s16 s16 s16 s16 s16 s16 s1
}

voice_six = {
  \key c \major
  \clef "bass"
  \time 4/4
  \tempo "adagio" 4 = 60
  e,1 d,1\bar "|."
}

\paper {#(set-paper-size "letter") }

\score { 
  \new PianoStaff << 
\new Staff = "upper" << 
  \new Voice = "first"  
  { \voiceOne {
	\voice_one}} 
  {\voiceThree {
	\voice_five}}  >> 
\new Staff = "lower" << 
  \new Voice = "second" 
  {\voiceTwo {
	\voice_two}} 
  {\voiceFour {
	\voice_six}}  >> 
  >> 
  \layout{ragged-bottom = ##t ragged-right = ##t
	  \context { \Voice \remove "Note_heads_engraver" \consists "Completion_heads_engraver" \remove "Rest_engraver" \consists "Completion_rest_engraver"}
	} 
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: state-of-the-art for algorithmic hooks and Lilypond+(La)TeX

2016-07-11 Thread David Bellows
I guess should throw my own modest contribution into the hat. My
Platonic music engine (http://www.platonicmusicengine.com) is
algorithmically generated music created to simulate any musical idea.
It generates traditional scores using Lilypond and graphical scores
using pdfLaTeX. It is written entirely in Lua. You can read a good
summary at lilyblog:
http://lilypondblog.org/2015/04/using-lilypond-in-the-platonic-music-engine/

It's still very much in alpha but it shows some of the possibilities.
One big idea is that the scores cannot be tweaked at all so Lilypond
has to get it right the first time.

On Mon, Jul 11, 2016 at 1:51 PM,   wrote:
> Am 2016-07-11 19:55, schrieb Kieren MacMillan:
>>
>> Hello all,
>>
>> This past week, I was in Pittsburgh on music business (a long-term
>> commissioning project incorporating binaural recording technologies
>> and a bunch of other exciting stuff).
>>
>> While there, I established a very strong relationship with a composer,
>> sound designer, and electrical engineer who loves open source music
>> technologies. He was thrilled to hear about Lilypond's recent
>> improvements and successes: he only vaguely knew about Lilypond from
>> its very first days (having always been heavily involved with
>> MusiXTeX).
>
>
> An important point. I regularly encounter people who should actually be
> typical representatives of LilyPond's "target audience" but who have only
> some vage recollections from an earlier time when LilyPond wasn't as good as
> it is now and when there wasn't such a widespread ecosystem of tools and
> environments available.
>
>>
>> He is well-connected (IRCAM, UCSD, etc.etc.etc.) and quite brilliant.
>> He’s **extremely** interested in the possible hooks from Lilypond to
>> algorithmic music generation, and the interweaving of music with text
>> (e.g., LaTeX). I’m hoping to get him hooked on the ‘Pond, beyond the
>> high-energy sales pitch I gave him in person.
>
>
> Great! Just don't let the opportunity go by ...
>
>>
>> 1. On the topic of algorithmic stuff, I sent him the link to Abjad. If
>> there’s a better starting place, or other links I should forward to
>> him, please let me know!
>
>
> I think Abjad is probably the starting point per se.
>
> There may be some more blog posts of interest (please review before
> considering sharing them):
> -
> http://lilypondblog.org/2013/07/creating-anything-you-can-imagine-with-finale/
> plus
>  http://lilypondblog.org/2013/07/programmatically-generating-lilypond-input/
> -
> http://lilypondblog.org/2013/09/automatic-generation-of-scales-in-various-modes-for-all-21-pitches/
> -
> http://lilypondblog.org/2015/11/just-intonation-semantic-encoding-with-lilypond/
>
> Another topic might be OpenMusic (http://repmus.ircam.fr/openmusic/home). As
> far as I was told there already *is* some link to make it work with LilyPond
> to some extent. I was recently introduced to the people behind OpenMusic,
> and - apart from the notorious lack of time and money - there is significant
> mutual interest in making this integration closer. Presumably in the context
> of our longstanding wishlist item, a proper "contemporary music notation"
> library for LilyPond.
>
> Finally I'd like to mention nCoda (https://ncodamusic.org), a
> prototype-level new "notation program", or rather "music document management
> and editing system". One of the explicit use cases of this tool is
> (algorithmic) composition, as this is why one of the core members is
> actually working on it. Therefore Abjad integration is built right into its
> core. But it will surely take quite some time until this tool is really
> ready for practical use.
>
> I'm afraid what *I* have to contribute to this is all about great potentials
> but not really about state-of-the-art. Maybe "bleeding edge" but no really
> usable solutions. This goes equally for 1. and for 2.
>
>>
>> 2. For Lilypond+(La)TeX, I want to send him to examples of the
>> bleeding edge (or at least most stable state-of-the-art) work in that
>> direction. What are the first links I should send him?
>
>
> I think the blog post Jeffery mentioned is actually a good starting point
> (http://lilypondblog.org/2013/12/using-latex-for-a-musical-edition/).
> Of course in that context pointing to version control (especially with
> regard to mixing text and music) might be a good idea.
> -
> http://lilypondblog.org/2014/01/why-use-version-control-for-engraving-scores/
> - http://lilypondblog.org/2014/06/what-you-miss-with-version-control/
>
> lilyglyphs (insert LilyPond notation in continuous text) is of course a nice
> add-on when authoring text documents about music.
>
> musicexamples is a pretty half-baked package so far because I didn't come
> across a problem where I *needed* to continue development (which is why I
> haven't released it to CTAN yet). Out of my hat I recall a few goodies it
> has over a regular LaTeX approach:
> 1) Providing a separate group for creating lists of music 

Re: Installing lilypond-mode in emacs

2016-05-01 Thread David Bellows
> I have just installed Ubuntu 16.04 to replace my previous 12.04 system,
> and installed LilyPond v.2.19.40.

> In my ~/.emacs file I already had

Here's my .emacs file for Kubuntu 16.04:


(setq load-path (append (list (expand-file-name
"/usr/local/lilypond/usr/share/emacs/site-lisp")) load-path))
(autoload 'LilyPond-mode "lilypond-mode" "LilyPond Editing Mode" t)
(add-to-list 'auto-mode-alist '("\\.ly$" . LilyPond-mode))
(add-to-list 'auto-mode-alist '("\\.ily$" . LilyPond-mode))

Hope that helps

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


Re: Replying to posts

2016-04-29 Thread David Bellows
And just to let people know, if anyone does want to carry on a massive
meta-discussion/RFC in a slightly more manageable form, there is a
subreddit devoted to Lilypond (which I happen to be the moderator
for): http://www.reddit.com/r/lilypond. We'd be totally fine with
having that, or any, kind of discussion there. I know a lot of people
avoid Reddit, and for very good reasons, I'm just throwing that option
out there.

On Fri, Apr 29, 2016 at 10:00 AM, David Linn  wrote:
> On Thu, Apr 28, 2016 at 11:14 PM Andrew Bernard 
> wrote:
>>
>> Hi Werner,
>>
>> On 29 April 2016 at 14:05, Werner LEMBERG  wrote:
>> >
>> >> As far as I know this particular list does not have a list owner,
>> >> and there are no published rules.
>> >
>> > Of course there is a list owner.
>>
>> Who, may one ask? Why are they taking no interest in this extensive
>> discussion?
>
>
> Perhaps because the "extensive discussion"  has occurred while my
> non-working hours are spent preparing to move from one location to another.
>
> For the record:
>
> 1) I am not David Kastrup, I am David Linn.  (I do not live in Europe, I
> live in the southeastern part of the United States of America).
>
> 2) I am a dinosaur and find use of HTML, top posting, and gratuitous
> assumptions about available bandwidth annoying.  I have strong views about
> appropriate use of mailing lists but choose not to impose them on you.
>
> 3) My personal choice of MUA is Heirloom mailx (formerly nail), an enhanced
> version of the Berkeley mail(1) program.  That said, the list manangement
> mail for the Lilypond lists goes to Gmail, precisely so that I am able to
> deal with the ... variety of formats people send to the Lilypond lists.
>
> 4) As David K. suggested, the simple way to get to the administrator of a
> GNU mailing list is to send mail to -owner.  Further, if you
> visit http://lists.gnu.org/ and follow the listinfo link, or just look at
> the footer of every message from both the regular list and the digest list,
> you'll find
>
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>
> which lists my address at the bottom of the page.
>
> 5) Personal attacks against a list administrator (such as the ones launched
> against me for the work I done on this list and its cousins and their
> predecessors) make that administrator unlikely to do more than the absolute
> minimum to maintain a list.
>
> ___
> 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: When to Use Pound Signs

2016-01-05 Thread David Bellows
According to the Wikipedia article
(https://en.wikipedia.org/wiki/Number_sign) in North America referring
to # as "pound sign" dates back to at least 1932 in published material
which predates ASCII by almost 30 years. The Wikipedia article
provides a citation for this but I am unable to verify it. But I will
note that I first learned it as "pound sign" in the early '70s which I
doubt had anything to do with computer standards.



On Tue, Jan 5, 2016 at 3:17 PM, J Martin Rushton
 wrote:
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
>
> Just for the record: "£" is a pound sign, "#" is a hash.  Calling the
> hash sign a pound sign goes way back to the days of ASCII-7 and
> national ASCII variants.  The UK national variant had a pound sign
> where plain ASCII had a hash.  If anyone is _really_ interested, the £
> sign is a capital "L" (for libra, Latin for a pound) with a line
> through it, a bit like dollars and letter "S".
> -BEGIN PGP SIGNATURE-
> Version: GnuPG v2.0.22 (GNU/Linux)
>
> iQIcBAEBAgAGBQJWjE74AAoJEAF3yXsqtyBlVL4QAL/QEuFJTWMElZMCxJi0ui7N
> CRE/mm3NjFh2CBeN7DWbO8wymTejqwRWNn1+gVuH+1epoG0obgNfAjfUgxZLL4yg
> 6QWllqWOjqD33kZCKGCi8ZTPAGTgh1PZXmnOTBeFPQzETekTyYAhqbJwfbYl1KkT
> 4CJzfhs2d4k/BrqEDMNrk1S3JTprnYbWuzUhcI6XswEuT1qtyh4OpK843WrhqeDh
> AG6MZINYmtTGEMYuOsE+kOv9ffB1kJhvogf8ZJGxZrmlTnK/mX0ye8oUNXk38igK
> ibTv1Yu4UEKhMz9i5hVUmUlP4Da4HGvlvbEgln361oSNa47chVpF5SrJ6C4c/uTO
> jTtiYFO8tu2zZVPz+Ql0WJRKgcAgRKGyQOH5foc79mz9e/TG9UVB78DDuNN3neOU
> PUz10drkgQdnSIbTvXmLbFk4G8s9Nfo3pBIEPM6SCBctlhRuyoQAddvI3l19bHoX
> E4CCpdzHw+CzuMydZBJ2hb5POOXVp9TxfrQ0KNOccivQcqYLZQr/oCWqzXPZqep+
> J5Son7mC0OR4CAc340YUKcxvU1j78SzexDGpN3OcTVHMMU0Pjdab6ZUeGpxUWNh0
> NAMCIwosUvuLEjzakpvz+Xh75pQNDZqh8HA8r2yDgbxlc1IPUaUNxC3nBVAv7TTT
> hSr1vXPbIX1WinSoEcYs
> =5Aeh
> -END PGP SIGNATURE-
>
> ___
> 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: Introducing "LilyPond HTML Live Score"

2015-12-02 Thread David Bellows
Hey Mathieu

> I just updated the project's repository. I refactored and simplified a
lot of things.

A new problem. I'm able to successfully run the script on both your
example and my test file. But now whenever I open it up in a browser
(Firefox, Chrome, Rekonq) I get the message that I need to update my
Flash player. I'm running Kubuntu 15.10 and everything is up-to-date
but still no go.

The example you linked to at the head of this thread still works.

Dave Bellows


On Wed, Dec 2, 2015 at 8:09 AM, Mathieu Demange
<cont...@mathieudemange.fr> wrote:
> Hi David,
>
> I just updated the project's repository. I refactored and simplified a
> lot of things.
>
> There's now a single python script (make-live-score) which takes care of
> everything. Also, you don't need to edit your .ly file anymore.
>
> Please note that the script except audio files to be specified (at least
> one format) or it'll break the js part. This'll be fixed in the next
> release and will allow to have visual rhythmic feedback even with no
> sound played back.
>
> See the README.md file for details (and command usage, it has been
> reworked).
>
> Please tell me how it goes now.
>
> Cheers,
>
> Mathieu
>
> Le lundi 30 novembre 2015 à 16:27 -0800, David Bellows a écrit :
>> > The jPlayer plugin for jQuery excepts (if possible) two audio formats :
>> > Ogg Vorbis (.ogg) and AAC (.m4a). Please make sure you have your audio
>> > source file converted into those two formats.
>>
>> Hey Mathieu,
>>
>> So here is my Lilypond test file.
>>
>> \include "live-score.ily"
>> \score{
>>   {c e g c'}
>>   \layout {}
>>   \midi {}
>> }
>>
>> I then convert that to an ogg file with Timidity:
>>
>> timidity -Ov score.midi
>>
>> If I run make-live-score.sh as is then I get the score in index.html
>> but no sound or animation.
>>
>> If I comment out line 81, the m4a part, then I get the score and the
>> sound but no animation.
>>
>> I'm using Lilypond 2.19.32
>>
>> On Mon, Nov 30, 2015 at 1:52 AM, Mathieu Demange
>> <cont...@mathieudemange.fr> wrote:
>> > Hi David,
>> >
>> > The jPlayer plugin for jQuery excepts (if possible) two audio formats :
>> > Ogg Vorbis (.ogg) and AAC (.m4a). Please make sure you have your audio
>> > source file converted into those two formats.
>> >
>> > I'll update the make-live-script.sh file today so it can accept command
>> > line arguments to specify the .ly source file and the audio files (if
>> > any).
>> >
>> > I'll urge myself to write some documentation too!
>> >
>> > Yours,
>> >
>> > Mathieu
>> >
>> >
>> > Le dimanche 29 novembre 2015 à 13:15 -0800, David Bellows a écrit :
>> >> > Ow! That's because I clearly didn't except anyone to try the script 
>> >> > that quick :D
>> >>
>> >> Ha! I've been looking for something like this for a while. There's
>> >> another out there but I've had no luck getting it working and I think
>> >> it's been abandoned.
>> >>
>> >> > - make sure you adapt the paper format so that your score fits into one 
>> >> > single page (see the \paper block in the original score.ly file)
>> >> > - adapt the Javascript code in the index.tpl file (lines 80, 81, 82) to 
>> >> > the audio files you want to use (if any)
>> >>
>> >> Ok, I switched to a score that uses only one page.
>> >>
>> >> I changed line 80 to reflect the name of the piece ("name").
>> >> I changed line 82 to point to the correct ogg file ("name.ogg").
>> >> I'm not sure what to do with line 81:
>> >>A) If I change it to "name.m4a" then everything seems to compile
>> >> and the score is shown in index.html but there's no sound or
>> >> animation.
>> >>B) If I comment out that line then I get the score and the music
>> >> but no animation. So close!
>> >>
>> >> So I'm almost there!
>> >>
>> >> And I would very much like to include this in a super huge project I'm
>> >> working once it reaches maturity and to that end I'll help out
>> >> wherever I can (though I'm not much of a programmer).
>> >>
>> >> Thanks!
>> >> Dave
>> >>
>> >> On Sun, Nov 29, 2015 at 12:03 PM, Mathieu Demange
>> >> <cont...@mathieudemange.fr> wrote:
>> 

Re: Introducing "LilyPond HTML Live Score"

2015-11-30 Thread David Bellows
> The jPlayer plugin for jQuery excepts (if possible) two audio formats :
> Ogg Vorbis (.ogg) and AAC (.m4a). Please make sure you have your audio
> source file converted into those two formats.

Hey Mathieu,

So here is my Lilypond test file.

\include "live-score.ily"
\score{
  {c e g c'}
  \layout {}
  \midi {}
}

I then convert that to an ogg file with Timidity:

timidity -Ov score.midi

If I run make-live-score.sh as is then I get the score in index.html
but no sound or animation.

If I comment out line 81, the m4a part, then I get the score and the
sound but no animation.

I'm using Lilypond 2.19.32

On Mon, Nov 30, 2015 at 1:52 AM, Mathieu Demange
<cont...@mathieudemange.fr> wrote:
> Hi David,
>
> The jPlayer plugin for jQuery excepts (if possible) two audio formats :
> Ogg Vorbis (.ogg) and AAC (.m4a). Please make sure you have your audio
> source file converted into those two formats.
>
> I'll update the make-live-script.sh file today so it can accept command
> line arguments to specify the .ly source file and the audio files (if
> any).
>
> I'll urge myself to write some documentation too!
>
> Yours,
>
> Mathieu
>
>
> Le dimanche 29 novembre 2015 à 13:15 -0800, David Bellows a écrit :
>> > Ow! That's because I clearly didn't except anyone to try the script that 
>> > quick :D
>>
>> Ha! I've been looking for something like this for a while. There's
>> another out there but I've had no luck getting it working and I think
>> it's been abandoned.
>>
>> > - make sure you adapt the paper format so that your score fits into one 
>> > single page (see the \paper block in the original score.ly file)
>> > - adapt the Javascript code in the index.tpl file (lines 80, 81, 82) to 
>> > the audio files you want to use (if any)
>>
>> Ok, I switched to a score that uses only one page.
>>
>> I changed line 80 to reflect the name of the piece ("name").
>> I changed line 82 to point to the correct ogg file ("name.ogg").
>> I'm not sure what to do with line 81:
>>A) If I change it to "name.m4a" then everything seems to compile
>> and the score is shown in index.html but there's no sound or
>> animation.
>>B) If I comment out that line then I get the score and the music
>> but no animation. So close!
>>
>> So I'm almost there!
>>
>> And I would very much like to include this in a super huge project I'm
>> working once it reaches maturity and to that end I'll help out
>> wherever I can (though I'm not much of a programmer).
>>
>> Thanks!
>> Dave
>>
>> On Sun, Nov 29, 2015 at 12:03 PM, Mathieu Demange
>> <cont...@mathieudemange.fr> wrote:
>> > Ow! That's because I clearly didn't except anyone to try the script that
>> > quick :D It's not fail-proof, yet, but here are some hints (before all this
>> > gets managed automatically):
>> >
>> > - make sure you adapt the paper format so that your score fits into one
>> > single page (see the \paper block in the original score.ly file)
>> > - adapt the Javascript code in the index.tpl file (lines 80, 81, 82) to the
>> > audio files you want to use (if any)
>> >
>> > Thanks for you interest! The tool is currently at an early stage of
>> > development (more like a proof-of-concept actually). There's still quite a
>> > lot of work to do :)
>> >
>> > Yours,
>> >
>> > Mathieu
>> >
>> >
>> > Le 2015-11-29 20:10, David Bellows a écrit :
>> >>
>> >> This seems like it might be exceedingly cool, but I'm running into a
>> >> problem. When running make-live-score.sh I get this:
>> >>
>> >> Drawing systems...
>> >> Layout output to `score-page-1.svg'...
>> >> Layout output to `score-page-2.svg'...
>> >> Layout output to `score-page-3.svg'...
>> >> Success: compilation successfully completed
>> >> Adding #score id to  tag...
>> >> sed: can't read score.svg: No such file or directory
>> >> Injecting events timing data into score.svg...
>> >> Traceback (most recent call last):
>> >>   File "injector.py", line 6, in 
>> >> svg = ET.parse("score.svg")
>> >>   File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1182, in parse
>> >> tree.parse(source, parser)
>> >>   File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 647, in parse
>> >> source = open(source, "rb")
>> >> IOE

Re: Introducing "LilyPond HTML Live Score"

2015-11-29 Thread David Bellows
This seems like it might be exceedingly cool, but I'm running into a
problem. When running make-live-score.sh I get this:

Drawing systems...
Layout output to `score-page-1.svg'...
Layout output to `score-page-2.svg'...
Layout output to `score-page-3.svg'...
Success: compilation successfully completed
Adding #score id to  tag...
sed: can't read score.svg: No such file or directory
Injecting events timing data into score.svg...
Traceback (most recent call last):
  File "injector.py", line 6, in 
svg = ET.parse("score.svg")
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1182, in parse
tree.parse(source, parser)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 647, in parse
source = open(source, "rb")
IOError: [Errno 2] No such file or directory: 'score.svg'
Injecting score.svg into index.html...

I'm really not sure what I should be doing. I changed the name of my
original Lilypond file to score.ly and the svg files are all correct
but the index.html file still plays your original demo.

On Sun, Nov 29, 2015 at 10:08 AM, Mathieu Demange
 wrote:
> Hello all,
>
> I've been developing a tool which is at a very early stage now, but I humbly
> guess you should like the idea. Check this very simple page and click the
> "play" button (or you can click any note or rest).
>
> http://www.mathieudemange.fr/lilypond-html-live-score-demo/
>
> There's a public repository for the tool here :
>
> https://gitlab.com/sigmate/lilypond-html-live-score
>
> And the score used in the demo is a transcription I made which is a free
> score (CC-BY-SA) available on this repo :
>
> https://gitlab.com/sigmate/transcription-pools-vibes-solo
>
> Looking forward to hear your feedback!
>
> Cheers,
>
> Mathieu
>
>
>
>
>
> ___
> 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: Introducing "LilyPond HTML Live Score"

2015-11-29 Thread David Bellows
> Ow! That's because I clearly didn't except anyone to try the script that 
> quick :D

Ha! I've been looking for something like this for a while. There's
another out there but I've had no luck getting it working and I think
it's been abandoned.

> - make sure you adapt the paper format so that your score fits into one 
> single page (see the \paper block in the original score.ly file)
> - adapt the Javascript code in the index.tpl file (lines 80, 81, 82) to the 
> audio files you want to use (if any)

Ok, I switched to a score that uses only one page.

I changed line 80 to reflect the name of the piece ("name").
I changed line 82 to point to the correct ogg file ("name.ogg").
I'm not sure what to do with line 81:
   A) If I change it to "name.m4a" then everything seems to compile
and the score is shown in index.html but there's no sound or
animation.
   B) If I comment out that line then I get the score and the music
but no animation. So close!

So I'm almost there!

And I would very much like to include this in a super huge project I'm
working once it reaches maturity and to that end I'll help out
wherever I can (though I'm not much of a programmer).

Thanks!
Dave

On Sun, Nov 29, 2015 at 12:03 PM, Mathieu Demange
<cont...@mathieudemange.fr> wrote:
> Ow! That's because I clearly didn't except anyone to try the script that
> quick :D It's not fail-proof, yet, but here are some hints (before all this
> gets managed automatically):
>
> - make sure you adapt the paper format so that your score fits into one
> single page (see the \paper block in the original score.ly file)
> - adapt the Javascript code in the index.tpl file (lines 80, 81, 82) to the
> audio files you want to use (if any)
>
> Thanks for you interest! The tool is currently at an early stage of
> development (more like a proof-of-concept actually). There's still quite a
> lot of work to do :)
>
> Yours,
>
> Mathieu
>
>
> Le 2015-11-29 20:10, David Bellows a écrit :
>>
>> This seems like it might be exceedingly cool, but I'm running into a
>> problem. When running make-live-score.sh I get this:
>>
>> Drawing systems...
>> Layout output to `score-page-1.svg'...
>> Layout output to `score-page-2.svg'...
>> Layout output to `score-page-3.svg'...
>> Success: compilation successfully completed
>> Adding #score id to  tag...
>> sed: can't read score.svg: No such file or directory
>> Injecting events timing data into score.svg...
>> Traceback (most recent call last):
>>   File "injector.py", line 6, in 
>> svg = ET.parse("score.svg")
>>   File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1182, in parse
>> tree.parse(source, parser)
>>   File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 647, in parse
>> source = open(source, "rb")
>> IOError: [Errno 2] No such file or directory: 'score.svg'
>> Injecting score.svg into index.html...
>>
>> I'm really not sure what I should be doing. I changed the name of my
>> original Lilypond file to score.ly and the svg files are all correct
>> but the index.html file still plays your original demo.
>>
>> On Sun, Nov 29, 2015 at 10:08 AM, Mathieu Demange
>> <cont...@mathieudemange.fr> wrote:
>>>
>>> Hello all,
>>>
>>> I've been developing a tool which is at a very early stage now, but I
>>> humbly
>>> guess you should like the idea. Check this very simple page and click the
>>> "play" button (or you can click any note or rest).
>>>
>>> http://www.mathieudemange.fr/lilypond-html-live-score-demo/
>>>
>>> There's a public repository for the tool here :
>>>
>>> https://gitlab.com/sigmate/lilypond-html-live-score
>>>
>>> And the score used in the demo is a transcription I made which is a free
>>> score (CC-BY-SA) available on this repo :
>>>
>>> https://gitlab.com/sigmate/transcription-pools-vibes-solo
>>>
>>> Looking forward to hear your feedback!
>>>
>>> Cheers,
>>>
>>> Mathieu
>>>
>>>
>>>
>>>
>>>
>>> ___
>>> lilypond-user mailing list
>>> lilypond-user@gnu.org
>>> https://lists.gnu.org/mailman/listinfo/lilypond-user
>>
>>
>> ___
>> lilypond-user mailing list
>> lilypond-user@gnu.org
>> https://lists.gnu.org/mailman/listinfo/lilypond-user
>
>
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user

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


Re: how to simulate or vectorize free hand curve notation

2015-11-16 Thread David Bellows
Hey Ryan,

One way to cheat is to export as an svg file and then edit it in
something like Inkscape and then export that as a pdf. You can create
all sorts of really cool vector graphicy things pretty easily that
way. Unfortunately you cannot then translate that stuff back into your
Lilypond file so it is a one-way street and needs to be the last step.

On Mon, Nov 16, 2015 at 12:09 AM, Andrew Bernard
 wrote:
> Dear Ryan,
>
> Oh my goodness. Almost as hair raising as the contemporary scores I have to
> set. Which curves exactly do you mean? Could you circle them on the image or
> otherwise indicate what you need? There exist a variety of different methods
> for curves of various sorts.
>
> Andrew
>
>
> On 15 Nov 2015, at 12:56, Ryan Michael  wrote:
>
> I have some glissandi curves that I would like to input into my lilypond
> score.
> Is it possible to load some vectorized equivalent across x Bars? Or to
> simulate my original hand drawn curves somehow?
>
> Here is the example of the notation style I would like to make:
> https://www.mediafire.com/?eb1c0gw7gj3xqxo
>
>
>
> ___
> 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: bar checks and independent time signatures

2015-10-24 Thread David Bellows
I communicated this to OP in a private email but I thought I'd let the
list in on it as well. My suggestion was to just change the paper size
and put it in landscape mode. I found the following to work nicely:
#(set-default-paper-size "b4landscape")
Now the entire score is on one line and the spacing seems pretty good.
For longer examples of what OP is doing this wouldn't work so well
(very wide paper!) but for this one piece I think it works pretty
well.

On Fri, Oct 23, 2015 at 9:04 PM, David Wright  wrote:
> Quoting Michael Collins (mxcoll...@gmail.com):
>> A couple days ago, I described a problem with a piece for two staves in
>> independent time signatures.  After consulting this post, I moved the timing
>> translator and bar line engraver out of the score context and into the staff
>> context.  While the midi compiles properly, the music in the pdf runs off the
>> page.
>
> As far as the midi is concerned, all LP has to do is convert the first
> list of notes into durations each of one second, and the second list
> into decreasing durations from 4 seconds to 1/4 second. If those
> durations are rounded to a resolution that midi can manage, well,
> how would your ears know?
>
> On the other hand, you want to display your lists of notes in musical
> notation. That's easy for the first list as the notes have pitches and
> durations that fit into the patterns we call music. The second list
> also has conventional pitches, but the relative durations of the notes
> are defined by you in a non-musical manner: the list has no musical
> rhythm. Because musical note-durations are notated through their
> rhythmical relationship, there is no defined method of notating your
> list as defined.
>
> The same would be true of speech. Yes, you can notate the stresses of
> poetry, but you can't notate the durations of the actual syllables.
> (Well, you *could* notate the syllables using the conventions of
> music, but a literal interpretation of the score would not sound
> anything like natural speech.)
>
>> Lilypond says that the bar checks in the top voice are failing.  I suspect 
>> that
>> this is the root of the problem.  I've run versions of the code with each of
>> the two voices commented out.  When the voices play separately, the pdf 
>> output
>> stays on the page.  Something about combining the two voices is problematic.
>>
>> I'm genuinely at a loss, since moving the timing translator to the staff
>> context should make the voices completely independent.  Any advice?
>
> Accepting the peculiarities of your second list, and the manner in
> which you have coerced LP into notating it (why the mixture of
> glyphs?), you can of course print the two parts on separate staves.
> However, as soon as you bracket them together, you are indicating that
> the staves all commence simultaneously. You can get away with not
> spanning the non-initial barlines, but each brace carries a meaning.
> As soon as six beats have passed, there is no further place at which
> you can write a brace. So, no new lines.
>
> To demonstrate this, take a pair of scissors and cut your score at
> some convenient place so it doesn't run off the page. Now draw a brace
> at the left end of the last part. You've now indicated that the first
> note on each staff starts at the same time. Any offset will look like
> a typesetting mistake, and will carry no timing information.
>
> Cheers,
> David.
>
> ___
> 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: Biographies (was: OT: Beauty of programming languages)

2015-09-27 Thread David Bellows
Hey David, I saw this about work you've done on the emacs Lilypond
mode. Is the new code base available anywhere and is it usable?

On Fri, Sep 18, 2015 at 7:37 AM, David Kastrup  wrote:
>
> Nam Sibyllam quidem Cumis ego ipse
> oculis meis vidi in ampulle pendere, et cum
> illi pueri dicerent: Σίβυλλα τί θέλεις;
> respondebat illa: άποθανεΐν θέλω.
>
> [I saw myself with my own eyes the Cumaean Sibyl hanging in a bottle,
> and when the boys said to her "Sibyl, what's your desire?" she answered
> them "to die is my desire", a quote from the Satyricon most well-known
> from the starting lines of T.S.Eliot's poem "The Waste Land"]
>
> When granted a wish by Apollon, the Sibyl of Cumis, one of his
> priestesses and seers, asked for eternal life.  Not having asked for
> eternal youth or health as well, she eventually withered and shrank
> until she would fit in a bottle, never able to die.
>
> Age: 50
>
> Blessed with great analytical talents but without the matching stamina
> to engage them with anything that does not interest me, I haven't been
> able to do any serious mental work that isn't fun.  An early attempt to
> escape the problems from depending on unreliable gifts by doing an
> apprenticeship in a bakery was shortlived since my body engaged in its
> own version of obsessive compulsiveness by turning allergic against most
> of anything to be found in a bakery within half a year, a fate that the
> physicians predicted to be rather likely for most work of my hands.  So
> I took up Electrical Engineering and managed to finish a diploma with
> the help of coeds (which consisted in dragging me to practice sessions
> where I "helped" them figure out the stuff from lectures that flummoxed
> them, and with organizing call services so that I would not miss
> deadlines and exams).  A later PhD never saw the completion of the
> thesis, actually sort of a pity as the work was pretty novel.
>
> The ability to pull through and complete stuff tends to be rather
> important in programming jobs, so my career ended up very spotty.  The
> last few years, I have spent living off the donations of various
> LilyPond users and programmers, a somewhat embarrassing endeavor as I
> often get locked up in less productive phases and don't communicate well
> (it turns out that medication making me more productive at the same time
> makes me completely unbearable and the other way round, and the vitally
> necessary blood pressure medication makes stuff more difficult, so I
> just stay off the psychopharmaceutics as there is no direction in which
> they would be unilaterally helpful).  Since I haven't properly
> maintained "customer relations" for the last few years (another
> "tedious" task), at the current point of time my "income" does not cover
> the costs of living in spite of several high-profile LilyPond figures
> supporting me with sums that do not reflect our relative merits.
>
> Living in a small town in Germany on the premises of my girl friend's
> riding school (another venture that's not particularly good at matching
> the bills), I spend most of my time at the computer, most of the time
> working on something LilyPond related.
>
> With a computing background starting with punched cards, a computer with
> various self-built extensions and programs (I could only start using
> CP/M after I've written my own boot loader and BIOS), I am pretty good
> at understanding low-level programming problems.
>
> At the same time, it offends my sense of design when implementation
> details leak into a system such as LilyPond, so much of my work is
> invested in making programming models work out cleanly and transparently
> and making "naive expectations" match the actual behavior by changing
> the behavior rather than the expectations where it makes sense.
>
> I've been playing violin from young age, added guitar to the mix, have
> sung in various choirs (a natural bass-baritone, I've sung either alto
> or high tenor in the last years as my falsetto is the best developed
> part of my voice and I prefer staying mostly above the break) and have
> taken up accordion a few years ago (as finger-style guitar was a
> mismatch in carrying power for chansonette performances).
>
> I've recently made Emacs understand Midi input but found that I just
> don't have the time and focus to work on bringing LilyPond's Emacs mode
> into the 21st century.  Which is a real pity as the current code base
> (not yet generally available) is quite nice for entering material but
> then breaks down in usability for doing line-wrapping, quick entering of
> durations and other editing stuff.
>
> So the number of unfinished projects and loose ends is constantly
> growing for me in spite of doing LilyPond full time already, and
> consequently my bad conscience on not getting stuff done is also a
> pretty constant fixture, making every moment equally bad for asking for
> support of my work.
>
> I probably share the problem of a lot of 

Re: OT: Beauty of programming languages

2015-09-11 Thread David Bellows
Urs, I'd still like to see a poll or at least all the answers
collected and analyzed etc.

Me:

46-year-old composer.

I use Lilypond for all my scores. I've used off and on for 10 years(?)
but every day for the past 3 years. I started using it because it was
free, produced excellent scores, and having drunk the LaTeX Koolaid it
seemed like a perfect fit.

I don't have access to any instruments so I compose directly into Lilypond.

I have a massive project in the works
(http://www.platonicmusicengine.com) that uses Lua to generate
Lilypond files.

I use LuaLaTeX to bind my scores together into nice books.

I use emacs for my editor as I'm able to do Lilypond, LaTeX, and Lua
files as well as my website and various other projects in the same
editor.

On Fri, Sep 11, 2015 at 8:34 AM, Urs Liska  wrote:
> Seems I have to chime in instead of preparing a merely statistical poll ...
>
> 42, pianist, musicologist (with half a decade's worth intermezzo of
> electronic music. Unfortunately that was just before my
> Lilypond/programming time, I already had some ideas to try generating
> LilyPond input from PureData improvisations ).
>
> I'm using LilyPond to typeset
> - transpositions from songs I have to play and that are too complex to
> transpose from sight
> - examples and snippets for texts
> - scholarly editions, which is what I'm also working for on a more
> general level.
>
> Unfortunately I don't recall when I first worked with LilyPond and why I
> started looking at it. One reason was definitely that I was frustrated
> with Finale (2001)'s habit of breaking things after the fact. Probably
> the idea of programmatic access also appealed to me already then.
>
> Urs
>
>
> Am 11.09.2015 um 17:27 schrieb Shane Brandes:
>> 41, organist,  composer frequently for the church, sometimes
>> commissioned works for special occasions and sometimes for self
>> amusement. I use LilyPond to set the above, and sometimes to typeset
>> stuff that has survived the ravages of time poorly causing the desire
>> to have a cleaner score to work from. Use Frescobaldi as a front end
>> as the error parser is invaluable. And yes I occasionally compose
>> directly into LilyPond format when pen and paper is a waste of time.
>>
>>
>> Shane
>>
>>
>> On Fri, Sep 11, 2015 at 8:32 AM, Wols Lists  wrote:
>>> On 10/09/15 19:59, Tim Reeves wrote:
 Age: 49
 Amateur hornist.
 Typesetting of existing parts, occasionally creating simple exercises,
 fingering charts, etc. Not a regular user, but like to keep up on
 development.
 I use Frescobaldi every time for some time now, and I've been using LP
 for roughly eight years.

>>> Age: fifty-something.
>>> Amateur trombonist
>>> Typesetting and transposing of parts (I mostly play bass clef but can
>>> read treble, but some fellow players only play one or the other, so the
>>> band needs parts in both, and then of course some parts come in tenor
>>> clef :-)
>>> I use a basic editor (kate, pfe, notepad).
>>> I've been using lily since 2.4 and have made the odd contribution.
>>>
>>> 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
>
>
> ___
> 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


License of code posted to this list

2015-05-09 Thread David Bellows
Hello all,

I have a big coding project that generates Lilypond files to be
processed by Lilypond in an external process. My software is GPL. I
make use of a couple of scripts that were produced on this list but
have not been uploaded to the LSR. They are significant enough that I
would consider them of concern when thinking about licensing issues.

I've contacted the authors in each of these cases asking them to add
license information to these scripts but so far I haven't heard back
from them.

OK, that's how these things go, but since things like this can come up
again I was wondering if anyone has a knowledgeable opinion on the
state of code posted to a mail list like this? Is it automatically
public domain and so I don't need any additional licensing from the
original authors?

Does it make a difference if the scripts were derived from code from the LSR?

Thanks!

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


Re: License of code posted to this list

2015-05-09 Thread David Bellows
 Sorry about not contacting you sooner!

It's perfectly OK! I'm sure I'm just way over-thinking the issue!

 I'm more than happy to let you use the auto-ottava code for your project.  
 By posting it on this forum I make it available to anybody who sees utility 
 in it.

I think that probably works. I can just add that to the top of the file.

 My concern (and consequent hesitation in answering) is simply that, should I 
 or someone else decide incorporate it in the LilyPond code base in the 
 future, there would be no complication.

Lilypond uses the GPL and can make use of code licensed to the public
domain (anyone can use public domain code with any license for any
purpose). https://www.gnu.org/licenses/gpl-faq.html#GPLUSGovAdd I
think applies.

 You mention that your software is Affero GPL.  Would this conflict in any way 
 with LilyPond's license?

Nope. In fact version 3 of the GPL (the version that Lilypond uses)
specifically mentions that it can be used with stuff licensed with the
Affero GPL. The Affero clause was intended to close a potential
loophole concerning web applications and otherwise uses the exact same
wording as the GPL and is maintained by the FSF
(http://www.gnu.org/licenses/agpl.html).

On Sat, May 9, 2015 at 1:37 PM, David Nalesnik david.nales...@gmail.com wrote:
 Hi David.

 On Sat, May 9, 2015 at 3:17 PM, David Bellows davebell...@gmail.com wrote:

 Hello all,

 I have a big coding project that generates Lilypond files to be
 processed by Lilypond in an external process. My software is GPL. I
 make use of a couple of scripts that were produced on this list but
 have not been uploaded to the LSR. They are significant enough that I
 would consider them of concern when thinking about licensing issues.

 I've contacted the authors in each of these cases asking them to add
 license information to these scripts but so far I haven't heard back
 from them.

 OK, that's how these things go, but since things like this can come up
 again I was wondering if anyone has a knowledgeable opinion on the
 state of code posted to a mail list like this? Is it automatically
 public domain and so I don't need any additional licensing from the
 original authors?

 Does it make a difference if the scripts were derived from code from the
 LSR?


 Sorry about not contacting you sooner!

 I'm more than happy to let you use the auto-ottava code for your project.
 By posting it on this forum I make it available to anybody who sees utility
 in it.

 My concern (and consequent hesitation in answering) is simply that, should I
 or someone else decide incorporate it in the LilyPond code base in the
 future, there would be no complication.

 You mention that your software is Affero GPL.  Would this conflict in any
 way with LilyPond's license?

 Best,
 David



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


Re: License of code posted to this list

2015-05-09 Thread David Bellows
 Yes.  I'm happy to license this under the GPL.

In that case if you could add the following notice (substituting your
name, etc) to the top of the attached auto-ottava file then I think
we'd have it:

one line to give the program's name and a brief idea of what it does.
Copyright (C) year  name of author

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see http://www.gnu.org/licenses/.

Thanks, and sorry for all the extra work! (Though I am a little
surprised this hasn't come up before?)

On Sat, May 9, 2015 at 2:33 PM, David Nalesnik david.nales...@gmail.com wrote:


 On Sat, May 9, 2015 at 4:10 PM, Urs Liska u...@openlilylib.org wrote:

 Am 09.05.2015 um 23:06 schrieb David Bellows:

 I'm not sure so this maybe wrong. But AFAIK copyright for content posted
 to the list is by default with the author and has no license by itself. So 
 I
 think you can't assume it's PD.


 This sounds correct as well. Does just making the code available to
 the world in a public manner imply anything about it being OK to use
 it in another project? I don't know the answer to that and thus these
 questions. But you are correct, I'm betting, that the author does
 automatically own the copyright to the code (at least in the US).

 Should there be some kind of agreement that everyone signs off on when
 subscribing to the mail list concerning any code they might
 contribute?


 I *think* I've read an agreement somewhere that explicitly states what I
 wrote before, so if that's true we explicitly have no PD on the list.


 And is the line that David added sufficient?:

 I'm more than happy to let you use the auto-ottava code for your
 project.  By posting it on this forum I make it available to anybody
 who sees utility in it.


 I would say you can take this as a sufficient license agreement that
 overrides the general list rules ;-)


 Yes.  I'm happy to license this under the GPL.

 David

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

\version 2.19.15

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

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

#(define clefs
   ; An alist of (clef . position of middle C) pairs.  Center line of staff = 0.
   ; For use when \ottavate is called on a music expression which begins with a
   ; clef other than treble, which has been set before that expression.
   '((treble . -6)
 (treble_8 . 1)
 (bass . 6)
 (bass_8 . 13)
 (alto . 0)
 (tenor . 2)))

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

#(define (select-ottava-music str)
   (let ((options
  '((up-an-octave . 1)
(down-an-octave . -1)
(up-two-octaves . 2)
(down-two-octaves . -2)
(loco . 0
 (make-ottava-music (assoc-get str options

#(define naming-options
   '((short . ((up-an-octave . 8)
   (down-an-octave . 8)
   (up-two-octaves . 15)
   (down-two-octaves . 15)
   (loco . #f)))
 (long . ((up-an-octave . 8va)
  (down-an-octave . 8va bassa)
  (up-two-octaves . 15ma)
  (down-two-octaves . 15ma)
  (loco , #f)))
 (default . #f)))

#(define (make-alternate-name name)
   (let* ((ps (make-music
   'PropertySet
   'symbol 'ottavation
   'value name))
  (csm (make-music
'ContextSpeccedMusic
'element ps
'context

Re: License of code posted to this list

2015-05-09 Thread David Bellows
 I'm not sure so this maybe wrong. But AFAIK copyright for content posted to 
 the list is by default with the author and has no license by itself. So I 
 think you can't assume it's PD.

This sounds correct as well. Does just making the code available to
the world in a public manner imply anything about it being OK to use
it in another project? I don't know the answer to that and thus these
questions. But you are correct, I'm betting, that the author does
automatically own the copyright to the code (at least in the US).

Should there be some kind of agreement that everyone signs off on when
subscribing to the mail list concerning any code they might
contribute?

And is the line that David added sufficient?:

 I'm more than happy to let you use the auto-ottava code for your
 project.  By posting it on this forum I make it available to anybody
 who sees utility in it.

Dave

On Sat, May 9, 2015 at 2:01 PM, Urs Liska u...@openlilylib.org wrote:


 Am 9. Mai 2015 22:55:32 MESZ, schrieb David Bellows davebell...@gmail.com:
 Sorry about not contacting you sooner!

It's perfectly OK! I'm sure I'm just way over-thinking the issue!

 I'm more than happy to let you use the auto-ottava code for your
project.  By posting it on this forum I make it available to anybody
who sees utility in it.

I think that probably works. I can just add that to the top of the
file.

 I'm not sure so this maybe wrong. But AFAIK copyright for content posted to 
 the list is by default with the author and has

 Ursno license by itself. So I think you can't assume it's PD.


 My concern (and consequent hesitation in answering) is simply that,
should I or someone else decide incorporate it in the LilyPond code
base in the future, there would be no complication.

Lilypond uses the GPL and can make use of code licensed to the public
domain (anyone can use public domain code with any license for any
purpose). https://www.gnu.org/licenses/gpl-faq.html#GPLUSGovAdd I
think applies.

 You mention that your software is Affero GPL.  Would this conflict in
any way with LilyPond's license?

Nope. In fact version 3 of the GPL (the version that Lilypond uses)
specifically mentions that it can be used with stuff licensed with the
Affero GPL. The Affero clause was intended to close a potential
loophole concerning web applications and otherwise uses the exact same
wording as the GPL and is maintained by the FSF
(http://www.gnu.org/licenses/agpl.html).

On Sat, May 9, 2015 at 1:37 PM, David Nalesnik
david.nales...@gmail.com wrote:
 Hi David.

 On Sat, May 9, 2015 at 3:17 PM, David Bellows davebell...@gmail.com
wrote:

 Hello all,

 I have a big coding project that generates Lilypond files to be
 processed by Lilypond in an external process. My software is GPL. I
 make use of a couple of scripts that were produced on this list but
 have not been uploaded to the LSR. They are significant enough that
I
 would consider them of concern when thinking about licensing issues.

 I've contacted the authors in each of these cases asking them to add
 license information to these scripts but so far I haven't heard back
 from them.

 OK, that's how these things go, but since things like this can come
up
 again I was wondering if anyone has a knowledgeable opinion on the
 state of code posted to a mail list like this? Is it automatically
 public domain and so I don't need any additional licensing from the
 original authors?

 Does it make a difference if the scripts were derived from code from
the
 LSR?


 Sorry about not contacting you sooner!

 I'm more than happy to let you use the auto-ottava code for your
project.
 By posting it on this forum I make it available to anybody who sees
utility
 in it.

 My concern (and consequent hesitation in answering) is simply that,
should I
 or someone else decide incorporate it in the LilyPond code base in
the
 future, there would be no complication.

 You mention that your software is Affero GPL.  Would this conflict in
any
 way with LilyPond's license?

 Best,
 David



___
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: License of code posted to this list

2015-05-09 Thread David Bellows
 Basically, if you want to be legal and you want to use some code you saw on 
 the list, you need to get the author's permission. Hopefully, he put that 
 permission in the post, otherwise you need to contact him. That said, the 
 chances of anyone complaining are minimal, and in most jurisdictions breach 
 of copyright is a civil offence so the damages will be small and the costs 
 horrendous so nobody will want to do anything about it.

Yeah, that's why I've been contacting everyone (fortunately there's
only been two people so it's easy), just to be safe.

I'm trying to get my project hosted at https://savannah.nongnu.org/
which does require everything to be licensed as free software which
apparently they audit and is why I need to make sure everything is in
order. Plus it's just a good idea anyway.

Dave

On Sat, May 9, 2015 at 2:48 PM, Anthonys Lists antli...@youngman.org.uk wrote:
 On 09/05/2015 22:06, David Bellows wrote:

 I'm not sure so this maybe wrong. But AFAIK copyright for content posted
 to the list is by default with the author and has no license by itself. So I
 think you can't assume it's PD.

 This sounds correct as well. Does just making the code available to
 the world in a public manner imply anything about it being OK to use
 it in another project? I don't know the answer to that and thus these
 questions. But you are correct, I'm betting, that the author does
 automatically own the copyright to the code (at least in the US).


 The Berne Convention (which applies to pretty much every country in the
 world - the US was one of the last to join the system) says that EVERYTHING
 you write, by default, is your copyright, for a minimum term of 50 years.
 Various modifications apply, of course, for example employees are assumed
 for the purpose of this to be the employer, so the employer gets the
 copyright etc etc.

 The other crucial thing about Berne is that it says the nationality of the
 copyright holder is irrelevant (this was crucial because of the way the US
 made it almost impossible for foreign authors to register or keep
 copyrights).

 There's nothing, as far as I know, in Berne that says copyrights have to be
 protectable (a country could abolish copyright and still be compliant with
 Berne, as long as the same rules were applied to works by local nationals as
 to foreign nationals).

 So basically, unless the list post explicitly says this is PD, or this
 code may be used for any purpose, or some other grant of permission, then
 in most jurisdictions using it is technically illegal. A clear example of
 differences in jurisdiction is that if I used your code to make money,
 that's a criminal offense over here. But not afaik in America.

 Then in some jurisdictions you cannot abrogate your rights (EU especially),
 and in some jurisdictions you can't place stuff in the Public Domain.


 Should there be some kind of agreement that everyone signs off on when
 subscribing to the mail list concerning any code they might
 contribute?

 And is the line that David added sufficient?:

 Dunno about what David wrote, but I'm sure I didn't sign off on anything
 when I joined the list. Basically, if you want to be legal and you want to
 use some code you saw on the list, you need to get the author's permission.
 Hopefully, he put that permission in the post, otherwise you need to contact
 him. That said, the chances of anyone complaining are minimal, and in most
 jurisdictions breach of copyright is a civil offence so the damages will be
 small and the costs horrendous so nobody will want to do anything about 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


Question about copyrights and licenses on the LSR

2015-05-02 Thread David Bellows
Hey all,

I'm trying get everything organized and altogether legal and
what-have-you with respect to my big music/software project the
Platonic Music Engine (www.platonicmusicengine.com) which means that I
need to make sure all the dependencies I'm using have the appropriate
license and copyright information.

I am using a few snippets hosted on the LSR but notice that at least
these don't have any copyright notices or licenses and I don't see
anything on the LSR about some general licensing thing that applies to
all the submissions.

So is there some blanket license involved? Is there any informed
opinion but if I even need to worry about it? Etc?

My software uses the Affero GPL, if that's helpful.

Dave Bellows

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


Re: Question about copyrights and licenses on the LSR

2015-05-02 Thread David Bellows
 It's all public domain. From http://lsr.di.unimi.it/LSR/html/whatsthis.html:

 The content of the database is public domain, so you can use it, copy it, 
 modify and redistribute it with no obligation.

Ah, thank you very much for pointing that out. That saves me a lot of hassle.

Dave

On Sat, May 2, 2015 at 3:24 PM, Nathan Ho when.possi...@gmail.com wrote:
 On Sat, May 2, 2015 at 3:17 PM, David Bellows davebell...@gmail.com wrote:

 Hey all,

 I'm trying get everything organized and altogether legal and
 what-have-you with respect to my big music/software project the
 Platonic Music Engine (www.platonicmusicengine.com) which means that I
 need to make sure all the dependencies I'm using have the appropriate
 license and copyright information.

 I am using a few snippets hosted on the LSR but notice that at least
 these don't have any copyright notices or licenses and I don't see
 anything on the LSR about some general licensing thing that applies to
 all the submissions.


 It's all public domain. From http://lsr.di.unimi.it/LSR/html/whatsthis.html:

 The content of the database is public domain, so you can use it, copy it,
 modify and redistribute it with no obligation.

 Regards,
 Nathan

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


Re: Introducing LV GoldenAge!

2015-04-22 Thread David Bellows
Looks really nice Abraham! The font situation is now becoming an
embarrassment of riches!

And I would also like to mention that the openlilylib
install-lily-fonts program worked like a charm and now I have these
newest updates. Nice job all the way around!

On Wed, Apr 22, 2015 at 12:45 PM, Martin Tarenskeen
m.tarensk...@zonnet.nl wrote:


 On Wed, 22 Apr 2015, Abraham Lee wrote:

 Greetings, All!

 I've uploaded a few maintenance updates to fonts.openlilylib.org,
 including the addition of a new font family that I teased about before.

 Head on over and let me know if any links are broken. Your web browser may
 have the site's pages cached, so try manually reloading the page if it
 looks like things haven't changed since I uploaded LilyBoulez.


 Thanks again for your efforts.
 Also thanks for the name changes lilyjazz.ily, lilyjazz-text.otf,
 lilyjazz-chord.otf

 I asked for it and there it is!

 :-)

 MT

 ___
 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: Guitar chord mode no longer produces MIDI file with chords

2015-03-26 Thread David Bellows
 Silly me. Must be heavily overtired...
It needs to be put into \midi {}, like:

Yep, that does it!

 It's now
https://code.google.com/p/lilypond/issues/detail?id=4330

Thanks for this!

On Thu, Mar 26, 2015 at 3:16 AM, Thomas Morley thomasmorle...@gmail.com wrote:
 2015-03-26 2:40 GMT+01:00 Thomas Morley thomasmorle...@gmail.com:
 2015-03-26 1:08 GMT+01:00 David Bellows davebell...@gmail.com:
 Could you confirm that it works for you?

 I copy and pasted it directly in and it doesn't change the behavior.
 I've attached my file.

 Silly me. Must be heavily overtired...
 It needs to be put into \midi {}, like:

 \score {
   \new ChordNames \chordmode { f1:m }
   \midi {
 \context {
   \type Performer_group
   \consists Staff_performer
   \name ChordNames
   \defaultchild Voice
 }
   }
 }


 Cheers,
   Harm

 It's now
 https://code.google.com/p/lilypond/issues/detail?id=4330

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


Guitar chord mode no longer produces MIDI file with chords

2015-03-25 Thread David Bellows
In the versions of Lilypond I've used up through 2.19.16 when I would
compile the attached file the resulting MIDI file would play the
entire chord. With 2.19.17 now only the root note is played. I don't
really know where to look for this kind of information but I can't
tell if this is the new expected result or a bug. In any case I'd like
to get the full chords back if possible.

Thanks.
\version 2.19.17 

\header { 
}

\include scripts/merge-rests
\language english
\include predefined-guitar-fretboards.ly

melody = {
	\key c \minor
	\clef treble_8
	\time 4/4
	\tempo Adagio 4 = 60
}


\paper {#(set-paper-size letter)}\score {

	 \new ChordNames { 
		 \chordmode { 
			f8:m c4:m f4:m c8:m f4:m c4:m g4 f4:m g4 c4:m f8:m f4:m \bar |.

		} 
	}
	\new FretBoards {
		\chordmode {
			f8:m c4:m f4:m c8:m f4:m c4:m g4 f4:m g4 c4:m f8:m f4:m \bar |.

		} 
	}
	\new Voice \with {\consists Pitch_squash_engraver \remove Forbid_line_break_engraver}
	{
	\melody
		\relative c'' { 
			\improvisationOn 
			f8\ff c4 f4 c8 f4 c4 g4 f4 g4 c4 f8 f4 
		}
	}

	\layout{ragged-bottom = ##t ragged-right = ##t \context { \Voice \remove Note_heads_engraver \consists Completion_heads_engraver \remove Rest_engraver \consists Completion_rest_engraver}}
	\midi{}
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Guitar chord mode no longer produces MIDI file with chords

2015-03-25 Thread David Bellows
 Could you confirm that it works for you?

I copy and pasted it directly in and it doesn't change the behavior.
I've attached my file. And forgive the odd formatting, I have a
program that generates this code.

 Then I'll put up an issue on the tracker. Patch will follow soon.

Awesome. This isn't mission critical so I can wait.

On Wed, Mar 25, 2015 at 4:46 PM, Thomas Morley thomasmorle...@gmail.com wrote:
 2015-03-25 23:28 GMT+01:00 Nathan Ho when.possi...@gmail.com:
 On Wed, Mar 25, 2015 at 2:08 PM, David Bellows davebell...@gmail.com wrote:
 In the versions of Lilypond I've used up through 2.19.16 when I would
 compile the attached file the resulting MIDI file would play the
 entire chord. With 2.19.17 now only the root note is played. I don't
 really know where to look for this kind of information but I can't
 tell if this is the new expected result or a bug. In any case I'd like
 to get the full chords back if possible.

 Thanks.

 I was able to reproduce the issue, and it seems that ChordNames no
 longer produces MIDI output and what you were hearing is the Voice
 context you created. The workaround is to create two scores, one with
 a \layout block and another with the \midi block:

 theChords = \chordmode {
   f8:m c4:m f4:m c8:m f4:m c4:m g4 f4:m g4 c4:m f8:m f4:m \bar |.
 }

 \score {
   
 \new ChordNames \theChords
 \new FretBoards \theChords
 \new Voice { ... }
   
   \layout { ... }
 }

 \score {
   \new Staff \theChords
   \midi { }
 }

 Regards,
 Nathan

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

 This was caused by my patch for Issue 4281, an oversight.

 For now I suggest to use:

 \layout {
   \context {
 \type Performer_group
 \consists Staff_performer
 \name ChordNames
 \defaultchild Voice
   }
 }

 Could you confirm that it works for you?

 Then I'll put up an issue on the tracker. Patch will follow soon.


 Sorry for the inconvenience,
   Harm
\version 2.19.17 

\header { 
}

\include scripts/merge-rests
\language english
\include predefined-guitar-fretboards.ly



melody = {
	\key c \major
	\clef treble_8
	\time 4/4
	\tempo Adagio 4 = 60
}


\paper {#(set-paper-size letter)}\score {

	 \new ChordNames { 
		 \chordmode { 
			f8 c4 g4 a8:m f4 a4:m a4:m a4 a4:m c4 f8 a4 \bar |.

		} 
	}
	\new FretBoards {
		\chordmode {
			f8 c4 g4 a8:m f4 a4:m a4:m a4 a4:m c4 f8 a4 \bar |.

		} 
	}
	\new Voice \with {\consists Pitch_squash_engraver \remove Forbid_line_break_engraver}
	{
	\melody
		\relative c'' { 
			\improvisationOn 
			f8\ff c4 g4 a8 f4 a4 a4 a4 a4 c4 f8 a4 
		}
	}

	 \layout {
	   \context {
	 \type Performer_group
	 \consists Staff_performer
	 \name ChordNames
	 \defaultchild Voice
	   }
	 }
	 \midi{}
   }___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Lua, Lilypond, and Linux

2015-03-22 Thread David Bellows
 The call system() should always use sh. Try
  lilypond example.ly 2 lily.txt

That does it, thanks! I took my syntax from the Usage manual and
according to it this command should only send the errors to the text
file but it definitely sends everything.

So is there a form that will work on all platforms or at least all
*nix-based platforms?

On Sun, Mar 22, 2015 at 3:16 AM, Hans Aberg haber...@telia.com wrote:

 On 22 Mar 2015, at 00:28, David Bellows davebell...@gmail.com wrote:

 os.execute(lilypond example.ly  lily.txt”)

 The call system() should always use sh. Try
   lilypond example.ly 2 lily.txt



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


Lua, Lilypond, and Linux

2015-03-21 Thread David Bellows
OK, I know this might be way too specific a question for this list but
I'm hoping.

Here is example.ly

\version 2.19.17
{
  c' e' g' e'
}

And lily.lua for Lua 5.3

os.execute(lilypond example.ly  lily.txt)

And then from the command line:

lua lily.lua

I'm trying to suppress any of Lilypond's output from going to the
screen but into some other file. From the command line running just:

lilypond example.ly  lily.txt

works as expected but for some reason when running that command in Lua
nothing gets written to lily.txt and everything goes to the screen.

I'm not sure if this is a problem with Lua or Bash or Linux or me, but
any help would be appreciated. For what it's worth having the line in
my Lua file:

os.execute(pdflatex example.tex  latex.txt)

works exactly as expected(!).

Thanks,
Dave

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


Re: Indenting arbitrary lines

2015-02-18 Thread David Bellows
 Then you probably need to use explicit X-offset adjustments — see 
 http://lilypond.org/doc/v2.19/Documentation/notation/explicit-staff-and-system-positioning
  for more details.

Thanks for this. I went through the example and tried my best to
incorporate it into my software and resultant Lilypond files but since
I wasn't really sure what it/I was doing I couldn't get the results I
wanted.

For now I'm just coloring the spine notes red. It's not perfect but
I think it gets the job done pretty well.

Thanks,
Dave

On Tue, Feb 17, 2015 at 12:55 PM, Kieren MacMillan
kieren_macmil...@sympatico.ca wrote:
 Hi David,

 I think if I were doing this manually that would probably work.
 Unfortunately changing my software to generate multiple score blocks
 would require a lot of work that I'm not sure is justified for just
 this one thing. I was lucky that I was able to insert the basic
 acrostic idea without having to rewrite any of the infrastructure.

 Then you probably need to use explicit X-offset adjustments — see 
 http://lilypond.org/doc/v2.19/Documentation/notation/explicit-staff-and-system-positioning
  for more details.

 Hope this helps!
 Kieren.
 ___

 Kieren MacMillan, composer
 www:  http://www.kierenmacmillan.info
 email:  i...@kierenmacmillan.info


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


Re: Indenting arbitrary lines

2015-02-17 Thread David Bellows
 Could you put all the lines that are continuations in a single score block, 
 and have multiple score blocks?  You could then try a negative indent for the 
 first line to outdent it.

[I just realized I didn't post this to the list. Plus I'm hoping for
some more responses]

I think if I were doing this manually that would probably work.
Unfortunately changing my software to generate multiple score blocks
would require a lot of work that I'm not sure is justified for just
this one thing. I was lucky that I was able to insert the basic
acrostic idea without having to rewrite any of the infrastructure.

On Sat, Feb 14, 2015 at 8:27 AM, Phil Holmes m...@philholmes.net wrote:
 - Original Message - From: David Bellows davebell...@gmail.com
 To: lilypond-user lilypond-user@gnu.org
 Sent: Saturday, February 14, 2015 4:22 PM
 Subject: Indenting arbitrary lines



 I have an odd request that I'm hoping someone will have some ideas for.

 1. I want all lines to be indented (like the first line).
 2. Except when I specifically tell Lilypond not to indent. Like the
 following:

 c4 d4 \bar\break \don'tindentthisnextbit e4 f4 g4 ...

 The project I'm working can generate musical acrostics (originally
 mesostics but I've expanded a bit) and need to be able to format
 staves in this manner in order to differentiate between a line that is
 continuing from the previous one (indent) and one where the first note
 is part of the acrostic (no indent). In case anyone's curious (and to
 help visualize):
 http://www.reddit.com/r/musicandpoetry/comments/2vsg6u/musical_mesostics/

 And my first pass at doing it myself (without the indentation -- you
 can see the problem):
 https://drive.google.com/file/d/0B5Jk3Yrq1rrdaWNCVVJYMWtkdnM/view



 Could you put all the lines that are continuations in a single score
 block, and have multiple score blocks?  You could then try a negative indent
 for the first line to outdent it.

 --
 Phil Holmes

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


Indenting arbitrary lines

2015-02-14 Thread David Bellows
I have an odd request that I'm hoping someone will have some ideas for.

1. I want all lines to be indented (like the first line).
2. Except when I specifically tell Lilypond not to indent. Like the following:

c4 d4 \bar\break \don'tindentthisnextbit e4 f4 g4 ...

The project I'm working can generate musical acrostics (originally
mesostics but I've expanded a bit) and need to be able to format
staves in this manner in order to differentiate between a line that is
continuing from the previous one (indent) and one where the first note
is part of the acrostic (no indent). In case anyone's curious (and to
help visualize):
http://www.reddit.com/r/musicandpoetry/comments/2vsg6u/musical_mesostics/

And my first pass at doing it myself (without the indentation -- you
can see the problem):
https://drive.google.com/file/d/0B5Jk3Yrq1rrdaWNCVVJYMWtkdnM/view

Thanks!

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


Re: LilyPond PPA for Ubuntu/other related OS?

2014-11-04 Thread David Bellows
I'm using Kubuntu (Ubuntu with KDE) and have just helped a friend, a Linux
newbie, transition his Lilypond approach on his Linux box. My sincere
advice is to just download the software from the website and use that. The
installation is super easy and even easier to upgrade (once you've
installed it once you then know how to upgrade it). The distros are
notoriously bad about keeping Lilypond up-to-date so you are much better
off doing it yourself. If you want a more detailed explanation hit me up
and I'll go into more detail. But seriously, it is a far better, easier,
and less messy method of using Lilypond.

As for your question, I am unaware of any PPA for Lilypond. There is one
serious gotcha with PPAs which is that when you upgrade your distribution
to a new version I think most/many/all(?) of your custom PPAs get disabled
requiring you to enable the ones you want to use. And there might be some
weird incompatibilities introduced as well. And it requires the PPA
maintainer to keep maintaining their repository which for a smaller program
like Lilypond might not actually happen.

Oops, there I was, once again, extolling the virtues of installing it
yourself. Sorry.

Dave

On Tue, Nov 4, 2014 at 11:57 AM, Ryan McClure ryanmichaelmccl...@gmail.com
wrote:

 I'm about to switch to Elementary OS soon as my default OS...I'm not
 enjoying
 my Arch Linux experience as of late. On Arch, I have access to the AUR for
 Arch that allows me to have access to the most recent build of LilyPond. I
 would like this for Elementary OS. However, I would prefer a package that I
 can update through the package manager rather than installing it from the
 command line into a directory...package managers are much cleaner in my
 opinion.

 So, I'm wondering if there is a PPA that allows me to have the most
 up-to-date version of LilyPond? I am about to install Elementary based on
 14.04, but in the default repos the most recent version is 2.16 according
 to
 my research. If anything, I'd like 2.18 at least.

 Does anyone know if such a PPA exists? If not, I wouldn't mind creating a
 PPA for this, but I don't know at all how to create one. Thanks all!



 -
 Ryan McClure

 Music Education Major, Shepherd University
 Luna Music Engraving
 www.lunamusicengraving.com
 --
 View this message in context:
 http://lilypond.1069038.n5.nabble.com/LilyPond-PPA-for-Ubuntu-other-related-OS-tp168412.html
 Sent from the User mailing list archive at Nabble.com.

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

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


Re: Unicode Font Issues

2014-11-03 Thread David Bellows
And of course KDE is nice. And if you use Kubuntu then it's installed by
default.

On Mon, Nov 3, 2014 at 7:30 AM, Shane Brandes sh...@grayskies.net wrote:

 XFCE is also a useful desktop interface. Unity might be good for
 tablet minded people but, at least, I found it to be highly disruptive
 of making any sort of useful workflow. Whichever shell one chooses
 Lilypond always performs excellently.

 Shane Brandes

 On Mon, Nov 3, 2014 at 8:41 AM, Bric b...@flight.us wrote:
  On 11/03/2014 08:09 AM, Martin Tarenskeen wrote:
 
 
 
  On Mon, 3 Nov 2014, Bric wrote:
 
  One particular, however:  I would stay away from Unity, and opt for
  GNOME during installation. Someone could still correct me and
 persuade me
  about the glory of Unity, but I have instinctively disliked it from its
  inception, and am happily using the traditional Gnome.
 
 
  With traditional do you mean Gnome 2.x or the new Gnome 3.x +
  Gnome-shell?
 
  Just like Unity (which I have not tried yet) Gnome3/Gnome-shell can be
  quite a shock if you are looking for a traditional desktop. I am
 really
  happy with it now, but it did take some time to get used to.
 
  There are other alternatives if you are looking for something more
  traditional. Linux = freedom of choice.
 
 
  good point. I guess there was a big leap from 2 to 3.  I am using 3.10.4
  currently.  The bigger differences though are internal, AFAICT; the
 exterior
  of 3 doesn't seem that much different from 2.0.  (And I did use the word
  traditional in quotes, originally ;-)
 
 
 
  ___
  lilypond-user mailing list
  lilypond-user@gnu.org
  https://lists.gnu.org/mailman/listinfo/lilypond-user

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

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


Re: Automatic ottava handling

2014-10-14 Thread David Bellows
Wow! It works perfectly! I am officially replacing my software method with
your Lilypond approach. Not only does it do everything I wanted but it has
better fined-grained control since it uses ledger lines and not octave
markings (like mine does). And it's got to be more efficient than mine (I
had to create two separate loops outside the main Lilypond generating loop
to handle both the treble and the bass). It's a superior solution all the
way around.

I've attached the same Lilypond file that I used yesterday and you can see
that it handles everything just like I wanted. Amazing!

Thank you very much!

On Mon, Oct 13, 2014 at 6:47 PM, David Nalesnik david.nales...@gmail.com
wrote:

 Hi,

 On Mon, Oct 13, 2014 at 1:18 PM, David Bellows davebell...@gmail.com
 wrote:

 OK, I've now played around with it and it works very nicely and will be
 easy to integrate into my software. You've already put a lot of work into
 this so I hate to point out any of my peculiar preferences, but just in
 case you feel like putting even more time into it here they are:

 1. Add the 15va/vb marking as well.


 Done.


 2. I'm not sure what standard practice is but you'll see in the score
 that my software produces it does not extend the ottava marking over rests.
 My music tends to have a lot of rests (a consequence of how it
 automatically changes staves) so it has a big effect on the overall look.


 Fixed.

 Standard practice is that an ottava should extend across rests if the note
 afterwards takes the ottava, too.  If the rest is sufficiently long, the
 ottava is broken.

 I've incorporated the behavior you like, but I definitely believe that
 there should be a choice for the user to extend across rests.  The function
 ought to be able to detect whether the ottava can extend: there are rests
 of sufficient length and the note after the rest needs the ottava.

 Under no circumstances should an ottava end over a rest, like you see on
 the version of your piece using \ottavate!



 3. Change the text. In my score I just use 8 and 15 which given how
 crowded the score gets at times makes a big difference.


 It turns out that \set Staff.ottavation = #8 and the like have to be
 used after \ottava #1, so I had to work it into the function.

 In the future I could add an argument to the \ottavate to allow user
 variations--like 8b, for example.  Right now, I hardcoded 8 and 15,
 as in your score.

 You select the version--default or short names--with a boolean value--that
 is ##t (short), ##f (default).


 %%%
 USAGE NOTES:

 Take the following example:

 musOne = \relative c''' {
   \clef treble
   g2 a b c d e f g a b c d e f g a b c d e f g
 }

 {
   \ottavate #'(4 . 7) #'(-3 . -6) ##t \musOne
 }

 ##t selects the shortened names 8 and 15

 (4 . 7) specifies the range for 8: any note having 4-7 ledger lines
 (inclusive) gets an 8.  Anything above this will get 15.

 (-3 . -6) specifies the range for 15: here the range is 3-6 ledger
 lines.  I like the negative numbers because they are visually more
 expressive, though of course, there's no sense to negative numbers of
 ledger lines

 Chords are assigned ottavas based on the average of the ledger-line count
 of their constituent notes.  I'm sure there's a better algorithm.  If
 you're more mathematically able than me, please feel free to suggest
 something a bit more elegant :)

 In the future, there ought to be some analysis of groups of notes.  So,
 for example, an out-of-range note within a group of notes receiving an
 ottava doesn't break the line.  But I'd like to make sure what I have now
 works before I start enhancing it.


 Thanks again for the work you've put into this!


 You're very welcome.

 --David



Piano_Standard.pdf
Description: Adobe PDF document
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Automatic ottava handling

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

Thanks for all your work on this!

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

 Hi,

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


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


 OK, now it will provide automatic bassas as well.

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

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

 Let me know how this works for you!

 Enjoy,
 David





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


Re: Automatic ottava handling

2014-10-11 Thread David Bellows
The attached function will work with more complex music expressions.

Nicely done! I really like the greater flexibility achieved based on using
ledger lines. Fortunately in this project I don't use chords so that's not
a problem, less fortunately is that I need it for the bassa as well. But I
will look over the code and see if I can't figure it out for myself.

Thanks!

On Sat, Oct 11, 2014 at 7:57 AM, David Nalesnik david.nales...@gmail.com
wrote:

 Hi,

 On Wed, Oct 8, 2014 at 9:48 AM, David Bellows davebell...@gmail.com
 wrote:

 Here's a preliminary experiment.  It will add an automatic \ottava 1
 before passages where notes have at least a specified number of ledger
 lines.


 The attached function will work with more complex music expressions.

 The only problem here is with the handling of chords.  Right now, the
 function either ignores them or attempts to add the ottava within the
 EventChord expression (which causes an error).  This shouldn't be too hard
 to fix, though it will take some thought.

 Hope this proves useful!

 David



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


Re: Automatic ottava handling

2014-10-08 Thread David Bellows
Here's a preliminary experiment.  It will add an automatic \ottava 1
before passages where notes have at least a specified number of ledger
lines.

This is a terrific start! The solution I'm using in my program counts the
number of commas or single quotes and applies the ottava marking based on
that which works fine but doesn't give as aesthetically a pleasing result
as your method does. I will totally ditch my method if this one progresses
much further.

On Tue, Oct 7, 2014 at 4:32 PM, David Nalesnik david.nales...@gmail.com
wrote:

 Hi,

 On Mon, Oct 6, 2014 at 3:51 PM, David Bellows davebell...@gmail.com
 wrote:

 I ended up creating my own solution to use in my code that generates
 scores. Unfortunately it doesn't really translate into anything usable by
 anyone else. Likewise I created my own staff switching method as well so
 that rests would be printed in the other staff.

 Still, I think the automatic ottava marking would be a good idea and
 maybe even doable. Alas, I am not the one to do it, though.

 On Sun, Oct 5, 2014 at 2:14 PM, Gilberto Agostinho 
 gilbertohasn...@gmail.com wrote:

 Malte Meyn-3 wrote
  There is a pitch-dependent staff switching automatism in LilyPond (I
  don’t know how it works but you can have a look at piano/harp section
 in
  the notation reference) so I think what you are asking for should at
  least not be impossible.

 You are talking about \autochange (see:

 http://lilypond.org/doc/v2.18/Documentation/notation/common-notation-for-keyboards#changing-staff-automatically
 ).

 And indeed an automatic function to add ottava markings for every pitch
 higher than a certain threshold (and ottava bassa lower than another
 defined
 threshold) would be a fantastic addition to LilyPond.


 I think this should be doable.

 Here's a preliminary experiment.  It will add an automatic \ottava 1
 before passages where notes have at least a specified number of ledger
 lines.

 Right now this is pretty limited.  It won't handle \relative, for one
 thing.  I'll have to get deeper into the music representation for that, but
 this should serve as a proof-of-concept.

 Another issue is adapting to different clefs.  The function \octavate is
 hard-coded for treble clef at the moment.  The problem is that
 'clefMiddleCPosition is a context property, and I'm not sure how to get at
 context properties through a music function.  Any ideas?  With this
 property it's easy to have this work automatically with different clefs.
  (The number -6 in the function represents the value of
 'clefMiddleCPosition for treble clef--middle C is 6 staff-steps below the
 center line.)

 Best,
 David


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


Re: Automatic ottava handling

2014-10-06 Thread David Bellows
I ended up creating my own solution to use in my code that generates
scores. Unfortunately it doesn't really translate into anything usable by
anyone else. Likewise I created my own staff switching method as well so
that rests would be printed in the other staff.

Still, I think the automatic ottava marking would be a good idea and maybe
even doable. Alas, I am not the one to do it, though.

On Sun, Oct 5, 2014 at 2:14 PM, Gilberto Agostinho 
gilbertohasn...@gmail.com wrote:

 Malte Meyn-3 wrote
  There is a pitch-dependent staff switching automatism in LilyPond (I
  don’t know how it works but you can have a look at piano/harp section in
  the notation reference) so I think what you are asking for should at
  least not be impossible.

 You are talking about \autochange (see:

 http://lilypond.org/doc/v2.18/Documentation/notation/common-notation-for-keyboards#changing-staff-automatically
 ).

 And indeed an automatic function to add ottava markings for every pitch
 higher than a certain threshold (and ottava bassa lower than another
 defined
 threshold) would be a fantastic addition to LilyPond.

 Best,
 Gilberto Agostinho




 --
 View this message in context:
 http://lilypond.1069038.n5.nabble.com/Automatic-ottava-handling-tp167190p167195.html
 Sent from the User mailing list archive at Nabble.com.

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

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


Re: Supporting ♯ and ♭

2014-10-06 Thread David Bellows
I could see where this could be useful when sharing Lilypond files. Since
we don't all use the same language setting things can get a bit confusing.

But it seems like this should be something that one's editor does. Like I
type my Lilypond file as I normally do it and then hit M-x
lilypond-beautify which will then convert all the css to c#s etc. And
then when you get that file it will convert it back to your language? So a
metafile thingie? Probably more work than it's worth, but, you know.

On Mon, Oct 6, 2014 at 1:34 PM, Martin Tarenskeen m.tarensk...@zonnet.nl
wrote:



 On Mon, 6 Oct 2014, MarcM wrote:

  I agree it is not easier to type but any non-techie musician will find
 this
 easier to read. Adding shortcuts in Frescobaldi will help type the  ♯ and
 ♭.


 A non-techie might have problems knowing the difference between # and ♯,
 and between b and ♭
 And what about the double-sharp? What symbol would be used for that?

 I agree it is easier to read. But you normally don't use LilyPond just to
 read music. But if you do, you are definitely not a non-techie :-)

 IMO opinion using these unicode symbols for sharps and flats is an
 interesting idea - but I personally will probably never use it.

 --

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


Automatic ottava handling

2014-10-05 Thread David Bellows
This is probably asking a lot, but is there a way to have ottava markings
used automatically? It sounds like a complicated function since you'd also
want it to be able to span consecutive notes but being able to specify when
(as in how many ledger lines above the staff) it would kick in would be
really nice. The project I'm working on automatically generates Lilypond
files so I can't do this manually. I have given some thought as to how I
would do it in my software but was hoping someone else had already tackled
the problem from a Lilypond perspective.

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


Re: Automatic fixing of note between measures

2014-09-18 Thread David Bellows
The project I'm working on right now also automatically generates music and
I ran into the same problem. Here's what my software automatically
generates now to deal with it:

\score {
  \new PianoStaff 
\new Staff = upper 
\new Voice = first \with {\remove Note_heads_engraver \consists
Completion_heads_engraver \remove Rest_engraver \consists
Completion_rest_engraver}
\voice_one  
\new Staff = lower 
\new Voice = second \with {\remove Note_heads_engraver \consists
Completion_heads_engraver \remove Rest_engraver \consists
Completion_rest_engraver}
\voice_five  

  \layout{ragged-bottom = ##t ragged-right = ##t }
}

What you're looking for is the stuff starting at \with {\remove
...\consists Completion_rest_engraver}

This is a lifesaver.

On Thu, Sep 18, 2014 at 8:06 AM, Jay Vara j...@diljun.com wrote:

 Sometimes a note in my (generated) music falls on the bar lines. Is there
 a way to auto fix it by splitting the note as per the measure and joining
 the two parts with a tie?

 In the following, the first line shows that there are five quarter notes
 in the first measure rather than 4.

 The second line is how I would like it to be auto-resolved.

 \version 2.18.2

 \relative c' {c4 d e f2 g h}

 \relative c' {c4 d e f~f g h}




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

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


Re: Automatic fixing of note between measures

2014-09-18 Thread David Bellows
Is there a reason not to use Completion_heads_engraver all the time or
atleast as a default?

I think the expectation is that most composers most of the time do not want
notes split up automatically as it probably means a mistake was made when
entering the notes. Basically they'll split when they want to. It's just
you and I working with generated scores where this other behavior is
preferred.

I am also using a compound metre. Hopefully this will work with that.

I have no idea about that! For me I'm just using the bar lines and
automatic breaking more for aesthetic reasons or as a help to the performer
to see where they are than I am for any musical reasons. So for me 4/4 is
all I'm using. Naively I would assume that it should work for more complex
time signatures.

In one case I have repeating measures of 5/4 + 3/4 + 2/4. I have succeeded
in getting the bar lines printed after 5th and 8th quarter notes in a 10/4
time scale by adding a voice with bar lines at those places. May be there
is a different method of achieving this effect.

I'm not quite getting what you're trying to do, do have a picture or some
code?

On Thu, Sep 18, 2014 at 10:49 AM, Jay Vara j...@diljun.com wrote:

 David,

 That works. Malte also suggested something similar.

 Is there a reason not to use Completion_heads_engraver all the time or
 atleast as a default?

 I am also using a compound metre. Hopefully this will work with that.

 In one case I have repeating measures of 5/4 + 3/4 + 2/4. I have succeeded
 in getting the bar lines printed after 5th and 8th quarter notes in a 10/4
 time scale by adding a voice with bar lines at those places. May be there
 is a different method of achieving this effect.

 Jay



 ___
 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: Can not get '\override Score.BarNumber.break-visibility' to work

2014-09-16 Thread David Bellows
There is a PPA so I could upgrade quite easily, if necessary,

Even easier and much better is to just download it from Lilypond directly.
It is packaged in such a way as to make installation and upgrading on
Ubuntu (and all Linux distros) super duper easy. This way you can have the
latest versions without relying on a package maintainer to keep up to date.

On Tue, Sep 16, 2014 at 12:23 PM, Markus Baertschi mar...@markus.org
wrote:

 Thanks Gentlemen,

 The 'old' version I'm using is probably the culprit. The syntax you guys
 suggested works fine.

 I'm using Ubuntu. It looks like the version in the standard Ubuntu
 repositories is still 2.16.
 I'm starting with it now and playing with music for my mens choir.
 Any important things I'll be missing out on 2.16 ?
 There is a PPA so I could upgrade quite easily, if necessary,

 Thanks  Markus

 On Tue, Sep 16, 2014 at 9:13 PM, Urs Liska u...@openlilylib.org wrote:

  Your problem comes from the fact that you use a syntax for a newer
 version of LilyPond.

 I suggest that you either update to LilyPond 2.18.2 (preferable) or have
 a look at the documentation for 2.16 at
 http://lilypond.org/doc/v2.16/Documentation/web/manuals

 The dot-notation was introduced in 2.18, previously you had to write

 \override Score.BarNumber #'break-visibility ...

 (although I don't know if there have been other changes in that
 break-visibility stuff as well.)

 HTH
 Urs

 Am 16.09.2014 21:08, schrieb Markus Baertschi:


 I'm trying to get bar numbers on every second bar get syntax error from
 stuff straight out of the documentation.

 /tmp/frescobaldi-qhLT9N/tmpOW4D8u/Le_vieux_chalet.ly:27:29: error: syntax
 error, unexpected '.', expecting SCM_FUNCTION or SCM_IDENTIFIER or
 SCM_TOKEN
 \override Score.BarNumber
   .break-visibility = ##(#t #t #t)

 Unfortunately I have absolutely no idea where to look for a solution. I'm
 sure it is something very basic.

  Here the entire file:

  ​\version 2.16.2

 \header {

 title = Le Vieux Chalet

 composer = Joseph Bovet

 poet = Joseph Bovet

 tagline = \markup {

 Engraved at

 \simple #(strftime %Y-%m-%d (localtime (current-time)))

 with \with-url #http://lilypond.org/;

 \line { LilyPond \simple #(lilypond-version) (http://lilypond.org/) }

 % from \sourcefilename

 }

 }

 \score {

 

 \new Staff = Tenor 

 \set Staff.midiInstrument = #acoustic grand

 \set Staff.instrumentName = Tenor

 \time 3/4 \key g \major

 \partial 4

 \relative c'

  \new Voice = Tenor 1 {

  \override Score.BarNumber.break-visibility = ##(#t #t #t)

 % \set Score.currentBarNumber = #21

 % % Permit first bar number to be printed

 % \bar 

 \set Score.barNumberVisibility = #(every-nth-bar-number-visible 2)

 \voiceOne

 % Tenor 1

 d4

 \repeat volta 2 { d'4. c8 b8. c16 b4 a d, d'8. c16 b4 a4 }

 \alternative { { g2 d4 } { g2 g4 } }

 a4. b8 g a | b4. c8 a b | c4. d8 b c | d2 g,4 |

 e'4. d8 c b | a8.( b16) a4 a | d8. c16 b4 a | g2

 }

 \addlyrics {

 La | haut sur la mon -- | ta -- gne l'é -- | tait un vieux cha -- |

 let. La | let. Murs |

 blancs, toit de bar -- | deaux, de -- vant la | porte un veux bou -- |
 leau. La |

 haut sur la mon -- | tag -- ne l'é -- | tait un vieux cha -- | let.

 }

 \new Voice = Tenor 2 {

 \voiceTwo

 % Tenor 2

 d4 b'4. a8 g8. a16 g4 fis d g8. e16 g4 fis4

 g2 d4 g2 g4

 fis4. d8 e fis | g4. e8 fis g | a4. fis8 g a |

 g4 fis g | c4. b8 a g | fis8. g16 fis4 fis | g8. e16 d4 c | b2

 }

 

 \new Staff = Bass 

 \set Staff.instrumentName = Bass/Bar

 \set Staff.midiInstrument = #acoustic bass

 \clef bass \key g \major

 \relative c

 \new Voice = Bariton {

 % Bariton

 \set Voice.midiInstrument = #glockenspiel

 \voiceThree

 d4 | d4. d8 d8. e16 | d4 d d | d8. e16 e4 d8 c |

 b2 d4 | b2 b8 d8 |

 d4. d8 d d | d4. d8 d d | d4. d8 d d | d2 g4 |

 g4. fis8 e d | e4 e d | d8. e16 d4 d8 c | b2

 }

 \relative c

 \new Voice = Bass {

 % Bass

 \voiceFour

 d4 | g,4. g8 g8. c16 | d4 d,4 d'8 c | b8. c16 e4 d,4 |

 g2 d'4 | g,2 g8 b8 |

 d4. d8 d d | d4. d8 d d | d4. d8 d d | g,2 g'4 |

 c,4. gis8 a b | c4 c c | b8. c16 d4 d,4 g2

  }

 

 

 \layout {}

 \midi {

 \context {

 \Score

 tempoWholesPerMinute = #(ly:make-moment 270 8)

 }

 }

 }
 ​


 --
 Markus Baertschi, Bas du Rossé 16, CH-1163, Etoy, Switzerland
 mar...@markus.org, ++41 (79) 403 1186 (mobile)


 ___
 lilypond-user mailing 
 listlilypond-user@gnu.orghttps://lists.gnu.org/mailman/listinfo/lilypond-user



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




 --
 *Markus Baertschi*, Bas du Rossé 16, CH-1163, Etoy, Switzerland
 mar...@markus.org, ++41 (79) 403 1186 (mobile)

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


___
lilypond-user mailing list

Rest with tie behaving differently than note

2014-09-14 Thread David Bellows
In the following code Lilypond correctly creates the tie to the note even
when it's left out (a tie just to a duration):

\version 2.19.13
\score{
  \new Staff {d4~ 16}
}

But if you try to do this with a rest:

\version 2.19.13
\score{
  \new Staff {r4~ 16}
}

It prints a note (middle C) instead of that second rest. Putting the rest
in manually works, of course, but that doesn't help me. I'm generating
thousands of scores automatically I need this behavior to be consistent
whether there's a rest or a pitch specified (otherwise I'll have to find
some less pleasant way to avoid that situation in the first place.)

And for some reason in my generated score the rest tied to a naked duration
causes a seg fault but in my short example it compiles but just not as
expected. Adding the second rest in manually to my generated score then it
compiles as expected.

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


Re: Rest with tie behaving differently than note

2014-09-14 Thread David Bellows
So it will ignore any intermediate RestEvents being of a different type
altogether.
So I think you’ll have to work with that.

Thanks Simon, and it is as I feared. My workaround is inelegant but it does
work.

Dave

On Sun, Sep 14, 2014 at 2:45 PM, Simon Albrecht simon.albre...@mail.de
wrote:

 Hello David,

 Am 14.09.2014 um 18:58 schrieb David Bellows:

 In the following code Lilypond correctly creates the tie to the note even
 when it's left out (a tie just to a duration):

 \version 2.19.13
 \score{
   \new Staff {d4~ 16}
 }

 But if you try to do this with a rest:

 \version 2.19.13
 \score{
   \new Staff {r4~ 16}
 }

 It prints a note (middle C) instead of that second rest.


 I also encountered that behaviour some days ago and if you look at how
 things work internally, then it’s only natural:
 Try
 %--
 \version 2.19

 \void \displayMusic { 4 }
 %--

 and you’ll see that the standalone duration creates a NoteEvent with only
 a duration property, pitch being undefined. In a RhythmicStaff, it won’t
 need a pitch, whereas in a normal Staff it will inherit the pitch of the
 previous _NoteEvent_ (or use the ‘default’ pitch, middle C: #(ly:make-pitch
 0 0)). So it will ignore any intermediate RestEvents being of a different
 type altogether.
 So I think you’ll have to work with that.

 HTH, Simon

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


Re: Breaking notes up across bar lines when using lyrics

2014-09-07 Thread David Bellows
However, the attached version of the file using @code{ \new Lyrics
\lyricsto first } instead of @code{ \addlyrics } works as expected for
me*. So working around the problem appears to be easy.

Perfect! It now works as expected. Thank you very much!

On Sun, Sep 7, 2014 at 3:45 AM, Simon Albrecht simon.albre...@mail.de
wrote:

  Looks like it’s worth a bug report and issue tracker, doesn’t it? About
 completion heads engraver and addlyrics being incompatible.
 However, the attached version of the file using @code{ \new Lyrics
 \lyricsto first } instead of @code{ \addlyrics } works as expected for
 me*. So working around the problem appears to be easy.

 Yours, Simon

 *(With the small exception that the Completion_rest_engraver places rests
 irrespective of metric structure, which makes it hard to read. But that’s
 another issue)

 Am 04.09.2014 um 22:47 schrieb David Bellows:

 I'm working on a huge project that generates literally tons of scores. I
 have chosen have Lilypond break notes up at bar lines. Even though the
 music isn't actually in 4/4 (or whatever) I think it makes it easier to
 read or look nicer.

  But when I add lyrics it stops breaking up the notes and everything
 looks funky again.

  In the following code, if you comment out the \addlyrics bit then it
 works as it should, but if you leave it in then it doesn't. Does anyone
 know of a solution or have any suggestions?

  \version 2.19.13

  \header {
title = Music
   composer = David Bellows
   }

  \language english

  voice_one = {
  \key c \major
  \clef treble
  \time 4/4
  \tempo Andante 4 = 90
  g''8\f d''2 a''4 ds''4 e''16 r1 fs''8\f r4 cs''4\f f''4\bar |.
 }

  \score {
\new Staff
  
  \new Voice = first \with {\removeNote_heads_engraver \consists
 Completion_heads_engraver \remove Rest_engraver \consists
 Completion_rest_engraver}
  \voice_one
  \addlyrics {v t θ ʔ t͡ʃ  k  f θ }
 
  \layout {ragged-bottom = ##t ragged-right = ##t \context { \Score
 \override DynamicText.stencil = ##f }}
 }



 ___
 lilypond-user mailing 
 listlilypond-user@gnu.orghttps://lists.gnu.org/mailman/listinfo/lilypond-user



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


  1   2   >