bugDenemo - Bugs: bug #28350, Dynamics don't print on chords.


bug #28350: Dynamics don't print on chords.

Submitted by:  None
Submitted on:  Sun 20 Dec 2009 12:18:38 AM UTC  
Category:  None Severity:  3 - Normal
Item Group:  None Status:  Fixed
Privacy:  Public Assigned to:  None
Open/Closed:  Closed

Add a New Comment (Rich Markup)

You are not logged in

Please log in, so followups can be emailed to you.


( Jump to the original submission)

Thu 31 Dec 2009 03:42:11 PM UTC, comment #8: 

I'm glad you tweaked it--I'm far from fluent in scheme.  Glad too to be of help.  There was a sort of half-hearted attempt to make the script its own editscript (thus the replace variable)--but I didn't follow through completely and maybe a separate editscript would be best.
-Dan W.

Thu 31 Dec 2009 08:51:28 AM UTC, comment #7: 

Great - I have tweaked it slightly: most controversially I have put \bold \italic when the text is entered by the user. This could be wrong if the intention is to allow for other LilyPond defined dynamics, rather than to allow for arbitrary text. (Oh, and the {} need to enclose the text, at least in the case of spaces within).
But these tweaks can be tweaked - the whole thing unpacked and installed with the greatest of ease.
Eventually we could have an edit script - actually just a delete would do, as it is easy to replace a wrong dynamic.
Thank you. Now in git.

Richard Shann <rshann>
Project Administrator
Thu 31 Dec 2009 03:44:11 AM UTC, comment #6: 

This version I think is pretty complete.  It has midi volume levels for ppp through fff, but not for sf and such.  It uses graphics instead of the regular font for the denemo display, and a little unicode diamond to show the location of the directive so that you can edit it.  The png's are attached and need to go into actions/bitmaps.  The script is attached and for what it's worth, pasted here as well.
I hope this is useful.
-Dan W.

;;;; Standalone Dynamics -by Dan Wilckens
(let ((choice #f)(X 0)  (replace #f) (level "63")(LilyString "")(Graphic "")  (DynamicList "") )
(if (equal? (d-GetType) "LILYDIRECTIVE" )
(if (equal? (d-DirectiveGetTag-standalone) "Dynamic" )
(set! replace #t )
; format: dynamics, midi volume, image filename
(set! DynamicList '(("fff" "127" "Fortississimo")("ff" "111" "Fortissimo") ("f" "95" "Forte") ("mf" "79" "MezzoForte")("mp" "63" "MezzoPiano") ("p" "47" "Piano") ("pp" "31" "Pianissimo") ("ppp" "15" "Pianississimo") ("Other" "60" "") ("ppppp" "5" "ppppp")("pppp" "7" "pppp")("ffff" "127" "ffff") ("fp" "" "fp")
   ("sf" "" "sf") ("sff" "" "sff") ("sp" "" "sp" ) ("spp" "" "spp") ("sfz" "" "sfz") ("rfz" "" "rfz") ("Custom" "" "")))
(set! choice (d-GetOption (string-append "fff" stop "ff" stop "f" stop "mf" stop "mp" stop "p" stop "pp" stop "ppp" stop "Other" stop )))

(if (equal? choice "Other")
   (set! choice (d-GetOption (string-append "ppppp" stop "pppp" stop  "ffff" stop "fp" stop "sf" stop  "sff" stop "sp"  stop "spp" stop "sfz" stop "rfz" stop "Custom" stop ) )) )
   (set! LilyString (string-append "s8*0 \\" choice  ))
(set! X (assoc choice DynamicList) )
(set! level (car (cdr X)) )
(set! Graphic (car (cdr (cdr X) ) ) )
(if (equal? choice "Custom" ) (begin
   (set! choice (d-GetUserInput "Custom dynamic" "Enter dynamic text:" "" ) )
        (set! LilyString (string-append  "s8*0_\\markup { \\dynamic " choice " } " ))
(if (equal? level "")
   (set! level (d-GetUserInput "Dynamic setting" "Enter loudness level (0-127):" "63" ) )
   (let ( (a 0))
      (set! a (string->number level) )
      (if (or (boolean? a) (> a 127) (< a 0) )(set! level #f) )
( if (not (boolean? choice) )
    ( if (equal? replace #f ) (d-DirectivePut-standalone "Dynamic" ) )
(d-DirectivePut-standalone-postfix "Dynamic"  LilyString)
(if (equal? Graphic "")
(d-DirectivePut-standalone-display  "Dynamic" choice)
(d-DirectivePut-standalone-ty "Dynamic" 70 )
(d-DirectivePut-standalone-graphic "Dynamic" "")
   (d-DirectivePut-standalone-graphic "Dynamic" Graphic)
   (d-DirectivePut-standalone-gy "Dynamic" 70 )
   (d-DirectivePut-standalone-gx "Dynamic" 5 )
(d-DirectivePut-standalone-display  "Dynamic" "◆")
(d-DirectivePut-standalone-ty "Dynamic" 60 )
        (if (not (boolean? level) )
           (begin (d-DirectivePut-standalone-override "Dynamic" (logior DENEMO_OVERRIDE_STEP DENEMO_OVERRIDE_VOLUME))
      (d-DirectivePut-standalone-midibytes "Dynamic" level ) )
(d-DirectivePut-standalone-minpixels "Dynamic" 10 )

(file #19399, file #19400)

Wed 30 Dec 2009 09:22:35 PM UTC, comment #5: 

If you were going to add this script, don't do it yet.  I have a version which uses graphics for the dynamics--I'll submit it pretty soon along with a few png files that seem to be lacking.
-Dan W.

Tue 29 Dec 2009 03:41:13 PM UTC, comment #4: 

I have a script that allows insertion of standalone dynamics commands, including all the obscure ones from lilypond such as /ffff, with midi volume changes for the common ones, and the possibility to insert custom dynamics as mentioned in the lilypond 2.12.xx documentation.  I don't have access to current denemo on linux.  Is there a way to manually upload commands?  For the moment I'm including the script as an attachment, which includes the xml stuff.  You might want to change the name, etc.
-Dan W.

(file #19389)

Tue 22 Dec 2009 08:16:09 PM UTC, comment #3: 

Those ones under Insert Dynamics are old built-ins. We are just waiting for someone to write a complete set of standalones, with MIDI volume changes etc.

Richard Shann <rshann>
Project Administrator
Sun 20 Dec 2009 12:23:14 AM UTC, comment #2: 

Lastly, one further benefit to standalone directives, as before, is that you can insert a dynamic level before you start to enter notes on a blank score (trying to enter chord-attached directives won't do anything to a blank score)
-Dan W.

Sun 20 Dec 2009 12:21:39 AM UTC, comment #1: 

Another reason to go to standalone or regular chord-attached directives is that I don't know of any way to change the dynamics once they're there, other than by deleting the note/chord entirely.

Sun 20 Dec 2009 12:18:38 AM UTC, original submission:  

It looks like that using insert dynamics to put a dynamic marking onto a chord doesn't work.  To see this,
From a blank score, insert a 2-note chord, e.g. C E.
Use Insert Dynamics to insert a p dynamic marking.
Print preview it- and there's no dynamic mark at all.

Perhaps dynamics could be a standalone directive like tempo marks, etc.? 



(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

Attached Files
file #19399:  DynamicPngs.zip added by None (26KiB - application/zip)
file #19400:  DynamicsOmnibus added by None (3KiB - application/octet-stream)
file #19389:  DynamicsOmnibus added by None (2KiB - application/octet-stream)


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by steele (Updated the item)
  • -email is unavailable- added by rshann (Posted a comment)

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.




    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2010-12-04 steele Open/ClosedOpen => Closed
    2009-12-31 rshann StatusNone => Fixed
    2009-12-31 None Attached File- => Added DynamicPngs.zip, #19399
        Attached File- => Added DynamicsOmnibus, #19400
    2009-12-29 None Attached File- => Added DynamicsOmnibus, #19389

    Back to the top

    Powered by Savane 3.5