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
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
);
-\version "0.0.57";
+\version "0.0.58";
\include "register.ini"
\include "dynamic.ini"
EndMudelaHeader
%}
-\version "0.0.57";
+\version "0.0.58";
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'';
Tested Features:test the Collision resolution
EndMudelaHeader
%}
-\version "0.0.57";
+\version "0.0.58";
% (maybe even sooner :-)
%
-\version "0.0.57";
+\version "0.0.58";
alto = \melodic{
-\version "0.0.57";
+\version "0.0.58";
\include "this-is-hopefully-a-nonexisting-file"
Tested Features:
EndMudelaHeader
%}
-\version "0.0.57";
+\version "0.0.58";
Tested Features: local key, key, forced accidentals
EndMudelaHeader
%}
-\version "0.0.57";
+\version "0.0.58";
blah = \melodic{
Tested Features: example file with comments
EndMudelaHeader
%}
-\version "0.0.57";
+\version "0.0.58";
% the % is a comment.
% \lbheel \lbheel \lfheel \lftoe
% \rbheel \rbtoe \rfheel \rftoe
-\version "0.0.57";
+\version "0.0.58";
\score{
\staff{ melodicregs
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
% 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
% scales with accents.
%
-\version "0.0.57";
+\version "0.0.58";
blah = \staff{ melodicregs
\melodic {
\meter 6/8;
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
Tested Features: scripts, text.
EndMudelaHeader
%}
-\version "0.0.57";
+\version "0.0.58";
blah = \staff{ melodicregs
EndMudelaHeader
%}
-\version "0.0.57";
+\version "0.0.58";
%% Stuff from MPP version
% \lefttitle{Menuetto}
% \tempo{Moderato}
EndMudelaHeader
%}
-\version "0.0.57";
+\version "0.0.58";
\score{\staff{
melodicregs
EndMudelaHeader
%}
-\version "0.0.57";
-\version "0.0.57";
+\version "0.0.58";
commands = \melodic{
\skip 2.*4;
%%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;
[ 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
%%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-. ] } > |
%%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-. ] } > |
%%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
%%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
<a!2. fis2. > |
%%47
- [ e' \f~ dis' e' ]2/3 g'4.^> cis' |
+ [2/3 e' \f~ dis' e' ]1/1 g'4.^> cis' |
%%48
\textstyle "italic";
<
_ _ _
_ _ _
% 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 _
_ _ _
_ _ _
% 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.
_ _ _
_ _ _
% 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.
_ _ _
_ _ _
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
_ _ _
_ _ _
% 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 _
_ _ _
_ _ _
% 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.
_ _ _
_ _ _
% 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.
_ _ _
_ _ _
%}
-\version "0.0.57";
+\version "0.0.58";
toccata_commands = \melodic{
\meter 4/4;
% 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
}
\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
% 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
Tested Features: lyrics
EndMudelaHeader
%}
-\version "0.0.57";
+\version "0.0.58";
melody = \melodic{
\clef\violin;
%}
-\version "0.0.57";
+\version "0.0.58";
% should add \need{dutch.ini} for
% correct parsing of note names
*/
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;
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);
}
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);
};
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);
Request(Request const&);
virtual ~Request(){}
- NAME_MEMBERS(Request);
+ NAME_MEMBERS();
virtual Request* clone() const { return new Request(*this); }
void print()const ;
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; }
#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
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
+/*
+ voice.hh -- declare Voice
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
#ifndef VOICE_HH
#define VOICE_HH
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
#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
{
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);
-}
/* *************** */
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
c = elts.bottom();
Simple_music *s = c->simple();
s->add(v);
-
- check_plet(v);
}
Moment
Simple_music*vs = new Simple_music;
vs->add(v);
elts.bottom().add(vs);
-
- check_plet(v);
}
void
add(i->clone());
}
-bool
-Voice_element::find_plet_start_b(char c, Moment& moment_r)// b unused?
-{
- assert( c == ']' );
- moment_r += duration_;
- for ( PCursor<Request*> 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)
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<Request*> 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;
-
- }
- }
-}
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++)
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:
@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:
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
# 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
#
$(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)
*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.
\def\SkipLilydefs{}
\fi
\SkipLilydefs
-% should use \endinput
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% macros to shorten other definitions
\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
\font\italicfont=cmti10
\font\dynfont=cmbxti10 scaled \magstep1
\font\mathfont=cmsy10
- \balkhoog=20pt
+ \balkheight=20pt
\notewidth=6pt
\noteheight=5pt
\staffrulethickness=0.4pt
\font\dynfont=cmbxti12
\font\musicdraw=musixsps
\font\mathfont=cmsy8
- \balkhoog=16pt
+ \balkheight=16pt
\staffrulethickness=0.4pt
\notewidth=5pt
\noteheight=4pt
\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
\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}}
\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?
\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
}}
% 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}