]> git.donarmstrong.com Git - lilypond.git/blobdiff - ly/performer-init.ly
Fix some bugs in the dynamic engraver and PostScript backend
[lilypond.git] / ly / performer-init.ly
index b3e27bb34b90efb53899c9e9e5bd2288c3307af9..d22c42277531198414fcad979d63ea8ef534905a 100644 (file)
-\version "2.1.19"
-
-%
-% setup for Request->Element conversion. Guru-only
-%
-\translator {
-       \type "Staff_performer"
-       \name Staff
-       \accepts Voice
-
-       \consists "Key_performer"
-       \consists "Tempo_performer"
-       \consists "Time_signature_performer"
+\version "2.7.39"
+
+%%
+%% setup for Request->Element conversion. 
+%%
+\context {
+    \type "Performer_group"
+    \name Staff
+    \accepts Voice
+    \defaultchild Voice
+    
+    \consists "Staff_performer"
+    \consists "Key_performer"
+    \consists "Tempo_performer"
+    \consists "Time_signature_performer"
+}
+\context {
+    \name Global
+    \accepts Score
+\description "Hard coded entry point for LilyPond. Cannot be tuned."
+    }
+
+\context {
+    \Staff
+    \name DrumStaff
+    midiInstrument = #"drums"
+    \accepts DrumVoice
+    \defaultchild DrumVoice
+}
 
+\context {
+    \type "Performer_group"
+    \name Voice
+    % The order of the dynamic performers is significant: absolute dynamic events must override crescendo events in midi.
+    \consists "Span_dynamic_performer"
+    \consists "Dynamic_performer"
+    \consists "Tie_performer"
+    \consists "Piano_pedal_performer"
+    \consists "Note_performer"
+    \consists "Beam_performer"
+    \consists "Slur_performer"
+    \consists "Melisma_translator"
 }
 
-\translator {
-       \type "Performer_group_performer"
-       \name Voice
-       \consists "Dynamic_performer"
-       \consists "Span_dynamic_performer"
-       \consists "Tie_performer"
-       \consists "Piano_pedal_performer"
-       \accepts "Voice"
+\context {
+  \Voice
+  \name CueVoice
+  \alias Voice
 }
 
-\translator {
-       \type "Performer_group_performer"
-       \name Voice
-       \consists "Note_performer"
+\context {
+    \Voice
+    \remove "Note_performer"
+    \consists "Drum_note_performer" 
+    \name DrumVoice
 }
 
-\translator {
-       \type "Performer_group_performer"
-       \name FiguredBass 
-       \consists "Swallow_performer"
+\context {
+    \type "Performer_group"
+    \name FiguredBass 
+    \consists "Swallow_performer"
 }
 
-\translator {
-       \type "Performer_group_performer"
-       \name GrandStaff
-       \accepts RhythmicStaff
-       \accepts Staff
+\context {
+    \type "Performer_group"
+    \name GrandStaff
+    \accepts RhythmicStaff
+    \accepts Staff
+    \defaultchild Staff
 }
 
-\translator {
-        \type "Performer_group_performer"
-       \name "PianoStaff"
-       \accepts Staff
+\context {
+    \type "Performer_group"
+    \name "PianoStaff"
+    \accepts Staff
+    \accepts DrumStaff
+    \defaultchild Staff
 }
 
-\translator {
-        \type "Performer_group_performer"
-       \name "TabVoice"
-       \consists "Swallow_performer"
+\context {
+    \type "Performer_group"
+    \name "TabVoice"
+    \consists "Swallow_performer"
 }
 
-\translator {
-        \type "Performer_group_performer"
-       \name "Devnull"
-       \consists "Swallow_performer"
+\context {
+    \type "Performer_group"
+    \name "Devnull"
+    \consists "Swallow_performer"
 }
-\translator {
-        \type "Performer_group_performer"
-       \name "TabStaff"
-       \accepts "TabVoice"
+\context {
+    \type "Performer_group"
+    \name "TabStaff"
+    \accepts "TabVoice"
+    \defaultchild "TabVoice"
 }
 
-\translator {
-       \type "Score_performer"
+\context {
+    \type "Score_performer"
+
+    \name Score
+    
+    melismaBusyProperties = #default-melisma-properties
+    instrument = #"bright acoustic"
+    \accepts Staff
+    \accepts DrumStaff
+    \accepts GrandStaff
+    \accepts PianoStaff
+    \accepts TabStaff
+    \accepts Staff
+    \accepts StaffGroup
+    \accepts Devnull
+    \accepts ChoirStaff
+    \accepts RhythmicStaff
+    \accepts ChordNames
+    \accepts FiguredBass
+    \accepts Lyrics
+    
+    \consists "Timing_translator"
+    \consists "Swallow_performer"
+
+    \defaultchild "Staff"
+    
+    dynamicAbsoluteVolumeFunction = #default-dynamic-absolute-volume
+    instrumentEqualizer = #default-instrument-equalizer
+    drumPitchTable = #(alist->hash-table midiDrumPitches)
+    timing = ##t 
+}
 
-       \name Score
-       \alias Timing
-       instrument = #"bright acoustic"
-       \accepts Staff
-       \accepts GrandStaff
-       \accepts PianoStaff
-       \accepts TabStaff
-       \accepts StaffGroup
-       \accepts Devnull
-       \accepts ChoirStaff
-       \accepts RhythmicStaff
-       \accepts ChordNames
-       \accepts FiguredBass
 
-       \alias "Timing"
-       \consists "Timing_translator"
-       \consists "Swallow_performer"
-       
-       dynamicAbsoluteVolumeFunction = #default-dynamic-absolute-volume
-       instrumentEqualizer = #default-instrument-equalizer
+\context {
+    \type "Performer_group"
+    \consists "Staff_performer" % Performer_group ?
+    \consists "Lyric_performer"
+    \name Lyrics
+    \consists "Time_signature_performer"
+    \consists "Tempo_performer"
 }
 
+\context{
+    \type "Performer_group"
+    \name ChoirStaff
+    \accepts Staff
+    \accepts DrumStaff
+    \defaultchild Staff
 
-\translator {
-       \type "Staff_performer" % Performer_group_performer ?
-       \consists "Lyric_performer"
-       \name LyricsVoice
-       \consists "Time_signature_performer"
-       \consists "Tempo_performer"
 }
 
-\translator{
-       \type "Performer_group_performer"
-       \name ChoirStaff
-       \accepts Staff
-}
 
 
-\translator {
-       \type "Staff_performer"
-       \accepts ChordNameVoice
-       \name ChordNames
+\context {
+    \type "Performer_group"
+    \consists "Staff_performer"
+    \accepts ChordNameVoice
+    \name ChordNames
 }
 
-\translator {
-       \type "Performer_group_performer"
-       \consists "Note_performer"
-       \name ChordNameVoice    
+\context {
+    \type "Performer_group"
+    \consists "Note_performer"
+    \name ChordNameVoice       
 }
 
-\translator {
-       \type "Performer_group_performer"
+\context {
+    \type "Performer_group"
+
+    \name StaffGroup
+    \accepts Staff
+    \accepts DrumStaff
 
-       \name StaffGroup
-       \accepts Staff
+    \defaultchild Staff
 }
 
-\translator { \StaffContext \name RhythmicStaff }
+\context { \Staff \name RhythmicStaff }