(pos (ly:grob-property grob 'staff-position)))
(if (memq 'note-head-interface interfaces)
(begin
- (ly:grob-set-property! grob 'stencil ly:text-interface::print)
- (ly:grob-set-property! grob 'font-family 'roman)
- (ly:grob-set-property! grob 'text
- (make-raise-markup -0.5
- (case pos
- ((-5) (make-simple-markup "m"))
- ((-3) (make-simple-markup "c "))
- ((-2) (make-smaller-markup (make-bold-markup "2")))
- (else (make-simple-markup "bla")))))))))
+ (ly:grob-set-property! grob 'stencil
+ (grob-interpret-markup grob
+ (make-lower-markup 0.5
+ (case pos
+ ((-5) "m")
+ ((-3) "c ")
+ ((-2) (make-smaller-markup (make-bold-markup "2")))
+ (else "bla")))))))))
\new Voice \relative c' {
- \stemUp
- \set autoBeaming = ##f
- \time 2/4
- <d f g>4
- \once \override NoteHead #'stencil = #ly:note-head::brew-ez-stencil
- \once \override NoteHead #'font-size = #-7
- \once \override NoteHead #'font-family = #'sans
- \once \override NoteHead #'font-series = #'bold
- <d f g>
- \once \override NoteHead #'style = #'cross
- <d f g>
- \applyOutput #'Voice #mc-squared
- <d f g>
- <<
- { d8[ es-( fis^^ g] fis2-) }
- \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
- >>
+ \stemUp
+ \set autoBeaming = ##f
+ \time 2/4
+ <d f g>4
+ \once \override NoteHead #'stencil = #ly:note-head::brew-ez-stencil
+ \once \override NoteHead #'font-size = #-7
+ \once \override NoteHead #'font-family = #'sans
+ \once \override NoteHead #'font-series = #'bold
+ <d f g>4
+ \once \override NoteHead #'style = #'cross
+ <d f g>4
+ \applyOutput #'Voice #mc-squared
+ <d f g>4
+ <<
+ { d8[ es-( fis^^ g] fis2-) }
+ \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
+ >>
}
@end lilypond
c1
\set Score.repeatCommands = #'((volta #f) (volta "95") end-repeat)
b1
+\set Score.repeatCommands = #'((volta #f))
@end lilypond
@cindex Volta-Klammer mit Text
(pos (ly:grob-property grob 'staff-position)))
(if (memq 'note-head-interface interfaces)
(begin
- (ly:grob-set-property! grob 'stencil ly:text-interface::print)
- (ly:grob-set-property! grob 'font-family 'roman)
- (ly:grob-set-property! grob 'text
- (make-raise-markup -0.5
- (case pos
- ((-5) (make-simple-markup "m"))
- ((-3) (make-simple-markup "c "))
- ((-2) (make-smaller-markup (make-bold-markup "2")))
- (else (make-simple-markup "bla")))))))))
+ (ly:grob-set-property! grob 'stencil
+ (grob-interpret-markup grob
+ (make-lower-markup 0.5
+ (case pos
+ ((-5) "m")
+ ((-3) "c ")
+ ((-2) (make-smaller-markup (make-bold-markup "2")))
+ (else "bla")))))))))
\new Voice \relative c' {
- \stemUp
- \set autoBeaming = ##f
- \time 2/4
- <d f g>4
- \once \override NoteHead #'stencil = #ly:note-head::brew-ez-stencil
- \once \override NoteHead #'font-size = #-7
- \once \override NoteHead #'font-family = #'sans
- \once \override NoteHead #'font-series = #'bold
- <d f g>
- \once \override NoteHead #'style = #'cross
- <d f g>
- \applyOutput #'Voice #mc-squared
- <d f g>
- <<
- { d8[ es-( fis^^ g] fis2-) }
- \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
- >>
+ \stemUp
+ \set autoBeaming = ##f
+ \time 2/4
+ <d f g>4
+ \once \override NoteHead #'stencil = #ly:note-head::brew-ez-stencil
+ \once \override NoteHead #'font-size = #-7
+ \once \override NoteHead #'font-family = #'sans
+ \once \override NoteHead #'font-series = #'bold
+ <d f g>4
+ \once \override NoteHead #'style = #'cross
+ <d f g>4
+ \applyOutput #'Voice #mc-squared
+ <d f g>4
+ <<
+ { d8[ es-( fis^^ g] fis2-) }
+ \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
+ >>
}
@end lilypond
(pos (ly:grob-property grob 'staff-position)))
(if (memq 'note-head-interface interfaces)
(begin
- (ly:grob-set-property! grob 'stencil ly:text-interface::print)
- (ly:grob-set-property! grob 'font-family 'roman)
- (ly:grob-set-property! grob 'text
- (make-raise-markup -0.5
- (case pos
- ((-5) (make-simple-markup "m"))
- ((-3) (make-simple-markup "c "))
- ((-2) (make-smaller-markup (make-bold-markup "2")))
- (else (make-simple-markup "bla")))))))))
+ (ly:grob-set-property! grob 'stencil
+ (grob-interpret-markup grob
+ (make-lower-markup 0.5
+ (case pos
+ ((-5) "m")
+ ((-3) "c ")
+ ((-2) (make-smaller-markup (make-bold-markup "2")))
+ (else "bla")))))))))
\new Voice \relative c' {
- \stemUp
- \set autoBeaming = ##f
- \time 2/4
- <d f g>4
- \once \override NoteHead #'stencil = #ly:note-head::brew-ez-stencil
- \once \override NoteHead #'font-size = #-7
- \once \override NoteHead #'font-family = #'sans
- \once \override NoteHead #'font-series = #'bold
- <d f g>
- \once \override NoteHead #'style = #'cross
- <d f g>
- \applyOutput #'Voice #mc-squared
- <d f g>
- <<
- { d8[ es-( fis^^ g] fis2-) }
- \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
- >>
+ \stemUp
+ \set autoBeaming = ##f
+ \time 2/4
+ <d f g>4
+ \once \override NoteHead #'stencil = #ly:note-head::brew-ez-stencil
+ \once \override NoteHead #'font-size = #-7
+ \once \override NoteHead #'font-family = #'sans
+ \once \override NoteHead #'font-series = #'bold
+ <d f g>4
+ \once \override NoteHead #'style = #'cross
+ <d f g>4
+ \applyOutput #'Voice #mc-squared
+ <d f g>4
+ <<
+ { d8[ es-( fis^^ g] fis2-) }
+ \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
+ >>
}
@end lilypond
(pos (ly:grob-property grob 'staff-position)))
(if (memq 'note-head-interface interfaces)
(begin
- (ly:grob-set-property! grob 'stencil ly:text-interface::print)
- (ly:grob-set-property! grob 'font-family 'roman)
- (ly:grob-set-property! grob 'text
- (make-raise-markup -0.5
- (case pos
- ((-5) (make-simple-markup "m"))
- ((-3) (make-simple-markup "c "))
- ((-2) (make-smaller-markup (make-bold-markup "2")))
- (else (make-simple-markup "bla")))))))))
+ (ly:grob-set-property! grob 'stencil
+ (grob-interpret-markup grob
+ (make-lower-markup 0.5
+ (case pos
+ ((-5) "m")
+ ((-3) "c ")
+ ((-2) (make-smaller-markup (make-bold-markup "2")))
+ (else "bla")))))))))
\new Voice \relative c' {
- \stemUp
- \set autoBeaming = ##f
- \time 2/4
- <d f g>4
- \once \override NoteHead #'stencil = #ly:note-head::brew-ez-stencil
- \once \override NoteHead #'font-size = #-7
- \once \override NoteHead #'font-family = #'sans
- \once \override NoteHead #'font-series = #'bold
- <d f g>
- \once \override NoteHead #'style = #'cross
- <d f g>
- \applyOutput #'Voice #mc-squared
- <d f g>
- <<
- { d8[ es-( fis^^ g] fis2-) }
- \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
- >>
+ \stemUp
+ \set autoBeaming = ##f
+ \time 2/4
+ <d f g>4
+ \once \override NoteHead #'stencil = #ly:note-head::brew-ez-stencil
+ \once \override NoteHead #'font-size = #-7
+ \once \override NoteHead #'font-family = #'sans
+ \once \override NoteHead #'font-series = #'bold
+ <d f g>4
+ \once \override NoteHead #'style = #'cross
+ <d f g>4
+ \applyOutput #'Voice #mc-squared
+ <d f g>4
+ <<
+ { d8[ es-( fis^^ g] fis2-) }
+ \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
+ >>
}
@end lilypond
"
}
-\layout {
- ragged-right = ##t
-}
-
#(define (mc-squared gr org cur)
(let*
- (
- (ifs (ly:grob-interfaces gr))
- (sp (ly:grob-property gr 'staff-position))
- )
- (if (memq 'note-head-interface ifs)
- (begin
- (ly:grob-set-property! gr 'stencil ly:text-interface::print)
- (ly:grob-set-property! gr 'font-family 'roman)
- (ly:grob-set-property! gr 'text
- (make-raise-markup -0.5
- (case sp
- ((-5) (make-simple-markup "m"))
- ((-3) (make-simple-markup "c "))
- ((-2) (make-smaller-markup (make-bold-markup "2")))
- (else (make-simple-markup "bla"))
- ))))
- )))
-
-\context Voice \relative c' {
- \stemUp
+ (
+ (ifs (ly:grob-interfaces gr))
+ (sp (ly:grob-property gr 'staff-position))
+ )
+ (if (memq 'note-head-interface ifs)
+ (begin
+ (ly:grob-set-property! gr 'stencil
+ (grob-interpret-markup gr
+ (make-raise-markup -0.5
+ (case sp
+ ((-5) (make-simple-markup "m"))
+ ((-3) (make-simple-markup "c "))
+ ((-2) (make-smaller-markup (make-bold-markup "2")))
+ (else (make-simple-markup "bla"))
+ ))))
+ ))))
+
+\new Voice \relative c' {
\set autoBeaming = ##f
- { <d f g b>8
+ <d f g b>8
- \applyOutput #'Voice #mc-squared
- <d f g b>
- }
+ \applyOutput #'Voice #mc-squared
+ <d f g b>8
}
-
-% EOF
\test "" ##[ \noPageTurn #]
%% Checks
-\test "" ##[ \octave a' #] % RelativeOctaveCheck
+\test "" ##[ \octaveCheck a' #] % RelativeOctaveCheck
\test "" ##[ | #] % BarCheck
%% Marks
/* properties */
"accidental-grobs "
+ "direction "
"left-padding "
"padding "
"positioning-done "
#include "engraver.hh"
+#include "hairpin.hh"
#include "international.hh"
#include "item.hh"
#include "note-column.hh"
if (current_spanner_)
{
current_spanner_->set_bound (LEFT, script_);
- set_nested_property (current_spanner_,
- scm_list_3 (ly_symbol2scm ("bound-details"),
- ly_symbol2scm ("left"),
- ly_symbol2scm ("attach-dir")
- ),
- scm_from_int (RIGHT));
+
+ if (!Hairpin::has_interface (current_spanner_))
+ set_nested_property (current_spanner_,
+ scm_list_3 (ly_symbol2scm ("bound-details"),
+ ly_symbol2scm ("left"),
+ ly_symbol2scm ("attach-dir")
+ ),
+ scm_from_int (RIGHT));
}
}
(object-callbacks . ((normal-stems . ,ly:beam::calc-normal-stems)))
(interfaces . (staff-symbol-referencer-interface
unbreakable-spanner-interface
- beam-interface))))))
+ beam-interface
+ font-interface))))))
(BendAfter
. (
(interfaces . (paper-column-interface
axis-group-interface
separation-item-interface
- spaceable-grob-interface))))))
+ spaceable-grob-interface
+ font-interface))))))
(NoteCollision
. (
font-interface
note-head-interface
ledgered-interface
- staff-symbol-referencer-interface))))))
+ staff-symbol-referencer-interface
+ gregorian-ligature-interface
+ mensural-ligature-interface
+ vaticana-ligature-interface))))))
(NoteSpacing
. (
(interfaces . (paper-column-interface
separation-item-interface
axis-group-interface
- spaceable-grob-interface))))))
+ spaceable-grob-interface
+ font-interface))))))
(ParenthesesItem
. ((stencil . ,parentheses-item::print)
text-interface
instrument-specific-markup-interface
side-position-interface
+ self-alignment-interface
font-interface))))))
(TextSpanner
(define-span-event-display-method CrescendoEvent (event parser) #f "\\<" "\\!")
(define-span-event-display-method DecrescendoEvent (event parser) #f "\\>" "\\!")
(define-span-event-display-method PhrasingSlurEvent (event parser) #f "\\(" "\\)")
-(define-span-event-display-method SustainEvent (event parser) #f "\\sustainDown" "\\sustainUp")
-(define-span-event-display-method SostenutoEvent (event parser) #f "\\sostenutoDown" "\\sostenutoUp")
+(define-span-event-display-method SustainEvent (event parser) #f "\\sustainOn" "\\sustainOff")
+(define-span-event-display-method SostenutoEvent (event parser) #f "\\sostenutoOn" "\\sostenutoOff")
(define-span-event-display-method TextSpanEvent (event parser) #f "\\startTextSpan" "\\stopTextSpan")
(define-span-event-display-method TrillSpanEvent (event parser) #f "\\startTrillSpan" "\\stopTrillSpan")
(define-span-event-display-method StaffSpanEvent (event parser) #f "\\startStaff" "\\stopStaff")
(define-display-method RelativeOctaveCheck (octave parser)
(let ((pitch (ly:music-property octave 'pitch)))
- (format #f "\\octave ~a~a"
+ (format #f "\\octaveCheck ~a~a"
(note-name->lily-string pitch parser)
(octave->lily-string pitch))))