X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fbasic-properties.scm;h=d07db3311eac5938d54468348e560e80f105bd4d;hb=f988425624a6f6d1a48aea0ac0c1c84ff0857e56;hp=3dadb920c01d054832691d0f6eef98c325962dbc;hpb=8b8b92e31703bf4a23683efff479793227ad39c1;p=lilypond.git diff --git a/scm/basic-properties.scm b/scm/basic-properties.scm index 3dadb920c0..d07db3311e 100644 --- a/scm/basic-properties.scm +++ b/scm/basic-properties.scm @@ -129,10 +129,6 @@ ;; ;; We have our doubts, so we simply provide all sensible alternatives. - - - - ;; array index multiplicity, last if index>size ;; beamed stems @@ -141,9 +137,6 @@ ;; - take #forced stems into account (now done in C++)? ;; - take y-position of chord or beam into account -;;;;;;;;;;;;;;;;;;;;;;; - - ; ; todo: clean this up a bit: the list is getting rather long. ; @@ -167,3 +160,80 @@ (name . "beam") ) ) + + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Bar lines. +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +; +; How should a bar line behave at a break? +; +(define (default-break-barline glyph dir) + (let ((result (assoc glyph + '((":|:" . (":|" . "|:")) + ("|" . ("|" . "")) + ("|s" . (nil . "|")) + ("|:" . ("|" . "|:")) + ("|." . ("|." . nil)) + (".|" . (nil . ".|")) + (":|" . (":|" . nil)) + ("||" . ("||" . nil)) + (".|." . (".|." . nil)) + ("brace" . (nil . "brace")) + ("bracket" . (nil . "bracket")) + ) + ))) + + (if (equal? result #f) + (ly-warn (string-append "Unknown bar glyph: `" glyph "'")) + (index-cell (cdr result) dir)) + ) + ) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Prefatory matter: break align item. +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Spacing constants +;; +;; rules for this spacing are much more complicated than this. +;; See [Wanske] page 126 -- 134, [Ross] pg 143 -- 147 +;; + +;; (Measured in staff space) +(define default-break-align-space-alist + '( + ((none Instrument_name) . (extra-space 1.0)) + ((Instrument_name Left_edge_item) . (extra-space 1.0)) + ((Left_edge_item Clef_item) . (extra-space 1.0)) + ((Left_edge_item Key_item) . (extra-space 0.0)) + ((Left_edge_item begin-of-note) . (extra-space 1.0)) + ((none Left_edge_item) . (extra-space 0.0)) + ((Left_edge_item Staff_bar) . (extra-space 0.0)) +; ((none Left_edge_item) . (extra-space -15.0)) +; ((none Left_edge_item) . (extra-space -15.0)) + ((none Clef_item) . (minimum-space 1.0)) + ((none Staff_bar) . (minimum-space 0.0)) + ((none Clef_item) . (minimum-space 1.0)) + ((none Key_item) . (minimum-space 0.5)) + ((none Time_signature) . (extra-space 0.0)) + ((none begin-of-note) . (minimum-space 1.5)) + ((Clef_item Key_item) . (minimum-space 4.0)) + ((Key_item Time_signature) . (extra-space 1.0)) + ((Clef_item Time_signature) . (minimum-space 3.5)) + ((Staff_bar Clef_item) . (minimum-space 1.0)) + ((Clef_item Staff_bar) . (minimum-space 3.7)) + ((Time_signature Staff_bar) . (minimum-space 2.0)) + ((Key_item Staff_bar) . (extra-space 1.0)) + ((Staff_bar Time_signature) . (minimum-space 1.5)) + ((Time_signature begin-of-note) . (extra-space 2.0)) + ((Key_item begin-of-note) . (extra-space 2.5)) + ((Staff_bar begin-of-note) . (extra-space 1.0)) + ((Clef_item begin-of-note) . (minimum-space 5.0)) + ((none Breathing_sign) . (minimum-space 0.0)) + ((Breathing_sign Key_item) . (minimum-space 1.5)) + ((Breathing_sign begin-of-note) . (minimum-space 1.0)) + ((Breathing_sign Staff_bar) . (minimum-space 1.5)) + ((Breathing_sign Clef_item) . (minimum-space 2.0)) + ) +)