Dear Greg,For the umlaut, as long as you enter the character with umlaut into the file, it should work. for Example, on vim I type <ctrl>-K, then colon (:), then "o", and it enters ö.
For the second question, I found https://lsr.di.unimi.it/LSR/Snippet?id=1008 (also attached to this email) but it unfortunately requires a lot of copy-pasting. If you add "\version "2.21.2"" and then run convert-ly it looks like it still works on 2.25.4.
For the third I hacked together the following, which you can tinker with to your liking
% ----------
\version "2.25.4"
\relative c' {
c4 d e f | \mark \markup \smaller {\super\combine \draw-line #'(2 .
0) \arrow-head #X #LEFT ##t \rhythm {2 } = \rhythm { 4 } \super\combine
\draw-line #'(-2 . 0) \arrow-head #X #RIGHT ##t} g4
} % ---------- Thanks, -William On 5/20/23 22:42, Greg Lindstrom wrote:
Good evening -Let me start off by saying I'm loving working with lilypond to engrave music. Well Done!!Questions. How can I do this (an umlaut over the o??) image.pngAnd on tempo markings (the "ca." after the equal sign. I could do it as all text but wanted to know if there's a more "lilypond" way to do it).image.pngAnd as long as I'm asking (and you're still reading). How about this (a half note = a quarter note. I'd be happy to do it without the arrows -- which I think borders on silly -- but I'll give extra credit):image.pngThanks for any help you can provide. I have the Lilypond 2.12 Notation Reference so if you even point me to the section to reference I'll work it out.Kind Regards, --greg
-- + ------------------------------------------- + | William Rehwinkel - Oberlin College and | | Conservatory '24 | |[email protected] | | PGP key: | |https://ftp.williamrehwinkel.net/pubkey.txt | + ------------------------------------------- +
%%
% Metronome markup formatter, with more options than the Lilypond
% default formatter, and changes in sizing (see below).
% Properties read:
% - tempoEquationText: text to be put between note and tempo value(s)
% Default: "="
% - tempoBetweenText: text to be put between the tempo values. Used
% only in ranges of tempo values.
% Default: "-"
% - tempoHideParenthesis: boolean. If true, the parenthesis are hide.
% Default: false.
% - tempoNumberColor: color. If set, the tempo value will be formatted
% to this color.
% Default: not set.
% The size of the text ("Allegro" etc) is a bit larger than Lilypond default.
% Similarly, the size of the note is smaller than Lilypond default.
%
% To use this snippet, just \include this file. To revert default
% Lilypond formatter inside the score:
% \set Score.metronomeMarkFormatter = #format-metronome-markup
%
% tested: Version "2.21.2"
%
% This snippet is based on a snippet by Arnold Theresius. The original
% snippet create a formatter called "format-metronome-markup-approx",
% and the default value to tempoEquationText in that snippet is "≈".
% I changed back this default to Lilypond default, and added the
% tempoBetweenText property.
%
% Original header of the Theresius snippet:
%% http://lsr.di.unimi.it/LSR/Item?id=869
%by: ArnoldTheresius
%tested: Version "2.21.2"
% lilypond 2.14.x:
% Almost copied from .../scm/translation-functions.scm:
% --> added »-approx« to the function names of
% »format-metronome-markup« and »metronome-markup«
% --> replaced "=" with "≈" (approx. instead of equal)
#(define-public (format-metronome-markup-custom event context)
(let ((eq-sym-def (ly:context-property context 'tempoEquationText))
; added option
(bet-sym-def (ly:context-property context 'tempoBetweenText))
; added option
(hide-paren (eq? #t (ly:context-property context
'tempoHideParenthesis))) ; added option
(num-color (ly:context-property context 'tempoNumberColor #f))
; added option
(hide-note (ly:context-property context 'tempoHideNote #f))
(text (ly:event-property event 'text))
(dur (ly:event-property event 'tempo-unit))
(count (ly:event-property event 'metronome-count)))
(metronome-markup-custom text dur count hide-note eq-sym-def bet-sym-def
hide-paren num-color)))
#(define-public (metronome-markup-custom text dur count hide-note eq-sym-def
bet-sym-def hide-paren col)
(let* ((note-mark (if (and (not hide-note) (ly:duration? dur))
(make-teeny-markup ; note
smaller than Lilypond default
(make-note-by-number-markup (ly:duration-log dur)
(ly:duration-dot-count dur)
1))
#f))
(count-markup (cond ((number? count)
(if (> count 0)
(number->string count)
#f))
((pair? count)
(make-concat-markup
(list
(number->string (car count))
(ly:wide-char->utf-8 #x2009) ; x2009:
"thin space"
(if (string? bet-sym-def)
bet-sym-def
(ly:wide-char->utf-8 #x2013)) ; x2013: "en
dash"
(ly:wide-char->utf-8 #x2009) ; x2009:
"thin space"
(number->string (cdr count)))))
(else #f)))
(note-markup (if (and (not hide-note) count-markup)
(make-concat-markup
(list
(make-general-align-markup Y DOWN note-mark)
" "
(if (string? eq-sym-def)
eq-sym-def
(ly:wide-char->utf-8 #x3d))
" "
(if (eq? col #f)
count-markup
(make-with-color-markup col count-markup))))
#f))
(text-markup (if (not (null? text))
(make-large-markup (make-bold-markup text)) ; text
larger than Lilypond default
#f)))
(if text-markup
(if (and note-markup (not hide-note))
(make-line-markup (list text-markup
(if hide-paren
note-markup
(make-concat-markup
(list "("
note-markup
")")))))
(make-line-markup (list text-markup)))
(if note-markup
(make-line-markup (list note-markup))
(make-null-markup)))))
% Avoid errors of not defined properties
#(define (define-translator-property symbol type? description)
(if (not (and (symbol? symbol)
(procedure? type?)
(string? description)))
(ly:error "error in call of define-translator-property"))
(if (not (equal? (object-property symbol 'translation-doc) #f))
(ly:error (_ "symbol ~S redefined") symbol))
(set-object-property! symbol 'translation-type? type?)
(set-object-property! symbol 'translation-doc description)
symbol)
#(for-each
(lambda (x)
(apply define-translator-property x))
`((tempoHideParenthesis
,boolean?
"Hide the parenthesis around the metronome markup with text")
(tempoEquationText
,string?
"initially ''='' in the metronome markup")
(tempoBetweenText
,string?
"initially ''-'' in the metronome markup")
(tempoNumberColor
,list?
"alternate color, in which the tempo value should be displayed")))
% Sets this formatter as default formatter
\layout {
\context {
\Score
metronomeMarkFormatter = #format-metronome-markup-custom
}
}
%%% END of snippet. Below is an example of use
\paper {
system-system-spacing.basic-distance = #18
tagline = ##f
}
%\markup { \null \translate #'( 1 . -3 ) \null } % 2.14.2 LSR problem workaroud
\score {
\new Staff {
\tempo 4 = 80
c'1^" "_"»originally after included this code sample«"
\tempo "Allegro di Largo" 4 = 84
c' \break
\once \set Score.tempoHideParenthesis = ##t
\set Score.tempoEquationText = "≈"
\tempo "Allegro di Larghetto" 4 = 88
c'^" "_"\\once \\set Score.tempoHideParenthesis = ##t"
\break
\set Score.tempoEquationText = "= ca."
\tempo "Allegro lento" 4 = 96
c'^" "_"\\set Score.tempoEquationText = \"= ca.\""
\break
\unset Score.tempoEquationText
\once \set Score.tempoNumberColor = #red
\tempo 4 = 108
c'^" "_"\\unset Score.tempoEquationText \\set Score.tempoNumberColor =
#red"
\break
\set Score.tempoNumberColor = #blue
\set Score.tempoEquationText = "="
\set Score.tempoBetweenText= "~"
\tempo "Allegro monumentale" 4 = 80-88
c'^" "_\markup \column {
"\\set Score.tempoNumberColor = #blue"
"\\set Score.tempoEquationText = \"=\""
"\\set Score.tempoBetweenText= \"~\""
}
\break
\set Score.metronomeMarkFormatter = #format-metronome-markup
\override TextScript.outside-staff-priority = #1000
\tempo "Tempo I" 4 = 80
c'^" "_\markup \column {
"\\set Score.metronomeMarkFormatter = #format-metronome-markup"
"(which is LILYPOND's default Metronome Mark Formatter)"
}
\bar "|."
}
\header {
piece = \markup \column {
"»Score.metronomeMarkFormatter = #format-metronome-markup-custom«"
"is assigned by a layout definition in this example"
%\null
}
}
}
OpenPGP_signature
Description: OpenPGP digital signature
