c d
\clef "violin" ;
\octave c' ;
- c d
+ < \transpose { d { e f } } >
\octave c'' ;
c d
\duration 8 ;
\octave c' ;
|[ a a a a a a a a \! a ]6/9
\octave c'' ;
- [ 'c 'g d a e' b' f'' c''' g''' ]6/9
- [ g''' c''' f'' b' e' a d 'g 'c ]6/9
+ ['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
+ \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
\octave c' ;
- [ 'c 'g d a e' b' f'' c''' g''' ]6/9
- [ g''' c''' f'' b' e' a d 'g 'c ]6/9
\octave c' ;
[ c g d' ]2/3
[ d' g c ]2/3
MAJOR_VERSION = 0
MINOR_VERSION = 0
-PATCH_LEVEL = 49
+PATCH_LEVEL = 51
# use to send patches, always empty for released version:
# include separator: ".postfix", "-pl" makes rpm barf
WORD {A}{AN}*
ALPHAWORD {A}+
INT -?{N}+
-REAL {INT}?(\.{N}*)?
+REAL {INT}?(\.{N}+)?
KEYWORD \\{WORD}
WHITE [ \n\t\f]
BLACK [^ \n\t\f]
void
Melodic_req::transpose(Melodic_req const & delta)
{
+ int old_pitch = pitch();
+ int delta_pitch = delta.pitch();
octave_i_ += delta.octave_i_;
notename_i_ += delta.notename_i_;
while (notename_i_ >= 7 ) {
notename_i_ -= 7;
octave_i_ ++;
}
- accidental_i_ += delta.accidental_i_;
+ int new_pitch = pitch();
+ int delta_acc = new_pitch - old_pitch - delta_pitch;
+
+ accidental_i_ -= delta_acc;
if (abs(accidental_i_) > 2) {
delta.warning("transposition makes accidental larger than 2");
}