@item @uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/binaries/RedHat/RPMS/, Red Hat i386}
@item @uref{ftp://ftp.lilypond.org/pub/LilyPond/binaries/linuxppc/, LinuxPPC}
@item @uref{ftp://ftp.debian.org/debian/pool/main/l/lilypond/, Debian GNU/Linux}
-@item @uref{http://home.austin.rr.com/jbr/jeff/lilypond/, Windows Stable}
+@item
+@c @uref{http://home.austin.rr.com/jbr/jeff/lilypond/, Windows Stable}
@c @item @uref{ftp://ftp.lilypond.org/pub/lilypond/gnu-windows, Windows
@c Testing}
@uref{http://www.lilypond.org/gnu-windows/, Windows Testing}
@uref{ftp://ftp.xcf.berkeley.edu/pub/xdelta/, xdelta}.
This is much safer than using patches, and is the recommended way.
-The following command produces @file{lilypond-1.4.1.tar.gz} from
-@file{lilypond-1.4.0.tar.gz} identical (up to compression dates) to the .1
+The following command produces @file{lilypond-1.4.3.tar.gz} from
+@file{lilypond-1.4.2.tar.gz} identical (up to compression dates) to the .3
on the FTP site.
@example
- xdelta patch lilypond-1.4.0-1.4.1.xd lilypond-1.4.0.tar.gz
+ xdelta patch lilypond-1.4.2-1.4.3.xd lilypond-1.4.2.tar.gz
@end example
@end itemize
@command{apt-get} as root:
@example
- apt-get install lilypond
+ apt-get install lilypond lilypond-doc
@end example
@itemize @bullet
@item @uref{http://packages.debian.org/lilypond,http://packages.debian.org/lilypond}
@item @uref{http://people.debian.org/~foka/lilypond/,http://people.debian.org/~foka/lilypond/}
-for latest semi-unofficial build of LilyPond 1.3.121 for Debian 2.2 (potato) users.
+for latest semi-unofficial build of LilyPond 1.4.2 for Debian 2.2 (potato) users.
The official stable Debian 2.2 is stuck with the old LilyPond-1.3.24.
Since LilyPond-1.4 has been released, the older lilypond1.3 Debian
package is now obsolete.
$ su - root
# dpkg --purge lilypond lilypond1.3
# exit
- $ tar xzf lilypond-1.4.1.tar.gz
- $ cd lilypond-1.4.1
- $ dch -p -v 1.4.1-0.local.1 "Local build."
- $ debuild
+ $ tar xzf lilypond-1.4.3.tar.gz
+ $ cd lilypond-1.4.3
+ $ dch -p -v 1.4.3-0.local.1 "Local build."
+ $ debuild -B
$ su - root
- # dpkg -i ../lilypond_1.4.1*.deb
+ # dpkg -i ../lilypond_1.4.3*.deb
# exit
$
@end example
+Use command @command{debuild} instead of @command{debuild -B} if you have
+a very fast machine and want to build the HTML, PS and DVI documentation
+too.
+
For compilation on a Debian GNU/Linux system you need these packages,
in addition to the those needed for running:
\version "1.3.146"
\header {
-texidoc = " Ez-notation prints names in note heads."
+texidoc = " Ez-notation prints names in note heads.
+You also get ledger lines, of course."
}
\include "paper26.ly"
\paper { \paperTwentysix }
\score {
- \notes { c'2 e'4 f' | g'1 }
+ \notes { c'2 e'4 f' | g'1 b8 }
\paper { \translator { \EasyNotation } }
}
{
public:
DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
+ static Molecule ledger_lines (Grob*,int,Direction,Interval);
static Molecule ledger_line (Interval, Grob*) ;
DECLARE_SCHEME_CALLBACK (brew_ez_molecule, (SCM ));
static bool has_interface (Grob*);
}
+Molecule
+Note_head::ledger_lines (Grob*me, int count, Direction dir, Interval idw)
+{
+ Real inter_f = Staff_symbol_referencer::staff_space (me)/2;
+ Molecule ledger (ledger_line (idw, me));
+
+ ledger.set_empty (true);
+ Real offs = (Staff_symbol_referencer::on_staffline (me))
+ ? 0.0
+ : -dir * inter_f;
+
+ Molecule legs;
+ for (int i=0; i < count; i++)
+ {
+ Molecule s (ledger);
+ s.translate_axis (-dir * inter_f * i*2 + offs,
+ Y_AXIS);
+ legs.add_molecule (s);
+ }
+
+ return legs;
+}
+
MAKE_SCHEME_CALLBACK (Note_head,brew_molecule,1);
SCM
{
Grob *me = unsmob_grob (smob);
-
- Real inter_f = Staff_symbol_referencer::staff_space (me)/2;
int sz = Staff_symbol_referencer::line_count (me)-1;
int p = (int) rint (Staff_symbol_referencer::position_f (me));
int streepjes_i = abs (p) < sz
Direction dir = (Direction)sign (p);
Interval hd = out.extent (X_AXIS);
Real hw = hd.length ()/4;
- Molecule ledger (ledger_line (Interval (hd[LEFT] - hw,
- hd[RIGHT] + hw), me));
-
-
- ledger.set_empty (true);
- Real offs = (Staff_symbol_referencer::on_staffline (me))
- ? 0.0
- : -dir * inter_f;
-
- for (int i=0; i < streepjes_i; i++)
- {
- Molecule s (ledger);
- s.translate_axis (-dir * inter_f * i*2 + offs,
- Y_AXIS);
- out.add_molecule (s);
- }
+ out.add_molecule (ledger_lines (me, streepjes_i, dir,
+ Interval (hd[LEFT] - hw,
+ hd[RIGHT] + hw)));
}
+
return out.smobbed_copy ();
}
SCM_UNDEFINED);
Box bx (Interval (0, 1.0), Interval (-0.5, 0.5));
Molecule m (bx, at);
+ int p = (int) rint (Staff_symbol_referencer::position_f (me));
+ int sz = Staff_symbol_referencer::line_count (me)-1;
+ int streepjes_i = abs (p) < sz
+ ? 0
+ : (abs (p) - sz) /2;
+
+ if (streepjes_i)
+ {
+ Direction dir = (Direction)sign (p);
+ Interval hd = m.extent (X_AXIS);
+ Real hw = hd.length ()/4;
+ m.add_molecule (ledger_lines (me, streepjes_i, dir,
+ Interval (hd[LEFT] - hw,
+ hd[RIGHT] + hw)));
+ }
+
return m.smobbed_copy ();
}