[Top][All Lists]

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

Re: ottava signs

From: Joram
Subject: Re: ottava signs
Date: Tue, 1 Oct 2019 23:13:08 +0200

Dear Malte,

thanks for taking care about the ottava signs. I had workarounds for
these three issues and would like to comment on your patches so far:

1. ottava for arbitrary octavations (>2)
2. nice line spanners (top- or bottom-aligned, dotted etc.)
3. ottava text formatting (8 vs. 8va vs. 8^{va})

1. ottava for arbitrary octavations (>2)

This currently produces broken output:
{ \ottava #3 a }
The warning in your patch¹ addresses that and the patch extends the
default range up to ± 4 which seems enough (I am not sure how far the
…ma naming works correctly in italian). The code below does it for any

2. nice line spanners (top- or bottom-aligned, dotted etc.)

Thanks for the dotted edges. Very much appreciated. Can they be
top-aligned above the staff and bottom-aligned below the staff? That’s
what I would prefer (cf. your question to foxfanfare in the last mail).

3. ottava text formatting

I like your patch¹ a lot. It is very close to what I used for a few
years now (code below). The code below shows how this workaround is
already possible with current versions by redefining \ottava. I've also
chosen a fontsize -2.

However, the reasoning in the SMuFL 1.3 specifications ("Implementation
notes") about "ma" vs. "mb" convinced me that 15mb does not make sense
and I’d suggest to use 15ma etc. as default setting.

I would even change the style to bold italic.


² SMuFL 1.3:
(Btw, there are significant changes in naming since 1.0 which also hint
at what the authors consider good practice or nonsensical – see also
"Implementation notes".)

--- ----------------

% Redefinition of the ottava function with bold text and superscripts.
% This change includes the definition of shifts of more than 2 octaves.

ottava =
#(define-music-function (octave) (integer?)
   (_i "Set the octavation.")
     #(make-music 'OttavaMusic 'ottava-number octave)
     \set Staff.ottavation =
     #(if (< octave -1) #{ \markup \concat {
         #(number->string (+ 1 (* -7 octave)))
         \fontsize #-2 "ma" } #}
      (if (= octave -1) #{ \markup \concat { "8" \fontsize #-2 "va" } #}
      (if (= octave +0) #f
      (if (= octave +1) #{ \markup \concat { "8" \fontsize #-2
                           \translate-scaled #'(0 . 0.85) "va" } #}
                        #{ \markup \concat {
                          #(number->string (+ 1 (* 7 octave)))
                          \fontsize #-2
                          \translate-scaled #'(0 . 0.85) "ma" } #}

reply via email to

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