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.