Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(33)

Delta Between Two Patch Sets: input/regression/scheme-text-spanner.ly

Issue 7185044: Caches the interior skylines of vertical axis groups and systems. Base URL: http://git.savannah.gnu.org/gitweb/?p=lilypond.git/trunk/
Left Patch Set: Incorporates David's suggestions Created 12 years, 1 month ago
Right Patch Set: Gives Hairpin outside-staff-interface Created 11 years, 11 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
Right: Side by side diff | Download
LEFTRIGHT
(no file at all)
1 \version "2.17.6" 1 \version "2.17.6"
2 2
3 \header { 3 \header {
4 texidoc = "Use @code{define-event-class}, scheme engraver methods, 4 texidoc = "Use @code{define-event-class}, scheme engraver methods,
5 and grob creation methods to create a fully functional text spanner 5 and grob creation methods to create a fully functional text spanner
6 in scheme." 6 in scheme."
7 } 7 }
8 8
9 #(define my-grob-descriptions '()) 9 #(define my-grob-descriptions '())
10 10
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 (outside-staff-priority . 350) 73 (outside-staff-priority . 350)
74 (right-bound-info . ,ly:line-spanner::calc-right-bound-info) 74 (right-bound-info . ,ly:line-spanner::calc-right-bound-info)
75 (staff-padding . 0.8) 75 (staff-padding . 0.8)
76 (stencil . ,ly:line-spanner::print) 76 (stencil . ,ly:line-spanner::print)
77 (style . dashed-line) 77 (style . dashed-line)
78 78
79 (meta . ((class . Spanner) 79 (meta . ((class . Spanner)
80 (interfaces . (font-interface 80 (interfaces . (font-interface
81 line-interface 81 line-interface
82 line-spanner-interface 82 line-spanner-interface
83 outside-staff-interface
83 side-position-interface)))))) 84 side-position-interface))))))
84 85
85 #(define scheme-event-spanner-types 86 #(define scheme-event-spanner-types
86 '( 87 '(
87 (SchemeTextSpanEvent 88 (SchemeTextSpanEvent
88 . ((description . "Used to signal where scheme text spanner brackets 89 . ((description . "Used to signal where scheme text spanner brackets
89 start and stop.") 90 start and stop.")
90 (types . (general-music scheme-text-span-event span-event event)) 91 (types . (general-music scheme-text-span-event span-event event))
91 )) 92 ))
92 )) 93 ))
(...skipping 28 matching lines...) Expand all
121 #(define (set-axis! grob axis) 122 #(define (set-axis! grob axis)
122 (if (not (number? (ly:grob-property grob 'side-axis))) 123 (if (not (number? (ly:grob-property grob 'side-axis)))
123 (begin 124 (begin
124 (set! (ly:grob-property grob 'side-axis) axis) 125 (set! (ly:grob-property grob 'side-axis) axis)
125 (ly:grob-chain-callback 126 (ly:grob-chain-callback
126 grob 127 grob
127 (if (eq? axis X) 128 (if (eq? axis X)
128 ly:side-position-interface::x-aligned-side 129 ly:side-position-interface::x-aligned-side
129 side-position-interface::y-aligned-side) 130 side-position-interface::y-aligned-side)
130 (axis-offset-symbol axis))))) 131 (axis-offset-symbol axis)))))
132
133 #(define (outside-staff-interface::chain-y-offset-callback grob)
134 (ly:grob-chain-callback
135 grob
136 outside-staff-interface::y-aligned-side
137 (axis-offset-symbol Y)))
131 138
132 schemeTextSpannerEngraver = 139 schemeTextSpannerEngraver =
133 #(lambda (context) 140 #(lambda (context)
134 (let ((span '()) 141 (let ((span '())
135 (finished '()) 142 (finished '())
136 (current-event '()) 143 (current-event '())
137 (event-drul '(() . ()))) 144 (event-drul '(() . ())))
138 (make-engraver 145 (make-engraver
139 (listeners ((scheme-text-span-event engraver event) 146 (listeners ((scheme-text-span-event engraver event)
140 (if (= START (ly:event-property event 'span-direction)) 147 (if (= START (ly:event-property event 'span-direction))
(...skipping 14 matching lines...) Expand all
155 (ly:warning "You're trying to end a scheme text spanner but you h aven't started one.") 162 (ly:warning "You're trying to end a scheme text spanner but you h aven't started one.")
156 (begin (set! finished span) 163 (begin (set! finished span)
157 (ly:engraver-announce-end-grob trans finished current-even t) 164 (ly:engraver-announce-end-grob trans finished current-even t)
158 (set! span '()) 165 (set! span '())
159 (set! current-event '()) 166 (set! current-event '())
160 (set-cdr! event-drul '())))) 167 (set-cdr! event-drul '()))))
161 (if (ly:stream-event? (car event-drul)) 168 (if (ly:stream-event? (car event-drul))
162 (begin (set! current-event (car event-drul)) 169 (begin (set! current-event (car event-drul))
163 (set! span (ly:engraver-make-grob trans 'SchemeTextSpanner cur rent-event)) 170 (set! span (ly:engraver-make-grob trans 'SchemeTextSpanner cur rent-event))
164 (set-axis! span Y) 171 (set-axis! span Y)
172 (outside-staff-interface::chain-y-offset-callback span)
165 (set-car! event-drul '())))) 173 (set-car! event-drul '()))))
166 ((stop-translation-timestep trans) 174 ((stop-translation-timestep trans)
167 (if (and (ly:spanner? span) 175 (if (and (ly:spanner? span)
168 (null? (ly:spanner-bound span LEFT))) 176 (null? (ly:spanner-bound span LEFT)))
169 (set! (ly:spanner-bound span LEFT) 177 (set! (ly:spanner-bound span LEFT)
170 (ly:context-property context 'currentMusicalColumn))) 178 (ly:context-property context 'currentMusicalColumn)))
171 (if (ly:spanner? finished) 179 (if (ly:spanner? finished)
172 (begin 180 (begin
173 (if (null? (ly:spanner-bound finished RIGHT)) 181 (if (null? (ly:spanner-bound finished RIGHT))
174 (set! (ly:spanner-bound finished RIGHT) 182 (set! (ly:spanner-bound finished RIGHT)
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 216
209 \relative c' { 217 \relative c' {
210 a4 b\schemeTextSpannerStart c d | 218 a4 b\schemeTextSpannerStart c d |
211 \repeat unfold 20 { a4 b c d | } 219 \repeat unfold 20 { a4 b c d | }
212 a4 b c\schemeTextSpannerEnd d | 220 a4 b c\schemeTextSpannerEnd d |
213 \override SchemeTextSpanner.to-barline = ##t 221 \override SchemeTextSpanner.to-barline = ##t
214 a4\schemeTextSpannerStart b d c | 222 a4\schemeTextSpannerStart b d c |
215 \repeat unfold 20 { a4 b c d | } 223 \repeat unfold 20 { a4 b c d | }
216 a1\schemeTextSpannerEnd | 224 a1\schemeTextSpannerEnd |
217 } 225 }
LEFTRIGHT

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b