\version "2.18.2"

chorus = \relative c'' { c d e c | c d e c | \break}
verse = \relative c'' { c c d d | c c d d | \break }

repeatMark =
#(define-music-function
  (parser location volte visible)
  (number? boolean?)
  (if visible
      #{
        \once \override Score.RehearsalMark #'break-visibility =
        #begin-of-line-invisible
        \once \override Score.RehearsalMark #'self-alignment-X = #RIGHT
        \once \override Score.RehearsalMark #'font-size = #0
        \mark \markup $(string-join (list "repeat" (number->string volte)
        "times"))
      #}
      #{ #}
      ))

HiddenMeasureAndBarLine = {
  % the hidden measure and bar line
  % \cadenzaOn turns off automatic calculation of bar numbers
  \cadenzaOn
  %  \once \override Score.TimeSignature #'stencil = ##f
  \once \omit Score.TimeSignature
  \time 1/16
  s16 \bar ""
  \cadenzaOff
}

song =
{
  \new Staff
  {
    \verse
    \repeat volta 4
    {
      \mark "Chorus"
      \chorus
      \repeatMark #4 ##t
    }
    \repeat volta 6
    {

      \HiddenMeasureAndBarLine
      \time 4/4

      \mark "Solo"
      \chorus
      \repeatMark #6 ##t
    }
  }
}

\score {
  \song
}
