Re: Overriding default text of \f, \p, etc.

2024-04-12 Thread Aaron Hill

On 2024-04-12 1:54 am, David Kastrup wrote:

YTG 1234  writes:


Hello List,

I want to override the default text markup used with commands such as
\f, \p, \mf, etc.

However, trying to define f = #(make-dynamic-script ...) doesn't work
because Lilypond interprets f as a note-name.


You could switch to Italian note names temporarily… Just kidding: the
sane solution of using quote marks has been already covered in two
replies.




\version "2.25.13"

\language italiano
f = -\tweak color #red \f
\language english

{ b'4 4 2\f }


That's hilarious.  David, have you been hoarding other tricks?  /s


-- Aaron Hill



Re: Overriding default text of \f, \p, etc.

2024-04-12 Thread David Kastrup
YTG 1234  writes:

> Hello List,
>
> I want to override the default text markup used with commands such as
> \f, \p, \mf, etc.
>
> However, trying to define f = #(make-dynamic-script ...) doesn't work
> because Lilypond interprets f as a note-name.

You could switch to Italian note names temporarily… Just kidding: the
sane solution of using quote marks has been already covered in two
replies.

-- 
David Kastrup



Re: Overriding default text of \f, \p, etc.

2024-04-12 Thread YTG 1234

On 12/04/2024 11:51, Aaron Hill wrote:

On 2024-04-12 12:21 am, YTG 1234 wrote:

Hello List,

I want to override the default text markup used with commands such as 
\f, \p, \mf, etc.


However, trying to define f = #(make-dynamic-script ...) doesn't work 
because Lilypond interprets f as a note-name.


Additionally, how would I be able to change the text while 
maintaining the MIDI effect? I tried using \tweak DynamicText.text 
but it doesn't seem to override the text...



Since f is a pitch, you need to put it in quotes.  Consider:


\version "2.25.13"

"f" =
  -\tweak color #red
  -\tweak text \markup \circle f
  \f

{ b'4 4 2\f }



-- Aaron Hill


Thank you, that was exactly what I was looking for.

I had already found the quote method in the Lilypond source code, but I 
wasn't sure what \tweak I should use.


Thanks!


Re: Overriding default text of \f, \p, etc.

2024-04-12 Thread Aaron Hill

On 2024-04-12 12:21 am, YTG 1234 wrote:

Hello List,

I want to override the default text markup used with commands such as 
\f, \p, \mf, etc.


However, trying to define f = #(make-dynamic-script ...) doesn't work 
because Lilypond interprets f as a note-name.


Additionally, how would I be able to change the text while maintaining 
the MIDI effect? I tried using \tweak DynamicText.text but it doesn't 
seem to override the text...



Since f is a pitch, you need to put it in quotes.  Consider:


\version "2.25.13"

"f" =
  -\tweak color #red
  -\tweak text \markup \circle f
  \f

{ b'4 4 2\f }



-- Aaron Hill



Re: Overriding default text of \f, \p, etc.

2024-04-12 Thread Werner LEMBERG


> However, trying to define f = #(make-dynamic-script ...) doesn't work
> because Lilypond interprets f as a note-name.

Try

```
"f" = #(make-dynamic-script ...)
```


Werner



Re: Overriding default text of \f, \p, etc.

2024-04-12 Thread Kieren MacMillan
Hi all,

>> I want to override the default text markup used with commands such as \f, 
>> \p, \mf, etc.
>> However, trying to define f = #(make-dynamic-script ...) doesn't work 
>> because Lilypond interprets f as a note-name.
>> Additionally, how would I be able to change the text while maintaining the 
>> MIDI effect? I tried using \tweak DynamicText.text but it doesn't seem to 
>> override the text...
> This is my file that defines assorted dynamic markups (it's an old lilypond 
> version so I'm sure it can be improved ...

Optimally, dynamics are defined as dynamics not markup:

\version "2.25.11"

%  just dynamics
fzp = #(make-dynamic-script "fzp")
ffzp = #(make-dynamic-script "ffzp")
sfzp = #(make-dynamic-script "sfzp")
sffz = #(make-dynamic-script "sffz")
sfffz = #(make-dynamic-script "sfffz")

% dynamic–dynamic
pdashff = #(make-dynamic-script "p–ff")
mfdashff = #(make-dynamic-script "mf–ff")
fdashp = #(make-dynamic-script "f–p")

%  text+dynamic
piuf = -\tweak self-alignment-X #0.85 #(make-dynamic-script (markup #:concat ( 
#:normal-text #:italic #:fontsize 0.8 "più" #:hspace 0.3 "f" )))
moltoff = -\tweak self-alignment-X #0.8 #(make-dynamic-script (markup #:concat 
( #:normal-text #:italic #:fontsize 0.8 "molto" #:hspace 0.3 "ff" )))

%  examples
\layout { ragged-right = ##f indent = 0 }
{
  c1\fzp
  c1\sfffz
  c1\pdashff
  c1\moltoff
  c1\piuf
}

Hope that helps!
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: Overriding default text of \f, \p, etc.

2024-04-12 Thread Wols Lists

On 12/04/2024 08:21, YTG 1234 wrote:

Hello List,

I want to override the default text markup used with commands such as 
\f, \p, \mf, etc.


However, trying to define f = #(make-dynamic-script ...) doesn't work 
because Lilypond interprets f as a note-name.


Additionally, how would I be able to change the text while maintaining 
the MIDI effect? I tried using \tweak DynamicText.text but it doesn't 
seem to override the text...


This is my file that defines assorted dynamic markups (it's an old 
lilypond version so I'm sure it can be improved ...


% This contains assorted dynamics functions ...

% dynamic setting - "p - ff"
pthenff = _\markup{ \dynamic p \italic "-" \dynamic ff }

% dynamic setting - "f - p"
fthenp = _\markup{ \dynamic f \italic "-" \dynamic p }

mfthenff = _\markup{ \dynamic mf \italic "-" \dynamic ff }

% this is the correct way to do it ...
sfzp = #(make-dynamic-script "sfzp")
piu-f = #(make-dynamic-script #{ \markup { \normal-text \italic piu f } #})

fzp = _\markup{ \dynamic fzp }
% forzando - piano
ffzp = _\markup{
\dynamic ffzp
}

% sforzandi
sffz = _\markup{ \dynamic sffz }
sfffz = _\markup{ \dynamic sfffz }



moltoff = _\markup{
  \bold \italic molto \dynamic ff
}

piuf = _\markup{
  \bold \italic piu \dynamic f
}


Cheers,
Wol



Overriding default text of \f, \p, etc.

2024-04-12 Thread YTG 1234

Hello List,

I want to override the default text markup used with commands such as 
\f, \p, \mf, etc.


However, trying to define f = #(make-dynamic-script ...) doesn't work 
because Lilypond interprets f as a note-name.


Additionally, how would I be able to change the text while maintaining 
the MIDI effect? I tried using \tweak DynamicText.text but it doesn't 
seem to override the text...