denemo-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Denemo-devel] Custom buttons.


From: Richard Shann
Subject: [Denemo-devel] Custom buttons.
Date: Mon, 12 Oct 2009 11:11:59 +0100

You can now arrange to have commands of your choice on a button bar at
the top of the score automatically loaded at startup and at file load
time.
There is no real user interface to this yet, but, as an example, if you
put the following scheme into ~/.denemo/actions/denemo.scm
then you will get a Score Size button, to control the output font of the
score when printed. It permanently tells you what the size of the score
font will be and allows you to change it at the click of a mouse.
I have in mind being able to drag any menu item off onto the button bar
and get a button for the item, re-instated every time you start Denemo.
This is only a little way off. The script I have made is a bit fancier
than just the menu command repeated on the button bar - it displays the
current font size as well. Perhaps the menu command could do that?

I was prompted to do this work because Score Size is one of my most
frequently used commands at print time, and every time I would do
Edit->Score Properties->Paper->Font Size, so I thought I should fix
this. When I looked, I found I had already "fixed" it, giving a menu
command Score->(Print)Set Overall Score Size, which I had then forgotten
about. And as it is buried with all the other things I never use, I had
reverted to old habits, using the convoluted sequence that used to be
the only way to change the output font size. I could delete all the
commands I never use, but then I would have to maintain a separate
Default.cmdset, slowing down development, so I try to use the command
sets in the distribution. Of course, I can give this command a keyboard
shortcut, but unless I can have a place for my most used commands, I
will forget again, hence the new facility.

Richard 
- script follows:

 ;;;Create a Score Size button
(define SetScoreSize::Size  (d-ScoreProperties "query=fontsize"))
(define (SetScoreSize::Set)
  (begin
        (d-SetFontSize) 
        (set! SetScoreSize::Size (d-ScoreProperties "query=fontsize"))
        (if (string? SetScoreSize::Size)
         (d-DirectivePut-score-display "SetScoreSize::Set"  (string-append
"Font Size:" SetScoreSize::Size)))))

(CreateButton "SetScoreSize::Set" (string-append "<span font_desc=\"12
\">Score Font: " SetScoreSize::Size "</span>"))

(d-SetDirectiveTagActionScript "SetScoreSize::Set"
"(SetScoreSize::Set)")

;;;;;;;;;;;; end script





reply via email to

[Prev in Thread] Current Thread [Next in Thread]