diff options
Diffstat (limited to 'hr/stch/pines/midi.lua')
-rw-r--r-- | hr/stch/pines/midi.lua | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/hr/stch/pines/midi.lua b/hr/stch/pines/midi.lua new file mode 100644 index 0000000..58e69da --- /dev/null +++ b/hr/stch/pines/midi.lua @@ -0,0 +1,50 @@ + -- some settings -- vim: ai sw=2 lbr nu et + +pre=[[ +%some settings% vim: ai sw=2 lbr nu encoding=utf8 et + +\version "2.12" +\include "stimmen.ly" + + \score { +]] + +post=[[ + \midi { + \context{ + %\Score + %tempoWholesPerMinute = #(ly:make-moment 72 4) + } + } + } +]] + +voices={ "s", "a", "t", "b" } +expand = { s="sopran", a="alt", t="tenor", b="bass" } +map = { sopran="soprane", alt="alti", tenor="tenoere", bass="baesse" } + +function text(stimme) + return +[[ + \new Staff = ]]..stimme..[[ << + %\new Voice = "meta" { s1*<+Anzahl der Takte+> \bar "|." } + \new Voice = "]]..map[stimme]..[[" { \global \]]..stimme..[[Melodie } + >> +]] +end + +function err() print("oops") os.exit() end + +which=which or "satb" +if type(which)~="string" then err() end + +for _,v in pairs(voices) do + if string.find(which, v) then pre=pre..text(expand[v]) end +end + +input=pre..post + +--os.execute(lilypond -...) +io.stdout:write(input) +os.exit() + |