Re[2]: Frescobaldi?

2024-05-05 Thread Steph Phillips
Hey all, I've been looking over the Frescobaldi codebase for the last 
few days, and it seems to be within the realm of something I could pick 
up maintenance for.


There would definitely be a learning curve, so hopefully it doesn't 
reach it's EOL too soon... But, I don't know, I feel pretty confident.


Not really sure what more info I can contribute to the public discourse 
at this point, but I welcome anyone else interested with the upkeep of 
Frescobaldi to get in touch with me so we can coordinate~


-- Original Message --

From "Jean Abou Samra" 
To "Graham King" ; "N. Andrew Walsh" 


Cc "Lilypond-User Mailing List" 
Date 5/5/2024 1:37:35 PM
Subject Re: Frescobaldi?


 The technical stuff is way over my head, but this reads like the top-
 level description of a GSOC project (in case the mentioned friend
 doesn't take the bait)...




GSoC projects are nice for doing focused work on some specific part
of the code base. For overhauling just about everything, I'd be a lot
more skeptical, especially since there will unavoidably be fallout
to deal with afterwards in terms of bugs, and that's less nice to do
if the person who did the port isn't available after the summer to
do that part of the work.




Re: Rehearsal mark on right side of measure?

2024-05-05 Thread Aaron Hill

On 2024-05-05 6:49 pm, Dirck Nagy wrote:

Hi all

I am using rehearsal marks (\mark \default,  to mark off repeated 
sections as  "A", "B", etc.,  instead of Dal Segno.


One of these sections ends at the end of a line.  Is there an easy way 
to move the rehearsal mark to the right side of the measure, instead of 
the left?  I can't find a command that works.


Or should I be using markup commands instead?



No, \mark for RehearsalMarks is perfectly fine.  What you need to do is 
firstly ensure the \mark command is located at the correct moment in the 
music--it sounds like you are putting the \mark at the beginning of a 
measure when it should appear at the next bar line--and then ensure its 
break-visibility is set appropriately so the mark appears on the correct 
line.  Consider:



\version "2.25.13"

{
  \repeat unfold 3 { b'4 4 2 }
  \tweak break-visibility #end-of-line-visible
  \tweak self-alignment-X #RIGHT
  \mark \default \break
  \repeat unfold 3 { b'4 4 2 } 1 \fine
}



-- Aaron Hill

Rehearsal mark on right side of measure?

2024-05-05 Thread Dirck Nagy
Hi all

I am using rehearsal marks (\mark \default,  to mark off repeated sections as  
"A", "B", etc.,  instead of Dal Segno.

One of these sections ends at the end of a line.  Is there an easy way to move 
the rehearsal mark to the right side of the measure, instead of the left?  I 
can't find a command that works.

Or should I be using markup commands instead?

thanks!

dirck





Re: how difficult would it be to have “auto-correct spacing” (even for just a single measure)?

2024-05-05 Thread Kieren MacMillan
Hi Valentin,

> if you want you could tell Lilypond to ignore Accidentals in spacing

In concept, I love this idea… However it doesn’t work 100%:

%%%  SNIPPET BEGINS
\version "2.25.11"
\language "english"

\layout {
  line-width = 3.5\in
  ragged-right = ##f
}

ignoreH =
   \propertyTweak horizontal-skylines ##f
   \propertyTweak extra-spacing-width #empty-interval
   \etc

ignoreV =
   \propertyTweak vertical-skylines ##f
   \propertyTweak extra-spacing-height #empty-interval
   \etc

ignore = \ignoreH \ignoreV \etc

accidentalNoWidth =
\override Accidental.extra-spacing-width =
#(lambda (grob)
  (let ((ext (ly:grob-property grob 'X-extent)))
(display ext)
(cons (interval-length ext) 0)))

\markup "No accidentals:"
\new Staff \with { \remove Accidental_engraver } <<
  \clef bass \key bf \major
  \voices 1,2 <<
{ f8 f g! f f f f a }  \\
{ bf,8 f e-\tweak extra-offset #'(0.05 . 0) _\markup \with-color #red 
\with-dimensions-from \null \draw-line #'(0 . -48) ef d c bf, c }
  >>
>>

\markup "No tweaks:"
\new Staff <<
  \clef bass \key bf \major
  \voices 1,2 <<
{ f8 f g! f f f f a }  \\
{ bf,8 f e ef d c bf, c }
  >>
>>

\markup "Using \accidentalNoWidth:"
\new Staff <<
  \clef bass \key bf \major
  \voices 1,2 <<
{ f8 f \once\accidentalNoWidth g! f f f f a }  \\
{ bf,8 f \once\accidentalNoWidth e! \once\accidentalNoWidth ef d c bf, c }
  >>
>>

\markup "Using \ignore:"
\new Staff <<
  \clef bass \key bf \major
  \voices 1,2 <<
{ f8 f \once \ignore Accidental g! f f f f a }  \\
{ bf,8 f \once \ignore Accidental e! \once \ignore Accidental ef d c bf, c }
  >>
>>
%%%  SNIPPET BEGINS

As you can see:

1. \accidentalNoWidth doesn’t allow the notes to obtain “no accidental” 
spacing, but at least keeps the accidentals uncrushed

2. \ignore allows the notes to obtain “no accidental” spacing, but everything 
gets crushed requiring manual tweaking to reposition;

Is there a way to get the best of both worlds?

Thanks,
Kieren.
__

My work day may look different than your work day. Please do not feel obligated 
to read or respond to this email outside of your normal working hours.




Re: Frescobaldi?

2024-05-05 Thread Jean Abou Samra
> The technical stuff is way over my head, but this reads like the top-
> level description of a GSOC project (in case the mentioned friend
> doesn't take the bait)...



GSoC projects are nice for doing focused work on some specific part
of the code base. For overhauling just about everything, I'd be a lot
more skeptical, especially since there will unavoidably be fallout
to deal with afterwards in terms of bugs, and that's less nice to do
if the person who did the port isn't available after the summer to
do that part of the work.


signature.asc
Description: This is a digitally signed message part


Re: Frescobaldi?

2024-05-05 Thread Graham King
The technical stuff is way over my head, but this reads like the top-
level description of a GSOC project (in case the mentioned friend
doesn't take the bait)...

In other threads spawned by this one, there have been some helpful
suggestions for alternative lilypond IDE's, but there is some cost to
lilypond in fragmenting its user experience.  At the moment, we can
just say to new users "choose Frescobaldi; it's the best and most
popular IDE, and it's really easy to install" confident that any
questions that arise will likely be understood and answered readily.


On Sun, 2024-04-28 at 21:36 +0200, Jean Abou Samra wrote:
> > unfortunately, as I noted above, the problem seems to be that
> > frescobaldi
> > depends on a now-deprecated version of qtwebengine, and without
> > updating
> > it we'll eventually reach a point where it no longer runs. I looked
> > into
> > this because qtwebengine-5.15 failed to compile on my machine this
> > morning,
> > so I'm worried we're already approaching EOL on it. 
> 
> Note that we're talking about Qt as a whole, not just QtWebEngine
> which
> is just a small part of it (well, for some definition of "small"
> since it
> embeds Chromium's Web rendering engine…) that Frescobaldi only uses
> in a
> few places (IIRC, the SVG viewer and the documentation browser).
> 
> Qt 5 *is* already EOL upstream, since May 2023.
> 
> 
> > Jean: I have a colleague who does UI work and is "fairly" capable
> > of dealing
> > with python and Qt dependencies. Can you give me a brief (but as
> > technical
> > as it needs to be for a specialist to understand the issue) summary
> > of where
> > the sticking points are?
> 
> Frescobaldi uses the Poppler library in order to display PDF files.
> (It cannot
> use Qt's native PDF viewer based on Chromium, because that one is not
> powerful
> enough to support point-and-click.) Since Frescobaldi is written in
> Python and
> Poppler is a C++ library, it needs an FFI wrapper, which is called
> python-
> poppler-qt5 and written with a tool called sip that is developed by
> the
> creator and maintainer of PyQt itself and also used for PyQt.
> 
> Thus there is a diamond dependency:
> 
>    Qt5 --> Poppler  (C++)
>     |    |
>     |    |
>     |    |
>     v    v
>   PyQt5 -> python-poppler-qt5  (Python extension modules)
> 
> 
> python-poppler-qt5 is a little fiddly to build: it's multiple layers
> with sip generating C++ code and QMake project files, then QMake
> generating a Makefile and sip finally executing make on that
> Makefile.
> 
> On macOS, the platform favors distributing applications as .app
> bundles,
> which are optimized for being created by the native app development
> tools (Swift+XCode). These have a peculiar structure organized into
> "frameworks", with data files separated from code files, shared
> library
> lookup paths modified and that sort of thing (the specifics I do not
> know
> or remember). Of course, that doesn't play well with Python packages
> relying on a different structure, and Qt + PyQt also needing their
> file structure. In fact there are whole tools written just to deploy
> PyQt in a .app bundle, see pyqtdeploy.
> 
> Now throw python-poppler-qt5 into the mix, which needs to be loaded
> by
> Python and find its linked Poppler and Qt and PyQt, and you should
> start
> to understand the problem.
> 
> Basically, it's the Apple flavor of "things will work well but only
> if you do it my way with the non-cross-platform tools from my walled
> garden" in its full glory.
> 
> Add that macOS displays scary warnings to users if the app bundle
> hasn't been signed with a certificate that costs real money.
> Details are on
> https://github.com/frescobaldi/frescobaldi/issues/1584
> 
> Also add that the tool Frescobaldi has used so far to create app
> bundles, py2app, relies heavily on setuptools, which prevents
> Frescobaldi from moving to a more modern and less complicated
> build backend like hatchling.
> 
> Apart from these packaging issues, there's also an issue with
> the global menu (the one at the top of the screen on macOS, it
> doesn't appear on other platforms) which isn't really up-to-date
> and has been a source of crashes.
> 
> There are also miscellaneous bugs that only reproduce on macOS
> (they have the macOS label on GitHub) and it's not always easy
> to understand why.
> 
> Well, the explanation wasn't that brief. Sorry that I didn't have
> time to write a shorter one, as they say.
> 




Re: FW: Cautionary Time Signature

2024-05-05 Thread Timothy Lanfear

On 05/05/2024 08:17, jsmcwill...@gmail.com wrote:
I enclose a snippet illustrating two problems I am trying to resolve 
in a piece containing a melody followed by a Trio section:


 1. There is a key signature change before going into the Trio and I
cannot get the cautionary signature, which normally

occurs at the end of a line, to show up properly. The background staff 
is missing.


 2. I want to have a indentation at the beginning of the Trio matching
the indentation seen at the beginning of the piece.



1. By adding a short spacer rest after the key signature.

2. By putting the sections into two scores with an indented first line.

\version "2.24.0"

\header {
  title = "Shortened Lines"
  composer = "John McWilliam"
  copyright = "Kopierad av John McWilliam. PMRS 2024"
}

clarinet = \relative c'' {
  \key f \major
  \numericTimeSignature
  \time 2/4

   bes'8 -\f  bes8  bes8  bes8 | % 2
   bes8  bes8  bes8  bes8 | % 3
   a4 -> -\<  bes4 -> | % 4
   a8 -. -\! r8 r8  d,16 -\p  cis16 | %5

  \bar "||"
  \key es \major \grace s4
  \once \omit Score.BarLine
  \once \override Score.JumpScript.X-offset = #4
  \once \override Score.JumpScript.Y-offset = #-6
  \jump \markup \huge "D.S. al Fine poi Trio"
}

% Continue on new line but with indent matching the above and if 
possible with the section heading TRIO in

% that space:

trio = \relative c'' {
  \section
  \sectionLabel \markup \bold "Trio"

  \time 2/4
  \key es \major
  g'8 -> -\f r8  g8 -. r8 | % 6
  g8 -. r8 r4
  \fine
}

\bookpart {
  \score { \clarinet }
  \score { \trio }
}

--

Timothy Lanfear, Bristol, UK.


Re: aftergrace consistently close to the next bar line

2024-05-05 Thread Knute Snortum
On Sun, May 5, 2024 at 1:19 AM  wrote:

> Good day,
>
>
>
> I use afterGrace notes to mark the end of a glissando. At the moment
> lilypond places these afterGrace notes somehow depending on the note's
> length.
> I want the glissando to be played over the entire length of the time unit,
> so the afterGrace notes should be placed as close as possible to the
> following bar line (or time unit), consistently.
>
> How can I achieve this?
>
> For example: In the bar (image) above I would like to have the afterGrace
> notes eih'' of the violins at the same x-position (close to the bar line)
> as the fis' of the third voice.
>
> %%%
> % violin 1
>   \time 3/2 cis'2.\p^"col legno" \glissando \afterGrace gis' \glissando
> {\once \hide Stem \parenthesize eih4} |
>
> % violin 2
>   \time 3/2 cis'2.\p^"col legno" \glissando \afterGrace disih \glissando
> {\once \hide Stem \parenthesize eih4} |
>
> % viola
>   \time 3/2 \afterGrace cis''1.\p^"col legno" \glissando {\once \hide Stem
> \parenthesize fis,4} |
> %%%
>

You can put a fraction right after the \afterGrace command to indicate how
far the afterGrace notes should be from the base note.  The closer the
fraction is to 1, the farther the grace note.  So try something like:

\afterGrace 15/16 gis' \glissando {\once \hide Stem \parenthesize eih4}


--
Knute Snortum


Re: how difficult would it be to have “auto-correct spacing” (even for just a single measure)?

2024-05-05 Thread Valentin Petzel
Hi Kieren,

if you want you could tell Lilypond to ignore Accidentals in spacing (N.B.: 
This can lead to collision with the previous head!):

accidentalNoWidth =
\override Accidental.extra-spacing-width =
#(lambda (grob)
   (let ((ext (ly:grob-property grob 'X-extent)))
 (display ext)
 (cons (interval-length ext) 0)))

baritoneNotes = { f8 f \once\accidentalNoWidth g! f f f f a }
bassNotes =
{ bf,8 f \once\accidentalNoWidth e \once\accidentalNoWidth ef d c bf, c }

Cheers,
Valentin

signature.asc
Description: This is a digitally signed message part.


Re: how difficult would it be to have “auto-correct spacing” (even for just a single measure)?

2024-05-05 Thread Kieren MacMillan
Hi Jean,

> There might be ways to reduce the importance
> of accidentals in the spacing problem

I’ve tried a couple of different ways, but they are all pretty “destructive” 
(e.g., the accidentals are ignored entirely, so they end up on top of each 
other and the noteheads). Hopefully I can find a way!

> It's interesting though that adding
>  \override Score.SpacingSpanner.spacing-increment = 5
> in \layout evens out the spacing a lot.

Yes, it does!

> it might be worth trying to flank that measure with \newSpacingSection
> and give it a different spacing-increment.

That goes a long way towards a solution, but (a) the notes still aren’t 
perfectly even, and (b) I prefer the tighter spacing of the original layout.

Thanks,
Kieren.
__

My work day may look different than your work day. Please do not feel obligated 
to read or respond to this email outside of your normal working hours.




FW: Cautionary Time Signature

2024-05-05 Thread jsmcwilliam
 

 

From: jsmcwill...@gmail.com  
Sent: den 5 maj 2024 09:15
To: lilypond-user@gnu.org
Subject: Cautionary Time Signature

 

Firstly, I have reregistered since the support forum does not recognise my
credentials!

I enclose a snippet illustrating two problems I am trying to resolve in a
piece containing a melody followed by a Trio section:

1.  There is a key signature change before going into the Trio and I
cannot get the cautionary signature, which normally 

occurs at the end of a line, to show up properly. The background staff is
missing.

2.  I want to have a indentation at the beginning of the Trio matching
the indentation seen at the beginning of the piece.

 

I hope some kind expert can help me resolve this.

 

John McWilliam



Shortened_lines_2.ly
Description: Binary data


Cautionary Time Signature

2024-05-05 Thread jsmcwilliam
Firstly, I have reregistered since the support forum does not recognise my
credentials!

I enclose a snippet illustrating two problems I am trying to resolve in a
piece containing a melody followed by a Trio section:

1.  There is a key signature change before going into the Trio and I
cannot get the cautionary signature, which normally 

occurs at the end of a line, to show up properly. The background staff is
missing.

2.  I want to have a indentation at the beginning of the Trio matching
the indentation seen at the beginning of the piece.

 

I hope some kind expert can help me resolve this.

 

John McWilliam



Shortened_lines_2.ly
Description: Binary data


aftergrace consistently close to the next bar line

2024-05-05 Thread jcarll

Good day,



I use afterGrace notes to mark the end of a glissando. At the moment
lilypond places these afterGrace notes somehow depending on the note's
length.
I want the glissando to be played over the entire length of the time
unit, so the afterGrace notes should be placed as close as possible to
the following bar line (or time unit), consistently.

How can I achieve this?

For example: In the bar (image) above I would like to have the
afterGrace notes eih'' of the violins at the same x-position (close to
the bar line) as the fis' of the third voice.

%%%
% violin 1
  \time 3/2 cis'2.\p^"col legno" \glissando \afterGrace gis' \glissando
{\once \hide Stem \parenthesize eih4} |

% violin 2
  \time 3/2 cis'2.\p^"col legno" \glissando \afterGrace disih
\glissando {\once \hide Stem \parenthesize eih4} |

% viola
  \time 3/2 \afterGrace cis''1.\p^"col legno" \glissando {\once \hide
Stem \parenthesize fis,4} |
%%%



Greetings,
Jonathan