Wed 14 Jul 2010 11:07:54 PM UTC, comment #1:
I have managed to script this. It looks like it works.
There are several new commands. The basic ones turn typesetting on or off in all staffs simultaneously via the lilypond commands \set Score.skipTypesetting = ##t or ##f. Then there is a command that jumps around in the score, putting in standalone lily directives to only typeset from the current point out to a given number of bars ahead. It then print previews all staffs for those bars, and afterwards cleans up after itself by deleting those directives, ending right where it started.
I wasn't sure which menu was best; ended up putting them in the Score menu. This could be changed, of course.
It seems like lilypond digests it quickly, testing it on modest sized scores.
-Dan W.
Typesetting Off:
(d-DirectivePut-standalone-postfix "Typesetting Control" "\\set Score.skipTypesetting = ##t")
(d-MoveCursorLeft)
(d-DirectivePut-standalone-display "Typesetting Control" "TypesetOff")
Typesetting On:
(d-DirectivePut-standalone-postfix "Typesetting Control" "\\set Score.skipTypesetting = ##f")
(d-MoveCursorLeft)
(d-DirectivePut-standalone-display "Typesetting Control" "TypesetOn")
Preview4Bars: (change N to change number of bars)
(let ((N 4)) ;set N to be number of bars to preview
(define (MoveRightNBars NumBars)
(if (> NumBars 0)
(begin
(d-MoveToMeasureRight)
(MoveRightNBars (- NumBars 1)))
))
(d-TypesettingOn) ;shows this bar and the next 2-by DRW
(d-PushPosition)
(MoveRightNBars N)
(d-TypesettingOff)
(d-PushPosition)
(d-MoveToBeginning)
(d-TypesettingOff)
(d-PrintPreview)
(d-DeleteObject)
(d-PopPosition)
(d-DeleteObject)
(d-PopPosition)
(d-DeleteObject)
) ;let
(file #20977, file #20978, file #20979)
|
Wed 14 Jul 2010 01:05:46 PM UTC, original submission:
Quote from DESIGN.lilypond:
Well, mainly, it just doesn't seem that there's much advantage to a GUI environment for putting playing directions directly into the music, fine-tuning the way the music is beamed, putting multiple independent voices onto the same staff, adjusting a staff's relative position, and other things like that.
I say, yes there is an advantage! Namely, lilyponding a huge score can take a long time. If I want to tweak a few slurs, beams, voice collisions, etc., it can be much, much easier in a gui if we had a command that previewed JUST the current screen or so of the score--so a miniature lilypond score would be generated, processed and displayed in the print view window at a keypress. Trying to do this in text is a much greater hassle.
I have used lilypond on a large orchestral score and I found the tweaking process to be very frustratingly slow. There may be features in lilypond to isolate certain measures for typesetting, but I only know of the one that just does the last 10 bars or so--not helpful if you need to see something in the middle of the piece. If there is already a good command for this type of thing in lilypond, then denemo could use that for this command--setting the start bar to the first one displayed and showing the next 3 or 4 bars depending on the complexity and meter. Just need to be sure it's pretty fast and doesn't process the whole piece too much.
-Dan W.
|