On Mon, 2024-09-09 at 23:01 -0400, Bric wrote:
> Attaching a screenshot of misaligned
in the display? or in the typeset? 
>  swing tuplet
> 
> This is a 3/4 time signature.  Apparently the swing code isn't
> handling the dotted durations properly.

What command are you using? There is this one:
Command: Swing Staff
Changes the playback duration of pairs of 𝅘𝅥𝅮  notes for swing or notes
inègales. Does not affect typesetting.
Location: Object Menu ▶ Staffs/Voices ▶ Playback
Internal Name: SwingStaff

as it says it only changes the playback duration of pairs of 1/8th
notes. It does not affect the typeset, and only affects the display
inasmuch as it marks in blue notes whose durations have been tweaked.

To do anything more complex you need the command:

Command: Change Sounding Duration
Changes the duration of the note a the cursor for playback purposes,
typesetting unaffected.
Location: Object Menu ▶ Notes/Rests ▶ Playback
Internal Name: ChangeSoundingDuration

>   Or maybe missing a more generalized tuplet position calculation. 
> Denemo highlights the wrong two notes blue (should be the last two
> notes in the measure), and plays them back true to the incorrect
> highlighting (misaligned))
> 
> 
> ====================
> 
> I once had a go at coding swing tuplets in a sequence --
> successfully, wasn't complex... below is the description of what i
> did, IIRC, just in case
> 
> Using 0-remainder to detect start of tuplet (duplet?) position. Let
> x={swing notation note duration (written, not actual, typically an
> eighth)}, then 2x would equal swing tuplet duration. Divide the given
> notation-based position by 2x; if remainder is zero, the given note
> is at the start of a (theoretical) swing tuplet position. Then go
> from there to check the actual duration -- if an eight, then the
> following note -- its swing pair -- gets compressed and shifted
> forward, according to swing ratio, in the audio playback. This, of
> course, if not within an explicit triplet group
> 
> I don't know C (did the above in some scripted language),

you don't need C to change the duration of a note, you can do it
without recompiling Denemo, look at the code for the above command
(right click on the menu item and choose "Get Script into Scheme
Window" to see the script used).

Richard

>  so probably wouldn't be able to actually help with the code.


Reply via email to