Compare commits
	
		
			4 Commits
		
	
	
		
			set-spacin
			...
			88f0dc9f8f
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 88f0dc9f8f | |||
| e9b904c32c | |||
| fd14138d0b | |||
| a1bc48b824 | 
@@ -1,7 +1,8 @@
 | 
			
		||||
#(define noStandaloneOutput (if (defined? 'noStandaloneOutput) noStandaloneOutput #f))
 | 
			
		||||
 | 
			
		||||
#(if (defined? 'LAYOUT) #f (load "json_parser.scm"))
 | 
			
		||||
#(if (defined? 'LAYOUT) #f (load (string-append (dirname (current-filename)) file-name-separator-string "json_parser.scm")))
 | 
			
		||||
#(use-modules (json parser))
 | 
			
		||||
\include "resolve_inherits.ly"
 | 
			
		||||
\include "basic_format_and_style_settings.ly"
 | 
			
		||||
\include "eps_file_from_song_dir.ly"
 | 
			
		||||
\include "title_with_category_images.ly"
 | 
			
		||||
 
 | 
			
		||||
@@ -147,4 +147,15 @@ repStopWithTag = \lyricmode {
 | 
			
		||||
    \once \override StanzaNumber.direction = 1
 | 
			
		||||
    \set stanza = \markup { \repStop }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
rightHyphen = \lyricmode {
 | 
			
		||||
  \once \override StanzaNumber.font-series = #'normal
 | 
			
		||||
  \once \override StanzaNumber.direction = 1
 | 
			
		||||
  \set stanza = "-"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
leftHyphen = \lyricmode {
 | 
			
		||||
  \once \override StanzaNumber.font-series = #'normal
 | 
			
		||||
  \set stanza = "-"
 | 
			
		||||
}
 | 
			
		||||
@@ -138,3 +138,44 @@ generalLayout = \layout {
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
     #}))
 | 
			
		||||
 | 
			
		||||
% If you add this engraver to ChordNames Context chords get only printed on chordchanges and not at newline.
 | 
			
		||||
% See https://lists.gnu.org/archive/html/lilypond-user/2020-07/msg00187.html
 | 
			
		||||
Ignoring_newline_chord_changes_engraver =
 | 
			
		||||
  #(lambda (ctx)
 | 
			
		||||
    (let* ((chord #f)
 | 
			
		||||
           (last-chord #f))
 | 
			
		||||
 | 
			
		||||
   (define (at-line-beginning? grob)
 | 
			
		||||
     (let* ((col (ly:item-get-column grob))
 | 
			
		||||
            (ln (ly:grob-object col 'left-neighbor))
 | 
			
		||||
            (col-to-check (if (ly:grob? ln) ln col)))
 | 
			
		||||
       (and (eq? #t (ly:grob-property col-to-check 'non-musical))
 | 
			
		||||
            (= 1 (ly:item-break-dir col-to-check)))))
 | 
			
		||||
 | 
			
		||||
     (make-engraver
 | 
			
		||||
      (acknowledgers
 | 
			
		||||
       ((chord-name-interface this-engraver grob source-engraver)
 | 
			
		||||
 | 
			
		||||
         (if chord
 | 
			
		||||
             (begin
 | 
			
		||||
               (set! last-chord chord)
 | 
			
		||||
               (set! chord #f)))
 | 
			
		||||
 | 
			
		||||
         (set! chord (ly:grob-property grob 'text))
 | 
			
		||||
 | 
			
		||||
         ;; If two subsequent chords are equal and chordChanges is enabled,
 | 
			
		||||
         ;; set 'after-line-breaking to a procedure which sets the stencil
 | 
			
		||||
         ;; to an empty-stencil if the new chord is at line-start.
 | 
			
		||||
         (if (and (equal? chord last-chord)
 | 
			
		||||
                  (ly:context-property ctx 'chordChanges #f))
 | 
			
		||||
             (ly:grob-set-property! grob 'after-line-breaking
 | 
			
		||||
               (lambda (grob)
 | 
			
		||||
                 (if (at-line-beginning? grob)
 | 
			
		||||
                     (ly:grob-set-property! grob 'stencil empty-stencil))
 | 
			
		||||
                 ;; keep default
 | 
			
		||||
                 (ly:chord-name::after-line-breaking grob))))))
 | 
			
		||||
      ((finalize this-engraver)
 | 
			
		||||
        ;; house keeping
 | 
			
		||||
        (set! chord #f)
 | 
			
		||||
        (set! last-chord #f)))))
 | 
			
		||||
							
								
								
									
										22
									
								
								resolve_inherits.ly
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								resolve_inherits.ly
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
			
		||||
#(define (resolve-inherit-entry-in-list alist entry)
 | 
			
		||||
  (let* ((key (car entry))
 | 
			
		||||
        (attributes (cdr entry))
 | 
			
		||||
        (inherits (assoc-ref attributes "inherits")))
 | 
			
		||||
    (if inherits
 | 
			
		||||
      (let* ((alist-without-entry (alist-delete key alist))
 | 
			
		||||
            (inherit-entry (assoc inherits alist-without-entry))
 | 
			
		||||
            (inherits-attributes (if inherit-entry (alist-copy (cdr (resolve-inherit-entry-in-list alist-without-entry inherit-entry)))))
 | 
			
		||||
            (override-attributes (alist-delete "inherits" attributes)))
 | 
			
		||||
        (if inherit-entry
 | 
			
		||||
          (begin
 | 
			
		||||
            (for-each (lambda (attribute) (assoc-set! inherits-attributes (car attribute) (cdr attribute))) override-attributes)
 | 
			
		||||
            (cons key inherits-attributes)
 | 
			
		||||
          )
 | 
			
		||||
          (ly:error "~a can not inherit from ~a" key inherits))
 | 
			
		||||
      )
 | 
			
		||||
      entry
 | 
			
		||||
    )))
 | 
			
		||||
 | 
			
		||||
#(define (resolve-inherits alist)
 | 
			
		||||
  (map (lambda (entry) (resolve-inherit-entry-in-list alist entry)) alist)
 | 
			
		||||
)
 | 
			
		||||
@@ -277,6 +277,7 @@
 | 
			
		||||
              \ChordNames
 | 
			
		||||
              \override VerticalAxisGroup.staff-affinity = ##f
 | 
			
		||||
              \override ChordName.extra-spacing-width = #'(-0.1 . 0.1)
 | 
			
		||||
              \consists \Ignoring_newline_chord_changes_engraver
 | 
			
		||||
            }
 | 
			
		||||
            \context {
 | 
			
		||||
              \Score
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user