]> git.donarmstrong.com Git - lilypond.git/commitdiff
2002-08-29 Juergen Reuter <reuter@ipd.uka.de>
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 29 Aug 2002 11:54:55 +0000 (11:54 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 29 Aug 2002 11:54:55 +0000 (11:54 +0000)
* input/test/ancient-font.ly, mf/parmesan-heads.mf,
scm/output-lib.scm, lily/note-head.cc: bugfix: make neume note
heads accessible

ChangeLog
Documentation/topdocs/INSTALL.texi
input/test/ancient-font.ly
lily/note-head.cc
mf/parmesan-heads.mf
scm/music-functions.scm
scm/output-lib.scm

index 31d2c96bbe319a8ccec662246f5abb099297803f..922b4aacd749f149fab1bd88682b14213c87f024 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+
+2002-08-29  Juergen Reuter  <reuter@ipd.uka.de>
+
+       * input/test/ancient-font.ly, mf/parmesan-heads.mf,
+       scm/output-lib.scm, lily/note-head.cc: bugfix: make neume note
+       heads accessible
+
 2002-08-29  Mats Bengtsson  <mats.bengtsson@s3.kth.se>
 
        * scm/music-functions.scm (unfold-repeats): Call new
index 087116b392a14caf65f04cb082bb0adb398f11a6..e5b295d705bd00fef3388ec5d6a2bfb83c13cce1 100644 (file)
@@ -672,12 +672,13 @@ LilyPond with gcc-3.1.1 you may do:
 
 @example
         CONF=gcc-3.1 ./lexer-gcc-3.1.sh
-        CPPFLAGS=$(pwd)/lily/out-gcc-3.1 CC=gcc-3.1 CXX=g++-3.1 \
+        CPPFLAGS=-I$(pwd)/lily/out-gcc-3.1 CC=gcc-3.1 CXX=g++-3.1 \
             ./configure --enable-config=gcc-3.1
         CONF=gcc-3.1 ./lexer-gcc-3.1.sh
         make conf=gcc-3.1
 @end example
 
+This assumes that the GCC 3.1 binaries are called gcc-3.1 and g++-3.1.
 Note that this is @strong{not} fixed in Debian/unstable for flex <=
 2.5.4a-26.
 
index abeb31b81dced823ebf7e64f9f777b89b9287833..ae0a9f6ce90981d4e53159752d22aa9ddf23aa08 100644 (file)
@@ -1,23 +1,16 @@
 \version "1.5.68"
 \header {
     title      = "ancient font test"
-    date       = "2000"
+    date       = "2002"
 }
 
-
-
 \include "paper26.ly"
 
-global =  \notes {
+upperStaff =  \context GregorianStaff = upperStaff <
+  \context GregorianVoice <
     \property Score.timing = ##f
-%   \property Score.forceAccidental = ##t
-    \property Staff.TimeSignature \set #'font-family = #'ancient
-%   \property Staff.TimeSignature \override #'style = #'mensural
-}
+%   \property Score.forceAccidental = ##t %%%%%%%% FIXME: what happened to this property?
 
-upperVoice =  \context Staff = upperVoice <
-    \global
-    
     % this is broken until further notice -- see refman
     % \property Staff.StaffSymbol \override #'line-count = #4
     \context Staff \outputproperty #(make-type-checker 'staff-symbol-interface)
@@ -29,32 +22,19 @@ upperVoice =  \context Staff = upperVoice <
        \property Staff.KeySignature \override #'style = #'vaticana
        \property Staff.Accidental \set #'font-family = #'ancient
        \property Staff.Accidental \override #'style = #'vaticana
-       \property Staff.Custos \set #'font-family = #'ancient
-       \property Staff.Custos \override #'style = #'vaticana
-       \property Staff.Custos \override #'neutral-position = #4
-       \property Staff.Custos \override #'neutral-direction = #-1
-       \property Staff.Custos \override #'adjust-if-on-staffline = ##t
        \property Voice.NoteHead \set #'font-family = #'ancient
        \property Voice.NoteHead \override #'style = #'vaticana_punctum
-       \property Voice.Porrectus \override #'style = #'vaticana
-       \property Voice.Porrectus \override #'solid = ##t
-       \property Voice.Porrectus \override #'add-stem = ##t
-       \property Voice.Porrectus \override #'direction = #-1
-       \property Voice.Porrectus \override #'thickness = #0.5
        \key es \major
        \clef "vaticana_fa2"
        c!1 des! e! f! ges!
 
-%      \property Staff.clefGlyph = #"clefs-vaticana_do"
-%      \property Staff.clefPosition = #1
-%      \property Staff.clefOctavation = #0 
-       \clef "vaticana_do2"
-
        \property Voice.NoteHead \override #'style = #'vaticana_inclinatum
-       a! b!
+       a! b! ces'
        \property Staff.BarLine \override #'bar-size = #3.0 \bar "|"
+%      \break % 1 (8*1)
+
        \property Voice.NoteHead \override #'style = #'vaticana_virga
-       ces' b! des'! \~ ges! \~ fes!
+       b! des'! ges! fes!
        \breathe
        \clef "vaticana_fa1"
        \property Voice.NoteHead \override #'style = #'vaticana_quilisma
@@ -62,6 +42,8 @@ upperVoice =  \context Staff = upperVoice <
        \property Voice.NoteHead \override #'style = #'vaticana_rvirga
        c d
        \property Staff.BarLine \override #'bar-size = #3.0 \bar "|"
+%      \break %2 (8*1)
+
        \property Voice.NoteHead \override #'style = #'vaticana_rvirga
        es f
        \property Voice.NoteHead \override #'style = #'vaticana_lpes
@@ -72,6 +54,8 @@ upperVoice =  \context Staff = upperVoice <
        g f
        \property Voice.NoteHead \override #'style = #'vaticana_plica
        \property Staff.BarLine \override #'bar-size = #2.0 \bar "|"
+%      \break % 3 (8*1)
+
        es d
        \property Voice.NoteHead \override #'style = #'vaticana_epiphonus
        c d
@@ -85,13 +69,17 @@ upperVoice =  \context Staff = upperVoice <
        \clef "medicaea_fa2"
        ces! des!
        \property Staff.BarLine \override #'bar-size = #3.0 \bar "|"
+%      \break % 4 (8*1)
+
        e! f! ges!
        \clef "medicaea_do2"
-       \property Voice.NoteHead \override #'style = #'medicaea_subbipunctum
+       \property Voice.NoteHead \override #'style = #'medicaea_inclinatum
        a! b! ces'!
        \property Voice.NoteHead \override #'style = #'medicaea_virga
        b! a!
        \property Staff.BarLine \override #'bar-size = #3.0 \bar "|"
+%      \break % 5 (8*1)
+
        ges! fes!
        \clef "medicaea_fa1"
        \property Voice.NoteHead \override #'style = #'medicaea_rvirga
@@ -104,6 +92,8 @@ upperVoice =  \context Staff = upperVoice <
        \clef "hufnagel_fa2"
        ces! des! es!
        \property Staff.BarLine \override #'bar-size = #3.0 \bar "|"
+%      \break % 6 (8*1)
+
        fes! ges!
        \clef "hufnagel_do2"
        \property Voice.NoteHead \override #'style = #'hufnagel_lpes
@@ -111,16 +101,23 @@ upperVoice =  \context Staff = upperVoice <
        \property Voice.NoteHead \override #'style = #'hufnagel_virga
        bes! as!
        \property Staff.BarLine \override #'bar-size = #3.0 \bar "|"
+%      \break % 7 (8*1)
+
        ges! fes!
        \clef "hufnagel_do_fa"
        \property Voice.NoteHead \override #'style = #'hufnagel_punctum
        es! des! ces! des! es! fes!
        \bar "||"
+%      \break % 8 (8*1)
+
+       s32*1
+%      \break % 12 (32*1)
     }
+  >
 >
 
-lowerVoice =  \context Staff = lowerNotes <
-    \global
+lowerStaff =  \context MensuralStaff = lowerStaff <
+  \context MensuralVoice <
     
     % this is broken until further notice -- see refman
     % \property Staff.StaffSymbol \override #'line-count = #5
@@ -128,131 +125,190 @@ lowerVoice =  \context Staff = lowerNotes <
       #'line-count = #5
 
     \notes \transpose c' {
-       \property Voice.autoBeaming = ##f
        \property Staff.Clef \set #'font-family = #'ancient
-       \property Staff.KeySignature \set #'font-family = #'ancient
-       \property Staff.KeySignature \override #'style = #'mensural
-       \property Staff.Accidental \set #'font-family = #'ancient
-       \property Staff.Accidental \override #'style = #'mensural
-       \property Staff.Custos \set #'font-family = #'ancient
-       \property Staff.Custos \override #'style = #'mensural
-       \property Staff.Custos \override #'neutral-position = #3
-       \property Staff.Custos \override #'neutral-direction = #-1
-       \property Staff.Custos \override #'adjust-if-on-staffline = ##t
+       \property Voice.autoBeaming = ##f
        \property Voice.NoteHead \set #'font-family = #'ancient
        \property Voice.NoteHead \override #'style = #'neo_mensural
        \property Voice.Stem \set #'font-family = #'ancient % ancient flags
        \property Voice.Rest \set #'font-family = #'music
        \property Voice.Rest \override #'style = #'neo_mensural
-       \property Voice.Porrectus \override #'style = #'mensural
-       \property Voice.Porrectus \override #'solid = ##f
-       \property Voice.Porrectus \override #'add-stem = ##t
-       \property Voice.Porrectus \override #'thickness = #0.7
-%      \property Voice.Porrectus \override #'auto-properties = ##t
-%      \property Voice.Porrectus \override #'width = #3.0
        \key a \major
 
-       % IMPORTANT NOTE:
-       %
-       % The porrectus syntax is definitely subject to change.  For
-       % proper use, it may eventually change into something like this:
-       %
-       % \startLigature e \~ c \endLigature
-       %
-       % The reason is that there needs to be some enclosing instance
-       % for correct handling of line breaking, alignment with
-       % adjacent note heads, and placement of accidentals.
+% FIXME: lily crashes on some (invalid?) ligatures with:
+%   ERROR: In procedure gh_scm2int:
+%   ERROR: Wrong type argument in position 1: ()
 
-       \clef "neo_mensural_c2"
-       cis' e' \~ d' gis' \~ e'
+% FIXME: lily emits "Programming error: Infinity or NaN encountered"
+% on many ligatures such as BB.
+
+       cis'1 d'\breve gis'\breve e'\breve \[ e'\longa fis'\longa \]
        \property Staff.forceClef = ##t
        \clef "neo_mensural_c2"
+       cis1
+       \bar "|"
+%      \break % 2 (16*1)
 
-       fis' \~ b cis''
-       b \~ a a \~ fis
+       \[ g\breve dis''\longa \]
+       b\breve \[ a\longa d\longa \]
        \clef "petrucci_c2"
-       cis \~ fis ces1 % \bar "|"
+%      \break % 4 (16*1)
 
+       fis1 ces1
        \clef "petrucci_c2"
        r\longa
        \property Staff.forceClef = ##t
        \clef "mensural_c2"
-       r\breve r1 r2
-       \clef "mensural_g"
-       r4 r8 r16 r16 \bar "|"
+       r\breve
+       \bar "|"
+%      \break % 5 (8*1)
 
+       r2
+       \clef "mensural_g"
+       r4 r8 r16 r16
        \property Voice.NoteHead \override #'style = #'mensural
        \property Voice.Stem \override #'style = #'mensural
        \property Voice.Stem \override #'thickness = #1.0
        \property Voice.Rest \set #'font-family = #'ancient
        \property Voice.Rest \override #'style = #'mensural
        \clef "petrucci_f"
-       c8 b, c16 b, c32 b, c64 b, c b,
-       d8 e  d16 e  d32 e  d64 e  d e
+       c8 b, c16 b, c32 b, c64 b, c64 b,
+       d8 e  d16 e  d32 e  d64 e  d64 e
        r\longa
        \property Staff.forceClef = ##t
        \clef "petrucci_f"
-       r\breve r1 % \bar "|"
-       \clef "mensural_f"
+       r\breve
+       \bar "|"
+%      \break % 6 (8*1)
 
+       r\breve 
+       \clef "mensural_f"
        % FIXME: must set Voice.Stem style to #'neo_mensural to avoid
        % segmentation fault on r8/r16/r32.  (Strange: what has
        % Voice.Stem style to do with mensural rests?)
        \property Voice.Stem \override #'style = #'neo_mensural
        r2 r4 r8 r16 r32 r32
        \property Voice.Stem \override #'style = #'mensural
-
        \property Staff.forceClef = ##t
        \clef "mensural_f"
-       e2 f g
+       e\breve f g a1
        \clef "mensural_g"
+%      \break % 7 (8*1)
 
-       bes'! \~ as'! \~ cis''!
-       bes'! \~ fis'! as'! \~ ges'!
+       \[ bes'!\longa a'!\longa c''!\longa \]
+       e'1 d' c' d' \bar "|"
+       \bar "|"
+%      \break % 9 (16*1)
+
+       bes'!\longa fis'!1 as'!1 ges'!\longa % lig
        \property Staff.forceClef = ##t
        \clef "mensural_g"
-       e' d' c'1 \bar "|"
+       e'2 d' c' \bar "|"
+%      \break % 11 (16*1)
 
        \property Staff.forceClef = ##t
        \clef "petrucci_g"
-       c'2 d' e' f' g'
+       c'2 d' e' f'
        \clef "petrucci_g"
-       as'! bes'! cis''!
+       g' as'! bes'! cis''!
        bes'! as'! gis'! fis'!
        \property Staff.forceClef = ##t
        \clef "mensural_g"
        es'! des'! cis'!1 \bar "||"
+%      \break % 12 (8*1)
     }
+  >
 >
 
 \score {
-    \context ChoirStaff <
-       \upperVoice
-       \lowerVoice
+    \context Score <
+       \upperStaff
+       \lowerStaff
     >
     \paper {
-%      \paperTwentysix
        linewidth = 17.25\cm
        textheight = 26.0\cm
        stafflinethickness = \staffspace / 5.0
        indent = 0.0
+       \translator {
+           \ScoreContext
+           \accepts MensuralStaff
+           \accepts GregorianStaff
+%          timing = ##f %%%%%%%% FIXME: this has no effect
+       }
+       \translator {
+           \VoiceContext
+           \name MensuralVoice
+           \alias Voice
+           \remove Ligature_bracket_engraver
+           \consists Mensural_ligature_engraver
+           NoteHead \set #'font-family = #'ancient
+           NoteHead \set #'style = #'mensural
+           Stem \set #'font-family = #'ancient
+%          Stem \set #'style = #'mensural %%%%%%%% FIXME: this core dumps
+           Stem \set #'thickness = #1.0
+           Rest \set #'font-family = #'music
+           Rest \set #'style = #'mensural
+           autoBeaming = ##f
+       }
+       \translator {
+           \VoiceContext
+           \name GregorianVoice
+           \alias Voice
+           \remove Ligature_bracket_engraver
+%          \consists Gregorian_ligature_engraver %%%%%%%% TODO: not yet implemented
+           NoteHead \set #'font-family = #'ancient
+           NoteHead \set #'style = #'vaticana_punctum
+           autoBeaming = ##f
+       }
        \translator {
            \StaffContext
+           \name MensuralStaff
+           \alias Staff
+           \accepts MensuralVoice
            \consists Custos_engraver
-%          Custos \override #'style = #'mensural
-           \remove Time_signature_engraver
-%          StaffSymbol \override #'thickness = #2.0
-%          StaffSymbol \override #'line-count = #4
+           TimeSignature \set #'font-family = #'ancient
+           TimeSignature \set #'style = #'mensural
+           KeySignature \set #'font-family = #'ancient
+           KeySignature \set #'style = #'mensural
+           Accidental \set #'font-family = #'ancient
+           Accidental \set #'style = #'mensural
+           Custos \set #'font-family = #'ancient
+           Custos \set #'style = #'mensural
+           Custos \set #'neutral-position = #3
+           Custos \set #'neutral-direction = #-1
+           Custos \set #'adjust-if-on-staffline = ##t
+           Clef \set #'font-family = #'ancient
+           clefGlyph = #"clefs-petrucci_c2"
+           clefPosition = #-2
+           clefOctavation = #0 
        }
        \translator {
-           \ScoreContext
-%          \remove System_start_delimiter_engraver
-%          systemStartDelimiter \override #'glyph = #'brace
+           \StaffContext
+           \name GregorianStaff
+           \alias Staff
+           \accepts GregorianVoice
+           \consists Custos_engraver
+           \remove Time_signature_engraver
+           StaffSymbol \set #'thickness = #2.0
+           StaffSymbol \set #'line-count = #4
+           KeySignature \set #'font-family = #'ancient
+           KeySignature \set #'style = #'vaticana
+           Accidental \set #'font-family = #'ancient
+           Accidental \set #'style = #'vaticana
+           Custos \set #'font-family = #'ancient
+           Custos \set #'style = #'vaticana
+           Custos \set #'neutral-position = #4
+           Custos \set #'neutral-direction = #-1
+           Custos \set #'adjust-if-on-staffline = ##t
+           Clef \set #'font-family = #'ancient
+           clefGlyph = #"clefs-vaticana_do"
+           clefPosition = #1
+           clefOctavation = #0 
        }
        \translator {
-           \ChoirStaffContext
-           \remove System_start_delimiter_engraver
-%          systemStartDelimiter \override #'glyph = #'empty
-       }
+           \HaraKiriStaffContext
+           \accepts MensuralVoice
+           \accepts GregorianVoice
+        }
     }
 }
index 4b2596c298f19376dcf4b35d74e51fa5a44cb3d9..357f78a1125748c2e76c3df12499849c04f74611 100644 (file)
@@ -125,15 +125,15 @@ internal_brew_molecule (Grob *me,  bool ledger_take_space)
   SCM scm_font_family = ly_cdr (scm_pair);
   String font_char = "noteheads-" + ly_scm2string (scm_font_char);
   String font_family = ly_scm2string (scm_font_family);
-  
-   me->set_grob_property("font-family", ly_symbol2scm (font_family.to_str0 ()));
-   Molecule out =
-     Font_interface::get_default_font (me)->find_by_name (font_char);
-   if (out.empty_b())
-     {
-       warning (_f("Symbol not found, ", font_char.to_str0()));
+
+  me->set_grob_property("font-family", ly_symbol2scm (font_family.to_str0 ()));
+  Molecule out =
+    Font_interface::get_default_font (me)->find_by_name (font_char);
+  if (out.empty_b())
+    {
+      me->warning (_f ("Symbol `%s' not found in family `%s'",
+                      font_char.to_str0 (), font_family.to_str0 ()));
     }
-  
   int interspaces = Staff_symbol_referencer::line_count (me)-1;
   int pos = (int)rint (Staff_symbol_referencer::get_position (me));
   if (abs (pos) - interspaces > 1)
index 2b35a7eb62997c1336b2e90f05ec90e6fa8820d0..49c964d93752faa5efd3215f659da63cd67e077c 100644 (file)
@@ -486,50 +486,50 @@ def inclinatum_char(expr verbose_name, internal_name, mudela_name,
 enddef;
 
 % punctum
-punctum_char("Ed. Vat. punctum", "0vaticana_punctum", "vatpunctumhead",
+punctum_char("Ed. Vat. punctum", "vaticana_punctum", "vatpunctumhead",
             false, false, false, false, false,
             false, false, false, false, 1.0);
 
 % punctum cavum (for OpusTeX compatibility)
-punctum_char("Ed. Vat. punctum cavum", "0vaticana_punctum_cavum",
+punctum_char("Ed. Vat. punctum cavum", "vaticana_punctum_cavum",
             "vatpunctumcavumhead",
             false, false, false, true, false,
             false, false, false, false, 1.0);
 
 % linea punctum (for OpusTeX compatibility)
-punctum_char("Ed. Vat. linea punctum", "0vaticana_linea_punctum",
+punctum_char("Ed. Vat. linea punctum", "vaticana_linea_punctum",
             "vatlineapunctumhead",
             false, false, true, false, false,
             false, false, false, false, 1.0);
 
 % linea punctum cavum (for OpusTeX compatibility)
-punctum_char("Ed. Vat. linea punctum cavum", "0vaticana_linea_punctum_cavum",
+punctum_char("Ed. Vat. linea punctum cavum", "vaticana_linea_punctum_cavum",
             "vatlineapunctumcavumhead",
             false, false, true, true, false,
             false, false, false, false, 1.0);
 
 % punctum inclinatum
-inclinatum_char("Ed. Vat. inclinatum", "0vaticana_inclinatum",
+inclinatum_char("Ed. Vat. inclinatum", "vaticana_inclinatum",
                "vatinclinatumhead",
                false, false, false);
 
 % virga (i.e. right stemmed punctum)
-punctum_char("Ed. Vat. virga", "0vaticana_virga", "vatvirgahead",
+punctum_char("Ed. Vat. virga", "vaticana_virga", "vatvirgahead",
             false, true, false, false, false,
             false, false, false, false, 1.0);
 
 % left stemmed punctum as used in clivis (flexa) ligature
-punctum_char("Ed. Vat. reverse virga", "0vaticana_rvirga", "vatrvirgahead",
+punctum_char("Ed. Vat. reverse virga", "vaticana_rvirga", "vatrvirgahead",
             true, false, false, false, false,
             false, false, false, false, 1.0);
 
 % pes lower punctum
-punctum_char("Ed. Vat. pes lower punctum", "0vaticana_lpes", "vatlpeshead",
+punctum_char("Ed. Vat. pes lower punctum", "vaticana_lpes", "vatlpeshead",
             false, false, false, false, true,
             false, true, false, false, 1.0);
 
 % pes upper punctum
-punctum_char("Ed. Vat. pes upper punctum", "0vaticana_upes", "vatupeshead",
+punctum_char("Ed. Vat. pes upper punctum", "vaticana_upes", "vatupeshead",
             false, false, false, false, true,
             false, false, false, false, 1.0);
 
@@ -539,29 +539,29 @@ punctum_char("Ed. Vat. pes upper punctum", "0vaticana_upes", "vatupeshead",
 % punctum to avoid collision with the lower punctum note of the pes when
 % the upper punctum sits directly on top of the lower punctum.
 %
-punctum_char("Ed. Vat. var pes upper punctum", "0vaticana_vupes",
+punctum_char("Ed. Vat. var pes upper punctum", "vaticana_vupes",
             "vatvupeshead",
             false, false, false, false, true,
             false, false, false, true, 1.0);
 
 % small punctum as used in epiphonus/cephalicus
-punctum_char("Ed. Vat. plica", "0vaticana_plica", "vatplicahead",
+punctum_char("Ed. Vat. plica", "vaticana_plica", "vatplicahead",
             false, false, false, false, true,
             false, false, false, false, 0.5);
 
 % excentric punctum as used in epiphonus
-punctum_char("Ed. Vat. epiphonus", "0vaticana_epiphonus", "vatepiphonushead",
+punctum_char("Ed. Vat. epiphonus", "vaticana_epiphonus", "vatepiphonushead",
             false, false, false, false, false,
             false, true, true, false, 1.0);
 
 % excentric punctum as used in cephalicus
-punctum_char("Ed. Vat. cephalicus", "0vaticana_cephalicus",
+punctum_char("Ed. Vat. cephalicus", "vaticana_cephalicus",
             "vatcephalicushead",
             false, false, false, false, false,
             false, false, true, false, 1.0);
 
 % quilisma
-fet_beginchar("Ed. Vat. quilisma", "0vaticana_quilisma", "vatquilismahead")
+fet_beginchar("Ed. Vat. quilisma", "vaticana_quilisma", "vatquilismahead")
        save b_h,a_w;
        a_b:=1.54; % b_h*a_b/a_w = wd/ht
        b_h:=0.85;
@@ -589,39 +589,39 @@ fet_beginchar("Ed. Vat. quilisma", "0vaticana_quilisma", "vatquilismahead")
 fet_endchar;
 
 % solesmes punctum inclinatum parvum
-inclinatum_char("Solesmes punctum inclinatum parvum", "0solesmes_incl_parvum",
+inclinatum_char("Solesmes punctum inclinatum parvum", "solesmes_incl_parvum",
                "solinclparvumhead",
                true, false, false);
 
 % solesmes punctum auctum ascendens
-punctum_char("Solesmes punctum auctum ascendens", "0solesmes_auct_asc",
+punctum_char("Solesmes punctum auctum ascendens", "solesmes_auct_asc",
             "solauctaschead",
             false, false, false, false, false,
             true, true, false, false, 1.0);
 
 % solesmes punctum auctum descendens
-punctum_char("Solesmes punctum auctum descendens", "0solesmes_auct_desc",
+punctum_char("Solesmes punctum auctum descendens", "solesmes_auct_desc",
             "solauctdeschead",
             false, false, false, false, false,
             true, false, false, false, 1.0);
 
 % solesmes punctum inclinatum auctum
-inclinatum_char("Solesmes punctum incl. auctum", "0solesmes_incl_auctum",
+inclinatum_char("Solesmes punctum incl. auctum", "solesmes_incl_auctum",
                "solpunctuminclinatumauctumhead",
                false, false, true);
 
 % solesmes stropha
-inclinatum_char("Solesmes stropha", "0solesmes_stropha",
+inclinatum_char("Solesmes stropha", "solesmes_stropha",
                "solstrophahead",
                false, true, false);
 
 % solesmes stropha aucta
-inclinatum_char("Solesmes stropha aucta", "0solesmes_stropha_aucta",
+inclinatum_char("Solesmes stropha aucta", "solesmes_stropha_aucta",
                "solstrophaauctahead",
                false, true, true);
 
 % solesmes oriscus
-fet_beginchar("Solesmes oriscus", "0solesmes_oriscus",
+fet_beginchar("Solesmes oriscus", "solesmes_oriscus",
        "soloriscushead")
        save b_h, a_w;
        a_b := 1.54; % b_h*a_b/a_w = wd/ht
@@ -658,7 +658,7 @@ fet_endchar;
 %
 
 % inclinatum
-fet_beginchar("Ed. Med. inclinatum", "0medicaea_inclinatum",
+fet_beginchar("Ed. Med. inclinatum", "medicaea_inclinatum",
        "medinclinatumhead")
        save b_h, a_w;
        a_b := 1.54; % b_h*a_b/a_w = wd/ht
@@ -724,15 +724,15 @@ def punctum_char (expr verbose_name, internal_name, mudela_name,
 enddef;
 
 % punctum
-punctum_char("Ed. Med. punctum", "0medicaea_punctum", "medpunctumhead",
+punctum_char("Ed. Med. punctum", "medicaea_punctum", "medpunctumhead",
        false, false);
 
 % left up-stemmed punctum
-punctum_char("Ed. Med. reverse virga", "0medicaea_rvirga", "medrvirgahead",
+punctum_char("Ed. Med. reverse virga", "medicaea_rvirga", "medrvirgahead",
        true, false);
 
 % virga (i.e. left down-stemmed punctum)
-punctum_char("Ed. Med. virga", "0medicaea_virga", "medvirgahead",
+punctum_char("Ed. Med. virga", "medicaea_virga", "medvirgahead",
        false, true);
 
 %%%%%%%%
@@ -783,13 +783,13 @@ def punctum_char (expr verbose_name, internal_name, mudela_name,
 enddef;
 
 % punctum
-punctum_char("Hufnagel punctum", "0hufnagel_punctum", "hufpunctumhead", false)
+punctum_char("Hufnagel punctum", "hufnagel_punctum", "hufpunctumhead", false)
 
 % virga
-punctum_char("Hufnagel virga", "0hufnagel_virga", "hufvirgahead", true)
+punctum_char("Hufnagel virga", "hufnagel_virga", "hufvirgahead", true)
 
 % pes lower punctum
-fet_beginchar("Hufnagel pes lower punctum", "0hufnagel_lpes", "huflpeshead")
+fet_beginchar("Hufnagel pes lower punctum", "hufnagel_lpes", "huflpeshead")
        save b_h, a_w;
        a_b := 1.54; % b_h*a_b/a_w = wd/ht
        b_h := 0.85;
index 8f30baffb642e1271a96441d635b0ec0a3437518..28dfc9dc9e9f7ea602d2344dd1fa277194074143 100644 (file)
@@ -13,7 +13,7 @@
 (define (shift-duration-log music shift dot)
   "Recurse through music, adding SHIFT to duration-log and optionally 
   a dot to any note encountered. This scales the music up by a factor 
-  2^shift."
+  2^shift * (2 - (1/2)^dot)"
   (let* ((es (ly-get-mus-property music 'elements))
          (e (ly-get-mus-property music 'element))
          (n  (ly-music-name music))
index 58ec903adc5d970595058ae04b92fb4b599116df..b9d58c0147eb31814fb4cd12b926f980e2bf602b 100644 (file)
        (cons (string-append (number->string duration) "neo_mensural") "ancient")
        (cons (number->string duration) "music")))
    (else
-    (cons (string-append (number->string (max 0 duration)) (symbol->string style))
-     "music"))))
+    (if (string-match "vaticana*|hufnagel*|medicaea*" style)
+       (cons (symbol->string style) "ancient")
+       (cons (string-append (number->string (max 0 duration))
+                            (symbol->string style))
+             "music")))))
 
 
 (define (note-head-style->attachment-coordinates style duration)