Autor Thema: Satzbezeichnung in Partitur  (Gelesen 1618 mal)

spinne

  • Member
Satzbezeichnung in Partitur
« am: Dienstag, 1. Mai 2012, 19:11 »
Hallo,
ich bin gerade dabei von einem Orchesterwerk (Blasorchester) eine Partitur zu erstellen von dem es leider nur eine Direktion gibt. D. h. ich schreibe alle Stimmen ab und habe dann die "Full Score" wie sie heut zu Tage üblich ist. Ich gehe hierbei folgendermassen vor.

Ich habe folgende Dateien:
Header.ly (Globale Definitionen. paper, header, eigene Makros)
Für jedes Instrument eine eigene Datei. (z. B. part_flute.ly)
Score.ly (fügt Header.ly und alle Stimmen zusammen)

Score.ly schaut z. B. so aus:
\include "Header.ly"

\include "part_Piccolo.ly"
\include "part_Flute.ly"

\score {
<<
\new StaffGroup = "Fl Ob" <<
\new Staff = "Piccolo" \Piccolo
\new Staff = "Flute1" \FluteI
>>
      >>
\layout {
\context { \RemoveEmptyStaffContext }
\context {
\Score
\override BarNumber #'padding = #3
\override RehearsalMark #'padding = #2
skipBars = ##t
}
}
\midi { }
}


Die Einzelstimmen schauen z. B. so aus:
\include "Header.ly"
Piccolo = {
\global
\set Staff.instrumentName = #"Piccolo in C"
\set Staff.shortInstrumentName = #"Pic"
\set Staff.midiInstrument = #"flute"

\clef treble
<<
\transpose c' c' \relative c'' {
\transposition c
\Tonart
\tempo  "Allegretto non troppo"
% Music ......
      }
  >>
}

Dann habe ich mir ein Shellskript geschrieben, welches alle Stimmen und die Score erstellt und in den Einzelstimmen den shortInstrumentName entfernt:
#!/bin/bash

for i in part_*
do
echo $i
echo ===================
instrument=`head -2 $i | tail -1 | cut -f 1 -d ' ' `
cat $i | grep -v shortInstrumentName > $$_$i
echo -e "\\score {
<<" >> $$_$i
echo -e -n "\\\new Staff = \"c high\" \\" >> $$_$i
echo  $instrument >> $$_$i
echo -e " >>
\\\layout {
\\\context { \\\RemoveEmptyStaffContext }
\\\context {
\\\Score
\\\override BarNumber #'padding = #3
\\\override RehearsalMark #'padding = #2
skipBars = ##t
}
}
}
" >> $$_$i
lilypond $$_$i
echo
echo

rm $$_$i
done

lilypond Score.ly

Funktioniert eigentlich alles so wie es soll. Fast... :-)

Nun zu meiner Frage: Das Werk das ich setzen möchte besteht aus 4 Sätzen. Wie bekomme ich mit obigem Vorgehen die Satzbezeichnungen in die Einzelstimmen und natürlich gleichzeitig in die Partitur? Eigentlich müsste ich doch an entsprechender Stelle ein header { piece = 2. Satz } definieren. Aber da meckert Lilypond dass die header-Definition unerwartet sei:-)

Tips? Oder auch generelle Verbesserungsvorschläge für solche Partituren und wie das besser / effizienter / etc gemacht werden sollte / könnte?

Vielen Dank und Gruß
Holger

Arnold

  • Member
Re: Satzbezeichnung in Partitur
« Antwort #1 am: Mittwoch, 2. Mai 2012, 08:35 »
Hallo,

ich habe bisher diese \header-Definition innerhalb der \score-Definition (ziemlich am Ende) eingefügt.
Der Bequemlichkeit halber enthielt diese eine Includeanweisung, in welcher dann der Titel referenziert wurde. Also etwa so:
\score {
 ...
  \header {
\include "title_movement_1.ly"
  }
}
Durch meine vielen Includes kann ich bei größeren Projekten da schon mal mehrere hundert ly-Dateien in einem Verzeichnis haben, einschließlich der Korrektur-Blätter mit nur einem Satz und einer Stimme bzw. einer transponierten Ersatzstimme.

Arnold