Re: Feedback wanted: syntax highlighting in the LilyPond documentation

2022-01-02 Thread Marc Lanoiselée via LilyPond user discussion
k, thanks for trying out, but could you explain what
it does more precisely? Specifically, what is setting
apart \tuplet so that it is not bold? Also, you seem
no longer to highlight grob properties, does that mean
context properties are not highlighted as well?
(https://lists.gnu.org/archive/html/lilypond-devel/2021-12/msg00107.html
gives a script you can use to play around and make specific
proposals.)



[Calvin]
Would it be possible to have a menu for changing the highlighting 
settings to create some customizability? I'm not familiar with web 
development at all so I don't know if this would be difficult to 
implement.



That's conceivable, but quite a bit of work for unlikely
widespread usage, and also requires JavaScript and cookies
which is usually not very appreciated in the free software
world around GNU LilyPond. Luckily, there is no need for
it to be implemented in LilyPond. The default CSS stylesheet
is at
http://abou-samra.fr/highlighting-demo/css/lilypond-highlighting.css
(of course this will/would be on the lilypond.org server
eventually). Using your browser, possibly with an extension,
you can inject custom CSS, applying any styling you want.
For example, with Firefox, you can use Stylus:
https://addons.mozilla.org/fr/firefox/addon/styl-us/


Jean


It will be necessary to keep an uncolored version for men (in 
principle women do not have this problem) who do not see well certain 
colors.

Marc lanoiselée



Re: Center graphical markup on staff

2021-06-21 Thread Marc Lanoiselée via LilyPond user discussion



Le 22/06/2021 à 02:31, Nuno Trocado a écrit :

Hi everyone!
How can I have the wiggly line in the example below centered inside 
the staff?

Thanks,
Nuno

\score {
  \relative c' {
    c4 d
    s-\markup \override #'(height . 2) \draw-squiggle-line #1 #'(8 . 
0) ##f

  }
}

\score {
  \relative c' {
    c4 d
    \override TextScript #'extra-offset = #'(0 . 4.7) 
    s-\markup \override #'(height . 2) \draw-squiggle-line #1 #'(8 . 0) ##f
  }



"Dim" crashes into adjoining dynamic

2020-11-24 Thread Marc Shepherd
I have a number of cases where "dim." is colliding with the adjoining
dynamic (say "pp").

The manual says that a dynamic can be given extra width with the following:

\override DynamicText.extra-spacing-width = #'(-0.5 . 0.5)

However, LP apparently doesn't consider "dim." to be a dynamic, as this
does not work. What would be the comparable spacing override for "dim."?

-- 
Marc Shepherd


Re: Margin between Header and Music

2020-11-23 Thread Marc Shepherd
That's it...thanks!

On Mon, Nov 23, 2020 at 9:19 AM Knute Snortum  wrote:

> I think that would be "markup-system".
>
> --
> Knute Snortum
>
>
>
> On Mon, Nov 23, 2020 at 6:01 AM Marc Shepherd  wrote:
>
>> What parameter controls the minimum amount of space between the bottom of
>> the header and the first line of music?
>>
>> --
>> Marc Shepherd
>>
>

-- 
Marc Shepherd


Margin between Header and Music

2020-11-23 Thread Marc Shepherd
What parameter controls the minimum amount of space between the bottom of
the header and the first line of music?

-- 
Marc Shepherd


Interaction between Tags and partCombine

2020-11-21 Thread Marc Shepherd
Tags are used to conditionally include music expressions in multiple scores
prepared from the same source text. partCombine is used to merge separate
parts onto a single staff. These two features interact in ways I found
surprising.

There are musical expressions that I want printed only in the full score. I
preface these with \tag #'score. Other expressions I want printed only in
the parts. I preface these with \tag #'parts.

The full score contains many staffs in parallel, all of which are enclosed
in a << >> pair. Before the first <<, I put \keepWithTag #'score. This
*mostly* has the expected result: it prints everything that is either
untagged or tagged score, and omits everything tagged parts.

The exception is...any pair of instruments for which partCombine was used.
For instance, the piece has a pair of clarinets. In the score, I want the
clarinets on one staff. In the parts, I want the clarinets on separate
staves. This is precisely the situation partCombine is meant to handle.

But the single \keepWithTag #'score before the first << does not work for
staves where partCombine was used. For only those staves, I need to
re-state  \keepWithTag #'score before each of the separate music
expressions that is input to partCombine.

I was able to discover this by trial and error, but there probably ought to
be a warning about it in the manual.

-- 
Marc Shepherd


Re: piece starting with acciaccatura problem

2020-11-03 Thread Marc Shepherd
A 300-page quartet? Is this piece as long as *Parsifal?*

On Tue, Nov 3, 2020 at 5:35 AM Andrew Bernard 
wrote:

> It's the infamous Issue 34. It is certainly the most commonly asked
> question on the list. I hold out hope it will one day be solved. I
> have a 300 page string quartet with hundreds of grace notes and I have
> to spend a lot of time adding spacers in three other voices to get it
> to work. Needless effort that affects everybody. We had a technical
> discussion on the list recently as to why this is so difficult for
> lilypond to fix, but I still wish it could be solved.
>


-- 
Marc Shepherd


\unfoldRepeats

2020-10-27 Thread Marc Shepherd
According to the documentation, the default behavior of the MIDI block is
not to “unfold” repeats (other than those that are explicitly \repeat unfold).
If you want repeats unfolded inside of a MIDI block, you have to requote
the music within the MIDI block, nested inside of an \unfoldRepeats block.

Any idea why that was chosen as the default behavior? When composers write
a repeat, they usually expect it to be performed. I would have thought that
automatically unfolding would be the more logical default.

-- 
Marc Shepherd


Re: LilyPond learning curve (was: feasibilty question: simple GUI for web-based Lilypond instance)

2020-10-25 Thread Marc Shepherd
The third factor is that there’s a large class of mistakes that you simply
could not make in Finale or Sibelius: mismatched braces, beams or slurs
that you forget to close, notes entered in the wrong octave, etc.

On Sun, Oct 25, 2020 at 12:06 PM Martín Rincón Botero <
martinrinconbot...@gmail.com> wrote:

> The price you pay is that an LP score is considerably more time-consuming
>> to enter
>>
>
> I feel there are at least two factors that create this situation: the lack
> of graphical interface limits the amount of selection tools (you can
> basically select what your cursor can select). With more selection tools
> that allowed the user to easily copy, paste, cut, insert, attach
> articulations to all staves, etc., entering notes in Lilypond would be way
> faster. Since I started using Python to help me create Lilypond files, I
> can have whatever amount of lists I want (for example one called "tutti")
> and use programmatic commands to affect all staves. F. ex.
>
> for staff in tutti:
> add_music(staff, "c4. d8 e4 f |")
>
> Where "tutti" is a list, e.g. tutti = [flute, violin, cello] and add_music
> is a function I programmed to add more music to the end of the staff
> (amongst other I programmed, like copy_bar, insert_bar, etc.).
>
> The other aspect that makes working with Lilypond unnecessarily slow is
> the fact that invoking the Lilypond command always processes the whole
> score over and over again from scratch. Telling the user that their scores
> are gonna take more time to compile every time they enter more music
> doesn't sound attractive nor efficient. The alternative, only working on
> the text file from beginning to end with no visual feedback to then proceed
> to "debug" such file after compiling is not a realistic alternative for the
> majority of users. In my Python script I'm using subprocesses in
> conjunction with OLL's partial compilation that let me make pdfs page by
> page (using pdftk), so that I can only update the page I'm working on
> without losing the rest of the pages.
>

-- 
Marc Shepherd


Re: LilyPond learning curve (was: feasibilty question: simple GUI for web-based Lilypond instance)

2020-10-25 Thread Marc Shepherd
I tried LP several years ago and quickly gave up. I decided to try it again
because I was frustrated with all of the manual adjustments my Finale
scores require, and wanted to see if LP could do better.

LP is indeed better — in that its default decisions are almost always
better than Finale’s default. The price you pay is that an LP score is
considerably more time-consuming to enter. Although I expect to get better
at it over time, I don’t think that disadvantage can ever go away entirely.

I was trained as a software engineer. I later went into a different field,
but I haven’t forgotten the concepts — and I feel like I need them. LP
resembles coding in a lot of ways. Some of its behavior is reasonably
obvious, but much of it is very hard and non-obvious.

By the way, I am typesetting an opera score, which is clearly not the
easiest place to start—but that is what I do. I am guessing that whoever
designed LP was not thinking of orchestral scores, as some things that
ought to be easy (the “MarkLine” concept) are in fact quite difficult.

On Sat, Oct 24, 2020 at 2:26 PM Jean Abou Samra  wrote:

> I am pretty interested in how people learn LilyPond. My own experience
> from discovering it around 15 is that I was able to enter simple music
> quickly; however, adding staves, instrument names and creating polyphony
> caused many hardships (\voiceTwo is not the second voice!, etc.) I wonder
> if it'd be a good idea to organize one-time presentations, courses, this
> sort of things, for music students − composers are among the primary
> types of LilyPond users after all.
>

-- 
Marc Shepherd


Re: A Beam and a Slur in a Bracketed Tuplet

2020-10-20 Thread Marc Shepherd
Many thanks! Your manual shape override did the trick. I am new to LP and
honestly amazed how often it makes "pretty good" or great decisions.
Problems like this stand out for their rarity.

On Tue, Oct 20, 2020 at 3:59 AM Jean Abou Samra  wrote:

>
> Le 20/10/2020 à 01:08, Marc Shepherd a écrit :
>
> The reason the tuplet is up, is that — in the actual music, there is a
> lower voice, so the tuplet *has to be* up. I left out the lower voice in
> my example, because it is not relevant to the behavior I am asking about.
>
> In the real score, I have not overridden the tuplet and slur direction.
> With the lower voice present, LP automatically puts the slur and tuplet
> bracket "up", with the "crashing" behavior I showed.
>
> Hello,
>
> I just discovered that this is a known issue:
>
> https://gitlab.com/lilypond/lilypond/-/issues/1642
>
> Best regards,
> Jean
>


-- 
Marc Shepherd


Re: A Beam and a Slur in a Bracketed Tuplet

2020-10-19 Thread Marc Shepherd
The reason the tuplet is up, is that — in the actual music, there is a
lower voice, so the tuplet *has to be* up. I left out the lower voice in my
example, because it is not relevant to the behavior I am asking about.

In the real score, I have not overridden the tuplet and slur direction.
With the lower voice present, LP automatically puts the slur and tuplet
bracket "up", with the "crashing" behavior I showed.

On Mon, Oct 19, 2020 at 5:56 PM Jean Abou Samra  wrote:

>
> Why do you force the slur direction up? LilyPond will try to do the
> best job, but it cannot always get to understand your intent with
> only partial information. Either:
>
>
> - Adjust the slur manually.
>
> \relative c'' {
>   \time 3/4
>   d4. d8
>   \tupletUp
>   \tuplet 3/2 {
> d\shape #'((0.2 . -0.4) (0.2 . -1) (-0.2 . -1.3) (0 . -1.2)) ([ e]) c
>   }
>   |
>   b2 b8.([ a16]) |
>   g2.
> }
>
> Best regards,
> Jean
>


-- 
Marc Shepherd


A Beam and a Slur in a Bracketed Tuplet

2020-10-19 Thread Marc Shepherd
In the example shown below, notice that the slur is incorrectly pointing
upward, and "crashing" into the tuplet bracket. It only happens with both
the slur and the beam present. With slur only or beam only, it engraves
correctly.

Is this a known issue? Should I be coding it differently? The code used is
shown below:

\version "2.21.7"

\new Staff \relative c'' { \time 3/4
d4. d8 \tupletUp \tuplet 3/2 { d([ e]) c } | b2 b8.([ a16]) | g2.
  }
\addlyrics {
  \lyricmode { Here is some text to pon -- der. }
}

[image: Capture.PNG]
-- 
Marc Shepherd


Re: How To Selectively Show a Staff

2020-10-19 Thread Marc Shepherd
Thanks! The "showIt" / "hideIt" functions were exactly what I was looking
for.


How To Selectively Show a Staff

2020-10-18 Thread Marc Shepherd
In a score where "RemoveAllEmptyStaves" is set, a staff will normally not
show in a system where it has all rests.

Sometimes, you may *want* a staff (temporarily) to appear on a specific
system, even though it contains all rests. What’s the command or setting to
do this?

-- 
Marc Shepherd


Re: Measure Number Collision

2020-10-17 Thread Marc Shepherd
Kieren's example does indeed work with LP 2.21.2. However, the distribution
for 2.21.2 seems to "break" a number of other functions; for instance,
\fermataMarkup no longer works.

Anyhow, I am still in the market for a better way to do this, but for the
time being will just turn off bar numbers selectively whenever a rehearsal
mark appears at the start of a system.

I did a search of the archives, and I see this has been a much discussed
topic over the years!

On Sat, Oct 17, 2020 at 11:02 AM Kieren MacMillan <
kieren_macmil...@sympatico.ca> wrote:

> Hi Marc,
>
> > In your example, the rehearsal letters printed twice at the top of the
> winds group. I don't know if it matters that I am on version 2.20
>
> It may.
>
> > Also, if I am reading the code correctly, in a passage where only the
> brass and strings play, no marks would print on that system. The example
> assumes that winds will always be present. That is why I had a MarkLine at
> the top of the score outside of any group.
>
> IIRC, there is a way to avoid that… it involves keep-alive-together, etc.
> I just haven’t had time (or need, recently) to research it myself. No doubt
> someone else can help you with it!
>
> Cheers,
> Kieren.
> 
>
> Kieren MacMillan, composer (he/him/his)
> ‣ website: www.kierenmacmillan.info
> ‣ email: kie...@kierenmacmillan.info
>
>

-- 
Marc Shepherd


Re: Measure Number Collision

2020-10-17 Thread Marc Shepherd
Hi Kieren,

In your example, the rehearsal letters printed twice at the top of the
winds group. I don't know if it matters that I am on version 2.20, whereas
you specified 2.21.2, which is not publicly available from the LP website.

Also, if I am reading the code correctly, in a passage where only the brass
and strings play, no marks would print on that system. The example assumes
that winds will always be present. That is why I had a MarkLine at the top
of the score outside of any group.

Thanks
Marc

On Sat, Oct 17, 2020 at 9:53 AM Kieren MacMillan <
kieren_macmil...@sympatico.ca> wrote:

> Hi Marc,
>
> > What I want is to print the MarkLine twice, once above Violin I, and
> once at the top of each system.
>
> In recent versions, you can just add the engravers to the appropriate
> StaffGroup contexts (see below). Does that solve your problem?
>
> Cheers,
> Kieren.
>
> 
> \version "2.21.2"
>
> \layout {
>   \context {
> \Score
> \override StaffGroup.SystemStartBracket.collapse-height = #4
> \remove Mark_engraver
> \remove Metronome_mark_engraver
>   }
> }
>
> global = {
>   \mark \default
>   \key f \major
>   \time 4/4
>   s1*7
>   \mark \default
>   s1*7
> }
>
> fakemusic = {
>   \relative c' { \repeat unfold 56 { c4 } }
> }
>
> \score {
>   <<
> \new StaffGroup = "winds"
> \with { \consists Mark_engraver \consists Metronome_mark_engraver }
>   <<
> \new Staff << \global \fakemusic >>
> \new Staff << \global \fakemusic >>
>   >>
> \new StaffGroup = "brass"
>   <<
> \new Staff << \global \fakemusic >>
> \new Staff << \global \fakemusic >>
> \new Staff << \global \fakemusic >>
>   >>
> \new StaffGroup = "strings"
> \with { \consists Mark_engraver \consists Metronome_mark_engraver }
>   <<
> \new Staff << \global \fakemusic >>
> \new Staff << \global \fakemusic >>
>   >>
>   >>
> }
> 
> 
>
> Kieren MacMillan, composer (he/him/his)
> ‣ website: www.kierenmacmillan.info
> ‣ email: kie...@kierenmacmillan.info
>
>

-- 
Marc Shepherd


Re: Measure Number Collision

2020-10-17 Thread Marc Shepherd
As I am a very new LP user, I copied the code from various snippets. What I
want is to print the MarkLine twice, once above Violin I, and once at the
top of each system. The actual top staff will not always be the same from
one system to the next, because not all instruments are playing all the
time.

In the snippet that I provided, if I comment out the spacing override while
leaving everything else the same, the rehearsal mark and bar number are way
too high, as shown below.

[image: Collision.PNG]

On Fri, Oct 16, 2020 at 7:13 PM Carl Sorensen 
wrote:

>
>
> On Fri, Oct 16, 2020 at 4:28 PM Marc Shepherd  wrote:
>
>> Here is a minimal example showing this behavior:
>>
>> \version "2.20.0"
>>
>> \layout {
>>   \context {
>> \name MarkLine
>> \type Engraver_group
>> \consists Output_property_engraver
>> \consists Axis_group_engraver
>> \consists Mark_engraver
>> \consists Metronome_mark_engraver
>> \override VerticalAxisGroup.staff-staff-spacing =
>> #'((basic-distance . 1)
>>(minimum-distance . 1)
>>(padding . 1)
>>(stretchability . 3))
>>   }
>>   \context {
>> \Score
>> \remove Mark_engraver
>> \remove Metronome_mark_engraver
>> \accepts MarkLine
>>   }
>> }
>>
>> \score {
>>   <<
>>   \new MarkLine { \time 4/4
>> s1*7
>> \mark \default
>> s1*7
>>   }
>>   \new StaffGroup {
>> <<
>> \override StaffGroup.SystemStartBracket.collapse-height = #4
>> \new Staff {
>>   \key f \major \relative c' {
>> \repeat unfold 56 { c4 }
>>   }
>> }
>> >>
>>   }
>>   >>
>> }
>>
>> [image: Collision.PNG]
>>
>>
> The BarNumber is not spaced relative to the StaffGroup any more.  It is
> spaced relative to the MarkLine context (you can see this by commenting out
> your VerticalAxisGroup.staff-staff-spacing override).
> The MarkLine context is spaced relative to the Staff (as can be seen by
> the override you use).  The System Start Bracket belongs to the StaffGroup,
> not the Staff, so I believe it's not part of the collision resolution for
> the staff-staff-spacing.
>
> There is clearly a problem with a collision here, but you've done enough
> altering contexts that I'm not sure it's a LilyPond error rather than a
> user error.  I don't fully grasp how the MarkLine context works in your
> example.  You are using it somewhat differently than it was proposed on the
> list (where it was proposed to be between staffs, where bar numbers don't
> live).  I'm sorry, but I can't figure out how to fix this.
>
> Carl
>
>

-- 
Marc Shepherd


Re: Measure Number Collision

2020-10-17 Thread Marc Shepherd
This is an orchestral score, where the convention is to print tempo and
rehearsal marks twice, at the top of the system and above the first violin
staff. In the LP documentation, the recommended way to do this is to create
a separate context called “MarkLine” for rehearsal and tempo marks.

So that is the reason for removing Mark_engraver and
Metronome_mark_engraver from the Score context, and putting them in a
different context. Obviously that is not needed for this tiny example, but
I stripped out a lot of material to create a very minimal score exhibiting
the behavior.

On Fri, Oct 16, 2020 at 7:09 PM Thomas Morley 
wrote:

>
>
> Am Sa., 17. Okt. 2020 um 00:28 Uhr schrieb Marc Shepherd <
> oakapp...@gmail.com>:
>
>> Here is a minimal example showing this behavior:
>>
>> \version "2.20.0"
>>
>> \layout {
>>   \context {
>> \name MarkLine
>> \type Engraver_group
>> \consists Output_property_engraver
>> \consists Axis_group_engraver
>> \consists Mark_engraver
>> \consists Metronome_mark_engraver
>> \override VerticalAxisGroup.staff-staff-spacing =
>> #'((basic-distance . 1)
>>(minimum-distance . 1)
>>(padding . 1)
>>(stretchability . 3))
>>   }
>>   \context {
>> \Score
>> \remove Mark_engraver
>> \remove Metronome_mark_engraver
>> \accepts MarkLine
>>   }
>> }
>>
>> \score {
>>   <<
>>   \new MarkLine { \time 4/4
>> s1*7
>> \mark \default
>> s1*7
>>   }
>>   \new StaffGroup {
>> <<
>> \override StaffGroup.SystemStartBracket.collapse-height = #4
>>     \new Staff {
>>   \key f \major \relative c' {
>> \repeat unfold 56 { c4 }
>>   }
>> }
>> >>
>>   }
>>   >>
>> }
>>
>> [image: Collision.PNG]
>>
>> On Fri, Oct 16, 2020 at 3:58 PM Xavier Scheuer 
>> wrote:
>>
>>> On Fri, 16 Oct 2020 at 20:55, Marc Shepherd  wrote:
>>> >
>>> > In the example shown below, lilypond is shifting the measure number
>>> (85) down, because it thinks there is a collision with the rehearsal letter
>>> "C". But in fact there is no collision: the 85 would be just fine in its
>>> normal position. This occurs only where a rehearsal letter coincides with
>>> the first bar of a system.
>>> >
>>> > Is there a setting that tells lilypond, "Please ignore any supposed
>>> collision, and put the measure number where it would ordinarily go"?
>>>
>>> Hi Marc,
>>>
>>> Could you provide a minimal example of code showing this behavior?
>>> Or at least provide the version number you are using?
>>>
>>> I guess it should give better results with versions later (or equal to)
>>> 2.21.0, where issue 5621 has been fixed.
>>> https://gitlab.com/lilypond/lilypond/-/issues/5621
>>>
>>> Otherwise I consider this collision between bar number and bracket a new
>>> bug (to be reported).
>>>
>>> Cheers,
>>> Xavier
>>>
>>> --
>>> Xavier Scheuer 
>>>
>>>
>>
>> --
>> Marc Shepherd
>>
>
> Hi Marc,
>
> why do you move Mark_engraver and Metronome_mark_engraver?
> Don't do so and all's fine.
>
> Cheers,
>   Harm
>


-- 
Marc Shepherd


Re: Measure Number Collision

2020-10-16 Thread Marc Shepherd
Here is a minimal example showing this behavior:

\version "2.20.0"

\layout {
  \context {
\name MarkLine
\type Engraver_group
\consists Output_property_engraver
\consists Axis_group_engraver
\consists Mark_engraver
\consists Metronome_mark_engraver
\override VerticalAxisGroup.staff-staff-spacing =
#'((basic-distance . 1)
   (minimum-distance . 1)
   (padding . 1)
   (stretchability . 3))
  }
  \context {
\Score
\remove Mark_engraver
\remove Metronome_mark_engraver
\accepts MarkLine
  }
}

\score {
  <<
  \new MarkLine { \time 4/4
s1*7
\mark \default
s1*7
  }
  \new StaffGroup {
<<
\override StaffGroup.SystemStartBracket.collapse-height = #4
\new Staff {
  \key f \major \relative c' {
\repeat unfold 56 { c4 }
  }
}
>>
  }
  >>
}

[image: Collision.PNG]

On Fri, Oct 16, 2020 at 3:58 PM Xavier Scheuer  wrote:

> On Fri, 16 Oct 2020 at 20:55, Marc Shepherd  wrote:
> >
> > In the example shown below, lilypond is shifting the measure number (85)
> down, because it thinks there is a collision with the rehearsal letter "C".
> But in fact there is no collision: the 85 would be just fine in its normal
> position. This occurs only where a rehearsal letter coincides with the
> first bar of a system.
> >
> > Is there a setting that tells lilypond, "Please ignore any supposed
> collision, and put the measure number where it would ordinarily go"?
>
> Hi Marc,
>
> Could you provide a minimal example of code showing this behavior?
> Or at least provide the version number you are using?
>
> I guess it should give better results with versions later (or equal to)
> 2.21.0, where issue 5621 has been fixed.
> https://gitlab.com/lilypond/lilypond/-/issues/5621
>
> Otherwise I consider this collision between bar number and bracket a new
> bug (to be reported).
>
> Cheers,
> Xavier
>
> --
> Xavier Scheuer 
>
>

-- 
Marc Shepherd


Measure Number Collision

2020-10-16 Thread Marc Shepherd
In the example shown below, lilypond is shifting the measure number (85)
down, because it thinks there is a collision with the rehearsal letter "C".
But in fact there is no collision: the 85 would be just fine in its normal
position. This occurs only where a rehearsal letter coincides with the
first bar of a system.

Is there a setting that tells lilypond, "Please ignore any supposed
collision, and put the measure number where it would ordinarily go"?
[image: collision.PNG]

-- 
Marc Shepherd


Re: Markup Between Systems

2020-10-14 Thread Marc Shepherd
So...what I am trying to do is put a block of text above a system that
occupies the full width of the page. This is a theatrical work, and the
block of text is a stage direction that is paragraph-length.

I can create a dynamics context at the top of the score, and attach my
markup to a spacer rest at the beginning of that system. But then, Lilypond
counts my markup as part of the spacing calculation of the system, which is
not the desired effect. Also, Lilypond wants to put my markup between the
left- and right-most barlines of the system, instead of using the full page
width.

I know that free-standing markup (not attached to any note or rest) can
reside between \score’s, but not within a \score. Basically, I am looking
for a way to achieve that effect without having to end the current score
and start a new one.

Thanks
Marc

On Mon, Oct 12, 2020 at 8:25 AM Andrew Bernard 
wrote:

> What's wrong with hanging it off a note or rest? I do this all the
> time for long sloping lines for accel. and rall. indicators. Works for
> me.
>
> Can you send a sketch or image of your use case?
>
> Andrew
>
>
>
> On Mon, 12 Oct 2020 at 07:40, Marc Shepherd  wrote:
> >
> >
> > I want markup that is within a score (above a system), but not attached
> to a staff or note.
>
>

-- 
Marc Shepherd


Markup Between Systems

2020-10-11 Thread Marc Shepherd
Is there a way to print markup that occupies the full width of the page,
and resides between two systems?

I know that if there are multiple scores within the same book, a markup
block can reside between two scores (or above or below any of them).

I want markup that is within a score (above a system), but not attached to
a staff or note.

-- 
Marc Shepherd


Re: bach chorales

2020-05-24 Thread Marc via LilyPond user discussion
I'm not the author (I had it in my archives) The license seems to show 
that it can be placed in a git repository.


Marc

Le 24/05/2020 à 11:41, Matt Wallis a écrit :

On 24/05/2020 05:05, Andrew Bernard wrote:

Hello Marc,

Who are we to thank for this wonderful and useful work? I see the name
Ph. Hardy in the score with an email. Is he still active?

Andrew

On Sun, 24 May 2020 at 02:26, Marc via LilyPond user discussion
 wrote:


Dropbox link

https://www.dropbox.com/s/slxstuqpxbqojnp/Bach-371-Chorals-sources-ly_midi-3.zip?dl=0 



• Copyleft 2011/01: cette oeuvre est libre, vous pouvez la 
(photo)copier,
la diffuser ou la modifier, selon les termes de la Licence Art Libre, 
voir:

http://www.artlibre.org/licence/lal/ [en, de, es, pt, it]
Créé avec GNU LilyPond 2.13.51 http://www.LilyPond.org
par Ph. Hardy. http://superbonus.project.free.fr
Free Art License


Marc,
Many thanks for the link.
Am I right to understand from the license that it would be ok to make 
these files available on a public git repository (e.g. Gitlab.com)?

Matt






Re: bach chorales

2020-05-23 Thread Marc via LilyPond user discussion

Dropbox link

https://www.dropbox.com/s/slxstuqpxbqojnp/Bach-371-Chorals-sources-ly_midi-3.zip?dl=0

• Copyleft 2011/01: cette oeuvre est libre, vous pouvez la (photo)copier,
la diffuser ou la modifier, selon les termes de la Licence Art Libre, voir:
http://www.artlibre.org/licence/lal/ [en, de, es, pt, it]
Créé avec GNU LilyPond 2.13.51 http://www.LilyPond.org
par Ph. Hardy. http://superbonus.project.free.fr
Free Art License

Marc Lanoiselée

Le 23/05/2020 à 15:17, Matt Wallis a écrit :

On 23/05/2020 14:00, David Nalesnik wrote:

Hi all,

Is anyone aware of Bach's 371 being transcribed into LilyPond? I have
some faint recollection of this, but I'm not finding anything at
Mutopia.

Thanks,
David



As a Bach fan, I was intrigued ... For me, the fourth hit on Google 
(searched "bach 371 lilypond") was this wonderful-looking resource:


https://www.guitarland.com/MusicTheoryWithToneJS/BachChorales.html

Does that help?







Re: Can \markuplist prduce uneven width columns?

2019-11-27 Thread Marc Mouries
you can obtain something close with the new \table markup-list command
http://lilypond.org/doc/v2.19/Documentation/notation/text-markup-list-commands

On Wed, Nov 27, 2019 at 7:10 AM Peter Toye  wrote:

> I'm trying to write some editorial notes for a score, and would like to
> have the references in uneven-width word-wrapped columns. The effect I want
> is something like:
>
> Bar 27This text is hopelessly garbled in the sources, which are
> also mutually
>inconsistent. The editor has produced what he hopes is a performable
>version.
>
> Bar 28"in tempo" aligned but probably best on 6/16 (in neither  of
> the primary
>sources
>
> As fas as I can see, neither \markup nor \markuptext have this facility.
>
> Regards,
>
> Peter
> mailto:lilyp...@ptoye.com 
> www.ptoye.com
>


-- 
-- Marc


Re: Mysterious behavior in music function

2019-08-04 Thread Marc Evanstein

Thanks so much for this explanation, and for the working version that does 
exactly what I wanted! It's very much appreciated.

Marc

Marc Evanstein
 www.marcevanstein.com

Sun Aug 04 16:07:28 PDT 2019 Thomas Morley :

> Am So., 4. Aug. 2019 um 22:49 Uhr schrieb Marc Evanstein
> :
> >
> > Hi all,
> >
> > I'm trying to define a music function that adds a gliss after a note down 
> > to a second parenthesized grace note. I've tried the following, but the 
> > gliss doesn't show up:
> >
> > \version "2.19.83"
> > \language "english"
> >
> > bendDown =
> > #(define-music-function
> > (parser location firstNote secondNote)
> > (ly:music? ly:music?)
> > #{
> > \afterGrace
> > $firstNote
> > \glissando
> > \once \override Stem.stencil = ##f
> > \once \override Flag.stencil = ##f
> > \parenthesize $secondNote
> > #}
> > )
> >
> > \score {
> > \new Staff \with { instrumentName = #"Flute" }
> > {
> > \bendDown g'2 f'4
> > }
> > }
> >
> > More than this, what I'm truly puzzled by is that if I remove "\afterGrace" 
> > and just let the second note be a normal note, I get an error:
> >
> > error: syntax error, unexpected EVENT_IDENTIFIER
> >
> > \glissando
> >
> > If I copy paste the function text replacing the variables, then I get 
> > almost what I want, except that the stem of the grace note is still there:
> >
> > \score {
> > \new Staff \with { instrumentName = #"Flute" }
> > {
> > \afterGrace
> > g'2
> > \glissando
> > \once \override Stem.stencil = ##f
> > \once \override Flag.stencil = ##f
> > \parenthesize f'4
> > }
> > }
> >
> > What does seem to totally work is to use a regular grace instead of an 
> > afterGrace, except that I can't seem to write it as a music function 
> > without getting that same "unexpected EVENT_IDENTIFIER" error:
> >
> > \score {
> > \new Staff \with { instrumentName = #"Flute" }
> > {
> > g'2
> > \glissando
> > \grace
> > \once \override Stem.stencil = ##f
> > \once \override Flag.stencil = ##f
> > \parenthesize f'4
> > }
> > }
> >
> > Can anyone shed some light on this for me?
> >
> > Thanks in advance!
> >
> > Marc
>
> Hi Marc,
>
> two Problems:
> (1)
> A postevent can't be attached to a music-variable, this feature will
> be likely be available with next stable. See:
> one = c'4
> two = d'4
> { $one \glissando $two }
> which returns the known error.
> But you can workaround by attaching the postevent to an empty chord in
> front of the musical variable, then it will be "sort of merged" with
> the note:
> one = c'4
> two = d'4
> { <>\glissando $one $two }
>
> (2)
> afterGrace expects _two_ musical arguments.
> Your code
> > #{
> > \afterGrace
> > $firstNote
> > \glissando
> > \once \override Stem.stencil = ##f
> > \once \override Flag.stencil = ##f
> > \parenthesize $secondNote
> > #}
>
> provides $firstNote as first argument and \glissando as the second.
> (And there is an optional argument for the `fraction´)
>
> You will want to have a first-note-with-starting-glissando as first argument 
> and
> a parenthesize-second-note-with-overrides as second. Thus use brackets:
>
> bendDown =
> #(define-music-function
>  (parser location firstNote secondNote)
>  (ly:music? ly:music?)
>  #{
>  \afterGrace 15/16
>  {
>  <>\glissando
>  $firstNote
>  }
>
>  {
>  \once \override Stem.stencil = ##f
>  \once \override Flag.stencil = ##f
>  \parenthesize $secondNote
>  }
>  #}
>  )
> \score {
>  \new Staff \with { instrumentName = #"Flute" }
>  {
>  \bendDown g'2 f'4
>  }
> }
>
> Works here.
>
> HTH,
>  Harm
>

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


Mysterious behavior in music function

2019-08-04 Thread Marc Evanstein
Hi all,

I'm trying to define a music function that adds a gliss after a note
down to a second parenthesized grace note. I've tried the following, but
the gliss doesn't show up:

\version "2.19.83"
\language "english"

bendDown =
#(define-music-function
   (parser location firstNote secondNote)
   (ly:music? ly:music?)
    #{
  \afterGrace
  $firstNote
  \glissando
  \once \override Stem.stencil = ##f
  \once \override Flag.stencil = ##f
  \parenthesize $secondNote
    #}
  )

\score {
  \new Staff \with { instrumentName = #"Flute" }
  {
    \bendDown g'2 f'4
  }
}

More than this, what I'm truly puzzled by is that if I remove
"\afterGrace" and just let the second note be a normal note, I get an error:

error: syntax error, unexpected EVENT_IDENTIFIER

\glissando

If I copy paste the function text replacing the variables, then I get
almost what I want, except that the stem of the grace note is still there:

\score {
  \new Staff \with { instrumentName = #"Flute" }
  {
    \afterGrace
    g'2
    \glissando
    \once \override Stem.stencil = ##f
    \once \override Flag.stencil = ##f
    \parenthesize f'4
  }
}

What does seem to totally work is to use a regular grace instead of an
afterGrace, except that I can't seem to write it as a music function
without getting that same "unexpected EVENT_IDENTIFIER" error:

\score {
  \new Staff \with { instrumentName = #"Flute" }
  {
    g'2
    \glissando
    \grace
    \once \override Stem.stencil = ##f
    \once \override Flag.stencil = ##f
    \parenthesize f'4
  }
}

Can anyone shed some light on this for me?

Thanks in advance!

Marc



pEpkey.asc
Description: application/pgp-keys
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Orchestra Tempo Staff?

2019-04-26 Thread Marc Evanstein
Hi Kieren,

Many thanks to both you and Rick for your replies. I looked up MarkLine,
and it was exactly what I was looking for.

The one issue I ran into is that I did have to add "\consists
Text_spanner_engraver" to get rit and accel spanners to show up, and now
that they show up, they are not at the same height as the metronome
marks (they are significantly below). Do you know why this is happening?

Thanks again,

Marc

On 4/24/19 10:52 AM, Kieren MacMillan wrote:
> Hi Marc,
>
>> in the score I would like tempo markings to
>> appear at the top as well as above the strings, and that I'd also like
>> to keep all the marks at the same vertical level. I'm wondering if maybe
>> the marks need to in some way occupy their own "staff", similar to a
>> separate dynamics staff, except not containing dynamics?
> Yes. Search the list and LSR for terms like "MarkLine" and "ScoreMarks" and 
> you’ll find lots of examples.
>
> Hope that helps!
> Kieren.
> 
>
> Kieren MacMillan, composer
> ‣ website: www.kierenmacmillan.info
> ‣ email: i...@kierenmacmillan.info
>


pEpkey.asc
Description: application/pgp-keys
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Orchestra Tempo Staff?

2019-04-24 Thread Marc Evanstein (formerly Evans)
Hi everyone,

I'm currently trying to engrave an orchestra piece, and am unclear about
the best way to work with metronome marks, accelerandi, ritardandi and
other tempo markings.

The basic issue is that in the score I would like tempo markings to
appear at the top as well as above the strings, and that I'd also like
to keep all the marks at the same vertical level. I'm wondering if maybe
the marks need to in some way occupy their own "staff", similar to a
separate dynamics staff, except not containing dynamics?

Any advice would be greatly appreciated! It feels like maybe I'm missing
something obvious.

Thanks,

Marc

-- 
Marc Evanstein (formerly Evans)
PhD Candidate in Music Composition at UCSB
Stanford BA '10, Music; MA '11, Music, Science and Technology
www.marcevansmusic.com

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


Re: variables for specific kinds of markup?

2018-09-17 Thread Marc Evanstein
Thanks so much – changing it to define-event-function worked perfectly. Is a 
markup considered an "event" rather than "music"? Was define-music-function 
somehow returning that event attached to empty music or something?

At any rate, glad to hear that this is getting simpler in the near future, and 
many thanks for all the help!

September 17, 2018 8:01 AM, "David Kastrup"  wrote:

> "Marc Evanstein (formerly Evans)"  writes:
> 
>> Hi all,
>> 
>> I'm trying to create a variable to handle a certain type of markup
>> text. For instance, I'd like percussion strikings to be in small caps
>> above the staff, and what I really want is to define some sort of
>> macro that replaces all instances of "\striking { theText }" with
>> "^\markup\smallCaps { theText }".
>> 
>> The following clearly doesn't work (much as I would like it to):
>> 
>> striking = ^\markup\smallCaps
> 
> Current master will allow
> 
> striking = ^\markup \smallCaps \etc
> 
>> From searching around, it seems like I need to define a function using
>> scheme. I tried this:
>> 
>> striking = #(define-music-function (parser location text)
>> (string?)
>> #{
>> ^\markup\smallCaps { #text }
>> #})
>> 
>> ... and while the single line "\striking mallet" seems to render the
>> word mallet as a smallCaps markup above a dummy staff, when I try to
>> incorporate it into a series of notes, e.g.:
>> 
>> {c'4 \striking mallet d'4 e'4 f'4 }
>> 
>> I get an "error: unexpected post-event". What exactly does that mean?
> 
> Current master would have worked as expected for this use...
> 
> At any rate, you are pretty close (whether we are talking about 2.18 or
> 2.19). Just use define-event-function instead of define-music-function
> .
> 
> And rejoice that LilyPond will have fewer stumbling blocks in the near
> future. Or at least will be better at hiding the stumbling blocks so
> you'll just get hit by them when digging deeper.
> 
> --
> David Kastrup


"I'm a random guy. I shake a hand and make a friend. I don't do egotistical 
things." 
– Vanilla Ice

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


variables for specific kinds of markup?

2018-09-17 Thread Marc Evanstein (formerly Evans)

Hi all,

I'm trying to create a variable to handle a certain type of markup text. 
For instance, I'd like percussion strikings to be in small caps above 
the staff, and what I really want is to define some sort of macro that 
replaces all instances of "\striking { theText }" with 
"^\markup\smallCaps { theText }".


The following clearly doesn't work (much as I would like it to):

striking = ^\markup\smallCaps

From searching around, it seems like I need to define a function using 
scheme. I tried this:


striking = #(define-music-function (parser location text)
 (string?)
 #{
   ^\markup\smallCaps { #text }
 #})

... and while the single line "\striking mallet" seems to render the 
word mallet as a smallCaps markup above a dummy staff, when I try to 
incorporate it into a series of notes, e.g.:


{c'4 \striking mallet d'4 e'4 f'4 }

I get an "error: unexpected post-event". What exactly does that mean?

I did notice something close to what I want here:

http://lilypond.org/doc/v2.19/Documentation/extending/new-markup-command-definition.en.html

But it still would require me to put something like \markup\striking, as 
opposed to \striking.


I'm pretty new to lilypond, so apologies if I've said something that 
betrays a lack of understanding. I guess I'd just mostly like to know 
what that "unexpected post-event" error means.


Thanks in advance!

Marc


--
Marc Evans
PhD Candidate in Music Composition at UCSB
Stanford BA '10, Music; MA '11, Music, Science and Technology
www.marcevansmusic.com

---

"I'm a random guy. I shake a hand and make a friend. I don't do egotistical 
things."
– Vanilla Ice


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


Re: Syntax Completion in Vim

2018-07-30 Thread Marc Weber
There are many ways

  - putting all those words in a buffer (or :e
$VIMRUNTIME/syntax/lilypond.vim or such), then ctrl-n might just work

  - write your own completion using viml
or some glue code like
https://github.com/MarcWeber/editor-cells

which allows to mix multiple completion systems easily - you can even
write them using Python - but requires some setup.

  - use templates such as snipmate and define snippets, then use the
snippets engine's complete system.

Eg compare snipmate (most simple) with UltiSnips or such also
supporting nested placeholders

  - use ctags to generate tag files - eg using regex and complete based
on those.

lilypond allows includes, so the perfect completion system would follow
those.

Marc Weber

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


Re: fisisis impossible?

2018-03-12 Thread Marc Hohl
Am 12.03.2018 1:50 nachm. schrieb Torsten Hämmerle :Marc Hohl wrote

> This is on the issue tracker:

> 

> https://sourceforge.net/p/testlilyissues/issues/3356/



Thank you, Marc,



This 2013 issue (like this thread, too) may be related mainly to \chordmode,No. If LilyPond has no internal representation of triple signs, neither notes nor chords will work at all.

but generally, it'd be nice to have triple flats/sharps in LilyPond.

I've started working on the case.
That's cool!Regards, Marc


All the best,

Torsten







--

Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html



___

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: fisisis impossible?

2018-03-11 Thread Marc Hohl

Am 10.03.2018 um 21:20 schrieb bart deruyter:

Hi all,

got in a situation, trying to describe the bis augmented chord in second 
inversion, which would contain fisisis in a slashed chord name.


Lilypond returns an error, unexpected symbol, expecting tonicname pitch, 
which makes me believe that lilypond does not know triple sharps (isisis).


Am I right? Are there solutions for this?


This is on the issue tracker:

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

Marc

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


Re: Three simultaneous slurs

2018-02-21 Thread Marc Hohl
Oh sorry, it looks lie a tie between b-flat and b-flat, but the handwritten note heads could also be interpreted differently :)Am 21.02.2018 12:34 nachm. schrieb Andrew Bernard :Hi Marc,Actually not a tie. If it were, the next note would not have an accidental. It's a slur for vocal music. Sorry I did not explain the full context.Thanks.Andrew
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Three simultaneous slurs

2018-02-21 Thread Marc Hohl
The smallest "slur" in the picture is a tie, isn't it?The next bigger slur can be typeset directly, and the outmost slur is a PhrasingSlur IMHO.HTH, MarcAm 21.02.2018 11:56 vorm. schrieb Andrew Bernard :Referring to the attached image from the MS I am engraving, I have three simultaneous slurs going on.How can this be handled in lilypond 2.19.81 (or indeed any version)?Do I have to use a fake simultaneous voice to fudge the result?Andrew
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: endless tab?

2018-02-05 Thread Marc Hohl



Case 1: I set an arbitrary bar (the manual calls it "bar check")


Because it is a *check*, not a bar line!

You insert bars by \bar "|" or \bar "|." or whatever, no by the bar 
*check* symbol alone, that's quite a difference.


Just my 2 ct,

Marc

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


Re: tie polyphony

2018-01-24 Thread Marc Hohl

Am 24.01.2018 um 09:31 schrieb Gianmaria Lari:

Hello,

In the following code

\version "2.19.80"
\fixed c' {
   r4 a b d'
   << {4 4 4 4} \\ c1 >>
}

... I would like to tie the "a" with the very first chord 4. How 
I can do it?


That's not a tie then.

IIUC, you'll need a phrasing slur for this: \(  \)

HTH,

Marc


Thank you, Gianmaria


___
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: reloading \set TabStaff.minimumFret = #x

2018-01-24 Thread Marc Hohl

Am 23.01.2018 um 15:26 schrieb bb:
Is it possible to omit \set TabStaff.minimumFret = #x for a sequence of 
measures/bars?


One can simply override the statement by defining a string for a note.

I have a couple of bars in sequence that should be fingered below that 
minimumFret. The fingering of the tones of the following bars should 
again resdtricted above some value. I like to avoid defining the strings 
for a long sequence of notes.



\unset TabStaff.minimumFret

should do the trick

HTH,

Marc

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


Re: [OT] Linux Users

2017-11-19 Thread Marc Hohl

Am 18.11.2017 um 17:58 schrieb Jacques Peron:
Linux, LilyPond, LuaLaTeX (and Gregorio for gregorian chant) here. To 
integrate LilyPond into LaTeX, I developped lyluatex 
<https://github.com/jperon/lyluatex>.


Which is a great tool and IMHO easier to use than lilypond-book!

Linux, LilyPond, LuaLaTeX/XeLaTeX here.

Marc


​

2017-11-18 17:24 GMT+01:00 David Bellows <mailto:davebell...@gmail.com>>:


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 mailto:sambiv...@gmail.com>> 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 <mailto:lilypond-user@gnu.org>
 > https://lists.gnu.org/mailman/listinfo/lilypond-user
<https://lists.gnu.org/mailman/listinfo/lilypond-user>
 >

___
lilypond-user mailing list
lilypond-user@gnu.org <mailto:lilypond-user@gnu.org>
https://lists.gnu.org/mailman/listinfo/lilypond-user
<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: Invisible note lines?

2017-10-27 Thread Marc Hohl

Am 27.10.2017 um 18:25 schrieb bb:

I interpret this to have to comment out one of the two \score blocks for
printing and the other for to get the midi? or do I miss the point?


No, you just put two score blocks in your .ly file.
If one score block contains a \midi block and *no* layout block, there 
is no graphical output.


See

http://lilypond.org/doc/v2.18/Documentation/notation/creating-midi-files

for clarification.

HTH,

Marc



Regards BB

Am 27.10.2017 um 18:07 schrieb Marc Hohl:

Am 27.10.2017 um 18:04 schrieb bb:

For a backing track I want a melody line and chords printed on a lead
sheet - standard with lilypond.
But a midi should have an aditional kickdrum/bassdrum for rhythm. The
notes should not be visible on the lead sheet but to hear in the midi.
Is it possible to add notes for midi but invisible on the print?

Certainly I can assemble one lilypond file for the lead sheet and
another one for the midi. But that is not really smart. It is not
comfortable to have to change two lilypond files for corrections etc.


You only need to include two \score commands in one lilypond file:

\score {
   ... stuff to be printed ...
}

\score {
... same stuff without kick ...
    \midi { }
}

HTH,

Marc


Regards BB




___
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: Invisible note lines?

2017-10-27 Thread Marc Hohl

Am 27.10.2017 um 18:04 schrieb bb:

For a backing track I want a melody line and chords printed on a lead
sheet - standard with lilypond.
But a midi should have an aditional kickdrum/bassdrum for rhythm. The
notes should not be visible on the lead sheet but to hear in the midi.
Is it possible to add notes for midi but invisible on the print?

Certainly I can assemble one lilypond file for the lead sheet and
another one for the midi. But that is not really smart. It is not
comfortable to have to change two lilypond files for corrections etc.


You only need to include two \score commands in one lilypond file:

\score {
  ... stuff to be printed ...
}

\score {
... same stuff without kick ...
   \midi { }
}

HTH,

Marc


Regards BB




___
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: \justify & break

2017-10-05 Thread Marc Hohl
I misread the mail, this is nonsense.Sorry for the noise.Am 05.10.2017 9:50 vorm. schrieb Marc Hohl :Am 05.10.2017 9:32 vorm. schrieb Gianmaria Lari :On 5 October 2017 at 09:28, Thomas Morley <thomasmorley65@gmail.com> wrote:2017-10-05 6:56 GMT+02:00 Gianmaria Lari <gianmarialari@gmail.com>:
> On 5 October 2017 at 01:05, Thomas Morley <thomasmorley65@gmail.com> wrote:
>>
>> 2017-10-04 17:53 GMT+02:00 Gianmaria Lari <gianmarialari@gmail.com>:
>> > On 4 October 2017 at 17:15, Malte Meyn <lilypond@maltemeyn.de> wrote:
>> >> Am 04.10.2017 um 17:11 schrieb Gianmaria Lari:
>> >>>
>> >>> Is there any \break like command to avoid to use two \justify?
>> >>
>> >>
>> >> Use \justify-string instead. Empty lines make line breaks:
>> >
>> > [...]
>> >
>> > Yes, I saw \justify-string and it works but I wonder if it existed
>> > something
>> > more natural, like a \break or a command with the lilypond syntax
>> > (and
>> > not scheme syntax with #).
>> >
>> > The reason I'm so picky it's because I'm thinking to the day when I will
>> > suggest lilypond as engraving program to other persons. I will not
>> > propose
>> > it to programmers and would like to avoid (each time is possible) to use
>> > special syntax that I have to explain etc. etc.
>> >
>> > Thank you, g.
>>
>> Well, you could do:
>>
>> \markup {
>>   \column {
>>     \line  \bold \smallCaps { Note }
>>     \justify-string
>>     #"L'articolazione d'elezione per lo staccato è quella del braccio, o
>> nel
>>     caso di parti rapide, del polso. \n
>>     Nello staccato, braccio, mano e dita sono un tutt'uno ed agiscono in
>> modo
>>     compatto senza scomporsi e senza articolazioni intermedie."
>>   }
>> }
>>
>> Ofcourse \n _is_ scheme-syntax ;)
>
>
> Uhmm... in that case I prefer to use two consecutive \justify. But \n is
> good to know. I will keep it in my arsenal :)

Keep in mind: \n is valid input only as part of strings.

> By the way why \justify-string use the scheme syntax and it is not a first
> class citizen of lilypond language?
> Thank you, g.

Not sure what you mean. I don't know what a "first class citizen of
lilypond language" might be.Why \justify-string use the scheme-syntax and not the lilypond syntax?You need scheme when using \n, otherwise an empty line works fine for separating paragraphs in \justify-string, no scheme needed.Marcg.
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: \justify & break

2017-10-05 Thread Marc Hohl
Am 05.10.2017 9:32 vorm. schrieb Gianmaria Lari :On 5 October 2017 at 09:28, Thomas Morley  wrote:2017-10-05 6:56 GMT+02:00 Gianmaria Lari :
> On 5 October 2017 at 01:05, Thomas Morley  wrote:
>>
>> 2017-10-04 17:53 GMT+02:00 Gianmaria Lari :
>> > On 4 October 2017 at 17:15, Malte Meyn  wrote:
>> >> Am 04.10.2017 um 17:11 schrieb Gianmaria Lari:
>> >>>
>> >>> Is there any \break like command to avoid to use two \justify?
>> >>
>> >>
>> >> Use \justify-string instead. Empty lines make line breaks:
>> >
>> > [...]
>> >
>> > Yes, I saw \justify-string and it works but I wonder if it existed
>> > something
>> > more natural, like a \break or a command with the lilypond syntax
>> > (and
>> > not scheme syntax with #).
>> >
>> > The reason I'm so picky it's because I'm thinking to the day when I will
>> > suggest lilypond as engraving program to other persons. I will not
>> > propose
>> > it to programmers and would like to avoid (each time is possible) to use
>> > special syntax that I have to explain etc. etc.
>> >
>> > Thank you, g.
>>
>> Well, you could do:
>>
>> \markup {
>>   \column {
>>     \line  \bold \smallCaps { Note }
>>     \justify-string
>>     #"L'articolazione d'elezione per lo staccato è quella del braccio, o
>> nel
>>     caso di parti rapide, del polso. \n
>>     Nello staccato, braccio, mano e dita sono un tutt'uno ed agiscono in
>> modo
>>     compatto senza scomporsi e senza articolazioni intermedie."
>>   }
>> }
>>
>> Ofcourse \n _is_ scheme-syntax ;)
>
>
> Uhmm... in that case I prefer to use two consecutive \justify. But \n is
> good to know. I will keep it in my arsenal :)

Keep in mind: \n is valid input only as part of strings.

> By the way why \justify-string use the scheme syntax and it is not a first
> class citizen of lilypond language?
> Thank you, g.

Not sure what you mean. I don't know what a "first class citizen of
lilypond language" might be.Why \justify-string use the scheme-syntax and not the lilypond syntax?You need scheme when using \n, otherwise an empty line works fine for separating paragraphs in \justify-string, no scheme needed.Marcg.
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: How can I make a 7.9+.9- chord?

2017-09-28 Thread Marc Hohl

Am 28.09.2017 um 18:31 schrieb gumblex:
[...]And how can I display this chord correctly in a

ChordNames line?


This is untested, but IIRC

\once\override ChordName.text = \markup { ... }

should work.


___
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 can I make a 7.9+.9- chord?

2017-09-28 Thread Marc Hohl

Am 28.09.2017 um 18:31 schrieb gumblex:

Dear list,

I would like to write a "dis:7.9+.9-" chord in \chordmode. However, both
in ChordNames lines and in scores, it appears to be a "dis:7.9-" chord.
If I write "dis:7.9-.9+", it appears to be a "dis:7.9+" chord.


This is a current restriction of LilyPond's chord handling abilities.
You cannot use two alterations of the same interval.

Marc

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


Re: Header

2017-09-26 Thread Marc Hohl

Am 25.09.2017 um 20:37 schrieb Mario Moles:

Hi lilyponders!

How to make like in tha jpg?


Please provide us some more informations. The jpg looks like a LaTeX 
document, so the commands used there do not apply for LilyPond.


Marc

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


Re: Draw line between fingerings, but how does this go?

2017-09-26 Thread Marc Hohl

Hello Pieter,

I used the code in this thread:

http://lilypond.1069038.n5.nabble.com/glissando-in-fingering-notation-td159875.html

This works out of the box for almost all occurrences in my scores.

HTH,

Marc


Am 25.09.2017 um 22:49 schrieb Pieter Terpstra:

Dear readers,
Trying to draw a line between the numbers, copied some code but don't know 
exactly what the commands do.
Trying to raise the line so that it fits nicely between the ones but don't know 
how, have tried the \raise command
here without success.

Anyone?

Thank you so much in advantage!

\score {
   \relative c' { \time 2/4 \key d \minor
   168168
   }
}




___
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: restrain string numbers

2017-09-22 Thread Marc Hohl
Am 22.09.2017 4:51 nachm. schrieb bb :I want to restrain/omit string numbers in the score. But I need them to

define because of the guitar tabs. How can I do that?
\new Staff \with { \omit StringNumber } { ... your music }HTHMarc___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Fwd: coloring notes according harmonic function

2017-09-08 Thread Marc Hohl

Am 07.09.2017 um 21:20 schrieb Rita Composer:

Dear David and other Experts,

Unfortunately I couldn't really follow you.


You have to use


<<
  \new Voice { \voiceOne ... }
  \new Voice { \voiceTwo ... }
  \new Voice { \voiceThree ... }
>>

The curly brackets { ... } are important, otherwise the first \new Voice 
ends directly after \voiceOne, and ... is treated as if \voiceOne was 
never set.


HTH a bit,

Marc

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


Re: Remove all occurrencies of "0" fingerings

2017-08-15 Thread Marc Hohl

Am 15.08.2017 um 10:15 schrieb David Kastrup:

Marc Hohl  writes:
[...]

For the record: First, I used the solution with grob-transformer, but
then I found out that removing the grob completely yields to problems
with glissando lines between fingerings, so I switched to the solution
given above.


Your description did not imply that you actually wanted to use that
point for positioning purposes.  However, I think glissandi are between
noteheads rather than fingerings.  It's conceivable that they try taking
fingerings into account in some manner: in that case, it would make
sense if they ignored empty stencils.


Yes, of course. I wasn't aware of the implications either – putting
glissando lines between fingerings is quite straightforward, but I had
to use glissandoMap and some trickery to create a satisfactory result.

My current project includes a book with a violin and a guitar staff, and
an additional handout for guitar-only purposes with tablature added. My
focus was primarily on the first part, which has to be finished in terms
of the layout as soon as possible for the illustrator to start to draw
the pictures to be added later. Therefore I missed the glissando line
suddenly pointing to nowhere in the tablature part.

Interestingly, I didn't see the spurious line on screen, but in a 
printoutthat I am currently using for practicing the guitar part that 
will be

recorded in a couple of days. I don't know whether others have made
similar experiences, but on screen nearly everything seems to look
correct.


At any rate, it is sort of amusing that your choice between two complex
solutions hinges on whether they use point-stencil or empty-stencil
internally: interchanging those two is not all that hard.  At least
Thomas documented his solution better.


Well, IIRC you were the first who mentioned the recursion error (which I
should have found myself – silly me).  But I have to admit that Harm's
solution works with scheme functions I understood at first glance,
whereas the grob-transformer stuff was not that easy for me to cope
with.

Conclusion: the list is great, and the fact that there are multiple
solutions to a problem makes it easier to find the most suitable
workaround ;-)

Regards,

Marc





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


Re: Remove all occurrencies of "0" fingerings

2017-08-15 Thread Marc Hohl

Am 08.08.2017 um 12:35 schrieb Thomas Morley:

2017-08-08 11:46 GMT+02:00 Marc Hohl :

[...]

Hi Marc,

your initial code had two problems, comments inline:

\override Fingering.stencil =
   #(lambda (grob)
  (let* ((text (ly:grob-property grob 'text))
 (stencil (if (equal? text "0")
  ;; to avoid the warning go for point-stencil
  ;; not empty-stencil
  point-stencil
  ;; return a stencil yourself, don't call the
  ;; property which is created by the stencil-prop
  ;; it's a cycle and I'm somewhat surprised it failed
  ;; not more spectaculary
  (ly:text-interface::print grob
stencil))



For the record: First, I used the solution with grob-transformer, but
then I found out that removing the grob completely yields to problems
with glissando lines between fingerings, so I switched to the solution
given above.

Thanks a lot!

Marc

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


Re: Remove all occurrencies of "0" fingerings

2017-08-09 Thread Marc Hohl

Am 08.08.2017 um 18:44 schrieb David Kastrup:

Marc Hohl  writes:


Am 08.08.2017 um 13:00 schrieb Thomas Morley:

2017-08-08 12:47 GMT+02:00 David Kastrup :



You can do this by using

[...]

Nice one. I always forget about 'grob-transformer'. Missing bracket, tho'


I wasn't aware of grob-transformer at all. And I am still unsure about
what it does. I have read the doc string, though.


It gives your function both the grob and the value (callbacks and
unpure/pure containers already resolved) that _would_ get calculated
without your override in place.

That can be handy when your function just wants to modify the default,
or if the default is only used sometimes.  To use it, you don't need to
know whether the default is a constant, a function, or an unpure/pure
container.


I see. Thanks for your explanation!

Marc

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


Re: Remove all occurrencies of "0" fingerings

2017-08-08 Thread Marc Hohl

Am 08.08.2017 um 13:00 schrieb Thomas Morley:

2017-08-08 12:47 GMT+02:00 David Kastrup :



You can do this by using

[...]

Nice one. I always forget about 'grob-transformer'. Missing bracket, tho'


I wasn't aware of grob-transformer at all. And I am still unsure about 
what it does. I have read the doc string, though.


Thanks,

Marc

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


Re: Remove all occurrencies of "0" fingerings

2017-08-08 Thread Marc Hohl

Am 08.08.2017 um 12:47 schrieb David Kastrup:

Marc Hohl  writes:


I wanted to write a little callback to remove all occurrencies
of "0" fingerings. This is what I got so far:


\version "2.19.63"

music = {
   c'4-3 d'-0 e'-2 f'-3 | g'1-0
}

\score {
   \new Staff \with {
 \override Fingering.stencil =

^^^

   #(lambda (grob)

[...]

  (ly:grob-property grob 'stencil

^^


Compiling this nearly MWE, I get:

Warning: Fingering has empty extent and non-empty stencil.
Warning: Fingering has empty extent and non-empty stencil.

And *no* fingering at all is shown in the resulting score.
What am I doing wrong?


Recursion: see Recursion.


Ah, yes!

I think I intermingled the idea to use Fingering.after-line-breaking 
(where stencil is already defined) and Fingering.stencil (to remove the 
stencil before any layout decisions are completed).


Thanks for clarification!

Marc

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


Re: Remove all occurrencies of "0" fingerings

2017-08-08 Thread Marc Hohl

Hi Malte,

Am 08.08.2017 um 10:30 schrieb Malte Meyn:



Am 08.08.2017 um 10:23 schrieb Marc Hohl:


I wanted to write a little callback to remove all occurrencies
of "0" fingerings.


This doesn’t empty the stencil but removes the Fingering grobs 
completely (by suicide):


thanks for this solution!

In my real-life example, I got

lilypond: ../flower/include/drul-array.hh:35: T& 
Drul_array::at(Direction) [with T = scm_unused_struct*]: Zusicherung 
>>d == 1 || d == -1<< nicht erf?llt.

Aborted (core dumped)

but changing before-line-breaking to after-line-breaking did the trick.

I do not fully understand why, but it works.

Thanks,

Marc


 \override Fingering.before-line-breaking =
 #(lambda (grob)
(if (equal? (ly:grob-property grob 'text) "0")
(ly:grob-suicide! grob)))

___
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


Remove all occurrencies of "0" fingerings

2017-08-08 Thread Marc Hohl

Hello list!

I wanted to write a little callback to remove all occurrencies
of "0" fingerings. This is what I got so far:


\version "2.19.63"

music = {
  c'4-3 d'-0 e'-2 f'-3 | g'1-0
}

\score {
  \new Staff \with {
\override Fingering.stencil =
  #(lambda (grob)
 (let* ((text (ly:grob-property grob 'text))
(stencil (if (equal? text "0")
 empty-stencil
 (ly:grob-property grob 'stencil
   stencil)) }
  { \music }
}


Compiling this nearly MWE, I get:

Warning: Fingering has empty extent and non-empty stencil.
Warning: Fingering has empty extent and non-empty stencil.

And *no* fingering at all is shown in the resulting score.
What am I doing wrong?

Regards,

Marc

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


Re: Adding an introductory note(s)

2017-08-01 Thread Marc Hohl

Am 31.07.2017 um 17:27 schrieb Stephen Nesbitt:

[...]
2)  The inability to have more than one instance of partial. Fiddle 
tunes are often notated with pickups for the A & B sections.


AFAIK, it is allowed to put a \partial in mid-piece since 2.19.11.

HTH,

Marc

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


Re: Include file handling in lilypond-book

2017-07-12 Thread Marc Hohl

Am 12.07.2017 um 01:54 schrieb Karljurgen Feuerherm:

Hello,

Putting together an exercise book using XeLaTeX and the lilypond 
environment. Everything works relatively well until I try to use an 
include file with variable definitions.


MWE:

 % !TEX encoding = UTF-8 Unicode

 % !TEX TS-program = LilyPond-Book

 % !LILYPOND tex = xelatex

 \documentclass{memoir}

% \newcommand{\Ggrace}{\grace { g''32 }}

 \begin{document}

 \begin{lilypond}

 {

   \include "lilypond-variables.ly"


I don't know if I remember correctly, but I think I stumbled upon this 
problem before.

Have you tried to include a relative path?

\include "./lilypond-variables.ly"

  ^^

HTH,

Marc

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


Re: String Number collision

2017-07-05 Thread Marc Hohl

Hi Harm,

Am 05.07.2017 um 23:21 schrieb Thomas Morley:

Hi Marc,

2017-07-05 8:13 GMT+02:00 Marc Hohl :

Hi list,

I have the following MWE:

[...]

It causes the string number "5" to appear twice, strangely overlapping.
I tried to move the New_fingering_engraver to Staff, but then I got

side-axis not set for grob StringNumber.


Not sure what you expected, I didn't explore the programming error, though.


Well, I hoped that lilypond discardes one of two identical string-number 
events automatically.



I assume that I have to create an engraver similar to the
Merge_rests_engraver that does this job? Or is there another way apart from

\once\hide StringNumber

all the way across the file?




You could do:

#(define (suicide-duplicate-text-grobs grob-lst)
"Walks through the sorted @var{grob-lst}, suiciding grobs with duplicate text"
   (if (null? (cdr grob-lst))
   #f
   (suicide-duplicate-text-grobs
 (if (string=? (ly:grob-property (car grob-lst) 'text)
   (ly:grob-property (cadr grob-lst) 'text))
 (begin
   (ly:grob-suicide! (car grob-lst))
   (cdr grob-lst))
 (cdr grob-lst)

#(define reduce-string-numbers
   (lambda (grob)
"Gets the PaperColumn-grob, filters for StringNumber-grobs, sorts this grobs
with @code{stringlist (ly:grob-object paper-column 'elements
(sorted-strgs
  (sort
strgs
(lambda (p q)
  (string8 ~ e''2. }

down = {  ~ c'2. }

\score {
   <<
   \new Staff
   <<
  \new Voice \with { \deleteDuplicateStrings } { \voiceOne \up }
  \new Voice  { \voiceTwo \down }
   >>
   \new TabStaff
   <<
  \new TabVoice { \voiceOne \up }
  \new TabVoice  { \voiceTwo \down }
   >>
   >>
}


Though, I think an engraver would probably do the job cheaper. (Not tested)


Okay, thanks a lot for your solution! I'll check how it fits in my project.

Regards,

Marc




HTH,
   Harm




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


String Number collision

2017-07-04 Thread Marc Hohl

Hi list,

I have the following MWE:

\version "2.19.60"

up = { c'8\5 e'' ~ 2. }

down = { c'4\5 ~ 2. }

%{ uncomment this to trigger error
\layout {
  \context {
\Voice
\remove "New_fingering_engraver"
  }
  \context {
\Staff
\consists "New_fingering_engraver"
  }
}
%}

\score {
  \new Staff <<
 \new Voice { \voiceOne \up }
 \new Voice { \voiceTwo \down }
  >>
}

It causes the string number "5" to appear twice, strangely overlapping.
I tried to move the New_fingering_engraver to Staff, but then I got

side-axis not set for grob StringNumber.
up = { c'8
  \5 e'' ~ 2. }

I assume that I have to create an engraver similar to the 
Merge_rests_engraver that does this job? Or is there another way apart from


\once\hide StringNumber

all the way across the file?

Note: I have to specify the sting in both voices since I use tablature 
too (ommitted in the MWE) and removing the string specification would 
yield in a erroneous tablature.


Best regards,

Marc
\version "2.19.60"

up = { c'8\5 e'' ~ 2. }

down = { c'4\5 ~ 2. }

%{ uncomment this to trigger error
\layout {
  \context {
\Voice
\remove "New_fingering_engraver"
  }
  \context {
\Staff
\consists "New_fingering_engraver"
  }
}
%}

\score {
  \new Staff <<
 \new Voice { \voiceOne \up }
 \new Voice { \voiceTwo \down }
  >>
}
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: extra note

2017-06-15 Thread marc
Am 15.06.2017 1:45 nachm. schrieb Rafael González :I am using \version "2.19.55" the following line, bar   e,8 <<  b'' e >> <<  d a >> 16  b 8. g,16 a b d d b e' e       |the attachment shows that, after compilation, I get an extra a16 after the second double stop, why? Lilypond seems to interpret the 16 as a single duration, because << ...>> is a closed _expression_.You should use < ...> instead.HTHMarcthank youRafaelγγγ

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


Re: How to make vertical arrow between staves

2017-06-14 Thread marc
Am 14.06.2017 1:15 nachm. schrieb Rutger Hofman :On 06/14/2017 12:47 PM, Marc Hohl wrote:

> Am 14.06.2017 um 12:34 schrieb Rutger Hofman:

>> Good morning list,

> 

> [...]

> 

> Does

> 

> http://lsr.di.unimi.it/LSR/Item?id=962

> 

> what you want?

> 

> Marc



This LSR snippet uses VoiceFollower and Glissando. I cannot make it draw 

*vertical* lines/arrows, is there anything I overlook?
I thought that this snippet allows for vertical arrows as well, but I was wrong. Sorry for the noise.Marc


Rutger





___

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 make vertical arrow between staves

2017-06-14 Thread Marc Hohl

Am 14.06.2017 um 12:34 schrieb Rutger Hofman:

Good morning list,


[...]

Does

http://lsr.di.unimi.it/LSR/Item?id=962

what you want?

Marc


Rutger Hofman
Amsterdam


___
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: opus conflict

2017-05-01 Thread Marc Hohl

Am 01.05.2017 um 09:55 schrieb Trevor Daniels:


Thomas Morley wrote Monday, May 01, 2017 12:05 AM



2017-04-30 23:09 GMT+02:00 Mark Stephen Mrotek :

[...] I have very limited knowledge as to how to customize (write Lilypond), 
[...]


So here a little tutorial about writing custom book/scoreTitleMarkup


Nicely done, Harm!


+1

I really, really appreciate your detailed explanations and your time and 
effort that go into mails like these!


Marc



Trevor


---
This email has been checked for viruses by AVG.
http://www.avg.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: flip clef, key and time signature [Re: flip clef at end of line only]

2017-04-17 Thread Marc Hohl

Am 17.04.2017 um 13:47 schrieb Thomas Morley:

2017-04-17 13:35 GMT+02:00 Marc Hohl :

Hi Harm,




(ly:grob-set-property! grob 'space-alist
  '((staff-bar extra-space . 1))



Ah, that's the way to go here – thanks a lot for your brilliant solution!

Can you explain why you use before-line-breaking? Does it make any
difference to after-line-breaking?


Well, I tried to affect _one_ grob with _one_ override.

The stencil-override could be done directly or before-line-breaking or
after-line-breaking.
The 'space-alist needs to be set directly (with a _separate_ override)
or 'before-line-breaking, it doesn't work sufficiently
'after-line-breaking.


I see, thanks for clarification!

Cheers,

Marc


Best,
  Harm




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


Re: flip clef, key and time signature [Re: flip clef at end of line only]

2017-04-17 Thread Marc Hohl

Hi Harm,

Am 16.04.2017 um 21:25 schrieb Thomas Morley:

2017-04-16 17:54 GMT+02:00 Marc Hohl :

[...]

I tried to go one step further and include the key signature and time
signature in my example, see the attached code.

[...]


Hi Marc,

how about below?


[...]

(ly:grob-set-property! grob 'space-alist
  '((staff-bar extra-space . 1))


Ah, that's the way to go here – thanks a lot for your brilliant solution!

Can you explain why you use before-line-breaking? Does it make any 
difference to after-line-breaking?


[...]


For the BarNumbers you'll likely need an engraver ...


I'll probably omit the BarNumbers completely, the piece I want to 
typeset is not very long – it's quite tedious and challenging to compose 
this way ;-)


Thanks,

Marc


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


flip clef, key and time signature [Re: flip clef at end of line only]

2017-04-16 Thread Marc Hohl

Am 15.04.2017 um 18:02 schrieb Malte Meyn:



Am 15.04.2017 um 17:32 schrieb Marc Hohl:

Hi list,

I am working on a little piece that's played as written; after
that, the musician has to turn the page upside down and play the
resulting notes.

I managed to get the clef displayed at the beginning and the end of
each line, and I can flip the clef ;-)

Unfortunately, overriding the Clef.stencil at the end of the line
changes the apperance for the clef in the next line, too.


You need before-line-breaking here so you can use the function
ly:item-break-dir:


\override Clef.before-line-breaking = #(lambda (grob) (if (equal?
(ly:item-break-dir grob) LEFT) (ly:grob-set-property! grob 'stencil
(lambda (grobb) (grob-interpret-markup grobb #{ \markup \translate
#'(0 . 2) \flip \musicglyph #"clefs.G" #})


I tried to go one step further and include the key signature and time
signature in my example, see the attached code.

It works and looks quite ok (the spacing between the flipped sharp and
the 3/4 is a little too wide), but I get a lot of errors:

Programmierfehler: No spacing entry from Item to `clef'
Fortsetzung, die Daumen drücken

and one line like this:

Programmierfehler: No spacing entry from TimeSignature to `key-signature'
Fortsetzung, die Daumen drücken

I searched in the sources and assume that I have to enhance the
space-alist entries in the concerning grobs, but I do not have a clue
about the first error message, so any help is highly apprechiated.

Happy Easter!

Marc

\version "2.19.0"

#(define-markup-command (flip layout props arg)
(markup?) 
   (interpret-markup layout props
 (markup #:concat (#:null #:scale (cons -1 -1) #:line (arg)

global = {
  \time 3/4
  \key g \major
  \repeat unfold 4 { 
s2. * 4 | \break
  }
  \time 3/4
}

melody = { 
  \repeat unfold 16 { c'4 4 4 }
}

\layout {
  \context {
\Score
\override BreakAlignment.break-align-orders =
##((left-edge ambitus breathing-sign time-signature
   key-cancellation key-signature clef staff-bar custos)
  
(left-edge ambitus breathing-sign clef key-cancellation
key-signature staff-bar time-signature custos)
  
(left-edge ambitus breathing-sign clef key-cancellation
key-signature staff-bar time-signature custos))
  }

  \context {
\Staff
explicitKeySignatureVisibility = ##(#t #f #t)
explicitClefVisibility = ##(#t #f #t)

\override Clef.break-visibility = ##(#t #f #t)
\override KeySignature.break-visibility = ##(#t #f #t)

\override Clef.after-line-breaking =
#(lambda (grob)
   (if (equal? (ly:item-break-dir grob) LEFT)
   (ly:grob-set-property! grob 'stencil
 (lambda (grobb)
   (grob-interpret-markup grobb
 #{ \markup \translate #'(0 . 2) \flip \musicglyph #"clefs.G" #})
 
\override KeySignature.after-line-breaking =
#(lambda (grob)
   (if (equal? (ly:item-break-dir grob) LEFT)
   (ly:grob-set-property! grob 'stencil
  (lambda (grobb)
   (ly:stencil-translate-axis
 (ly:key-signature-interface::print grobb) -4 Y)
 

\override TimeSignature.after-line-breaking =
#(lambda (grob)
   (if (equal? (ly:item-break-dir grob) LEFT)
   (ly:grob-set-property! grob 'stencil
 (lambda (grobb)
   (ly:stencil-scale
(ly:time-signature::print grobb) -1 -1)
  }
}


\score {
  \new Staff << \global \melody >>
}
  


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


Re: flip clef at end of line only

2017-04-15 Thread Marc Hohl

Am 15.04.2017 um 18:02 schrieb Malte Meyn:



Am 15.04.2017 um 17:32 schrieb Marc Hohl:

Hi list,

I am working on a little piece that's played as written;
after that, the musician has to turn the page upside down and play the
resulting notes.

I managed to get the clef displayed at the beginning and the end of each
line, and I can flip the clef ;-)

Unfortunately, overriding the Clef.stencil at the end of the line
changes the apperance for the clef in the next line, too.


You need before-line-breaking here so you can use the function
ly:item-break-dir:


\override Clef.before-line-breaking =
#(lambda (grob)
   (if (equal? (ly:item-break-dir grob) LEFT)
   (ly:grob-set-property! grob 'stencil
 (lambda (grobb)
   (grob-interpret-markup grobb
 #{ \markup \translate #'(0 . 2) \flip \musicglyph
#"clefs.G" #})


Thanks a lot! Just for clarification: after-line-breaking seems to work 
here, too – is there a special reason to use before-line-breaking?




I added the translate in the markup to bring the clef to the correct
vertical position.


Yep – I removed it for MWE reasons :)

Cheers,

Marc


___
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: flip clef at end of line only

2017-04-15 Thread Marc Hohl

Am 15.04.2017 um 18:11 schrieb Son_V:



Hi list,



I am working on a little piece that's played as written;
after that, the musician has to turn the page upside down and play the
resulting notes.


I'm sorry, I'm just adding noise, but the thing you're working on seems
interesting for me.
I remember that JS Bach made some work of this kind, some palindromes too.


There is Mozarts "Der Spiegel", where two players play simultaneously, 
one reads the sheet in the right way, the other one upside down.


I can point you to a work (nothing to do with music) by Gustave Veerbek:

http://2.bp.blogspot.com/-ytAqPVXoRDM/UIXIEydfLKI/HwA/tnbOsi1iI4o/s1600/UD%2BI.bmp


Wow, that's interesting!


Have an happy Easter.


Happy Easter to you, too!

Cheers,

Marc




--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/flip-clef-at-end-of-line-only-tp202312p202314.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


flip clef at end of line only

2017-04-15 Thread Marc Hohl

Hi list,

I am working on a little piece that's played as written;
after that, the musician has to turn the page upside down and play the
resulting notes.

I managed to get the clef displayed at the beginning and the end of each 
line, and I can flip the clef ;-)


Unfortunately, overriding the Clef.stencil at the end of the line 
changes the apperance for the clef in the next line, too.


---

\version "2.19.0"

#(define-markup-command (flip layout props arg)
(markup?)
   (interpret-markup layout props
 (markup #:concat (#:null #:scale (cons -1 -1) #:line (arg)

global = {
  \repeat unfold 4 {
s1 * 4 |
\once\override Staff.BarLine.allow-span-bar = ##t
\once\override Staff.Clef.stencil = #(lambda (grob)
  (grob-interpret-markup grob #{ \markup\flip\musicglyph 
#"clefs.G" #}))

\break
}
}

melody = {
  \repeat unfold 16 { c'4 4 4 4 }
}

\layout {
  \context {
\Staff
explicitKeySignatureVisibility = ##(#t #f #t)
explicitClefVisibility = ##(#t #f #t)

\override Clef.break-visibility = ##(#t #f #t)
\override KeySignature.break-visibility = ##(#t #f #t)
  }
}

\score {
  \new Staff << \global \melody >>
}

---


Is there an easy way to detect whether the clef is actually at the end 
of a line, so that I can write (in pseudo-code)


if (at-end-of-line)
   rotate the clef
else
   print the clef
fi

Thanks in advance,


Marc
\version "2.19.0"

#(define-markup-command (flip layout props arg)
(markup?) 
   (interpret-markup layout props
 (markup #:concat (#:null #:scale (cons -1 -1) #:line (arg)

global = {
  \repeat unfold 4 { 
s1 * 4 |
\once\override Staff.BarLine.allow-span-bar = ##t
\once\override Staff.Clef.stencil = #(lambda (grob) 
  (grob-interpret-markup grob #{ \markup\flip\musicglyph #"clefs.G" #}))
\break
}
}

melody = { 
  \repeat unfold 16 { c'4 4 4 4 }
}

\layout {
  \context {
\Staff
explicitKeySignatureVisibility = ##(#t #f #t)
explicitClefVisibility = ##(#t #f #t)

\override Clef.break-visibility = ##(#t #f #t)
\override KeySignature.break-visibility = ##(#t #f #t)
  }
}

\score {
  \new Staff << \global \melody >>
}
  


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


Re: How to read a error message?

2017-03-14 Thread Marc Hohl

Am 14.03.2017 um 08:49 schrieb Scoutladen - Ralph Fröhlich:

Hi,

hope to find some informations here about reading error messages

Example:

Processing `.../file.ly'
Parsing...
.../file.ly:16:30: error: unrecognized string, not in text script or
\lyricmode
  fis8 fis fis fis d d d4 g (
 h) h h8 h8
.../file.ly:16:33: error: unrecognized string, not in text script or
\lyricmode
  fis8 fis fis fis d d d4 g (h)
h h8 h8

Where can I find a short description?


I cannot answer this in general, but this looks like using german note 
names without declaring it first.


Do you have

\language "deutsch"

stated in your input file?

HTH,

Marc



Best regards
Ralph





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


Re: ANN: Frescobaldi 2.20.0, Frescobaldi 3.0.0, python-ly 0.9.5

2017-03-08 Thread Marc Mouries
I get this error when I run Frescobaldi 3.0.0 on Windows 7.


​

On Tue, Mar 7, 2017 at 3:46 PM, Klaus Blum  wrote:

> Thanks to everyone who helped to make this wonderful tool available for
> Windows as well!
>
> However... I installed Frescobaldi 3.0.0 with the provided Windows
> installer, and instead of the music view, I get a simple "Could not load
> the
> popplerqt5 module".
> Sorry if this is a stupid question, but I have absolutely no clue:
> What do I have to do to have this available in Windows? Any installation
> informations are related to Linux.
>
> Thanks for any help,
> Klaus
>
>
>
>
> --
> View this message in context: http://lilypond.1069038.n5.
> nabble.com/ANN-Frescobaldi-2-20-0-Frescobaldi-3-0-0-python-
> ly-0-9-5-tp200225p200849.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
>



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


Re: LilyBin embedded [WAS: New LilyPond website]

2017-02-22 Thread marc
Using a subdomain as proposed (live.lilypond.org), the whole lilybin stuff could be outsourced to a different server ... finding someone who provides this possibility/server is another story.But I like the "try it!" approach very much.MarcAm 22.02.2017 10:49 vorm. schrieb Phil Holmes :






We have a policy of not using server CPU for 
processing on lilypond.org, because it's donated to us at no cost - so I don't 
think lilybin could be hosted on the lilypond.org site.
--Phil Holmes
 
 

  - Original Message - 
  From: 
  tisimst 
  To: lilypond-user@gnu.org 
  Sent: Tuesday, February 21, 2017 4:55 
  PM
  Subject: Re: LilyBin embedded [WAS: New 
  LilyPond website]
  
  
  
  On Mon, Feb 20, 2017 at 9:41 AM, Phil Holmes-2 [via 
  Lilypond] <[hidden email]> wrote:
   
Lilypond.org gets around 700 sessions per day, 
according to Google analytics.
--Phil Holmes
 
 

  - Original Message - 
  From: [hidden email] 
  To: [hidden email] ; [hidden email] 
  Cc: [hidden email] ; [hidden email] 
  Sent: Monday, February 20, 2017 3:58 
  PM
  Subject: Re: LilyBin embedded [WAS: 
  New LilyPond website]
  
  I'm primarily responsible for LilyBin. A year or so 
  ago, Timothy Gu (copied) and I got LilyPond running in AWS Lambda, which 
  should be able to handle plenty of traffic. I get 266,667 seconds of free 
  computation time per month from Amazon. We used 38,094 seconds in 
  January for 18,398 requests, meaning we should be able to handle—very 
  roughly estimating—100,000 more requests per month. How many visitors does 
  lilypond.org get? 
  
  The LilyBin UI isn't made to be embeddable, but could be made so. I'd 
  probably recommend just wiring up CodeMirror and PDF.js yourself rather than trying to show LilyBin in 
  an iframe.
  
  I'll be happy to work with you if you want a LilyBin-powered 
  demo on the home page!
  I love the idea of being able to let visitors try out LP code right there 
  when browsing the home page. I wonder if a dedicated subdomain (e.g., live.lilypond.org) would be more appropriate? 
  
  Here's what I'm thinking. 
  
  Each LP example in the docs has a real source file associated with it, 
  right? So,...
  
  1. Put LilyBin functionality at live.lilypond.org
  2. Put all the doc's source files in a directory structure that the new 
  site can access (ideally, through a web-navigate-able directory tree)
  3. Place a "Try this live!" link next to each score example in the docs 
  (or the image hyperlink) that points to the specific file in #2 that the 
  visitor can play around with (but can't save over), rather than just linking 
  to a plain text file
  
  This is a wish list, of course, but could be a very cool feature for 
  new/potential users wanting to get their feet wet.
  
  Best,
  Abraham
  
  View this message in context: Re: 
  LilyBin embedded [WAS: New LilyPond website]Sent from the User mailing list 
  archive at Nabble.com.
  
  

  ___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


Re: markup functions

2017-02-18 Thread Marc Mouries
this works:


#(define-markup-command (instruct layout props text) (markup?)
  (interpret-markup layout props
#{
 \markup \italic \magnify #0.7 #text

#}))


mkTenor = \markup { \instruct "tenor"}


\relative c' {
 d1-\mkTenor
}


=Marc

On Sat, Feb 18, 2017 at 9:52 AM, Rob Torop  wrote:

>
> I have a bunch of repeated things like this
>
>d f \mark \markup \italic \magnify #0.7 "(tenor & trp.)"  r16
>
> where I put a little instruction over the melody
>
> I'd like to have a little function to call instead of \mark \markup
> \italic \magnify #0.7 "blah", with the "blah" as a parameter.
>
> So I tried this
>
> #(define-markup-command  (instruct layout props text )(markup?)
>(intepret-markup layout  props
>#{
> \markup \italic \magnify #0.7 #text
>#}))
>
> and then put this in my code
>
> d f \mark \instruct "(tenor & trp.)"  r16
>
>
> But it doesn't like it!
>
> I am sure this is very easy, and maybe I should be using a music-function
> instead of the markup command definition.
>
> Can someone help me?
>
>
>
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>
>


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


Re: ANN: Frescobaldi 2.20.0, Frescobaldi 3.0.0, python-ly 0.9.5

2017-02-17 Thread Marc Mouries
Thank you for your work. Will you provide a .dmg file for MacOS?

On Fri, Feb 17, 2017 at 4:58 AM, Wilbert Berendsen  wrote:

> Dear friends,
>
> I just released the source packages for Frescobaldi 2.20.0, Frescobaldi
> 3.0.0 and python-ly 0.9.5 today. (I couldn't way until my birthday early
> March :-))
>
> Frescobaldi 2.20.0 provides a new Manuscript viewer, contributed by
> Urs Liska and Peter Bjuhr, some smaller features, improvements, updated
> translations and bug fixes.
>
> Frescobaldi 3.0.0 is feature-wise the same, but requires Python3 and
> Qt5. Qt5 has support for Retina displays and gestures, and Frescobaldi
> 3.0.0 already uses them, which should provide a better Music View image
> quality. Thanks to David Rydh for implementing this!
>
> Frescobaldi 3.x is the branch (master) where new development will be
> done.
>
> Development of Frescobaldi 2.x (branch v2.x) concentrates on bugfixing
> and backporting important features that can be backported from the 3.x
> branch, supporting older platforms that do not provide Python3 or Qt5.
>
> Python-ly 0.9.5 has seen some bug fixes and improvements, and is
> recommend to use, although Frescobaldi works well with 0.9.4.
>
> Thanks go to all the translators and contributors!
> Enjoy!
>
> Wilbert
>
> https://pypi.python.org/pypi/python-ly
> https://github.com/wbsoft/frescobaldi/releases
>
>
> --
> Wilbert Berendsen (www.wilbertberendsen.nl)
>
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>



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


Re: New LilyPond website

2017-02-09 Thread Marc Mouries
+ 1 to include lilybin not just a link but include the ability to try
lilypond directly from the browser without having to open another window.
Like the Haskell or like the ruby lang website (
https://www.ruby-lang.org/en/  see the link on the right "Try Ruby") .

2 user stories

1. a ) as a visitor with Javascript enabled, I see a lilypond expression "
c d e f g a b c'" on the left and on the right i can see the result that
was generated.
1. b)  as a visitor with Javascript enabled, I can change the lilypond
expression and automatically the score on the right is updated.

2) as a visitor with Javascript disabled, I can browse the lilypond site,
Instead of seeing the "lilybin" expression i can see an example or another
image, or an invitation to go to lilybin.com

lilybin.com could be included into the official website as part of its
new design. Something like "Try it - Type Haskell expressions in here"
in Haskell website https://www.haskell.org/

On Thu, Feb 9, 2017 at 9:24 PM, John Roper  wrote:

> in total. After enabling scripts this problem vanishes.
>>
>> In Vivaldi I don't see the background image at the top of the page at all.
>>
>
> I test using all major browsers including Vivaldi (my main browser) and I
> am not getting any of these issues.
>
> --
> John Roper
> Freelance Developer and Simulation Artist
> Boston MA, USA
> http://jmroper.com/
>
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>
>


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


example(s) of the power of Lilypond

2017-02-09 Thread Marc Mouries
Lilypond is a very powerful music score writing software. Today examples of
this power are buried in the documenation.

I'd like to see featured on the website, examples of the power of Lilypond.
To select the best or most useful, I'd like to ask the community what is/
are your best example(s) of the power of Lilypond?

Are there examples from the documentation or from the LSR ( Lilypond
Snippet Repository:
http://lsr.di.unimi.it/LSR/Browse) that demonstrate how lilypond enables
users to write music in a shorter amount of time or write complex music
that would be more difficult to write in other music notation software?


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


Re: New LilyPond website

2017-02-09 Thread Marc Mouries
First, I want to thank John for his contribution. The new design looks more
modern and gives a feeling that lilypond's community is alive.

I deal with UI at work on a daily basis and no two persons will agree on
the look and feel of a website of application. So IMHO we should focus on
making sure that the new website template mechanism can integrate with
lilypond's development flow.

For writing music, I alternate between MuseScore and Lilypond. What makes
me come back to lilypond is the power of the text interface and scripting
capabilities. And let's not forget Frescobaldi. I had written a MacOS app
for lilypond and I know how much work it is.

So one think I'd like to see more visible in the lilypond website is the
power of Lilypond's scripting capabilities. I'd like to see featured
examples from the LSR ( Lilypond Snippet Repository:
http://lsr.di.unimi.it/LSR/Browse) that show examples that are difficult or
would take more time to write in other music notation software.

I'll ask the list for their input and may be some response could be
featured.

PS: on the home page of the new website , we can read "Excellent Classical
Engraving". I'd like to  replace "Classical" something else: One
suggestion:  "Free Music Score Engraving "
- Professional

Some notes on the new layout:
1) The favicon.ico file is missing
2) the header takes too much real estate that could be used to feature some
key


I'd suggest to put everyone's feedback or action items in a google sheet
for everyone to easily review, stay up to date. Google sheets or another
similar system will be helpful for prioritizing the feedback.

-Marc

On Thu, Feb 9, 2017 at 10:49 AM, Simon Albrecht 
wrote:

> On 09.02.2017 08:35, Mats Behre wrote:
>
>> On 2017-02-09 07:41, Werner LEMBERG wrote:
>>
>>> . I like the sans-serif font more that you've used in the previous
>>>version.  Please restore it.
>>>
>> I would actually recommend not specifying a specific font at all. This
>> leaves the font selection to the user (and we will not have to debate the
>> choice endlessly ...).
>>
>
> I disagree. The choice of font conveys a lot of meaning, and we wouldn’t
> want the website to make a bad (or misleading) impression just because the
> browser by default uses a hideous font and the user didn’t bother to change
> that.
>
> Best, Simon
>
>
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>



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


Re: Experience with several import filters

2017-01-03 Thread Marc Mouries
abc2ly: I use it from time to time to convert Celtic tunes. It works but
converts the chords as markup and starting from scratch in lilypond happens
to be faster.

On Tue, Jan 3, 2017 at 7:23 PM, Noeck  wrote:

> Hi,
>
> > midi2ly
>
> I used it for freely licensed scores on cpdl or imslp which are not
> created in LilyPond and too ugly to use in a choir. Sometimes midi files
> are published together with the pdf or the proprietary format. The
> result was never usable directly (all voices in one staff without
> collision-avoidance/voice-association, no or bad lyrics, wrong key,
> scaled durations, i.e. a4*234/128 s4*22/128 instead of a2 - the latter
> problem might by fixed by finding an appropriate quanization).
>
> The problems ranged from ly files that are easily fixed to some cases
> where it was much faster to rewrite everything from scratch. I guess it
> depends on the application writing the midi file. I never systematically
> cared about that.
>
> Summary: Most of the time, midi2ly gave me a file from which I could
> extract single voices, fix some errors and put them into my own ly
> skeleton and it was worth having the tool.
>
> Cheers,
> Joram
>
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>



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


Re: Ties across voices

2016-12-13 Thread Marc Hohl

Am 13.12.2016 um 11:11 schrieb Peter Toye:

Urs, Andrew, Simon

Thank you all very much for the solutions. I now have 4 ways to create
what I need!

My next task - to get ties across enharmonics, which I gather is
impossible and I have to use slurs.


There is a regtest for this, so it looks as if lilypond accepts ties 
between enharmonic notes at least since 2.19.16.


\version "2.19.16"

\header { texidoc = "
LilyPond should accept a tie between notes which are
enharmonically identical.
" }

\score
{
  {
\time 3/4
\repeat unfold 3 {
  cis'4~ des'
}
  }
  \layout { ragged-right = ##t }
  %\midi {}
}


HTH,

Marc


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


Re: Non-lyric text in lyrics

2016-12-05 Thread marc
Am 05.12.2016 12:38 nachm. schrieb Tom Cook :I've googled for this, and looked through the lilypond snippets repository, and can't find anything.I'm trying to insert instructions mixed up with lyrics.  Actually its just the name of the singer, but the name changes half-way through and changing vocalName doesn't seem to do the right thing.I use \set stanza = "Alice: "... Lyrics for Alice ...\set stanza = "Bob: "... Lyrics for Bob ...\set stanza = "both: "... Lyrics for both ...for such situations.HTH, Marc .___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


hide time signature in markup command

2016-11-21 Thread Marc Mouries
i use a shorthand mark up command to insert music snippets into text.
See below definition "WriteScore"

I'd like to add a command to hide the time signature
\override Staff.TimeSignature #'stencil = ##f

In scheme the command should be something like this :
  (make-music 'OverrideProperty
'pop-first   #t
'grob-value  #f
'grob-property-path  (list (quote stencil))
'symbol  'TimeSignature

Where can this be inserted?

%=
% WRITE SCORE
%
%=
#(define-markup-command (writeScore layout props music) (ly:music?)
   (let ((score (ly:make-score music))
 (score-layout (ly:output-def-clone $defaultlayout)))
 ;; possibly, change some settings in the \layout block
 %(ly:output-def-set-variable! score-layout 'indent 0)
 ;; add the \layout block to the score
 (ly:score-add-output-def! score score-layout)
 (interpret-markup layout props (markup #:score score) )
 ))


snippet = { c d e}
\markup {
  "Example:" \writeScore \snippet
}

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


Re: InstrumentName on right side

2016-10-20 Thread Marc Hohl

Hi Harm,

I cannot help with the instrument name problem, but ...


Anyway, to give an imprssion a pdf is attached.


This is impressive!

Marc


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


Re: BendSpanner-engraver

2016-10-20 Thread Marc Hohl

Am 13.09.2016 um 22:41 schrieb Thomas Morley:
[...]

2016-09-13 8:33 GMT+02:00 Marc Hohl :



I hope to find the source somewhere to provide you a scan of how it should
look like.


Would be great.



I finally found some examples, but the bend arrows are not quite 
"convincing" ...



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


Re: Help required with tuplets

2016-10-18 Thread Marc Hohl

Am 19.10.2016 um 08:14 schrieb Bernhard Kleine:

Hi,

I do not see what is wrong with the following extract which is
compilable but totally wrong.


I think you misunderstood the way \tuplet works:

\tuplet 3/2 is the way to go, because you want *3* notes to last as long 
as *2* notes normally do.


HTH,

Marc



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


Re: Trouble Combining Repeats and Closing Bars in tunes

2016-10-17 Thread Marc Hohl

Am 18.10.2016 um 05:24 schrieb Ben Beeson:

Hi,

I am looking at a 4 - part tune where the first and third parts are
repeated and the second and fourth parts are not repeated. Try as I
may, I cannot get Lilypond to put  the repeats and closing bars in
the right place when engraving the tune. The following is just about
as simple as I can get it and still show the issue.


If you use \repeat volta 2 { ... }
and then put a \bar "..." command afterwards, this bar command overrides
the repeat bar line – so in fact, the line is repeated internally for
lilypond, but you can't see it.

In this case, you'll have to define your own repeat bar line at the
beginning of your document:

#(define-bar-line ":|.-.|" ":|." ".|" "|.")

and use it like this:

\repeat volta 2 { ... }

\bar ":|.-.|"   \bar "|."


The way lilypond deals internally with repeats versus explicitly given
barlines is not optimal yet :-(

HTH,

Marc


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


Re: BendSpanner-engraver

2016-10-04 Thread Marc Hohl

Am 04.10.2016 um 10:58 schrieb David Kastrup:

Thomas Morley  writes:


warning: no notes to start a bend from found. If you want to bend
an open string, consider override/tweak like: TabNoteHead.bend-me = ##t


Hm, this text needs fixing, per current default open strings can't
serve as start _or_ end of a bend.


What about bending from behind the nut?  And of course, on a number of
electric guitars you have the infamous whammy bar...


That's true, but I think that it is a sensible default setting to 
exclude open strins *if* there are ways to enable that feature.


Marc






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


Re: Start of the first row of a staff

2016-09-20 Thread Marc Hohl

Am 21.09.2016 um 08:19 schrieb Marco Bagolin:

Hello all,
please, I need a help because I don't find a solution in the snippet
repository.
I need that the first line of the staff is aligned as subsequent lines,
NOT as the attached example.


Does

\paper {
  indent = 0
}

Do what you mean? Or am I misunderstanding your request?

Marc


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


Re: BendSpanner-engraver

2016-09-18 Thread Marc Hohl

Hi Harm,

Am 18.09.2016 um 12:38 schrieb Thomas Morley:

Hi Marc,

2016-09-13 22:41 GMT+02:00 Thomas Morley :

2016-09-13 8:33 GMT+02:00 Marc Hohl :



The dashed line would also be great in cases like those:

c'\3\startBend d'\3\stopBend~ d'\3 % bend up, no release, bent
note is tied

c'\3\startBend d'\3\stopBend~ d'\3~ d'\3\startBend c'\3\stopBend
% bend up, bent note is tied, release


Looks doable, I'll probably try the upcoming weekend.


Done.


Great!



Want the changed/extended code to play around with it?


I am a bit short of time at the moment, fiddling around with some
details of my latest theater project ... and starting teaching soon as
well ...


I'd prefer to solve that slow down first, otoh it's little effort to
do a new tarball.


If the estimated work on the slowdown is not that huge, I think it is ok
to get a grip on that first and release a new version afterwards.

Cheers,

Marc


Cheers, Harm




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


Re: BendSpanner-engraver

2016-09-17 Thread Marc Hohl

Hi Harm,

Am 14.09.2016 um 23:00 schrieb Thomas Morley:
[...]

In general I'd vote for those shortcuts, but to fall back to the
basic commands if needed.


I had some time to re-think my basic approach ... maybe you are right
and I think way too complicated in terms of taking each string into
account. Working with different TabVoices is probably easier in most cases.





Some years ago I had long discussions on the devel list concerning
the implementation of a string-bend-engraver (that would have had
to be done in C++ at this time), especially with Carl Sorensen, and
we came to the conclusion that a bend event is something that
happens *to a certain string*, therefore it is possible to bend a
string, keep it bent, bend another one, release it and then release
the first bent string again.

This is rather complicated stuff, but some guitarists do stuff of
this kind ;-)


I partly disagree, you can bend a single string or an EventChord
(speaking lilypondish), meaning all strings are bended starting at
the same musical moment ending at another but same musical moment for
all strings. This is supported already.


Ok, this was probably a misunderstanding: I can either bend one string
or many strings at once, but you can manipulate the strings
independently ... as you proved with your concept of using distinct
TabVoices, this works already.

[...]


So I may be wrong, scans of printed TabStaffs would help me a lot.


still searching ... ;-)


Additionally, I'm not sure, whether we _should_ make every style
available, though. My limited inside lets me think every tab-editor
creates his own style ad hoc and on the fly...


Well, my concerns were not about styles, but about usability.
You convinced me that going for different TabVoices is the way to go!

[...]


The result: they never bothered to learn reading notes. :((


Yes, that's true.


Ofcourse you know, tabs _do_have disadvantages: choosing other
strings for fingerings require a _new_ tab , polyphonics are always
difficult to print. To mention the most prominent ones...


Therefore I go for a combination of normal Staves and TabStaff, and I am
responsible for the current behaviour of the TabStaff: numbers only, no
stems and stuff ;-)


Cheers,

Marc





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


Re: calculation of the total duration of a score

2016-09-16 Thread Marc Hohl

Hi Jan-Peter,

Am 16.09.2016 um 08:40 schrieb Jan-Peter Voigt:

Hi Marc,

nice to hear, that you have a workflow. For the record I noted two
things in the file. (And if there's some spare time, I might further
work on it.)


Thanks for the continuing work on that issue!



1. The durations are tagged by score and stored in an a-list, so you
can first collect durations in multiple scores and display them later
with a score-unique tag.


The tagging works fine, but as soon as I have a layout block in the
\score creating the exact midi file, lilypond prints it :-(

Moving the callback from \layout {} to \midi {} yields to

Programming error: Cannot find key `scoreBACH' in alist, setting to `0'.

So I still have to use my solution with the auxiliary files, which is no
problem at all.

> 2. There are acknowledgers for volta-brackets and barlines. It should
> be possible to use that information for acknowledging volta repeats
> and ajusting the duration accordingly. Those grobs are created by
> engravers, but if one creates the barlines *not* with \repeat volta,
> but with \bar ".|:", it should be acknowledged too.

This sounds promising, but IMHO it would be easier to get the engraver 
to work somehow on a \score with a \midi { } block only and transferring 
the duration to another \score.



Cheers,

Marc







Cheers Jan-Peter


Am 15.09.2016 um 08:10 schrieb Marc Hohl:

Am 14.09.2016 um 14:24 schrieb Marc Hohl: [...]

I thought of writing the duration to a external file to be read
from within the markup call in the score to be printed, but did
not follow this route any further yet.


Update: a simple test file shows that this works.

I can

- compute the total duration of a file designed for midi output
only by means of your engraver - write the duration to a file and -
read that string while processing the "print-only" file.

Merging that stuff together with some Makefile should be
straightforward, I hope ;-)

And it has the advantage that some MIDI-related changes do not
appear in the printed score, but the duration will be updated
accordingly.

Cheers,

Marc


___ 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: calculation of the total duration of a score

2016-09-14 Thread Marc Hohl

Am 14.09.2016 um 14:24 schrieb Marc Hohl:
[...]

I thought of writing the duration to a external file to be read from
within the markup call in the score to be printed, but did not follow
this route any further yet.


Update: a simple test file shows that this works.

I can

- compute the total duration of a file designed for
  midi output only by means of your engraver
- write the duration to a file and
- read that string while processing the "print-only" file.

Merging that stuff together with some Makefile should be 
straightforward, I hope ;-)


And it has the advantage that some MIDI-related changes do not appear in 
the printed score, but the duration will be updated accordingly.


Cheers,

Marc


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


Re: BendSpanner-engraver

2016-09-14 Thread Marc Hohl

Hi Harm,

Am 13.09.2016 um 22:41 schrieb Thomas Morley:
[...]

Even if I wouldn't want to take one I'm forced to: my regular job
started after summer-break :((


For me, too :( And -as ever– the TODO list for doing stuff within the 
summer break is still not completely done.

[...]

The customization features are great! Also, I like the dashed line of the
pre-pend-hold use cases.

[...]


Looks doable, I'll probably try the upcoming weekend.#


Great!




[...]


Well, we can't expect a user to find his way to this coding, maybe
some predefined function, will do it!?


I hope to find the source somewhere to provide you a scan of how it should
look like.


Would be great.


Still searching ...




---

Another idea/thought/proposal: IIUC, the engraver does not take the string
numbers into account. I think this would be a good feature from a user's
point of view:

c'\startBend d'\stopBend\startBend c'\stopBend

could then probably be simplified to

c'\3\startBend d'\3 c'\3\stopBend


You may have noticed the file bend-music-functions.ly being remarkable short.
Coding shortcuts and appending them to the bend-music-functions-file
is on the TODO

Something at the lines of:

[...]

This is a very first shot, more a proof-of-concept...


This is possible, but I don't think that shortcuts are sufficient here.

Some years ago I had long discussions on the devel list concerning the 
implementation of a string-bend-engraver (that would have had to be done 
in C++ at this time), especially with Carl Sorensen, and we came to the 
conclusion that a bend event is something that happens *to a certain 
string*, therefore it is possible to bend a string, keep it bent, bend 
another one, release it and then release the first bent string again.


This is rather complicated stuff, but some guitarists do stuff of this 
kind ;-)


[...]

I considered it already.
Though, the engraver mimics the behaviour of TextSpanner.
And you can't start a TextSpanner inside EventChord.

I didn't figure how to do it different.


We discussed about that as well ;-) I tried to follow the slur engraver, 
but this is one of the more complicated engravers, so I finally gave up ;-)


Technically speaking, the mimics of the slur engraver seem ideal if you 
see it as a per-string basis: you cannot have two simultaneous bends on 
one string, but you can bend each string independently.



I have a suspicion about the slow down...
Will test as soon as I have some spare time, though it's a highly
complex and huge coding.
Sometimes I feel like touching the limits of my current coding skills.
Proceeding means to do all very carefully and thoroughly and _not_ in
any hurry ;)


Of course! As already said, I was working on the concept of a 
string-bend-engraver for about 1 1/2 years or so, and the ideas and 
concepts are still (mostly) available. I'd be glad to help you with this 
task, but some private messages in German language could be perhaps more 
effective here ... ;-)



[...]


Although, guitar-player myself I never use TabStaff
rofl


My pupils are fond of tablatures, easy available, easy to understand ...
And trying to write down a contemporary guitar solo with normal staves 
only is a bit of a nightmare ;-)


Cheers,

Marc


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


Re: calculation of the total duration of a score

2016-09-14 Thread Marc Hohl

Hi Jan-Peter,

Am 14.09.2016 um 13:18 schrieb Jan-Peter Voigt:

Hi Marc,

I am busy today, so I will look into your example later.


No problem!


In short: Repeats are not taken into account right now.


Yes. Therefore I used the \unfoldRepeats/\midi-combination, but the
duration computed in one \score is not visible in the other one.

I thought of writing the duration to a external file to be read from
within the markup call in the score to be printed, but did not follow
this route any further yet.


I thought of a factor, that is set, when a repeat starts. But I don't
know yet, how to deal with alternatives and repeats with more than
two loops. Probably the engraver might look for barlines. Still it
needs to recognize alternatives with its possible repetitions (e.g.
1-3).


I don't know whether it is doable to implement the stuff that
\unfoldRepeats does within the engraver. Detecting the beginning and the
end of a repeated section should not be that hard, but the bookkeeping
is probably tricky in terms of alternatives, as you pointed out.


We'll crack that nut :-)


Sounds probising, thank you very much!

Marc


Jan-Peter

Am 14. September 2016 12:03:43 MESZ, schrieb Marc Hohl
:

Hi Jan-Peter,

ok, so I played around with your engraver. It does exactly what it
needs to do, but somehow I am not able to get everything to work.

I'll try to explain:

Let's say that I have some music:

music = { ...stuff... \repeat volta 2 { ... more stuff ... } }

and want it displayed nicely:

\score { \new Staff { \music } }

If I include your engraver here, the calculated time is wrong,
because the repeats are not taken into account.

So I go for the midi-block

\score { \new Staff { \unfoldRepeats \music } \midi { \context {
\Score \consists ...your code here ... } } }


But it looks like the duration variable is visible within its score
only, see the attached compilable example.

How can I obtain the correct duration in combination with a compact
score?

Thanks in advance,

Marc Am 13.09.2016 um 10:24 schrieb Jan-Peter Voigt:

Hi Marc,

you already received some solutions, but I stumbled across this
thread and just want to quickly show my engraver - perhaps it also
helps.

It doesn't read repeats right now, but this may be solved with
\unfoldRepeats and the engraver placed in the midi-block. The
duration-markup-command relies on a global variable and a delayed
stencil - this will not work with multiple scores, as only the
duration of the last score will be displayed. But that is manageable,
if needed.

HTH Jan-Peter

Am 05.09.2016 um 11:01 schrieb Marc Hohl:

Hi list,

I have a couple of songs in my latest theatre project. It would be
nice to have something like "duration: 3'22''" at the end of each
song.

Doing this by hand is straightforward:I generate a midi file that
sounds accurate and let it play by timidity – but IMHO it would be
less tedious and less error-prone if lilypond were capable of doing
these calculations itself.

Tempo indications and meter changes have to be taken into account,
so this is probably doable with a special engraver only IIUC.

Has someone else already done something like this? I have no
experience in writing scheme engravers, so any hint would be highly
appreciated.

Thanks in advance,

Marc



 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


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


Re: calculation of the total duration of a score

2016-09-14 Thread Marc Hohl

Hi Jan-Peter,

ok, so I played around with your engraver. It does exactly what it needs 
to do, but somehow I am not able to get everything to work.


I'll try to explain:

Let's say that I have some music:

music = {
 ...stuff...
 \repeat volta 2 { ... more stuff ... }
}

and want it displayed nicely:

\score {
  \new Staff { \music }
}

If I include your engraver here, the calculated time is wrong, because 
the repeats are not taken into account.


So I go for the midi-block

\score {
  \new Staff { \unfoldRepeats \music }
  \midi {
 \context {
\Score
\consists ...your code here ...
 }
   }
}


But it looks like the duration variable is visible within its score 
only, see the attached compilable example.


How can I obtain the correct duration in combination with a compact score?

Thanks in advance,

Marc
Am 13.09.2016 um 10:24 schrieb Jan-Peter Voigt:

Hi Marc,

you already received some solutions, but I stumbled across this thread
and just want to quickly show my engraver - perhaps it also helps.

It doesn't read repeats right now, but this may be solved with
\unfoldRepeats and the engraver placed in the midi-block.
The duration-markup-command relies on a global variable and a delayed
stencil - this will not work with multiple scores, as only the duration
of the last score will be displayed. But that is manageable, if needed.

HTH
Jan-Peter

Am 05.09.2016 um 11:01 schrieb Marc Hohl:

Hi list,

I have a couple of songs in my latest theatre project. It would be nice
to have something like "duration: 3'22''" at the end of each song.

Doing this by hand is straightforward:I generate a midi file that sounds
accurate and let it play by timidity – but IMHO it would be less tedious
and less error-prone if lilypond were capable of doing these
calculations itself.

Tempo indications and meter changes have to be taken into account, so
this is probably doable with a special engraver only IIUC.

Has someone else already done something like this? I have no experience
in writing scheme engravers, so any hint would be highly appreciated.

Thanks in advance,

Marc

___
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



\version "2.19.47"

%%% engraver definitions

% format seconds as min:sec
#(define-public (format-time dur)
   (let* ((minutes (floor (/ dur 60)))
  (seconds (round (- dur (* 60 minutes)) ) ))
 (format "~2'0d:~2'0d" (inexact->exact minutes) (inexact->exact seconds))
 ))

% complete duration of score - set after finalizing
duration = 0

% markup command to display complete time
#(define-markup-command (duration layout props)()
   (let* ((gauge-stencil (interpret-markup layout props "00:00"))
  (x-ext (ly:stencil-extent gauge-stencil X))
  (y-ext (ly:stencil-extent gauge-stencil Y)))
 (ly:make-stencil
  `(delay-stencil-evaluation
,(delay (ly:stencil-expr
 (interpret-markup layout props (format-time duration))
 )))
x-ext y-ext)
 ))
 
calc-duration-engraver = 
#(lambda (context)
   (let ((dur 0) ; duration in seconds
 (start (ly:make-moment 0)) ; last calc-time the duration was calculated
 )
 ; function to calculate duration in seconds since last calc-time
 (define (calc-dur)
   (let ((diff (ly:moment-sub (ly:context-now context) start) ) ; moment since last calc-time
 (tempo (ly:context-property context 'tempoWholesPerMinute (ly:make-moment 60/4)) )) ; current tempo
 (set! start (ly:context-now context)) ; set calc-time
 (set! dur ; add 60*(diff/tempo) to duration
   ; if tempo is 120 BPM and 120/4 elapsed,
   ; we have 60 * 120/4 * 4/120 = 60 seconds
   (+ dur
 (* 60
   (exact->inexact (ly:moment-main (ly:moment-div diff tempo)))
   )))
 dur
 ))
 (make-engraver
  (listeners
   ((tempo-change-event engraver event)
(calc-dur) ; calculate duration on every tempo-change-event (new tempo will be set after we listened to the event)
(ly:message "duration: ~A" (format-time dur))
)
   ) ; listeners
  ((finalize trans)
   (calc-dur) ; last calculation of duration
   (set! duration dur) ; set global duration (for the markup command)
   (ly:message "duration: ~A final" (format-time dur))
   )
  )))

%%% actual music example

music = {
  \tempo 4 = 60
  c'4 c' c' c'
  \rep

Re: calculation of the total duration of a score

2016-09-13 Thread Marc Hohl

Hi Jan-Peter,

seems to do exactly what I need, so thanks for sharing ... I'll give it 
a try tomorrow, when I have some time to work on my project again.


Cheers,

Marc

Am 13.09.2016 um 10:24 schrieb Jan-Peter Voigt:

Hi Marc,

you already received some solutions, but I stumbled across this thread
and just want to quickly show my engraver - perhaps it also helps.

It doesn't read repeats right now, but this may be solved with
\unfoldRepeats and the engraver placed in the midi-block.
The duration-markup-command relies on a global variable and a delayed
stencil - this will not work with multiple scores, as only the duration
of the last score will be displayed. But that is manageable, if needed.

HTH
Jan-Peter

Am 05.09.2016 um 11:01 schrieb Marc Hohl:

Hi list,

I have a couple of songs in my latest theatre project. It would be nice
to have something like "duration: 3'22''" at the end of each song.

Doing this by hand is straightforward:I generate a midi file that sounds
accurate and let it play by timidity – but IMHO it would be less tedious
and less error-prone if lilypond were capable of doing these
calculations itself.

Tempo indications and meter changes have to be taken into account, so
this is probably doable with a special engraver only IIUC.

Has someone else already done something like this? I have no experience
in writing scheme engravers, so any hint would be highly appreciated.

Thanks in advance,

Marc

___
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: BendSpanner-engraver

2016-09-12 Thread Marc Hohl

Hi Harm, hi list,

I did some simple tests and looked through the code in more detail:

---

The customization features are great! Also, I like the dashed line of 
the pre-pend-hold use cases.


The dashed line would also be great in cases like those:

c'\3\startBend d'\3\stopBend~ d'\3
% bend up, no release, bent note is tied

c'\3\startBend d'\3\stopBend~ d'\3~ d'\3\startBend c'\3\stopBend
% bend up, bent note is tied, release

---

In my archives, I found a real-world-example that does not (yet) work:

< g'\3 b'\2 >4\startBend
< a'\3 c''\2 >\stopBend\startBend
< g'\3 b'\2 >2\stopBend

It is not that easy to play on guitar, but the lower string is raised by 
two semitones, whereas the upper string is raised by one semitone.


I hope to find the source somewhere to provide you a scan of how it 
should look like.


---

Another idea/thought/proposal: IIUC, the engraver does not take the 
string numbers into account. I think this would be a good feature from a 
user's point of view:


c'\startBend d'\stopBend\startBend c'\stopBend

could then probably be simplified to

c'\3\startBend d'\3 c'\3\stopBend

if the engraver internally takes care of each string seperately.
I don't know how hard an implementation would be, but tied notes on a 
certain string can be detected automatically, so the dashed "keep this 
note bent"-line replaces a tied note.

Perhaps the slow-down in the bend::remove-certain-tab-note-heads routine
can be avoided if bend events are handled specifically for certain strings:

< g\3~ b\2~ fis'\1\startBend > < g\3 \b\2 g'\1\stopBend >

---

I do hope my feedback does not sound too negative, this is a huge amount 
of work you have done for us guitar players! Thanks a lot!


Cheers,

Marc

Am 11.09.2016 um 18:36 schrieb Marc Hohl:

Hi Harm,

I did not have much time to fully test it, but wow.
This is awesome! Kudos to you!

I'll give a more detailed report after some tests, but this may take a
while.

Cheers,

Marc

Am 11.09.2016 um 11:53 schrieb Thomas Morley:

Hi all,

as result of my private None-Google-Summer-of-Code, I'd like to
announce a BendSpanner-engraver.

It's based on our scheme-text-spanner.ly from the reg-test and the
fabulous work of Marc Hohl and his bend.ily
Thanks, to Stephen MacNeil who provided a couple of images from
printed editions.


A new grob, BendSpanner, is defined. Line-breaks, skylining, dashed
line for 'pre-bend-hold and a lot more work out of the box.
It's highly customizable. In the demo some possibilities are
demonstrated. More in the test-files.
Currently it works only for TabStaff, coding something for
default-Staff/Voice is on the TODO-list.

Though, currently it's pretty slow in compilation. The reason for this
slugginess
is the feature not to bend open strings and to ex- or include notes to
bend,
more precisley it's the definiton for
`bend::remove-certain-tab-note-heads'.

Not sure how to improve this, any hint is highly appreciated.


Ofcourse this is the first time the code is made public.
I expect several not yet noticed bugs or missing features.

Please report back.


Cheers,
  Harm



___
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: BendSpanner-engraver

2016-09-11 Thread Marc Hohl

Hi Harm,

I did not have much time to fully test it, but wow.
This is awesome! Kudos to you!

I'll give a more detailed report after some tests, but this may take a 
while.


Cheers,

Marc

Am 11.09.2016 um 11:53 schrieb Thomas Morley:

Hi all,

as result of my private None-Google-Summer-of-Code, I'd like to
announce a BendSpanner-engraver.

It's based on our scheme-text-spanner.ly from the reg-test and the
fabulous work of Marc Hohl and his bend.ily
Thanks, to Stephen MacNeil who provided a couple of images from
printed editions.


A new grob, BendSpanner, is defined. Line-breaks, skylining, dashed
line for 'pre-bend-hold and a lot more work out of the box.
It's highly customizable. In the demo some possibilities are
demonstrated. More in the test-files.
Currently it works only for TabStaff, coding something for
default-Staff/Voice is on the TODO-list.

Though, currently it's pretty slow in compilation. The reason for this
slugginess
is the feature not to bend open strings and to ex- or include notes to bend,
more precisley it's the definiton for `bend::remove-certain-tab-note-heads'.

Not sure how to improve this, any hint is highly appreciated.


Ofcourse this is the first time the code is made public.
I expect several not yet noticed bugs or missing features.

Please report back.


Cheers,
  Harm



___
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


  1   2   3   4   5   6   7   8   9   10   >