lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Wish: Syntax of text spanners


From: Martín Rincón Botero
Subject: Re: Wish: Syntax of text spanners
Date: Wed, 22 Jul 2020 08:31:09 +0200

Sorry Andrew, I accidentally answered to your personal e-mail.

Thank you Andrew for your answer and your use examples. Maybe I wasn't clear enough. Using \override should be necessary for fine-tuning what you do, and in any moment have I proposed to eliminate that capability. The proposed syntax surely would make some things easier by default. Using overrides should keep working basically the same way as now. However, "fine-tuning" seems to be very broad with text spanners. Putting some text and making a line requires already fine-tuning, which doesn't seem so "fine" to me, and shows only a lack of appropriate syntax for getting a default result. So what I'm proposing is additional to what we already have: the ability to make basic text spanners with a basic syntax, allowing the user to customize that behavior with \overrides, the way it's done now. 

So I would say, Andrew, with my proposal, if you need custom \overrides, nothing should change for you, if this is implemented ;-). 

Regards,
Martín.

El El mié, 22 jul 2020 a las 5:58, Andrew Bernard <andrew.bernard@gmail.com> escribió:
Well, text spanners are pressed into service for dozens of things.
Here's a random example from my scores:

  % text spanner for repeat
  \once \override TextSpanner.style = #'line
  \once \override TextSpanner.thickness = #2
  \once \override TextSpanner.bound-details.left.text =
  \markup {
    \path #0.25 #leftBracketPath
    \general-align #Y #CENTER \sans \upright " repeat + "
  }
  \once \override TextSpanner.bound-details.right.text =
  \markup {
    \path #0.25 #rightBracketPath
  }
  \once \override TextSpanner.bound-details.left-broken.text = ##f
  \once \override TextSpanner.bound-details.right-broken.text = ##f
  \override TextSpanner.bound-details.right-broken.padding = ##f
  \override TextSpanner.bound-details.right.padding = #8
  \override TextSpanner.bound-details.left.padding = #-4

I have no trouble with that personally, and I require all the fine detail.

I can see your objections, but removing this capability from lilypond
would never get up as a suggestion. Furthermore, there is nothing
stopping your creating your own music functions and so do to achieve
what you have described,

Here's an example of that, for doing things like SP-----> NAT for violin.

% use with startTextSpan and stopTextSpan

stringTechnique =
#(define-music-function
  (left right)
  (markup? markup?)
  "string technique markup"
  #{
  \once \override TextSpanner.font-name = "Libertinus Sans Bold"
  \once \override TextSpanner.font-size = #-4
  \once \override TextSpanner.bound-padding = #1.0
  \once \override TextSpanner.style = #'line
  \once \override TextSpanner.bound-details.right.arrow = ##t
  \once \override TextSpanner.bound-details.left.text = #left
  \once \override TextSpanner.bound-details.right.text = #right
  \once \override TextSpanner.bound-details.right.padding = #0.6
  \once \override TextSpanner.bound-details.right.stencil-align-dir-y = #CENTER
  \once \override TextSpanner.bound-details.left.stencil-align-dir-y = #CENTER
  \once \override TextSpanner.bound-details.left-broken.text = ##f
  \once \override TextSpanner.bound-details.right-broken.text = ##f
#})

Given the enormous flexibility in defining lilypond functions and the
use of Scheme for extensions and customisations, I don't think rushing
to change syntax is a good idea, apart from the fact that you would
have huge problems with backwards compatibility.


Andrew



On Wed, 22 Jul 2020 at 07:28, Martín Rincón Botero
<martinrinconbotero@gmail.com> wrote:
>
> Hey all,
>
> this is a feature request. I'm sorry, if this is already being discussed or if a solution is coming behind the scenes. I couldn't find any message other than a mention to https://code.google.com/archive/p/lilypond/issues/3176. I find the lack of a proper text spanner syntax uncomfortable.

--
--
www.martinrinconbotero.com

reply via email to

[Prev in Thread] Current Thread [Next in Thread]