% !TEX TS-program = Lilypond
\version "2.12.3"

#(define-markup-command (lthskip layout props amount) (number?)
  ;; lthskip = "line-thickness skip"
  (let ((l-th (ly:output-def-lookup layout 'line-thickness)))
    (ly:make-stencil "" (cons 0 (* amount l-th)) '(0 . 0) )))

startRepeatBracket = {
	\once \override Staff.BarLine #'stencil =
	#(lambda (grob)
	  (ly:stencil-add
	    (ly:stencil-combine-at-edge
	      (ly:bar-line::print grob)
	      Y UP
	      (grob-interpret-markup grob (markup
	        #:musicglyph "brackettips.up"))
	      -0.1 0)
	    (ly:stencil-combine-at-edge
	      (ly:bar-line::print grob)
	      Y DOWN
	      (grob-interpret-markup grob (markup
	        #:musicglyph "brackettips.down"))
	      -0.1 0)))	  
	\bar "|:"
}

stopRepeatBracket = {
	\once \override Staff.BarLine #'stencil =
	#(lambda (grob)
	  (ly:stencil-add
	    (ly:stencil-combine-at-edge
	      (ly:bar-line::print grob)
	      Y UP
	      (grob-interpret-markup grob (markup
	     		#:concat (
			     #:lthskip 6
			     #:right-align
			     #:rotate 180 #:musicglyph "brackettips.down" )))
			 -0.1 0)
	    (ly:stencil-combine-at-edge
	      (ly:bar-line::print grob)
	      Y DOWN
	      (grob-interpret-markup grob (markup
	        #:concat (
	          #:lthskip 6
	          #:right-align
	          #:rotate 180 #:musicglyph "brackettips.up" )))
	      -0.1 0)))	  
	\bar ":|"
}

combinedRepeatBracket = {
	\once \override Staff.BarLine #'stencil =
	#(lambda (grob)
	  (ly:stencil-add
	    (ly:stencil-combine-at-edge
	      (ly:bar-line::print grob)
	      Y UP
	      (grob-interpret-markup grob (markup
	        #:concat (
	          #:lthskip 3
	          #:concat (
	            #:right-align
	            #:vcenter
	            #:rotate 180 #:musicglyph "brackettips.down"
	            #:lthskip 3
	            #:vcenter
	            #:musicglyph "brackettips.up"))))
	      -0.1 0)
	    (ly:stencil-combine-at-edge
	      (ly:bar-line::print grob)
	      Y DOWN
	      (grob-interpret-markup grob (markup
	        #:concat (
	          #:lthskip 3
	          #:concat (
	            #:right-align
	            #:vcenter
	            #:rotate 180 #:musicglyph "brackettips.up"
	            #:lthskip 3
	            #:vcenter
	            #:musicglyph "brackettips.down"))))
	      -0.1 0)))
	\bar ":|:"
}

%----------------------- Test -----------------------

music = {
	\grace s4
	\startRepeatBracket
	b'1
	\combinedRepeatBracket
	b
	\stopRepeatBracket
}

%#(set-global-staff-size 11.22) %% smallest recommended staff size
#(set-global-staff-size 20) %% default staff size
%#(set-global-staff-size 25.2) %% largest recommended staff size

\paper {
	ragged-right = ##t
}

\score {
	\relative c' { \music }
	
	\layout {
		indent = 0
}