+1.3.23.jcn1
+===========
+
+* Made quanting lists in scm/paper.scm comply with actual quantise_iv
+ algorithm: period = quants.top () - quants[0]. This fixes beam
+ vertical quanting problems. Beam quanting should now actually be
+ better than 1.2.17, which has a symmetry problem as revealed by the
+ new input/test/beam-pos.ly.
+
1.3.22.hwn2
===========
-\version "1.3.5";
+\header{
+filename = "beam-pos.ly";
+composer = "jcn";
+enteredby = "jcn";
+copyright = "PD";
-\score{
- \notes\transpose c''{
- % \property Score.beamQuantisation = 'test
+TestedFeatures = "beam quant positions";
+}
- [c8 c] [c c] [c c] [c c]
- [a' a'] [a' a'] [a' a'] [a' a']
- [c16 c] [c c] [c c] [c c]
- [a' a'] [a' a'] [a' a'] [a' a']
+\score{
+ \notes\relative c' {
+ [c8 c] [a'' a]
+ [a, a] [c c]
+ [d,8 d] [g' g]
+ [g, g] [d' d]
+ [c,16 c c c] [a'' a a a]
+ [a, a a a] [c c c c]
+ \break
+ [c,32 c c c c c c c] [a'' a a a a a a a]
+ [f, f f f f f f f] [e' e e e e e e e]
+ \break
+ [c,8 d] [a'' g]
+ [g, f] [d' e]
+ \break
}
\paper{
- castingalgorithm = \Wordwrap;
- linewidth = 60.0\mm;
}
}
(define beam-sit (/ (+ beam-thickness staff-line) 2))
(define beam-hang (- 1 (/ (- beam-thickness staff-line) 2)))
+;; Note: quanting period is take as quants.top () - quants[0],
+;; which should be 1 (== 1 interline)
+
(define beam-normal-dy-quants
(list 0 (/ (+ beam-thickness staff-line) 2) (+ beam-thickness staff-line) 1))
;; two popular veritcal beam quantings
;; see params.ly: #'beam-vertical-quants
(define (beam-normal-y-quants multiplicity dy)
- (let ((quants (list beam-hang 1)))
+ (let ((quants (list beam-hang)))
(if (or (<= multiplicity 1) (>= (abs dy) (/ staff-line 2)))
(set! quants (cons beam-sit quants)))
(if (or (<= multiplicity 2) (>= (abs dy) (/ staff-line 2)))
(set! quants (cons beam-straddle quants)))
- quants))
+ ;; period: 1 (interline)
+ (append quants (list (+ 1 (car quants))))))
(define (beam-traditional-y-quants multiplicity dy)
- (let ((quants '(1)))
+ (let ((quants '()))
(if (>= dy (/ staff-line -2))
(set! quants (cons beam-hang quants)))
(if (and (<= multiplicity 1) (<= dy (/ staff-line 2)))
(set! quants (cons beam-sit quants)))
(if (or (<= multiplicity 2) (>= (abs dy) (/ staff-line 2)))
(set! quants (cons beam-straddle quants)))
- quants))
+ ;; period: 1 (interline)
+ (append quants (list (+ 1 (car quants))))))
;; There are several ways to calculate the direction of a beam