Hi,

I sent the message below to the list on Dec 4th, but haven’t received
any reply to it yet. Maybe nobody noticed, or maybe I should have asked
more explicitly: should I open a bug report for it?

Thanks,
Nils

-----Original Message-----
From: Nils Philippsen <[email protected]>
To: [email protected]
Subject: Unable to temporarily unset swing feel
Date: 12/04/2025 12:41:43 PM

Hi,

using `swing.ly`, I found that I can’t use `\applySwing … #'(1)` (or
variations like `#'(1 1)`, `#'(2 2)`) to have short phrases rendered
straight in MIDI in a largely swung context.

Here’s a short example:

--- 8< ---
\version "2.25.30"

\include "swing.ly"

measure = { c8 d e f g f e d }

\score {
  \relative c' {
    \tripletFeel 8 {
      \sectionLabel "Swing"
      \measure
  
      \sectionLabel "Should be straight"
      \applySwing 8 #'(1) {
        \measure
      }
  
      \sectionLabel "Straight (workaround)"
      \applySwing 8 #'(1000 999) {
        \measure
      }
    }
  }
  \layout { }
  \midi { }
}
--- >8 ---

In the rendered MIDI, the first measure should be swung, the second
shouldn’t (but is) and the third is a hack making two eighths almost
exactly the same length, but not quite.

As I understand it the docs, `\applySwing 8 #'(1)` should make
consecutive eighths performed for the same duration but it seems as if
there might be an optimization if the weights are all the same to not
do anything to the (performed) note lengths.

Ideally, the script would come with e.g. a `\noSwing { … }` command,
but that would be a feature request (which I would dare my luck at
implementing, once the issue above is out of the way – I haven’t
wrapped my mind sufficiently around Lips/Scheme to find the cause of it
sadly).

Cheers,
Nils

-- 
Nils Philippsen / Leonberg / Germany 
[email protected] / [email protected]
PGP fingerprint: D0C1 1576 CDA6 5B6E BBAE 95B2 7D53 7FCA E9F6 395D

Reply via email to