Thanks for this. The cue script is not working where there are two
staffs with identical names (and you need them to have identical names
to be able to print the part easily). I have tweaked the script so that
it includes the staff number with the name, and now it works.
Question is: how can you most easily upgrade your script to the new one?
Method One:
Get the new zip file version of Denemo.
http://denemo.org/~jjbenham/gub/uploads/denemo-mingw-1.2.2.zip
You can put this file anywhere convenient (even on a usb memory stick)
and extract it (this takes *ages* to do on windows). Then launch Denemo
from its top level directory.
This is a portable version of Denemo that you can run anywhere. (I'm
intending to test it out at my local library just as soon as I can get
out and about again).
It feels much safer to be messing around with this, as you can't do any
damage - just delete it if it gets messed up.
Then replace the file InstallCue.scm with the one attached here. (Where
is InstallCue.scm? A search should find it in actions\menus\ObjectMenu
\Directives\Typesetter\InstallCue.scm).
Method Two:
the same, but use your current install.
That is, change the file in C:\Program Files\Denemo\usr\share\denemo
\actions\menus\ObjectMenu\Directives\Typesetter\
To do this latter you need elevated permissions ...
HTH
Richard
On Tue, 2015-03-03 at 07:50 -0500, Ellen Schwindt wrote:
> Hello Richard and all,
>
> I'm using Denemo 1.2.1 downloaded from Jeremiah's directory on
> January 25th. The file is actually called denemo-0.0.0-0.mingw.
>
>
> My question is about cues. I'm using dynamic staves and I want to use
> the install cue function. When I go to typesetter--install cue and
> select either one of the viola options--both the real staff and the
> dynamic staff--I get cues from the dynamic staff. I've attached a
> sample file that I hope is small enough.
>
>
> Can somebody enlighten me? I think it would be great to have an easy
> cue function, but I'm not making it work yet.
>
> Thank you!
>
> -Ellen
>
> _______________________________________________
> Denemo-devel mailing list
> [email protected]
> https://lists.gnu.org/mailman/listinfo/denemo-devel
;;;;InstallCue
(let ((tag "InstallCue")(params InstallCue::params)(cuename #f)(clef (d-GetPrevailingClef)))
(define (get-cuenames theclef)
(define cuenames '())
(define this-movement (number->string (d-GetMovement)))
(define this-staff (d-GetStaff))
(define transpose #f)
(define (unique-staff-name)
(string-append (d-StaffProperties "query=denemo_name") (number->string (d-GetStaff))))
(if (d-Directive-score? "GlobalTranspose")
(set! transpose (d-GetUserInput (_ "Transpose Cue") (_ "Give note (in LilyPond notation) that middle C should transpose to\nin this cue:") "c'")))
(d-PushPosition)
(while (d-MoveToStaffUp))
(let loop ((count 0))
(define clef (d-GetPrevailingClef))
(if (not (= this-staff (d-GetStaff)))
(set! cuenames (cons
(cons (unique-staff-name)
(cons (if (d-Directive-score? "GlobalTranspose")
(begin
(if transpose
(if (equal? clef theclef)
(string-append "\\transposedCueDuring #\"" (unique-staff-name) " Mvmnt " this-movement "\" #1 " transpose " {")
(string-append "\\transposedCueDuringWithClef #\"" (unique-staff-name) " Mvmnt " this-movement "\"#1 " transpose " #\"" (string-downcase clef 0 1) "\" {"))))
(begin
(if (equal? clef theclef)
(string-append "\\cueDuring #\"" (unique-staff-name) " Mvmnt " this-movement "\"#1 {")
(string-append "\\cueDuringWithClef #\"" (unique-staff-name) " Mvmnt " this-movement "\"#1 #\"" (string-downcase clef 0 1) "\" {"))))
(string-append "\\addQuote \"" (unique-staff-name) " Mvmnt " this-movement "\" \\"(d-GetVoiceIdentifier) "\n")))
cuenames)))
(if (d-MoveToStaffDown)
(loop (1+ count))))
(d-PopPosition)
cuenames)
(if (equal? params "edit")
(begin
(if (equal? "}" (d-DirectiveGet-standalone-postfix tag))
(d-InfoDialog (_ "This marks the end of a cue - where notes from another part are printed.\nThis marker can be cut and pasted to another position to alter the extent of the cue."))
(d-InfoDialog (_ "This marks the start of a cue - if you make an alteration to the number of staffs you will need to delete this cue and remake it.
Watch out that you do not end up with two End Cue directives
as this will not typeset."))))
(let ((deftag "CuesUsed"))
(d-DirectivePut-score-prefix deftag (string-append "\ntransposedCueDuringWithClef =
#(define-music-function
(parser location what dir pitch clef main-music)
(string? ly:dir? ly:pitch? string? ly:music?)
(make-music 'QuoteMusic
'element main-music
'quoted-context-type 'CueVoice
'quoted-context-id \"cue\"
'quoted-music-name what
'quoted-music-clef clef
'quoted-voice-direction dir
'quoted-transposition pitch))\n"))
(d-DirectivePut-score-display deftag deftag)
(d-DirectivePut-score-override deftag DENEMO_OVERRIDE_AFFIX)
(set! cuename (get-cuenames clef))
(if (null? cuename)
(begin
(d-WarningDialog (_ "There are no other staffs for this one to take a cue from.")))
(begin
(set! cuename (RadioBoxMenuList cuename))
(if cuename
(begin
(d-DirectivePut-score-prefix (cdr cuename) (cdr cuename))
(d-Directive-standalone tag)
(d-DirectivePut-standalone-minpixels tag 30)
(d-DirectivePut-standalone-postfix tag (car cuename))
(d-DirectivePut-standalone-display tag (_ "Start Cue"))
(d-DirectivePut-standalone-graphic "InstallCue" "
[
Denemo 48")
(d-PushPosition)
(GoToMeasureEnd)
(if (d-Directive-standalone? tag)
(if (d-MoveToMeasureRight)
(GoToMeasureEnd)
(d-WarningDialog (_ "Nowhere to place the End Cue marker"))))
(if (d-Directive-standalone? tag)
(d-DirectiveDelete-standalone tag)
(begin
(d-Directive-standalone tag)
(d-DirectivePut-standalone-minpixels tag 30)
(d-DirectivePut-standalone-display tag (_ "End Cue"))
(d-DirectivePut-standalone-graphic "InstallCue" "
]
Denemo 48")
(d-DirectivePut-standalone-postfix tag "}")))
(d-SetSaved #f)
(d-RefreshDisplay)
(d-PopPosition))))))))
_______________________________________________
Denemo-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/denemo-devel