-25/Nov/97 LilyPond 0.1.37 1
+25/Nov/97 LilyPond 0.1.38 1
bash configure
make
-Note: If you rely on broken DOS/Windows tools such as pkzip/WinZIP
- to unpack the distribution, make sure the B<entire> source tree
- is unpacked correctly, in particular the empty out directories
- (F<flower/out>, F<lib/out> et. al.)
+B<Note> If you rely on broken DOS/Windows tools such as pkzip/WinZIP
+to unpack the distribution, make sure the B<entire> source tree
+is unpacked correctly, in particular the empty out directories
+(F<flower/out>, F<lib/out> et. al.)
=head1 AUTHORS
-2/Dec/97 LilyPond 0.1.37 1
+24/Dec/97 LilyPond 0.1.38 1
-2/Dec/97 LilyPond 0.1.37 2
+24/Dec/97 LilyPond 0.1.38 2
-2/Dec/97 LilyPond 0.1.37 3
+24/Dec/97 LilyPond 0.1.38 3
-2/Dec/97 LilyPond 0.1.37 4
+24/Dec/97 LilyPond 0.1.38 4
-2/Dec/97 LilyPond 0.1.37 5
+24/Dec/97 LilyPond 0.1.38 5
bash configure
make
- Note: If you rely on broken DOS/Windows tools such as
- pkzip/WinZIP
- to unpack the distribution, make sure the e\be\be\ben\bn\bn\bnt\bt\bt\bti\bi\bi\bir\br\br\bre\be\be\be
- source tree
- is unpacked correctly, in particular the empty out
- directories
- (_\bf_\bl_\bo_\bw_\be_\br_\b/_\bo_\bu_\bt, _\bl_\bi_\bb_\b/_\bo_\bu_\bt et. al.)
+ N\bN\bN\bNo\bo\bo\bot\bt\bt\bte\be\be\be If you rely on broken DOS/Windows tools such as
+ pkzip/WinZIP to unpack the distribution, make sure the
+ e\be\be\ben\bn\bn\bnt\bt\bt\bti\bi\bi\bir\br\br\bre\be\be\be source tree is unpacked correctly, in particular
+ the empty out directories (_\bf_\bl_\bo_\bw_\be_\br_\b/_\bo_\bu_\bt, _\bl_\bi_\bb_\b/_\bo_\bu_\bt et. al.)
A\bA\bA\bAU\bU\bU\bUT\bT\bT\bTH\bH\bH\bHO\bO\bO\bOR\bR\bR\bRS\bS\bS\bS
Han-Wen Nienhuys <hanwen@stack.nl>
-2/Dec/97 LilyPond 0.1.37 6
+
+
+
+24/Dec/97 LilyPond 0.1.38 6
+pl 38
+ - bf: \> \! \ff (crescendo overlap)
+ - misc feta-fixes, flageolet sign.
+ - midi tempo fixes.
pl 37.jcn3
- max beam slope "compile time parameterised" and set to 0.6
(oh, how we need runtime generated beams!)
pl 37.jcn2
- feta: fixed sizes small numerals + flageolet
-pl 37.jcn1
- - feta: numerals
- - feta: flageolet
- - feta: thinner accent
+*******
+dec 12
pl 37
- --postscript
- don't crash non-fitting grouping (thx, John)
Features you cannot find in the doco as working, should be mentioned here.
-
+
This is an assorted collection of stuff that will be done, might be
done, or is an idea that I want to think about
grep for TODO and ugh/ugr
0.2:
+ * -M bug
+
* unended beam: [c4
+ * continued hairpins
+
+ * height of dyns.
+
* output naming:
- default to basename[-serialnumber].{midi,tex}
TOPLEVEL_MAJOR_VERSION = 0
TOPLEVEL_MINOR_VERSION = 1
-TOPLEVEL_PATCH_LEVEL = 37
-TOPLEVEL_MY_PATCH_LEVEL = jcn3
+TOPLEVEL_PATCH_LEVEL = 38
+TOPLEVEL_MY_PATCH_LEVEL =
# use the above to send patches, always empty for released version:
# please don't move these comments up; the patch should fail if
% Creator: mf-to-table.py version 0.4
-% Automatically generated on Wed Dec 24 11:21:35 1997
+% Automatically generated on Wed Dec 24 16:38:34 1997
% Do not edit
% input from out/feta16.log
% name=\symboltables {
"trill" "\\trill" -0.00\pt 8.00\pt -0.00\pt 9.00\pt
"pedalheel" "\\pedalheel" -2.00\pt 2.00\pt -2.00\pt 2.67\pt
"pedaltoe" "\\pedaltoe" -2.00\pt 2.00\pt -0.00\pt 6.00\pt
- "flageolet" "\\flageolet" 2.13\pt 2.13\pt 2.13\pt 2.13\pt
+ "flageolet" "\\flageolet" -2.13\pt 2.13\pt -2.13\pt 2.13\pt
}
"flags" = \table {
"u3" "\\eighthflag" -0.20\pt 4.94\pt -12.26\pt 0.20\pt
% Creator: mf-to-table.py version 0.4
-% Automatically generated on Wed Dec 24 11:21:40 1997
+% Automatically generated on Wed Dec 24 16:38:42 1997
% Do not edit
% input from out/feta20.log
% name=\symboltables {
"trill" "\\trill" -0.00\pt 10.00\pt -0.00\pt 11.25\pt
"pedalheel" "\\pedalheel" -2.50\pt 2.50\pt -2.50\pt 3.33\pt
"pedaltoe" "\\pedaltoe" -2.50\pt 2.50\pt -0.00\pt 7.50\pt
- "flageolet" "\\flageolet" 2.67\pt 2.67\pt 2.67\pt 2.67\pt
+ "flageolet" "\\flageolet" -2.67\pt 2.67\pt -2.67\pt 2.67\pt
}
"flags" = \table {
"u3" "\\eighthflag" -0.25\pt 6.17\pt -15.33\pt 0.25\pt
"finger" "\setfinger{%}" 0.0\pt 0.0\pt 0.0\pt 4.0\pt
}
"dynamics" = \table {
-
"mf" "\dynmf"
"fff" "\dynfff"
"ff" "\dynff"
"fp" "\dynfp"
"sf" "\dynsf"
"sfz" "\dynsfz"
-
}
"align" = \table {
"-1" "\leftalign{%}"
"stem" "\stem{%}{%}"
"fill" "\hbox{}"
% ugh. 8pt
- "crescendosym" "\crescendosym{%}" 0.0\pt 0.0\pt -3.0\pt 3.0\pt
+ "crescendosym" "\crescendosym{%}" 0.0\pt 0.0\pt -2.0\pt 2.0\pt
"decrescendosym" "\decrescendosym{%}" 0.0\pt 0.0\pt -3.0\pt 3.0\pt
}
\header{
filename = "beams.ly";
-title = "";
-description = "";
composer = "heu";
enteredby = "jcn";
copyright = "PD";
TestedFeatures = "beams and beamflags";
}
-\version "0.1.7"
+\version "0.1.7";
\score{
\melodic \multi 3 <
a\fp a4.\sf a4.\sfz | % a\fz a\rf
[c8 c] [a' a']
[c a'] [a' c] |
- [c d e f] [as' ges' f' e']
- [cis' dis' c' des'] [cisis' disis' ceses' deses'] |
+ [c \< d e f] [as' ges' f' e']
+ [cis' dis' c' des'] [cisis' disis' \! ceses' deses'] |
\clef "bass";
r1 r2 r4 r8 r16 r32 r64 r128 r128 |
\multi 2 < { \stemup r2 r2} {\stemdown c c }>
\textstyle "finger";
c4^"1" d^"2" e^"3" f^"4" g^"5"
- % Music for the Martians?
+ % Music to the Martians!
< bes4^"6" e_"7" c_"8" >
a^"0"_"9"
[:16 e1 g]
%}
\meter 1/2; a2 |
- \meter 3/2; a1. |
+ \meter 3/2; < a1.
+ { s4 \ppp \< s4 \! s4 \fff s4 \> s4 \! s4\ppp} >
+ |
\meter 2/4; a2 |
\meter 5/4; a1.. |
\meter 6/8; a2. |
MAJOR_VERSION = 0
MINOR_VERSION = 1
-PATCH_LEVEL = 37
+PATCH_LEVEL = 38
MY_PATCH_LEVEL =
if (y < MINIMUM_STEMLEN)
dy = dy >? (MINIMUM_STEMLEN - y);
}
- } while (abs (dy) > EPSILON)
+ } while (abs (dy) > EPSILON);
}
void
Dynamic_engraver::do_pre_move_processing()
{
Staff_symbol* s_l = get_staff_info().staff_sym_l_;
- if (dynamic_p_)
- {
-
- dynamic_p_->add_support (s_l);
- typeset_element (dynamic_p_);
- dynamic_p_ = 0;
- }
if (to_end_cresc_p_)
{
if (dynamic_p_)
typeset_element (to_end_cresc_p_);
to_end_cresc_p_ = 0;
}
+ if (dynamic_p_)
+ {
+
+ dynamic_p_->add_support (s_l);
+ typeset_element (dynamic_p_);
+ dynamic_p_ = 0;
+ }
}
VIRTUAL_COPY_CONS(Midi_def, Music_output_def);
DECLARE_MY_RUNTIME_TYPEINFO;
- /// duration of whole note
- Real whole_seconds_f_;
+ /// duration of whole note measured in seconds.
+ Moment whole_in_seconds_mom_;
Midi_def();
- Midi_def (Midi_def const& midi_c_r);
~Midi_def();
Real duration_to_seconds_f (Moment);
*/
class Staff_side : virtual Score_elem {
Link_array<Score_elem> support_l_arr_;
- int staff_size_i_;
+
Interval support_height() const;
- Staff_symbol* staff_sym_l_;
Real get_position_f() const;
- void read_staff_sym();
public:
/**
}
ret.dim_.x() = Interval (0,wid);
+ // ret.translate_axis (-ret.dim_[Y_AXIS][DOWN], Y_AXIS);
return ret;
}
set_tempo (Moment (1, 4), 60);
}
-Midi_def::Midi_def (Midi_def const& s)
- : Music_output_def (s)
-{
- whole_seconds_f_ = s.whole_seconds_f_;
- outfile_str_ = s.outfile_str_;
-}
-
Midi_def::~Midi_def()
{
}
Midi_def::duration_to_seconds_f (Moment mom)
{
if (!mom)
- return 0;
+ return 0;
- return Moment (whole_seconds_f_) * mom;
+ return Moment (whole_in_seconds_mom_) * mom;
}
-
int
-Midi_def::get_tempo_i (Moment moment)
+Midi_def::get_tempo_i (Moment one_beat_mom)
+{
+ Moment wholes_per_min = Moment(60) /Moment(whole_in_seconds_mom_);
+ int beats_per_min = wholes_per_min / one_beat_mom;
+ return int (beats_per_min);
+}
+
+void
+Midi_def::set_tempo (Moment one_beat_mom, int beats_per_minute_i)
{
- return Moment (whole_seconds_f_) * Moment (60) * moment;
+ Moment beats_per_second = Moment (beats_per_minute_i) / Moment (60);
+ whole_in_seconds_mom_ = 1/(beats_per_second * one_beat_mom);
}
void
{
#ifndef NPRINT
DOUT << "Midi {";
- DOUT << "4/min: " << Real (60) / (whole_seconds_f_ * 4);
+ DOUT << "4/min: " << Real (60) / (whole_in_seconds_mom_ * 4);
DOUT << "out: " << outfile_str_;
DOUT << "}\n";
#endif
}
-void
-Midi_def::set_tempo (Moment moment, int count_per_minute_i)
-{
- whole_seconds_f_ = Moment (count_per_minute_i) / Moment (60) / moment;
-}
-
-IMPLEMENT_IS_TYPE_B1( Midi_def, Music_output_def);
+IMPLEMENT_IS_TYPE_B1(Midi_def, Music_output_def);
Staff_side::Staff_side()
{
- y_=0;
+ y_=0;
sym_int_ = Interval (0,0);
dir_ = CENTER;
inside_staff_b_ = false;
if (!dir_)
{
warning (_("Staff_side::get_position_i(): "
- "somebody forgot to set my vertical direction, returning -20"));
+ "somebody forgot to set my vertical direction, returning -20"));
return -20;
}
Begin3
Titel: LilyPond
-Versie: 0.1.37
-Inschrijf datum: 12DEC97
+Versie: 0.1.38
+Inschrijf datum: 24DEC97
Beschrijving: LilyPond is de muziek typesetter van het GNU Project.
Het programma genereert muziek in zichtbare of
hoorbare vorm uit uit een muzikale definitie file:
jan@digicash.com (Jan Nieuwenhuizen)
Onderhouden door: hanwen@stack.nl (Han-Wen Nienhuys)
Voornaamste plek: sunsite.unc.edu /pub/Linux/apps
- 395k lilypond-0.1.37.tar.gz
+ 395k lilypond-0.1.38.tar.gz
Oorspronkelijke plek: pcnov095.win.tue.nl /pub/lilypond/
- 395k lilypond-0.1.37.tar.gz
+ 395k lilypond-0.1.38.tar.gz
Copi"eer politie: GPL
End
Begin3
Title: LilyPond
-Version: 0.1.37
-Entered-date: 12DEC97
+Version: 0.1.38
+Entered-date: 24DEC97
Description: LilyPond is the GNU Project music typesetter. The program
generates visual or auditive output from a music
definition file: it can typeset formatted sheet music
jan@digicash.com (Jan Nieuwenhuizen)
Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
- 460k lilypond-0.1.37.tar.gz
+ 460k lilypond-0.1.38.tar.gz
Original-site: pcnov095.win.tue.nl /pub/lilypond/development/
- 460k lilypond-0.1.37.tar.gz
+ 460k lilypond-0.1.38.tar.gz
Copying-policy: GPL
End
Name: lilypond
-Version: 0.1.37
+Version: 0.1.38
Release: 1
Copyright: GPL
Group: Applications/Publishing
-Source0: alpha.gnu.org:/gnu/lilypond/development/lilypond-0.1.37.tar.gz
+Source0: alpha.gnu.org:/gnu/lilypond/development/lilypond-0.1.38.tar.gz
Summary: A program for typesetting music.
URL: http://www.stack.nl/~hanwen/lilypond
Packager: Han-Wen Nienhuys <hanwen@stack.nl>
make prefix="$RPM_BUILD_ROOT/usr" install
%files
%doc Documentation/out/AUTHORS.text Documentation/out/CodingStyle.text Documentation/out/INSTALL.text Documentation/out/MANIFESTO.text Documentation/out/convert-mudela.text Documentation/out/faq.text Documentation/out/gnu-music.text Documentation/out/index.text Documentation/out/internals.text Documentation/out/language.text Documentation/out/lilypond.text Documentation/out/links.text Documentation/out/literature.text Documentation/out/mi2mu.text Documentation/out/mudela-book.text Documentation/out/mutopia.text Documentation/out/other-packages.text BUGS TODO NEWS DEDICATION ANNOUNCE README
-%doc input/beams.ly input/cadenza.ly input/collisions.ly input/coriolan-alto.ly input/font.ly input/font20.ly input/gallina.ly input/gallina.tex input/gourlay.ly input/keys.ly input/kortjakje.ly input/multi.ly input/pedal.ly input/rhythm.ly input/scales.ly input/scripts.ly input/scsii-menuetto.ly input/scsii-menuetto.tex input/sleur.ly input/slurs.ly input/standchen-16.ly input/standchen-16.tex input/standchen-20.ly input/standchen-20.tex input/standchen.ly input/toccata-fuga-E.ly input/twinkle-pop.ly input/twinkle.ly input/wtk1-fugue1.ly input/wtk1-fugue2.ly input/wtk1-prelude1.ly Documentation/mudela-course.doc Documentation/mudela-man.doc
+%doc input/beams.ly input/cadenza.ly input/collisions.ly input/coriolan-alto.ly input/font.ly input/font20.ly input/gallina.ly input/gallina.tex input/gourlay.ly input/keys.ly input/kortjakje.ly input/multi.ly input/pedal.ly input/rhythm.ly input/scales.ly input/scripts.ly input/scsii-menuetto.ly input/scsii-menuetto.tex input/sleur.ly input/slurs.ly input/standchen-16.ly input/standchen-16.tex input/standchen-20.ly input/standchen-20.tex input/standchen.ly input/stem.ly input/toccata-fuga-E.ly input/twinkle-pop.ly input/twinkle.ly input/wtk1-fugue1.ly input/wtk1-fugue2.ly input/wtk1-prelude1.ly Documentation/mudela-course.doc Documentation/mudela-man.doc
%doc Documentation/out/lelie_logo.gif
/usr/bin/convert-mudela
/usr/bin/mudela-book
- lo-res fixes.
- work out sizes of character fonts.
- more symbols
- * some scripts: flageolet
* piano pedals,
* trills
* maxima notehead
penpos7(thickness, 135);
penpos8(1.5 thinnib, - 70 + angle downstroke_dir);
- penpos9(1.5 thickness, -80);
+ penpos9(1.4 thickness, -80); % ugh
penpos10(whatever, downstroke_angle + 10);
penpos11(thinnib, downstroke_angle + 90);
penpos12(thinnib, -90);
filldraw z2l{right} .. z3l.. z4l{left} .. z5l{up} .. z7l{up}
%.. z8l
+ .. tension 1.2
.. z9l & z9l ..
{downstroke_dir}z10l --- z11l -- z11r --- z10r{- downstroke_dir}
.. tension .8
- .. z9r & z9r
+ .. z9r & z9r{dir (downstroke_angle+ 40)} % ugh
%.. z8r
.. z7r{down} .. z5r{down} .. z4r{right}
.. z3r .. z2r{left} ..
z3=(w,thick)+(1/2sqrt(2)*hair)*dir(-135);
penpos2(thick,90+alpha);
x2-x1=x3-x2; y2=11/16thick/widen;
- penlabels(1,2,3);
fill z1r{dir(beta)}..{dir(alpha)}z2r..{dir(gamma)}z3r
..z3l{dir(180+gamma)}..{dir(180+alpha)}z2l
..{dir(180+beta)}z1l..cycle;
z4r=(w-thin/2,.72h);
penpos5(thin,90);
z5r=(1/2hair+flare,h);
+ penlabels(1,2,3,4);
penlabels(5,6);
save t; t=tense;
fill z1l{dir(beta)}..tension t..z4r{up}
size:=10;
-input feta-nummer-generic.mf
+input feta-nummer-generic;
end.
fet_beginchar("Flageolet", "flageolet", "flageolet")
save height,width,thickness;
- height#=4/15staffsize#/2;
+ height#=4/15 staffsize#;
width#=height#;
thickness#=blot_diameter#;
define_pixels(height,width,thickness);
- set_char_box(-width#,width#,-height#,height#);
+ set_char_box(width#/2,width#/2,height#/2,height#/2);
pickup pencircle scaled thickness;
- x1=0; top y1=height;
- lft x2=-width; y2=0;
- x3=x1; y3=-y1;
- x4=-x2; y4=y2;
+ x1= .5 [x2, x4];
+ x1 = 0;
+ top y1=height/2;
+ rt x4 - lft x2 =width;
+ y2 = 0;
+ y4=y2;
+ x3=x1;
+ bot y3=-height/2;
+
penlabels(1,2,3,4);
draw z1..z2..z3..z4..cycle;
fet_endchar;
% Creator: mf-to-table.py version 0.4
-% Automatically generated on Wed Dec 24 11:21:35 1997
+% Automatically generated on Wed Dec 24 16:38:34 1997
% Do not edit
% input from out/feta16.log
% name
% Creator: mf-to-table.py version 0.4
-% Automatically generated on Wed Dec 24 11:21:40 1997
+% Automatically generated on Wed Dec 24 16:38:42 1997
% Do not edit
% input from out/feta20.log
% name