From 13401a80b16a8f7cf7027845252b0fef07201dcd Mon Sep 17 00:00:00 2001 From: fred Date: Sun, 24 Mar 2002 19:45:11 +0000 Subject: [PATCH] lilypond-0.0.67 --- bin/convert-mudela | 8 +- init/symbol.ini | 2 +- input/cadenza.ly | 4 +- input/collisions.ly | 2 +- input/coriolan-alto.ly | 2 +- input/error.ly | 2 +- input/header.ly | 2 +- input/keys.ly | 2 +- input/kortjakje.ly | 2 +- input/pedal.ly | 2 +- input/rhythm.ly | 6 +- input/scales.ly | 28 +++---- input/scripts.ly | 2 +- input/scsii-menuetto.ly | 2 +- input/slurs.ly | 2 +- input/standchen.ly | 75 ++++++++++--------- input/toccata-fuga-E.ly | 34 +++++---- input/twinkle.ly | 2 +- input/wohltemperirt.ly | 2 +- lily/include/input-music.hh | 7 -- lily/include/parseconstruct.hh | 1 - lily/include/request.hh | 33 ++++++--- lily/include/voice-element.hh | 2 - lily/include/voice.hh | 10 ++- lily/input-music.cc | 48 ------------ lily/voice-element.cc | 28 ------- lily/voice.cc | 20 ----- make/Targets.make | 21 +++--- mi2mu/lily-stream.cc | 2 +- tex/lilyponddefs.tex | 131 ++++++--------------------------- 30 files changed, 161 insertions(+), 323 deletions(-) diff --git a/bin/convert-mudela b/bin/convert-mudela index d728b1fed3..00ad900cd5 100644 --- a/bin/convert-mudela +++ b/bin/convert-mudela @@ -62,6 +62,11 @@ sub convert_0_0_56_to_0_0_57 s/\(([ \]\[|\t-\.>]|\\[a-z]+)*\)/\~ $1/g; } +sub convert_0_0_57_to_0_0_58 +{ + s/\[ *([^\[\]]*)\] *([1-9]*) *\/ *([1-9]*)/[$2\/$3 $1]1\/1/g; +} + ############################################################### sub last_conversion @@ -97,7 +102,8 @@ my %minor_conversions = (50 => \&no_conv, 54 => \&convert_0_0_53_to_0_0_54, 55 => \&convert_0_0_54_to_0_0_55, 56 => \&convert_0_0_55_to_0_0_56, - 57 => \&convert_0_0_56_to_0_0_57 + 57 => \&convert_0_0_56_to_0_0_57, + 58 => \&convert_0_0_57_to_0_0_58 ); diff --git a/init/symbol.ini b/init/symbol.ini index 898ca8f419..9bab84d8af 100644 --- a/init/symbol.ini +++ b/init/symbol.ini @@ -1,4 +1,4 @@ -\version "0.0.57"; +\version "0.0.58"; \include "register.ini" \include "dynamic.ini" diff --git a/input/cadenza.ly b/input/cadenza.ly index 158ee16b14..d8d758be8b 100644 --- a/input/cadenza.ly +++ b/input/cadenza.ly @@ -10,7 +10,7 @@ EndMudelaHeader %} -\version "0.0.57"; +\version "0.0.58"; cad = \melodic { @@ -43,7 +43,7 @@ cad = \melodic { \duration 16; [d cis d e] f4~ [f e d c] 'b4 - \octave c'; [d'8 c'8 a8]2/3 + \octave c'; [2/3 d'8 c'8 a8]1/1 g2 \bar \empty ; [g c e g] [c' e g c']\octave c''; diff --git a/input/collisions.ly b/input/collisions.ly index 14df3bc58f..65057eb784 100644 --- a/input/collisions.ly +++ b/input/collisions.ly @@ -10,7 +10,7 @@ Tested Features:test the Collision resolution EndMudelaHeader %} -\version "0.0.57"; +\version "0.0.58"; diff --git a/input/coriolan-alto.ly b/input/coriolan-alto.ly index 4afddd6614..87b22fc1ba 100644 --- a/input/coriolan-alto.ly +++ b/input/coriolan-alto.ly @@ -16,7 +16,7 @@ EndMudelaHeader % (maybe even sooner :-) % -\version "0.0.57"; +\version "0.0.58"; alto = \melodic{ diff --git a/input/error.ly b/input/error.ly index c68205f0be..118dba144d 100644 --- a/input/error.ly +++ b/input/error.ly @@ -1,4 +1,4 @@ -\version "0.0.57"; +\version "0.0.58"; \include "this-is-hopefully-a-nonexisting-file" diff --git a/input/header.ly b/input/header.ly index af02e8ab9d..9e01bf0d40 100644 --- a/input/header.ly +++ b/input/header.ly @@ -10,4 +10,4 @@ Tested Features: EndMudelaHeader %} -\version "0.0.57"; +\version "0.0.58"; diff --git a/input/keys.ly b/input/keys.ly index f46fc86f3a..076ea00fe7 100644 --- a/input/keys.ly +++ b/input/keys.ly @@ -10,7 +10,7 @@ Tested Features: local key, key, forced accidentals EndMudelaHeader %} -\version "0.0.57"; +\version "0.0.58"; blah = \melodic{ diff --git a/input/kortjakje.ly b/input/kortjakje.ly index 6cc689c326..409fe49eba 100644 --- a/input/kortjakje.ly +++ b/input/kortjakje.ly @@ -10,7 +10,7 @@ Tested Features: example file with comments EndMudelaHeader %} -\version "0.0.57"; +\version "0.0.58"; % the % is a comment. diff --git a/input/pedal.ly b/input/pedal.ly index 5e760771fe..caa9905430 100644 --- a/input/pedal.ly +++ b/input/pedal.ly @@ -24,7 +24,7 @@ % \lbheel \lbheel \lfheel \lftoe % \rbheel \rbtoe \rfheel \rftoe -\version "0.0.57"; +\version "0.0.58"; \score{ \staff{ melodicregs diff --git a/input/rhythm.ly b/input/rhythm.ly index 042d9cddc0..530fc74a98 100644 --- a/input/rhythm.ly +++ b/input/rhythm.ly @@ -11,14 +11,14 @@ unsynced bars EndMudelaHeader %} -\version "0.0.57"; +\version "0.0.58"; % % Ive' got rhythm! % % add any impressive examples here, please -\version "0.0.57"; +\version "0.0.58"; ritme = \staff { melodicregs @@ -35,7 +35,7 @@ ritme = \staff { % divide measure in 5 equal parts. Usually it 2+3 or 3+2 \grouping 16*5 ; [c8 c16 c8 ] | % watch THIS! - [c16 c16 c16 c16]5/4 | + [5/4 c16 c16 c16 c16]1/1 | \meter 2/8; c4 | c4 c4 c4 c4 diff --git a/input/scales.ly b/input/scales.ly index 1a46c21337..2ccad6c895 100644 --- a/input/scales.ly +++ b/input/scales.ly @@ -2,7 +2,7 @@ % scales with accents. % -\version "0.0.57"; +\version "0.0.58"; blah = \staff{ melodicregs \melodic { \meter 6/8; @@ -19,30 +19,30 @@ blah = \staff{ melodicregs c d \duration 8 ; %ugr - |[ a \< a a a a a a \! a a \ff \> ]6/9 + |[6/9 a \< a a a a a a \! a a \ff \> ]1/1 \octave c' ; - |[ a a a a a a a a \! a ]6/9 + |[6/9 a a a a a a a a \! a ]1/1 \octave c'' ; ['c->-.-\fermata \< 'g->-.-\fermata d->-.-\fermata a->-.-\fermata e'->-.-\fermata b'-. f''-. c'''->-.-\fermata \! g'''->-.-\fermata \> ]6/9 - [g'''->-.-\fermata c'''->-.-\fermata f''->-.-\fermata b'->-.-\fermata e'->-.-\fermata a->-.-\fermata d->-.-\fermata 'g->-.-\fermata \! 'c->-.-\fermata ]6/9 + [6/9 g'''->-.-\fermata c'''->-.-\fermata f''->-.-\fermata b'->-.-\fermata e'->-.-\fermata a->-.-\fermata d->-.-\fermata 'g->-.-\fermata \! 'c->-.-\fermata ]1/1 \octave c; ['c->-.-\fermata \< 'g->-.-\fermata d->-.-\fermata a->-.-\fermata e'->-.-\fermata b'-. f''-. c'''->-.-\fermata \! g'''->-.-\fermata \> ]6/9 - [g'''->-.-\fermata c'''->-.-\fermata f''->-.-\fermata b'->-.-\fermata e'->-.-\fermata a->-.-\fermata d->-.-\fermata 'g->-.-\fermata \! 'c->-.-\fermata ]6/9 + [6/9 g'''->-.-\fermata c'''->-.-\fermata f''->-.-\fermata b'->-.-\fermata e'->-.-\fermata a->-.-\fermata d->-.-\fermata 'g->-.-\fermata \! 'c->-.-\fermata ]1/1 \octave c' ; \octave c' ; - [ c g d' ]2/3 - [ d' g c ]2/3 - [ f c' g' ]2/3 - [ g' c' f ]2/3 + [2/3 c g d' ]1/1 + [2/3 d' g c ]1/1 + [2/3 f c' g' ]1/1 + [2/3 g' c' f ]1/1 \octave c ; - [ c g d' ]2/3 - [ d' g c ]2/3 - [ f c' g' ]2/3 - [ g' c' f ]2/3 - [ g' c' f ]2/3 + [2/3 c g d' ]1/1 + [2/3 d' g c ]1/1 + [2/3 f c' g' ]1/1 + [2/3 g' c' f ]1/1 + [2/3 g' c' f ]1/1 \meter 4/4; c1 diff --git a/input/scripts.ly b/input/scripts.ly index 4890522195..42b1fa1731 100644 --- a/input/scripts.ly +++ b/input/scripts.ly @@ -10,7 +10,7 @@ Tested Features: scripts, text. EndMudelaHeader %} -\version "0.0.57"; +\version "0.0.58"; blah = \staff{ melodicregs diff --git a/input/scsii-menuetto.ly b/input/scsii-menuetto.ly index b40697e5b6..9ff18deb97 100644 --- a/input/scsii-menuetto.ly +++ b/input/scsii-menuetto.ly @@ -12,7 +12,7 @@ EndMudelaHeader %} -\version "0.0.57"; +\version "0.0.58"; %% Stuff from MPP version % \lefttitle{Menuetto} % \tempo{Moderato} diff --git a/input/slurs.ly b/input/slurs.ly index a97f5faa6c..cddf943902 100644 --- a/input/slurs.ly +++ b/input/slurs.ly @@ -11,7 +11,7 @@ EndMudelaHeader %} -\version "0.0.57"; +\version "0.0.58"; \score{\staff{ melodicregs diff --git a/input/standchen.ly b/input/standchen.ly index 03b8a1e7c3..09bbcd2414 100644 --- a/input/standchen.ly +++ b/input/standchen.ly @@ -12,9 +12,8 @@ EndMudelaHeader %} -\version "0.0.57"; -\version "0.0.57"; +\version "0.0.58"; commands = \melodic{ \skip 2.*4; @@ -45,29 +44,29 @@ melodie = \melodic{ %%4 r < [ 'a cis > e < 'a cis > e < 'a cis ] > | %%5 - [ a~ bes a ]2/3 d'4. a | + [2/3 a~ bes a ]1/1 d'4. a | %%6 - [ g~ a g ]2/3 d'4 g r | + [2/3 g~ a g ]1/1 d'4 g r | %%7 - a4.^> g [ g~ f e ]2/3 | + a4.^> g [2/3 g~ f e ]1/1 | %%8 f2 r4 | %%9 - < { a'4.~ g' [ g'( f' )e' ]2/3 } + < { a'4.~ g' [2/3 g'( f' )e' ]1/1 } { cis'4. e'_"dolce" \plet 2/3; e' \plet 1/1; } > | %%10 < f'2. d'2. > | %%11 - [ a ~ bes a ]2/3 f'4. a | + [2/3 a ~ bes a ]1/1 f'4. a | %%12 - [ g~ a g ]2/3 e'4. d' | + [2/3 g~ a g ]1/1 e'4. d' | %%13 - c'4. bes [ bes~ a g ]2/3 | + c'4. bes [2/3 bes~ a g ]1/1 | %%14 a2 r - < { d'~ c'4. g [ bes a g ]2/3 } + < { d'~ c'4. g [2/3 bes a g ]1/1 } { f \p ~ e4._"dolce" bes \plet 2/3; g \plet 1/1; @@ -82,12 +81,12 @@ melodie = \melodic{ [ d'8. a16 ] f4. d | %%19 %#% c'\grace\stemup - [ bes ~ a bes ]2/3 d'4. bes | + [2/3 bes ~ a bes ]1/1 d'4. bes | %%20 a2. | %%21 %#% a\grace - [ g~ fis g ]2/3 bes4.^> g | + [2/3 g~ fis g ]1/1 bes4.^> g | %%22 f!2. | %%23 @@ -95,17 +94,17 @@ melodie = \melodic{ %%24 [ d'8. a16 ] fis4. d | %%25 - [ b \mf~ ais b ]2/3 d'4. b | + [2/3 b \mf~ ais b ]1/1 d'4. b | %%26 < a2. fis2. > | %%27 - [ e' \f~ dis' e' ]2/3 g'4. cis' | + [2/3 e' \f~ dis' e' ]1/1 g'4. cis' | %%28 < d'2. fis2. > | %#%\volta1 %%29 - < { bes2( [ d'8.~ )g16 ] } - { g2 \mf [ bes8. bes16 ] } > | + < { bes2( [ d'8.~ )bes16 ] } + { g2 \mf [ bes8. g16 ] } > | %%30 < { a4. [ a-. a-. a-. ] } { fis4. [ fis-.( fis-. )fis-. ] } > | @@ -115,8 +114,8 @@ melodie = \melodic{ %%32 < a2 fis2 \pp > < a4 fis4 > | %%33 - < { b2( [ d'8.~ g16 ] } - { g2 [ b8. b16 ] } > | + < { b2( [ d'8.~ )b16 ] } + { g2 [ b8. g16 ] } > | %%34 < { a4. [ a-. a-. a-. ] } { fis4. [ fis-.( fis-. )fis-. ] } > | @@ -136,7 +135,7 @@ melodie = \melodic{ %%40 cis'2 r4 | %%41 - < fis'4. \> cis'4. \f > e' [ e'~ d' \! cis' ]2/3 | + < fis'4. \> cis'4. \f > e' [2/3 e'~ d' \! cis' ]1/1 | %%42 [ b8. cis'16 ] d'4^> b r | %%43 @@ -145,11 +144,11 @@ melodie = \melodic{ %%44 [ b8. \> cis'16 ] d'4^> b \! r | %%45 - [ b \p ~ ais b ]2/3 d'4. b | + [2/3 b \p ~ ais b ]1/1 d'4. b | %%46 | %%47 - [ e' \f~ dis' e' ]2/3 g'4.^> cis' | + [2/3 e' \f~ dis' e' ]1/1 g'4.^> cis' | %%48 \textstyle "italic"; < @@ -343,16 +342,16 @@ tekstI = \lyric{ _ _ _ _ _ _ % 5 - [ Lei- se8 ]2/3 fleh-4. en8 - [ mei- ne8 ]2/3 Lie- der8 _8 - Durch4. die8 [ Nacht zu8 ]2/3 + [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 dir;2 _ _ _ _ _ _ _ % 11 - [ In den8 ]2/3 stil-4. len8 - [ Hain her-8 ]2/3 nie-4. der,8 - Lieb4. chen,8 [ komm zu8 ]2/3 + [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 mir!2 _ _ _ _ _ _ _ @@ -360,7 +359,7 @@ tekstI = \lyric{ % 17 Fl\"us-8. ternd16 schlan-4. ke8 Wip-8. fel16 rau-4. schen8 - [ In des8 ]2/3 Mon-4. des8 + [2/3 In des8 ]1/1 Mon-4. des8 Licht;2. _ _ _ _ _ _ @@ -368,7 +367,7 @@ tekstI = \lyric{ % 23 Des8. Ver-16 r\"a-4. ters8 feind-8. lich16 Lau-4. schen8 - [ F\"urch- te,8 ]2/3 Hol-4. de,8 + [2/3 F\"urch- te,8 ]1/1 Hol-4. de,8 nicht.2. _ _ _ _ _ _ @@ -388,7 +387,7 @@ tekstI = \lyric{ mich!2 _ Be-8. bend16 harr' ich8 _8 dir8. ent-16 ge- gen!8 _8 - [ Komm, be-8 ]2/3 gl\"u4. cke8 + [2/3 Komm, be-8 ]1/1 gl\"u4. cke8 mich!2. _ _ _ _ _ _ % 47 @@ -410,17 +409,17 @@ tekstII = \lyric{ _ _ _ _ _ _ % 5 - [ H\"orst die8 ]2/3 Nach-4. ti-8 - [ gal- len8 ]2/3 schla- gen?8 _8 - Ach!4. sie8 [ fleh- en8 ]2/3 + [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 dich,2 _ _ _ _ _ _ _ % 11 - [ Mit der8 ]2/3 T\"o-4. ne8 - [ s\"u\ss- en8 ]2/3 Kla-4. gen8 - Fleh-4. en8 [ sie f\"ur8 ]2/3 + [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 mich.2 _ _ _ _ _ _ _ @@ -428,7 +427,7 @@ tekstII = \lyric{ % 17 Sie-8. ver-16 stehn4. des8 Bus-8. ens16 Seh-4. nen,8 - [ Ken- nen8 ]2/3 Lieb-4. es-8 + [2/3 Ken- nen8 ]1/1 Lieb-4. es-8 schmerz,2. _ _ _ _ _ _ @@ -436,7 +435,7 @@ tekstII = \lyric{ % 23 R\"uh-8. ren16 mit4. den8 Sil-8. ber-16 t\"o-4. nen8 - [ Jed- es8 ]2/3 wei-4. che8 + [2/3 Jed- es8 ]1/1 wei-4. che8 Herz.2. _ _ _ _ _ _ diff --git a/input/toccata-fuga-E.ly b/input/toccata-fuga-E.ly index dade648ae5..19c862d90e 100644 --- a/input/toccata-fuga-E.ly +++ b/input/toccata-fuga-E.ly @@ -20,7 +20,7 @@ EndMudelaHeader %} -\version "0.0.57"; +\version "0.0.58"; toccata_commands = \melodic{ \meter 4/4; @@ -33,9 +33,9 @@ toccata_right = \melodic{ % 13 -- how to type -- where to split -- this more neatly ? \octave c'; <\multivoice - { \stem 1; \hshift 1; r4 dis'4 e'4.-. e'8~ e'4 [d'8 fis'8] gis'4 [gis'8 fis'16 e'16] | fis'4~ [fis'8 e'16 dis'16] e'4 r8 e'8 } - { \stem 1; r4 bis4 cis'4-. cis'4 | ais'4~ [ais'16 gis'16 ais'16 b'16] dis'4 cis'4~ [cis'8 dis'16 ais16] bis4 cis'4 r8 b8 } - { \stem -1; r4 < gis4 fis4 dis4 > gis4-. gis4 | ais4. cis'8 gis2 | fis4 gis4 gis4 r8 e8 } + { \stem 1; r4 dis'4 e'4.-. e'8( | \hshift 1; )e'4 [d'8 fis'8] \hshift 0; gis'4 [gis'8 fis'16 e'16] | fis'4~ [fis'8 e'16 dis'16] e'4 r8 e'8 } + { \stem 1; \hshift 1; r4 bis4 cis'4-. cis'4 | \hshift 0; a'4~ [a'16 gis'16 a'16 b'16] \hshift 1; dis'4 cis'4~ [cis'8 dis'16 a16] bis4 cis'4 r8 b8 } + { \stem -1; r4 < gis4 fis4 dis4 > gis4-. gis4 | a4. cis'8 gis2 | fis4 gis4 gis4 r8 e8 } > | % 16 } @@ -46,8 +46,8 @@ toccata_left = \melodic{ \clef bass; % 13 <\multivoice - { \stem 1; bis2 cis'4-. cis'4~ [cis'8 ais'8 d'8 cis'8] [bis8 gis8] cis'4 | dis'2 cis'4 r8 cis'8 } - { \stem 1; \hshift 1; r4 gis4. gis8~ gis4 | \stem -1; \hshift 0; ais4. fis8 gis4. ais8~ ais4 gis4-. gis4 r8 gis8 } + { \stem 1; bis2 cis'4-. cis'4~ [cis'8 a8 d'8 cis'8] [bis8 gis8] cis'4 | dis'2 cis'4 r8 cis'8 } + { \stem 1; \hshift 1; r4 gis4. gis8~ gis4 | \stem -1; \hshift 0; a4. fis8 gis4. a8~ a4 gis4-. gis4 r8 gis8 } { \stem -1; r4 < dis4 fis4 > < cis4 e4 > } > | % 16 @@ -76,19 +76,27 @@ fuga2_right = \melodic{ % 15 \octave c'; <\multivoice - { \stem 1; b8 fis8 b4 } + { \stem 1; [b8 fis8] b4 } { \stem -1; fis2 } > - <% \multivoice % heu? - { e'4 } - { cis'4 } - { ais4 } - { fis4 } + %{ this chord is usually set like this: + | + x|| + x|| + x| + |x + | + %} + < \multivoice + { \stem 1; \hshift 0; e'4 } + { \stem 1; \hshift 1; cis'4 } + { \stem 1; \hshift 2; ais4 } + { \stem -1; fis4 } > | % 16 <\multivoice { \stem 1; dis'2 dis'4 | cis'2 cis'4 | b4~ [b8 cis'8 dis'8 e'8] } - { \stem 1; \hshift 1; b8 fis8 b2~ [b8 a16 g16] a2 | a4 gis2 } + { \stem 1; \hshift 1; [b8 fis8] b2~ [b8 a16 g16] a2 | a4 gis2 } { \stem -1; fis2.~ fis2.~ fis4 e2 } > | % 19 diff --git a/input/twinkle.ly b/input/twinkle.ly index df4cf9a0cd..8a17727959 100644 --- a/input/twinkle.ly +++ b/input/twinkle.ly @@ -14,7 +14,7 @@ Tested Features: lyrics EndMudelaHeader %} -\version "0.0.57"; +\version "0.0.58"; melody = \melodic{ \clef\violin; diff --git a/input/wohltemperirt.ly b/input/wohltemperirt.ly index 6b15eaae4c..eb6b0278f6 100644 --- a/input/wohltemperirt.ly +++ b/input/wohltemperirt.ly @@ -14,7 +14,7 @@ %} -\version "0.0.57"; +\version "0.0.58"; % should add \need{dutch.ini} for % correct parsing of note names diff --git a/lily/include/input-music.hh b/lily/include/input-music.hh index 52fb654352..31c60c2fc8 100644 --- a/lily/include/input-music.hh +++ b/lily/include/input-music.hh @@ -29,14 +29,11 @@ struct Voice_list : public Link_list { */ struct Input_music { virtual Voice_list convert()const=0; - void check_plet(Voice_element* velt_l); virtual Moment length()const=0; virtual void translate_time(Moment dt)=0; virtual ~Input_music(){} virtual void print() const =0; virtual void set_default_group(String)=0; - virtual bool find_plet_start_b(char c, Moment& moment_r) = 0; - virtual void set_plet_backwards(Moment& now_moment_r, Moment until_moment, int num_i, int den_i) = 0; virtual void transpose(Melodic_req const&) const =0; @@ -58,8 +55,6 @@ struct Simple_music : Input_music { virtual Voice_list convert()const; virtual void translate_time(Moment dt); virtual void print() const; - virtual bool find_plet_start_b(char c, Moment& moment_r); - virtual void set_plet_backwards(Moment& now_moment_r, Moment until_moment, int num_i, int den_i); virtual Input_music *clone() const { return new Simple_music(*this); } @@ -76,8 +71,6 @@ struct Complex_music : Input_music { Complex_music(Complex_music const &); virtual void print() const ; void concatenate(Complex_music*); - virtual bool find_plet_start_b(char c, Moment& moment_r); - virtual void set_plet_backwards(Moment& now_moment_r, Moment until_moment, int num_i, int den_i); }; diff --git a/lily/include/parseconstruct.hh b/lily/include/parseconstruct.hh index 4bab4e9083..2059719880 100644 --- a/lily/include/parseconstruct.hh +++ b/lily/include/parseconstruct.hh @@ -11,7 +11,6 @@ String * get_scriptdef(char c); Request* get_script_req(char); -Request* get_plet_request( char c, int dur_i, int type_i ); Request*get_script_req(int d , Script_def*def); Request*get_text_req(int d , Text_def*def); Request* get_stemdir_req(int); diff --git a/lily/include/request.hh b/lily/include/request.hh index f045b36204..6d9343a065 100644 --- a/lily/include/request.hh +++ b/lily/include/request.hh @@ -31,7 +31,7 @@ public: Request(Request const&); virtual ~Request(){} - NAME_MEMBERS(Request); + NAME_MEMBERS(); virtual Request* clone() const { return new Request(*this); } void print()const ; @@ -42,19 +42,11 @@ public: maybe checkout RTTI */ virtual Barcheck_req *barcheck() { return 0; } - virtual Note_req *note() { return 0;} virtual Script_req *script() { return 0;} - virtual Stem_req *stem() { return 0;} virtual Text_req*text() { return 0; } virtual Rest_req *rest() { return 0; } virtual Span_req *span() { return 0; } - virtual Beam_req *beam() { return 0 ; } - virtual Plet_req* plet() { return 0; } - virtual Slur_req *slur() { return 0 ; } - virtual Rhythmic_req*rhythmic() { return 0; } - virtual Lyric_req* lreq_l() { return 0; } - virtual Melodic_req *melodic() { return 0; } - virtual Spacing_req * spacing() { return 0; } + virtual Spacing_req * spacing() { return 0; } virtual Blank_req * blank() { return 0; } virtual Musical_req *musical() { return 0; } virtual Command_req * command() { return 0; } @@ -64,8 +56,27 @@ protected: #define REQUESTMETHODS(T,accessor) \ virtual T * accessor() { return this;}\ -NAME_MEMBERS(T);\ +NAME_MEMBERS();\ VIRTUAL_COPY_CONS(T, Request)\ virtual void do_print() const + + +/** Put a script above or below this ``note'' or bar. eg upbow, downbow. Why + a request? These symbols may conflict with slurs and brackets, so + this also a request */ +class Script_req : public virtual Request { +public: + int dir_i_; + General_script_def *scriptdef_p_; + + /* *************** */ + static int compare(const Script_req &, const Script_req &); + Script_req(); + REQUESTMETHODS(Script_req,script); + ~Script_req(); + Script_req(Script_req const&); +}; + + #endif diff --git a/lily/include/voice-element.hh b/lily/include/voice-element.hh index 00e72618c1..6bc85597af 100644 --- a/lily/include/voice-element.hh +++ b/lily/include/voice-element.hh @@ -33,10 +33,8 @@ public: Voice_element(Voice_element const & src ); void add(Request*); - bool find_plet_start_b(char c, Moment& moment_r); void print ()const; void set_default_group(String id); - void set_plet_backwards(Moment& now_moment_r, Moment until_moment, int num_i, int den_i); }; #endif // VOICE-ELEMENT_HH diff --git a/lily/include/voice.hh b/lily/include/voice.hh index 85c41f72f6..a40142d56f 100644 --- a/lily/include/voice.hh +++ b/lily/include/voice.hh @@ -1,3 +1,11 @@ +/* + voice.hh -- declare Voice + + source file of the GNU LilyPond music typesetter + + (c) 1997 Han-Wen Nienhuys +*/ + #ifndef VOICE_HH #define VOICE_HH @@ -29,10 +37,8 @@ struct Voice { Moment last() const; void transpose(Melodic_req const &)const; void add(Voice_element*); - bool find_plet_start_b(char c, Moment& moment_r); void print() const; void set_default_group(String id); - void set_plet_backwards(Moment& now_moment_r, Moment until_moment, int num_i, int den_i); }; #endif diff --git a/lily/input-music.cc b/lily/input-music.cc index 840b180c34..2d4527c44a 100644 --- a/lily/input-music.cc +++ b/lily/input-music.cc @@ -5,23 +5,6 @@ #include "command-request.hh" #include "voice-element.hh" -void -Input_music::check_plet(Voice_element* velt_l) -{ - for (iter_top(velt_l->req_p_list_,i); i.ok(); i++) - if ( i->plet() ) { - Moment start_moment = 0; - if ( !find_plet_start_b( i->plet()->type_c_, start_moment ) ) { - i ->error( "begin of plet not found"); - break; - } - Moment moment = 0; - set_plet_backwards( moment, start_moment, i->plet()->dur_i_, i->plet()->type_i_ ); - i.del(); - break; - } -} - void Simple_music::transpose(Melodic_req const &d)const { @@ -73,17 +56,6 @@ Simple_music::print() const mtor << "}\n"; #endif } -bool -Simple_music::find_plet_start_b(char c, Moment& moment_r) -{ - return voice_.find_plet_start_b(c, moment_r); -} -void -Simple_music::set_plet_backwards(Moment& now_moment_r, Moment until_moment, - int num_i, int den_i) -{ - voice_.set_plet_backwards(now_moment_r, until_moment, num_i, den_i); -} /* *************** */ @@ -128,22 +100,6 @@ Complex_music::set_default_group(String g) for (iter_top(elts,i); i.ok(); i++) i->set_default_group(g); } -bool -Complex_music::find_plet_start_b(char c, Moment& moment_r) -{ - for (iter_bot(elts,i); i.ok(); i--) { - if ( i->find_plet_start_b(c, moment_r) ) - return true; - } - return false; -} -void -Complex_music::set_plet_backwards(Moment& now_moment_r, Moment until_moment, int num_i, int den_i) -{ - for (iter_bot(elts,i); i.ok(); i--) { - i->set_plet_backwards(now_moment_r, until_moment, num_i, den_i); - } -} /* *************************************************************** */ void @@ -167,8 +123,6 @@ Music_voice::add_elt(Voice_element*v) c = elts.bottom(); Simple_music *s = c->simple(); s->add(v); - - check_plet(v); } Moment @@ -214,8 +168,6 @@ Music_general_chord::add_elt(Voice_element*v) Simple_music*vs = new Simple_music; vs->add(v); elts.bottom().add(vs); - - check_plet(v); } void diff --git a/lily/voice-element.cc b/lily/voice-element.cc index cb806831a4..f08aa773ef 100644 --- a/lily/voice-element.cc +++ b/lily/voice-element.cc @@ -69,17 +69,6 @@ Voice_element::Voice_element(Voice_element const&src) add(i->clone()); } -bool -Voice_element::find_plet_start_b(char c, Moment& moment_r)// b unused? -{ - assert( c == ']' ); - moment_r += duration_; - for ( PCursor i( req_p_list_.top() ); i.ok(); i++ ) { - if (i->beam() && i->beam()->spantype == Span_req::START ) - return true; - } - return false; -} void Voice_element::set_default_group(String s) @@ -92,20 +81,3 @@ Voice_element::set_default_group(String s) add(greq); } -void -Voice_element::set_plet_backwards(Moment& now_moment_r, - Moment until_moment, int num_i, int den_i) -{ - now_moment_r += duration_; - if ( now_moment_r > until_moment ) - return; - for ( PCursor i( req_p_list_.top() ); i.ok(); i++ ) { - if (i->beam() && i->beam()->spantype == Span_req::START ) - i->beam()->nplet = den_i; - if (i->rhythmic()) { - i->rhythmic()->duration_.plet_.type_i_ = den_i; - i->rhythmic()->duration_.plet_.iso_i_ = num_i; - - } - } -} diff --git a/lily/voice.cc b/lily/voice.cc index 536715d0cb..f248f3aa0e 100644 --- a/lily/voice.cc +++ b/lily/voice.cc @@ -29,26 +29,6 @@ Voice::set_default_group(String s) elts_.top()->set_default_group(s); } -bool -Voice::find_plet_start_b(char c, Moment& moment_r) -{ - for (iter_bot(elts_, i); i.ok(); i--) - if ( i->find_plet_start_b(c, moment_r) ) - return true; - return false; -} - -void -Voice::set_plet_backwards(Moment& now_moment_r, Moment until_moment, - int num_i, int den_i) -{ - for (iter_bot(elts_, i); i.ok(); i--) - if ( now_moment_r <= until_moment ) - i->set_plet_backwards(now_moment_r, until_moment, num_i, den_i); - else - return; -} - Voice::Voice(Voice const&src) { for (iter_top(src.elts_, i); i.ok(); i++) diff --git a/make/Targets.make b/make/Targets.make index 4c29b154a8..d196e1679f 100644 --- a/make/Targets.make +++ b/make/Targets.make @@ -100,17 +100,19 @@ config: dummydep: $(DUMMYDEPS) # -# value of $(OSTYPE) on windhoos; "make $OSTYPE" if you use bash :-) +# value of $(OSTYPE) on windhoos...; "make $OSTYPE" if you use bash :-) # -win32: - $(MAKE) -C . CXX=g++ +win32: windows32 # win/lose? +# +windows32: + $(MAKE) -C . "CXX=g++ -D_WINDOWS32" # # xcompile to doze: # doze: dos dos: - $(MAKE) -C . CXX="gcc-go32 -I/usr/i386-go32/include -I/usr/i386-go32/include/g++ -D_WIN32 -Dcaddr_t=char* -DMAP_SHARED=0" + $(MAKE) -C . CXX="gcc-go32 -I/usr/i386-go32/include -I/usr/i386-go32/include/g++ -D_WINDOWS32 -Dcaddr_t=char* -DMAP_SHARED=0" # # target help: @@ -123,7 +125,7 @@ help: @echo " all clean config dist distclean doc doc++" @echo " exe help lib moduledist TAGS" @echo " dos: xcomplile to dos" - @echo " win32: native cygnus-win32 compile" + @echo " windows32: native cygnus-gnu compile" # doc: @@ -165,7 +167,8 @@ endif TAGS:$(all-tag-sources) ifdef all-tag-sources - -etags -CT $(all-tag-sources) /dev/null + -etags -CT $(all-tag-sources) $(ERROR_LOG) + -ctags -CT $(all-tag-sources) $(ERROR_LOG) endif ifdef SUBDIRS set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i TAGS ; done @@ -220,9 +223,9 @@ $(LIBLILY): dummy # RedHat rpm package: # -rpm: +rpm: $(doc-dir)/$(outdir)/lelie_icon.xpm -cp $(depth)/lilypond-$(TOPLEVEL_VERSION).tar.gz $(rpm-sources) - -cp $(doc-dir)/*.gif $(rpm-sources) + -cp $< $(rpm-sources) $(MAKE) -C $(make-dir) spec rpm -ba $(makeout)/lilypond.spec # @@ -232,7 +235,7 @@ installexe: $(INSTALL) -m 755 $(EXECUTABLES) $(bindir) uninstallexe: - for a in $(EXECUTABLES); do rm -f $(bindir)/`basename $a`; done + for a in $(EXECUTABLES); do rm -f $(bindir)/`basename $$a`; done ifneq ($(DEPFILES),) include $(DEPFILES) diff --git a/mi2mu/lily-stream.cc b/mi2mu/lily-stream.cc index 5bae914fec..8e6806564b 100644 --- a/mi2mu/lily-stream.cc +++ b/mi2mu/lily-stream.cc @@ -107,7 +107,7 @@ Lily_stream::header() *os_p_ << "% from input file: "; *os_p_ << midi_parser_l_g->filename_str_; *os_p_ << "\n\n"; - *os_p_ << "\\version \"0.0.57\";\n"; + *os_p_ << "\\version \"0.0.58\";\n"; } /* snapnie: dit kan toch automaties? Zie ook dstream. diff --git a/tex/lilyponddefs.tex b/tex/lilyponddefs.tex index 5bc96a07a6..30d2d34c1a 100644 --- a/tex/lilyponddefs.tex +++ b/tex/lilyponddefs.tex @@ -13,7 +13,7 @@ \def\SkipLilydefs{} \fi \SkipLilydefs -% should use \endinput + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % macros to shorten other definitions @@ -44,15 +44,11 @@ \newdimen\smallspace \newdimen\interlinedist \newcount\n -\newdimen\balkhoog +\newdimen\balkheight \newdimen\notewidth \newdimen\noteheight -\newdimen\notewidthhalf -\newdimen\notewidthdouble -\newdimen\notewidthquart \newdimen\staffrulethickness \newdimen\interstaffrule -\newdimen\balkhalf %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % set fonts and primary dimensions @@ -70,7 +66,7 @@ \font\italicfont=cmti10 \font\dynfont=cmbxti10 scaled \magstep1 \font\mathfont=cmsy10 - \balkhoog=20pt + \balkheight=20pt \notewidth=6pt \noteheight=5pt \staffrulethickness=0.4pt @@ -92,7 +88,7 @@ \font\dynfont=cmbxti12 \font\musicdraw=musixsps \font\mathfont=cmsy8 - \balkhoog=16pt + \balkheight=16pt \staffrulethickness=0.4pt \notewidth=5pt \noteheight=4pt @@ -105,16 +101,8 @@ \def\musixcalc{ \interlinedist=\fontdimen5\musicfnt \smallspace=.3\interlinedist - \interstaffrule=\balkhoog + \interstaffrule=\balkheight \divide\interstaffrule by 4 - \notewidthhalf=\notewidth - \notewidthquart=\notewidth - \notewidthdouble=\notewidth - \rationalmultiply \notewidthhalf*1/2 - \rationalmultiply\notewidthquart*1/4 - \multiply \notewidthdouble by 2 - \balkhalf=\balkhoog - \rationalmultiply\balkhalf*1/2 } % dynamics take extra kerning @@ -134,96 +122,19 @@ \def\dynfff{\dynff\kdynf} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% provide interface to musixtex fonts -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\mdef\quartball{'007} -\mdef\halfball{'010} -\mdef\wholeball{'011} -\mdef\halfrest{'074} -\mdef\wholerest{'075} -\mdef\quartrest{62} -\mdef\eighthrest{63} -\mdef\sixteenthrest{64} -\mdef\thirtysecondrest{65} -\mdef\sixtyfourthrest{66} -\mdef\hundredtwentyeighthrest{67} -\mdef\sharp{52} -\mdef\flat{50} -\mdef\natural{54} -\mdef\sharpsharp{53} -\mdef\flatflat{51} - -\mdef\singledot{'00} -\mdef\doubledot{'01} -\mdef\tripledot{'02} -\mdef\mussepline{155} - -\mdef\violinclef{71} -\mdef\bassclef{73} -\mdef\altoclef{75} -\mdef\cviolinclef{72} -\mdef\cbassclef{74} -\mdef\caltoclef{76} - -\mdef\deighthflag{45} -\mdef\dsixteenthflag{46} -\mdef\dthirtysecondflag{47} -\mdef\dsixtyfourthflag{48} -\mdef\dhundredtwentyeighthflag{49} - -% pointing up -\mdef\ueighthflag{40} -\mdef\usixteenthflag{41} -\mdef\uthirtysecondflag{42} -\mdef\usixtyfourthflag{43} -\mdef\uhundredtwentyeighthflag{44} - -\maccentdef\repeatcolon{55}{2/1} -\def\eighthflag{\topalign{\ueighthflag}} -\def\sixteenthflag{\topalign{\usixteenthflag}} -\def\thirtysecondflag{\topalign{\uthirtysecondflag}} -\def\sixtyfourthflag{\topalign{\usixtyfourthflag}} -\def\hundredtwentyeighthflag{\topalign{\uhundredtwentyeighthflag}} - -\def\cquartrest{\vertcenter\quartrest} -\def\ceighthrest{\vertcenter\eighthrest} -\def\csixteenthrest{\vertcenter\sixteenthrest} -\def\cthirtysecondrest{\vertcenter\thirtysecondrest} -\def\csixtyfourthrest{\vertcenter\sixtyfourthrest} -\def\chundredtwentyeighthrest{\vertcenter\hundredtwentyeighthrest} - -\def\lsingledot{\kern-\notewidth\singledot} -\def\ldoubledot{\kern-\notewidth\doubledot} -\def\ltripledot{\kern-\notewidth\tripledot} - -\maccentdef\sforzato{30}{-3/2} -\maccentdef\marcato{20}{-1/1} -\maccentdef\imarcato{21}{1/1} -\maccentdef\staccato{24}{-1/3} -\maccentdef\istaccato{25}{1/3} -\maccentdef\staccatissimo{28}{-5/5} -\maccentdef\istaccatissimo{29}{2/5} -\maccentdef\portato{18}{-6/5} -\maccentdef\iportato{19}{3/5} -\maccentdef\tenuto{26}{-1/1} -\maccentdef\itenuto{27}{1/1} -\maccentdef\fermata{80}{-1/1} -\maccentdef\ifermata{81}{1/1} - -\mdef\spicato{28} -\mdef\ispicato{29} -\mdef\upbow{23} -\mdef\downbow{22} +\input taupindefs \mathdef\cup{91} % \cup \mathdef\wedge{94} % \wedge \mathdef\striepke{0} % heu? %% custom characters --- this should go: add to (meta!) font -\def\myheel{\kern-.5ex\vbox{\cup}\kern-.5ex} -\def\mytoe{\kern-.5ex\vbox{\wedge}\kern-.5ex} -\def\mystriepke{\kern-1.1ex\vbox{\hbox{\kern-.05em\striepke}}\kern-1.1ex} +% \def\myheel{\kern-.5ex\vbox{\cup}\kern-.5ex} +% \def\mytoe{\kern-.5ex\vbox{\wedge}\kern-.5ex} +\def\myheel{\vbox{\cup}} +\def\mytoe{\vbox{\wedge}} +% \def\mystriepke{\kern-1.1ex\vbox{\hbox{\kern-.05em\striepke}}\kern-1.1ex} +\def\mystriepke{\kern-1.8ex\vbox{\hbox{\kern-.05em\striepke}}\kern-1.8ex} \def\heel{\vbox{\myheel}} \def\toe{\vbox{\mytoe}} @@ -239,8 +150,8 @@ \def\emptybar{} -\def\thinbar{\vrule height\balkhoog width0.8pt} % TODO parametric. -\def\thickbar{\vrule height\balkhoog width 2\smallspace} +\def\thinbar{\vrule height\balkheight width 1.6\staffrulethickness} % TODO parametric. +\def\thickbar{\vrule height\balkheight width 2\smallspace} \def\maatstreep{\thinbar} %? what-s wrong with rightalign? @@ -267,18 +178,18 @@ \def\hslurcharu#1{{\hslurufont\char#1}} \def\hslurchard#1{{\hslurdfont\char#1}} % stacked numbers -\def\generalmeter#1#2{\botalign{\vbox to\balkhalf{\vss \meterfont#1}% +\def\generalmeter#1#2{\botalign{\vbox to0.5\balkheight{\vss \meterfont#1}% \nointerlineskip - \vbox to \balkhalf{\vss\meterfont #2}}} + \vbox to 0.5\balkheight{\vss\meterfont #2}}} % stacked horizontal lines -\def\lines#1#2{% +\def\lines#1#2#3{% \vbox{\kern-\interstaffrule \n=0\nointerlineskip% \loop\ifnum\n<#1\advance\n by1% \kern\interstaffrule \nointerlineskip - \vbox to 0pt{\hrule height \staffrulethickness width#2% + \vbox to 0pt{\hrule height #3 width#2% \vss}\nointerlineskip \repeat }} @@ -287,15 +198,15 @@ % Ugh. Need to redo this. Wish we had PS. % \def\toplines#1{ % why space needed here? - \topalign{\hbox{\kern-\notewidth\lines{#1}{\notewidthdouble}}}} + \topalign{\hbox{\kern-\notewidth\lines{#1}{1.6\notewidth}{1.6\staffrulethickness}}}} \def\botlines#1{ % idem ditto - \botalign{\hbox{\kern-\notewidth\lines{#1}{\notewidthdouble}}}} + \botalign{\hbox{\kern-\notewidth\lines{#1}{1.6\notewidth}{1.6\staffrulethickness}}}} % % a staffsymbol with #1 lines, width #2 % bottom at baseline -\def\linestafsym#1#2{\leftalign{\botalign{\lines{#1}{#2}}}} +\def\linestafsym#1#2{\leftalign{\botalign{\lines{#1}{#2}{\staffrulethickness}}}} \def\stem#1#2{\vrule height#2 depth-#1} -- 2.39.5