lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: getting repeats to play in midi


From: Janek Warchoł
Subject: Re: getting repeats to play in midi
Date: Wed, 13 Apr 2011 08:31:11 +0200

Hi,

2011/4/13 Tom Cloyd <address@hidden>:
> I want to have a PDF score with simple repeats, and a midi file in which all
> repeats are taken. This is revision of a program file which has been working
> perfectly, except that the midi evidence no repeats. I'm achieving all
> engraved repeats using the \repeat volta 2{ music} convention.
>
> I'm using Lilypond ver. 2.13.53. Following the Notation Reference section
> 3.5.4 - "Repeats in MIDI", I have changed the \score blocks in my ly file to
> read:
>
> \score {
>   \context Staff = "guitar" \with {
>   \consists "Span_arpeggio_engraver"
>   }
>   <<
>   %\set Staff.instrumentName="Classical Guitar"  %puts name to left of line
> one
>   \set Staff.midiInstrument="acoustic guitar (nylon)"
>   \set Staff.connectArpeggios = ##t
>   \context Voice = "melody" \melody
>   \context Voice = "alto" \alto
>   \context Voice = "bass" \bass
>   >>
>
>  \layout {
>    indent = 0.0\cm % remove indent on first staff
>    }
> }
> \score {
>   \unfoldRepeats
>   <<
>   %\set Staff.instrumentName="Classical Guitar"  %puts name to left of line
> one
>   \set Staff.midiInstrument="acoustic guitar (nylon)"
>   \set Staff.connectArpeggios = ##t
>   \context Voice = "melody" \melody
>   \context Voice = "alto" \alto
>   \context Voice = "bass" \bass
>   >>
>   \midi { %causes generation of midi score\
>   }
> }

I see two possible reasons. First, you don't initialize a staff in
your midi-score. Second, you use \context while \new might be more
appropriate.

I'd also advice you to write your whole structure to a variable,
instead of writing it twice. I mean something like

structure = {
\new Staff = "guitar" \with { \consists "Span_arpeggio_engraver" }
  <<
  %\set Staff.instrumentName="Classical Guitar"  %puts name to left of line one
  \set Staff.midiInstrument="acoustic guitar (nylon)"
  \set Staff.connectArpeggios = ##t
  \context Voice = "melody" \melody
  \context Voice = "alto" \alto
  \context Voice = "bass" \bass
  >>
}

% And then

\score {
  \structure
  \layout {
      indent = 0.0\cm % remove indent on first staff
    }
}

\score {
  \unfoldRepeats \structure
  \midi { %causes generation of midi score\
    }
}

Hope this helps,
Janek



reply via email to

[Prev in Thread] Current Thread [Next in Thread]