- ;; Start rules -- start anywhere unless 3/4 with default rules
- ;; #t if beam is to start
- (or (not (use-special-3-4-rules?
- time-signature-fraction
- base-moment
- exceptions)) ;; start anywhere if not default 3/4
- (= (ly:moment-main-numerator pos) 0) ;; start at beginning of measure
- (and beam-half-measure
- (equal? type '(1 . 8))
- (equal? pos (ly:make-moment 3 8))) ;; start at mid-measure if 1/8 note beam
- (beat-end? pos beat-endings) ;; start if at start of beat
- (and (not (equal? test-beam base-moment)) ;; is beat split?
- (not (beat-end? (ly:moment-add pos test-beam)
- beat-endings)))) ;; will this note end the beat
- ;; End rules -- #t if beam is to end
+ ;; Start rules -- #t if beam is allowed to start
+ (or beam-half-measure ;; Start anywhere, but option for mid-measure
+ (not (equal? (ly:moment-add pos pos) measure-length))
+ (not (= 3 (car time-signature-fraction))) ;; in triple meter
+ (not (= (cdr type) ;; when the beamed note is 1/6 of a measure
+ (* 2 (cdr time-signature-fraction)))))
+ ;; End rules -- #t if beam is required to end