* Debian lmodern support.
* scm/framework-tex.scm (font-load-command): TeX font name
mangling for latin1 encoded cork-lm fonts.
(convert-to-ps): Load lm.map if available.
* ly/paper-defaults.ly: Use cork-lm encoding if ec is not
available.
* scm/encoding.scm (coding-alist): Add cork-lm encoding.
* scm/font.scm: Add header. Autoload cork-lm and ec fonts if
available.
* lily/kpath.cc (ly_kpathsea_find_file): Rename. Do not use
path for absolute file name, that is silly.
* lily/score-engraver.cc (initialize):
-2004-11-18 Heikki Junes <hjunes@cc.hut.fi>
+2004-11-18 Jan Nieuwenhuizen <janneke@gnu.org>
- * input/test/script-abbreviations.ly: fix typos.
+ * Debian lmodern support. Note that LilyPond will issue warnings
+
+ no such encoding: "FontSpecific"
-2004-11-18 Jan Nieuwenhuizen <janneke@gnu.org>
+ The font selection mechanism wants to get the encoding from the
+ font itself, but the whole idea of lmodern is that it is usable
+ with different encodings, ie, Lily should get the encoding from
+ the font tree, rather than the font itself. This would require
+ some major brain surgery.
+
+ * configure.in: Test for and accept lmodern if EC fonts not found.
+
+ * Debian lmodern support.
+ * scm/framework-tex.scm (font-load-command): TeX font name
+ mangling for latin1 encoded cork-lm fonts.
+ (convert-to-ps): Load lm.map if available.
+
+ * ly/paper-defaults.ly: Use cork-lm encoding if ec is not
+ available.
+
+ * scm/encoding.scm (coding-alist): Add cork-lm encoding.
+
+ * scm/font.scm: Add header. Autoload cork-lm and ec fonts if
+ available.
+
+ * lily/kpath.cc (ly_kpathsea_find_file): Rename. Do not use
+ path for absolute file name, that is silly.
+
+ * lily/score-engraver.cc (initialize):
* Documentation/user/GNUmakefile (local-install-info): Invoke
install-info --remove first.
+ * #include cleanup (Andreas Scherer).
+
+2004-11-18 Heikki Junes <hjunes@cc.hut.fi>
+
+ * input/test/script-abbreviations.ly: fix typos.
+
2004-11-17 Werner Lemberg <wl@gnu.org>
* python/lilylib.py (options_help_str): Support pretty-printing of
CONTRIBUTORS
-Andreas Scherer
Carl Sorensen
-
-BUG HUNTERS/SUGGESTIONS
-
-
-Release 2.5
-***********
-
-
-DEVELOPMENT TEAM
-
-Han-Wen Nienhuys - Core development
-Jan Nieuwenhuizen - Core development
-Erik Sandberg - Bug Meister
-Pedro Kroger - Build Meister
-Graham Percival - Documentation Editor
-
-CONTRIBUTORS
-
-Werner Lemberg
Heikki Junes
+Werner Lemberg
BUG HUNTERS/SUGGESTIONS
+Andreas Scherer
Fernando Pablo Lopez-Lezcano
Jack O'Quin
Karl Hammar
AC_MSG_RESULT([$ecb10])
else
AC_MSG_RESULT(no)
- STEPMAKE_ADD_ENTRY(REQUIRED, 'package ec-fonts-mftraced >= 1.0.5')
- AC_MSG_CHECKING([for old version of ec-fonts-mftraced])
- ecrm10=`kpsewhich ecrm10.pfa 2>/dev/null`
- if test -n "$ecrm10"; then
- AC_MSG_RESULT([$ecrm10])
- AC_MSG_WARN([old version of ec-fonts-mftraced found, install 1.0.5 or newer])
+ AC_MSG_CHECKING([for lmodern])
+ lmr10=`kpsewhich lmr10.pfb 2>/dev/null`
+ if test -n "$lmr10"; then
+ AC_MSG_RESULT([$lmr10])
+ else
+ STEPMAKE_ADD_ENTRY(REQUIRED, 'package ec-fonts-mftraced >= 1.0.5')
+ AC_MSG_CHECKING([for old version of ec-fonts-mftraced])
+ ecrm10=`kpsewhich ecrm10.pfa 2>/dev/null`
+ if test -n "$ecrm10"; then
+ AC_MSG_RESULT([$ecrm10])
+ AC_MSG_WARN([old version of ec-fonts-mftraced found, install 1.0.5 or newer])
+ fi
fi
fi
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <assert.h>
#include "axes.hh"
+
#include "string.hh"
String
{
return to_string (char (a + 'x'));
}
-
*/
#include "cpu-timer.hh"
+
#include <unistd.h>
// nextstep
#ifndef CLOCKS_PER_SEC
#endif
#endif
-
Cpu_timer::Cpu_timer ()
{
restart ();
*/
#include "direction.hh"
+
#include "string.hh"
String
Jan Nieuwenhuizen <janneke@gnu.org>
*/
-#include <stdio.h>
-#include <errno.h>
-#include <limits.h>
+#include "file-name.hh"
+
+#include <cstdio>
+#include <cerrno>
#include "config.hh"
#include <sys/cygwin.h>
#endif
-#include "file-name.hh"
-
/* We don't have multiple roots, set this to '\0'? */
#ifndef ROOTSEP
#define ROOTSEP ':'
Jan Nieuwenhuizen <janneke@gnu.org>
*/
-#include <stdio.h>
-#include <errno.h>
-#include <limits.h>
+#include "file-path.hh"
+
+#include <cstdio>
+#include <cerrno>
#include "config.hh"
#if HAVE_SYS_STAT_H
#endif
#include "file-name.hh"
-#include "file-path.hh"
#ifndef PATHSEP
#define PATHSEP ':'
this is Copyleft (c) 1996--2004 Han-Wen Nienhuys, <hanwen@cs.uu.nl>
*/
-#include <string.h>
-#include <stdio.h>
-#include <assert.h>
-#include <stdlib.h>
+#include "getopt-long.hh"
+
+#include <cstring>
+#include <cassert>
+#include <cstdlib>
#include <iostream>
#include "config.hh"
-#include "getopt-long.hh"
-#include "international.hh"
#include "string-convert.hh"
-
#if !HAVE_GETTEXT
inline char*
gettext (char const* s)
#ifndef ARRAY_H
#define ARRAY_H
-#include <assert.h>
+#include <cassert>
#ifndef INLINE
#define INLINE inline
#ifndef AXES_HH
#define AXES_HH
-#include <assert.h>
+#include <cassert>
enum Axis {
X_AXIS =0,
#define CONS_HH
-#include <assert.h>
+#include <cassert>
template<class T>
class Cons
#ifndef CPU_TIMER_HH
#define CPU_TIMER_HH
-#include <time.h>
+#include <ctime>
+
#include "real.hh"
class Cpu_timer {
#include "direction.hh"
#include "real.hh"
-#include <assert.h>
-
/**
Left/right or Up/down arrays. Drul is nicer sounding than udlr
*/
#include "real.hh"
typedef Interval_t<Real> Interval;
-typedef Interval_t<int> Slice; // junkme.
struct Offset;
struct Long_option_init;
#ifndef GETOPT_LONG_HH
#define GETOPT_LONG_HH
+#include <cstdio>
#include "string.hh"
#ifndef INTERNATIONAL_HH
#define INTERNATIONAL_HH
-#include "string.hh"
/**
Internationalisation: _i ("to be translated") gets an entry in the POT file
#ifndef INTERVAL_HH
#define INTERVAL_HH
-#include <assert.h>
#include "flower-proto.hh"
-#include "real.hh"
#include "drul-array.hh"
/* A T interval. This represents the closed interval [left,right].
#ifndef INTERVAL_TCC
#define INTERVAL_TCC
-#include <assert.h>
-#include <math.h>
+#include <cassert>
+#include <cmath>
+
#include "interval.hh"
#include "string.hh"
#define LIBC_EXTENSION_HH
#include <cstddef>
-#include <stdarg.h>
+#include <cstdarg>
#include "config.hh"
#include "flower-proto.hh"
#ifndef OFFSET_HH
#define OFFSET_HH
-#include "flower-proto.hh"
-#include "real.hh"
#include "axes.hh"
-#include "arithmetic-operator.hh"
#include "string.hh"
Offset complex_multiply (Offset, Offset);
* - fixed typos
*/
-#include <stdio.h>
+#include <cstdio>
/* your basic constants */
#ifndef RATIONAL_HH
#define RATIONAL_HH
-#include "compare.hh"
-#include "arithmetic-operator.hh"
-#include "flower-proto.hh"
#include "string.hh"
-
/**
Rational numbers. Included is support for + and - infinity.
*/
#define REAL_HH
-#include <limits.h>
+#include <climits>
typedef double Real;
extern const Real infinity_f;
#ifndef STRING_CONVERT_HH
#define STRING_CONVERT_HH
-#include <stdarg.h>
-#include "flower-proto.hh"
+#include <cstdarg>
+
#include "string.hh"
#ifndef STRINGDATA_HH
#define STRINGDATA_HH
+#include "flower-proto.hh"
/**Internal String struct.
the data itself. Handles simple tasks (resizing, resetting)
#ifndef STRINGDATA_INL
#define STRINGDATA_INL
-#include <assert.h>
+#include <cassert>
+#include <cstring>
+
#include <memory.h>
-#include <string.h>
#include "string-data.hh"
const int INITIALMAX=8;
#ifndef STRINGHANDLE_INL
#define STRINGHANDLE_INL
-#include <assert.h>
+#include <cassert>
+
#include <memory.h>
#include "string-data.hh"
// too darn slow with gcc3
#ifdef STREAM_SUPPORT
#if ( __GNUC__ > 2 )
-#include <iostream.h>
+#include <iostream>
#else
class ostream;
#endif
#endif
#include "arithmetic-operator.hh"
-#include "flower-proto.hh"
#include "string-handle.hh"
/**
*/
-#include <stdarg.h>
-
#include "config.hh"
#include "string-convert.hh"
-#include "international.hh"
#if !HAVE_GETTEXT
inline char*
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-
#include "interval.hh"
-#include "real.hh"
+
#include "interval.tcc"
Real
Jan Nieuwenhuizen <janneke@gnu.org>
*/
-#include <math.h>
-
-#include <stdio.h>
-#include <string.h>
-#include <ctype.h>
#include "libc-extension.hh"
+#include <cmath>
+#include <cstdio>
+#include <cstring>
+#include <cctype>
+
char*
strnlwr (char* start ,int n)
{
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <math.h>
-#ifndef STANDALONE
-#include "string.hh"
-#endif
#include "offset.hh"
+#include <cmath>
#ifndef STANDALONE
String
* - changed (width == 250) to (width = 250) in initializeArray
*/
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <sys/file.h>
-#include <math.h>
-#include <string.h>
#include "parse-afm.hh"
+
+#include <cstdlib>
+#include <cerrno>
+#include <cmath>
+#include <cstring>
+
+#include <sys/file.h>
+
#include "warn.hh"
#define METATYPE1_BUG /* Parse Metatype1's (version unknown)
(c) 1993--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <math.h>
-
#include "polynomial.hh"
+#include <cmath>
+
/*
Een beter milieu begint bij uzelf. Hergebruik!
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <math.h>
-#include <stdlib.h>
+
#include "rational.hh"
-#include "string.hh"
+
+#include <cmath>
+#include <cstdlib>
+
#include "string-convert.hh"
#include "libc-extension.hh"
-#include <math.h>
#include "real.hh"
+#include <cmath>
+
const Real infinity_f = HUGE_VAL;
-#include <typeinfo>
-#include <ctype.h>
-#include "virtual-methods.hh"
+#include <cctype>
+#include "virtual-methods.hh"
const char *
demangle_classname (std::type_info const &t)
--*/
-#include <string.h>
-#include <stdio.h>
-#include <assert.h>
-#include <limits.h>
-#include "libc-extension.hh"
-#include "string.hh"
#include "string-convert.hh"
+
+#include <cstring>
+#include <cstdio>
+
+#include "libc-extension.hh"
#include "rational.hh"
#include "array.hh"
#define _GNU_SOURCE
#endif
-#include <stdlib.h>
-#include <stdio.h>
-#include <assert.h>
-#include <string.h>
-#include <stdarg.h>
+#include "string.hh"
+
+#include <cstdlib>
+#include <cstdio>
+#include <cassert>
+#include <cstring>
#include <iostream>
-#include "string.hh"
#include "libc-extension.hh"
#include "string-convert.hh"
#define INLINE
-#include "string-handle.hh"
#include "string-data.hh"
#include "string.hh"
+
#include "string-data.icc"
#include "string-handle.icc"
#include "string.icc"
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <stdlib.h>
-#include <stdio.h>
-
#include "warn.hh"
+#include <cstdlib>
+#include <cstdio>
+
void
message (String s)
{
#include "arpeggio.hh"
#include "context.hh"
#include "engraver.hh"
-#include "event.hh"
-#include "item.hh"
#include "protected-scm.hh"
#include "rhythmic-head.hh"
#include "side-position-interface.hh"
-#include "spanner.hh"
#include "tie.hh"
#include "warn.hh"
-
class Accidental_entry
{
public:
*/
-#include <math.h>
+#include "accidental-placement.hh"
+
+#include <cmath>
#include "libc-extension.hh" // isinf
-#include "item.hh"
#include "skyline.hh"
#include "music.hh"
#include "pitch.hh"
#include "warn.hh"
-#include "accidental-placement.hh"
#include "note-column.hh"
#include "group-interface.hh"
#include "note-collision.hh"
*/
-#include <string.h>
+#include "afm.hh"
+
+#include <cstring>
#include "warn.hh"
#include "libc-extension.hh"
-#include "afm.hh"
#include "dimensions.hh"
Adobe_font_metric::Adobe_font_metric (AFM_Font_info *fi)
*/
#include "align-interface.hh"
-#include "grob.hh"
-#include "group-interface.hh"
+
#include "axis-group-interface.hh"
#include "hara-kiri-group-spanner.hh"
#include "output-def.hh"
*/
+#include "all-font-metrics.hh"
+
#include "config.hh"
#include "main.hh"
-#include "all-font-metrics.hh"
#include "warn.hh"
#include "afm.hh"
#include "tfm.hh"
-#include "lily-guile.hh"
#include "scm-hash.hh"
#include "kpath.hh"
*/
#include "engraver.hh"
-#include "item.hh"
#include "note-head.hh"
-#include "event.hh"
-#include "pitch.hh"
#include "pitch-interval.hh"
#include "protected-scm.hh"
#include "staff-symbol-referencer.hh"
(c) 2002--2004 Juergen Reuter <reuter@ipd.uka.de>
*/
+#include "ambitus.hh"
+
#include "staff-symbol-referencer.hh"
#include "pitch.hh"
-#include "ambitus.hh"
-#include "stencil.hh"
#include "note-head.hh"
#include "item.hh"
#include "font-interface.hh"
#include "engraver.hh"
#include "group-interface.hh"
-#include "item.hh"
-#include "event.hh"
#include "arpeggio.hh"
#include "stem.hh"
#include "rhythmic-head.hh"
(c) 2000--2004 Jan Nieuwenhuizen <janneke@gnu.org>
*/
-#include "stencil.hh"
-#include "output-def.hh"
#include "arpeggio.hh"
-#include "grob.hh"
+
+#include "output-def.hh"
#include "stem.hh"
#include "staff-symbol-referencer.hh"
#include "staff-symbol.hh"
*/
#include "audio-column.hh"
+
#include "audio-item.hh"
#include "performance.hh"
*/
#include "audio-element-info.hh"
+
#include "translator-group.hh"
#include "context.hh"
*/
#include "audio-item.hh"
+
#include "midi-item.hh"
#include "audio-column.hh"
*/
#include "audio-staff.hh"
-#include "audio-item.hh"
+
#include "midi-item.hh"
#include "midi-stream.hh"
#include "midi-walker.hh"
*/
+#include "engraver.hh"
#include "beaming.hh"
-#include "event.hh"
#include "beam.hh"
#include "stem.hh"
#include "warn.hh"
-#include "engraver-group-engraver.hh"
#include "bar-line.hh"
#include "rest.hh"
-#include "engraver.hh"
#include "item.hh"
#include "spanner.hh"
-#include "duration.hh"
#include "context.hh"
class Auto_beam_engraver : public Engraver
*/
-#include "music.hh"
#include "context.hh"
#include "event.hh"
#include "music-wrapper-iterator.hh"
#include "spanner.hh"
#include "paper-column.hh"
#include "axis-group-interface.hh"
-#include "engraver.hh"
#include "engraver-group-engraver.hh"
#include "warn.hh"
#include "context.hh"
(c) 2000--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include "hara-kiri-group-spanner.hh"
+
#include "axis-group-interface.hh"
-#include "grob.hh"
+
+#include "hara-kiri-group-spanner.hh"
void
Axis_group_interface::add_element (Grob*me,Grob *e)
#include "line-interface.hh"
#include "lookup.hh"
#include "font-interface.hh"
-#include "stencil.hh"
#include "lily-guile.hh"
#include "output-def.hh"
#include "misc.hh"
#include "bar-line.hh"
#include "score-engraver.hh"
-#include "event.hh"
-#include "engraver-group-engraver.hh"
#include "warn.hh"
#include "item.hh"
-#include "engraver.hh"
/*
generate bars. Either user ("|:"), or default (new measure)
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <math.h>
+#include "bar-line.hh"
+
+#include <cmath>
#include "lookup.hh"
#include "paper-column.hh"
-#include "grob.hh"
-#include "bar-line.hh"
-#include "string.hh"
-#include "stencil.hh"
#include "output-def.hh"
#include "font-interface.hh"
-
#include "all-font-metrics.hh"
-#include "item.hh"
#include "staff-symbol-referencer.hh"
MAKE_SCHEME_CALLBACK (Bar_line,print,1);
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-
-#include "lily-guile.hh"
#include "paper-column.hh"
#include "output-def.hh"
#include "side-position-interface.hh"
-#include "item.hh"
-#include "moment.hh"
#include "engraver.hh"
#include "context.hh"
/*
Determine whether a beam is concave.
*/
-#include <math.h>
+#include <cmath>
#include "group-interface.hh"
#include "array.hh"
-#include "grob.hh"
#include "stem.hh"
-#include "interval.hh"
#include "beam.hh"
#include "staff-symbol-referencer.hh"
*/
#include "engraver.hh"
-#include "event.hh"
#include "beam.hh"
#include "stem.hh"
#include "warn.hh"
*/
#include "performer.hh"
-#include "event.hh"
#include "audio-item.hh"
#include "audio-column.hh"
#include "global-context.hh"
-#include <math.h>
+#include <cmath>
#include "warn.hh"
-#include "grob.hh"
#include "staff-symbol-referencer.hh"
#include "beam.hh"
#include "stem.hh"
*/
-#include <math.h> // tanh.
+#include "beam.hh"
+
+#include <cmath> // tanh.
#include "interval-set.hh"
-#include "stencil.hh"
#include "directional-element-interface.hh"
#include "beaming.hh"
-#include "beam.hh"
#include "misc.hh"
#include "least-squares.hh"
#include "stem.hh"
(c) 1998--2004 Jan Nieuwenhuizen <janneke@gnu.org>
*/
-#include <math.h>
+#include <cmath>
#include "misc.hh"
#include "bezier.hh"
(c) 1998--2004 Jan Nieuwenhuizen <janneke@gnu.org>
*/
-#include <math.h>
+#include "bezier.hh"
+
+#include <cmath>
-#include "config.hh"
#include "warn.hh"
#include "libc-extension.hh"
-#include "bezier.hh"
-#include "polynomial.hh"
Real
binomial_coefficient (Real over , int under)
*/
-#include <limits.h> // INT_MAX
-#include <assert.h>
-
-#include "flower-proto.hh"
-#include "string.hh"
-#include "source-file.hh"
#include "binary-source-file.hh"
+
+#include <climits> // INT_MAX
+
#include "string-convert.hh"
Binary_source_file::Binary_source_file (String& file_name_string)
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <stdio.h>
+#include "book.hh"
+
+#include <cstdio>
#include "lilypond-key.hh"
-#include "book.hh"
#include "global-context.hh"
#include "ly-module.hh"
#include "main.hh"
*/
#include "box.hh"
+
#include "array.hh"
-#include "axes.hh"
void
Box::translate (Offset o)
(c) 1996--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include "paper-column.hh"
#include "break-algorithm.hh"
+
+#include "paper-column.hh"
#include "output-def.hh"
#include "system.hh"
#include "paper-score.hh"
#include "paper-column.hh"
#include "cpu-timer.hh"
-
#include "simple-spacer.hh"
#include "group-interface.hh"
#include "engraver.hh"
#include "protected-scm.hh"
#include "break-align-interface.hh"
-#include "item.hh"
#include "align-interface.hh"
#include "axis-group-interface.hh"
#include "context.hh"
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+#include "break-align-interface.hh"
+
+#include <cmath>
-#include <math.h>
#include <libc-extension.hh> // isinf
#include "self-alignment-interface.hh"
#include "side-position-interface.hh"
#include "axis-group-interface.hh"
#include "warn.hh"
-#include "lily-guile.hh"
-#include "break-align-interface.hh"
#include "dimensions.hh"
#include "output-def.hh"
#include "paper-column.hh"
-#include "group-interface.hh"
#include "align-interface.hh"
MAKE_SCHEME_CALLBACK (Break_align_interface,alignment_callback,2);
-#include <stdio.h>
-#include <stdlib.h>
+#include <cstdio>
+#include <cstdlib>
-#include "grob.hh"
#include "item.hh"
-#include "spanner.hh"
-#include "system.hh"
+#include "system.hh"
static SCM break_criterion;
void
#include "staff-symbol-referencer.hh"
#include "breathing-sign.hh"
-#include "event.hh"
-
#include "engraver-group-engraver.hh"
#include "item.hh"
-#include "engraver.hh"
class Breathing_sign_engraver : public Engraver {
Extensions for ancient notation (c) 2003 by Juergen Reuter
*/
+#include "breathing-sign.hh"
+
#include "staff-symbol-referencer.hh"
#include "directional-element-interface.hh"
-#include "breathing-sign.hh"
-#include "string.hh"
-#include "stencil.hh"
#include "output-def.hh"
#include "lookup.hh"
-
#include "dimensions.hh"
#include "direction.hh"
#include "text-item.hh"
*/
#include "change-iterator.hh"
+
#include "context.hh"
#include "music.hh"
#include "warn.hh"
#include "input.hh"
-
void
Change_iterator::error (String reason)
{
#include "engraver.hh"
#include "chord-name.hh"
-#include "event.hh"
#include "output-def.hh"
#include "font-interface.hh"
#include "output-def.hh"
#include "dimensions.hh"
#include "item.hh"
-#include "pitch.hh"
#include "protected-scm.hh"
#include "context.hh"
#include "warn.hh"
*/
#include "chord-name.hh"
-#include "stencil.hh"
+
#include "output-def.hh"
#include "font-interface.hh"
-#include "grob.hh"
#include "paper-column.hh"
#include "system.hh"
#include "staff-symbol-referencer.hh"
*/
-#include "engraver.hh"
#include "beam.hh"
#include "repeated-music.hh"
#include "stem.hh"
#include "rhythmic-head.hh"
#include "engraver-group-engraver.hh"
-#include "event.hh"
#include "warn.hh"
#include "misc.hh"
#include "note-head.hh"
subclassing proved to be too difficult.
*/
-#include "input.hh"
#include "chord-tremolo-iterator.hh"
+
+#include "input.hh"
#include "repeated-music.hh"
void
Mats Bengtsson <matsb@s3.kth.se>
*/
-#include <ctype.h>
+#include <cctype>
#include "context.hh"
#include "bar-line.hh"
#include "engraver.hh"
#include "direction.hh"
#include "side-position-interface.hh"
-#include "item.hh"
class Clef_engraver : public Engraver
{
*/
#include "clef.hh"
+
#include "string.hh"
#include "stencil.hh"
#include "item.hh"
*/
#include "engraver.hh"
-#include "item.hh"
#include "spanner.hh"
#include "note-head.hh"
#include "note-column.hh"
*/
-#include <stdio.h>
-
#include "cluster.hh"
+
+#include <cstdio>
+
#include "spanner.hh"
#include "item.hh"
#include "pitch.hh"
#include "staff-symbol-referencer.hh"
#include "lookup.hh"
-#include "box.hh"
-#include "interval.hh"
#include "output-def.hh"
#include "warn.hh"
*/
#include "coherent-ligature-engraver.hh"
-#include "item.hh"
+
#include "warn.hh"
#include "staff-symbol-referencer.hh"
#include "spanner.hh"
*/
#include "column-x-positions.hh"
-#include "real.hh"
-
Column_x_positions::Column_x_positions ()
{
satisfies_constraints_ = true;
force_ = 0;
}
-
-
-
-
-
-
-
-
-
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <ctype.h>
+#include <cctype>
#include "rhythmic-head.hh"
#include "output-def.hh"
a single list of context modifications? */
#include "context-def.hh"
+
#include "engraver.hh"
-#include "lily-proto.hh"
#include "output-def.hh"
#include "performer.hh"
#include "score-context.hh"
*/
-#include "object-key.hh"
-#include "context-def.hh"
#include "context.hh"
+
+#include "context-def.hh"
#include "ly-smobs.icc"
#include "main.hh"
#include "output-def.hh"
#include "note-head.hh"
#include "staff-symbol-referencer.hh"
#include "warn.hh"
-#include "event.hh"
/*
* This class implements an engraver for custos symbols.
*/
+#include "custos.hh"
+
+#include <cstdio>
+#include <cmath> // rint
-#include <stdio.h>
#include "direction.hh"
#include "staff-symbol-referencer.hh"
-#include "custos.hh"
-#include "stencil.hh"
#include "warn.hh"
#include "note-head.hh"
#include "item.hh"
#include "font-interface.hh"
-#include "math.h" // rint
MAKE_SCHEME_CALLBACK (Custos,print,1);
SCM
(c) 1998--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <math.h>
-#include "warn.hh"
+
#include "dimension-cache.hh"
-#include "parray.hh"
-#include "grob.hh"
+#include <cmath>
+
+#include "warn.hh"
+#include "grob.hh"
Dimension_cache::Dimension_cache (Dimension_cache const &d)
{
// dimensions.cc
#include "dimensions.hh"
+
#include "warn.hh"
-#include "string.hh"
String
print_dimen (Real r)
#include "directional-element-interface.hh"
-
Direction
get_grob_direction (Grob*me)
{
*/
-
#include "rhythmic-head.hh"
#include "dot-column.hh"
#include "side-position-interface.hh"
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <stdio.h>
-#include <math.h>
+#include "dot-column.hh"
+
+#include <cstdio>
+#include <cmath>
#include <map>
#include "dots.hh"
-#include "dot-column.hh"
#include "rhythmic-head.hh"
-#include "group-interface.hh"
#include "staff-symbol-referencer.hh"
#include "directional-element-interface.hh"
#include "side-position-interface.hh"
*/
#include "dots.hh"
+
#include "item.hh"
-#include "stencil.hh"
#include "output-def.hh"
#include "font-interface.hh"
#include "lookup.hh"
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <ctype.h>
+
+#include <cctype>
#include "rhythmic-head.hh"
-#include "event.hh"
-#include "item.hh"
#include "engraver.hh"
#include "warn.hh"
#include "side-position-interface.hh"
*/
#include "performer.hh"
-#include "event.hh"
#include "audio-item.hh"
#include "audio-column.hh"
#include "global-context.hh"
*/
-#include <assert.h>
+#include "duration.hh"
#include "misc.hh"
#include "lily-proto.hh"
-#include "string.hh"
-#include "moment.hh"
-#include "duration.hh"
-#include "ly-smobs.icc"
+#include "ly-smobs.icc"
int
Duration::compare (Duration const &left, Duration const &right)
#include "dimensions.hh"
#include "directional-element-interface.hh"
#include "engraver.hh"
-#include "event.hh"
-#include "group-interface.hh"
#include "hairpin.hh"
#include "interval.hh"
-#include "item.hh"
#include "note-column.hh"
#include "paper-column.hh"
#include "script-interface.hh"
*/
#include "performer.hh"
-
-#include "event.hh"
#include "audio-item.hh"
/*
Revised over good by Han-Wen.
*/
-#include "stencil.hh"
#include "text-item.hh"
#include "text-spanner.hh"
#include "line-spanner.hh"
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include "flower-proto.hh"
#include "engraver-group-engraver.hh"
-#include "engraver.hh"
+
+#include "flower-proto.hh"
#include "warn.hh"
#include "paper-score.hh"
#include "grob.hh"
#include "context.hh"
-
-
void
Engraver_group_engraver::announce_grob (Grob_info info)
{
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include "music.hh"
#include "engraver.hh"
-#include "engraver-group-engraver.hh"
-#include "grob.hh"
+
+#include "music.hh"
#include "score-engraver.hh"
#include "warn.hh"
#include "spanner.hh"
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+#include "event-chord-iterator.hh"
+
#include "context.hh"
#include "warn.hh"
-#include "event-chord-iterator.hh"
#include "music-list.hh"
#include "event.hh"
*/
#include "event.hh"
+
#include "warn.hh"
-#include "event.hh"
-
+
Moment
Event::get_length () const
{
#include "engraver.hh"
#include "text-item.hh"
-#include "event.hh"
#include "item.hh"
#include "context.hh"
*/
-
#include "engraver.hh"
#include "side-position-interface.hh"
-#include "item.hh"
-#include "event.hh"
#include "stem.hh"
#include "rhythmic-head.hh"
#include "self-alignment-interface.hh"
*/
-#include "input.hh"
#include "folded-repeat-iterator.hh"
+
+#include "input.hh"
#include "repeated-music.hh"
#include "music-list.hh"
#include "simultaneous-music-iterator.hh"
(c) 2000--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include "all-font-metrics.hh"
-#include "font-metric.hh"
#include "font-interface.hh"
-#include "grob.hh"
+
+#include "all-font-metrics.hh"
#include "output-def.hh"
#include "warn.hh"
-
+#include "grob.hh"
/* todo: split up this func, reuse in text_item? */
Font_metric *
Mats Bengtsson <matsb@s3.kth.se> (the ugly TeX parsing in text_dimension)
*/
-#include <math.h>
-#include <ctype.h>
+#include "font-metric.hh"
+
+#include <cmath>
+#include <cctype>
#include "modified-font-metric.hh"
#include "virtual-methods.hh"
#include "warn.hh"
#include "stencil.hh"
+
#include "ly-smobs.icc"
-#include "font-metric.hh"
-#include "string.hh"
Real
Font_metric::design_size () const
*/
-#include <math.h>
-
+#include <cmath>
#include "all-font-metrics.hh"
#include "output-def.hh"
#include "rhythmic-head.hh"
-#include "engraver.hh"
#include "grob.hh"
#include "score-engraver.hh"
*/
-#include <string.h>
+#include <cstring>
-#include "lily-guile.hh"
#include "protected-scm.hh"
#include "string.hh"
-#include "item.hh"
#include "spanner.hh"
#include "paper-column.hh"
*/
#include "warn.hh"
-#include "event.hh"
#include "spanner.hh"
#include "rhythmic-head.hh"
#include "engraver.hh"
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <stdio.h>
+
+#include "global-context.hh"
+
+#include <cstdio>
#include "warn.hh"
-#include "music.hh"
#include "event.hh"
#include "music-list.hh"
#include "music-iterator.hh"
-#include "global-context.hh"
#include "score-context.hh"
#include "context-def.hh"
#include "output-def.hh"
(c) 1999--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+
#include "global-ctor.hh"
+
#include "array.hh"
static Array<Global_ctor> *ctor_global_statics_;
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <math.h> // rint
-#include <stdio.h>
#include "gourlay-breaking.hh"
-#include "column-x-positions.hh"
+
+#include <cmath> // rint
+#include <cstdio>
+
#include "warn.hh"
#include "main.hh"
#include "paper-column.hh"
*/
-#include "grace-music.hh"
#include "grace-iterator.hh"
-
+#include "grace-music.hh"
#include "global-context.hh"
#include "warn.hh"
*/
#include "grace-music.hh"
+
#include "grace-iterator.hh"
Moment
*/
#include "gregorian-ligature-engraver.hh"
+
#include "gregorian-ligature.hh"
-#include "item.hh"
#include "warn.hh"
#include "staff-symbol-referencer.hh"
#include "spanner.hh"
(c) 2003--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include "grob.hh"
+
#include "gregorian-ligature.hh"
+
+#include "grob.hh"
#include "string.hh"
void check_prefix (String name, int mask, int prefix_set, String *str)
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include "grob.hh"
#include "grob-info.hh"
+
+#include "grob.hh"
#include "music.hh"
#include "translator-group.hh"
#include "context.hh"
(c) 2002--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include "protected-scm.hh"
#include "grob-interface.hh"
-#include "lily-guile.hh"
+
+#include "protected-scm.hh"
#include "grob.hh"
#include "warn.hh"
(c) 2001--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+
#include "grob-pitch-tuple.hh"
-#include "pitch.hh"
-#include "event.hh"
+#include "event.hh"
int compare (Grob_pitch_tuple const &a, Grob_pitch_tuple const &b)
{
Implement storage and manipulation of grob properties.
*/
-#include <string.h>
-#include <math.h>
+#include <cstring>
+#include <cmath>
#include "main.hh"
#include "input-smob.hh"
#include "misc.hh"
#include "paper-score.hh"
#include "output-def.hh"
-#include "grob.hh"
#include "spanner.hh"
#include "item.hh"
#include "misc.hh"
Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include "grob.hh"
#include "warn.hh"
-#include "spanner.hh"
#include "item.hh"
#include "output-def.hh"
#include "system.hh"
-
LY_DEFINE (ly_grob_set_property_x, "ly:grob-set-property!",
3, 0, 0, (SCM grob, SCM sym, SCM val),
"Set @var{sym} in grob @var{grob} to value @var{val}")
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+#include "grob.hh"
-#include <string.h>
-#include <math.h>
+#include <cstring>
+#include <cmath>
#include "main.hh"
#include "input-smob.hh"
#include "misc.hh"
#include "paper-score.hh"
#include "stencil.hh"
-#include "grob.hh"
#include "warn.hh"
-#include "spanner.hh"
#include "system.hh"
#include "item.hh"
#include "stencil.hh"
(c) 1999--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+
#include "group-interface.hh"
-#include "grob.hh"
void
Group_interface::add_thing (Grob*me, SCM sym, SCM thing)
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+#include "hairpin.hh"
+
#include "staff-symbol-referencer.hh"
-#include "stencil.hh"
#include "line-interface.hh"
-#include "hairpin.hh"
#include "spanner.hh"
#include "font-interface.hh"
#include "dimensions.hh"
Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+#include "hara-kiri-group-spanner.hh"
+
#include "axis-group-interface.hh"
#include "spanner.hh"
-#include "hara-kiri-group-spanner.hh"
#include "warn.hh"
#include "item.hh"
-
MAKE_SCHEME_CALLBACK (Hara_kiri_group_spanner,y_extent,2);
SCM
Hara_kiri_group_spanner::y_extent (SCM element_smob, SCM scm_axis)
#include "identifier-smob.hh"
-
scm_t_bits package_tag;
static int
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+#include "includable-lexer.hh"
+
#include <sstream>
#include "config.hh"
-
-#include "includable-lexer.hh"
#include "file-path.hh"
#include "source-file.hh"
#include "source.hh"
#include <map>
-#include "string.hh"
-#include "box.hh"
#include "array.hh"
#include "font-metric.hh"
#include "parse-afm.hh"
#define ALL_FONTS_HH
#include "file-path.hh"
-#include "lily-proto.hh"
#include "font-metric.hh"
/**
#include "lily-guile.hh"
+class Grob;
+
struct Ambitus
{
DECLARE_SCHEME_CALLBACK (print, (SCM smob));
#ifndef AUDIO_COLUMN_HH
#define AUDIO_COLUMN_HH
-#include "flower-proto.hh"
#include "lily-proto.hh"
#include "moment.hh"
#include "parray.hh"
#ifndef AUDIO_ELEMENT_HH
#define AUDIO_ELEMENT_HH
-#include <typeinfo>
#include "virtual-methods.hh"
class Audio_element
#ifndef AUDIO_ITEM_HH
#define AUDIO_ITEM_HH
-#include <typeinfo>
-#include "lily-proto.hh"
-#include "string.hh"
#include "audio-element.hh"
-
-#include "pitch.hh"
#include "moment.hh"
-#include "drul-array.hh"
+#include "pitch.hh"
/**
#define BEAMING_HH
#include "parray.hh"
-#include "drul-array.hh"
#include "moment.hh"
struct Beaming_info
#define BEZIER_HH
-#include "real.hh"
-#include "drul-array.hh"
#include "interval.hh"
#include "offset.hh"
-#include "array.hh"
#include "polynomial.hh"
/**
#ifndef BOOK_PAPER_DEF_HH
#define BOOK_PAPER_DEF_HH
-#include "lily-proto.hh"
#include "output-def.hh"
#error
#include "input.hh"
#include "lily-proto.hh"
#include "parray.hh"
-#include "smobs.hh"
#include "object-key.hh"
#include "string.hh"
#ifndef BOXES_HH
#define BOXES_HH
-#include "flower-proto.hh"
-#include "real.hh"
#include "interval.hh"
#include "offset.hh"
#ifndef BREAK_HH
#define BREAK_HH
-#include "array.hh"
#include "interval.hh"
-#include "lily-proto.hh"
#include "column-x-positions.hh"
#include "lily-guile.hh"
+class Grob;
+
/*
breathing sign (apostrophe within staff, not the comma above staff
type)
#ifndef CHORD_NAME_HH
#define CHORD_NAME_HH
-#include "lily-guile.hh"
#include "stencil.hh"
#ifndef CLUSTER_HH
#define CLUSTER_HH
-#include "lily-guile.hh"
#include "stencil.hh"
class Cluster
#include "lily-guile.hh"
+class Grob;
+class Stencil;
+
struct Custos
{
DECLARE_SCHEME_CALLBACK (print, (SCM ));
#ifndef DIMENSION_CACHE_CALLBACK_HH
#define DIMENSION_CACHE_CALLBACK_HH
+#include "axes.hh"
typedef Interval (*Dim_cache_callback) (Grob *,Axis);
typedef Real (*Offset_callback) (Grob *,Axis);
#ifndef DIMENSION_CACHE_HH
#define DIMENSION_CACHE_HH
-#include "interval.hh"
-#include "real.hh"
#include "lily-proto.hh"
#include "parray.hh"
#include "dimension-cache-callback.hh"
#include "lily-guile.hh"
-
/**
Adminstration of offset dimension info.
*/
#include "lily-guile.hh"
+class Grob;
+
/**
Group dots. This is needed because, the dots have to be aligned per voice
*/
#ifndef DURATION_HH
#define DURATION_HH
-#include "flower-proto.hh"
#include "moment.hh"
-#include "smobs.hh"
/**
A musical duration.
Rational factor_;
};
-#include "compare.hh"
INSTANTIATE_COMPARE (Duration, Duration::compare);
DECLARE_UNSMOB (Duration, duration);
#ifndef ENGRAVERGROUP_HH
#define ENGRAVERGROUP_HH
-#include "lily-proto.hh"
-#include "parray.hh"
-#include "grob-info.hh"
#include "engraver.hh"
#include "translator-group.hh"
#ifndef ENGRAVER_HH
#define ENGRAVER_HH
-#include "lily-proto.hh"
-#include "array.hh"
#include "event.hh"
#include "grob-info.hh"
#include "translator.hh"
-
/**
a struct which processes events, and creates the #Grob#s.
It may use derived classes.
#define EVENT_HH
-#include "string.hh"
-#include "moment.hh"
-#include "virtual-methods.hh"
#include "input.hh"
#include "music.hh"
#include "duration.hh"
#ifndef FONT_INTERFACE_HH
#define FONT_INTERFACE_HH
-#include "lily-proto.hh"
#include "font-metric.hh"
struct Font_interface
#define FONT_METRIC_HH
#include "box.hh"
-#include "lily-guile.hh"
#include "smobs.hh"
#include "lily-proto.hh"
-#include "string.hh"
struct Font_metric
{
#ifndef GREGORIAN_LIGATURE_HH
#define GREGORIAN_LIGATURE_HH
+class Grob;
+class String;
+
class Gregorian_ligature {
public:
static bool has_interface (Grob *);
#ifndef INTERFACE_HH
#define INTERFACE_HH
+#include <libguile.h> /* SCM */
void add_interface (const char * symbol,
const char * descr,
#ifndef GROB_PITCH_TUPLE_HH
#define GROB_PITCH_TUPLE_HH
-#include "lily-proto.hh"
#include "pitch.hh"
#include "moment.hh"
#ifndef GROB_HH
#define GROB_HH
-#include "parray.hh"
#include "virtual-methods.hh"
-#include "lily-guile.hh"
-#include "lily-proto.hh"
-#include "smobs.hh"
#include "dimension-cache.hh"
#include "grob-interface.hh"
#include "object-key.hh"
#ifndef GROUP_INTERFACE_HH
#define GROUP_INTERFACE_HH
-#include "lily-proto.hh"
-#include "string.hh"
-#include "lily-guile.hh"
-
#include "grob.hh"
+#include "string.hh"
/**
Look at Score element ELT as thing which has a list property called
NAME_. Normally the list would contain Grobs, but
#define INPUT_SMOB_HH
#include "input.hh"
-#include "lily-guile.hh"
#include "smobs.hh"
SCM make_input (Input spot);
#include "box.hh"
#include "grob.hh"
-#include "drul-array.hh"
/**
#ifndef KPATH_HH
#define KPATH_HH
+class String;
+
String kpathsea_find_afm (char const * name);
String kpathsea_find_tfm (char const * name);
void initialize_kpathsea (char *av0);
#define LILY_GUILE_HH
#include <libguile.h>
-#include "flower-proto.hh"
-#include "drul-array.hh"
-#include "direction.hh"
+#include "interval.hh"
#include "guile-compatibility.hh"
#ifndef SMOB_FREE_RETURN_VAL
SCM ly_list_qsort_uniq_x (SCM lst);
SCM ly_output_formats();
-SCM ly_kpathsea_expand_path (SCM);
+SCM ly_kpathsea_find_file (SCM);
/*
snarfing.
#include "includable-lexer.hh"
#include "input.hh"
-#include "lily-proto.hh"
-#include "flower-proto.hh"
-#include "array.hh"
-#include "string.hh"
#include "duration.hh"
#include "pitch.hh"
-#include "smobs.hh"
bool busy_parsing ();
void kill_lexer ();
#ifndef MY_LILY_PARSER_HH
#define MY_LILY_PARSER_HH
-#include "array.hh"
#include "duration.hh"
#include "input.hh"
#include "parray.hh"
#include "pitch.hh"
-#include "smobs.hh"
-#include "string.hh"
/**
State for the parser. Do not ever add any variables to parse
#include "object-key.hh"
#include "lily-proto.hh"
#include "moment.hh"
-#include "string.hh"
class Lilypond_grob_key : public Object_key
{
#define LINE_GROUP_GRAV_HH
#include "engraver-group-engraver.hh"
-#include "lily-proto.hh"
/**
Engravers put elements on the same or lowel level in a line.
#include "lily-guile.hh"
+class Grob;
+class Stencil;
+
class Line_spanner
{
public:
#ifndef LOOKUP_HH
#define LOOKUP_HH
-#include "string.hh"
#include "stencil.hh"
-#include "flower-proto.hh"
-#include "direction.hh"
-#include "box.hh"
struct Lookup
{
#define MIDI_ITEM_HH
#include "cons.hh"
-#include "string.hh"
-#include "lily-proto.hh"
-#include "moment.hh"
#include "audio-item.hh"
/**
#ifndef MIDI_STREAM_HH
#define MIDI_STREAM_HH
-#include <stdio.h>
+#include <cstdio>
+
#include "string.hh"
+class Midi_item;
+
/// Midi outputfile
struct Midi_stream {
Midi_stream (String file_name_string);
#ifndef MINTERVAL_HH
#define MINTERVAL_HH
-#include "interval.hh"
#include "moment.hh"
typedef Interval_t<Moment> MInterval;
#ifndef MISC_HH
#define MISC_HH
-#include <stdlib.h>
+#include <cstdlib>
-#include "real.hh"
#include "array.hh"
#include "interval.hh"
#ifndef MULTI_MEASURE_REST_HH
#define MULTI_MEASURE_REST_HH
-#include "lily-proto.hh"
#include "lily-guile.hh"
#include "rod.hh"
#ifndef MUSIC_ITERATOR_HH
#define MUSIC_ITERATOR_HH
-#include "lily-proto.hh"
#include "array.hh"
#include "moment.hh"
#include "virtual-methods.hh"
#include "interpretation-context-handle.hh"
-#include "smobs.hh"
/**
---
#include "virtual-methods.hh"
#include "minterval.hh"
-#include "lily-proto.hh"
-#include "string.hh"
-#include "smobs.hh"
#include "music-constructor.hh"
#define is_mus_type(x) internal_is_music_type (ly_symbol2scm (x))
#include "lily-proto.hh"
#include "lily-guile.hh"
-
-#include "drul-array.hh"
#include "parray.hh"
/**
#ifndef NOTEHEAD_HH
#define NOTEHEAD_HH
-#include "lily-guile.hh"
#include "stencil.hh"
/** ball at the end of the stem. Also takes care of ledger lines.
#include <map>
-#include "lily-guile.hh"
#include "object-key.hh"
-#include "smobs.hh"
typedef std::map<Object_key const*, Object_key const*, Object_key_less> Key_to_key_map;
typedef std::map<Object_key const*, int> Pointer_to_int_map;
#include "string.hh"
#include "lily-proto.hh"
-#include "lily-guile.hh"
#include "virtual-methods.hh"
#include "smobs.hh"
#include "input.hh"
#ifndef PAPER_BOOK_HH
#define PAPER_BOOK_HH
-#include "lily-guile.hh"
#include "parray.hh"
#include "protected-scm.hh"
#include "smobs.hh"
+class Output_def;
+class Stencil;
+
struct Score_systems
{
SCM systems_;
#include "lily-proto.hh"
#include "array.hh"
#include "string.hh"
-#include "lily-guile.hh"
#include "protected-scm.hh"
+#include "smobs.hh"
/*
Glue between the backend (grobs, systems, pages) and the output file.
#define PAPER_SCORE_HH
#include "column-x-positions.hh"
-#include "parray.hh"
-#include "lily-proto.hh"
#include "music-output.hh"
-#include "lily-guile.hh"
-#include "protected-scm.hh"
/* LAYOUT output */
class Paper_score : public Music_output
#ifndef PAPER_SYSTEM_HH
#define PAPER_SYSTEM_HH
-#include "lily-proto.hh"
-#include "smobs.hh"
-#include "offset.hh"
#include "stencil.hh"
/*
#define PERFORMANCE_HH
#include "parray.hh"
-#include "lily-proto.hh"
#include "cons.hh"
#include "music-output.hh"
#ifndef PERFORMER_GROUP_PERFORMER_HH
#define PERFORMER_GROUP_PERFORMER_HH
-#include "lily-proto.hh"
-#include "parray.hh"
#include "performer.hh"
#include "translator-group.hh"
#define PERFORMER_HH
#include "audio-element-info.hh"
-#include "array.hh"
#include "event.hh"
#include "grob-info.hh"
#include "translator.hh"
#define PITCH_INTERVAL_HH
#include "pitch.hh"
-#include "drul-array.hh"
class Pitch_interval : public Drul_array<Pitch>
{
SCM ly_pitch_transpose (SCM p, SCM delta);
DECLARE_UNSMOB(Pitch,pitch);
-#include "compare.hh"
INSTANTIATE_COMPARE (Pitch, Pitch::compare);
int compare (Array<Pitch>*, Array<Pitch>*);
#include "lily-guile.hh"
+class Grob;
+
class Rest
{
public:
#define ROD_HH
#include "lily-proto.hh"
-#include "direction.hh"
#include "drul-array.hh"
struct Rod
#define SCM_HASH_HH
-#include "lily-guile.hh"
#include "smobs.hh"
#ifndef SLUR_CONFIGURATION_HH
#define SLUR_CONFIGURATION_HH
-#include "drul-array.hh"
#include "bezier.hh"
-#include "lily-proto.hh"
#include "parray.hh"
#include "main.hh"
#include <iostream>
-#include "flower-proto.hh"
#include "string.hh"
-#include "interval.hh"
#include "protected-scm.hh"
#include "parray.hh"
#ifndef SPANNER_HH
#define SPANNER_HH
-#include "lily-proto.hh"
#include "grob.hh"
-#include "drul-array.hh"
#include "rod.hh"
/** A symbol which is attached between two columns. A spanner is a
#define SPRING_HH
#include "lily-proto.hh"
-#include "drul-array.hh"
#include "smobs.hh"
struct Spring_smob
#include "lily-proto.hh"
#include "lily-guile.hh"
#include "stem-info.hh"
-#include "drul-array.hh"
class Stem
{
#ifndef STENCIL_HH
#define STENCIL_HH
-#include <stdlib.h> // size_t
+#include <cstdlib> // size_t
+
#include "lily-proto.hh"
#include "box.hh"
-#include "direction.hh"
-#include "lily-guile.hh"
#include "smobs.hh"
/** a group of individually translated symbols. You can add stencils
#define TEXT_ITEM
-#include "lily-proto.hh"
-#include "lily-guile.hh"
#include "stencil.hh"
class Text_interface
#include "lily-guile.hh"
+class Grob;
+
class Text_spanner
{
public:
#ifndef TFM_HH
#define TFM_HH
-#include "string.hh"
#include "array.hh"
-#include "lily-proto.hh"
#include "font-metric.hh"
/* The type. */
#ifndef TRANSLATOR_GROUP_HH
#define TRANSLATOR_GROUP_HH
-#include "string.hh"
-#include "lily-proto.hh"
-#include "virtual-methods.hh"
#include "translator.hh"
#include "parray.hh"
-#include "smobs.hh"
typedef void (Translator::*Translator_method) (void);
#include "string.hh"
#include "lily-proto.hh"
#include "virtual-methods.hh"
-#include "lily-guile.hh"
#include "input.hh"
#include "smobs.hh"
#include <map>
#include "lily-proto.hh"
-#include "smobs.hh"
-#include "lily-guile.hh"
+#include "object-key.hh"
typedef std::map<Object_key const*, SCM, Object_key_less> Tweak_map ;
#ifndef VATICANA_LIGATURE_HH
#define VATICANA_LIGATURE_HH
-#include "lily-guile.hh"
#include "stencil.hh"
struct Vaticana_ligature
*/
-#include "input.hh"
#include "input-smob.hh"
+
#include "string.hh"
+
#include "ly-smobs.icc"
/* Dummy input location for use if real one is missing. */
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <stdio.h>
-
-#include "flower-proto.hh"
#include "input.hh"
-#include "string.hh"
+
+#include <cstdio>
+
#include "source.hh"
#include "source-file.hh"
*/
#include "engraver.hh"
-#include "item.hh"
#include "bar-line.hh"
#include "system-start-delimiter.hh"
#include "side-position-interface.hh"
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+#include "item.hh"
+
#include "paper-score.hh"
#include "warn.hh"
-#include "item.hh"
#include "paper-column.hh"
-#include "spanner.hh"
#include "lily-guile.hh"
#include "system.hh"
#include "group-interface.hh"
-
Grob *
Item::clone (int count) const
{
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-
-
-#include "event.hh"
#include "item.hh"
#include "bar-line.hh"
#include "staff-symbol-referencer.hh"
#include "context.hh"
#include "engraver.hh"
-#include "pitch.hh"
#include "protected-scm.hh"
#include "clef.hh"
(c) 1997--2004 Jan Nieuwenhuizen <janneke@gnu.org>
*/
-#include "lily-guile.hh"
-
#include "audio-item.hh"
#include "performer.hh"
#include "warn.hh"
-
class Key_performer : public Performer
{
public:
*/
#include "item.hh"
-
-#include "stencil.hh"
#include "output-def.hh"
#include "font-interface.hh"
#include "staff-symbol-referencer.hh"
#include "lookup.hh"
-#include "lily-guile.hh"
-#include "lily-proto.hh"
#include "accidental-interface.hh"
struct Key_signature_interface
/*
keyword.cc -- keywords and identifiers
*/
-#include <string.h>
-#include <stdlib.h>
+
#include "keyword.hh"
+#include <cstring>
+#include <cstdlib>
/* for qsort */
int tabcmp (Keyword_ent const &p1, Keyword_ent const &p2)
(c) 2000--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <stdio.h>
-#include <string.h>
+#include "kpath.hh"
+
+#include <cstdio>
+#include <cstring>
/*
<unistd.h> before defining YAKLUDGE.
*/
+
#include <unistd.h>
+
#include "config.hh"
#define popen REALLYUGLYKLUDGE
#endif
#include "file-path.hh"
-#include "string.hh"
#include "main.hh"
-#include "kpath.hh"
#include "source-file.hh"
#include "warn.hh"
return string;
}
-
-
-LY_DEFINE (ly_kpathsea_expand_path, "ly:kpathsea-expand-path",
+LY_DEFINE (ly_kpathsea_find_file, "ly:kpathsea-find-file",
1, 0, 0, (SCM name),
- "Return the expanded path of @var{name}, or"
- "@code{#f} if not found.")
+ "Return the absolute file name of @var{name},"
+ "or @code{#f} if not found.")
{
SCM_ASSERT_TYPE (scm_is_string (name), name, SCM_ARG1, __FUNCTION__, "string");
String file_name = global_path.find (nm);
if (file_name.is_empty ())
{
- char *p = kpse_find_file (nm.to_str0 (), kpathsea_find_format (nm),
- true);
- if (p)
+ if (char *p = kpse_find_file (nm.to_str0 (), kpathsea_find_format (nm),
+ true))
return scm_makfrom0str (p);
- else
- return SCM_BOOL_F;
+ return SCM_BOOL_F;
}
return scm_makfrom0str (file_name.to_str0 ());
}
-
LY_DEFINE (ly_kpathsea_expand_variable, "ly:kpathsea-expand-variable",
1, 0, 0, (SCM var),
"Return the expanded version @var{var}.")
return ret;
}
-
void
initialize_kpathsea (char *av0)
{
*/
#include "least-squares.hh"
-#include "warn.hh"
+#include "warn.hh"
void
minimise_least_squares (Real * coef, Real * offset,
*/
-
#include "group-interface.hh"
#include "spanner.hh"
#include "engraver.hh"
#include <map>
-#include "item.hh"
#include "note-head.hh"
#include "staff-symbol-referencer.hh"
#include "staff-symbol.hh"
(c) 2002--2004 Juergen Reuter <reuter@ipd.uka.de>
*/
+
#include "ligature-engraver.hh"
#include "note-column.hh"
#include "tuplet-bracket.hh"
(c) 2002--2004 Juergen Reuter <reuter@ipd.uka.de>
*/
+
#include "ligature-engraver.hh"
+
#include "spanner.hh"
#include "score-engraver.hh"
#include "note-head.hh"
#include "warn.hh"
#include "context.hh"
-
/*
* This abstract class provides the general framework for ligatures of
* any kind. It cares for handling start/stop ligatures requests and
Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+#include "lily-guile.hh"
+
+#include <cstdio>
+#include <cstdlib>
+#include <cmath> /* isinf */
+#include <cstring> /* strdup, strchr */
+#include <cctype>
-#include <stdio.h>
-#include <stdlib.h>
#include <libintl.h> // gettext on macos x
-#include <math.h> /* isinf */
-#include <string.h> /* strdup, strchr */
-#include <ctype.h>
-#include "lily-proto.hh"
#include "version.hh"
/* MacOS S fix:
inline int my_isinf (Real r) { return isinf (r); }
inline int my_isnan (Real r) { return isnan (r); }
-
#include "libc-extension.hh"
-#include "lily-guile.hh"
#include "main.hh"
#include "file-path.hh"
#include "warn.hh"
#include "direction.hh"
#include "offset.hh"
-#include "interval.hh"
#include "pitch.hh"
#include "dimensions.hh"
#include "source-file.hh"
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <ctype.h>
+#include "lily-lexer.hh"
+
+#include <cctype>
#include <sstream>
-#include "lily-proto.hh"
#include "scm-hash.hh"
#include "interval.hh"
-#include "lily-guile.hh"
#include "parser.hh"
#include "keyword.hh"
-#include "lily-lexer.hh"
#include "warn.hh"
#include "source-file.hh"
#include "main.hh"
-#include "input.hh"
#include "moment.hh"
#include "ly-module.hh"
-
static Keyword_ent the_key_tab[] = {
{"accepts", ACCEPTS},
{"addquote", ADDQUOTE},
Jan Nieuwenhuizen <janneke@gnu.org>
*/
+#include "lily-parser.hh"
#include "book.hh"
#include "lilypond-key.hh"
#include "ly-module.hh"
#include "main.hh"
#include "lily-lexer.hh"
-#include "lily-parser.hh"
#include "output-def.hh"
#include "paper-book.hh"
#include "parser.hh"
#include "source.hh"
#include "warn.hh"
-
Lily_parser::Lily_parser (Sources *sources)
{
book_count_ = 0;
(c) 1999--2004 Jan Nieuwenhuizen <janneke@gnu.org>
*/
+#include "lily-version.hh"
+
#include "config.hh"
#include "version.hh"
-#include "lily-version.hh"
String
version_string ()
*/
-
-#include "object-key.hh"
#include "lilypond-key.hh"
Lilypond_grob_key::Lilypond_grob_key (Object_key const *context,
*/
#include "line-interface.hh"
-#include "stencil.hh"
-#include "grob.hh"
+
#include "staff-symbol-referencer.hh"
#include "lookup.hh"
#include "output-def.hh"
-
Stencil
Line_interface::make_dashed_line (Real thick, Offset from, Offset to,
Real dash_period, Real dash_fraction)
(c) 2000--2004 Jan Nieuwenhuizen <janneke@gnu.org>
*/
-#include <math.h>
+#include "line-spanner.hh"
+
+#include <cmath>
-#include "stencil.hh"
-#include "item.hh"
#include "spanner.hh"
-#include "line-spanner.hh"
#include "output-def.hh"
#include "paper-column.hh"
#include "staff-symbol-referencer.hh"
Jan Nieuwenhuizen <janneke@gnu.org>
*/
-#include <math.h>
-#include <ctype.h>
+
+#include "lookup.hh"
+
+#include <cmath>
+#include <cctype>
#include "line-interface.hh"
#include "warn.hh"
#include "file-path.hh"
#include "main.hh"
#include "lily-guile.hh"
-#include "stencil.hh"
-#include "lookup.hh"
#include "font-metric.hh"
-#include "interval.hh"
Stencil
Lookup::dot (Offset p, Real radius)
(c) 2002--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+#include "ly-module.hh"
+
#include "main.hh"
#include "string.hh"
-#include "lily-guile.hh"
-#include "ly-module.hh"
#include "protected-scm.hh"
#define FUNC_NAME __FUNCTION__
*/
#include "lyric-combine-music.hh"
+
#include "pitch.hh"
Lyric_combine_music::Lyric_combine_music ()
#include "context.hh"
#include "engraver.hh"
-#include "event.hh"
#include "font-metric.hh"
#include "item.hh"
#include "multi-measure-rest.hh"
Han-Wen Nienhuys
*/
-#include <math.h>
+#include "lyric-extender.hh"
+
+#include <cmath>
-#include "box.hh"
#include "warn.hh"
#include "lookup.hh"
-#include "stencil.hh"
#include "paper-column.hh"
#include "output-def.hh"
-#include "lyric-extender.hh"
#include "note-head.hh"
#include "group-interface.hh"
-
-
MAKE_SCHEME_CALLBACK (Lyric_extender, print, 1)
SCM
Lyric_extender::print (SCM smob)
(c) 2003--2004 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
-#include <math.h>
+#include "lyric-hyphen.hh"
+
+#include <cmath>
-#include "box.hh"
#include "lookup.hh"
-#include "stencil.hh"
#include "output-def.hh"
#include "paper-column.hh"
-#include "spanner.hh"
-#include "item.hh"
-#include "lyric-hyphen.hh"
#include "moment.hh"
MAKE_SCHEME_CALLBACK (Hyphen_spanner,print,1)
(c) 1997--2004 Jan Nieuwenhuizen <janneke@gnu.org>
*/
-#include "event.hh"
#include "audio-item.hh"
-#include "lily-proto.hh"
#include "performer.hh"
-#include "array.hh"
class Lyric_performer : public Performer {
public:
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <stdlib.h>
-#include <stdio.h>
-#include <assert.h>
-#include <locale.h>
-#include <string.h>
+#include "main.hh"
+
+#include <cassert>
+#include <clocale>
+#include <cstring>
#include "config.hh"
#include "all-font-metrics.hh"
#include "file-name.hh"
-#include "file-path.hh"
#include "getopt-long.hh"
#include "global-ctor.hh"
#include "kpath.hh"
#include "lily-guile.hh"
#include "lily-version.hh"
-#include "main.hh"
#include "misc.hh"
#include "output-def.hh"
-#include "string.hh"
#include "warn.hh"
/*
(c) 1998--2004 Jan Nieuwenhuizen <janneke@gnu.org>
*/
-#include <ctype.h>
+#include <cctype>
#include "bar-line.hh"
#include "context.hh"
#include "engraver-group-engraver.hh"
-#include "engraver.hh"
#include "item.hh"
#include "warn.hh"
#include "text-item.hh"
(c) 2002--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include "spanner.hh"
#include "warn.hh"
#include "side-position-interface.hh"
#include "global-context.hh"
*/
+#include "measure-grouping-spanner.hh"
+
#include "output-def.hh"
#include "spanner.hh"
-#include "measure-grouping-spanner.hh"
#include "lookup.hh"
#include "item.hh"
#include "staff-symbol-referencer.hh"
/*
duplicated in melisma-performer
*/
+
#include "engraver.hh"
-#include "event.hh"
#include "grob.hh"
#include "context.hh"
-
/**
Signal existence of melismas.
*/
(c) 2002--2004 Juergen Reuter <reuter@ipd.uka.de>
*/
-#include "mensural-ligature.hh"
#include "coherent-ligature-engraver.hh"
+
+#include "mensural-ligature.hh"
#include "event.hh"
#include "warn.hh"
-#include "item.hh"
#include "spanner.hh"
-#include "rod.hh"
#include "paper-column.hh"
#include "note-column.hh"
#include "rhythmic-head.hh"
(c) 2002--2004 Juergen Reuter <reuter@ipd.uka.de>
*/
-#include <math.h>
-#include "item.hh"
#include "mensural-ligature.hh"
+
+#include <cmath>
+
+#include "item.hh"
#include "font-interface.hh"
-#include "stencil.hh"
#include "lookup.hh"
#include "staff-symbol-referencer.hh"
#include "note-head.hh"
(c) 1998--2004 Jan Nieuwenhuizen <janneke@gnu.org>
*/
-#include <ctype.h>
+#include <cctype>
#include "note-column.hh"
#include "bar-line.hh"
#include "time-signature.hh"
-#include "engraver.hh"
#include "engraver-group-engraver.hh"
-#include "item.hh"
#include "context.hh"
/**
(c) 1997--2004 Jan Nieuwenhuizen <janneke@gnu.org>
*/
-#include <math.h>
+
+#include <cmath>
#include "misc.hh"
#include "output-def.hh"
#include "warn.hh"
#include "scm-hash.hh"
-
-
int
get_tempo (Output_def * def,
Moment one_beat_mom)
(c) 1997--2004 Jan Nieuwenhuizen <janneke@gnu.org>
*/
+#include "midi-item.hh"
+
#include "warn.hh"
#include "main.hh"
#include "misc.hh"
-#include "string.hh"
#include "string-convert.hh"
-#include "midi-item.hh"
#include "midi-stream.hh"
-#include "audio-item.hh"
#include "duration.hh"
#include "scm-option.hh"
-
#include "killing-cons.tcc"
#define PITCH_WHEEL_TOP 0x3FFF
(c) 1997--2004 Jan Nieuwenhuizen <janneke@gnu.org>
*/
+#include "midi-stream.hh"
#include "stream.hh"
-#include "string.hh"
#include "string-convert.hh"
#include "main.hh"
#include "misc.hh"
#include "midi-item.hh"
-#include "midi-stream.hh"
#include "warn.hh"
#include "scm-option.hh"
*/
#include "midi-walker.hh"
+
#include "audio-column.hh"
-#include "audio-item.hh"
#include "audio-staff.hh"
#include "midi-item.hh"
#include "midi-stream.hh"
Jan Nieuwenhuizen <janneke@gnu.org>
*/
-#include <math.h>
#include "misc.hh"
+#include <cmath>
+
/*
Return the 2-log, rounded down
*/
(c) 1999--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <ctype.h>
+#include "modified-font-metric.hh"
+
+#include <cctype>
#include "warn.hh"
-#include "modified-font-metric.hh"
-#include "string.hh"
#include "stencil.hh"
Modified_font_metric::Modified_font_metric (String input_encoding,
&& coding_scheme_ != "ASCII"
&& coding_scheme_ != orig_->coding_scheme ())
{
+ /* FIXME: this is broken, cannot get font encoding from font/AFM file,
+ should use encoding from font-tree in fonts.scm. */
+
coding_vector_
= scm_call_1 (ly_scheme_function ("get-coding-vector"),
scm_makfrom0str (coding_scheme_.to_str0 ()));
(c) 1999--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include "lily-guile.hh"
#include "moment.hh"
-#include "warn.hh"
+#include "warn.hh"
Moment::Moment ()
{
Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include "event.hh"
#include "multi-measure-rest.hh"
#include "paper-column.hh"
#include "engraver-group-engraver.hh"
#include "side-position-interface.hh"
#include "staff-symbol-referencer.hh"
-#include "engraver.hh"
#include "moment.hh"
-#include "spanner.hh"
/**
The name says it all: make multi measure rests
*/
#include "multi-measure-rest.hh"
+
#include "warn.hh"
#include "output-def.hh"
#include "paper-column.hh" // urg
#include "font-interface.hh"
#include "rest.hh"
-#include "stencil.hh"
#include "misc.hh"
#include "spanner.hh"
#include "staff-symbol-referencer.hh"
*/
+#include "music-constructor.hh"
+
#include <map> // UGH.
-#include <assert.h>
+#include <cassert>
#include "warn.hh"
-#include "music-constructor.hh"
typedef Music *(*Music_ctor) ();
(c) 2004 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
+
#include "music-function.hh"
-#include "string.hh"
+
#include "music.hh"
static scm_t_bits music_function_tag;
/*
UGH. too many includes.
*/
-#include <stdio.h>
-#include "warn.hh"
#include "music-iterator.hh"
+
+#include <cstdio>
+
+#include "warn.hh"
#include "context.hh"
#include "music-wrapper.hh"
#include "music-wrapper-iterator.hh"
#include "music-wrapper-iterator.hh"
+
#include "music-wrapper.hh"
Music_wrapper_iterator::Music_wrapper_iterator ()
*/
-
-
#include "music-wrapper.hh"
-
Music_wrapper::Music_wrapper ()
: Music ()
{
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+#include "music.hh"
+
#include "duration.hh"
#include "input-smob.hh"
#include "ly-smobs.icc"
#include "main.hh"
#include "music-list.hh"
-#include "music.hh"
#include "pitch.hh"
#include "score.hh"
#include "warn.hh"
#include "warn.hh"
#include "engraver.hh"
#include "side-position-interface.hh"
-#include "item.hh"
-#include "event.hh"
#include "stem.hh"
#include "rhythmic-head.hh"
#include "self-alignment-interface.hh"
#include "grob.hh"
#include "music-iterator.hh"
-
class New_lyric_combine_music_iterator : public Music_iterator
{
public:
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <math.h>
+#include "note-collision.hh"
+
+#include <cmath>
#include "warn.hh"
-#include "note-collision.hh"
#include "note-column.hh"
#include "note-head.hh"
#include "rhythmic-head.hh"
#include "output-def.hh"
#include "axis-group-interface.hh"
-#include "item.hh"
#include "stem.hh"
#include "side-position-interface.hh"
#include "dot-column.hh"
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <math.h> // ceil
-#include "axis-group-interface.hh"
#include "note-column.hh"
+
+#include <cmath> // ceil
+
+#include "axis-group-interface.hh"
#include "stem.hh"
#include "warn.hh"
#include "output-def.hh"
-#include "group-interface.hh"
#include "staff-symbol-referencer.hh"
#include "rest.hh"
#include "note-head.hh"
#include "engraver.hh"
#include "group-interface.hh"
-#include "item.hh"
-#include "event.hh"
-#include "spanner.hh"
#include "stem.hh"
#include "rhythmic-head.hh"
#include "side-position-interface.hh"
#include "staff-symbol-referencer.hh"
#include "context.hh"
-
/**
Create line-spanner grobs for lines that connect note heads.
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <math.h>
-#include <ctype.h>
+
+#include "note-head.hh"
+
+#include <cmath>
+#include <cctype>
#include "staff-symbol.hh"
#include "misc.hh"
#include "dots.hh"
-#include "note-head.hh"
#include "warn.hh"
#include "font-interface.hh"
-#include "stencil.hh"
#include "event.hh"
#include "rhythmic-head.hh"
#include "staff-symbol-referencer.hh"
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <ctype.h>
+
+#include <cctype>
#include "rhythmic-head.hh"
#include "output-def.hh"
-#include "event.hh"
#include "dots.hh"
#include "dot-column.hh"
#include "staff-symbol-referencer.hh"
*/
#include "engraver.hh"
-#include "event.hh"
#include "item.hh"
class Note_name_engraver : public Engraver
*/
#include "performer.hh"
-#include "event.hh"
#include "audio-item.hh"
#include "audio-column.hh"
#include "global-context.hh"
(c) 2001--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+#include "note-spacing.hh"
#include "paper-column.hh"
-#include "item.hh"
#include "moment.hh"
-#include "note-spacing.hh"
-#include "grob.hh"
#include "note-column.hh"
#include "warn.hh"
#include "stem.hh"
#include "accidental-placement.hh"
#include "output-def.hh"
-
/*
TODO: detect hshifts due to collisions, and account for them in
*/
-
-#include <map>
-
-#include "ly-smobs.icc"
+#include "object-key-dumper.hh"
#include "moment.hh"
-#include "object-key-dumper.hh"
-#include "object-key.hh"
+#include "ly-smobs.icc"
SCM
Object_key_dumper::mark_smob (SCM smob )
*/
-#include <map>
-
-
-#include "smobs.hh"
-#include "object-key.hh"
#include "object-key-undumper.hh"
#include "ly-smobs.icc"
*/
-#include "stencil.hh"
#include "text-item.hh"
#include "line-spanner.hh"
#include "spanner.hh"
#include "protected-scm.hh"
#include "note-column.hh"
-#include "item.hh"
#include "side-position-interface.hh"
#include "engraver.hh"
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+#include "output-def.hh"
+
#include "context-def.hh"
#include "file-path.hh"
#include "global-context.hh"
#include "interval.hh"
-#include "lily-guile.hh"
#include "ly-module.hh"
#include "main.hh"
#include "output-def.hh"
-#include "output-def.hh"
#include "scm-hash.hh"
#include "warn.hh"
#include "grob.hh"
#include "context.hh"
-
class Output_property_engraver : public Engraver
{
TRANSLATOR_DECLARATIONS (Output_property_engraver);
(c) 2004 Jan Nieuwenhuizen <janneke@gnu.org>
*/
+#include "paper-book.hh"
+
#include "ly-module.hh"
#include "main.hh"
#include "output-def.hh"
-#include "paper-book.hh"
#include "paper-outputter.hh"
#include "paper-score.hh"
#include "paper-system.hh"
-#include "stencil.hh"
#include "warn.hh"
#include "ly-smobs.icc"
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include "moment.hh"
#include "paper-column.hh"
+
+#include "moment.hh"
#include "paper-score.hh"
#include "warn.hh"
#include "axis-group-interface.hh"
#include "spaceable-grob.hh"
-#include "stencil.hh"
#include "text-item.hh"
#include "lookup.hh"
#include "font-interface.hh"
#include "output-def.hh"
-
-
-
Grob *
Paper_column::clone (int count) const
{
*/
#include "dimensions.hh"
-#include "font-metric.hh"
#include "ly-module.hh"
#include "output-def.hh"
#include "modified-font-metric.hh"
Jan Nieuwenhuizen <janneke@gnu.org>
*/
-#include <math.h>
-#include <time.h>
+#include "paper-outputter.hh"
+
+#include <cmath>
+#include <ctime>
-#include "array.hh"
#include "dimensions.hh"
#include "file-name.hh"
#include "font-metric.hh"
#include "input-smob.hh"
-#include "lily-guile.hh"
#include "lily-version.hh"
#include "ly-module.hh"
#include "main.hh"
#include "output-def.hh"
#include "paper-book.hh"
-#include "paper-outputter.hh"
#include "paper-system.hh"
#include "scm-hash.hh"
-#include "stencil.hh"
#include "string-convert.hh"
#include "warn.hh"
#include "ly-smobs.icc"
-
Paper_outputter::Paper_outputter (String file_name, String format)
{
file_ = SCM_EOL;
(c) 1996--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+#include "paper-score.hh"
+
#include "all-font-metrics.hh"
-#include "font-metric.hh"
#include "gourlay-breaking.hh"
#include "ly-module.hh"
#include "main.hh"
#include "output-def.hh"
#include "paper-book.hh"
#include "paper-column.hh"
-#include "paper-score.hh"
#include "scm-hash.hh"
#include "score.hh"
-#include "spanner.hh"
#include "stencil.hh"
#include "system.hh"
#include "warn.hh"
*/
#include "paper-system.hh"
-#include "stencil.hh"
-#include "string.hh"
+
#include "virtual-methods.hh"
#include "ly-smobs.icc"
(c) 2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+#include "parse-scm.hh"
-#include <stdio.h>
+#include <cstdio>
#include "ly-module.hh"
-#include "lily-guile.hh"
#include "main.hh"
#include "paper-book.hh"
-#include "parse-scm.hh"
-#include "string.hh"
#include "source-file.hh"
/* Pass string to scm parser, evaluate one expression.
*/
#include "engraver.hh"
-#include "item.hh"
#include "text-item.hh"
#include "note-head.hh"
#include "stem.hh"
#include "lily-guile.hh"
#include "warn.hh"
#include "music-iterator.hh"
-#include "interpretation-context-handle.hh"
class Part_combine_iterator : public Music_iterator
{
*/
-#include "engraver.hh"
#include "repeated-music.hh"
-#include "engraver-group-engraver.hh"
#include "global-context.hh"
#include "warn.hh"
#include "misc.hh"
#include "item.hh"
#include "percent-repeat-iterator.hh"
#include "bar-line.hh"
-
#include "score-engraver.hh"
-#include "context.hh"
-
/**
This acknowledges repeated music with "percent" style. It typesets
(c) 2001--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <math.h>
-#include "grob.hh"
-#include "lookup.hh"
-#include "stencil.hh"
-#include "font-interface.hh"
-#include "font-metric.hh"
#include "percent-repeat-item.hh"
+#include <cmath>
+
+#include "lookup.hh"
+#include "font-interface.hh"
Stencil
Percent_repeat_item_interface::brew_slash ( Grob *me)
*/
#include "percent-repeat-iterator.hh"
+
#include "repeated-music.hh"
#include "input.hh"
(c) 1997--2004 Jan Nieuwenhuizen <janneke@gnu.org>
*/
-#include <time.h>
+#include "performance.hh"
+
+#include <ctime>
#include "audio-column.hh"
-#include "audio-item.hh"
#include "audio-staff.hh"
#include "file-name.hh"
#include "lily-version.hh"
#include "main.hh"
#include "midi-item.hh"
#include "midi-stream.hh"
-#include "performance.hh"
#include "score.hh"
#include "string-convert.hh"
-#include "string.hh"
#include "warn.hh"
#include "killing-cons.tcc"
*/
#include "performer-group-performer.hh"
+
#include "context.hh"
#include "audio-element.hh"
#include "warn.hh"
-
ENTER_DESCRIPTION (Performer_group_performer,
/* descr */ "",
/* creats*/ "",
(c) 2004 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include "string.hh"
-#include "lily-guile.hh"
+#include <cstdlib>
+#include <cstdio>
+#include <cstring>
+
#include "source-file.hh"
char *
#include "context.hh"
#include "directional-element-interface.hh"
#include "engraver.hh"
-#include "event.hh"
#include "slur.hh"
#include "note-column.hh"
#include "spanner.hh"
*/
#include "engraver.hh"
-#include "event.hh"
-#include "grob.hh"
-#include "item.hh"
#include "lily-guile.hh"
#include "side-position-interface.hh"
#include "staff-symbol-referencer.hh"
-#include "item.hh"
#include "axis-group-interface.hh"
#include "context.hh"
-
#include "directional-element-interface.hh"
#include "note-column.hh"
#include "warn.hh"
*/
#include "performer.hh"
-
-#include "event.hh"
#include "audio-item.hh"
/**
*/
#include "pitch-interval.hh"
-#include "interval.tcc"
+#include "interval.tcc"
Pitch_interval::Pitch_interval (Pitch p1, Pitch p2)
{
*/
#include "pitch.hh"
+
#include "warn.hh"
#include "main.hh"
-#include "ly-smobs.icc"
+#include "ly-smobs.icc"
Pitch::Pitch (int o, int n, int a)
{
*/
#include "property-iterator.hh"
+
#include "music.hh"
#include "context-def.hh"
#include "global-context.hh"
(c) 1998--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+
#include "protected-scm.hh"
-#include "lily-guile.hh"
Protected_scm::Protected_scm ()
{
#include "music-sequence.hh"
#include "lily-guile.hh"
#include "music-wrapper-iterator.hh"
-#include "music.hh"
-#include "input.hh"
#include "warn.hh"
-#include "interpretation-context-handle.hh"
class Quote_iterator : public Music_wrapper_iterator
{
#include "relative-octave-check.hh"
+
#include "input.hh"
#include "pitch.hh"
(c) 1998--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+
#include "relative-music.hh"
#include "warn.hh"
#include "scm-option.hh"
-
Pitch
Relative_octave_music::to_relative_octave (Pitch p)
{
#include "context.hh"
#include "repeated-music.hh"
-
/*
Objective:
*/
#include "repeated-music.hh"
+
#include "music-list.hh"
#include "pitch.hh"
#include "warn.hh"
-#include "music-sequence.hh"
#include "scm-option.hh"
Music *
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <math.h> // ceil.
+#include "rest-collision.hh"
+
+#include <cmath> // ceil.
#include "warn.hh"
-#include "rest-collision.hh"
#include "note-column.hh"
#include "stem.hh"
#include "rhythmic-head.hh"
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+
#include "item.hh"
#include "staff-symbol-referencer.hh"
-#include "event.hh"
#include "dots.hh"
#include "rhythmic-head.hh"
#include "engraver.hh"
-
class Rest_engraver : public Engraver
{
Music *rest_req_;
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+#include "rest.hh"
+
#include "stencil.hh"
#include "output-def.hh"
#include "font-interface.hh"
-#include "rest.hh"
#include "dots.hh"
#include "paper-score.hh"
#include "staff-symbol-referencer.hh"
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-
#include "engraver.hh"
#include "rhythmic-head.hh"
#include "stem.hh"
#include "note-column.hh"
#include "dot-column.hh"
-#include "event.hh"
-#include "item.hh"
#include "group-interface.hh"
-
-
/*
this engraver glues together stems, rests and note heads into a NoteColumn
grob.
*/
#include "rhythmic-head.hh"
+
#include "warn.hh"
#include "rest.hh"
#include "stem.hh"
#include "staff-symbol-referencer.hh"
#include "item.hh"
-
Item*
Rhythmic_head::get_dots (Grob*me)
{
(c) 1998--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+
#include "rod.hh"
+
#include "paper-column.hh"
#include "warn.hh"
#include "dimensions.hh"
(c) 1999--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <stdio.h>
-
#include "scm-hash.hh"
+
+#include <cstdio>
+
#include "ly-smobs.icc"
/*
(c) 2001--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <stdio.h>
-#include "parse-scm.hh"
-#include "string.hh"
-#include "lily-guile.hh"
#include "scm-option.hh"
+
+#include <cstdio>
+
+#include "parse-scm.hh"
#include "warn.hh"
#include "main.hh"
*/
#include "score-context.hh"
+
#include "score-translator.hh"
void
#include "warn.hh"
#include "main.hh"
#include "system.hh"
-#include "item.hh"
#include "score-engraver.hh"
#include "paper-score.hh"
#include "paper-column.hh"
#include "context-def.hh"
#include "staff-spacing.hh"
#include "note-spacing.hh"
-#include "context.hh"
#include "global-context.hh"
-
-
-
/*
TODO: the column creation logic is rather hairy. Revise it.
*/
{
Font_metric *fm = all_fonts_global->find_afm ("feta20");
if (!fm)
- error (_f ("can't find `%s'", "feta20.afm")
- + "\n" +_ ("Music font has not been installed properly. Aborting"));
-
- SCM pfa_path = ly_kpathsea_expand_path (scm_makfrom0str ("ecrm10.pfa"));
- if (!scm_is_string (pfa_path))
- error (_f ("can't find `%s'", "ecrm10.pfa")
- + "\n" +_f ("Install the ec-mftraced package from %s. Aborting",
- "http://lilypond.org/download/fonts/"));
-
-
+ error (_f ("cannot find `%s'", "feta20.afm")
+ + "\n"
+ + _ ("Music font has not been installed properly.")
+ + _ ("Aborting"));
+
+ if (!scm_is_string (ly_kpathsea_find_file (scm_makfrom0str ("ecrm10.pfa")))
+ && (!scm_is_string (ly_kpathsea_find_file (scm_makfrom0str ("lmr10.pfb")))))
+ error (_f ("cannot find `%s'", "ecrm10.pfa")
+ + "\n"
+ + _f ("cannot find `%s'", "lmr10.pfb")
+ + "\n"
+ + _f ("Install the ec-fonts-mftraced package from: %s.",
+ "http://lilypond.org/download/fonts/")
+ + "\n"
+ + _ ("Aborting."));
+
pscore_ = new Paper_score;
pscore_->layout_ = dynamic_cast<Output_def*> (get_output_def ());
*/
#include "score-performer.hh"
+
#include "audio-column.hh"
#include "audio-item.hh"
#include "performance.hh"
#include "context-def.hh"
#include "output-def.hh"
-
-
ENTER_DESCRIPTION (Score_performer,
/* descr */ "",
/* creats*/ "",
*/
#include "score-translator.hh"
+
#include "moment.hh"
void
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <stdio.h>
+#include "score.hh"
+
+#include <cstdio>
#include "lilypond-key.hh"
#include "lily-parser.hh"
#include "main.hh"
#include "music-iterator.hh"
#include "output-def.hh"
-#include "music-output.hh"
#include "music.hh"
#include "paper-book.hh"
#include "output-def.hh"
#include "paper-score.hh"
#include "scm-hash.hh"
-#include "score.hh"
#include "warn.hh"
Score::Score ()
#include "engraver.hh"
#include "script-column.hh"
-#include "item.hh"
#include "side-position-interface.hh"
/**
(c) 1999--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+
#include "script-column.hh"
+
#include "side-position-interface.hh"
#include "warn.hh"
#include "group-interface.hh"
#include "context.hh"
#include "directional-element-interface.hh"
#include "engraver.hh"
-#include "event.hh"
#include "slur.hh"
#include "note-column.hh"
#include "paper-column.hh"
#include "font-interface.hh"
#include "side-position-interface.hh"
#include "output-def.hh"
-#include "item.hh"
-#include "stencil.hh"
#include "lookup.hh"
#include "stem.hh"
#include "note-column.hh"
*/
#include "self-alignment-interface.hh"
+
#include "warn.hh"
/* Position centered on parent. */
*/
#include "separating-group-spanner.hh"
+
#include "separation-item.hh"
#include "paper-column.hh"
#include "output-def.hh"
#include "engraver.hh"
#include "axis-group-interface.hh"
#include "note-spacing.hh"
-#include "group-interface.hh"
#include "accidental-placement.hh"
#include "context.hh"
-
-
struct Spacings
{
Item * staff_spacing_;
*/
#include "separation-item.hh"
+
#include "paper-column.hh"
#include "warn.hh"
#include "group-interface.hh"
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+#include "sequential-iterator.hh"
+
#include "translator-group.hh"
#include "context.hh"
-#include "sequential-iterator.hh"
#include "music-list.hh"
#include "grace-fixup.hh"
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include "context.hh"
-
+#include "sequential-music-iterator.hh"
+#include "context.hh"
#include "warn.hh"
-#include "sequential-music-iterator.hh"
#include "music-list.hh"
-
-
-
IMPLEMENT_CTOR_CALLBACK (Sequential_music_iterator);
SCM
-
#include "music-list.hh"
#include "sequential-music-iterator.hh"
(c) 1998--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <math.h> // ceil.
-#include "note-head.hh"
#include "side-position-interface.hh"
+
+#include <cmath> // ceil.
+
+#include "note-head.hh"
#include "warn.hh"
#include "warn.hh"
#include "dimensions.hh"
*/
#include "simple-music-iterator.hh"
+
#include "music.hh"
#include "input.hh"
- add support for different stretch/shrink constants?
*/
-#include <stdio.h>
-#include <math.h>
-#include <libc-extension.hh> // isinf
#include "simple-spacer.hh"
+
+#include <cstdio>
+#include <cmath>
+
+#include <libc-extension.hh> // isinf
+
#include "paper-column.hh"
#include "spring.hh"
-#include "rod.hh"
#include "warn.hh"
#include "column-x-positions.hh"
#include "spaceable-grob.hh"
#include "dimensions.hh"
-
/*
A simple spacing constraint solver. The approach:
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+#include "simultaneous-music-iterator.hh"
+
#include "context.hh"
#include "warn.hh"
-#include "simultaneous-music-iterator.hh"
#include "music-list.hh"
#include "context-def.hh"
-
Simultaneous_music_iterator::Simultaneous_music_iterator ()
{
create_separate_contexts_ = false;
*/
#include "input.hh"
-#include "moment.hh"
#include "pitch.hh"
#include "music-list.hh"
#include "scm-option.hh"
#include "skyline.hh"
-
/*
A skyline is a shape of the form:
*/
-#include "engraver.hh"
#include "repeated-music.hh"
-#include "engraver-group-engraver.hh"
#include "global-context.hh"
#include "warn.hh"
#include "misc.hh"
#include "item.hh"
#include "percent-repeat-iterator.hh"
#include "bar-line.hh"
-
#include "score-engraver.hh"
-#include "context.hh"
-
/**
This acknowledges repeated music with "percent" style. It typesets
*/
-#include <math.h>
+#include "slur-configuration.hh"
+
+#include <cmath>
#include "stem.hh"
#include "warn.hh"
#include "group-interface.hh"
#include "slur.hh"
#include "slur-scoring.hh"
-#include "slur-configuration.hh"
#include "spanner.hh"
#include "staff-symbol-referencer.hh"
#include "libc-extension.hh"
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include "event.hh"
#include "slur.hh"
#include "note-column.hh"
#include "context.hh"
#include "engraver.hh"
#include "spanner.hh"
#include "tie.hh"
-#include "input.hh"
+
/*
It is possible that a slur starts and ends on the same note. At
least, it is for phrasing slurs: a note can be both beginning and
*/
#include "performer.hh"
-#include "event.hh"
#include "audio-item.hh"
#include "audio-column.hh"
#include "global-context.hh"
Jan Nieuwenhuizen <janneke@gnu.org>
*/
-#include <math.h>
+#include "slur-scoring.hh"
+
+#include <cmath>
#include "libc-extension.hh"
#include "slur-configuration.hh"
-#include "slur-scoring.hh"
#include "beam.hh"
#include "directional-element-interface.hh"
#include "group-interface.hh"
-#include "lily-guile.hh"
#include "slur.hh"
#include "note-column.hh"
#include "output-def.hh"
#include "pitch.hh"
-#include "bezier.hh"
#include "spanner.hh"
#include "staff-symbol-referencer.hh"
#include "staff-symbol.hh"
Jan Nieuwenhuizen <janneke@gnu.org>
*/
+#include "slur.hh"
-#include <math.h>
+#include <cmath>
#include "beam.hh"
#include "bezier.hh"
#include "directional-element-interface.hh"
#include "font-interface.hh"
#include "group-interface.hh"
-#include "lily-guile.hh"
#include "lookup.hh"
#include "main.hh" // DEBUG_SLUR_SCORING
#include "note-column.hh"
#include "output-def.hh"
-#include "rod.hh"
-#include "slur.hh"
#include "spanner.hh"
#include "staff-symbol-referencer.hh"
#include "staff-symbol.hh"
#include "stem.hh"
-#include "stencil.hh"
#include "text-item.hh"
#include "warn.hh"
#include "slur-scoring.hh"
Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+#include "source-file.hh"
+
#include "config.hh"
-#include <stdio.h>
-#include <assert.h>
+#include <cstdio>
#if HAVE_SSTREAM
#include <sstream>
#else
#define istringstream(x) istrstream(x, length ())
#endif
-#include "string.hh"
-#include "flower-proto.hh"
#include "warn.hh"
-#include "source-file.hh"
-#include "array.hh"
void
Source_file::load_stdin ()
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-
-#include <assert.h>
+#include "source.hh"
#include "killing-cons.tcc"
-#include "string.hh"
-#include "flower-proto.hh"
#include "source-file.hh"
-#include "source.hh"
#include "file-path.hh"
Sources::Sources ()
(c) 2000--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <stdio.h>
-#include <math.h>
#include "spaceable-grob.hh"
-#include "grob.hh"
+
+#include <cstdio>
+#include <cmath>
+
#include "warn.hh"
#include "spring.hh"
#include "group-interface.hh"
*/
-#include "event.hh"
#include "paper-column.hh"
#include "engraver.hh"
#include "pqueue.hh"
*/
-#include <math.h>
-#include <stdio.h>
+#include <cmath>
+#include <cstdio>
#include "main.hh"
#include "system.hh"
#include "output-def.hh"
#include "paper-score.hh"
#include "paper-column.hh"
-#include "item.hh"
#include "moment.hh"
#include "note-spacing.hh"
#include "misc.hh"
#include "break-align-interface.hh"
#include "spacing-interface.hh"
-
/*
TODO: this file/class is too complex. Should figure out how to chop
this up even more.
*/
#include "engraver.hh"
-#include "lily-guile.hh"
-#include "item.hh"
#include "arpeggio.hh"
#include "group-interface.hh"
#include "side-position-interface.hh"
#include "staff-symbol-referencer.hh"
-
/**
Make arpeggios that span multiple staves. Catch arpeggios, and span a
Span_arpeggio over them if we find more than two arpeggios.
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-
-#include "lily-guile.hh"
#include "bar-line.hh"
#include "item.hh"
#include "span-bar.hh"
#include "engraver.hh"
-
/**
Make bars that span multiple "staves". Catch bars, and span a
*/
#include "span-bar.hh"
+
#include "font-interface.hh"
#include "dimensions.hh"
#include "output-def.hh"
#include "stencil.hh"
#include "warn.hh"
#include "axis-group-interface.hh"
-#include "group-interface.hh"
-#include "grob.hh"
#include "bar-line.hh"
void
*/
#include "performer.hh"
-
-#include "event.hh"
#include "audio-item.hh"
/*
(c) 1996--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <math.h>
-#include <libc-extension.hh>
+#include "spanner.hh"
+
+#include <cmath>
+
+#include <libc-extension.hh>
#include "warn.hh"
-#include "spanner.hh"
#include "paper-column.hh"
#include "paper-score.hh"
#include "stencil.hh"
(c) 2001--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+
#include "staff-symbol.hh"
#include "engraver.hh"
#include "grob.hh"
#include "context.hh"
-
class Staff_collecting_engraver : public Engraver
{
public:
(c) 1997--2004 Jan Nieuwenhuizen <janneke@gnu.org>
*/
-#include "translator-group.hh"
#include "warn.hh"
#include "audio-column.hh"
#include "audio-item.hh"
(c) 2001--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <stdio.h>
+
+#include "staff-spacing.hh"
+
+#include <cstdio>
#include "paper-column.hh"
#include "separation-item.hh"
-#include "item.hh"
-#include "staff-spacing.hh"
-#include "grob.hh"
#include "warn.hh"
#include "bar-line.hh"
#include "staff-symbol-referencer.hh"
(c) 1999--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <math.h>
-
#include "staff-symbol-referencer.hh"
+
+#include <cmath>
+
#include "staff-symbol.hh"
#include "output-def.hh"
#include "libc-extension.hh"
-
int
Staff_symbol_referencer::line_count (Grob *me)
{
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+#include "staff-symbol.hh"
+
#include "lookup.hh"
#include "dimensions.hh"
#include "output-def.hh"
-#include "stencil.hh"
#include "warn.hh"
#include "item.hh"
-#include "staff-symbol.hh"
#include "staff-symbol-referencer.hh"
#include "spanner.hh"
-
-
MAKE_SCHEME_CALLBACK (Staff_symbol,print,1);
SCM
*/
-
#include "context.hh"
#include "engraver.hh"
#include "note-head.hh"
#include "lyric-extender.hh"
-#include "item.hh"
#include "group-interface.hh"
#include "side-position-interface.hh"
-
class Stanza_number_align_engraver : public Engraver
{
public:
*/
#include "engraver.hh"
-#include "item.hh"
#include "side-position-interface.hh"
class Stanza_number_engraver : public Engraver
#include "context.hh"
#include "directional-element-interface.hh"
#include "engraver.hh"
-#include "event.hh"
#include "item.hh"
#include "misc.hh"
#include "rhythmic-head.hh"
#include "stem-tremolo.hh"
#include "stem.hh"
-
/**
Make stems upon receiving noteheads.
*/
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+
+#include "stem-tremolo.hh"
+
#include "spanner.hh"
#include "beam.hh"
#include "directional-element-interface.hh"
#include "lookup.hh"
#include "output-def.hh"
#include "staff-symbol-referencer.hh"
-#include "stem-tremolo.hh"
#include "stem.hh"
#include "warn.hh"
Stem-end, chord-start, etc. is all confusing naming.
*/
-#include <math.h> // rint
+#include "stem.hh"
+
+#include <cmath> // rint
#include "lookup.hh"
#include "directional-element-interface.hh"
#include "note-head.hh"
-#include "stem.hh"
#include "warn.hh"
#include "output-def.hh"
#include "rhythmic-head.hh"
#include "font-interface.hh"
-#include "stencil.hh"
#include "paper-column.hh"
#include "misc.hh"
#include "beam.hh"
#include "rest.hh"
#include "group-interface.hh"
#include "staff-symbol-referencer.hh"
-#include "spanner.hh"
#include "side-position-interface.hh"
#include "dot-column.hh"
#include "stem-tremolo.hh"
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <math.h>
+#include "stencil.hh"
+
+#include <cmath>
+
#include <libc-extension.hh> // isinf
#include "input-smob.hh"
#include "font-metric.hh"
#include "dimensions.hh"
-#include "interval.hh"
-#include "string.hh"
-#include "stencil.hh"
#include "warn.hh"
#include "ly-smobs.icc"
#include "grob.hh"
#include "stencil.hh"
#include "font-interface.hh"
-#include "string.hh"
// update comment --hwn
/*
(c) 2000--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <math.h>
+
+#include "system-start-delimiter.hh"
+
+#include <cmath>
#include "spanner.hh"
#include "axis-group-interface.hh"
-#include "system-start-delimiter.hh"
#include "output-def.hh"
-#include "stencil.hh"
#include "font-interface.hh"
#include "all-font-metrics.hh"
-#include "grob.hh"
#include "staff-symbol-referencer.hh"
#include "lookup.hh"
(c) 1996--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <math.h>
+#include "system.hh"
+
+#include <cmath>
#include "align-interface.hh"
#include "axis-group-interface.hh"
#include "warn.hh"
-#include "system.hh"
#include "main.hh"
#include "paper-column.hh"
#include "output-def.hh"
#include "paper-outputter.hh"
#include "paper-score.hh"
-#include "string.hh"
#include "warn.hh"
-#include "stencil.hh"
#include "all-font-metrics.hh"
#include "spacing-interface.hh"
#include "staff-symbol-referencer.hh"
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <ctype.h>
-#include <stdio.h>
+
+#include <cctype>
+#include <cstdio>
#include "rhythmic-head.hh"
#include "output-def.hh"
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <limits.h>
-#include "string.hh"
#include "moment.hh"
-#include "real.hh"
+
#include "interval.tcc"
-#include "compare.hh"
Rational
Interval_t<Rational>::infinity ()
(c) 1998--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+
#include "directional-element-interface.hh"
#include "engraver.hh"
#include "side-position-interface.hh"
-#include "item.hh"
-#include "event.hh"
#include "stem.hh"
#include "rhythmic-head.hh"
#include "text-item.hh"
-
/**
typeset directions that are plain text.
*/
Jan Nieuwenhuizen <janneke@gnu.org>
*/
-#include <math.h>
+#include "text-item.hh"
+
+#include <cmath>
#include "warn.hh"
#include "grob.hh"
-#include "text-item.hh"
#include "font-interface.hh"
#include "virtual-font-metric.hh"
#include "output-def.hh"
MAKE_SCHEME_CALLBACK (Text_interface, interpret_string, 4)
SCM
Text_interface::interpret_string (SCM layout_smob,
- SCM props, SCM input_encoding, SCM markup)
+ SCM props, SCM input_encoding, SCM markup)
{
Output_def *layout = unsmob_output_def (layout_smob);
*/
#include "note-column.hh"
-#include "item.hh"
#include "side-position-interface.hh"
#include "engraver.hh"
Revised over good by Han-Wen.
*/
-#include "stencil.hh"
-#include "text-item.hh"
#include "text-spanner.hh"
+
+#include "text-item.hh"
#include "line-spanner.hh"
#include "spanner.hh"
#include "font-interface.hh"
*/
#include "tfm-reader.hh"
+
#include "string-convert.hh"
#include "warn.hh"
-#include "warn.hh"
#define format_string String_convert::form_string
#define FIX_UNITY \
*/
#include "tfm.hh"
+
#include "tfm-reader.hh"
#include "string-convert.hh"
#include "warn.hh"
-#include "warn.hh"
#include "dimensions.hh"
static Tex_font_char_metric dummy_static_char_metric;
tfm->char_metrics_ = reader.char_metrics_;
tfm->ascii_to_metric_idx_ = reader.ascii_to_metric_idx_;
-
- tfm->encoding_table_ =
- scm_call_1 (ly_scheme_function ("get-coding-table"),
- scm_makfrom0str (tfm->coding_scheme ().to_str0 ()));
+ tfm->encoding_table_
+ = scm_call_1 (ly_scheme_function ("get-coding-table"),
+ scm_makfrom0str (tfm->coding_scheme ().to_str0 ()));
return tfm->self_scm ();
}
*/
-#include "spanner.hh"
#include "tie-column.hh"
+
+#include "spanner.hh"
#include "group-interface.hh"
#include "tie.hh"
#include "directional-element-interface.hh"
#include "rhythmic-head.hh"
-
-
-
-
-
/*
tie dir depends on what Tie_column does.
*/
*/
-#include "event.hh"
#include "tie.hh"
#include "context.hh"
-
#include "protected-scm.hh"
#include "spanner.hh"
#include "tie-column.hh"
#include "context.hh"
#include "audio-item.hh"
-#include "event.hh"
#include "pqueue.hh"
#include "performer.hh"
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include <math.h>
+#include "tie.hh"
+
+#include <cmath>
#include "spanner.hh"
#include "lookup.hh"
#include "output-def.hh"
-#include "tie.hh"
#include "rhythmic-head.hh"
#include "bezier.hh"
#include "paper-column.hh"
#include "warn.hh"
#include "staff-symbol-referencer.hh"
#include "directional-element-interface.hh"
-#include "stencil.hh"
#include "bezier.hh"
#include "stem.hh"
#include "note-head.hh"
*/
#include "time-scaled-music-iterator.hh"
+
#include "time-scaled-music.hh"
#include "event.hh"
#include "context.hh"
*/
#include "time-scaled-music.hh"
+
#include "time-scaled-music-iterator.hh"
Time_scaled_music::Time_scaled_music ()
#include "time-signature.hh"
#include "warn.hh"
-
-#include "engraver.hh"
#include "engraver-group-engraver.hh"
#include "misc.hh"
*/
#include "audio-item.hh"
-#include "lily-proto.hh"
#include "performer.hh"
-
class Time_signature_performer : public Performer
{
public:
*/
+#include "time-signature.hh"
-#include "stencil.hh"
#include "text-item.hh"
-#include "time-signature.hh"
#include "output-def.hh"
#include "font-interface.hh"
#include "warn.hh"
#include "staff-symbol-referencer.hh"
-
/*
TODO:
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
+
#include "context.hh"
-#include "grob-info.hh"
#include "multi-measure-rest.hh"
#include "timing-translator.hh"
#include "engraver.hh"
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include "warn.hh"
#include "timing-translator.hh"
+#include "warn.hh"
#include "translator-group.hh"
#include "global-context.hh"
#include "multi-measure-rest.hh"
-
void
Timing_translator::stop_translation_timestep ()
{
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include "output-def.hh"
#include "translator-group.hh"
-#include "translator.hh"
+
+#include "output-def.hh"
#include "warn.hh"
-#include "moment.hh"
#include "scm-hash.hh"
#include "context-def.hh"
#include "context.hh"
*/
-#include "translator.hh"
#include "context-def.hh"
#include "translator-group.hh"
-#include "lily-guile.hh"
-
LY_DEFINE (ly_translator_name, "ly:translator-name",
1, 0, 0, (SCM trans),
(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-
#include "translator.hh"
+
#include "warn.hh"
#include "translator-group.hh"
#include "context-def.hh"
#include "global-context.hh"
-#include "moment.hh"
-#include "context.hh"
-#include "ly-smobs.icc"
+#include "ly-smobs.icc"
Translator::~Translator ()
{
*/
#include "transposed-music.hh"
+
#include "warn.hh"
Pitch
*/
#include "note-column.hh"
-#include "item.hh"
#include "side-position-interface.hh"
#include "engraver.hh"
*/
-#include <math.h>
+#include "tuplet-bracket.hh"
+
+#include <cmath>
#include "line-interface.hh"
#include "beam.hh"
-#include "box.hh"
#include "warn.hh"
#include "font-interface.hh"
-#include "stencil.hh"
#include "output-def.hh"
#include "text-item.hh"
-#include "tuplet-bracket.hh"
#include "stem.hh"
#include "note-column.hh"
#include "group-interface.hh"
#include "staff-symbol-referencer.hh"
#include "lookup.hh"
-
static Grob*
get_x_bound_grob (Grob *g, Direction my_dir)
{
*/
+#include "tweak-registration.hh"
#include "object-key-undumper.hh"
-#include "tweak-registration.hh"
-#include "object-key.hh"
#include "grob.hh"
#include "ly-smobs.icc"
-
void
Tweak_registry::clear ()
{
#include "un-relativable-music.hh"
-
Un_relativable_music::Un_relativable_music ( )
{
}
(c) 2002--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-
#include "music.hh"
#include "sequential-iterator.hh"
#include "context.hh"
#include "gregorian-ligature-engraver.hh"
#include "gregorian-ligature.hh"
#include "vaticana-ligature.hh"
-#include "item.hh"
#include "spanner.hh"
#include "staff-symbol-referencer.hh"
#include "font-interface.hh"
(c) 2003--2004 Juergen Reuter <reuter@ipd.uka.de>
*/
-#include <math.h>
-#include "item.hh"
#include "vaticana-ligature.hh"
+
+#include <cmath>
+
+#include "item.hh"
#include "font-interface.hh"
-#include "stencil.hh"
#include "lookup.hh"
#include "staff-symbol-referencer.hh"
#include "note-head.hh"
*/
-#include "warn.hh"
#include "virtual-font-metric.hh"
+
#include "all-font-metrics.hh"
#include "stencil.hh"
#include "output-def.hh"
-
+#include "warn.hh"
/*
passing DEF is ughish. Should move into layoutdef?
(c) 1997--2004 Jan Nieuwenhuizen <janneke@gnu.org>
*/
-#include <string.h>
+#include <cstring>
-#include "box.hh"
#include "warn.hh"
#include "font-interface.hh"
#include "line-interface.hh"
-#include "stencil.hh"
#include "paper-column.hh"
#include "output-def.hh"
#include "text-item.hh"
#include "engraver.hh"
#include "context.hh"
#include "volta-bracket.hh"
-#include "item.hh"
#include "note-column.hh"
#include "bar-line.hh"
#include "side-position-interface.hh"
#(define font-defaults
'((font-encoding . fetaMusic)))
+ %% use lmodern in latin1 (cork) flavour if EC is not available.
#(define text-font-defaults
- '((font-encoding . ec)
+ `((font-encoding
+ . ,(if (and (not (ly:kpathsea-find-file "ecrm10.pfa"))
+ (ly:kpathsea-find-file "cork-lm.enc")) 'cork-lm 'ec))
(baseline-skip . 2)
(word-space . 0.6)))
(define-public (read-encoding-file file-name)
"Read .enc file, return (COMMAND-NAME . VECTOR-OF-SYMBOLS)."
- (let* ((path (ly:kpathsea-expand-path file-name))
+ (let* ((path (ly:kpathsea-find-file file-name))
(unused (if (string? path) #t (ly:warn "can't find ~s" file-name)))
(raw (ly:gulp-file path))
(string (regexp-substitute/global #f "%[^\n]*" raw 'pre "" 'post))
("AdobeStandardEncoding" . "8a.enc")
("T1" . "tex256.enc")
("adobe" . "8a.enc")
+ ;; EC-fonts-mftraced
("ec" . "EC.enc")
+ ;; lmodern, encoding flavour latin1
+ ("cork-lm" . "cork-lm.enc")
;; input encodings
("latin1" . "latin1.enc")
("parmesanMusic" . "parmesan20.enc"))
))
+;; FIXME: this is broken, cannot get font encoding from font/AFM file,
+;; should use encoding from font-tree in fonts.scm
(define (get-coding coding-name)
(let ((entry (assoc-get coding-name coding-alist)))
(if entry
+;;;; font.scm -- construct font trees
+;;;;
+;;;; source file of the GNU LilyPond music typesetter
+;;;;
+;;;; (c) 2004 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
;; As an excercise, do it with records.
;; Should use GOOPS, really.
;;
(define-class <Font-tree-element>
- ()
- )
+ ())
+
(define-class <Font-tree-leaf> (<Font-tree-element>)
(default-size #:init-keyword #:default-size)
(define (make-font-tree-node
qualifier default)
(make <Font-tree-node>
- #:qualifier qualifier
- #:default default
- #:children (make-hash-table 11)))
+ #:qualifier qualifier
+ #:default default
+ #:children (make-hash-table 11)))
(define-method (display (leaf <Font-tree-leaf>) port)
(map (lambda (x) (display x port))
- (list
- "Font-size-family: \n"
- (slot-ref leaf 'default-size)
- (slot-ref leaf 'size-vector) )))
-
+ (list
+ "Font-size-family: \n"
+ (slot-ref leaf 'default-size)
+ (slot-ref leaf 'size-vector) )))
+
(define-method (display (node <Font-tree-node>) port)
-
- (map
- (lambda (x)
- (display x port))
-
- (list
- "Font_node { \nqual: "
- (font-qualifier node)
- "(def: "
- (font-default node)
- ") {\n"))
- (for-each
- (lambda (x)
- (display "\n")
- (display (car x) port)
- (display "=" port)
- (display (cdr x) port))
- (hash-table->alist (font-children node)))
- (display "} } \n"))
+
+ (map
+ (lambda (x)
+ (display x port))
+
+ (list
+ "Font_node { \nqual: "
+ (font-qualifier node)
+ "(def: "
+ (font-default node)
+ ") {\n"))
+ (for-each
+ (lambda (x)
+ (display "\n")
+ (display (car x) port)
+ (display "=" port)
+ (display (cdr x) port))
+ (hash-table->alist (font-children node)))
+ (display "} } \n"))
(define default-qualifier-order
(let*
((qual (next-qualifier default-qualifier-order fprops)))
(make-font-tree-node qual
- (assoc-get qual fprops)))
- ))
+ (assoc-get qual fprops)))))
+
(define (next-qualifier order props)
(cond
((and (null? props) (null? order))
(else
(if (assoc-get (car order) props)
(car order)
- (next-qualifier (cdr order) props))
- )))
+ (next-qualifier (cdr order) props)))))
+
(let*
((q (font-qualifier node))
(define-method (g-lookup-font (node <Font-tree-node>) alist-chain)
(let*
- ((qual (font-qualifier node))
- (def (font-default node))
- (val (chain-assoc-get qual alist-chain def))
- (desired-child (hashq-ref (font-children node) val)))
+ ((qual (font-qualifier node))
+ (def (font-default node))
+ (val (chain-assoc-get qual alist-chain def))
+ (desired-child (hashq-ref (font-children node) val)))
(if desired-child
(g-lookup-font desired-child alist-chain)
- (g-lookup-font (hashq-ref (font-children node) def) alist-chain)
- )))
+ (g-lookup-font (hashq-ref (font-children node) def) alist-chain))))
+
(define-method (g-lookup-font (node <Font-tree-leaf>) alist-chain)
node)
(define (lookup-font node alist-chain)
(g-lookup-font node alist-chain))
-;
-; Each size family is a vector of fonts, loaded with a delay.
-; The vector should be sorted according to ascending design size.
-;
+ ;
+ ; Each size family is a vector of fonts, loaded with a delay.
+ ; The vector should be sorted according to ascending design size.
+ ;
(define-public (add-music-fonts node factor)
(for-each
(cons (* factor (cadr x))
(caddr x))))
`((fetaNumber 10
- #(,(delay (ly:font-load "feta-nummer4"))
- ,(delay (ly:font-load "feta-nummer6"))
- ,(delay (ly:font-load "feta-nummer8"))
- ,(delay (ly:font-load "feta-nummer10"))
- ,(delay (ly:font-load "feta-nummer12"))
- ,(delay (ly:font-load "feta-nummer16"))))
+ #(,(delay (ly:font-load "feta-nummer4"))
+ ,(delay (ly:font-load "feta-nummer6"))
+ ,(delay (ly:font-load "feta-nummer8"))
+ ,(delay (ly:font-load "feta-nummer10"))
+ ,(delay (ly:font-load "feta-nummer12"))
+ ,(delay (ly:font-load "feta-nummer16"))))
(fetaDynamic 14.0 #(,(delay (ly:font-load "feta-din6"))
- ,(delay (ly:font-load "feta-din8"))
- ,(delay (ly:font-load "feta-din10"))
- ,(delay (ly:font-load "feta-din12"))
- ,(delay (ly:font-load "feta-din14"))
- ,(delay (ly:font-load "feta-din17"))
- ))
+ ,(delay (ly:font-load "feta-din8"))
+ ,(delay (ly:font-load "feta-din10"))
+ ,(delay (ly:font-load "feta-din12"))
+ ,(delay (ly:font-load "feta-din14"))
+ ,(delay (ly:font-load "feta-din17"))))
+
(fetaMusic 20.0
- #(,(delay (ly:make-virtual-font
- (ly:font-load "feta11")
- (ly:font-load "parmesan11")))
- ,(delay (ly:make-virtual-font
- (ly:font-load "feta13")
- (ly:font-load "parmesan13")))
- ,(delay (ly:make-virtual-font
- (ly:font-load "feta14")
- (ly:font-load "parmesan14")))
- ,(delay (ly:make-virtual-font
- (ly:font-load "feta16")
- (ly:font-load "parmesan16")))
- ,(delay (ly:make-virtual-font
- (ly:font-load "feta18")
- (ly:font-load "parmesan18")))
- ,(delay (ly:make-virtual-font
- (ly:font-load "feta20")
- (ly:font-load "parmesan20")))
- ,(delay (ly:make-virtual-font
- (ly:font-load "feta23")
- (ly:font-load "parmesan23")))
- ,(delay (ly:make-virtual-font
- (ly:font-load "feta26")
- (ly:font-load "parmesan26")))
- ))
-
+ #(,(delay (ly:make-virtual-font
+ (ly:font-load "feta11")
+ (ly:font-load "parmesan11")))
+ ,(delay (ly:make-virtual-font
+ (ly:font-load "feta13")
+ (ly:font-load "parmesan13")))
+ ,(delay (ly:make-virtual-font
+ (ly:font-load "feta14")
+ (ly:font-load "parmesan14")))
+ ,(delay (ly:make-virtual-font
+ (ly:font-load "feta16")
+ (ly:font-load "parmesan16")))
+ ,(delay (ly:make-virtual-font
+ (ly:font-load "feta18")
+ (ly:font-load "parmesan18")))
+ ,(delay (ly:make-virtual-font
+ (ly:font-load "feta20")
+ (ly:font-load "parmesan20")))
+ ,(delay (ly:make-virtual-font
+ (ly:font-load "feta23")
+ (ly:font-load "parmesan23")))
+ ,(delay (ly:make-virtual-font
+ (ly:font-load "feta26")
+ (ly:font-load "parmesan26")))))
+
+
(fetaBraces 15 #(,(delay
- (ly:make-virtual-font
- (ly:font-load "feta-braces-a")
- (ly:font-load "feta-braces-b")
- (ly:font-load "feta-braces-c")
- (ly:font-load "feta-braces-d")
- (ly:font-load "feta-braces-e")
- (ly:font-load "feta-braces-f")
- (ly:font-load "feta-braces-g")
- (ly:font-load "feta-braces-h")
- (ly:font-load "feta-braces-i"))
- ))))))
-
+ (ly:make-virtual-font
+ (ly:font-load "feta-braces-a")
+ (ly:font-load "feta-braces-b")
+ (ly:font-load "feta-braces-c")
+ (ly:font-load "feta-braces-d")
+ (ly:font-load "feta-braces-e")
+ (ly:font-load "feta-braces-f")
+ (ly:font-load "feta-braces-g")
+ (ly:font-load "feta-braces-h")
+ (ly:font-load "feta-braces-i"))))))))
(define-public (add-cmr-fonts node factor)
- (add-font
- node
- '((font-encoding . TeX-math))
- `(,(* factor 10) . #(,(delay (ly:font-load "msam10")))))
-
- (for-each
- (lambda (x)
- (add-font
- node
- `((font-encoding . TeX-text)
- (font-series . ,(vector-ref (car x) 2))
- (font-shape . ,(vector-ref (car x) 1))
- (font-family . ,(vector-ref (car x) 0)))
- (cons (* factor (cadr x))
- (cddr x))
- ))
- `((#(roman upright medium) .
- (10.0 . #(,(delay (ly:font-load "cmr6"))
- ,(delay (ly:font-load "cmr8"))
- ,(delay (ly:font-load "cmr10"))
- ,(delay (ly:font-load "cmr17"))
- )))
-
- (#(roman upright bold) .
- (10.0 . #(,(delay (ly:font-load "cmbx6"))
- ,(delay (ly:font-load "cmbx8"))
- ,(delay (ly:font-load "cmbx10"))
- ,(delay (ly:font-load "cmbx12"))
- )))
-
- (#(roman italic medium) .
- (10.0 . #(,(delay (ly:font-load "cmti7"))
- ,(delay (ly:font-load "cmti10"))
- ,(delay (ly:font-load "cmti12"))
- )))
- (#(roman italic bold) .
- (10.0 . #(,(delay (ly:font-load "cmbxti8"))
- ,(delay (ly:font-load "cmbxti10"))
- ,(delay (ly:font-load "cmbxti14"))
- )))
-
- (#(roman caps medium) .
- (10.0 . #(,(delay (ly:font-load "cmcsc10")))))
-
- (#(roman upright bold-narrow ) .
- (10.0 . #(,(delay (ly:font-load "cmb10"))
- )))
-
- (#(sans upright medium) .
- (10.0 . #(,(delay (ly:font-load "cmss8"))
- ,(delay (ly:font-load "cmss10"))
- ,(delay (ly:font-load "cmss12"))
- ,(delay (ly:font-load "cmss17"))
- )))
- (#(typewriter upright medium) .
- (10.0 . #(,(delay (ly:font-load "cmtt8"))
- ,(delay (ly:font-load "cmtt10"))
- ,(delay (ly:font-load "cmtt12"))
- )))))
-
- ;; lmodern: super-cm using metapost
- ;; lm.map: Reencoding, at fontlevel for TeX ?:
- ;; cork-lmb10 LMRomanDemi10-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmb10.pf
-
+ (add-font node '((font-encoding . TeX-math))
+ `(,(* factor 10) . #(,(delay (ly:font-load "msam10")))))
(for-each
(lambda (x)
- (add-font
- node
- `((font-encoding . ec)
- (font-series . ,(vector-ref (car x) 2))
- (font-shape . ,(vector-ref (car x) 1))
- (font-family . ,(vector-ref (car x) 0)))
- (cons (* factor (cadr x))
- (cddr x))
- ))
-
+ (add-font node `((font-encoding . TeX-text)
+ (font-series . ,(vector-ref (car x) 2))
+ (font-shape . ,(vector-ref (car x) 1))
+ (font-family . ,(vector-ref (car x) 0)))
+ (cons (* factor (cadr x))
+ (cddr x))))
+ `((#(roman upright medium)
+ . (10.0 . #(,(delay (ly:font-load "cmr6"))
+ ,(delay (ly:font-load "cmr8"))
+ ,(delay (ly:font-load "cmr10"))
+ ,(delay (ly:font-load "cmr17")))))
+ (#(roman upright bold)
+ . (10.0 . #(,(delay (ly:font-load "cmbx6"))
+ ,(delay (ly:font-load "cmbx8"))
+ ,(delay (ly:font-load "cmbx10"))
+ ,(delay (ly:font-load "cmbx12")))))
+ (#(roman italic medium)
+ . (10.0 . #(,(delay (ly:font-load "cmti7"))
+ ,(delay (ly:font-load "cmti10"))
+ ,(delay (ly:font-load "cmti12")))))
+ (#(roman italic bold)
+ . (10.0 . #(,(delay (ly:font-load "cmbxti8"))
+ ,(delay (ly:font-load "cmbxti10"))
+ ,(delay (ly:font-load "cmbxti14")))))
+ (#(roman caps medium)
+ . (10.0 . #(,(delay (ly:font-load "cmcsc10")))))
+ (#(roman upright bold-narrow )
+ . (10.0 . #(,(delay (ly:font-load "cmb10")))))
+ (#(sans upright medium)
+ . (10.0 . #(,(delay (ly:font-load "cmss8"))
+ ,(delay (ly:font-load "cmss10"))
+ ,(delay (ly:font-load "cmss12"))
+ ,(delay (ly:font-load "cmss17")))))
+ (#(typewriter upright medium)
+ . (10.0 . #(,(delay (ly:font-load "cmtt8"))
+ ,(delay (ly:font-load "cmtt10"))
+ ,(delay (ly:font-load "cmtt12"))))))))
+
+
+
+;;; lmodern: super-cm using metapost
+;;; lm.map: Reencoding, at fontlevel for TeX ?:
+;;; cork-lmb10 LMRomanDemi10-Regular "enccorklm ReEncodeFont" <cork-lm.enc <lmb10.pf
+;;;
;;; super-cm, aka lmodern (on Debian) seems rather broken:
;;; * no usable TFM files (no lmr10.tfm, only cork-lmr10.tfm)
;;; * broken AFM files:
;;; - invalid keyword 'Generated'
;;; - lists FontEncoding Fontspecific -- duh
-;;; revert to ec-fonts-mftraced for now
+;; revert to ec-fonts-mftraced for now
;;; make this easily switchable?
-
-;;; `((#(roman upright medium) .
-;;; (10.0 . #(,(delay (ly:font-load "lmr6"))
-;;; ,(delay (ly:font-load "lmr8"))
-;;; ,(delay (ly:font-load "lmr10"))
-;;; ,(delay (ly:font-load "lmr17")))))
-
-;;; (#(roman upright bold) .
-;;; (10.0 . #(,(delay (ly:font-load "lmbx6"))
-;;; ,(delay (ly:font-load "lmbx8"))
-;;; ,(delay (ly:font-load "lmbx10"))
-;;; ,(delay (ly:font-load "lmbx12")))))
-
-;;; (#(roman italic medium) .
-;;; (10.0 . #(,(delay (ly:font-load "lmri7"))
-;;; ,(delay (ly:font-load "lmri10"))
-;;; ,(delay (ly:font-load "lmri12")))))
-;;; (#(roman italic bold) .
-;;; (10.0 . #(,(delay (ly:font-load "lmbi8"))
-;;; ,(delay (ly:font-load "lmbi10"))
-;;; ,(delay (ly:font-load "lmbi14")))))
-
-;;; (#(roman caps medium) .
-;;; (10.0 . #(,(delay (ly:font-load "lmcs10")))))
-
-;;; (#(roman upright bold-narrow ) .
-;;; (10.0 . #(,(delay (ly:font-load "lmb10")))))
-
-;;; (#(sans upright medium) .
-;;; (10.0 . #(,(delay (ly:font-load "lmss8"))
-;;; ,(delay (ly:font-load "lmss10"))
-;;; ,(delay (ly:font-load "lmss12"))
-;;; ,(delay (ly:font-load "lmss17")))))
-;;; (#(sans upright bold) .
-;;; (10.0 . #(,(delay (ly:font-load "lmssbx10")))))
-
-;;; (#(typewriter upright medium) .
-;;; (10.0 . #(,(delay (ly:font-load "lmtt8"))
-;;; ,(delay (ly:font-load "lmtt10"))
-;;; ,(delay (ly:font-load "lmtt12"))))))))
- `((#(roman upright medium) .
- (10.0 . #(,(delay (ly:font-load "ecrm6"))
- ,(delay (ly:font-load "ecrm8"))
- ,(delay (ly:font-load "ecrm10"))
- ,(delay (ly:font-load "ecrm17")))))
- (#(roman upright bold) .
- (10.0 . #(,(delay (ly:font-load "ecbx6"))
- ,(delay (ly:font-load "ecbx8"))
- ,(delay (ly:font-load "ecbx10"))
- ,(delay (ly:font-load "ecbx12")))))
- (#(roman italic medium) .
- (10.0 . #(,(delay (ly:font-load "ecti7"))
- ,(delay (ly:font-load "ecti10"))
- ,(delay (ly:font-load "ecti12")))))
- (#(roman italic bold) .
- (10.0 . #(,(delay (ly:font-load "ecbi8"))
- ,(delay (ly:font-load "ecbi10"))
- ,(delay (ly:font-load "ecbi14")))))
- (#(roman caps medium) .
- (10.0 . #(,(delay (ly:font-load "eccc10")))))
- (#(roman slanted-caps medium) .
- (10.0 . #(,(delay (ly:font-load "ecsc10")))))
- (#(roman upright bold-narrow ) .
- (10.0 . #(,(delay (ly:font-load "ecrb10")))))
- (#(sans upright medium) .
- (10.0 . #(,(delay (ly:font-load "ecss8"))
- ,(delay (ly:font-load "ecss10"))
- ,(delay (ly:font-load "ecss12"))
- ,(delay (ly:font-load "ecss17")))))
- (#(typewriter upright medium) .
- (10.0 . #(,(delay (ly:font-load "ectt8"))
- ,(delay (ly:font-load "ectt10"))
- ,(delay (ly:font-load "ectt12"))))))))
-
-
-
+(define-public (add-cork-lm-fonts node factor)
+ (for-each
+ (lambda (x)
+ (add-font node `((font-encoding . cork-lm)
+ (font-series . ,(vector-ref (car x) 2))
+ (font-shape . ,(vector-ref (car x) 1))
+ (font-family . ,(vector-ref (car x) 0)))
+ (cons (* factor (cadr x)) (cddr x))))
+ `((#(roman upright medium)
+ . (10.0 . #(,(delay (ly:font-load "lmr6"))
+ ,(delay (ly:font-load "lmr8"))
+ ,(delay (ly:font-load "lmr10"))
+ ,(delay (ly:font-load "lmr17")))))
+ (#(roman upright bold)
+ . (10.0 . #(,(delay (ly:font-load "lmbx6"))
+ ,(delay (ly:font-load "lmbx8"))
+ ,(delay (ly:font-load "lmbx10"))
+ ,(delay (ly:font-load "lmbx12")))))
+ (#(roman italic medium)
+ . (10.0 . #(,(delay (ly:font-load "lmri7"))
+ ,(delay (ly:font-load "lmri10"))
+ ,(delay (ly:font-load "lmri12")))))
+ (#(roman italic bold)
+ . (10.0 . #(,(delay (ly:font-load "lmbxi8"))
+ ,(delay (ly:font-load "lmbxi10"))
+ ,(delay (ly:font-load "lmbi14")))))
+ (#(roman caps medium)
+ . (10.0 . #(,(delay (ly:font-load "lmcsc10")))))
+ (#(roman upright bold-narrow )
+ . (10.0 . #(,(delay (ly:font-load "lmb10")))))
+ (#(sans upright medium)
+ . (10.0 . #(,(delay (ly:font-load "lmss8"))
+ ,(delay (ly:font-load "lmss10"))
+ ,(delay (ly:font-load "lmss12"))
+ ,(delay (ly:font-load "lmss17")))))
+ (#(sans upright bold)
+ . (10.0 . #(,(delay (ly:font-load "lmssbx10")))))
+
+ (#(typewriter upright medium)
+ . (10.0 . #(,(delay (ly:font-load "lmtt8"))
+ ,(delay (ly:font-load "lmtt10"))
+ ,(delay (ly:font-load "lmtt12"))))))))
+
+(define-public (add-ec-fonts node factor)
+ (for-each
+ (lambda (x) (add-font node
+ `((font-encoding . ec)
+ (font-series . ,(vector-ref (car x) 2))
+ (font-shape . ,(vector-ref (car x) 1))
+ (font-family . ,(vector-ref (car x) 0)))
+ (cons (* factor (cadr x)) (cddr x))))
+
+ `((#(roman upright medium)
+ . (10.0 . #(,(delay (ly:font-load "ecrm6"))
+ ,(delay (ly:font-load "ecrm8"))
+ ,(delay (ly:font-load "ecrm10"))
+ ,(delay (ly:font-load "ecrm17")))))
+ (#(roman upright bold)
+ . (10.0 . #(,(delay (ly:font-load "ecbx6"))
+ ,(delay (ly:font-load "ecbx8"))
+ ,(delay (ly:font-load "ecbx10"))
+ ,(delay (ly:font-load "ecbx12")))))
+ (#(roman italic medium)
+ . (10.0 . #(,(delay (ly:font-load "ecti7"))
+ ,(delay (ly:font-load "ecti10"))
+ ,(delay (ly:font-load "ecti12")))))
+ (#(roman italic bold)
+ . (10.0 . #(,(delay (ly:font-load "ecbi8"))
+ ,(delay (ly:font-load "ecbi10"))
+ ,(delay (ly:font-load "ecbi14")))))
+ (#(roman caps medium)
+ . (10.0 . #(,(delay (ly:font-load "eccc10")))))
+ (#(roman slanted-caps medium)
+ . (10.0 . #(,(delay (ly:font-load "ecsc10")))))
+ (#(roman upright bold-narrow )
+ . (10.0 . #(,(delay (ly:font-load "ecrb10")))))
+ (#(sans upright medium)
+ . (10.0 . #(,(delay (ly:font-load "ecss8"))
+ ,(delay (ly:font-load "ecss10"))
+ ,(delay (ly:font-load "ecss12"))
+ ,(delay (ly:font-load "ecss17")))))
+ (#(typewriter upright medium)
+ . (10.0 . #(,(delay (ly:font-load "ectt8"))
+ ,(delay (ly:font-load "ectt10"))
+ ,(delay (ly:font-load "ectt12"))))))))
;; (display (make-font-tree 1.0))
;; Century Schoolbook fonts file names on Debian/Sid
(define-public (add-century-schoolbook-fonts node factor)
-
(add-font node
'((font-family . roman)
(font-shape . upright)
(font-series . medium)
(font-encoding . latin1))
`(10.0 . #(,(delay (ly:font-load "uncr8a")))))
-
(add-font node
'((font-family . roman)
(font-shape . italic)
(font-series . medium)
(font-encoding . latin1))
`(10.0 . #(,(delay (ly:font-load "uncri8a")))))
-
(add-font node
'((font-family . roman)
(font-shape . upright)
(font-series . bold)
(font-encoding . latin1))
`(10.0 . #(,(delay (ly:font-load "uncb8a")))))
-
(add-font node
'((font-family . roman)
(font-shape . italic)
(font-series . bold)
(font-encoding . latin1))
- `(10.0 . #(,(delay (ly:font-load "uncbi8a")))))
- )
-
+ `(10.0 . #(,(delay (ly:font-load "uncbi8a"))))))
(define-public (make-cmr-tree factor)
- (let
- ((n (make-font-tree-node 'font-encoding 'fetaMusic)))
-
+ (let ((n (make-font-tree-node 'font-encoding 'fetaMusic)))
(add-music-fonts n factor)
(add-cmr-fonts n factor)
- n
- ))
-
+ (if (ly:kpathsea-find-file "lmr10.pfb")
+ (add-cork-lm-fonts n factor))
+ (if (ly:kpathsea-find-file "ecrm10.pfa")
+ (add-ec-fonts n factor))
+ n))
(define-public (make-century-schoolbook-tree factor)
-
- (let
- ((n (make-font-tree-node 'font-encoding 'fetaMusic)))
-
+ (let ((n (make-font-tree-node 'font-encoding 'fetaMusic)))
(add-music-fonts n factor)
(add-century-schoolbook-fonts n factor)
- n
- ))
-
+ n))
(define-public (magstep x)
(exp (* (/ x 6) (log 2))))
(lambda (x)
(let* ((aname (string-append x ".pfa"))
- (apath (ly:kpathsea-expand-path aname))
+ (apath (ly:kpathsea-find-file aname))
(bpath (if (not apath)
- (ly:kpathsea-expand-path
+ (ly:kpathsea-find-file
(string-append x ".pfb"))
#f)))
(cond
(apath (ly:gulp-file apath))
(bpath (ly:pfb->pfa bpath))
(else
- (ly:warn "Can't find PFA font ~S" x)
+ (ly:warn "cannot find PFA font ~S" x)
""))))
(filter string? font-names))))
(define (font-load-encoding encoding)
(let ((file-name (get-coding-file-name encoding)))
- (ly:gulp-file (ly:kpathsea-expand-path file-name))))
+ (ly:gulp-file (ly:kpathsea-find-file file-name))))
(let* ((encoding-list (map (lambda (x)
(assoc-get 'input-name
(ice-9 string-fun)
(ice-9 format)
(guile)
- (srfi srfi-13)
(srfi srfi-1)
+ (srfi srfi-13)
(lily))
(define-public (sanitize-tex-string s)
(font-encoding (assoc-get 'output-name coding-alist)))
(string-append
"\\font\\lilypond" (tex-font-command font) "="
+ (if (or (equal? (ly:font-encoding font) "cork-lm")
+ ;; FIXME: encoding: FontSpecific for cork-lm
+ (string-prefix? "lm" (ly:font-file-name font)))
+ "cork-" "")
(ly:font-file-name font)
" scaled "
(ly:number->string (inexact->exact
(base (basename name ".tex"))
(cmd (string-append "dvips "
(if preview?
- " -E "
+ "-E "
(string-append
- " -t "
-
+ "-t"
;; careful: papersizename is user-set.
- (sanitize-command-option papersizename)))
-
- (if landscape?
- " -t landscape "
- " ")
- " -u+ec-mftrace.map -u+lilypond.map -Ppdf "
+ (sanitize-command-option papersizename)
+ " "))
+ (if landscape? "-t landscape " "")
+ (if (ly:kpathsea-find-file "lm.map")
+ "-u+lm.map " "")
+ (if (ly:kpathsea-find-file "ecrm10.pfa")
+ "-u+ec-mftrace.map " "")
+ "-u+lilypond.map -Ppdf " ""
base)))
-
(let ((ps-name (string-append base ".ps")))
(if (access? ps-name W_OK)
(delete-file ps-name)))