X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=ly%2Fperformer-init.ly;h=8e3ef0e7ef10ffa3ac1a0538b92bb69bf2fd431a;hb=00608c9fd2b35e0c0bca967ea2e5b4c9b1f058da;hp=078edc8d291fb8c9323b0a656be7b56d3820cfe8;hpb=f51609af5239aa5024a8d8c0750e293384fd7381;p=lilypond.git diff --git a/ly/performer-init.ly b/ly/performer-init.ly index 078edc8d29..8e3ef0e7ef 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--2010 Han-Wen Nienhuys +%%%% Copyright (C) 1996--2012 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.13.36" +\version "2.17.11" %% %% setup for Request->Element conversion. @@ -31,12 +31,47 @@ \consists "Staff_performer" \consists "Key_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" +} + +\context { + \type "Performer_group" + \name VaticanaStaff + \alias Staff + \denies Voice + \accepts VaticanaVoice + \defaultchild VaticanaVoice + \consists "Staff_performer" + \consists "Key_performer" +} + +\context { + \type "Performer_group" + \name MensuralStaff + \denies Voice + \accepts MensuralVoice + \defaultchild MensuralVoice + \alias Staff + \consists "Staff_performer" + \consists "Key_performer" +} + \context { \Staff \name DrumStaff @@ -63,9 +98,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 { @@ -119,15 +184,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 { @@ -137,9 +194,10 @@ 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 @@ -155,10 +213,30 @@ \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" @@ -189,12 +267,12 @@ \type "Performer_group" \consists "Staff_performer" \accepts ChordNameVoice + \defaultchild ChordNameVoice \name ChordNames } \context { - \type "Performer_group" - \consists "Note_performer" + \Voice \name ChordNameVoice }