X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=ly%2Fperformer-init.ly;h=645c8ee45a79a03422b5e974dc2cb292ea3dc5c3;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=80898c0f121c0946395fb6b3ed0d6392f0cf8049;hpb=f9c804078f7b0a0c60e8b2c4ba34879394fb2332;p=lilypond.git diff --git a/ly/performer-init.ly b/ly/performer-init.ly index 80898c0f12..645c8ee45a 100644 --- a/ly/performer-init.ly +++ b/ly/performer-init.ly @@ -1,4 +1,22 @@ -\version "2.12.0" +%%%% This file is part of LilyPond, the GNU music typesetter. +%%%% +%%%% Copyright (C) 1996--2015 Han-Wen Nienhuys +%%%% Jan Nieuwenhuizen +%%%% +%%%% LilyPond is free software: you can redistribute it and/or modify +%%%% it under the terms of the GNU General Public License as published by +%%%% the Free Software Foundation, either version 3 of the License, or +%%%% (at your option) any later version. +%%%% +%%%% LilyPond is distributed in the hope that it will be useful, +%%%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%%%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%%%% GNU General Public License for more details. +%%%% +%%%% You should have received a copy of the GNU General Public License +%%%% along with LilyPond. If not, see . + +\version "2.17.14" %% %% setup for Request->Element conversion. @@ -8,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 @@ -45,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 { @@ -60,7 +148,11 @@ \context { \type "Performer_group" \name FiguredBass - \consists "Swallow_performer" +} + +\context { + \type "Performer_group" + \name FretBoards } \context { @@ -88,8 +180,19 @@ \context { \type "Performer_group" \name "Devnull" - \consists "Swallow_performer" } + +\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 @@ -97,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 { @@ -115,30 +210,51 @@ 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" - \consists "Swallow_performer" \defaultchild "Staff" @@ -168,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 } @@ -189,6 +305,7 @@ \accepts Lyrics \accepts ChordNames \accepts FiguredBass + \accepts FretBoards \defaultchild Staff }