itemize(
-it()url(Mudela)(../tex/DOEXPAND(outdir)/mudela.html)
+it()url(Mudela)(../tex/DOEXPAND(outdir)/tutorial.html)
it()url(TeX documents about LilyPond)(../tex/DOEXPAND(outdir)/index.html)
it()url(Manual pages)(../man/DOEXPAND(outdir)/index.html)
it()url(Musical vocabulary)(../tex/DOEXPAND(outdir)/vocabulary.html)
itemize(
it()Take a look at url(angels.ly)(angels.ly)
- it()Save angles.ly to your local disk
+ it()Save angels.ly to your local disk
it()From a Command Prompt run: nl()
- bf(ly2dvi.py angles.ly) nl()
- bf(dvips angles.dvi) nl()
- bf(cmd /c angles.ps) nl()
+ bf(ly2dvi.py angels.ly) nl()
+ bf(dvips angels.dvi) nl()
+ bf(cmd /c angels.ps) nl()
)
link(Back to top)(contents)
misc bugfixes, some Beam and Stem code.
it()nemail(David R. Linn)(drl@vuse.vanderbilt.edu),
Mailing list maintenance.
+it()nemail(Adrian Moriano)()
+ Documentation fixes, glossary.
it()nemail(Han-Wen Nienhuys)(hanwen@cs.uu.nl),
lurl(http://www.cs.uu.nl/~hanwen)
nl()
Most of the items are marked in the code as well, with full explanation.
grep for TODO and ugh/ugr/urg
- * fix LOCALE settings, and \def\foo{2,000pt} output
+ * egcs-1.1a support
+ * fix LOCALE settings, and \def\foo{2,000pt} output
- * use streambufs to provide IO handling for TeX stream, mudela stream,
-data-file.
+ * use streambufs and iostream
+ to provide IO handling for TeX stream, mudela stream, data-file.
* seriously buffer TeX output (do profile of writing .5 mb TeX file.)
* repeat bars: need distance after ":|" and before "|:"
- * doco should not depend on a4
-
* text continuationss
- * fix plain tex footer line.
+ * revise documentation
+
+ * abbrev -> tremolo
+
+ * Language:
+ - general plet mechanism.
+
+ \plet 2/3 { c8 c8 c8 }
+
+ ie.
+
+ Music: PLET int '/' int Music
+
+ - \type -> \context ?
+ - \translator -> ?
+ - fix \partial
+ - \melodic -> \notes
+ - \bla {} vs \bla ;
+ - mix engraver hacking with music ?
+ - \once\property KEY = VAL
+ - \addtranslator, \removetranslator
+ - junk ^ and _ for scripts
* install TeX stuff into tex/generic directory.
* fix vertical alignment and stafflines
- *GrandStaff needs more work -- I want a single word `harpsichord' to the
- left of the grandstaff, not one on each stave.
- (Organ staff -- with separate pedal -- but common properties may be
- something to think about. Of course for organ you want to be able
- to give stop indications on the way through, so the \property
- Voice.Instrument would be a stop, and \property
- GrandStaff.instrument would be PipeOrgan...)
-
+ * GrandStaff needs more work -- I want a single word
+ `harpsichord' to the left of the grandstaff, not one on each
+ stave. (Organ staff -- with separate pedal -- but common
+ properties may be something to think about. Of course for
+ organ you want to be able to give stop indications on the way
+ through, so the \property Voice.Instrument would be a stop,
+ and \property GrandStaff.instrument would be PipeOrgan...)
* make Tie_req a "command" { <c g> ~ <c g> }
* bib ep1988
- * mix engraver hacking with music ?
-
* revise the Score_priority_align_engraver concept. It sucks.
- * ly2xdvi
+ * ly2xdvi, ly2ps
* make new VoiceOne, VoiceTwo, VoiceThree contexts with
ydirection and hshift preset
* xdvi: PS in magnifying glass.
- * GNU patch 2.1: hardcoded limit of 1024 to the linelength
-
* GNU diff 2.7: diff -rN does not see a new directory with empty file
* GNU patch 2.1: <must find simple example> if patch chokes on a
* GNU make: move hardcoded builtin rules to runtime ?
* GNU patch
- - rewrite ? -> check out GNU patch 2.5
- 'double-fix' mode: ignore identical fix, rather than suggest
to revert patch direction when (more or less? exactly) the same
thing is fixed
* use properties for:
- - Text_style
- - default_octave
- plet?
- Staff_sym size
- default tempo.
- font size
- bartypes (get rid of derived Span_bar_engravers)
- cadenza mode?
- - MIDI instrument
- - staff title
* page handling:
- PS output
* \header
- output header info to MIDI too.
- * Add mudela-output to Rosegarden. (contact Derek Wyatt)
-
* a musical dictionary. See Documentation/vocabulary-*, other
languages:
- - explanation
+ - explanations
- italian
- german
- dutch
* write Dynamic_line (to group dynamics horizontally)
* use Real for all y positions.
- - use translate_axis( .. ,Y_AXIS)
+ - use translate_axis( .. ,Y_AXIS) iso separate variables.
* half-sharps, half-flats
* centered whole rest
- * qtor, btor, mtor-> tor( QUIET_ver ), tor( DEBUG_ver ), etc.
- - use tors feature in lily (?)
-
* declare notenametab?
* midi esp.: use I32 iso int where 32 bits are needed (or assumed...)
* textspanner: center position
- * Brackets
-
-
- % toe to bheel four to five
+ * % toe to bheel four to five
% ^_u 4_5
% -
% --|x-- --|x--
* versioning stuff (cvt mudela, mudela, etc.)
- * padded vertical alignment (rods for vertical placement)
-
- * use String iso Text_def for lyrics.
-
* Klavarskribo?
* lyrics in chords still fuck up.
* Use hooks/dependency graphs for properties
+
%\accepts "Thread";
}
-Thread = \translator {
- \type "Engraver_group_engraver";
-% \consists "Note_head_engraver" ;
-% \consists "Tie_engraver";
-}
GrandStaff = \translator {
\type "Line_group_engraver_group";
\consists "Span_bar_engraver";
\consists "Vertical_align_engraver";
\consists "Piano_bar_engraver";
+ minVerticalAlign = 1.5*\staffheight;
% This should come last
\accepts "Staff";
-\version "1.0.1";
+\version "1.0.2";
blah = \melodic {
Tested Features: example file with comments
%}
-\version "1.0.1";
+\version "1.0.2";
% the % is a comment.
% \lbheel \lbheel \lfheel \lftoe
% \rbheel \rbtoe \rfheel \rftoe
-\version "1.0.1";
+\version "1.0.2";
\score{
\melodic {
filename = "praeludium-fuga-E.ly";
title = "praeludium and fuga in E-major";
opus = "BWV 566";
- description = "Praeludium 3 bar excerpt, "
- "2nd fuga transposed subject -- 4 bar excerpt. "
- "We try to imitate the Griepenkerl/Keller edition which "
- "gives the best approximation to Bach's original layout.";
composer = "Johann Sebastian Bach (1685-1750)";
enteredby = "JCN";
copyright = "public domain";
}
+%{
+ description
+
+ Praeludium 3 bar excerpt,
+ 2nd fuga transposed subject -- 4 bar excerpt.
+ We try to imitate the Griepenkerl/Keller edition which
+ gives the best approximation to Bach's original layout
+%}
%{
Tested Features:
purpose of this file is testing:
* organ staff...
%}
-\version "1.0.1";
+\version "1.0.2";
-\version "1.0.1";
+\version "1.0.2";
ritme = \melodic\transpose c'' {
\partial 8;
% scales with accents.
%
-\version "1.0.1";
+\version "1.0.2";
blah = \melodic {
\time 6/8;
\transpose c {
-\version "1.0.1";
+\version "1.0.2";
blah = \melodic{ \transpose c'' {
"(Feta definitively is not an abbreviation of Font-En-TjA)";
}
-\version "1.0.1";
+\version "1.0.2";
shortlong = \melodic\transpose c'{
c4()c( c c |
TestedFeatures = "beams and beamflags";
}
-\version "1.0.1";
+\version "1.0.2";
\score{
<
"(Feta definitively is not an abbreviation of Font-En-TjA)";
}
-\version "1.0.1";
+\version "1.0.2";
shortlong = \melodic{
c4()c( c c |
copyright = "public domain";
Tested = "test the Collision resolution ";
}
-\version "1.0.1";
+\version "1.0.2";
\include "paper20.ly"
-\version "1.0.1";
+\version "1.0.2";
oden = \lyric{
O8 |
-\version "1.0.1";
+\version "1.0.2";
FontBody= \melodic\transpose c''{
\bar "|:";
% "(Feta definitively is not an abbreviation of Font-En-TjA)";
}
-\version "1.0.1";
+\version "1.0.2";
\include "font-body.ly"
\score{
% "(Feta definitively is not an abbreviation of Font-En-TjA)";
}
-\version "1.0.1";
+\version "1.0.2";
\include "font-body.ly"
\score{
TestedFeatures = "This file tests some nasty Gourlay spacings";
}
-\version "1.0.1";
+\version "1.0.2";
%{
-\version "1.0.1";
+\version "1.0.2";
\score{
\melodic\relative c'{
[c16 \stemdown c'' \stemboth c,, d]
"(Feta definitively is not an abbreviation of Font-En-TjA)";
}
-\version "1.0.1";
+\version "1.0.2";
shortlong = \melodic{
c4()c( c c |
% test damping
-\version "1.0.1";
+\version "1.0.2";
\score{
\melodic\relative c'{
-\version "1.0.1";
+\version "1.0.2";
\score{
\melodic\transpose c'{
TestedFeatures = "This file tests various spacings";
}
-\version "1.0.1";
+\version "1.0.2";
multipart = \melodic{
\type StaffGroup <
}
-\version "1.0.1";
+\version "1.0.2";
beamintervals = \melodic{
\time 7/4;
instrument= "Instrument";
}
-\version "1.0.1";
+\version "1.0.2";
\score{
\melodic
}
-\version "1.0.1";
+\version "1.0.2";
vOne = \melodic \relative c''{
\clef"violin";
"(Feta definitively is not an abbreviation of Font-En-TjA)";
}
-\version "1.0.1";
+\version "1.0.2";
\score{
\melodic{
Tested Features lyrics and chords
%}
-\version "1.0.1";
+\version "1.0.2";
melodie = \melodic\relative c {
\clef"violin";
\header{
filename = "twinkle.ly";
title = "Twinkle Twinkle Little Star";
-description = "traditional song in various languages."
- "Ah, vous dirais-je, maman"
- "Altijd is Kortjakje ziek"
- "Twinkle twinkle little star";
composer = "Traditional";
enteredby = "HWN & JCN";
copyright = "public domain";
}
+%{
+DESCRIPTION
+
+traditional song in various languages.
+ "Ah, vous dirais-je, maman"
+ "Altijd is Kortjakje ziek"
+ "Twinkle twinkle little star"
+%}
+
%{
Tested Features: lyrics, interleaving lyrics and staffs
%}
-\version "1.0.1";
+\version "1.0.2";
melody = \melodic \relative c'' {
\clef violin;
texte = \lyric{
\property Lyrics . textstyle" = "italic"
% \property Lyrics . textstyle" = "roman"
- Ah!4 vous dir- ai_- je ma man2
+ Ah!4 vous dir- ai_- je ma- man2
Ce4 qui cau- se mon tour- ment2
- Pa-4 pa veut que je rai- sonne2
- Comme4 un- e grand- e per- sonne2
- Moi4 je dis que les bon- bons2
- Val-4 ent mieux que la rai- son2
+ Pa-4 pa veut que je rai- son- ne
+ Comm' u- ne gran- de per- son- ne
+ Moi je dis que les bon- bons2
+ Va-4 lent mieux que la rai- son2
}
texti = \lyric{
/*
- chord-iter.cc -- implement Chord_iterator
+ Simultaneous_music-iter.cc -- implement Simultaneous_music_iterator
source file of the GNU LilyPond music typesetter
#include "music-list.hh"
-Chord_iterator::~Chord_iterator()
+Simultaneous_music_iterator::~Simultaneous_music_iterator()
{
}
-Chord_iterator::Chord_iterator (Chord const *chord_C)
+Simultaneous_music_iterator::Simultaneous_music_iterator (Simultaneous_music const *simultaneous_music_C)
{
- chord_C_ = chord_C;
+ simultaneous_music_C_ = simultaneous_music_C;
}
void
-Chord_iterator::construct_children()
+Simultaneous_music_iterator::construct_children()
{
int j = 0;
- for (PCursor<Music*> i (chord_C_->music_p_list_.top());
+ for (PCursor<Music*> i (simultaneous_music_C_->music_p_list_p_->top());
i.ok(); j++, i++)
{
Music_iterator * mi = get_iterator_p (i.ptr());
if (mi->ok())
{
- if (chord_C_->translator_type_str_.empty_b ())
- set_translator (mi->report_to_l()->ancestor_l (chord_C_->multi_level_i_));
+ if (simultaneous_music_C_->translator_type_str_.empty_b ())
+ set_translator (mi->report_to_l()->ancestor_l (simultaneous_music_C_->multi_level_i_));
children_p_list_.bottom().add (mi);
}
else
void
-Chord_iterator::do_print() const
+Simultaneous_music_iterator::do_print() const
{
#ifndef NPRINT
for (PCursor<Music_iterator*> i (children_p_list_.top()); i.ok (); i++)
}
void
-Chord_iterator::process_and_next (Moment until)
+Simultaneous_music_iterator::process_and_next (Moment until)
{
for (PCursor<Music_iterator*> i (children_p_list_.top()); i.ok ();)
{
}
-IMPLEMENT_IS_TYPE_B1(Chord_iterator,Music_iterator);
+IMPLEMENT_IS_TYPE_B1(Simultaneous_music_iterator,Music_iterator);
Moment
-Chord_iterator::next_moment() const
+Simultaneous_music_iterator::next_moment() const
{
Moment next;
next.set_infinite (1);
bool
-Chord_iterator::ok() const
+Simultaneous_music_iterator::ok() const
{
return children_p_list_.size();
}
*/
-#ifndef CHORD_ITER_HH
-#define CHORD_ITER_HH
+#ifndef Simultaneous_music_ITER_HH
+#define Simultaneous_music_ITER_HH
#include "music-iterator.hh"
#include "plist.hh"
-class Chord_iterator : public Music_iterator
+class Simultaneous_music_iterator : public Music_iterator
{
- const Chord *chord_C_;
+ const Simultaneous_music *simultaneous_music_C_;
Pointer_list<Music_iterator*> children_p_list_;
public:
- ~Chord_iterator();
- Chord_iterator (Chord const*);
+ ~Simultaneous_music_iterator();
+ Simultaneous_music_iterator (Simultaneous_music const*);
DECLARE_MY_RUNTIME_TYPEINFO;
protected:
virtual void do_print() const;
virtual bool ok() const;
};
-#endif // CHORD_ITER_HH
+#endif // Simultaneous_music_ITER_HH
#include "input.hh"
#include "virtual-methods.hh"
+
+#define DECLARE_TYPE_NAME(Class)
+class Translator_identifier;
+class Music_identifier;
+class General_script_def_identifier;
+class Symtables_identifier;
+class Midi_def_identifier;
+class Paper_def_identifier;
+class Lookup_identifier;
+class Real_identifier;
+class int_identifier;
+class String_identifier;
+class Request_identifier;
+class Score_identifier;
+class Duration_identifier;
+
+
+
#define IDACCESSOR(Class)\
-virtual Class * access_ ## Class (bool=true) const { error (#Class + String ("_identifier")); return 0; }
+virtual Class * access_ ## Class (bool=true) const { error (#Class + String ("_identifier")); return 0; }\
+virtual Class ## _identifier * access_ ## Class ## _identifier () { return 0; }
/**
A declarable data structure in mudela.
Class ## _identifier (Class ## _identifier const&);\
Class ## _identifier (Class*st, int code);\
VIRTUAL_COPY_CONS (Class ## _identifier, Identifier);\
+ virtual Class ## _identifier * access_ ## Class ## _identifier ()\
+ {\
+ return this;\
+ }\
virtual Class* access_ ## Class (bool copy_b = true) const;\
~Class ## _identifier();\
virtual void do_print () const; \
struct Cadenza_req;
struct Change_iterator;
struct Change_translator;
-struct Chord;
+struct Simultaneous_music;
struct Clef_change_req;
struct Clef_item;
struct Clef_engraver;
struct Clef_performer;
struct Column_x_positions;
-struct Chord;
struct Column_info;
struct Collision;
struct Collision_engraver;
struct Multi_measure_rest;
struct Multi_measure_rest_req;
struct Multi_measure_rest_engraver;
-struct Music_general_chord;
struct Musical_script_req;
-struct Music_voice;
+struct Music_list;
struct Musical_req;
struct Music;
-struct Music_list;
+struct Music_sequence;
struct My_lily_parser;
struct Note_column;
struct Note_column_engraver;
struct Vertical_align_spanner;
struct Vertical_align_engraver;
struct Align_element;
-struct Voice;
+struct Sequential_music;
struct Request_chord;
-struct Voice_group_performer;
-struct Voice_list;
+
typedef Rational Moment;
#endif // LILY_PROTO_HH
/*
- linear-programming.hh -- declare
+ linear-programming.hh -- declare Linear_programming
source file of the GNU LilyPond music typesetter
/**
+ Solve the following problem:
+
min c* x
constraints_[i] * x = constraint_rhss_ [i]
Array<Vector> constraints_;
Array<Real> constraint_rhss_;
Vector cost_vec_;
-
+ int dim_;
public:
- Vector constraint_solve (Vector initial) const;
+ Vector constraint_solve (Vector initial_basic_solution) const;
+
int dim () const;
Vector solve (Vector) const;
void add_constraint (Vector c, double r);
+
+
Linear_programming (int n);
void set_cost (Vector);
void print () const;
/*
- music-list.hh -- declare Music_list, Chord and Voice
+ music-list.hh -- declare Music_sequence, Simultaneous_music and Sequential_music
source file of the GNU LilyPond music typesetter
*/
-#ifndef MUSIC_LIST_HH
-#define MUSIC_LIST_HH
+#ifndef Music_sequence_HH
+#define Music_sequence_HH
#include "music.hh"
#include "plist.hh"
+class Music_list : public Pointer_list<Music*>
+{
+public:
+ Musical_pitch do_relative_octave (Musical_pitch, bool);
+ void add_music (Music*);
+ Music_list (Music_list const&);
+ Music_list ();
+};
+
+
/**
Music can be a list of other "Music" elements
*/
-class Music_list : public Music
+class Music_sequence : public Music
{
public:
int multi_level_i_;
-
- Musical_pitch do_relative_octave (Musical_pitch, bool);
- Music_list (Music_list const&);
- Music_list();
+ Music_list * music_p_list_p_;
+
+ Music_sequence (Music_sequence const&);
+ Music_sequence (Music_list *l_p);
DECLARE_MY_RUNTIME_TYPEINFO;
- VIRTUAL_COPY_CONS(Music_list,Music);
- virtual void add (Music*);
+ VIRTUAL_COPY_CONS(Music_sequence,Music);
+
virtual void transpose (Musical_pitch );
-
- Pointer_list<Music*> music_p_list_;
+ void add_music (Music *music_p);
protected:
-
virtual void do_print() const;
};
/**
- Chord is a list of music-elements which happen simultaneously
+ Simultaneous_music is a list of music-elements which happen simultaneously
*/
-
-class Chord : public Music_list
+class Simultaneous_music : public Music_sequence
{
public:
- Chord();
+ Simultaneous_music(Music_list *);
DECLARE_MY_RUNTIME_TYPEINFO;
- VIRTUAL_COPY_CONS(Chord,Music);
+ VIRTUAL_COPY_CONS(Simultaneous_music,Music);
virtual Musical_pitch to_relative_octave (Musical_pitch);
virtual void translate (Moment dt);
The request is a collection of Requests. A note that you enter in mudela is
one Request_chord, one syllable of lyrics is one Request_chord
*/
-class Request_chord : public Chord
+class Request_chord : public Simultaneous_music
{
public:
DECLARE_MY_RUNTIME_TYPEINFO;
VIRTUAL_COPY_CONS(Request_chord, Music);
};
/**
- Voice is a list of music-elements which are placed behind each other.
+ Sequential_music is a list of music-elements which are placed behind each other.
*/
-class Voice : public Music_list
+class Sequential_music : public Music_sequence
{
public:
Moment offset_mom_;
virtual Musical_pitch to_relative_octave (Musical_pitch);
- Voice();
+ Sequential_music(Music_list*);
DECLARE_MY_RUNTIME_TYPEINFO;
- VIRTUAL_COPY_CONS(Voice, Music);
+ VIRTUAL_COPY_CONS(Sequential_music, Music);
virtual void translate (Moment dt);
virtual MInterval time_int() const;
};
-#endif // MUSIC_LIST_HH
+#endif // Music_sequence_HH
Music is hierarchical:
- @see Music_list
+ @see Music_sequence
*/
class Music:public Input {
public:
- Music_list * parent_music_l_;
/** The kind of iterator needed to walk this music. This doesn't
make sense for simple (ie non-list) music, but it does no harm
- here. Yes, it did harm Music_list: you can forget to copy it.
+ here. Yes, it did harm Music_sequence: you can forget to copy it.
*/
String translator_type_str_;
#include "lily-proto.hh"
#include "input.hh"
-/** The pitch as it figures in diatonal western music (12 semitones in
- an octave).
+/** A "tonal" pitch. This is a pitch as it figures in diatonal western
+ music (12 semitones in an octave), as opposed to a frequence in Hz
+ or a integer number of semitones.
- It is not Music because, it has to duration associated
+ It is not Music because, it has no duration associated.
*/
struct Musical_pitch : public Input
{
};
/**
- Start a tie at this voice element, end it at the next
+ Start a tie at this note, end it at the next
*/
class Tie_req : public Musical_req {
public:
Array<Input> define_spot_array_;
String init_str_;
- void add_requests (Chord*v);
+ void add_requests (Simultaneous_music*v);
- Chord * get_note_element (Note_req * ,Duration *);
- Chord* get_rest_element (String, Duration *);
- Chord* get_word_element (String, Duration*);
+ Simultaneous_music * get_note_element (Note_req * ,Duration *);
+ Simultaneous_music* get_rest_element (String, Duration *);
+ Simultaneous_music* get_word_element (String, Duration*);
Melodic_req* get_melodic_req (Melodic_req* melodic, int quotes);
String notename_str (Melodic_req* melodic);
void set_last_duration (Duration const *);
/**
- a voice element wants something printed.
+ An atom of musical information .
Hungarian postfix: req
@see lilygut manpage
*/
void preprocess();
bool musical_b() { return musical_b_; }
void do_print() const;
-
-
};
#endif // SCORE_COLUMN_HH
/*
- voice-iter.hh -- declare Voice_iterator
+ Sequential_music-iter.hh -- declare Sequential_music_iterator
source file of the GNU LilyPond music typesetter
*/
-#ifndef VOICE_ITER_HH
-#define VOICE_ITER_HH
+#ifndef Sequential_music_ITER_HH
+#define Sequential_music_ITER_HH
#include "music-iterator.hh"
#include "pcursor.hh"
-class Voice_iterator : private PCursor<Music*>, public Music_iterator
+class Sequential_music_iterator : private PCursor<Music*>, public Music_iterator
{
Moment here_mom_;
- const Voice * voice_C_;
+ const Sequential_music * sequential_music_C_;
Music_iterator * iter_p_;
void start_next_element();
void leave_element();
- void set_voice_translator();
+ void set_Sequential_music_translator();
public:
- Voice_iterator (Voice const*);
+ Sequential_music_iterator (Sequential_music const*);
DECLARE_MY_RUNTIME_TYPEINFO;
protected:
virtual void do_print() const;
virtual void construct_children();
- ~Voice_iterator();
+ ~Sequential_music_iterator();
virtual void process_and_next (Moment);
virtual Moment next_moment() const;
virtual bool ok() const;
};
-#endif // VOICE_ITER_HH
+#endif // Sequential_music_ITER_HH
void
Item::do_unlink()
{
- for (int i=0; i < attached_span_l_arr_.size (); i++)
+ Link_array<Spanner> attached=attached_span_l_arr_;
+ for (int i=0; i < attached.size (); i++)
{
- Spanner *&s= attached_span_l_arr_[i];
+ Spanner *s= attached[i];
Direction d= LEFT;
do {
unbroken_original_l_->broken_to_drul_[d] = 0;
} while (flip (&d) != LEFT);
}
- attached_span_l_arr_.set_size (0);
+ assert (!attached_span_l_arr_.size ());
unbroken_original_l_ =0;
}
Linear_programming::Linear_programming (int n)
: cost_vec_ (n)
{
+ dim_ = n;
}
int
Linear_programming::dim () const
{
- return cost_vec_.dim ();
+ return dim_;
}
+
void
Linear_programming::add_constraint (Vector c, double r)
{
void
Linear_programming::set_cost (Vector c)
{
+ assert (dim_ == c.dim ());
cost_vec_ = c;
}
Linear_programming::check_constraints (Vector v) const
{
bool is_cool = true;
+ assert (v.dim () == dim_);
+
for (int i=0; is_cool && i < v.dim (); i++)
is_cool = is_cool && v[i] >= 0;
for (int i=0; is_cool && i < constraints_.size (); i++)
}
Vector
-Linear_programming::solve (Vector initial) const
+Linear_programming::solve (Vector initial_basic_solution) const
{
+ assert (check_constraints (initial_basic_solution));
+
+ Array<bool> basis;
+ for (int i=0; i < dim_; i++)
+ basis.push (bool(initial_basic_solution[i]));
+
+ Vector x = initial_basic_solution;
+ Real current_cost = x * cost_vec_;
+ while (iter < MAXITER)
+ {
+ // select pivot
+
+
+ iter ++;
+ }
+
+
+
+
+
Array<int> binding, nonbinding;
assert (check_constraints (initial));
Music_iterator * p =0;
if (m->is_type_b (Request_chord::static_name()))
p = new Request_chord_iterator ((Request_chord*) m);
- else if (m->is_type_b (Chord::static_name()))
- p = new Chord_iterator ((Chord*) m);
- else if (m->is_type_b (Voice::static_name()))
- p = new Voice_iterator ((Voice*) m);
+ else if (m->is_type_b (Simultaneous_music::static_name()))
+ p = new Simultaneous_music_iterator ((Simultaneous_music*) m);
+ else if (m->is_type_b (Sequential_music::static_name()))
+ p = new Sequential_music_iterator ((Sequential_music*) m);
else if (m->is_type_b (Translation_property::static_name ()))
p = new Property_iterator((Translation_property *) m);
else if (m->is_type_b (Change_translator::static_name ()))
/*
- music-list.cc -- implement Music_list, Chord, Voice
+ music-list.cc -- implement Music_sequence, Simultaneous_music, Sequential_music
source file of the GNU LilyPond music typesetter
*/
-#include <limits.h>
-#include "music.hh"
-#include "debug.hh"
+
#include "music-list.hh"
#include "musical-pitch.hh"
#include "request.hh"
#include "musical-request.hh"
-Music_list::Music_list (Music_list const&s)
- : Music (s)
-{
- multi_level_i_ = s.multi_level_i_;
- for (iter (s.music_p_list_.top(), i); i.ok (); i++)
- add (i->clone());
-}
-IMPLEMENT_IS_TYPE_B1(Music_list, Music);
-IMPLEMENT_IS_TYPE_B1(Voice,Music_list);
-IMPLEMENT_IS_TYPE_B1(Chord,Music_list);
+IMPLEMENT_IS_TYPE_B1(Sequential_music,Music_sequence);
+IMPLEMENT_IS_TYPE_B1(Simultaneous_music,Music_sequence);
MInterval
-Chord::time_int() const
+Simultaneous_music::time_int() const
{
MInterval m;
- for (iter (music_p_list_.top(), i); i.ok (); i++)
+ for (iter (music_p_list_p_->top(), i); i.ok (); i++)
m.unite (i->time_int());
return m;
}
void
-Chord::translate (Moment m)
+Simultaneous_music::translate (Moment m)
{
- for (iter (music_p_list_.top(), i); i.ok (); i++)
+ for (iter (music_p_list_p_->top(), i); i.ok (); i++)
i->translate (m);
}
-Chord::Chord()
+Simultaneous_music::Simultaneous_music(Music_list *p)
+ : Music_sequence (p)
{
}
-Voice::Voice()
+Sequential_music::Sequential_music(Music_list *p)
+ : Music_sequence (p)
{
offset_mom_ =0;
}
MInterval
-Voice::time_int() const
+Sequential_music::time_int() const
{
Moment last=0;
- for (iter (music_p_list_.top(), i); i.ok (); i++)
+ for (iter (music_p_list_p_->top(), i); i.ok (); i++)
{
MInterval interval = i->time_int();
}
Musical_pitch
-Voice::to_relative_octave (Musical_pitch p)
+Sequential_music::to_relative_octave (Musical_pitch p)
{
- return do_relative_octave (p, false);
+ return music_p_list_p_->do_relative_octave (p, false);
}
Musical_pitch
-Chord::to_relative_octave (Musical_pitch p)
+Simultaneous_music::to_relative_octave (Musical_pitch p)
{
- return do_relative_octave (p, true);
+ return music_p_list_p_->do_relative_octave (p, true);
}
void
-Voice::translate (Moment dt)
+Sequential_music::translate (Moment dt)
{
offset_mom_ += dt;
}
-Music_list::Music_list()
-{
- multi_level_i_ = 0;
-}
-void
-Music_list::add (Music*m_p)
-{
- if (!m_p)
- return;
- m_p->parent_music_l_ = this;
- music_p_list_.bottom().add (m_p);
+Musical_pitch
+Music_list::do_relative_octave (Musical_pitch last, bool ret_first)
+{
+ Musical_pitch retval;
+ int count=0;
+ for (PCursor<Music*> i (top ()); i.ok (); i++)
+ {
+ last = i->to_relative_octave (last);
+ if (!count ++ )
+ retval = last;
+ }
+ if (!ret_first)
+ retval = last;
+ return retval;
}
-void
-Music_list::transpose (Musical_pitch rq)
+
+Music_list::Music_list (Music_list const &s)
+ : Pointer_list<Music*> (s)
{
- for (iter (music_p_list_.top(),i); i.ok (); i++)
- i->transpose (rq);
+ for (PCursor<Music*> i(s.top()); i.ok (); i++)
+ add_music (i->clone());
}
void
-Music_list::do_print() const
+Music_list::add_music (Music*m_p)
{
-#ifndef NPRINT
- for (iter (music_p_list_.top(),i); i.ok (); i++)
- i->print();
-#endif
+ if (!m_p)
+ return;
+
+ bottom().add (m_p);
}
-IMPLEMENT_IS_TYPE_B1(Request_chord, Chord);
+
+IMPLEMENT_IS_TYPE_B1(Request_chord, Simultaneous_music);
Request_chord::Request_chord()
+ : Simultaneous_music (new Music_list)
{
multi_level_i_ =0;
}
-Musical_pitch
-Music_list::do_relative_octave (Musical_pitch last, bool ret_first)
-{
-
- Musical_pitch retval;
- int count=0;
- for (iter (music_p_list_.top(),i); i.ok (); i++)
- {
- last = i->to_relative_octave (last);
- if (!count ++ )
- retval = last;
- }
- if (!ret_first)
- retval = last;
- return retval;
-}
-
Musical_pitch
Request_chord::to_relative_octave (Musical_pitch last)
{
- for (iter (music_p_list_.top(),i); i.ok (); i++)
+ for (iter (music_p_list_p_->top(),i); i.ok (); i++)
{
Musical_req *m =((Request*)i.ptr ())->access_Musical_req ();
if (m && m->access_Melodic_req ())
}
+Music_list::Music_list ()
+{
+}
--- /dev/null
+/*
+ music-sequence.cc -- implement Music_sequence
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ */
+#include "music-list.hh"
+#include "debug.hh"
+#include "musical-pitch.hh"
+
+Music_sequence::Music_sequence (Music_sequence const&s)
+ : Music (s)
+{
+ multi_level_i_ = s.multi_level_i_;
+ music_p_list_p_ = new Music_list (*s.music_p_list_p_);
+}
+
+IMPLEMENT_IS_TYPE_B1(Music_sequence, Music);
+
+Music_sequence::Music_sequence(Music_list *mlist_p)
+{
+ multi_level_i_ = 0;
+ music_p_list_p_ = mlist_p;
+}
+
+void
+Music_sequence::transpose (Musical_pitch rq)
+{
+ for (iter (music_p_list_p_->top(),i); i.ok (); i++)
+ i->transpose (rq);
+}
+
+void
+Music_sequence::do_print() const
+{
+#ifndef NPRINT
+ for (iter (music_p_list_p_->top(),i); i.ok (); i++)
+ i->print();
+#endif
+}
+
+
+void
+Music_sequence::add_music (Music *m_p)
+{
+ music_p_list_p_->add_music (m_p);
+}
Music::Music()
{
- parent_music_l_ =0;
}
Musical_pitch
}
-Chord*
+Simultaneous_music*
My_lily_parser::get_word_element (String s, Duration * duration_p)
{
- Chord* velt_p = new Request_chord;
+ Simultaneous_music* velt_p = new Request_chord;
Lyric_req* lreq_p = new Lyric_req;
lreq_p ->text_str_ = s;
lreq_p->duration_ = *duration_p;
lreq_p->set_spot (here_input());
- velt_p->add (lreq_p);
+ velt_p->add_music (lreq_p);
delete duration_p;
return velt_p;
}
-Chord *
+Simultaneous_music *
My_lily_parser::get_rest_element (String s, Duration * duration_p)
{
- Chord* velt_p = new Request_chord;
+ Simultaneous_music* velt_p = new Request_chord;
velt_p->set_spot (here_input());
if (s=="s")
skip_p->duration_ = *duration_p;
skip_p->set_spot (here_input());
- velt_p->add (skip_p);
+ velt_p->add_music (skip_p);
}
else
{
rest_req_p->duration_ = *duration_p;
rest_req_p->set_spot (here_input());
- velt_p->add (rest_req_p);
+ velt_p->add_music (rest_req_p);
}
delete duration_p;
return velt_p;
}
-Chord *
+Simultaneous_music *
My_lily_parser::get_note_element (Note_req *rq, Duration * duration_p)
{
- Chord*v = new Request_chord;
+ Simultaneous_music*v = new Request_chord;
v->set_spot (here_input ());
- v->add (rq);
+ v->add_music (rq);
// too bad parser reads (default) duration via member access,
// this hack will do for now..
}
void
-My_lily_parser::add_requests (Chord*v)
+My_lily_parser::add_requests (Simultaneous_music*v)
{
for (int i = 0; i < pre_reqs.size(); i++)
{
- v->add (pre_reqs[i]);
+ v->add_music (pre_reqs[i]);
}
pre_reqs.clear();
for (int i = 0; i <post_reqs.size(); i++)
{
- v->add (post_reqs[i]);
+ v->add_music (post_reqs[i]);
}
-#if 0 //disabling...
- if (default_abbrev_i_)
- {
- Abbreviation_req* a = new Abbreviation_req;
- a->type_i_ = default_abbrev_i_;
- v->add (a);
- }
-#endif
+
post_reqs.clear();
}
// mmm
Mudela_version oldest_version ("1.0.1");
-Mudela_version version ("1.0.1");
+Mudela_version version ("1.0.2");
// needed for bison.simple's malloc() and free()
Array<String> * strvec;
Array<int> *intvec;
Box *box;
- Chord * chord;
+ Simultaneous_music *chord;
Duration *duration;
Identifier *id;
Translator* trans;
Music *music;
- Music_list *musiclist;
+ Music_list *music_list;
Score *score;
Header *header;
Interval *interval;
%token <id> IDENTIFIER
%token <id> MUSIC_IDENTIFIER
-%token <id> VOICE_IDENTIFIER
%token <id> POST_REQUEST_IDENTIFIER
%token <id> SCRIPT_IDENTIFIER
%token <id> COMMAND_IDENTIFIER
%type <duration> duration_length
%type <scalar> scalar
-%type <music> Music transposed_music relative_music
+%type <music> Music transposed_music relative_music Sequential_music Simultaneous_music
%type <music> property_def translator_change
-%type <musiclist> Voice Voice_body
-%type <chord> Chord Chord_body
+%type <music_list> Music_list
%type <paper> paper_block paper_body
%type <real> dim real
%type <real> real_mult_expression real_primary
%type <symtable> symtable symtable_body
%type <trans> translator_spec translator_spec_body
%type <tempo> tempo_request
-%type <string> concat_strings
%expect 1
{
$$ = new Header;
}
- | mudela_header_body STRING '=' concat_strings ';' {
+ | mudela_header_body STRING '=' string ';' {
(*$$)[*$2] = *$4;
delete $2;
delete $4;
;
-concat_strings:
- {
- $$ = new String;
- }
- | concat_strings STRING {
- *$$ += *$2;
- }
-
-
/*
DECLARATIONS
*/
$$ = t;
delete $2;
}
- | translator_spec_body STRING '=' scalar ';' {
- $$-> set_property (*$2, *$4);
- delete $2;
+ | translator_spec_body STRING '=' simple_identifier_init ';' {
+ Identifier* id = $4;
+ String_identifier *s = id->access_String_identifier ();
+ Real_identifier *r= id->access_Real_identifier ();
+ int_identifier *i = id->access_int_identifier ();
+
+ String str;
+ if (s) str = *s->access_String (false);
+ if (i) str = to_str (*i->access_int (false));
+ if (r) str = to_str (*r->access_Real (false));
+ if (!s && !i && !r)
+ THIS->parser_error (_("Wrong type for property value"));
+
delete $4;
+ $$->set_property (*$2, str);
}
| translator_spec_body CONSISTS STRING ';' {
$$->group_l ()->consists_str_arr_.push (*$3);
}
;
-Voice:
- '{' Voice_body '}' {
- $$ = $2;
+Music_list: /* empty */ {
+ $$ = new Music_list;
}
- ;
-
-Voice_body:
- /**/ {
- $$ = new Voice;
- $$->set_spot (THIS->here_input ());
+ | Music_list Music {
+ $$->add_music ($2);
}
- | Voice_body Music {
- $$->add ($2);
+ | Music_list error {
}
- | Voice_body error {
- $$ = new Music_list;
+ ;
+
+
+Sequential_music: '{' Music_list '}' {
+ $$ = new Sequential_music ($2);
}
;
+Simultaneous_music: '<' Music_list '>' {
+ $$ = new Simultaneous_music ($2);
+ }
+ ;
Music:
request_chord { $$ = $1; }
| TYPE STRING Music {
delete $2;
delete $4;
}
- | Voice { $$ = $1; }
- | Chord { $$ = $1; }
+ | Simultaneous_music { $$ = $1; }
+ | Sequential_music { $$ = $1; }
| transposed_music { $$ = $1; }
| MUSIC_IDENTIFIER { $$ = $1->access_Music (); }
| MELODIC
;
-Chord:
- '<' Chord_body '>' { $$ = $2; }
- ;
-
-Chord_body:
- /**/ {
- $$ = new Chord;
- $$-> multi_level_i_ = 0;
- $$->set_spot (THIS->here_input ());
- }
- | Chord_body Music {
- $$->add ($2);
- }
- | Chord_body error {
- $$ = new Chord;
- }
- ;
-
transposed_music:
TRANSPOSE musical_pitch Music {
$$ = $3;
;
-/*
- VOICE ELEMENTS
-*/
request_chord:
pre_requests simple_element post_requests {
- THIS->add_requests ((Chord*)$2);//ugh
+ THIS->add_requests ((Simultaneous_music*)$2);//ugh
$$ = $2;
}
| command_element
$$ = new Request_chord;
$$-> set_spot (THIS->here_input ());
$1-> set_spot (THIS->here_input ());
- ((Chord*)$$) ->add ($1);//ugh
+ ((Simultaneous_music*)$$) ->add_music ($1);//ugh
}
;
$$ = $1;
}
| abbrev_type {
-#if 1 // re-instating
Abbreviation_req* a = new Abbreviation_req;
a->type_i_ = $1;
$$ = a;
-#else // and disabling just created ugly sticky abbrev_req
- THIS->default_abbrev_i_ = $1;
-#endif
}
;
steno_musical_pitch:
NOTENAME_PITCH {
$$ = $1;
- // $$->octave_i_ += THIS->default_octave_i_;
}
| NOTENAME_PITCH sup_quotes {
$$ = $1;
- // $$->octave_i_ += THIS->default_octave_i_ + $2;
$$->octave_i_ += $2;
}
| NOTENAME_PITCH sub_quotes {
$$ = $1;
$$->octave_i_ += - $2;
- // $$->octave_i_ += THIS->default_octave_i_ - $2;
}
;
absolute_musical_pitch:
steno_musical_pitch {
$$ = $1;
- // $$->octave_i_ -= THIS->default_octave_i_;
}
;
m->duration_ = *$2;
delete $2;
- Chord*velt_p = new Request_chord;
+ Simultaneous_music*velt_p = new Request_chord;
velt_p->set_spot (THIS->here_input ());
- velt_p->add (m);
+ velt_p->add_music (m);
$$ = velt_p;
}
{
if (first_b_)
{
- for (PCursor<Music*> i (elt_l_->music_p_list_); i.ok(); i++)
+ for (PCursor<Music*> i (elt_l_->music_p_list_p_->top ()); i.ok(); i++)
{
assert (i->is_type_b (Request::static_name()));
Request * req_l = (Request*)i.ptr();
/*
- voice-iter.cc -- implement Voice_iterator
+ Sequential_music-iter.cc -- implement Sequential_music_iterator
source file of the GNU LilyPond music typesetter
void
-Voice_iterator::do_print() const
+Sequential_music_iterator::do_print() const
{
if (iter_p_)
iter_p_->print();
}
-Voice_iterator::Voice_iterator (Voice const*v)
- : PCursor<Music*> (v->music_p_list_)
+Sequential_music_iterator::Sequential_music_iterator (Sequential_music const*v)
+ : PCursor<Music*> (*v->music_p_list_p_)
{
here_mom_ = v->offset_mom_;
- voice_C_ = v;
+ sequential_music_C_ = v;
iter_p_ =0;
}
void
-Voice_iterator::construct_children()
+Sequential_music_iterator::construct_children()
{
while (PCursor<Music*>::ok())
{
}
else
{
- set_voice_translator();
+ set_Sequential_music_translator();
break;
}
}
}
void
-Voice_iterator::leave_element()
+Sequential_music_iterator::leave_element()
{
delete iter_p_;
iter_p_ =0;
}
void
-Voice_iterator::start_next_element()
+Sequential_music_iterator::start_next_element()
{
assert (!iter_p_);
iter_p_ = get_iterator_p (ptr());
}
void
-Voice_iterator::set_voice_translator()
+Sequential_music_iterator::set_Sequential_music_translator()
{
if (iter_p_->report_to_l()->depth_i () > report_to_l ()->depth_i ())
set_translator (iter_p_->report_to_l());
}
-Voice_iterator::~Voice_iterator()
+Sequential_music_iterator::~Sequential_music_iterator()
{
assert (! iter_p_);
}
-IMPLEMENT_IS_TYPE_B1(Voice_iterator,Music_iterator);
+IMPLEMENT_IS_TYPE_B1(Sequential_music_iterator,Music_iterator);
void
-Voice_iterator::process_and_next (Moment until)
+Sequential_music_iterator::process_and_next (Moment until)
{
while (1)
{
if (PCursor<Music*>::ok())
{
start_next_element();
- set_voice_translator();
+ set_Sequential_music_translator();
}
else
{
}
Moment
-Voice_iterator::next_moment() const
+Sequential_music_iterator::next_moment() const
{
return iter_p_->next_moment() + here_mom_;
}
bool
-Voice_iterator::ok() const
+Sequential_music_iterator::ok() const
{
return iter_p_;
}
-
export PATH:=$(topdir)/lily/out:$(topdir)/buildscripts/out:$(PATH)
-export MFINPUTS:=$(topdir)/mf/:.:$(MFINPUTS)::
-export TEXINPUTS:=$(topdir)/tex/:.:$(TEXINPUTS)::
-export LILYINCLUDE=$(topdir)/init:$(topdir)/mf/out
+export MFINPUTS:=$(topdir)/mf/$(PATHSEP)$(MFINPUTS)$(PATHSEP)$(PATHSEP)
+export TEXINPUTS:=$(topdir)/tex/$(PATHSEP)$(TEXINPUTS)$(PATHSEP)$(PATHSEP)
+export LILYINCLUDE=$(topdir)/init$(PATHSEP)$(topdir)/mf/out
(cd $(outdir); $(PYTHON) ../$(buildscripts)/mutopia-index.py --package=$(topdir) --prefix=../ --suffix=/$(outdir) $(html_subdirs) $(all_examples))
$(PYTHON) $(step-bindir)/add-html-footer.py --package=$(topdir) --index=$(depth)/$(outdir)/index.html $(outdir)/index.html
echo $^ > $(depth)/wwwlist
+
+convert-mudela: local-convert-mudela
+ $(LOOP)
+
+local-convert-mudela:
+ $(PYTHON) $(depth)/scripts/convert-mudela.py -e *ly
*os_p_ << filename_str_g;
*os_p_ << "\n\n";
// ugh
- *os_p_ << "\\version \"1.0.0\";\n";
+ *os_p_ << "\\version \"1.0.2\";\n";
}
void
"musical_pitch" "meter" "midi" "mm" "multi" "header"
"notenames" "octave" "output" "partial" "paper" "plet"
"property" "pt" "shape" "relative" "include" "score"
- "script" "skip" "staff" "table" "spandynamic" "symboltables"
+ "script" "skip" "table" "spandynamic" "symboltables"
"tempo" "texid" "textstyle" "transpose" "version" "grouping"
))
(kwregex (mapconcat (lambda (x) (concat "\\\\" x)) keywords "\\|")))
copyright = "public domain";
}
-\version "1.0.1";
+\version "1.0.2";
\include "global.ly"
\include "violoncello.ly"
copyright = "public domain";
}
-\version "1.0.1";
+\version "1.0.2";
\include "global.ly"
\include "clarinetti.ly"
}
-\version "1.0.1";
+\version "1.0.2";
\include "clarinetto-1.ly"
\include "clarinetto-2.ly"
}
-\version "1.0.1";
+\version "1.0.2";
clarinetto1 = \melodic \relative c {
R1 *2 | d''4-.\ff r r2 | R1 *3 | e4-. r r2 | R1 *3 |
}
-\version "1.0.1";
+\version "1.0.2";
clarinetto2 = \melodic \relative c {
R1*2 bes''4-.\ff r r2 | R1*3 | cis4-. r r2 | R1 *3 |
copyright = "public domain";
}
-\version "1.0.1";
+\version "1.0.2";
\include "global.ly"
\include "contrabasso.ly"
copyright = "public domain";
}
-\version "1.0.1";
+\version "1.0.2";
contrabasso = \melodic \relative c {
% \translator Staff=violoncello
copyright = "public domain";
}
-\version "1.0.1";
+\version "1.0.2";
\include "global.ly"
copyright = "public domain";
}
-\version "1.0.1";
+\version "1.0.2";
\include "global.ly"
\include "corni.ly"
}
-\version "1.0.1";
+\version "1.0.2";
\include "corno-1.ly"
\include "corno-2.ly"
copyright = "public domain";
}
-\version "1.0.1";
+\version "1.0.2";
corno1 = \melodic \relative c {
R1 *2 | f''4-.\ff r r2 | R1 *3 | f4-. r r2 | R1 *3 |
copyright = "public domain";
}
-\version "1.0.1";
+\version "1.0.2";
corno2 = \melodic \relative c {
R1 *2 | d''4-.\ff r r2 | R1 *3 | d4-. r r2 | R1 *3 |
}
-\version "1.0.1";
+\version "1.0.2";
\include "global.ly"
\include "fagotti.ly"
}
-\version "1.0.1";
+\version "1.0.2";
\include "fagotto-1.ly"
\include "fagotto-2.ly"
}
-\version "1.0.1";
+\version "1.0.2";
fagotto1 = \melodic \relative c {
R1 *2 | as'4-.\ff r r2 | R1 *3 | as4-. r r2 | R1 *3 |
copyright = "public domain";
}
-\version "1.0.1";
+\version "1.0.2";
fagotto2 = \melodic \relative c {
R1 *2 | f4-.\ff r r2 | R1 *3 | f4-. r r2 | R1 *3 |
}
-\version "1.0.1";
+\version "1.0.2";
\include "global.ly"
\include "flauti.ly"
}
-\version "1.0.1";
+\version "1.0.2";
\include "flauto-1.ly"
\include "flauto-2.ly"
copyright = "public domain";
}
-\version "1.0.1";
+\version "1.0.2";
flauto1 = \melodic \relative c {
R1 *2 | c'''4-.\ff r r2 | R1 *3 | d4-. r r2 | R1 *3 |
copyright = "public domain";
}
-\version "1.0.1";
+\version "1.0.2";
flauto2 = \melodic \relative c {
R1 *2 | as'''4-.\ff r r2 | R1 *3 | b4-. r r2 | R1 *3 |
}
-\version "1.0.1";
+\version "1.0.2";
global = \melodic {
\time 4/4;
copyright = "public domain";
}
-\version "1.0.1";
+\version "1.0.2";
oboe1 = \melodic \relative c'' {
R1 *2 | as'4-.\ff r r2 | R1 *3 | as4-. r r2 | R1 *3 |
}
-\version "1.0.1";
+\version "1.0.2";
oboe2 = \melodic \relative c{
R1 *2| f''4-.\ff r r2 | R1 *3 | f4-. r r2 | R1 *3 |
}
-\version "1.0.1";
+\version "1.0.2";
\include "global.ly"
\include "oboi.ly"
}
-\version "1.0.1";
+\version "1.0.2";
\include "oboe-1.ly"
\include "oboe-2.ly"
}
-\version "1.0.1";
+\version "1.0.2";
timpani = \melodic \relative c {
R1 *2 | c4-.\ff r r2 | R1 *3 | c4-. r r2 | R1 *3 |
}
-\version "1.0.1";
+\version "1.0.2";
\include "global.ly"
\include "trombe.ly"
}
-\version "1.0.1";
+\version "1.0.2";
\include "trombo-1.ly"
\include "trombo-2.ly"
copyright = "public domain";
}
-\version "1.0.1";
+\version "1.0.2";
trombo1 = \melodic \relative c {
R1 *2 | c''4-.\ff r r2 | R1 *3 | c4-. r r2 | R1 *3 |
copyright = "public domain";
}
-\version "1.0.1";
+\version "1.0.2";
trombo2 = \melodic \relative c {
R1 *2 | c'4-.\ff r r2 | R1 *3 | c4-. r r2 | R1 *3 |
copyright = "public domain";
}
-\version "1.0.1";
+\version "1.0.2";
viola1 = \melodic \relative c {
\type Voice=one
copyright = "public domain";
}
-\version "1.0.1";
+\version "1.0.2";
viola2 = \melodic \relative c {
% starts on (actualy, most part is on) same staff as viola1
copyright = "public domain";
}
-\version "1.0.1";
+\version "1.0.2";
\include "global.ly"
\include "viola-1.ly"
copyright = "public domain";
}
-\version "1.0.1";
+\version "1.0.2";
\include "global.ly"
\include "violino-1.ly"
copyright = "public domain";
}
-\version "1.0.1";
+\version "1.0.2";
violino1 = \melodic \relative c {
c'1\ff ~ | c | <f4-. c'-. as'-.> r r2 | R1 |
copyright = "public domain";
}
-\version "1.0.1";
+\version "1.0.2";
\include "global.ly"
\include "violino-2.ly"
copyright = "public domain";
}
-\version "1.0.1";
+\version "1.0.2";
violino2 = \melodic \relative c {
c'1\ff ~ | c | <f4-. c'-. as'-.> r r2 | R1 |
copyright = "public domain";
}
-\version "1.0.1";
+\version "1.0.2";
\include "global.ly"
\include "violoncello.ly"
}
-\version "1.0.1";
+\version "1.0.2";
violoncello = \melodic \relative c {
c1\ff ~ | c | f,4-. r r2 | r1 | c'1\ff ~ | c | f,4-. r r2 |
--- /dev/null
+\header{
+ enteredby = "Tom Cato Amundsen";
+ copyright = "Public Domain";
+ piece = "Allemande";
+}
+
+\version "1.0.2";
+
+global = \melodic{
+ \time 4/4;
+ \partial 8*3;
+ \key es;
+ \skip 1*15;
+ \skip 4*3;
+ \skip 16*4;
+ \bar ":|:";
+ \skip 16*3;
+ \skip 1*16;
+ \bar ":|";
+}
+
+hoyreEn = \melodic\relative c'''{
+% \partial 4.;
+ [as16 g f] |
+ [g16 d es b][c f es d][es b c g][as d c b] |
+ [c g as es][f es' d c][b8. a16][g8 b] |
+ [c16 d es8][f,16 es' d c][d es f8][g,16 f' es d] |
+ [es16 f g8][as,16 g' f es][f g as8][b,16 as' g f] |
+%5
+ \type Staff < {
+ \stemup es4~ [es8. c16] d4~ [d8. b16] |
+ c4.~ [c16 b] c4~ [c16 c bes as] |
+ \stemboth [g c32 d es16 c][g8 as] \stemup bes4~ [bes8 g'~] |
+ \stemboth [g16 c,32 d es16 c][a f' c32 d es16] \stemup d4~ [d8 d] |
+ [d8 c] r16 [fis g a][es8 d] r16 [g a bes] |
+ [f8 e] r16 [a bes c][g8 fis] r16 [es d c] |
+ } {
+ \stemdown r16 [b c g][as es f8] r16 [g as f][g d es8~] |
+%TODO når du får tak i en til urtekst må denne og neste takt sammenliknes.
+ [es16 f32 g as16 f][d f8.~][f16 f es d][es8 f] |
+ s4 r4 r16 [f g d] es8 r |
+ s2 r16 [a bes8~][bes fis] |
+ g4 r a r |
+ bes r c r
+ } >
+%11
+ [d16 a bes fis][g c bes a][bes fis g d][es a g fis] |
+ [g d es b][c f es d][es c d fis][a es d c] |
+ [bes d g bes~][bes fis g bes,][c es g bes~][bes fis g c,] |
+ [d fis g bes~][bes fis g d][es fis g bes~][bes fis g bes] |
+ [e a, bes fis][g bes a g][fis d es bes][c es d c] |
+ \type Staff <
+ { \stemup [bes8 d'][bes a16 g] g4~ g16 }
+ { \stemup s2 s16 d8.~ d16 }
+ { \stemdown r8 <g d> <[g d><fis c]> r16 [d16 b8~] b16 }
+ >
+ [es'16 d c] |
+%17
+ [d a b g][as f es d][es( f32 )g c,8] r16 [as'' g f] |
+ [g d e c][des bes as g][as( bes32 )c f,8] r16 [c f g] |
+ [as e f c][des c' bes as][bes f g d][e des' c bes] |
+ [c g as e][f es' des c][des a bes g] g'4~ |
+ [g16( )c, f( )e][as( g f )e][f( )c es( )des][bes'( as g )f] |
+%22
+ [e16( f32 )g c,16 bes][as f' g, e'] f4~ [f32 g f e f16 g] |
+ [as16 e f c][as f es' c][d a bes d][f as g f] |
+ [g d es bes][g es d' b][c g as c][es g f es] |
+ [f c d as][f d c' a][b fis g b][d f es d] |
+ [es b c as][g f es' d][c b c d][g,8 d'] |
+ [es16 g c g][es d c b][c es g8~][g16 bes, as g] |
+%28
+ [as c f c][as g f e][f b d8~][d16 f, es d] |
+ [c8 es'( as, )g][d f'( as, )g] |
+ [es g'( as, )g][f as'16( g][as g fis )g] |
+ fis4.~ [fis16 e32 fis][g16 d f es][d c b a] |
+ \type Staff <
+ { \stemup [g8 g'][es d16 c] c4. }
+ { \stemdown r8 <g c es> <[g c> <f b]> <es4. g> }
+ > s8
+}
+
+venstreEn = \melodic\relative c{
+ \clef bass;
+% \partial 4.;
+ r16 r8 |
+ [c8 c,] \clef treble; r16 [as''' g f][g d es b][c f es d] |
+ \clef bass; [es b c g][as8 f][g g,~][g16 f' es d] |
+ [es b c g][as g' f es][f c d a][bes as' g f] |
+ [g d es b][c bes' as g][as es f c][d8 b'] |
+%5
+ [c8 es][f, as][b, d][es, g] |
+ [as f][g g'][c, g']
+ \type Staff <
+ { \stemup [c8 d] | es4 }
+ { \stemdown c4 ~ | [c8. g32 f] }
+ >
+ \stemboth [es, f g16 c,32 d es16][g,8. bes32 as][g as bes16 es,32 f g16] |
+%8
+ [a,8 c][f a][bes. f''32 es][d es f16 bes,32 c d16] |
+ [es, g a bes][c d es c][fis, a bes c][d e fis d] |
+ [g, bes c d][e fis g es][a, c d es][d c bes a] |
+ [bes c d a][bes es d c][d a bes fis][g c bes a] |
+ [bes fis g d][es32 f g16 c,32 d es16] fis,4 r8 d8 |
+%13
+ [g8 bes'( es, )d][a c'( es, )d] |
+ [bes d'( es, )d][c es'( es, )d] |
+ <cis4 cis,> r8 cis8 [d a][fis d] |
+%16
+ [g16 a bes c][d8 d,]
+ \type Staff <
+ { \stemup r8 r16 d' g }
+ { \stemdown g,4~ g16 }
+ >
+ r16 r8 |
+%17
+ [g,8 g'] r16 [as g f][g d es b][c f, es d] |
+ [c8 c'] r16 [des' c bes][c g as e][f bes, as g] |
+ [f g as8][bes,16 as' g f][g as bes8][c,16 bes' as g] |
+ [as bes c8][des,16 c' bes as][bes c des8][e,16 des' c bes] |
+ [as8 c][f, as][des f g, bes~] |
+%22
+ [bes8 as16 bes][c8 c,][f16 c' f g][as f as c] |
+ [f8 as, c f,][bes f' d bes] |
+ [es g, bes es,][as es' c as] |
+ [d f, as d,][g d'][b g] |
+ [c es,][as f][g g,~][g16 as' g f] |
+ [g d es b][c f es d][es b c g][as des c bes] |
+%28
+ [c g as e][f bes as g][as f g b][d as g f] |
+ [es( g c )es~][es b c es,][f( as c )es~][es b c f,] |
+ [g( b c )es~][es b c g][as b c es~][es b c es] |
+ [a d, es b][c es d c][b g as es][f as g f] |
+ [es g c es][g8 g,] <c4. c,> s8
+}
+
+\score{
+ \type GrandStaff <
+ \type Staff = treble <
+ \global
+ \hoyreEn
+ >
+ \type Staff = bass <
+ \global
+ \venstreEn
+ >
+ >
+ \paper{}
+}
\ No newline at end of file
--- /dev/null
+\header {
+ filename = "";
+ title = "Partita II";
+ piece = "Sinfonia";
+ description = "6 Partite per il clavicembalo, Partita II (c-minor)";
+ opus = "BWV 826";
+ source = "Editio Musica Budapest (Urtext)";
+ composer = "Johann Sebastian Bach (1685-1750)";
+ enteredby = "Tom Cato Amundsen";
+ copyright = "Public Domain";
+}
+
+\version "1.0.2";
+
+global = \melodic {
+ \time 4/4;
+ \key es;
+ \skip 1*7;
+ \bar "||";
+ \skip 1*22;
+ \time 3/4;
+ \skip 2.*62;
+ \bar "|.";
+}
+
+hoyreOpp = \melodic\relative c'' {
+ \stemup
+ es4^"Grave adagio" r16 [es d. es32] f4 r16 [f16 f. g32] |
+ [as8. as16] [as16 g32 f g16. d32] es4 r16 [g g. as32] |
+%3
+ bes4 r16 [bes,16 bes. c32] [des8. des16]
+ \type Staff <
+ { \stemup e4 }
+ { \stemup \property Voice.hshift = 1 [des16 c32 bes c16. g32] }
+ >
+%4
+ f4 \stemboth r16 [f g. as32] \stemup d,4 r16 [d g. es32] |
+ c4 ~ [c32 es des c des16. f32] [b,16. c32 b16. c32] d4 ~ |
+ d2 ~ [d16. g,32 a16. b32] [c16. <b32 g> <c16. a> <d32 b]> |
+ <[es8. c> <es16 c]>
+ \type Staff <
+ { \stemup fis4 }
+ { \stemup \property Voice.hshift = 1 [es16 d32 c d16. a32] }
+ > g2
+}
+
+hoyreNed = \melodic\relative c'' {
+ \clef violin;
+ \stemdown
+ <c4 g> r16 [c b. c32] d4 r16 [d d. es32] |
+ [f8. f16] f8 r <c4 g> r16 [es16 es. f32] |
+ <c4 g' > r16 [g16 g16. as32] [bes8. bes16] bes8 r |
+ <c4 as> r16 s16*3 r16 [f, f. g32] g4 |
+%5
+ r16 [es es. f32] f4 [g16. a32 g16. a32] b4 ~ |
+ [b8. d,16] [f8. as16] [g16. f32 es16. d32] [es16. d32 es16. f32] |
+ g4 <c8 a> r <d2 b>
+}
+
+venstreOpp = \melodic\relative c' {
+ \clef bass;
+ \stemup
+ <c4 g es> r <b as f d> r |
+ r <b f d> <c g es> r |
+ <c g e> r r <c g> |
+ <c as f> r r16 <[as d,><as. d,><g32 d]> <g4 d> |
+%5
+ r16 <[g c,><g. c,><f32 c]>
+ \type Staff <
+ {\stemup f4~ f}
+ {\stemup c4 d}
+ > r16 [f f. g32] |
+%6
+ [as8. as16]~ [as g32 f g16 d] <es4 c> r |
+ r <a es c> <g2 d>
+}
+
+venstreNed = \melodic\relative c{
+ \stemdown
+ c4 r c r | r c c r | c r r c | c r r16 [c c. bes32] bes4 |
+ r16 [bes bes. as32] as4_"tr" g r16 [d' d. es32] |
+ \type Staff <
+ { \stemdown \property Voice.hshift = 1 [f8. f16] [b,8. b16] g4 r | }
+ { \stemdown s4 g}
+ >
+ r g g2
+}
+
+andanteEn = \melodic\relative c''{
+ [g16^"andante" c32 d es8~] [es16 d32 c es d c b] [c16 g as f] [g c g f] |
+ [es16 c'32 d es d c16] [g' c, as' c,] [b c d b] g16 r16 r8 |
+%10
+ \stemup [g'32 f es d c16 bes~] [bes des8 c16]
+ [as'32 g f e f8~] [f32 g as g f es d es] |
+ [f es d c bes16 as~] [as c8 bes16]
+ [g'32 f es d es8~] [es32 f g f es d c b]
+%12
+ \stemboth
+ [c bes as g f16 es'~] [es d32 c es d c b]
+ [c d es f g16 c,~] [c b32 c d c b c] |
+ [as'32 g f e f16 des~] [des c32 des es des c des]
+ [g f es d es16 c~] [c b32 c d c b c]
+%14
+ [f c b a b16 d] [f32 bes, as g as16 c]
+ [f32 as, g f g8~] [g32 f' g as g16 f] |
+ [g16 b,8 c16~] [c16 bes32 as g f es d] [es g f es f es d es] [d8 c] |
+%16
+ r8 g'~ [g32 as g f g16 as] [bes16 d es8~] [es32 bes es f g16 es] |
+ [des16 c f8~] [f32 c f g as16 f] [es c d8~] [d32 f g as bes as g as] |
+%18
+ [bes32 as g16~] [g32 f e16~] [e32 d c16~] [c32 g' as bes]
+ [as g f16~] [f32 es des16~] [des32 c bes16] [bes32 f' g as] |
+%19
+ [g f e f bes f e f] [as f e f g f e f] f4~ [f32 es d es f d es f] |
+ [bes,32 d f g as8~] [as32 g f as g f es d]
+ [es bes es f g8~] [g32 f es g f es d c] |
+%21
+ [c'32( a g )fis es16 d~] [d32 g a bes cis,16 d] ~
+ [d32 fis g a c, es d c] [fis d e fis g a bes c] |
+%22
+ [bes32 a g fis ~ fis16 g~] [g d8 es16~]
+ [es16 b8 c16~] [c32 bes as g as16 c]
+%23
+ [fis,32 es' d c bes'16. a32] [g8( )fis16.-\prall g32] g4~
+ [g32 f g as g f es d ] |
+ [f32 es d c g'8~] [g32 es f g f es d c] [es d c bes g'8~]
+ [g32 d es f es d c bes] |
+%25
+ [d c bes a g'8~] [g32 c, d es d c bes a] [c bes a g g'8~]
+ [g32 bes, c d c bes a g] |
+ as4~ [as32 as g as bes as g as] es'4~ [es32 c b c d c b c] |
+ [fis16 es8 d16] [g16 d8 c16] [a'16 c,8 bes16~] [bes32 d c bes g' bes, a g]
+%28
+ [bes'8-\fermata~ bes32 a g fis] [g bes a g fis e d c] [bes d c es d g fis e]
+ [d c bes a bes d bes g] |
+ r16 [e'32 fis fis16.-\prall \[2/3 e64 fis g\]1/1 ]
+ \type Staff <
+ { \stemup
+ [bes,32 a g fis g32 bes16.~] [bes16 c32 bes a bes c a] [fis8. g16] }
+ { \stemdown s8 g8 ~ g4 d}
+ >
+}
+
+andanteTo = \melodic\relative c{
+%8
+ [c8 c'] [f, g] [es c] [es g] |
+ [c as] [es f] [g g,]
+ \stemdown \translator Staff = treble r16 [f''16 es d] |
+%10
+ [es8 g] [e c] [f as] [f c] |
+ [d f] [d bes] [es g] [es c] |
+ \stemboth \translator Staff = bass [as c] [f as,] [g c] [es g,] |
+ [f as] [g f] [es g] [f es] |
+%14
+ [d f] [as c,] [b d] [g d] |
+ [es as,] [f g] c,4~ [c16 d32 es f g a b] |
+ [c8 c'] [bes as] [g bes] [g es] |
+ [as c] [as f] [bes as] [g f] |
+ [e g] [c e,] [f as] [f des] |
+ [bes g] [c c,] [f16 g32 as bes c d e] [f8 es] |
+ [d f] [d bes] [g' bes] [es, g] |
+ [a, fis'] [g g,] [d' a'] [c d,] |
+%22
+ [g a] [bes b] [c d] [es c] |
+ [a g] [d' d,] [g a] [b g] |
+ [c es] [c a] [bes d] [bes g] |
+ [a c] [a fis] [g bes] [g es] |
+%26
+ [c16 d32 es f g as bes] [c16 c, c'8~] [c32 c, d es f g as bes][c16 c, c'8~]|
+ [c c,] [bes bes'] [fis d] [g es] |
+ \type Staff <
+ { \stemup <g4 e> r <d'2 bes g> |
+ cis4~ [cis8. cis16] [d8 c16 bes]
+ \type Staff <
+ { \stemup [a bes c8] }
+ { \stemdown a4 } >
+ | }
+ { \slurdown \stemdown cis,4 r d2( | )d1 \slurboth }
+ >
+}
+
+allegroEn = \melodic\relative c''{
+%30
+ [g8^"allegro" g16 a] [b8 c d es] |
+ [f16 es d es] [f8 g as d,] |
+ [f b, d g,] [g'16 f es d] |
+ es8 c'4 [bes16 as] [g f es d] |
+ c4~ [c16 d e f] [g as bes g] |
+ [e8 des'~] [des16 g, as bes] [as g f e] |
+ [f g as8~] [as16 g f es] [d c d f] |
+%37
+ [es f g8~] [g16 f es d] [c b c es] |
+ [d as' d, c] [d es f g] [ f es d c] |
+ [b g' f es] [d f d c] [b d b a] |
+ [g a b c] [d c b c] [d es f d] |
+ [b c d es] [f as g f] [es d c b] |
+ [c d es c] [a8 c] [f, es'] |
+%43
+ [bes16 c d bes] [g8 bes] [es, d'] |
+ [a16 bes c a] [fis8 a] [d, c'] |
+ [g16 a bes g] [es g d g] [cis, bes' a g] |
+ [fis e d e] [fis8 g a bes] |
+ [c16 bes a bes] [c8 d] [es a,] |
+ [c fis,] [a d,] [d'16 c bes a]
+%49
+ [bes a g a] [bes8 c d es] |
+ [f16 es d c] [bes f' c bes] [as f' bes, as] |
+ [g16 f es f] [g8 a b c] |
+ [d16 c b a] [g d' as g] [f d' g, f] |
+ [es c' g f] [es f g as] [g c g f] |
+ [es c' g f] [es f g as] [g c g f]
+%55
+ [e bes' g f] [e f g as] [g bes g f] |
+ [e bes' g f] [e g bes des] [c bes as g]|
+ [as f' c bes] \stemup [as bes c des] [ c f c bes] |
+ [as f' c bes] \stemboth [as bes c des] [c f c bes] |
+ [a es' c bes] \stemup [a bes c des] [c es c bes] |
+ [a es' c bes] \stemboth [a c es ges] [f es des c] |
+%61
+ [des8 bes c des es des] |
+ [c as bes c des c] [bes as bes g as bes] |
+ [e,16 d c d] [e8 f g as] |
+ [bes16 as g as] [bes8 c] [des g,] |
+ [bes e,] [g c,] [c'16 bes as g]
+%67
+ [as g f8~] [f16 as g f] [es d c bes] |
+ [g' f es8~] [es16 g f es] [d c b c] |
+ [f es d8~] [d16 f es d] [c b a g] |
+ [es' f g8~] [g f16 es] [d a' b c] |
+ [d c b c] [d g f es] [d c b a] |
+ g4~ [g16 a b c] [d es f d]
+%73
+ [b8 as'~] [as16 d, es f] [es d c b] |
+ c4~ [c16 g' des c] [bes es bes as] |
+ [g as bes c] [des8 bes] g'4~ |
+ [g8 c,16 bes] [as f' bes, as] [g des' g, f] |
+ [e f g as] [bes8 g] [e'.-\prallprall d32 e] |
+%78
+ [f8 f,16 g] [as8 bes c d] |
+ [es16 d c d] [es8 f g as] |
+ [b,16 g' d c] \stemup [b c d es] [d g d c] |
+ [b g' d c] [b c d es] [d g d c] |
+ [b f' d c] [b c d es] [d f d c] |
+ [b f' d c] [b d f as] [g f es d] |
+%84
+ [es f g es] [c g' f es] [d c bes as] |
+ \stemboth [g as bes8~] [bes16 c bes as] [g f e d] |
+ [c g' c, bes] [c d e f] [es g c, bes] |
+ [c g' f e] [f c f g] [as bes c d] | [es d c d] [es8 f16 g] [as8 des,] |
+ [f b,] [d g,] [g'16 f es d] |
+ \type Staff <
+ { \stemup [es8. c16] c4 ~ [b8.-\prall c16] | c2-\fermata }
+ { \stemdown r8 r16 <a16 es> <g2 d> | <g es> }
+ >
+}
+allegroTo = \melodic\relative c'{
+ \clef bass;
+%30
+ \type Staff <
+ { \stemup <b8 g> r r4 r }
+ { \stemdown g,8 r8 r4 r }
+ >
+ r2. | r2. |
+ \clef treble; r8 [c16 d] [es8 f] [g as] |
+ [bes16 as g as][bes8 c] [des g,]
+ [bes e,][g c,][c'16 bes as g] | [as8 f g as][bes as] |
+ [g es f g as g] | [f es f d es f] | [g g,16 a] [b8 c] [d es] |
+ [f16 es d es][f8 g][as d,] |
+ [f b,][d g,][g'16 f es d] | \clef bass;
+ [es d c8~][c16 es d c][bes a g f] |
+%43
+ [d' c bes8~][bes16 d c bes][a g fis g] |
+ [c bes a8~][a16 c bes a][g fis e d] | [bes'8 d][g, bes][e, cis'] |
+ [d8 d,~][d c16 bes][a g fis e] | d4~ [d16 e fis g][a bes c a]
+%48
+ [fis8 es'~][es16 a, bes c][bes a g fis] |
+ g4 r16 [g' as bes][as g f es] | [d8 f][d bes][c d] |
+ [es es,] r16 [es' f g][f es d c] | [b8 d][b g][a b] |
+ [c c,] r16 [d''16 es f][es8 d] | [c c,] r16 [as' bes c][bes8 as] |
+ [g c,] r16 [d' e f][e8 d] | [c c,] r16 [d e f][e8 c]
+%57
+ [f f,] \stemdown \translator Staff = treble r16 [g'' as bes][as8 g] |
+ [f \stemboth \translator Staff = bass f,] r16 [des'16 es f][es8 des] |
+ [c f,] \stemdown \translator Staff = treble r16 [g' a bes][a8 g] |
+ [f \stemdown \translator Staff = bass f,] \stemboth r16 [g a bes][a8 f] |
+ [bes16 c des8~][des16 c bes as][g f g bes] |
+%62
+ [as bes c8~][c16 bes as g][f e f as] |
+ [g des' g, f][g as bes c][bes as g f] |
+ [c'8 bes16 as][g c bes as][g f e d] |
+ c4~ [c16 d e f][g as bes g] |
+ [e8 des'~][des16 g, as bes][as g f e] |
+%67
+ [f g as f][d8 f][bes, as'] |
+ [es16 f g es][c8 es][as, g'] |
+ [d16 es f d][b8 d][g, f'] |
+ [c16 d es c][as c g c][fis, es' d c] |
+ [b a g a][b8 c d es] |
+ [f16 es d es][f8 g as d,] |
+%73
+ [f b,][d g,][g'16 f es d] |
+ [es d c d][es8 f g as] |
+ [bes16 as g f][es bes' f es][des bes' es, des] |
+ [c bes as bes][c8 d e f] |
+ [g16 f e d][c g' des c][bes g' c, bes] |
+ [as f' as, g][f c' des g,][a es' f b,]
+%79
+ [c f es d][c g' as d,][es b' c f,] |
+ [g8 g,] \stemdown \translator Staff = treble r16 [a'' b c][b8 a] |
+ [g \translator Staff = bass g,] \translator Staff = treble
+ r16 [es' f g][f8 es] |
+ [d \stemboth \translator Staff = bass g,] r16 [a b c][b8 a] |
+ [g8 g,] \stemdown \translator Staff = treble r8 [g''16 f][es d c b] |
+ [c8 \stemboth \translator Staff = bass c,16 d][es8 f g as] |
+ [bes16 as g as][bes8 c des g,] |
+%86
+ [bes e,][g c,][c'16 bes as g] | as4~ [as16 bes as g][f g as f] |
+ [g f es d][c bes as g][f f' e f] | [as f e f][b, f' es d][es g c, es] |
+ [fis,8. fis'16] g4 g, | c,2-\fermata
+}
+
+\score {
+ \type GrandStaff <
+ \type Staff = treble <
+ \global
+ { \hoyreOpp \andanteEn \allegroEn }
+ \hoyreNed
+ >
+ \type Staff = bass <
+ \global
+ { \venstreOpp \andanteTo \allegroTo }
+ \venstreNed
+ >
+ >
+ \paper {}
+}
+
+% EOF
+
+
+
copyright = "public domain";
}
-\version "1.0.1";
+\version "1.0.2";
one = \melodic\relative c {
\property Voice . textstyle = "italic"
copyright = "public domain";
}
-\version "1.0.1";
+\version "1.0.2";
one = \melodic\relative c{
\property Voice . textstyle = "italic"
r8\mf [c'-1( e-2 g-4] [e-2 c-1 bes'-5 g-3] |
enteredby = "jcn";
copyright = "public domain";
}
-\version "1.0.1";
+\version "1.0.2";
one = \melodic\relative c{
\property Voice . textstyle = "italic"
enteredby = "jcn";
copyright = "public domain";
}
-\version "1.0.1";
+\version "1.0.2";
one = \melodic\relative c{
enteredby = "jcn";
copyright = "public domain";
}
-\version "1.0.1";
+\version "1.0.2";
one = \melodic\relative c{
dotted slurs
%}
-\version "1.0.1";
+\version "1.0.2";
\include "allemande-urtext.ly";
dotted slurs
%}
-\version "1.0.1";
+\version "1.0.2";
\include "allemande-urtext.ly";
dotted slurs
%}
-\version "1.0.1";
+\version "1.0.2";
\include "courante-urtext.ly";
dotted slurs
%}
-\version "1.0.1";
+\version "1.0.2";
\include "courante-urtext.ly";
dotted slurs
%}
-\version "1.0.1";
+\version "1.0.2";
\include "gigue-urtext.ly";
dotted slurs
%}
-\version "1.0.1";
+\version "1.0.2";
\include "gigue-urtext.ly";
dotted slurs
%}
-\version "1.0.1";
+\version "1.0.2";
\include "menuetto-urtext.ly";
dotted slurs
%}
-\version "1.0.1";
+\version "1.0.2";
\include "menuetto-urtext.ly";
dotted slurs
%}
-\version "1.0.1";
+\version "1.0.2";
\include "prelude-urtext.ly";
dotted slurs
%}
-\version "1.0.1";
+\version "1.0.2";
\include "prelude-urtext.ly";
dotted slurs
%}
-\version "1.0.1";
+\version "1.0.2";
\include "sarabande-urtext.ly";
dotted slurs
%}
-\version "1.0.1";
+\version "1.0.2";
\include "sarabande-urtext.ly";
%{
%}
-\version "1.0.1";
+\version "1.0.2";
global =
Tested Features: stem direction, multivoice, forced accidentals.
%}
-\version "1.0.1";
+\version "1.0.2";
\include "nederlands.ly" % for correct parsing of note names
copyright = "Public Domain";
}
-\version "1.0.1";
+\version "1.0.2";
global =
\melodic {
Ugh.. Wish we had grace notes.... It adds another dimension to this
piece of music. %}
-\version "1.0.1";
+\version "1.0.2";
cad = \melodic \relative c' {
}
-\version "1.0.1";
+\version "1.0.2";
allegro =
\melodic
title = "La Gallina à 2 violini";
date = "1637";
source = "the manuscript of Canzoni overo Sonate Concertate "
- "libro terzo, opera duodecima ";
+ + "libro terzo, opera duodecima ";
composer = "Tarquinio Merula (1594/95-1665)";
enteredby = "Mats Bengtsson";
copyright = "Public Domain ";
subtitle = "from Canzoni overo Sonate Concertate libro terzo, "
- "opera duodecima 1637";
+ + "opera duodecima 1637";
}
definition below. --MB
%}
-\version "1.0.1";
+\version "1.0.2";
vi1=\melodic \relative c'' {
\time 4/4;
\bc
>
\paper{
- %linewidth=18.\cm;
- %\output "gallina.out";
gourlay_maxmeasures=7.;
-%%%% Uncomment to get the original layout without beams.
+
+%{
+%% Uncomment to get the original layout without beams.
%%%% Compare to the definition in init/engraver.ly.
-% Voice = \translator {
-% \type "Engraver_group_engraver";
-% \consists "Dynamic_engraver";
-% \consists "Rest_engraver";
-% \consists "Stem_engraver";
-% \consists "Plet_engraver";
-% % \consists "Beam_engraver";
-% \consists "Beam_req_swallow_translator";
-% \consists "Abbreviation_beam_engraver";
-% \consists "Script_engraver";
-% \consists "Rhythmic_column_engraver";
-% \consists "Slur_engraver";
-% \accepts "Thread";
-% }
+ Voice = \translator {
+ \type "Engraver_group_engraver";
+ \consists "Dynamic_engraver";
+ \consists "Rest_engraver";
+ \consists "Stem_engraver";
+ \consists "Plet_engraver";
+ % \consists "Beam_engraver";
+ \consists "Beam_req_swallow_translator";
+ \consists "Abbreviation_beam_engraver";
+ \consists "Script_engraver";
+ \consists "Rhythmic_column_engraver";
+ \consists "Slur_engraver";
+ \accepts "Thread";
+ }
+%}
+
}
\midi{
\tempo 4=80;
copyright = "public domain";
latexheaders= "headers";
}
-\version "1.0.1";
+\version "1.0.2";
%{
Silly latex file dropped; use ly2dvi
filename = "standchen.ly";
title = "St\"andchen (Serenade) \"Leise flehen meine Lieder\"";
opus = "D. 957 No. 4";
-composer = "Franz Schubert (1797-1828)"
- "Text by Ludwig Rellstab (1799-1860)";
+composer = "Franz Schubert (1797-1828)";
+poet= "Text by Ludwig Rellstab (1799-1860)";
enteredby = "JCN";
description = "A schubert song in 16 pt";
copyright = "public domain";
}
-\version "1.0.1";
+\version "1.0.2";
\include "standchen.ly"
description = "A schubert song in 20 pt";
}
-\version "1.0.1";
+\version "1.0.2";
% fool make-website
% \include "standchen.ly";
Note: Original key F.
%}
-\version "1.0.1";
+\version "1.0.2";
$vocal_verse1 = \melodic\relative c{
% ugh: treble/bass
((1,0,1), conv, '\\accidentals -> \\keysignature, ' +
'specialaccidentals -> keyoctaviation\n'))
+if 1:
+ def conv(lines):
+ found = 0
+ for x in lines:
+ if regex.search ('\\\\header', x) <> -1:
+ found = 1
+ break
+ if found:
+ sys.stderr.write ('\nNot smart enough to convert to new \\header format\n')
+ return lines
+
+ conversions.append ((1,0,2), conv, '\header { key = concat + with + operator }\n')
############################
do_deps = 1
def write_deps (fn, out, deps):
- f = open (outdir + fn, 'w')
- f.write ('%s: %s\n'% (outdir + out + '.dvi', reduce (lambda x,y: x + ' '+ y, deps)))
+ out_fn = outdir + '/' + fn
+ print '\`writing \`%s\'\n\'' % out_fn
+
+ f = open (out_fn, 'w')
+ f.write ('%s: %s\n'% (outdir + '/' + out + '.dvi',
+ reduce (lambda x,y: x + ' '+ y, deps)))
f.close ()
nsect(DESCRIPTION)
-This file lists authors of StepMake, and what they wrote.
+This file lists authors of StepMake, and what they did.
nsect(AUTHORS)
itemize(
-it()nemail(Jan Nieuwenhuizen)(janneke@gnu.org),
- lurl(http://www.xs4all.nl/~jantien)
- nl()
- Main author.
it()nemail(Han-Wen Nienhuys)(hanwen@cs.uu.nl),
lurl(http://www.cs.uu.nl/people/hanwen)
nl()
Main author.
-)
-
-nsect(CONTRIBUTORS)
-itemize(
+it()nemail(Jan Nieuwenhuizen)(janneke@gnu.org),
+ lurl(http://www.xs4all.nl/~jantien)
+ nl()
+ Main author.
it()nemail(Jeffrey B. Reed)(daboys@bga.com),
Windows-nt fixes.
)
\font\bracefonteleven = feta-braces16
\font\fingerfonteleven = feta-nummer3
\font\markfonttwentysix = feta-nummer7
-\def\currentsize{eleven}
+ \def\currentsize{eleven}
}
\def\sixteenfonts{\fetsixteendefs\cmrsixteen}
\def\elevenfonts{\fetelevendefs\cmreleven}
\def\thirteenfonts{\fetthirteendefs\cmrthirteen}
-
\def\bracefont{\csname bracefont\currentsize\endcsname}
\def\fetanummer{\csname fetanummer\currentsize\endcsname}
\def\dynfont{\csname dynfont\currentsize\endcsname}
--- /dev/null
+
+% debugging stuff
+\def\vruler#1{{%
+ \def\wid{\dimen0}%
+ \def\inc{\dimen1}%
+ \wid=#1pt
+ \inc=\wid
+ \divide\inc by #1
+ \divide\wid by 2
+ \here=-\wid
+ \loop\ifdim\here<\wid\advance\here by\inc
+ \hbox to0pt{\vbox to0pt{\vss\hrule width2pt height 0.05pt\kern\here}\hss}%
+ \repeat%
+}}
+\def\hruler#1#2{\hbox{%
+ \def\wid{\dimen0}%
+ \def\here{\dimen3}%
+ \wid=#1pt
+ \divide\wid by 2
+ \here=-\wid
+ \loop\ifdim\here<\wid\advance\here by #2
+ \hbox to0pt{\kern\here\vrule width0.05pt height 1pt depth 1pt\hss}%
+ \repeat%
+}}
+
+