X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=ly%2Fperformer-init.ly;h=419d52baa59ab01fa4dd6834d210b10483e27bf0;hb=b872748c6aa8bb721ced458691b38ac2fac5dfc8;hp=fdfa7add3c69ee58dc6c18b0a8ce47dfa447b5cf;hpb=ac1f5ee6bc66e39e4fec27434ebb7c7300bab71e;p=lilypond.git diff --git a/ly/performer-init.ly b/ly/performer-init.ly index fdfa7add3c..419d52baa5 100644 --- a/ly/performer-init.ly +++ b/ly/performer-init.ly @@ -1,6 +1,6 @@ %%%% This file is part of LilyPond, the GNU music typesetter. %%%% -%%%% Copyright (C) 1996--2012 Han-Wen Nienhuys +%%%% Copyright (C) 1996--2015 Han-Wen Nienhuys %%%% Jan Nieuwenhuizen %%%% %%%% LilyPond is free software: you can redistribute it and/or modify @@ -16,7 +16,7 @@ %%%% You should have received a copy of the GNU General Public License %%%% along with LilyPond. If not, see . -\version "2.15.39" +\version "2.19.16" %% %% setup for Request->Element conversion. @@ -24,58 +24,74 @@ \context { \type "Performer_group" \name Staff - \accepts Voice \accepts CueVoice + \accepts NullVoice + \accepts Voice \defaultchild Voice \consists "Staff_performer" \consists "Key_performer" + \consists "Midi_control_change_performer" } \context { \name Global \accepts Score + \defaultchild Score \description "Hard coded entry point for LilyPond. Cannot be tuned." - EventClasses = #all-event-classes } \context { - \type "Performer_group" + \Staff \name KievanStaff + \alias Staff \denies Voice \accepts KievanVoice \defaultchild KievanVoice - \alias Staff - \consists "Staff_performer" - \consists "Key_performer" } \context { - \type "Performer_group" + \Staff \name VaticanaStaff \alias Staff \denies Voice \accepts VaticanaVoice \defaultchild VaticanaVoice - \consists "Staff_performer" - \consists "Key_performer" } \context { - \type "Performer_group" + \Staff \name MensuralStaff + \alias Staff \denies Voice \accepts MensuralVoice \defaultchild MensuralVoice +} + +\context { + \Staff + \name PetrucciStaff \alias Staff - \consists "Staff_performer" - \consists "Key_performer" + \denies Voice + \accepts PetrucciVoice + \defaultchild PetrucciVoice +} + +\context { + \Staff + \name GregorianTranscriptionStaff + \alias Staff + \denies Voice + \accepts GregorianTranscriptionVoice + \defaultchild GregorianTranscriptionVoice } \context { \Staff \name DrumStaff + \alias Staff midiInstrument = #"drums" + \denies Voice \accepts DrumVoice \defaultchild DrumVoice } @@ -98,43 +114,46 @@ } \context { - \type "Performer_group" + \Voice \name VaticanaVoice \alias Voice - \consists "Dynamic_performer" - \consists "Tie_performer" - \consists "Note_performer" - \consists "Beam_performer" - \consists "Slur_performer" + autoBeaming = ##f % needed for consistent melismata with engravers" } \context { - \type "Performer_group" + \Voice \name KievanVoice \alias Voice - \consists "Dynamic_performer" - \consists "Tie_performer" - \consists "Note_performer" - \consists "Beam_performer" - \consists "Slur_performer" + autoBeaming = ##f % needed for consistent melismata with engravers" } \context { - \type "Performer_group" + \Voice \name MensuralVoice \alias Voice - \consists "Dynamic_performer" - \consists "Tie_performer" - \consists "Note_performer" - \consists "Beam_performer" - \consists "Slur_performer" + autoBeaming = ##f % needed for consistent melismata with engravers +} + +\context { + \Voice + \name PetrucciVoice + \alias Voice + autoBeaming = ##f % needed for consistent melismata with engravers +} + +\context { + \Voice + \name GregorianTranscriptionVoice + \alias Voice + autoBeaming = ##f % needed for consistent melismata with engravers } \context { \Voice + \name DrumVoice + \alias Voice \remove "Note_performer" \consists "Drum_note_performer" - \name DrumVoice } \context { @@ -145,33 +164,51 @@ \context { \type "Performer_group" \name FretBoards + \alias Staff } \context { \type "Performer_group" \name GrandStaff + \accepts ChordNames + \accepts DrumStaff + \accepts Dynamics + \accepts FiguredBass + \accepts Lyrics \accepts RhythmicStaff \accepts Staff - \accepts Dynamics + \accepts TabStaff \defaultchild Staff } \context { - \type "Performer_group" - \name "PianoStaff" - \accepts Staff - \accepts DrumStaff - \defaultchild Staff + \GrandStaff + \name PianoStaff + \alias GrandStaff } \context { \Voice \name TabVoice + \alias Voice } \context { \type "Performer_group" - \name "Devnull" + \name Devnull + \alias Voice + \alias Staff +} + +\context { + \type "Performer_group" + \name NullVoice + \alias Staff + \alias Voice + %% needed for melismata + \consists "Tie_performer" + \consists "Beam_performer" + \consists "Slur_performer" } \context { @@ -179,8 +216,10 @@ \name TabStaff midiInstrument = #"acoustic guitar (nylon)" \alias Staff + \denies Voice \accepts TabVoice \defaultchild TabVoice + autoBeaming = ##f % needed for consistent melismata with engravers } \context { @@ -193,24 +232,29 @@ midiChannelMapping = #'staff %% quarter = 60 - tempoWholesPerMinute = #(ly:make-moment 15 1) + tempoWholesPerMinute = #(ly:make-moment 15/1) - \accepts Staff + \accepts ChoirStaff + \accepts ChordNames + \accepts Devnull \accepts DrumStaff + \accepts Dynamics + \accepts FiguredBass \accepts GrandStaff + \accepts GregorianTranscriptionStaff + \accepts KievanStaff + \accepts Lyrics + \accepts MensuralStaff + \accepts NoteNames + \accepts OneStaff + \accepts PetrucciStaff \accepts PianoStaff - \accepts TabStaff - \accepts StaffGroup - \accepts Devnull - \accepts ChoirStaff \accepts RhythmicStaff - \accepts ChordNames - \accepts FiguredBass \accepts FretBoards - \accepts Lyrics + \accepts Staff + \accepts StaffGroup + \accepts TabStaff \accepts VaticanaStaff - \accepts KievanStaff - \accepts MensuralStaff \consists "Time_signature_performer" \consists "Control_track_performer" @@ -225,12 +269,13 @@ %% Timing variables in layout definitions before any %% Timing_translator has been run. + timeSignatureSettings = #default-time-signature-settings timeSignatureFraction = 4/4 + autoBeaming = ##t % needed for consistent melismata with engravers -%% These defaults should be the same as the rules established in -%% scm/time-signature-settings.scm for 4/4 time - measureLength = #(ly:make-moment 4 4) - baseMoment = #(ly:make-moment 1 4) + %% Other beaming variables are not important as autobeams don't affect + %% the Midi. Melismata are only affected by beams when autobeaming + %% is switched off. \consists "Timing_translator" @@ -239,6 +284,14 @@ dynamicAbsoluteVolumeFunction = #default-dynamic-absolute-volume instrumentEqualizer = #default-instrument-equalizer drumPitchTable = #(alist->hash-table midiDrumPitches) + + %% \quoteDuring is supposed to quote everything but we don't admit + %% cue events by default in order not to get multiple midi + %% renditions in an orchestral score. + + quotedEventTypes = #'(StreamEvent) + quotedCueEventTypes = #'() + timing = ##t } @@ -253,47 +306,85 @@ \context{ \type "Performer_group" \name ChoirStaff - \accepts Staff + \accepts ChoirStaff + \accepts ChordNames + \accepts FiguredBass \accepts DrumStaff + \accepts Dynamics + \accepts GrandStaff + \accepts Lyrics + \accepts OneStaff + \accepts PianoStaff + \accepts RhythmicStaff + \accepts Staff + \accepts StaffGroup \defaultchild Staff } \context { \type "Performer_group" \consists "Staff_performer" - \accepts ChordNameVoice - \name ChordNames + \name NoteNames } \context { - \type "Performer_group" - \consists "Note_performer" - \name ChordNameVoice + \Voice % We want all the actual performers + \name ChordNames + \alias Staff % Catch Staff-level overrides like + % \key, \transposition + \consists "Staff_performer" } \context { \type "Performer_group" \name StaffGroup - \accepts Staff - \accepts DrumStaff - \accepts TabStaff - \accepts RhythmicStaff - \accepts GrandStaff - \accepts PianoStaff - \accepts Lyrics + \accepts ChoirStaff \accepts ChordNames + \accepts DrumStaff \accepts FiguredBass \accepts FretBoards + \accepts GrandStaff + \accepts Lyrics + \accepts OneStaff + \accepts PianoStaff + \accepts RhythmicStaff + \accepts Staff + \accepts StaffGroup + \accepts TabStaff \defaultchild Staff } +\context { + \type "Performer_group" + \name "OneStaff" + \accepts "ChordNames" + \accepts "DrumStaff" + \accepts "Dynamics" + \accepts "FiguredBass" + \accepts "FretBoards" + \accepts "GregorianTranscriptionStaff" + \accepts "KievanStaff" + \accepts "Lyrics" + \accepts "MensuralStaff" + \accepts "NoteNames" + \accepts "PetrucciStaff" + \accepts "RhythmicStaff" + \accepts "Staff" + \accepts "TabStaff" + \accepts "VaticanaStaff" + \defaultchild "Staff" +} + \context { \Staff \name RhythmicStaff + \alias Staff + \defaultchild Voice } \context { \type "Performer_group" \name Dynamics + \alias Voice \consists "Piano_pedal_performer" }