]> 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 90e2bd74a8d986475c2ae7724705faab20b99017..d22c42277531198414fcad979d63ea8ef534905a 100644 (file)
-\version "1.5.49"
-%
-% setup for Request->Element conversion. Guru-only
-%
-StaffContext = \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"
 }
-\translator { \StaffContext }
-\translator { \StaffContext
-  \name RhythmicStaff
+\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
 }
 
-
-VoiceContext = \translator {
-       \type "Performer_group_performer"
-       \name Voice
-       \consists "Dynamic_performer"
-       \consists "Span_dynamic_performer"
-       \consists "Piano_pedal_performer"
-       \accepts "Thread"
+\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 { \VoiceContext }
 
-ThreadContext = \translator {
-       \type "Performer_group_performer"
-       \name Thread
-       \consists "Note_performer"
-       \consists "Tie_performer"
+\context {
+  \Voice
+  \name CueVoice
+  \alias Voice
 }
-\translator { \ThreadContext }
 
-% retain for compatibility reasons (FIXME: convert-ly)
-\translator {
-       \type "Performer_group_performer"
-       \name Grace
+\context {
+    \Voice
+    \remove "Note_performer"
+    \consists "Drum_note_performer" 
+    \name DrumVoice
 }
 
-\translator
-{
-       \type "Performer_group_performer"
-       \name VoiceTwo\consists "Note_performer"
-
+\context {
+    \type "Performer_group"
+    \name FiguredBass 
+    \consists "Swallow_performer"
 }
 
-GrandStaffContext = \translator {
-       \type "Performer_group_performer"
-       \name GrandStaff
-       \accepts RhythmicStaff
-       \accepts Staff
+\context {
+    \type "Performer_group"
+    \name GrandStaff
+    \accepts RhythmicStaff
+    \accepts Staff
+    \defaultchild Staff
 }
-\translator { \GrandStaffContext }
 
-PianoStaffContext = \translator {
-        \type "Performer_group_performer"
-       \name "PianoStaff"
-       \accepts Staff
+\context {
+    \type "Performer_group"
+    \name "PianoStaff"
+    \accepts Staff
+    \accepts DrumStaff
+    \defaultchild Staff
 }
-\translator { \PianoStaffContext }
 
-\translator {
-       \type "Performer_group_performer"
-       \consists "Lyric_performer"
-       \name LyricsVoice
+\context {
+    \type "Performer_group"
+    \name "TabVoice"
+    \consists "Swallow_performer"
 }
 
-\translator{
-       \type "Performer_group_performer"
-       \name ChoirStaff
-       \accepts Staff
+\context {
+    \type "Performer_group"
+    \name "Devnull"
+    \consists "Swallow_performer"
 }
-\translator { 
-       \type "Staff_performer"
-       \accepts LyricsVoice
-       \name Lyrics
-       \consists "Time_signature_performer"
-       \consists "Tempo_performer"
+\context {
+    \type "Performer_group"
+    \name "TabStaff"
+    \accepts "TabVoice"
+    \defaultchild "TabVoice"
 }
 
-\translator {
-       \type "Staff_performer"
-       \accepts ChordNameVoice
-       \name ChordNames
+\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 
 }
 
-\translator {
-       \type Performer_group_performer
-       \consists Note_performer
-       \name ChordNameVoice    
+
+\context {
+    \type "Performer_group"
+    \consists "Staff_performer" % Performer_group ?
+    \consists "Lyric_performer"
+    \name Lyrics
+    \consists "Time_signature_performer"
+    \consists "Tempo_performer"
 }
 
-\translator {
-       \type Performer_group_performer
+\context{
+    \type "Performer_group"
+    \name ChoirStaff
+    \accepts Staff
+    \accepts DrumStaff
+    \defaultchild Staff
 
-       \name StaffGroup
-       \accepts Staff
 }
 
-ScoreContext = \translator {
-       \type "Score_performer"
 
-       \name Score
-       instrument = #"bright acoustic"
-       \accepts Staff
-       \accepts GrandStaff
-       \accepts PianoStaff
-       \accepts Lyrics 
-       \accepts StaffGroup
-       \accepts ChoirStaff
-       \accepts RhythmicStaff
-       \accepts ChordNames
 
-       \consists "Timing_translator"
-       \consists "Swallow_performer"
-       
-       dynamicAbsoluteVolumeFunction = #default-dynamic-absolute-volume
-       instrumentEqualizer = #default-instrument-equalizer
+\context {
+    \type "Performer_group"
+    \consists "Staff_performer"
+    \accepts ChordNameVoice
+    \name ChordNames
+}
+
+\context {
+    \type "Performer_group"
+    \consists "Note_performer"
+    \name ChordNameVoice       
 }
-\translator { \ScoreContext }
+
+\context {
+    \type "Performer_group"
+
+    \name StaffGroup
+    \accepts Staff
+    \accepts DrumStaff
+
+    \defaultchild Staff
+}
+
+\context { \Staff \name RhythmicStaff }
+