X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=ly%2Fperformer-init.ly;h=645c8ee45a79a03422b5e974dc2cb292ea3dc5c3;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=a929bc9d5d8bc864468f0ef75270c713b88cf43c;hpb=b4459d71ac1a86b73fbae1cb320127a1ed1ed1fb;p=lilypond.git diff --git a/ly/performer-init.ly b/ly/performer-init.ly index a929bc9d5d..645c8ee45a 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--2009 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.12.0" +\version "2.17.14" %% %% setup for Request->Element conversion. @@ -26,17 +26,57 @@ \name Staff \accepts Voice \accepts CueVoice + \accepts NullVoice \defaultchild Voice \consists "Staff_performer" \consists "Key_performer" + \consists "Midi_control_function_performer" } + \context { \name Global \accepts Score + \defaultchild Score \description "Hard coded entry point for LilyPond. Cannot be tuned." } +\context { + \type "Performer_group" + \name KievanStaff + \denies Voice + \accepts KievanVoice + \defaultchild KievanVoice + \alias Staff + \consists "Staff_performer" + \consists "Key_performer" + \consists "Midi_control_function_performer" +} + +\context { + \type "Performer_group" + \name VaticanaStaff + \alias Staff + \denies Voice + \accepts VaticanaVoice + \defaultchild VaticanaVoice + \consists "Staff_performer" + \consists "Key_performer" + \consists "Midi_control_function_performer" +} + +\context { + \type "Performer_group" + \name MensuralStaff + \denies Voice + \accepts MensuralVoice + \defaultchild MensuralVoice + \alias Staff + \consists "Staff_performer" + \consists "Key_performer" + \consists "Midi_control_function_performer" +} + \context { \Staff \name DrumStaff @@ -63,9 +103,39 @@ } \context { - \Voice + \type "Performer_group" \name VaticanaVoice \alias Voice + \consists "Dynamic_performer" + \consists "Tie_performer" + \consists "Note_performer" + \consists "Beam_performer" + autoBeaming = ##f % needed for consistent melismata with engravers + \consists "Slur_performer" +} + +\context { + \type "Performer_group" + \name KievanVoice + \alias Voice + \consists "Dynamic_performer" + \consists "Tie_performer" + \consists "Note_performer" + \consists "Beam_performer" + autoBeaming = ##f % needed for consistent melismata with engravers + \consists "Slur_performer" +} + +\context { + \type "Performer_group" + \name MensuralVoice + \alias Voice + \consists "Dynamic_performer" + \consists "Tie_performer" + \consists "Note_performer" + \consists "Beam_performer" + autoBeaming = ##f % needed for consistent melismata with engravers + \consists "Slur_performer" } \context { @@ -80,6 +150,11 @@ \name FiguredBass } +\context { + \type "Performer_group" + \name FretBoards +} + \context { \type "Performer_group" \name GrandStaff @@ -107,6 +182,17 @@ \name "Devnull" } +\context { + \type "Performer_group" + \name NullVoice + \alias Staff + \alias Voice + %% needed for melismata + \consists "Tie_performer" + \consists "Beam_performer" + \consists "Slur_performer" +} + \context { \Staff \name TabStaff @@ -114,15 +200,7 @@ \alias Staff \accepts TabVoice \defaultchild TabVoice -} - -\context { - \type "Performer_group" - \name "VaticanaStaff" - \alias "Staff" - \denies "Voice" - \accepts "VaticanaVoice" - \defaultchild "VaticanaVoice" + autoBeaming = ##f % needed for consistent melismata with engravers } \context { @@ -132,28 +210,50 @@ melismaBusyProperties = #default-melisma-properties instrumentName = #"bright acoustic" + midiChannelMapping = #'staff %% quarter = 60 - tempoWholesPerMinute = #(ly:make-moment 15 1) + tempoWholesPerMinute = #(ly:make-moment 15/1) \accepts Staff \accepts DrumStaff \accepts GrandStaff \accepts PianoStaff \accepts TabStaff - \accepts Staff \accepts StaffGroup \accepts Devnull + \accepts NullVoice \accepts ChoirStaff \accepts RhythmicStaff \accepts ChordNames \accepts FiguredBass + \accepts FretBoards \accepts Lyrics \accepts VaticanaStaff + \accepts KievanStaff + \accepts MensuralStaff \consists "Time_signature_performer" \consists "Control_track_performer" \consists "Tempo_performer" + + \alias "Timing" + + %% An alias for Timing is established by the Timing_translator in + %% whatever context it is initialized, and the timing variables are + %% then copied from wherever Timing had been previously established. + %% The alias at Score level provides a target for initializing + %% 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 + + %% 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" \defaultchild "Staff" @@ -184,12 +284,12 @@ \type "Performer_group" \consists "Staff_performer" \accepts ChordNameVoice + \defaultchild ChordNameVoice \name ChordNames } \context { - \type "Performer_group" - \consists "Note_performer" + \Voice \name ChordNameVoice } @@ -205,6 +305,7 @@ \accepts Lyrics \accepts ChordNames \accepts FiguredBass + \accepts FretBoards \defaultchild Staff }