From 62b9f3c03f4cf37ed0011145d2391e760f505e58 Mon Sep 17 00:00:00 2001 From: fred Date: Sun, 24 Mar 2002 20:05:07 +0000 Subject: [PATCH] lilypond-0.1.42 --- bin/convert-mudela.pl | 7 ++ init/engraver.ly | 2 + input/beams.ly | 2 +- input/cadenza.ly | 2 +- input/collisions.ly | 2 +- input/coriolan-alto.ly | 2 +- input/font-body.ly | 2 +- input/font16.ly | 2 +- input/gallina.ly | 2 +- input/gourlay.ly | 46 +-------- input/keys.ly | 2 +- input/kortjakje.ly | 2 +- input/multi.ly | 2 +- input/pedal.ly | 2 +- input/rhythm.ly | 2 +- input/scales.ly | 2 +- input/scripts.ly | 2 +- input/scsii-menuetto.ly | 2 +- input/sleur.ly | 2 +- input/slurs.ly | 2 +- input/spacing.ly | 2 +- input/standchen-16.ly | 2 +- input/standchen-20.ly | 2 +- input/standchen.ly | 44 ++++----- input/standje.ly | 135 ++++++++++++++------------ input/stem.ly | 2 +- input/toccata-fuga-E.ly | 2 +- input/twinkle-pop.ly | 2 +- input/twinkle.ly | 2 +- input/wtk1-fugue1.ly | 2 +- input/wtk1-fugue2.ly | 2 +- input/wtk1-prelude1.ly | 2 +- lily/include/plet-swallow-engraver.hh | 28 ++++++ lily/lexer.l | 10 ++ lily/my-lily-lexer.cc | 1 - lily/parser.y | 66 ++++++++----- lily/plet-swallow-engraver.cc | 21 ++++ mf/Makefile | 4 +- mi2mu/mudela-item.cc | 7 +- mi2mu/mudela-stream.cc | 2 +- 40 files changed, 235 insertions(+), 192 deletions(-) create mode 100644 lily/include/plet-swallow-engraver.hh create mode 100644 lily/plet-swallow-engraver.cc diff --git a/bin/convert-mudela.pl b/bin/convert-mudela.pl index 7c26746870..e10af3b077 100644 --- a/bin/convert-mudela.pl +++ b/bin/convert-mudela.pl @@ -153,6 +153,12 @@ sub convert_0_1_6_to_0_1_7 } } +sub convert_0_1_7_to_0_1_8 +{ + s/\\plet *1 *\/ *1 *;/\\]/; + s/\\plet *([1-9][0-9]*) *\/ *([2-9][0-9]*) *;/\\[$1\/$2/; +} + ############################################################### sub last_conversion @@ -200,6 +206,7 @@ my %minor_conversions = ("0.0.50" => \&no_conv, "0.1.5" => \&convert_0_1_4_to_0_1_5, "0.1.6" => \&convert_0_1_5_to_0_1_6 ,"0.1.7" => \&convert_0_1_6_to_0_1_7 + ,"0.1.8" => \&convert_0_1_7_to_0_1_8 ); diff --git a/init/engraver.ly b/init/engraver.ly index e8869c0de9..7553bd0cde 100644 --- a/init/engraver.ly +++ b/init/engraver.ly @@ -29,6 +29,7 @@ Voice = \translator { \consists "Script_engraver"; \consists "Rhythmic_column_engraver"; \consists "Slur_engraver"; + \consists "Plet_engraver"; \accepts "Thread"; } @@ -68,6 +69,7 @@ Lyric_voice = \consists "Lyric_engraver"; \consists "Line_group_engraver"; \consists "Beam_req_swallow_translator"; + \consists "Plet_swallow_engraver"; } Lyrics = \translator { diff --git a/input/beams.ly b/input/beams.ly index 64db731f8e..e821fb164b 100644 --- a/input/beams.ly +++ b/input/beams.ly @@ -7,7 +7,7 @@ copyright = "PD"; TestedFeatures = "beams and beamflags"; } -\version "0.1.7"; +\version "0.1.8"; \score{ \melodic { \multi 3 < diff --git a/input/cadenza.ly b/input/cadenza.ly index 1b46d34740..a4e49199f6 100644 --- a/input/cadenza.ly +++ b/input/cadenza.ly @@ -13,7 +13,7 @@ Tested Features: cadenza mode Ugh.. Wish we had grace notes.... It adds another dimension to this piece of music. %} -\version "0.1.7"; +\version "0.1.8"; cad = \melodic { diff --git a/input/collisions.ly b/input/collisions.ly index cf6c5ad39d..ac8d5db146 100644 --- a/input/collisions.ly +++ b/input/collisions.ly @@ -5,7 +5,7 @@ enteredby = "HWN,JCN"; copyright = "public domain"; Tested = "test the Collision resolution "; } -\version "0.1.7"; +\version "0.1.8"; diff --git a/input/coriolan-alto.ly b/input/coriolan-alto.ly index 9585e1fb7d..317c4e9953 100644 --- a/input/coriolan-alto.ly +++ b/input/coriolan-alto.ly @@ -16,7 +16,7 @@ TestedFeatures: % (maybe even sooner :-) % -\version "0.1.7"; +\version "0.1.8"; alto1 = \melodic{ \meter 4/4; diff --git a/input/font-body.ly b/input/font-body.ly index cfb563d364..a7dd41d964 100644 --- a/input/font-body.ly +++ b/input/font-body.ly @@ -1,4 +1,4 @@ -\version "0.1.7"; +\version "0.1.8"; FontBody= \melodic{ \octave c'; \bar "|:"; diff --git a/input/font16.ly b/input/font16.ly index 42b4cfe103..d836e27edb 100644 --- a/input/font16.ly +++ b/input/font16.ly @@ -7,7 +7,7 @@ description = "This file tests the Feta music font"; % "(Feta definitively is not an abbreviation of Font-En-TjA)"; } -\version "0.1.7"; +\version "0.1.8"; \include "font-body.ly" \score{ diff --git a/input/gallina.ly b/input/gallina.ly index 4f47a5cf1c..a45ce1d52f 100644 --- a/input/gallina.ly +++ b/input/gallina.ly @@ -38,7 +38,7 @@ part of the basso continuo --HWN %} -\version "0.1.7"; +\version "0.1.8"; vi1=\melodic{ \meter 4/4; diff --git a/input/gourlay.ly b/input/gourlay.ly index 70569448a8..26542f3b70 100644 --- a/input/gourlay.ly +++ b/input/gourlay.ly @@ -1,50 +1,10 @@ -\header{ -enteredby jcn -copyright PD -TestedFeatures This file tests some nasty Gourlay spacings -} - -\version "0.1.6"; - -\score{ -% huh? -% \multi 2 \melodic < \octave c''; - \melodic \multi 2 < \octave c''; - { \stemup; d2 d | d d | d4 d2. | } - \octave c'; - % huh, plet broken? -% { \stemdown; g4 g g g | \plet 2/3; g2 g2 g2 \plet 1/1; | g4. g8 g2 | } - { \stemdown; g4 g g g | g2*2/3 g2*2/3 g2*2/3 | g4. g8 g2 | } - > - \paper{ - linewidth = 20.\cm; - } -} - -\score{ -% huh? -% \multi 2 \melodic < \octave c''; - \melodic \multi 2 < \octave c''; - { \stemup; d2 d | d d | d4 d2. | } - \octave c'; - % huh, plet broken? -% { \stemdown; g4 g g g | \plet 2/3; g2 g2 g2 \plet 1/1; | g4. g8 g2 | } - { \stemdown; g4 g g g | g2*2/3 g2*2/3 g2*2/3 | g4. g8 g2 | } - > - \paper{ - linewidth = 4.\cm; - \output "lelie1.tex"; - } - -} - \header{ enteredby = "jcn"; copyright = "PD"; TestedFeatures = "This file tests some nasty Gourlay spacings"; } -\version "0.1.7"; +\version "0.1.8"; %{ @@ -56,9 +16,7 @@ This is taken from [Gourlay]'s paper on breaking lines \melodic \multi 2 < \octave c''; { \stemup; d2 d | d d | d4 d2. | } \octave c'; - % huh, plet broken? -% { \stemdown; g4 g g g | \plet 2/3; g2 g2 g2 \plet 1/1; | g4. g8 g2 | } - { \stemdown; g4 g g g | g2*2/3 g2*2/3 g2*2/3 | g4. g8 g2 | } + { \stemdown; g4 g g g | \[2/3 g2 g2 g2 \] | g4. g8 g2 | } > \paper{ linewidth = 4.\cm; diff --git a/input/keys.ly b/input/keys.ly index 05ec062c27..67ee8f5a91 100644 --- a/input/keys.ly +++ b/input/keys.ly @@ -1,4 +1,4 @@ -\version "0.1.7"; +\version "0.1.8"; blah = \melodic{ diff --git a/input/kortjakje.ly b/input/kortjakje.ly index b370743280..25ed787784 100644 --- a/input/kortjakje.ly +++ b/input/kortjakje.ly @@ -11,7 +11,7 @@ copyright = "public domain"; Tested Features: example file with comments %} -\version "0.1.7"; +\version "0.1.8"; % the % is a comment. diff --git a/input/multi.ly b/input/multi.ly index d63ddb0ab5..0d8a890cca 100644 --- a/input/multi.ly +++ b/input/multi.ly @@ -10,7 +10,7 @@ Tested Features: \multi %} -\version "0.1.7"; +\version "0.1.8"; \score{ \melodic diff --git a/input/pedal.ly b/input/pedal.ly index 33c736c3e8..d2a9c01c2a 100644 --- a/input/pedal.ly +++ b/input/pedal.ly @@ -24,7 +24,7 @@ % \lbheel \lbheel \lfheel \lftoe % \rbheel \rbtoe \rfheel \rftoe -\version "0.1.7"; +\version "0.1.8"; \score{ \melodic { diff --git a/input/rhythm.ly b/input/rhythm.ly index 8b6ecb031a..11569bf0f1 100644 --- a/input/rhythm.ly +++ b/input/rhythm.ly @@ -7,7 +7,7 @@ TestedFeatures = "multiple meters, beaming, unsynced bars, userdefd engravers"; -\version "0.1.7"; +\version "0.1.8"; ritme = \melodic{ %\octave ; \partial 8; diff --git a/input/scales.ly b/input/scales.ly index a6b2b48367..3e715106f9 100644 --- a/input/scales.ly +++ b/input/scales.ly @@ -12,7 +12,7 @@ copyright = "public domain"; % scales with accents. % -\version "0.1.7"; +\version "0.1.8"; blah = \melodic { \meter 6/8; \octave 'c ; diff --git a/input/scripts.ly b/input/scripts.ly index ad6503efb7..7198bc1b83 100644 --- a/input/scripts.ly +++ b/input/scripts.ly @@ -1,5 +1,5 @@ -\version "0.1.7"; +\version "0.1.8"; blah = \melodic { diff --git a/input/scsii-menuetto.ly b/input/scsii-menuetto.ly index 363390eb8c..91c488de41 100644 --- a/input/scsii-menuetto.ly +++ b/input/scsii-menuetto.ly @@ -15,7 +15,7 @@ copyright = "public domain"; Tested Features:breaking algorithm, chords, multivoice, accents %} -\version "0.1.7"; +\version "0.1.8"; %% Stuff from MPP version % \lefttitle{Menuetto} diff --git a/input/sleur.ly b/input/sleur.ly index bcb6e45846..d6e30d3b2f 100644 --- a/input/sleur.ly +++ b/input/sleur.ly @@ -5,7 +5,7 @@ TestedFeatures = "This file tests Feta embedded slurs" "(Feta definitively is not an abbreviation of Font-En-TjA)"; } -\version "0.1.7"; +\version "0.1.8"; shortlong = \melodic{ c4()c( c c | diff --git a/input/slurs.ly b/input/slurs.ly index caf87a3f4c..ef66c1e9e8 100644 --- a/input/slurs.ly +++ b/input/slurs.ly @@ -1,5 +1,5 @@ -\version "0.1.7"; +\version "0.1.8"; \score{ \melodic{\octave c'; diff --git a/input/spacing.ly b/input/spacing.ly index 10bb206640..f92428fbcf 100644 --- a/input/spacing.ly +++ b/input/spacing.ly @@ -6,7 +6,7 @@ copyright = "public domain"; TestedFeatures = "This file tests various spacings"; } -\version "0.1.7"; +\version "0.1.8"; multipart = \melodic{ \multi 3 < diff --git a/input/standchen-16.ly b/input/standchen-16.ly index d8966dfbde..8c0bda8e20 100644 --- a/input/standchen-16.ly +++ b/input/standchen-16.ly @@ -9,6 +9,6 @@ description = "A schubert song in 16 pt"; copyright = "public domain"; } -\version "0.1.7"; +\version "0.1.8"; \include "standchen.ly" diff --git a/input/standchen-20.ly b/input/standchen-20.ly index ba4a3a043a..0f9dbee368 100644 --- a/input/standchen-20.ly +++ b/input/standchen-20.ly @@ -8,7 +8,7 @@ enteredby = "JCN"; copyright = "public domain"; description = "A schubert song in 20 pt"; } -\version "0.1.7"; +\version "0.1.8"; % fool make-website % \include "standchen.ly"; diff --git a/input/standchen.ly b/input/standchen.ly index 04cbe817cb..73792caa2d 100644 --- a/input/standchen.ly +++ b/input/standchen.ly @@ -14,7 +14,7 @@ multiple \paper{}s in one \score %} \include "paper20.ly" -\version "0.1.7"; +\version "0.1.8"; commands = \melodic{ \skip 2.*4; @@ -54,9 +54,8 @@ melodie = \melodic{ %%8 f2 r4 | %%9 - < { a'4.() g' [2/3 g'( f' )e' ]1/1 } - { cis'4. e'_"dolce" \plet 2/3; e' \plet 1/1; } > | + { cis'4. e'_"dolce" \[2/3 e' \] } > | %%10 < f'2. d'2. > | %%11 @@ -68,10 +67,7 @@ melodie = \melodic{ %%14 a2 r < { d'() c'4. g [2/3 bes a g ]1/1 } - { f \p () e4._"dolce" bes - \plet 2/3; g - \plet 1/1; - } > | + { f \p () e4._"dolce" bes \[2/3 g \] } > | %%16 < a2. f2. > | %%17 @@ -351,16 +347,16 @@ tekstI = \lyric{ _ _ _ _ _ _ % 5 - [2/3 Lei- se8 ]1/1 fleh-4. en8 - [2/3 mei- ne8 ]1/1 Lie- der8 _8 - Durch4. die8 [2/3 Nacht zu8 ]1/1 + \[2/3 Lei- se8 \] fleh-4. en8 + \[2/3 mei- ne8 \] Lie- der8 _8 + Durch4. die8 \[2/3 Nacht zu8 \] dir;2 _ _ _ _ _ _ _ % 11 - [2/3 In den8 ]1/1 stil-4. len8 - [2/3 Hain her-8 ]1/1 nie-4. der,8 - Lieb4. chen,8 [2/3 komm zu8 ]1/1 + \[2/3 In den8 \] stil-4. len8 + \[2/3 Hain her-8 \] nie-4. der,8 + Lieb4. chen,8 \[2/3 komm zu8 \] mir!2 _ _ _ _ _ _ _ @@ -368,7 +364,7 @@ tekstI = \lyric{ % 17 Fl\"us-8. ternd16 schlan-4. ke8 Wip-8. fel16 rau-4. schen8 - [2/3 In des8 ]1/1 Mon-4. des8 + \[2/3 In des8 \] Mon-4. des8 Licht;2. _ _ _ _ _ _ @@ -376,7 +372,7 @@ tekstI = \lyric{ % 23 Des8. Ver-16 r\"a-4. ters8 feind-8. lich16 Lau-4. schen8 - [2/3 F\"urch- te,8 ]1/1 Hol-4. de,8 + \[2/3 F\"urch- te,8 \] Hol-4. de,8 nicht.2. _ _ _ _ _ _ @@ -396,7 +392,7 @@ tekstI = \lyric{ mich!2 _ Be-8. bend16 harr' ich8 _8 dir8. ent-16 ge- gen!8 _8 - [2/3 Komm, be-8 ]1/1 gl\"u4. cke8 + \[2/3 Komm, be-8 \] gl\"u4. cke8 mich!2. _ _ _ _ _ _ % 47 @@ -418,17 +414,17 @@ tekstII = \lyric{ _ _ _ _ _ _ % 5 - [2/3 H\"orst die8 ]1/1 Nach-4. ti-8 - [2/3 gal- len8 ]1/1 schla- gen?8 _8 - Ach!4. sie8 [2/3 fleh- en8 ]1/1 + \[2/3 H\"orst die8 \] Nach-4. ti-8 + \[2/3 gal- len8 \] schla- gen?8 _8 + Ach!4. sie8 \[2/3 fleh- en8 \] dich,2 _ _ _ _ _ _ _ % 11 - [2/3 Mit der8 ]1/1 T\"o-4. ne8 - [2/3 s\"u\ss- en8 ]1/1 Kla-4. gen8 - Fleh-4. en8 [2/3 sie f\"ur8 ]1/1 + \[2/3 Mit der8 \] T\"o-4. ne8 + \[2/3 s\"u\ss- en8 \] Kla-4. gen8 + Fleh-4. en8 \[2/3 sie f\"ur8 \] mich.2 _ _ _ _ _ _ _ @@ -436,7 +432,7 @@ tekstII = \lyric{ % 17 Sie-8. ver-16 stehn4. des8 Bus-8. ens16 Seh-4. nen,8 - [2/3 Ken- nen8 ]1/1 Lieb-4. es-8 + \[2/3 Ken- nen8 \] Lieb-4. es-8 schmerz,2. _ _ _ _ _ _ @@ -444,7 +440,7 @@ tekstII = \lyric{ % 23 R\"uh-8. ren16 mit4. den8 Sil-8. ber-16 t\"o-4. nen8 - [2/3 Jed- es8 ]1/1 wei-4. che8 + \[2/3 Jed- es8 \] wei-4. che8 Herz.2. _ _ _ _ _ _ diff --git a/input/standje.ly b/input/standje.ly index 5d3481ece6..e6d29fd994 100644 --- a/input/standje.ly +++ b/input/standje.ly @@ -1,5 +1,5 @@ \header{ -filename = "standchen.ly"; +filename = "standje.ly"; title = "St\"andchen (Serenade) \"Leise flehen meine Lieder\""; opus = "D. 957 No. 4"; composer = "Franz Schubert (1797-1828)" @@ -9,49 +9,45 @@ copyright = "public domain"; } %{ - Tested Features: multivoice, accents, lyrics, chords, piano music, + Tested Features@ multivoice, accents, lyrics, chords, piano music, multiple \paper{}s in one \score %} -\version "0.1.7"; +\version "0.1.8"; $vocal_verse1 = \melodic{ \octave c'; % ugh: treble/bass % \clef treble; \clef violin; - % ugh: '3' of plet should hang over middle note - % ugh: barcheck fails if i write 'g8' below: -% [2/3 g8( )as]1/1 \plet 2/3; g8 \plet 1/1; c'4. g8 | - % anyway, for typping this plet stuff sucks - [2/3 g8( )as]1/1 \plet 2/3; g \plet 1/1; c'4. g8 | - [2/3 f8( )g]1/1 \plet 2/3; f \plet 1/1; c'4 f8 r | - g4.-> f8 [2/3 f( )es]1/1 \plet 2/3; d \plet 1/1; | + [2/3 g8( )as] g \] c'4. g8 | + [2/3 f8( )g] f \] c'4 f8 r | + g4.-> f8 [2/3 f( )es] d \] | es2 r4 | % ugh: a whole should be a measure %r1 | r2. | r2. | - [2/3 g8( )as]1/1 \plet 2/3; g \plet 1/1; es'4. g8 | - [2/3 f8( )g]1/1 \plet 2/3; f \plet 1/1; d'4. c'8 | - bes4. as8 [2/3 as( )g]1/1 \plet 2/3; f \plet 1/1; | + [2/3 g8( )as] g \] es'4. g8 | + [2/3 f8( )g] f \] d'4. c'8 | + bes4. as8 [2/3 as( )g] f \] | g2 r4 | r2. | r2. | g8. b16 es'4. d'8 | c'8. g16 es4. c8 | - % [as32\grace( bes32\grace] ) - [2/3 as8( )g]1/1 \plet 2/3; as \plet 1/1; c'4. as8 | + % [as3 2\grace( bes3 2\grace] ) + [2/3 as8( )g] as \] c'4. as8 | g2. | - %[f32\grace( g] ) - [2/3 f8( )e]1/1 \plet 2/3; f \plet 1/1; as4. f8 | + %[f3 2\grace( g] ) + [2/3 f8( )e] f \] as4. f8 | es!2. | g8. b16 es'4. d'8 | c'8. g16 e4. c8 | - % [a32\grace b] ) - [2/3 a!8( ) gis]1/1 \plet 2/3; a \plet 1/1; c'4. a8 | + % [a3 2\grace b] ) + [2/3 a!8( ) gis] a \] c'4. a8 | g!2. | - [2/3 d'8\f cis']1/1 \plet 2/3; d \plet 1/1; f'4. b8 | + [2/3 d'8\f cis'] d \] f'4. b8 | c'2. | r2. | r2. | @@ -59,32 +55,32 @@ $vocal_verse1 = \melodic{ $lyric_verse1 = \lyric{ % 5 - [2/3 Lei-4 se8 ]1/1 fleh-4. en8 | - [2/3 mei-4 ne8 ]1/1 Lie-4 der8 _8 | - Durch4. die8 [2/3 Nacht4 zu8 ]1/1 | + \[2/3 Lei-4 se8 \] fleh-4. en8 | + \[2/3 mei-4 ne8 \] Lie-4 der8 _8 | + Durch4. die8 \[2/3 Nacht4 zu8 \] | dir;2 _4 | _4 _ _ | _ _ _ | % 11 - [2/3 In4 den8 ]1/1 stil-4. len8 | - [2/3 Hainr4 her-8 ]1/1 nie-4. der,8 | - Lieb4. chen,8 [2/3 komm4 zu8 ]1/1 | + \[2/3 In4 den8 \] stil-4. len8 | + \[2/3 Hainr4 her-8 \] nie-4. der,8 | + Lieb4. chen,8 \[2/3 komm4 zu8 \] | mir!2 _4 | - _4 _ _ | + _4 _ _ | _ _ _ | % 17 Fl\"us-8. ternd16 schlan-4. ke8 | Wip-8. fel16 rau-4. schen8 | - [2/3 In4 des8 ]1/1 Mon-4. des8 | + \[2/3 In4 des8 \] Mon-4. des8 | Licht;2. | - _4 _ _ | _4 _ _ | -% 23 + _4 _ _ | +% 23 Des8. Ver-16 r\"a-4. ters8 | feind-8. lich16 Lau-4. schen8 | - [2/3 F\"urch-4 te,8 ]1/1 Hol-4. de,8 | + \[2/3 F\"urch-4 te,8 \] Hol-4. de,8 | nicht,2. | - [2/3 f\"urch-4 te,8 ]1/1 Hol-4. de,8 | + \[2/3 f\"urch-4 te,8 \] Hol-4. de,8 | nicht.2. | _4 _ _ _ _ _ @@ -94,8 +90,8 @@ $treble_intro = \melodic{ \octave c'; \clef violin; % ugh: i'd like to type this! - %r8 [<'g-. c-.> <'g-. c-.> <'g-. c-.>] | - r8 <['g-. c-.> <'g-. c-.> <'g-. c-.]> | + %r8 [<'g-. c-.> <'g-. c-.> <'g-. c-.>] | + r8 <['g-. c-.> <'g-. c-.> <'g-. c-.]> | r8 <['as-. c-.> <'as-. c-.> <'as-. c-.]> | r8 <['as-. c-.> <'as-. c-.> <'as-. c-.]> | r8 <['g-. 'b-.> <'b-. d-.> <'g-. 'b-.> <'b-. d-.> <'g-. 'b-.]> | @@ -107,28 +103,33 @@ $treble_verse1 = \melodic{ \clef violin; r8 <['g c> <'g c> <'g c]> | r8 <['f c> <'f c> <'f c]> | - r8 <['f 'g b> <'g b d> <'f 'g b> <'g b d> <'f 'g b]> | + r8 <['f 'g 'b> <'g 'b d> <'f 'g 'b> <'g 'b d> <'f 'g 'b]> | r8 <['es 'g c> <'g c es> <'es 'g c> <'g c es> <'es 'g c]> | <)f'8 d'> <[2/3 f' d'> | + | r8 <['g c> <'g c> <'g c]> | - r8 <['g c> <'g c> <'g c]> | - r8 <['g c> <'g c> <'g c]> | - r8 <['g c> <'g c> <'g c]> | - r8 <['g c> <'g c> <'g c]> | - r8 <['g c> <'g c> <'g c]> | - r8 <['g c> <'g c> <'g c]> | - r8 <['g c> <'g c> <'g c]> | - r8 <['g c> <'g c> <'g c]> | - r8 <['g c> <'g c> <'g c]> | - r8 <['g c> <'g c> <'g c]> | - r8 <['g c> <'g c> <'g c]> | - r8 <['g c> <'g c> <'g c]> | - r8 <['g c> <'g c> <'g c]> | - r8 <['g c> <'g c> <'g c]> | - r8 <['g c> <'g c> <'g c]> | - r8 <['g c> <'g c> <'g c]> | - r8 <['g c> <'g c> <'g c]> | - r8 <['g c> <'g c> <'g c]> | + r8 <['f c> <'f c> <'f c]> | + r8 <['f 'as 'bes> <'as 'bes d> <'f 'g 'bes> <'g 'bes d> <'f 'g 'bes]> | + r8 <['es 'g 'bes> <'g 'bes es> <'es 'g 'bes> <'g 'bes es]> + <{ es'( | )bes4. as8}{ c'( | )d4.( )f8 } > + < [2/3 f as> | + | + r8 <['f 'g> <'g 'b> <'f 'g> <'g 'b> <'f 'g]> | + r8 <['es 'g> <'g c> <'es 'g> <'g c> <'es 'g]> | + r8\pp <['es 'as c> <'as c es> <'es 'as c> <'as c es> <'es 'as c]> | + r8 <['es 'g 'bes> <'g 'bes 'es> <'es 'g 'bes> <'g 'bes 'es> <'es 'g 'bes]> | + % [as3 2\grace( bes ) + [2/3 as8(( g )as]1/1 c'4.-> ) as8 | + g2. | + r8 <['f 'g> <'g 'b> <'f 'g> <'g 'b> <'f 'g]> | + r8 <['e 'g> <'g c> <'e 'g> <'g c> <'e 'g]> | + r8 <['f 'a c> <'a c f> <'f 'a c> <'a c f> <'f 'a c]> | + r8 <['e 'g c> <'g c e> <'e 'g c> <'g c e> <'e 'g c]> | + <{[2/3 f'8\f( e f']1/1 a'4. )f'8 } {\[2/3 f e f \] a4. f8 } > | + r4 | +% <{as!2\mf( [c'8. )as16]} {f2 as8( )f}> | + as!2\mf( [c'8. )as16] | + <[e8-.( g-.> <)e8-. g-.]> | } $bass_intro = \melodic{ @@ -144,10 +145,10 @@ $bass_verse1 = \melodic{ \octave c; \clef bass; <'c2 c> r4 | + <'as2 as> r4 | + <'g2 g> r4 | <'c2 c> r4 | - <'c2 c> r4 | - <'c2 c> r4 | - <'c2 c> r4 | + <'g8 g> <[g' d''> | <'c2 c> r4 | <'c2 c> r4 | <'c2 c> r4 | @@ -170,23 +171,29 @@ $bass_verse1 = \melodic{ } -global= \melodic {\meter 3/4; \key bes es as; } +global= \melodic {\meter 3 /4; \key bes es as; } \score{ \melodic< - \type Lyrics { \skip 4 * 12; \$lyric_verse1 } - \type Staff - { \skip 4 * 12; \$vocal_verse1 } + \type Lyrics { + \meter 3 /4; \skip 4 * 12; \$lyric_verse1 + } + \type Staff { < + \global + { \skip 4 * 12; \$vocal_verse1 } + > } % i want a (grand) staff!!! \type Grandstaff < - < { \$treble_intro \$treble_verse1 } - \global + < + \global + { \$treble_intro \$treble_verse1 } > - < \global - { \$bass_intro \$bass_verse1 } + < + \global + { \$bass_intro \$bass_verse1 } > > > diff --git a/input/stem.ly b/input/stem.ly index 5442943342..ee58946ea1 100644 --- a/input/stem.ly +++ b/input/stem.ly @@ -8,7 +8,7 @@ of beams"; } -\version "0.1.7"; +\version "0.1.8"; beamintervals = \melodic{ \meter 7/4; diff --git a/input/toccata-fuga-E.ly b/input/toccata-fuga-E.ly index 1bb3e31ba6..124d0e3855 100644 --- a/input/toccata-fuga-E.ly +++ b/input/toccata-fuga-E.ly @@ -20,7 +20,7 @@ copyright = "public domain"; %} -\version "0.1.7"; +\version "0.1.8"; toccata_commands = \melodic{ \meter 4/4; diff --git a/input/twinkle-pop.ly b/input/twinkle-pop.ly index fae537bf46..4d11d3a6e2 100644 --- a/input/twinkle-pop.ly +++ b/input/twinkle-pop.ly @@ -12,7 +12,7 @@ copyright = "public domain"; Tested Features lyrics and chords %} -\version "0.1.7"; +\version "0.1.8"; melodie = \melodic { \clef"violin"; diff --git a/input/twinkle.ly b/input/twinkle.ly index e6814ce348..050bfda518 100644 --- a/input/twinkle.ly +++ b/input/twinkle.ly @@ -15,7 +15,7 @@ copyright = "public domain"; Tested Features: lyrics, interleaving lyrics and staffs %} -\version "0.1.7"; +\version "0.1.8"; melody = \melodic{ \clef violin; diff --git a/input/wtk1-fugue1.ly b/input/wtk1-fugue1.ly index 646c75ff30..e48c55b189 100644 --- a/input/wtk1-fugue1.ly +++ b/input/wtk1-fugue1.ly @@ -11,7 +11,7 @@ copyright = "Public Domain"; %{ %} -\version "0.1.7"; +\version "0.1.8"; global = diff --git a/input/wtk1-fugue2.ly b/input/wtk1-fugue2.ly index 50a2166a00..2d90c2ad90 100644 --- a/input/wtk1-fugue2.ly +++ b/input/wtk1-fugue2.ly @@ -12,7 +12,7 @@ copyright = "Public Domain"; Tested Features: stem direction, multivoice, forced accidentals. %} -\version "0.1.7"; +\version "0.1.8"; % should add \need{dutch.ini} for % correct parsing of note names diff --git a/input/wtk1-prelude1.ly b/input/wtk1-prelude1.ly index 5ed120b09d..dea0195fa0 100644 --- a/input/wtk1-prelude1.ly +++ b/input/wtk1-prelude1.ly @@ -8,7 +8,7 @@ enteredby = "Shay Rojansky"; copyright = "Public Domain"; } -\version "0.1.7"; +\version "0.1.8"; global = \melodic { diff --git a/lily/include/plet-swallow-engraver.hh b/lily/include/plet-swallow-engraver.hh new file mode 100644 index 0000000000..be361205c0 --- /dev/null +++ b/lily/include/plet-swallow-engraver.hh @@ -0,0 +1,28 @@ +/* + plet-swallow-engraver.hh -- declare Swallow_engraver + + source file of the GNU LilyPond music typesetter + + (c) 1997 Han-Wen Nienhuys +*/ + + +#ifndef PLET_SWALLOW_ENGRAVER_HH +#define PLET_SWALLOW_ENGRAVER_HH + +#include "swallow-grav.hh" + +/** + This engraver swallows plets silently. + */ +class Plet_swallow_engraver : public Swallow_engraver +{ +public: + TRANSLATOR_CLONE(Plet_swallow_engraver); + DECLARE_MY_RUNTIME_TYPEINFO; + +protected: + virtual bool do_try_request (Request*); +}; + +#endif // PLET_SWALLOW_ENGRAVER_HH diff --git a/lily/lexer.l b/lily/lexer.l index f2d6c9214e..851e21c2e1 100644 --- a/lily/lexer.l +++ b/lily/lexer.l @@ -82,6 +82,8 @@ RESTNAME [rs] NOTECOMMAND \\{A}+ LYRICS ({AA}|{TEX})[^0-9 \t\n\f]* ESCAPED [nt\\'"] +PLET \\\[ +TELP \\\] %% @@ -285,6 +287,14 @@ ESCAPED [nt\\'"] return c; } +{PLET} { + return yylval.i = PLET; +} + +{TELP} { + return yylval.i = TELP; +} + . { return yylval.c = YYText ()[0]; } diff --git a/lily/my-lily-lexer.cc b/lily/my-lily-lexer.cc index 7bddf702d1..2a8760ee52 100644 --- a/lily/my-lily-lexer.cc +++ b/lily/my-lily-lexer.cc @@ -48,7 +48,6 @@ static Keyword_ent the_key_tab[]={ {"output", OUTPUT}, {"partial", PARTIAL}, {"paper", PAPER}, - {"plet", PLET}, {"property", PROPERTY}, {"pt", PT_T}, {"score", SCORE}, diff --git a/lily/parser.y b/lily/parser.y index 051fb72c50..8dea7f982a 100644 --- a/lily/parser.y +++ b/lily/parser.y @@ -12,7 +12,7 @@ #include // mmm -#define MUDELA_VERSION "0.1.7" +#define MUDELA_VERSION "0.1.8" #include "scalar.hh" #include "translation-property.hh" @@ -113,6 +113,8 @@ yylex (YYSTYPE *s, void * v_l) %token ALIAS %token BAR +%token BEAMPLET +%token MAEBTELP %token CADENZA %token CLEAR %token CLEF @@ -141,6 +143,7 @@ yylex (YYSTYPE *s, void * v_l) %token PAPER %token PARTIAL %token PLET +%token TELP %token PT_T %token SCORE %token SCRIPT @@ -189,9 +192,9 @@ yylex (YYSTYPE *s, void * v_l) %type output_def %type
mudela_header mudela_header_body %type box -%type open_request_parens close_request_parens +%type open_request_parens close_request_parens %type open_abbrev_parens -%type open_plet_parens close_plet_parens +%type open_plet_parens close_plet_parens %type simple_element music_elt full_element lyrics_elt command_elt %type abbrev_type %type int @@ -217,7 +220,7 @@ yylex (YYSTYPE *s, void * v_l) %type dim real %type unit %type abbrev_command_req -%type post_request pre_request command_req verbose_command_req +%type post_request command_req verbose_command_req %type script_req dynamic_req %type score_block score_body %type