}
}
+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
"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
);
\consists "Script_engraver";
\consists "Rhythmic_column_engraver";
\consists "Slur_engraver";
+ \consists "Plet_engraver";
\accepts "Thread";
}
\consists "Lyric_engraver";
\consists "Line_group_engraver";
\consists "Beam_req_swallow_translator";
+ \consists "Plet_swallow_engraver";
}
Lyrics = \translator {
TestedFeatures = "beams and beamflags";
}
-\version "0.1.7";
+\version "0.1.8";
\score{
\melodic { \multi 3 <
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 {
copyright = "public domain";
Tested = "test the Collision resolution ";
}
-\version "0.1.7";
+\version "0.1.8";
% (maybe even sooner :-)
%
-\version "0.1.7";
+\version "0.1.8";
alto1 = \melodic{
\meter 4/4;
-\version "0.1.7";
+\version "0.1.8";
FontBody= \melodic{
\octave c';
\bar "|:";
% "(Feta definitively is not an abbreviation of Font-En-TjA)";
}
-\version "0.1.7";
+\version "0.1.8";
\include "font-body.ly"
\score{
%}
-\version "0.1.7";
+\version "0.1.8";
vi1=\melodic{
\meter 4/4;
-\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";
%{
\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;
-\version "0.1.7";
+\version "0.1.8";
blah = \melodic{
Tested Features: example file with comments
%}
-\version "0.1.7";
+\version "0.1.8";
% the % is a comment.
%}
-\version "0.1.7";
+\version "0.1.8";
\score{
\melodic
% \lbheel \lbheel \lfheel \lftoe
% \rbheel \rbtoe \rfheel \rftoe
-\version "0.1.7";
+\version "0.1.8";
\score{
\melodic {
-\version "0.1.7";
+\version "0.1.8";
ritme = \melodic{ %\octave ;
\partial 8;
% scales with accents.
%
-\version "0.1.7";
+\version "0.1.8";
blah = \melodic {
\meter 6/8;
\octave 'c ;
-\version "0.1.7";
+\version "0.1.8";
blah = \melodic {
Tested Features:breaking algorithm, chords, multivoice, accents
%}
-\version "0.1.7";
+\version "0.1.8";
%% Stuff from MPP version
% \lefttitle{Menuetto}
"(Feta definitively is not an abbreviation of Font-En-TjA)";
}
-\version "0.1.7";
+\version "0.1.8";
shortlong = \melodic{
c4()c( c c |
-\version "0.1.7";
+\version "0.1.8";
\score{
\melodic{\octave c';
TestedFeatures = "This file tests various spacings";
}
-\version "0.1.7";
+\version "0.1.8";
multipart = \melodic{
\multi 3 <
copyright = "public domain";
}
-\version "0.1.7";
+\version "0.1.8";
\include "standchen.ly"
copyright = "public domain";
description = "A schubert song in 20 pt";
}
-\version "0.1.7";
+\version "0.1.8";
% fool make-website
% \include "standchen.ly";
%}
\include "paper20.ly"
-\version "0.1.7";
+\version "0.1.8";
commands = \melodic{
\skip 2.*4;
%%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
%%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
_ _ _
_ _ _
% 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 _
_ _ _
_ _ _
% 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.
_ _ _
_ _ _
% 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.
_ _ _
_ _ _
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
_ _ _
_ _ _
% 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 _
_ _ _
_ _ _
% 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.
_ _ _
_ _ _
% 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.
_ _ _
_ _ _
\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)"
}
%{
- 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. |
$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 _ _
_ _ _
\octave c';
\clef violin;
% ugh: i'd like to type this!
- %r8 [<'g-. c-.> <c-. es-.> <'g-. c-.> <c-. es-.> <'g-. c-.>] |
- r8 <['g-. c-.> <c-. es-.> <'g-. c-.> <c-. es-.> <'g-. c-.]> |
+ %r8 [<'g-. c-.> <c-. es-.> <'g-. c-.> <c-. es-.> <'g-. c-.>] |
+ r8 <['g-. c-.> <c-. es-.> <'g-. c-.> <c-. es-.> <'g-. c-.]> |
r8 <['as-. c-.> <c-. es-.> <'as-. c-.> <c-. es-.> <'as-. c-.]> |
r8 <['as-. c-.> <c-. d-.> <'as-. c-.> <c-. d-.> <'as-. c-.]> |
r8 <['g-. 'b-.> <'b-. d-.> <'g-. 'b-.> <'b-. d-.> <'g-. 'b-.]> |
\clef violin;
r8 <['g c> <c es> <'g c> <c es> <'g c]> |
r8 <['f c> <c d> <'f c> <c d> <'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]> |
<g'4.( b> <)f'8 d'> <[2/3 f' d'> <es' c'> <d' b]1/1> |
+ <c'2. e'> |
r8 <['g c> <c es> <'g c> <c es> <'g c]> |
- r8 <['g c> <c es> <'g c> <c es> <'g c]> |
- r8 <['g c> <c es> <'g c> <c es> <'g c]> |
- r8 <['g c> <c es> <'g c> <c es> <'g c]> |
- r8 <['g c> <c es> <'g c> <c es> <'g c]> |
- r8 <['g c> <c es> <'g c> <c es> <'g c]> |
- r8 <['g c> <c es> <'g c> <c es> <'g c]> |
- r8 <['g c> <c es> <'g c> <c es> <'g c]> |
- r8 <['g c> <c es> <'g c> <c es> <'g c]> |
- r8 <['g c> <c es> <'g c> <c es> <'g c]> |
- r8 <['g c> <c es> <'g c> <c es> <'g c]> |
- r8 <['g c> <c es> <'g c> <c es> <'g c]> |
- r8 <['g c> <c es> <'g c> <c es> <'g c]> |
- r8 <['g c> <c es> <'g c> <c es> <'g c]> |
- r8 <['g c> <c es> <'g c> <c es> <'g c]> |
- r8 <['g c> <c es> <'g c> <c es> <'g c]> |
- r8 <['g c> <c es> <'g c> <c es> <'g c]> |
- r8 <['g c> <c es> <'g c> <c es> <'g c]> |
- r8 <['g c> <c es> <'g c> <c es> <'g c]> |
+ r8 <['f c> <c d> <'f c> <c d> <'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> <es g> <d f]1/1> |
+ <es2. g> |
+ 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 } > |
+ <e2 e'> r4 |
+% <{as!2\mf( [c'8. )as16]} {f2 as8( )f}> |
+ as!2\mf( [c'8. )as16] |
+ <e4. g> <[e8-.( g-.> <e8-. g-.> <)e8-. g-.]> |
}
$bass_intro = \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''> <d'' f''> <g' d''> <d'' f''> <g' d'']> |
<'c2 c> r4 |
<'c2 c> r4 |
<'c2 c> r4 |
}
-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 }
>
>
>
}
-\version "0.1.7";
+\version "0.1.8";
beamintervals = \melodic{
\meter 7/4;
%}
-\version "0.1.7";
+\version "0.1.8";
toccata_commands = \melodic{
\meter 4/4;
Tested Features lyrics and chords
%}
-\version "0.1.7";
+\version "0.1.8";
melodie = \melodic {
\clef"violin";
Tested Features: lyrics, interleaving lyrics and staffs
%}
-\version "0.1.7";
+\version "0.1.8";
melody = \melodic{
\clef violin;
%{
%}
-\version "0.1.7";
+\version "0.1.8";
global =
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
copyright = "Public Domain";
}
-\version "0.1.7";
+\version "0.1.8";
global =
\melodic {
--- /dev/null
+/*
+ plet-swallow-engraver.hh -- declare Swallow_engraver
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
+
+#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
NOTECOMMAND \\{A}+
LYRICS ({AA}|{TEX})[^0-9 \t\n\f]*
ESCAPED [nt\\'"]
+PLET \\\[
+TELP \\\]
%%
return c;
}
+<lyrics,notes>{PLET} {
+ return yylval.i = PLET;
+}
+
+<lyrics,notes>{TELP} {
+ return yylval.i = TELP;
+}
+
<INITIAL,notes>. {
return yylval.c = YYText ()[0];
}
{"output", OUTPUT},
{"partial", PARTIAL},
{"paper", PAPER},
- {"plet", PLET},
{"property", PROPERTY},
{"pt", PT_T},
{"score", SCORE},
#include <iostream.h>
// mmm
-#define MUDELA_VERSION "0.1.7"
+#define MUDELA_VERSION "0.1.8"
#include "scalar.hh"
#include "translation-property.hh"
%token ALIAS
%token BAR
+%token BEAMPLET
+%token MAEBTELP
%token CADENZA
%token CLEAR
%token CLEF
%token PAPER
%token PARTIAL
%token PLET
+%token TELP
%token PT_T
%token SCORE
%token SCRIPT
%type <outputdef> output_def
%type <header> mudela_header mudela_header_body
%type <box> box
-%type <c> open_request_parens close_request_parens
+%type <i> open_request_parens close_request_parens
%type <c> open_abbrev_parens
-%type <c> open_plet_parens close_plet_parens
+%type <i> open_plet_parens close_plet_parens
%type <music> simple_element music_elt full_element lyrics_elt command_elt
%type <i> abbrev_type
%type <i> int
%type <real> dim real
%type <real> unit
%type <request> abbrev_command_req
-%type <request> post_request pre_request command_req verbose_command_req
+%type <request> post_request command_req verbose_command_req
%type <request> script_req dynamic_req
%type <score> score_block score_body
%type <script> script_definition script_body mudela_script gen_script_def
$2->set_spot (THIS->here_input ());
THIS->post_reqs.push ($2);
}
+ | post_requests close_request_parens {
+ Array<Request*>& r = *THIS->get_parens_request ($2);
+ for (int i = 0; i < r.size (); i++ )
+ r[i]->set_spot (THIS->here_input ());
+ THIS->post_reqs.concat (r);
+ delete &r;
+ }
;
POST_REQUEST_IDENTIFIER {
$$ = (Request*)$1->request ();
}
- |close_request_parens {
- $$ = THIS->get_parens_request ($1);
- }
| script_req
| dynamic_req
| abbrev_type {
close_plet_parens:
']' INT '/' INT {
- $$ = ']';
+ $$ = MAEBTELP;
+ THIS->plet_.type_i_ = $4;
+ THIS->plet_.iso_i_ = $2;
+ }
+ | TELP {
+ $$ = TELP;
+ THIS->plet_.type_i_ = 1;
+ THIS->plet_.iso_i_ = 1;
+ }
+ | TELP INT '/' INT {
+ $$ = TELP;
THIS->plet_.type_i_ = $4;
THIS->plet_.iso_i_ = $2;
}
| ']' {
$$ = ']';
}
- | close_plet_parens {
- $$ = ']';
- }
| E_SMALLER {
$$ = '<';
}
| E_BIGGER {
$$ = '>';
}
+ | close_plet_parens {
+ }
;
open_abbrev_parens:
open_plet_parens:
'[' INT '/' INT {
- $$ = '[';
+ $$ = BEAMPLET;
+ THIS->plet_.type_i_ = $4;
+ THIS->plet_.iso_i_ = $2;
+ }
+ | PLET INT '/' INT {
+ $$ = PLET;
THIS->plet_.type_i_ = $4;
THIS->plet_.iso_i_ = $2;
}
;
pre_requests:
- | pre_requests pre_request {
- THIS->pre_reqs.push ($2);
- $2->set_spot (THIS->here_input ());
+ {
}
- ;
-
-pre_request:
- open_request_parens {
- $$ = THIS->get_parens_request ($1);
+ | pre_requests open_request_parens {
+ Array<Request*>& r = *THIS->get_parens_request ($2);
+ for (int i = 0; i < r.size (); i++ )
+ r[i]->set_spot (THIS->here_input ());
+ THIS->pre_reqs.concat (r);
+ delete &r;
}
;
voice_command:
- PLET INT '/' INT {
- THIS->plet_.type_i_ = $4;
- THIS->plet_.iso_i_ = $2;
- }
- | DURATION STRING {
+ DURATION STRING {
THIS->set_duration_mode (*$2);
delete $2;
}
--- /dev/null
+/*
+ plet-swallow-engraver.cc -- implement Plet_swallow_engraver
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
+#include "musical-request.hh"
+#include "plet-swallow-engraver.hh"
+
+IMPLEMENT_IS_TYPE_B1(Plet_swallow_engraver,Swallow_engraver);
+ADD_THIS_TRANSLATOR(Plet_swallow_engraver);
+
+bool
+Plet_swallow_engraver::do_try_request (Request* req_l)
+{
+ if (req_l && req_l->musical () && req_l->musical ()->plet ())
+ return true;
+ return false;
+}
mv $(@F) $@
rm $(basename $< ).*gf
-$(lyout)/%.ly $(texout)/%.tex: $(outdir)/%.log
- $(PYTHON) $(depth)/bin/mf-to-table.py --ly $(lyout)/$(<F:.log=.ly) --tex $(texout)/$(<F:.log=.tex) $<
+$(lyout)/%.ly $(texout)/%.tex: $(outdir)/%.mf
+ $(PYTHON) $(depth)/bin/mf-to-table.py --ly $(lyout)/$(<F:.mf=.ly) --tex $(texout)/$(<F:.mf=.tex) $<
localinstall:
$(INSTALL) -d $(MFDIR)/public/lilypond
//ugh
String str;
if (dur.plet_b ())
- str += String ("\\plet ")
+ str += String ("\\[")
+ String_convert::i2dec_str (dur.plet_.iso_i_, 0, 0)
+ "/"
- + String_convert::i2dec_str (dur.plet_.type_i_, 0, 0)
- + "; ";
+ + String_convert::i2dec_str (dur.plet_.type_i_, 0, 0);
str += name_str;
str += Duration_convert::dur2_str (tmp);
if (dur.plet_b ())
- str += String (" \\plet 1/1;");
+ str += String (" \\]");
/*
note of zero duration is nonsense,
*os_p_ << filename_str_g;
*os_p_ << "\n\n";
// ugh
- *os_p_ << "\\version \"0.1.7\";\n";
+ *os_p_ << "\\version \"0.1.8\";\n";
}
void