Re: considering getting a new mac that has the new M chip; does Lilypond install/run ok?

2021-09-24 Thread Kenneth Wolcott
Yeah, I don't use Frescobaldi, just Lilypond.

On Fri, Sep 24, 2021 at 5:52 PM Mark Probert  wrote:
>
> You wrote:
> >
> > I'm considering getting a new mac that has the new M chip; does
> > Lilypond install/run ok?
> >
> Perfectly. The "trick" is to install it using MacPorts not Homebrew. I
> have been using 2.22.1 with added fonts and stuff and it works
> perfectly.
>
> Oh. This is the command-line version, not the GUI, but for me that -is-
> lilypond :-)
>
> This on a 2021 Mac Mini M1 with 16Gb
>
> Hope this helps
>
>  ..mark.



Re: considering getting a new mac that has the new M chip; does Lilypond install/run ok?

2021-09-24 Thread Mark Probert
You wrote:
> 
> I'm considering getting a new mac that has the new M chip; does
> Lilypond install/run ok?
> 
Perfectly. The "trick" is to install it using MacPorts not Homebrew. I 
have been using 2.22.1 with added fonts and stuff and it works 
perfectly.

Oh. This is the command-line version, not the GUI, but for me that -is- 
lilypond :-)

This on a 2021 Mac Mini M1 with 16Gb

Hope this helps

 ..mark.



Re: considering getting a new mac that has the new M chip; does Lilypond install/run ok?

2021-09-24 Thread Kenneth Wolcott
Hi Matt;

  Thanks for your data point.

  My macbook pro is era 2013 and the battery is no longer working,
using external power, and it is now quite slow (just over the past few
weeks).

  I have to use an external fan and even then the heat gets so high
that it slows down.

  I'm looking into Docker now.

  The last time I used Docker was shortly after it first became
popular and I can't remember how to do anything :-)

  If I get a new Mac using the M1 chip, then I won't have to use
Docker, but it will be a good brain exercise.

Thanks,
Ken

On Fri, Sep 24, 2021 at 4:55 PM Matthew Fong  wrote:
>
> Hello Kenneth,
>
> I've installed LilyPong from MacPorts, along with MacTeX on my M1 MacMini. 
> Alas, it's no faster than my 2019 iMac for compilation. But far more energy 
> efficient, and no fans at full speed when compiling hundreds of files for PDF 
> output. It's a wonderful computing experience.
>
>
> mattfong
>
> On Fri, Sep 24, 2021 at 4:08 PM Kenneth Wolcott  
> wrote:
>>
>> HI;
>>
>> I'm considering getting a new mac that has the new M chip; does
>> Lilypond install/run ok?
>>
>> If not, then I'll consider using a Docker container that runs Linux.
>>
>> Thanks,
>> Ken Wolcott
>>



Re: considering getting a new mac that has the new M chip; does Lilypond install/run ok?

2021-09-24 Thread Matthew Fong
Hello Kenneth,

I've installed LilyPong from MacPorts, along with MacTeX on my M1 MacMini.
Alas, it's no faster than my 2019 iMac for compilation. But far more energy
efficient, and no fans at full speed when compiling hundreds of files for
PDF output. It's a wonderful computing experience.


mattfong

On Fri, Sep 24, 2021 at 4:08 PM Kenneth Wolcott 
wrote:

> HI;
>
> I'm considering getting a new mac that has the new M chip; does
> Lilypond install/run ok?
>
> If not, then I'll consider using a Docker container that runs Linux.
>
> Thanks,
> Ken Wolcott
>
>


considering getting a new mac that has the new M chip; does Lilypond install/run ok?

2021-09-24 Thread Kenneth Wolcott
HI;

I'm considering getting a new mac that has the new M chip; does
Lilypond install/run ok?

If not, then I'll consider using a Docker container that runs Linux.

Thanks,
Ken Wolcott



Re: musicXML: 2 staves, piano

2021-09-24 Thread Carl Sorensen


On 9/24/21, 3:52 PM, "Lukas-Fabian Moser"  wrote:


> I was tempted to offer a very high bounty to get a working xml-export.
> Alas, we already have
> https://gitlab.com/lilypond/lilypond/-/issues/665 and the there
> offered bounties are not that low ...

One thing I noted while skimming through that issue and the linked 
conversations: There were statements along the lines of "once we can use 
guile2, it gets easier" (because of the sxml module). Now we know since 
(I think) May that it is possible to produce a production-quality 
LilyPond using Guile 2.2. (I used Jonas' experimental binary release for 
quite some time over the summer in my everyday work, without any problems.)

So, while there are no regular official binary releases with Guile2 yet, 
I think it would now be quite acceptable to use Guile2 features in a 
possible XML export engine.

I totally agree that it would be acceptable to use Guile2 features.

Unfortunately, I think that Guile2 only helps with the Scheme structure to xml 
conversion, making the "routine" part of the programming much easier.

I don't think that Guile2 will provide any help with what I think the 
challenging parts of the problem are -- converting Lilypond data structures 
into an appropriate Scheme structure for moving to xml.  But I could be 
completely wrong.  Jacques certainly would know more about this than me.

Thanks,

Carl
 



Re: musicXML: 2 staves, piano

2021-09-24 Thread Lukas-Fabian Moser




I was tempted to offer a very high bounty to get a working xml-export.
Alas, we already have
https://gitlab.com/lilypond/lilypond/-/issues/665 and the there
offered bounties are not that low ...


One thing I noted while skimming through that issue and the linked 
conversations: There were statements along the lines of "once we can use 
guile2, it gets easier" (because of the sxml module). Now we know since 
(I think) May that it is possible to produce a production-quality 
LilyPond using Guile 2.2. (I used Jonas' experimental binary release for 
quite some time over the summer in my everyday work, without any problems.)


So, while there are no regular official binary releases with Guile2 yet, 
I think it would now be quite acceptable to use Guile2 features in a 
possible XML export engine.


Lukas




Re: Three voices in one hand (staff)

2021-09-24 Thread Knute Snortum
On Fri, Sep 24, 2021 at 10:58 AM Xavier Scheuer  wrote:
>
> On Fri, 24 Sept 2021 at 18:41, Knute Snortum  wrote:
> >
> > I'm having trouble getting LilyPond to do what I want.  I have three
> > voices in one hand (staff).  I want them to merge and line up, but I
> > can only get one or the other.
> >
> > (snip)
> >
> > I've attached a picture of the output.  Any ideas on how to merge
> > without a shift?
>
> Hello,
>
> This is maybe a bug.
> Anyway, use of \once \override NoteColumn.ignore-collision = ##t seems to be 
> a good workaround here.
>
> \new Staff <<
>   \clef bass
>   \new Voice {
> \voiceOne
> \once \override NoteColumn.ignore-collision = ##t
> g16^"ok" b g b
>   }
>   \new Voice {
> \voiceOne
> e,4
>   }
>   \new Voice {
> \voiceTwo
> e,16 b,8 b,16
>   }

Thanks, that did it!



Re: musicXML: 2 staves, piano

2021-09-24 Thread Carl Sorensen


On 9/24/21, 2:52 PM, "Thomas Morley"  wrote:

Am Fr., 24. Sept. 2021 um 22:33 Uhr schrieb Carl Sorensen 
:
>
> We have automatic tests for xml2ly that check compliance with the 
musicXML standard.
>
> I'm fairly certain it's a problem with your musicXML, rather than xml2ly.
>
> Unfortunately, I'm not expert enough on musicXML to find the mistakes.
>
> Why are your writing your own musicXML and then using xml2ly, instead of 
just writing in lilypond?
>
> Carl
>
>
>

Hi Carl,

iiuc, xml2ly converts an .xml-file to a .ly-file, not the other way round.

Yes, I know this.  As far as I can see, Dmitry is writing musicXML files by 
hand (which I cannot imagine doing) and then importing them to lilypond using 
xml2ly.



Speaking of it, I recently tested several methods to convert ly to xml:
(1) openlilylib (with lilypond-export, Jan-Peter)
(2) python-ly
(3) Frescobaldi
(4) de Wolff (https://github.com/de-wolff/lilypond.git)

and converted the resulting files back to ly with musicxml2ly
(builtin) and xml2ly (https://github.com/grame-cncm/libmusicxml.git,
xml2ly by Jacques)

The results were terrible :((

I totally agree that the musicXML export tools are really not good at all.

I was tempted to offer a very high bounty to get a working xml-export.
Alas, we already have
https://gitlab.com/lilypond/lilypond/-/issues/665 and the there
offered bounties are not that low ...

I think that a good musicXML export project is likely a 6-month, full-time 
project for an expert in lilypond.  For that kind of effort, a 1,000 euro 
bounty is not big.

Thanks,

Carl
 



Re: musicXML: 2 staves, piano

2021-09-24 Thread Thomas Morley
Am Fr., 24. Sept. 2021 um 22:33 Uhr schrieb Carl Sorensen :
>
> We have automatic tests for xml2ly that check compliance with the musicXML 
> standard.
>
> I'm fairly certain it's a problem with your musicXML, rather than xml2ly.
>
> Unfortunately, I'm not expert enough on musicXML to find the mistakes.
>
> Why are your writing your own musicXML and then using xml2ly, instead of just 
> writing in lilypond?
>
> Carl
>
>
>

Hi Carl,

iiuc, xml2ly converts an .xml-file to a .ly-file, not the other way round.

Speaking of it, I recently tested several methods to convert ly to xml:
(1) openlilylib (with lilypond-export, Jan-Peter)
(2) python-ly
(3) Frescobaldi
(4) de Wolff (https://github.com/de-wolff/lilypond.git)

and converted the resulting files back to ly with musicxml2ly
(builtin) and xml2ly (https://github.com/grame-cncm/libmusicxml.git,
xml2ly by Jacques)

The results were terrible :((

I was tempted to offer a very high bounty to get a working xml-export.
Alas, we already have
https://gitlab.com/lilypond/lilypond/-/issues/665 and the there
offered bounties are not that low ...

Cheers,
  Harm



Re: musicXML: 2 staves, piano

2021-09-24 Thread Carl Sorensen


On 9/24/21, 2:37 PM, "Ivanov Dmitry"  wrote:

On 21-09-24 20:33:05, Carl Sorensen wrote:
>Why are your writing your own musicXML and then using xml2ly, instead of 
just writing in lilypond?

I am writing software for harmonization and XML is a better language for
computers to read then lilypond.

OK.  I'm not sure I agree, but that's a personal opinion.

I believe you are having the problem because you are misusing musicXML.  I 
think for the piano, you need to have two staves, one for the upper staff, and 
one for the lower staff.  Instead, you only have one staff, and use /backup 
(which I know was recommended on this list, but I think is not the correct way 
to do it.

Please see this link for an example of how piano music is stored in musicXML:  
https://www.w3.org/2021/06/musicxml40/tutorial/notation-basics/

When I'm done looking at this example, it's very hard for me to see that 
musicXML is easier to deal with than lilypond syntax...

I hope this link will help you.


Carl




Re: musicXML: 2 staves, piano

2021-09-24 Thread Ivanov Dmitry

On 21-09-24 20:33:05, Carl Sorensen wrote:

Why are your writing your own musicXML and then using xml2ly, instead of just 
writing in lilypond?


I am writing software for harmonization and XML is a better language for
computers to read then lilypond.


signature.asc
Description: PGP signature


Re: musicXML: 2 staves, piano

2021-09-24 Thread Carl Sorensen
We have automatic tests for xml2ly that check compliance with the musicXML 
standard.

I'm fairly certain it's a problem with your musicXML, rather than xml2ly.

Unfortunately, I'm not expert enough on musicXML to find the mistakes.

Why are your writing your own musicXML and then using xml2ly, instead of just 
writing in lilypond?

Carl





musicXML: 2 staves, piano

2021-09-24 Thread Ivanov Dmitry

I was experimenting with a simple musicXML for a stadard piano score
with 2 staves. I attached the sample file. Everything seems to be fine, but 
after I run

musicxml2ly ./hello1.xml
lilypond ./hello1.ly

I get incorrect result. Is it musicxml2ly working incorrectly?


hello1.xml
Description: XML document


hello1.pdf
Description: Adobe PDF document


signature.asc
Description: PGP signature


musicXML: 2 voices in 1 measurement

2021-09-24 Thread Ivanov Dmitry




Re: Three voices in one hand (staff)

2021-09-24 Thread Xavier Scheuer
On Fri, 24 Sept 2021 at 18:41, Knute Snortum  wrote:
>
> I'm having trouble getting LilyPond to do what I want.  I have three
> voices in one hand (staff).  I want them to merge and line up, but I
> can only get one or the other.
>
> (snip)
>
> I've attached a picture of the output.  Any ideas on how to merge
> without a shift?

Hello,

This is maybe a bug.
Anyway, use of \once \override NoteColumn.ignore-collision = ##t seems to
be a good workaround here.

\new Staff <<
  \clef bass
  \new Voice {
\voiceOne
\once \override NoteColumn.ignore-collision = ##t
g16^"ok" b g b
  }
  \new Voice {
\voiceOne
e,4
  }
  \new Voice {
\voiceTwo
e,16 b,8 b,16
  }
>>

Cheers,
Xavier

-- 
Xavier Scheuer 


Re: Reverse doit?

2021-09-24 Thread Hans Aikema



> On 24 Sep 2021, at 01:01, Calvin Ransom  wrote:
> 
> I’m trying to help a student write this out, does anyone know how I didn’t 
> see anything in the notation reference but maybe I just looked over it?
> 
> Regards,
> Calvin Ransom

Hi Calvin,

Back in 2009 there was a thread on it on this list where the 'reverse doit’ was 
referenced as a ‘scoop’. 

It contains several suggestions on how to hack lilypond to make it print the 
desired symbol.

https://lists.gnu.org/archive/html/lilypond-user/2009-06/msg00124.html





Three voices in one hand (staff)

2021-09-24 Thread Knute Snortum
I'm having trouble getting LilyPond to do what I want.  I have three
voices in one hand (staff).  I want them to merge and line up, but I
can only get one or the other.

%%%
\version "2.22.1"

voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice)

% How I want it to look, but with another voice
\new Staff <<
  \new Voice { \voiceThree \clef bass e,4 }
  \new Voice { \voiceFour e,16 b,8 b,16 }
>>

% The g16 shifts to the right
\new Staff <<
  \new Voice { \voiceFive \clef bass g16^"g16 shifts" b g b }
  \new Voice { \voiceThree e,4 }
  \new Voice { \voiceFour e,16 b,8 b,16 }
>>

% The two e,s don't merge
\new Staff <<
  \new Voice { \voiceThree \clef bass g16^"e4 shifts" b g b }
  \new Voice { \voiceFive e,4 }
  \new Voice { \voiceFour e,16 b,8 b,16 }
>>
%%%

I've attached a picture of the output.  Any ideas on how to merge
without a shift?

--
Knute Snortum


Re: Rehearsal marks and tempo markings

2021-09-24 Thread fremoin

Thank you Jean !

Le 24/09/2021 à 15:03, Jean Abou Samra a écrit :

Le 23/09/2021 à 23:34, Jean Abou Samra a écrit :

Le 23/09/2021 à 00:47, Nuno Trocado a écrit :

Perhaps you want the tempo mark to start on
the first note rather than the time signature:
Not really... I'd like to have the tempo mark aligning to the time 
signature, but shifting a little horizontally if it collides with a 
rehearsal mark.


Here is my attempt at automating it.
[…]



Below is a simplified version, solving a few issues.

\version "2.22.1"

#(define (Fix_tempo_mark_collision_engraver context)
    (let ((tempo #f)
  (mark #f))
  (make-engraver
    (acknowledgers
  ((metronome-mark-interface engraver grob source-engraver)
     (set! tempo grob))
  ((mark-interface engraver grob source-engraver)
     (set! mark grob)))
    ((stop-translation-timestep engraver)
   (if (and tempo mark)
   (let* ((tempo-stencil (ly:grob-property tempo 'stencil))
  (tempo-width (interval-length (ly:stencil-extent 
tempo-stencil X)))

  (mark-stencil (ly:grob-property mark 'stencil))
  (mark-width (interval-length (ly:stencil-extent 
mark-stencil X)))
  (mark-alignment (ly:grob-property mark 
'self-alignment-X))

  (padding (ly:grob-property tempo 'padding))
  (mark-relative-end (/ mark-width (+ mark-width 
padding tempo-width)))

  (mark-end-index (1- (* 2 mark-relative-end)))
  (new-alignment (interval-index (cons -1 
mark-end-index)

mark-alignment)))
     (set! (ly:grob-property mark 'stencil)
   (ly:stencil-stack mark-stencil X RIGHT 
tempo-stencil padding))

     (set! (ly:grob-property mark 'self-alignment-X)
   new-alignment)
     (ly:grob-suicide! tempo)))
   (set! tempo #f)
   (set! mark #f)

\layout {
   \context {
     \Score
     \consists #Fix_tempo_mark_collision_engraver
     \override MetronomeMark.padding = 0.8 % adjust
   }
}

{
   \clef treble
   \mark \default
   \tempo 4 = 120
   \time 3/4
   \repeat unfold 3 c''4
   \mark \default
   \tempo \markup \column { "Going down" down down… }
   R2.*4
   \mark \default
   \tempo "Long tempo text"
   \compressMMRests R2.*5
}


Best,
Jean









Re: Rehearsal marks and tempo markings

2021-09-24 Thread Jean Abou Samra

Le 23/09/2021 à 23:34, Jean Abou Samra a écrit :

Le 23/09/2021 à 00:47, Nuno Trocado a écrit :

Perhaps you want the tempo mark to start on
the first note rather than the time signature:
Not really... I'd like to have the tempo mark aligning to the time 
signature, but shifting a little horizontally if it collides with a 
rehearsal mark.


Here is my attempt at automating it.
[…]



Below is a simplified version, solving a few issues.

\version "2.22.1"

#(define (Fix_tempo_mark_collision_engraver context)
   (let ((tempo #f)
 (mark #f))
 (make-engraver
   (acknowledgers
 ((metronome-mark-interface engraver grob source-engraver)
    (set! tempo grob))
 ((mark-interface engraver grob source-engraver)
    (set! mark grob)))
   ((stop-translation-timestep engraver)
  (if (and tempo mark)
  (let* ((tempo-stencil (ly:grob-property tempo 'stencil))
 (tempo-width (interval-length (ly:stencil-extent 
tempo-stencil X)))

 (mark-stencil (ly:grob-property mark 'stencil))
 (mark-width (interval-length (ly:stencil-extent 
mark-stencil X)))
 (mark-alignment (ly:grob-property mark 
'self-alignment-X))

 (padding (ly:grob-property tempo 'padding))
 (mark-relative-end (/ mark-width (+ mark-width 
padding tempo-width)))

 (mark-end-index (1- (* 2 mark-relative-end)))
 (new-alignment (interval-index (cons -1 
mark-end-index)

mark-alignment)))
    (set! (ly:grob-property mark 'stencil)
  (ly:stencil-stack mark-stencil X RIGHT 
tempo-stencil padding))

    (set! (ly:grob-property mark 'self-alignment-X)
  new-alignment)
    (ly:grob-suicide! tempo)))
  (set! tempo #f)
  (set! mark #f)

\layout {
  \context {
    \Score
    \consists #Fix_tempo_mark_collision_engraver
    \override MetronomeMark.padding = 0.8 % adjust
  }
}

{
  \clef treble
  \mark \default
  \tempo 4 = 120
  \time 3/4
  \repeat unfold 3 c''4
  \mark \default
  \tempo \markup \column { "Going down" down down… }
  R2.*4
  \mark \default
  \tempo "Long tempo text"
  \compressMMRests R2.*5
}


Best,
Jean




Re: Rehearsal marks and tempo markings

2021-09-24 Thread fremoin

Re,

Le 24/09/2021 à 01:34, Jean Abou Samra a écrit :
> Le 23/09/2021 à 00:47, Nuno Trocado a écrit :
>>> Perhaps you want the tempo mark to start on
>>> the first note rather than the time signature:
>> Not really... I'd like to have the tempo mark aligning to the time
>> signature, but shifting a little horizontally if it collides with a
>> rehearsal mark.
>
> Here is my attempt at automating it.
(...)

Aaaand... this solves my previous post.

Thanks you Jean ! :)
Frédéric

--
Trop fort




Re: Rehearsal marks and tempo markings

2021-09-24 Thread fremoin

Hello,

Le 23/09/2021 à 01:13, Jean Abou Samra a écrit :
(...)


Try the \markLengthOn command described here:(...)


I was just struggling while editing a score with
- a rehearsal mark on the first bar (I know the composer, he likes to 
hear "Let's start from the beginning, first measure, letter A", I'm just 
the copyist)

- a rehearsal mark on a compound meter change :

%%
\version "2.22.1"

{
  \markLengthOn
  \clef bass
  \mark \default
  \tempo 4=136
  R1
  \mark \default
  \tempo 8=272
  \compoundMeter #'((6 8) (2 4))
  r4. r b,4   b,
}


The above is a MWE, not the actual score ;)

Do i misuse \markLentghtOn ?

Regards,
Frédéric




Re: Vertical positioning of rests

2021-09-24 Thread Jean Abou Samra

Le 24/09/2021 à 07:13, Werner LEMBERG a écrit :

There are a number of internal mechanisms under the hood here.
[...]

Good stuff!  Do we have something like this in the manual somewhere?
Otherwise I suggest that you add it as an example.


Not in the official manual, but there is some amount of
information in my “Extending LilyPond” document, specifically
in these sections:

https://extending-lilypond.readthedocs.io/en/latest/backend.html#properties-and-callbacks
https://extending-lilypond.readthedocs.io/en/latest/backend.html#coordinates-extents-and-reference-points
https://extending-lilypond.readthedocs.io/en/latest/backend.html#dummy-properties

(I would have to add ly:grob-translate-axis!).

Best,
Jean