* lily/simultaneous-music.cc (to_relative_octave): add Event_chord.
* lily/parser.yy (pre_events): remove prefix articulations.
* lily/music-sequence.cc (do_relative_octave): change relative meaning.
2003-08-21 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ * input/mutopia/F.Schubert/standchen.ly (trebleThrough): fixes
+
+ * lily/simultaneous-music.cc (to_relative_octave): add Event_chord.
+
* lily/music.cc (var): add ly:music-transpose function.
- * Lily/parser.yy (pre_events): remove prefix articulations.
+ * lily/parser.yy (pre_events): remove prefix articulations.
* lily/music-sequence.cc (do_relative_octave): change relative meaning.
# maybe move into private script?
rsync-web:
cd out-www && mkdir web && tar -xzf web.tar.gz -C web
- cd out-www/web && rsync --delete --stats --progress -rltvu -e ssh . x:/var/www/lilypond/doc/v1.8/
+ cd out-www/web && rsync --delete --stats --progress -rltvu -e ssh . x:/var/www/lilypond/doc/v1.9/
cd out-www && rm -rf web/
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'' b,>>4.-( <<f d>>8-)
- \times 2/3 < { f-[( es d-) ] } { d c b } > |
+ \times 2/3 { <<f d>>-(-[ <<es c>>-]-) <<d b>> }
+
%10
<<c es>>2. |
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 as bes>> <<as bes d>> <<f as bes>> |
- r8 < { es-[ g es g ] } { g bes g bes } { bes es bes es } >
- <{ es'( d4.-)( f8-)}{ c' | bes4. as8 } >
- \times 2/3 < { f-[( es d-) ] } { as' g f } > |
+ r8
+ <<es g bes>>-[
+ <<g bes es>>
+ <<es g bes>>
+ <<g bes es>>-]
+ <<es' c'>>-(
+ <<d bes>>4.-(-)
+ <<f as>>8-)
+
+ \times 2/3 { <<f as>>-(-[ <<es g>> <<d f>>-)-] }
%16
<<es g>>2. |
r8 <<f, g>> <<g b>> <<f g>> <<g b>> <<f g>> |
%20
r8 <<es g bes>> <<g bes es>> <<es g bes>> <<g bes es>> <<es g bes>> |
\property Voice.Slur \override #'attachment = #'(stem . stem)
- \grace { as'32-[( bes ] } \times 2/3 { as8-[-)( g as] } c4.-> as8-) |
+ \grace { as'32-[( bes ] }
+ \times 2/3 { as8-[-)( g as] } c4.-> as8-) |
\property Voice.Slur \revert #'attachment
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>> |
- \times 2/3 < { f'8-[-\f( e f] } { f' e f } >
- < {a4.- > f8-)} { a'4. f8 } > |
+ \times 2/3 { <<f f'>>-\f-( <<e e'>> <<f f'>> }
+ <<a a'>>4.-> <<f f'>>8-) |
}
trebleEentje = \notes \relative c' \context Voice {
<<e e'>>2. |
<<es! es'! >>2. |
\property Voice . TextScript \override #'font-shape = #'italic
- <d2._"decresc." d'> |
+ <<d d'>>2._"decresc."
\property Voice . TextScript \revert #'font-shape
%75
%80
\property Voice . TextScript \override #'font-shape = #'italic
- <e2._"dim." g> |
+ <<e g>>_"dim."
\property Voice . TextScript \revert #'font-shape
<<g, e' g>>2. |
bassThrough = \notes\relative c{
\dynamicUp
%61
- <g,8^"cresc." g'> [<<g' b d>> <<b d f>> <<g b d>> <<as! b d >>-> <<b d f>>] |
+ <<g, g'>>8^"cresc." [<<g' b d>> <<b d f>> <<g b d>> <<as! b d >>-> <<b d f>>] |
<<g, g'>>8 [<<g' d'>> <<d' f>> <<g, d'>> <<as b d >>-> <<b d f>>] |
% copied
<<g, g'>>8 [<<g' d'>> <<d' f>> <<g, d'>> <<as b d >>-> <<b d f>>] |
Simultaneous_music ();
};
-/**
- The event is a collection of Events. A note that you enter in lilypond is
- one Event_chord, one syllable of lyrics is one Event_chord
+/*
+ A chord.
*/
class Event_chord : public Simultaneous_music
{
public:
VIRTUAL_COPY_CONS (Music);
- virtual Moment start_mom () const;
-
- Event_chord ();
+ virtual Pitch to_relative_octave (Pitch);
};
/**
Pitch last = p;
for (SCM s = music_list (); gh_pair_p (s); s = ly_cdr (s))
{
- Music *m = unsmob_music (ly_car (s));
- if (!m)
- {
- programming_error ("Music_sequence should only contain music!");
- }
- else
+ if (Music *m = unsmob_music (ly_car (s)))
{
last = m->to_relative_octave (last);
if (!count ++)
}
}
- if (ret_first && first != last)
- {
- String str = _("Changing relative definition causes pitch change.");
- str += "\nWas: " + first.to_string ()
- + "Will be: " + last.to_string () + "\n";
-
- origin()->warning (str);
- }
- return last;
+ if (ret_first)
+ return first;
+ else
+ return last;
}
void
/*
UTILITIES
+
+TODO: should deprecate in favor of Scheme?
+
*/
number_expression:
number_expression '+' number_term {
-
- THIS->
$$ = scm_sum ($1, $3);
}
| number_expression '-' number_term {
-
+#include "input.hh"
#include "moment.hh"
#include "pitch.hh"
-#include "simultaneous-music-iterator.hh"
#include "music-list.hh"
Moment
}
+/*
+ Cut & paste from Music_sequence, (ugh) , but we must add an error
+ message.
+ */
Pitch
Simultaneous_music::to_relative_octave (Pitch p)
{
- return do_relative_octave (p, true);
+ Pitch first;
+ int count=0;
+
+ Pitch last = p;
+ for (SCM s = music_list (); gh_pair_p (s); s = ly_cdr (s))
+ {
+ if (Music *m = unsmob_music (ly_car (s)))
+ {
+ last = m->to_relative_octave (last);
+ if (!count ++)
+ first = last;
+ }
+ }
+
+ if (count && first != last)
+ {
+ String str = _("Changing relative definition causes pitch change.");
+ str += "\nWas: " + first.to_string ()
+ + " -- now returning: " + last.to_string () + "\n";
+
+ origin()->warning (str);
+ }
+
+ return last;
}
+
ADD_MUSIC (Simultaneous_music);
+
+Pitch
+Event_chord::to_relative_octave (Pitch p)
+{
+ return do_relative_octave (p, true);
+}
+ADD_MUSIC(Event_chord);
(EventChord
. (
(description . "Internally used to group a set of events.")
-
- (internal-class-name . "Simultaneous_music")
+ (internal-class-name . "Event_chord")
(iterator-ctor . ,Event_chord_iterator::constructor)
(types . (general-music event-chord simultaneous-music))
)