#This file controls which classes produce debugging output
# class name silence?
-Dstream 1
+Dstream 0
# yydebug
InitParser 1
# flower lib
File_path 1
-Matrix 0
-Vector 0
+Matrix 1
+Vector 1
# lily
-Atom 0
-Axis_group_administration 0
-Bar 0
-Beam 0
-Bow 0
+Atom 1
+Axis_group_administration 1
+Bar 1
+Beam 1
+Bow 1
Bezier_bow 1
-Change_iterator 0
-Chord 0
-Chord_iterator 0
-Clef_item 0
-Col_configuration 0
-Col_hpositions 0
-Colinfo 0
-Colinfo 0
-Collision 0
-Column_rod 0
-Engraver 0
-Engraver_group_engraver 0
-Graphical_element 0
-Group_change_req 0
-Head_column 0
-Horizontal_align_item 0
-Idealspacing 0
-Ineq_constrained_qp 0
-Input_translator 0
-Item 0
-Key_item 0
-Lookup 0
-Line_spacer 0
-Melodic_req 0
-Midi_def 0
-Midistrings 0
-Mixed_qp 0
+Change_iterator 1
+Chord 1
+Chord_iterator 1
+Clef_item 1
+Col_configuration 1
+Col_hpositions 1
+Colinfo 1
+Colinfo 1
+Collision 1
+Column_rod 1
+Engraver 1
+Engraver_group_engraver 1
+Graphical_element 1
+Group_change_req 1
+Head_column 1
+Horizontal_align_item 1
+Idealspacing 1
+Ineq_constrained_qp 1
+Input_translator 1
+Item 1
+Key_item 1
+Lookup 1
+Line_spacer 1
+Melodic_req 1
+Midi_def 1
+Midistrings 1
+Mixed_qp 1
Music 0
-Music_iterator 0
-Music_output_def 0
-Note_column 0
-Note_head 0
-Note_performer 0
+Music_iterator 1
+Music_output_def 1
+Note_column 1
+Note_head 1
+Note_performer 1
Note_req 0
-Paper_column 0
+Paper_column 1
Paper_score 1
-Paper_def 0
-Performer 0
-Performer_group_performer 0
-Request 0
-Request_iterator 0
-Rest_collision 0
-Rest_collision_engraver 0
-Rest_req 0
+Paper_def 1
+Performer 1
+Performer_group_performer 1
+Request 1
+Request_iterator 1
+Rest_collision 1
+Rest_collision_engraver 1
+Rest_req 1
Rhythmic_head 0
Rhythmic_req 0
-Score 1
-Score_column 0
-Score_elem 0
-Score_engraver 0
-Score_performer 0
-Script_column 0
-Script_def 0
-Script_req 0
-Single_malt_grouping_item 0
-Slur 0
-Spacer_rod 0
-Spacing_problem 0
-Spanner 0
-Spring_spacer 0
-Staff 0
-Staff_commands 0
-Staff_symbol 0
-Stem 0
-Stem 0
-Stem_req 0
-Symtable 0
-Symtables 0
+Score 0
+Score_column 1
+Score_elem 1
+Score_engraver 1
+Score_performer 1
+Script_column 1
+Script_def 1
+Script_req 1
+Single_malt_grouping_item 1
+Slur 1
+Spacer_rod 1
+Spacing_problem 1
+Spanner 1
+Spring_spacer 1
+Staff 1
+Staff_commands 1
+Staff_symbol 1
+Stem 1
+Stem_info 1
+Stem_req 1
+Symtable 1
+Symtables 1
-Text_def 0
-Text_req 0
-Time_description 0
-Translation_property 0
-Translator 0
-Translator_group 0
-Voice 0
-Voice_iterator 0
-Word_wrap 0
+Text_def 1
+Text_req 1
+Time_description 1
+Translation_property 1
+Translator 1
+Translator_group 1
+Voice 1
+Voice_iterator 1
+Word_wrap 1
-delete_identifiers 0
-parse_duration 0
-parse_pitchmod 0
+delete_identifiers 1
+parse_duration 1
+parse_pitchmod 1
HTMLFILES = $(OUTPODFILES:.pod=.html)
+default: all do-doc
-default: do-doc
#
# list of distribution files:
#
# don't do DVI files. They can only be made if lily is installed
do-doc: $(TEXTFILES)
-html: $(HTMLFILES)
+local-WWW: $(HTMLFILES)
# generic targets and rules:
#
=over 4
=item *
-<a href=tex_manuals.html
+<a href=../tex/out-www/index.html
>
PS documents about LilyPond
</a
>
+=item *
+<a href=../man/out-www/index.html
+>
+Manual pages
+</a
+>
=back
include $(depth)/make/Include.make
include $(depth)/make/Docrules.make
SECTION=1
+MANTXT = $(addprefix $(outdir)/, $(addsuffix .txt,$(basename $(PODFILES) .pod)))
MANGROFF = $(addprefix $(outdir)/, $(addsuffix .$(SECTION),$(basename $(PODFILES) .pod)))
-default: $(MANGROFF)
+default: $(MANTXT) $(MANGROFF)
INSTALLATION_OUT_FILES=$(MANGROFF)
-INSTALLATION_DIR=$(mandir)/man$(SECTION)
+INSTALLATION_OUT_DIR=$(mandir)/man$(SECTION)
include $(depth)/make/Install_outfiles.make
-WWW: $(OUTPODFILES:.pod=.html)
+local-WWW: $(OUTPODFILES:.pod=.html)
+ ls-latex --title 'Manual pages for LilyPond' $(PODFILES) > $(outdir)/index.html
+++ /dev/null
-=head1 NAME
-
-The Manuals of LilyPond -- the GNU Project music typesetter
-
-=head1 DESCRIPTION
-
-These are the manpages that document LilyPond.
-
-
-=head2 Documentation: manpages, manuals
-
-
-=over 4
-
-=item *
-<a href=mi2mu.html
->
-manual page for mi2mu, the MIDI convertor.
-</a
->
-
-=item *
-<a href=lilypond.html
->
-The manual page
-</a
->
-
-=item *
-<a href=ly2dvi.html
->
-Easy titling for LilyPond
-</a
->
-
-=item *
-<a href=convert-mudela.html
->
-The mudela convertor: convert-mudela
-</a
->
-
-=item *
-<a href=mudela-book.html
->
-mudela in TeX: mudela-book
-</a
->
-
-=back
This disables TeX output. If you have a \midi definition, it will do
the midi output only.
-=item B<-d,--debug>,
+=item B<-d,--dependencies>
+
+Also output rules to be included in Makefile.
+
+=item B<-D,--debug>,
Turn debugging info on. GNU LilyPond reads the file F<.dstreamrc>,
which lists what functions and classes may produce copious debugging
info is written, in level two the command C<set -x> is run, which
echoes every command in the ly2dvi script.
+=item B<-H,--headers=>
+
+Name of additional LaTeX headers file. This is included in the
+tex file at the end of the headers, last line before \begin{document}
+
+=item B<-K,--keeplilypond>
+
+Keep LilyPond output after the run.
+
+=item B<-L,--landscape>
+
+Set landscape orientation - portrait is the default.
+(C<-L> produces C<\usepackage[landscape]{article}>)
+
+=item B<-N,--nonumber>
+
+Switch off page numbering.
+
=item B<-O,--orientation=>
Set orientation - portrait is the default.
(C<-O> landscape produces C<\usepackage[landscape]{article}>)
-=item B<-o,--output=>
-
-Set output directory.
-
=item B<-h,--help>
Print help.
-=item B<-k,--keep>
+=item B<-k,--keeply2dvi>
Keep the LaTeX file after the run.
-=item B<-K>
-
-Keep LilyPond output after the run.
-
-=item B<-l,--language>
+=item B<-l,--language=>
Specify LaTeX language.
(C<-l norsk> produces C<\usepackage[norsk]{babel}>).
+=item B<-o,--output=>
+
+Set output directory.
+
=item B<-p,--papersize=>
Specify papersize.
=over 5
-=item B<papersize>
+=item B<language="";>
-Specify papersize.
+Specify LaTeX language
-=item B<orientation>
+=item B<latexheaders="";>
-Set orientation.
+Specify additional LaTeX headers file
-=item B<language>
+=item B<orientation="";>
-Specify LaTeX language
+Set orientation.
-=item B<paperlinewidth>
+=item B<paperlinewidth="";>
Specify the width (pt, mm or cm) of the printed lines.
+=item B<papersize="";>
+
+Specify papersize.
+
=back
=head1 ENVIRONMENT
=over 5
-=item B<ORIENTATION>
+=item B<LANGUAGE=>
-Set orientation - portrait is the default.
+Specify LaTeX language.
-=item B<LANGUAGE>
+=item B<LATEXHF=>
-Specify LaTeX language.
+Specify additional LaTeX headers file
-=item B<OUTPUTDIR>
+=item B<LILYINCLUDE=>
-Set output directory.
+Additional directories for input files.
-=item B<PAPERSIZE>
+=item B<ORIENTATION=>
-Specify papersize.
+Set orientation - portrait is the default.
-=item B<LILYINCLUDE>
+=item B<OUTPUTDIR=>
-Additional directories for input files.
+Set output directory.
-=item B<TMP>
+=item B<PAPERSIZE=>
+
+Specify papersize.
+
+=item B<TMP=>
Temporary directory name.
dvi: $(DVIFILES)
-local-WWW: $(OUTDOCFILES:.doc=.ps.gz)
- ls-latex --extension .ps.gz $(DOCFILES) > $(outdir)/index.html
+local-WWW: $(OUTDOCFILES:.doc=.ps.gz) $(addprefix $(outdir)/, $(BIBFILES))
+ ls-latex --title 'LaTeX documents about LilyPond' --extension .ps.gz $(BIBFILES) $(DOCFILES) > $(outdir)/index.html
+
+$(outdir)/%.bib: %.bib
+ ln $< $@
%
-% from the University of Colorado Engraving page (by Alyssa Lamb)
+% TITLE=University of Colorado Engraving music bibliography
+% AUTHOR=Alyssa Lamb
%
@Book {
+%
+% TITLE=The engraving bibliography
+% AUTHOR=Han-Wen Nienhuys
+%
+
+
@Book{rastall,
author = {Richard Rastall},
ALTeditor = {},
+% -*-LaTeX-*-
+
\documentclass{article}
\def\kdots{,\ldots,}
\title{Not the Font-En-Tja font}
\section{Introduction}
-This document are some design notes of the Feta font. Feta (not an
-abbreviation of Font-En-Tja) is a font of music symbols. All MetaFont
-sources are original. The symbols are modelled after various editions
-of music, notably
-\begin{itemize}
-\item B\"arenreiter
-\item Hofmeister
-\item Breitkopf
-\item Durand \& C'ie
-\end{itemize}
+This document are some design notes of the Feta font, and other
+symbols related to LilyPond. Feta (not an abbreviation of
+Font-En-Tja) is a font of music symbols. All MetaFont sources are
+original. The symbols are modelled after various editions of music,
+notably \begin{itemize} \item B\"arenreiter \item Hofmeister \item
+Breitkopf \item Durand \& C'ie \end{itemize}
The best references on Music engraving are Wanske\cite{wanske} and
Ross\cite{ross} quite some of their insights were used. Although it
Ross states that the dies (the stamps to make the symbols) come in
12 different sizes.
+\section{Beams}
+
+\subsection{Slope}
+
+Traditionally, beam slopes are computed by following a large and hairy
+set of rules. Some of these are talked-about in Wanske, a more
+recipy-like description can be found in Ross.
+
+There are some problems when trying to follow these rules:
+\begin{itemize}
+
+\item the set is not complete
+
+\item they are not formulated as a general rule with exceptions, but
+rather as a huge case of individual rules\cite{ross}
+
+\item in some cases, the result is wrong or ugly (or both)
+
+\item they try to solve a couple of problems at a time (e.g. Ross
+handles ideal slope and slope-quantisation as a paired problem)
+\end{itemize}
+Reading Ross it is clear that the rules presented there are certainly
+not the ultimate idea of what beam(slope)s should look like, but
+rather a (very much) simplified hands-on recipy for a human engraver.
+
+There are good reasons not to follow those rules:
+
+\begin{itemize}
+\item One cannot expect a human engraver to solve least-squares
+problems for every beam
+
+\item A human engravers will allways trust themselves in judging the
+outcome of the applied recipy. If, in a complicated case, the result
+"doesn't look good", they will ignore the rules and draw their own
+beams, based on experience.
+
+\item The exact rules probably even don't "really exsist" but in the
+minds of good engravers, in the form of experience
+\end{itemize}
+
+We'll propose to do a least-squares solve. This seems to be the best
+way to calculate the slope for a computerised engraver such as Lily.
+
+It would be nice to have some rules to catch and handle "ugly" cases,
+though. In general, the slope of the beam should mirror the pitches
+of the notes. If this "can't be done" because there simply is no
+uniform "trend", it would probably be best to set the slope to zero.
+
+
+\subsection{Quantising}
+
+The beams should be prevented to conflict with the stafflines,
+especially at small slopes. Traditionally, poor printing techniques
+imposed rather strict rules for quantisation. In modern (post 1955)
+music printing we see that quality has improved substantially and
+obsoleted the technical justification for following some of these
+strict rules, notably the avoiding of so-called wedges.
+
+
+
\bibliographystyle{plain}
\bibliography{engraving}
the central C, also known as c$^1$, is written as \verb+c'+. A quarter
note duration is written as \verb+4+. So, to print quarter note with
central C pitch, you enter the following
-\begin[fragment,verbatim,center]{mudela}
+\begin{mudela}[fragment,verbatim,center]
c'4
\end{mudela}
The pitch \verb+c'+ actually consists of two parts: one for the note
The note names simply are the letters \verb+a+ to \verb+g+.
For example,
-\begin[fragment,verbatim]{mudela}
+\begin{mudela}[fragment,verbatim]
c'4 d'4 e'4 c'4 c''4 d''4 e''4 f''4 g''4 a''4 b''4 c'''4
\end{mudela}
The duration of a note is specified as a number: a whole note is
denoted by 1, the half note by 2, the quarter by 4, and so on. Here
are some random notes to show how it works
-\begin[fragment,verbatim]{mudela}
+\begin{mudela}[fragment,verbatim]
'c8 c8 c'16 c''32 d''64 b'64 c'''2 c1 c'4 d'4 e'4 f'4 g'4 a'4
\end{mudela}
This gives us already enough material to make simple songs:
-\begin[fragment,verbatim]{mudela}
+\begin{mudela}[fragment,verbatim]
c''4 d''4 e''4 c''4
e''4 f''4 g''2
g''8 a''8 g''8 f''8 e''4 c''4
However, having only quarter notes may get a bit dull.
Durations are entered as their reciproce values
% a1 a2 a4 a a8 a a16 a a32 a a64 a a a a
-\begin[fragment,verbatim,center]{mudela}
+\begin{mudela}[fragment,verbatim,center]
a1 a2 a4 a a8 a a16 a32 a64
\end{mudela}
note that you only have to specify
Lily assumes a note has the same duration as the previous one.
Now we can already write a little tune
-\begin[fragment,verbatim,center]{mudela}
+\begin{mudela}[fragment,verbatim,center]
c d e c | c d e c | e f g2
\end{mudela}
As you'll probably have guessed,
we left-out the last c note of the next octave.
Postfixing the pitch with a quote \verb+'+
produces a note by one octave higher
-\begin[fragment,verbatim,center]{mudela}
+\begin{mudela}[fragment,verbatim,center]
c c' c''
\end{mudela}
Prefixing the pitch with a quote \verb+'+
produces a note by one octave lower
-\begin[fragment,verbatim,center]{mudela}
+\begin{mudela}[fragment,verbatim,center]
a 'a ''a
\end{mudela}
A tie connects two adjacent noteheads
-\begin[fragment,verbatim,center]{mudela}
+\begin{mudela}[fragment,verbatim,center]
e' ~ e
\end{mudela}
Whereas a slur rather connects `chords',
and tries to avoid crossing stems
-\begin[fragment,verbatim,center]{mudela}
+\begin{mudela}[fragment,verbatim,center]
e'( )e
\end{mudela}
And of course, such a (legato) slur can span several notes
-\begin[fragment,verbatim,center]{mudela}
+\begin{mudela}[fragment,verbatim,center]
c( d e )f
\end{mudela}
\section{Beams and Plets}
A beam is
-\begin[fragment,verbatim,center]{mudela}
+\begin{mudela}[fragment,verbatim,center]
[a8 a] [a16 a a a]
\end{mudela}
Here's a beamed triplet
-\begin[fragment,verbatim,center]{mudela}
+\begin{mudela}[fragment,verbatim,center]
[/3 a8 a a]/1
\end{mudela}
a triplet without a beam
-\begin[fragment,verbatim,center]{mudela}
+\begin{mudela}[fragment,verbatim,center]
\[/3 a4 a8\]
\end{mudela}
and a combination
-\begin[fragment,verbatim,center]{mudela}
+\begin{mudela}[fragment,verbatim,center]
[/3 a8 a16 a] a8 \]
\end{mudela}
Abbreviations
-\begin[fragment,verbatim,center]{mudela}
+\begin{mudela}[fragment,verbatim,center]
c1:16 [:16 e1 g]
\end{mudela}
-\begin[fragment,verbatim,center]{mudela}
+\begin{mudela}[fragment,verbatim,center]
c4:32 [:16 c8 d8]
\end{mudela}
The default set are the ones we like best are the Dutch notenames.
A sharp is formed by adding \verb+is+
-\begin[fragment,verbatim,center]{mudela}
+\begin{mudela}[fragment,verbatim,center]
cis dis eis fis gis ais bis
\end{mudela}
and a flat is formed by adding \verb+es+%
%\footnote{Exceptions: \verb+es+ and \verb+as+.}
\footnote{Exceptions: {\tt es} and {\tt as}.}
-\begin[fragment,verbatim,center]{mudela}
+\begin{mudela}[fragment,verbatim,center]
ces des es fes ges as bes
\end{mudela}
With the obvious names for double sharps
-\begin[fragment,verbatim,center]{mudela}
+\begin{mudela}[fragment,verbatim,center]
cisis disis eisis fisis gisis aisis bisis
\end{mudela}
and double flats
-\begin[fragment,verbatim,center]{mudela}
+\begin{mudela}[fragment,verbatim,center]
ceses deses eses feses geses ases beses
\end{mudela}
See why we like-em?
There are two special `notenames', the rest
-\begin[fragment,verbatim,center]{mudela}
+\begin{mudela}[fragment,verbatim,center]
r16 [a a a]
\end{mudela}
and the space
-\begin[fragment,verbatim,center]{mudela}
+\begin{mudela}[fragment,verbatim,center]
a2 s-"diminuendo" | a
\end{mudela}
\section{Commands}
-\begin[fragment,verbatim,center]{mudela}
+\begin{mudela}[fragment,verbatim,center]
\clef "bass"; 'c
\end{mudela}
and a clef-change
-\begin[fragment,verbatim,center]{mudela}
+\begin{mudela}[fragment,verbatim,center]
\clef "violin"; f' e' \clef "alto"; d' c'
\end{mudela}
-\begin[fragment,verbatim,center]{mudela}
+\begin{mudela}[fragment,verbatim,center]
\meter 3/4; c g g |
\end{mudela}
-\begin[fragment,verbatim,center]{mudela}
+\begin{mudela}[fragment,verbatim,center]
\key fis cis;
'g 'a 'b cis d e fis g'
\end{mudela}
A reminder accidental can be forced by
using an exclamation mark \verb+!+
on a pitch a reminder accidental
-\begin[fragment,verbatim,center]{mudela}
+\begin{mudela}[fragment,verbatim,center]
cis d e cis | c! d e c |
\end{mudela}
-\begin[fragment,verbatim,center]{mudela}
+\begin{mudela}[fragment,verbatim,center]
\meter 2/4;
\bar "|:"; c c \bar ":|:"; c c \bar ":|"; c c \bar "|.";
\end{mudela}
\section{Chords and Voices}
Here's a simple chord
-\begin[fragment,verbatim,center]{mudela}
+\begin{mudela}[fragment,verbatim,center]
<c e g>
\end{mudela}
here are a few
-\begin[fragment,verbatim,center]{mudela}
+\begin{mudela}[fragment,verbatim,center]
<
{ c()d()c }
{ e()f()e }
\end{mudela}
and similarly voices
-\begin[fragment,verbatim,center]{mudela}
+\begin{mudela}[fragment,verbatim,center]
<
{ \voiceone c g c g }
{ \voicetwo 'c2 'g2 }
A Mudela file needs some red tape
-\begin[verbatim,center]{mudela}
+\begin{mudela}[verbatim,center]
\score{
\melodic {
\octave c';
\section{Lyrics}
-\begin[verbatim,center]{mudela}
+\begin{mudela}[verbatim,center]
\score{
<
\melodic{
You enter a note by giving the name and the reciprocal of the duration:
-\begin[fragment,verbatim]{mudela}
+\begin{mudela}[fragment,verbatim]
a'4 % Dutch names
\end{mudela}
is a A-1 pitched crotchet. The ' signifies an octave change. A-1 is 440
Hz concert-pitch. \verb+c'+ is also known as the central c. More examples:
-\begin[fragment,verbatim]{mudela}
+\begin{mudela}[fragment,verbatim]
'a % 110
a % 220
A % 110, uppercase octavates down
These notenames along with duration are enough material to construct
simple melodies:
-\begin[verbatim,fragment]{mudela}
+\begin{mudela}[verbatim,fragment]
\octave c';
c4 c4 g4 g4 a4 a4 g2
f4 f4 e4 e4 d4 d4 c2
\end{description}
example:
-\begin[verbatim,fragment]{mudela}
+\begin{mudela}[verbatim,fragment]
\octave c';
[c8 () d8 () e8
e8(] [)g8 <c'8] e'8> % NO nesting!
Ties connect the noteheads of adjacent notes. They are entered as follows:
-\begin[verbatim,fragment]{mudela}
+\begin{mudela}[verbatim,fragment]
a'4 ~ a''4
\end{mudela}
Slurs connect whole chords, and try to avoid crossing stems. They are
entered as follows:
-\begin[verbatim,fragment]{mudela}
+\begin{mudela}[verbatim,fragment]
a'4( )a''4
\end{mudela}
Symbols which can be put at either side (above or below) of a staff
are entered as follows:
-\begin[verbatim,fragment]{mudela}
+\begin{mudela}[verbatim,fragment]
a-^ % marcato, direction: default
%a^- % portato, direction: above note
a_. % staccato, direction: below note
:engraving:notenstechen::steken::
Francais:US English:Deutsch:UK English:Nederlands:Italiaans:
+:Grand staff:::Piano systeem::A combination of two staffs with a brace. Usually used for piano music.
:system:::systeem::
accentuation:accentuation:::accent::
accolade:brace:::::
-**************
+pl 61
+ - bf: mudela-book error msgs
+ - don't dist feta-tables.
+ - bf: mf-to-table, deps[0] catch
+ - reworked initialisation parsing logic; Got a no-redtape mode
+ for free
+ - 20 pt staffsize now default
+ - dependencies for LilyPond (-d, --dependencies). --debug moved to -D
+ - (c) 1998
+ - ly2dvi 0.10 (JAF)
+ - changed \begin[options]{mudela} to \begin{mudela}[options]
+ - more WWW hacks.
+
+pl 60.jcn2
+ - minor adjust for asymmetricity of beam symbol
+ - added TEST beam quantisation; see input/test/beam-pos.ly
+ - removed some empty .cc .hh
+ - Grandstaff -> Grand_staff (After [Gerou] and Harvard Dictionary of
+ Music)
+ - bf's: slur and tie post-processing
+ - cleaned-up bow: get encompass
+ - cleaned-up beam-yspan and beam-leftpos quantisation
+ - misc.cc: some funcs to get lower and upper bounds from array of values
+ - interval.*: Slice (Interval of int)
+ - added some doco to beam.cc
+ - removed some x,y by-ref passing in Lookup
+ - cleaned-up beam-yspan quantisation
+ - cleaned-up slur get encompass
+ - configure: --disable-optimise for compile without -O
+
+pl 59.jcn4
+ - bf: beam quantise
+ - bf: sticky plet bug
+ - bf: chords in beam
+ - bf: typo beamquantisaton
+ - bf: don't blow_fit infeasible bows (x_i < x_0 || x_i > x_n)
+ - bf's: beam/stemlengths, beam-bug [c8 c16 c16]
+ - bf: placement broken tie
+ - yet another try to raise bar-number
+ - bf's: bow tangent clipping, allow higher bows
+
+************
pl 60
- mats patches: use Latex font stuff.
- fixes to the .59 patch release (jcn)
2. REQUIREMENTS
For the compilation and running of LilyPond you need some additional
-packages. The most unusual one of this are the metafont sources to
-MusixTeX-fonts. Please refer to the installation instructions on how
-to obtain and install them.
+packages. Please refer to the installation instructions.
3. INSTALLATION
If you decide to build LilyPond from source, please read the INSTALL
document first, especially the Windows NT/95 section.
+
7. CAVEATS
* Please read the file BUGS for some ugly bugs. This especially applies
done, or is an idea that I want to think about
Most of the items are marked in the code as well, with full explanation.
-grep for TODO and ugh/ug
+grep for TODO and ugh/ugr/urg
0.2:
- * ly2dvi seams to eat accents as in \'el\'egant
+ * add a Duration_convert memberr to Duration_iter to set parameters.
+ Junk global duration settings.
+
+ * deps for ly2dvi
+
+ * depracate \duration
+
+ * clean up abbrev/plet/beam/abbrevbeam/duration mess in parser.
+
+ * minimum length second part broken tie
+
+ * lowest beam of (UP) beam must never be lower than second staffline
+
+ * multibar rests
+
+ * make lily output make dependencies.
+
+ * make sure that columns never touch
+ old hack at spring-spacer.cc:690 seems to be broken
+
+ * latex mutopia/los-toros-oboe-16.tex: max memsize
+
+ * fix position of bar number
+
+ * fix website.
* libtoolize flowerlib
* bf: abbrevbeam?
- * add full coriolan to website.
-
* robustify Beam (in case of no stems, 32nd notes)
- * fix [c8 c16 c16] (mustn't slope)
-
* fix silly " "2*12 a4 (=4*12) sticky plet
* check for groff / troff/ nroff et
- * latex quirk?
-
* use kpsepath to find all TeX dirs
- configure.in
- clean-fonts.sh
* The `3' in the meter key is a one or two pixels too thin (at 600dpi)
in the middle:
+ * the tenuto script is too long and too thin
+
* better hshift (dots, distance, head dependent)
* stem len adjustable
STUFF
- * clefs: The names I'd like are of the form
+ * convert-mudela:
+ - make smarter
+ - fix convert-mudela -e *.ly ;
+ - convert-mudela -e empty.ly
+ - redo in python.
+
+ * clefs (AG): The names I'd like are of the form
[FGC]n{[_^]8} F, G or C clef, on nth line, subscripted
or superscripted with an 8.
this modifies \stem for the c2
+ * emacs mudela-mode
+
+ - should handle block comments too.
+ - handle lexer modes (\header, \melodic, \lyric) etc.
+ - indentation
+ - notenames?
+ - fontlock: \melodic \melodic
+
+
* use properties for:
- Text_style
- default_octave
* tried egcs 1.0.2: failed on lily/stem.cc -> flower/include/interval.hh
should narrow down and send bug report
+ * gcc 2.8.1: see ice and RESIZE_ICE
+
* xdvi: PS in magnifying glass.
* Fix profiling. gprof bugreport?
+ * GNU diff 2.7: diff -rN does not see a new directory with empty file
+
+ * GNU patch 2.1: <must find simple example> if patch chokes on a
+ hunk, or on allegedly unsorted hunks in a diff, it may stop
+ without a trace of failure (create .rej file, print error or
+ dump core) and just ignore any further diffs.
+
PROJECTS
* Unicode support?
* Rhythmic staff.
- * multibar rests
-
* markers
MAJOR_VERSION=0
MINOR_VERSION=1
-PATCH_LEVEL=60
+PATCH_LEVEL=61
MY_PATCH_LEVEL=
# use the above to send patches, always empty for released version:
#!/bin/sh
# unclobber current dir.
-rm -vf *.aux *.log *.orig *~
+rm -vf *.aux *.log *.orig *~ *dvi *.dep
+
+# subdirs
rm -vf `grep -li "^% Creator: GNU LilyPond" *.out *.tex`
rm -vf `grep -li "Creator: mi2mu" *.midi.ly`
rm -vf `grep -li "%Creator: dvipsk" *.ps`
rm -vf `find -name '*.orig'`
rm -vf `find -name '*.rej'`
+
+
+
# docxx mess
-rm -vf *dvi
rm -vf *.class HIER*.html dxxgifs.tex gifs.db icon?.gif logo.gif down.gif \
aindex.html index.html
ln -sf $lelie/current/lily/out/lilypond bin/lilypond
ln -sf $lelie/current/mi2mu/out/mi2mu bin/mi2mu
-configure --prefix=/usr --enable-debugging --enable-printing --enable-checking
+configure --prefix=/usr --enable-debugging --enable-printing --enable-checking --disable-optimise
# print "introduced plet and finger shorthands...\n";
}
+sub convert_0_1_9_to_0_1_10
+{
+ s/Grandstaff/Grand_staff/;
+}
+
###############################################################
sub last_conversion
,"0.1.7" => \&convert_0_1_6_to_0_1_7
,"0.1.8" => \&convert_0_1_7_to_0_1_8
,"0.1.9" => \&convert_0_1_8_to_0_1_9
+ ,"0.1.10" => \&convert_0_1_9_to_0_1_10
);
if latex_title_re.search (s) == -1:
raise 'huh?'
header.title = latex_title_re.group (1)
+ header.outfile = regsub.gsub ('\.doc+$', '.ps.gz', fn)
return header
+
+bib_author_re = regex.compile('% *AUTHOR *= *\(.*\)$')
+bib_title_re = regex.compile('% *TITLE *= *\(.*\)$')
+
+def bib_header (fn):
+ s = gulp_file (fn)
+ if bib_author_re.search (s) == -1 :
+ raise 'huh?'
+
+ header = Latex_head()
+ header.filename= fn;
+ header.author = bib_author_re.group (1)
+ if bib_title_re.search (s) == -1:
+ raise 'huh?'
+ header.title = bib_title_re.group (1)
+ header.outfile = fn
+ return header
+
+
+def read_pod_header (fn):
+ header = Latex_head ()
+ s = gulp_file (fn)
+ i = regex.search( '[^\n \t]', s)
+ s = s[i:]
+ i = regex.search( '\n\n', s)
+ s = s[i+2:]
+ if i < 0:
+ raise 'huh?'
+ i = regex.search( '\n\n', s)
+ header.title = s[:i]
+ header.filename = fn
+ header.outfile = regsub.gsub ('\.pod$', '.html', fn)
+ return header
+
+
def print_html_head (l,o,h):
- (pre, ext) = o
- out = regsub.gsub ('\.[^.]+$', ext, h.filename)
- l.write ('<li><a href=%s>%s</a><p>by %s</p>' % (pre + out, h.title, h.author ))
- l.write ('</li>')
+ pre =o
+
+ l.write ('<li><a href=%s>%s</a>' % (pre + h.outfile, h.title ))
+ if h.author:
+ l.write ('<p>by %s</p>' % h.author)
+ l.write ('</li>\n')
import getopt
(cl_options, files) = getopt.getopt(sys.argv[1:],
- 'e:h', ['help', 'prefix=' ,'extension='])
+ 'e:h', ['help', 'prefix=' ,'extension='
+ , 'title='])
tex = ''
output =''
pre = ''
-
+title = ''
for opt in cl_options:
o = opt[0]
a = opt[1]
ext = a
if o == '--prefix' or o == '-p':
pre = a
+ if o == '--title' or o == '-t':
+ title = a
l = sys.stdout
-l.write ('<html><title>TeX documents</title><h1> TeX documents</h1><ul>')
+l.write ('<html><title>%s</title><h1> %s</h1><ul>\n' % (title, title))
+
for x in files:
- print_html_head (l, (pre,ext), read_latex_header (x))
+ if regex.search ('\\.bib$', x) <> -1:
+ head = bib_header (x)
+ elif regex.search ('\\.pod$', x) <> -1:
+ head = read_pod_header (x)
+ else:
+ head = read_latex_header (x)
+ print_html_head (l, pre, head)
l.write ('</ul></html>')
# Original LaTeX file made by Mats Bengtsson, 17/8 1997
#
-VERSION="0.9"
+VERSION="0.10"
NAME=ly2dvi.sh
IDENTIFICATION="$NAME $VERSION"
NOW=`date`
echo "$IDENTIFICATION" 1>&2
-KEEP_LILY_OUTPUT=N
-
# NEWS
+#0.10
+# - -K,--keeplilypond : Keep lilypond output files (default delete)
+# - -k,--keeply2dvi : Keep ly2dvi output files (default delete)
+# - -L,--landscape : Set landscape orientation
+# - -N,--nonumber : Turn off page numbering (\pagestyle{empty})
+# - Could not reinsert "\usepackage[T1]{fontenc}" because
+# "los-toros" won't work with it
+# - Ekstra LaTeX headers from input file
+
#0.9.hwn1
# - option to remove output of lily
-
# 0.9 - Trap Lilypond abort
# - Replaced "\usepackage[T1]{fontenc}" with
# \usepackage[latin1]{inputenc} (takk, Mats)
# - Removed "()" around "\LilyIdString" (Janne didn't want it)
-
# 0.8 - Trap Lilypond segmentation fault
# - Function for cleanup
# - Trap line
# Clean up
#
cleanup() {
- $debug_echo "("$LF")("$FN")("$LOGFILE")"
if [ "$KEEP_LY2DVI_OUTPUT" != "Y" ]
then
- [ -n "$LF" -a -f "$LF" ] && rm -f $LF
+ [ -n "$LatF" -a -f "$LatF" ] && rm -f $LatF
[ -n "$LOGFILE" -a -f "$LOGFILE" ] && rm -f $LOGFILE
[ -n "$FN" ] && rm -f $FN.*
+ for F in *$$* $TMP/*$$*
+ do
+ rm -f $F
+ done
+ fi
+ if [ "$KEEP_LILY_OUTPUT" != "Y" ]
+ then
+ for F in $LILY_OUTPUT_FILES
+ do
+ [ -f $F ] && rm -f $F
+ done
fi
}
#
Usage: $0 [options] file[s]
Options:
- -D, --debug set debug mode
- -O, --orientation= set orientation (landscape or portrait (default))
- -o, --output= set output directory
- -h, --help this help text
- -k, --keep keep LaTeX file
- -l, --language= give LaTeX language (babel)
- -p, --papersize= give LaTeX papersize (eg. a4paper)
- -s, --separate run all files separately through LaTeX
+ -D,--debug set debug mode
+ -H,--headers= name of additional LaTeX headers file
+ -K,--keeplilypond keep lilypond output files
+ -L,--landscape set landscape orientation
+ -N,--nonumber switch off page numbering
+ -O,--orientation= set orientation (landscape or portrait (default))
+ -o,--output= set output directory
+ -h,--help this help text
+ -k,--keeply2dvi keep ly2dvi output files
+ -l,--language= give LaTeX language (babel)
+ -p,--papersize= give LaTeX papersize (eg. a4paper)
+ -s,--separate run all files separately through LaTeX
files may be (a mix of) input to or output from lilypond(1)
EOF
LOGFILE=$TMP/lilylog.$$ # Logfile for lilypond
PWIDTH=600; # Width of A4 paper!
PHEIGTH=845; # Heigth of A4 paper!
+PNUM="%" # Page numbering on
#
# RC-files ?
#
fORI=$ORIENTATION
fLNG=$LANGUAGE
fPSZ=$PAPERSIZE
-unset ORIENTATION LANGUAGE PAPERSIZE
+fLHF=$LATEXHF
+unset ORIENTATION LANGUAGE PAPERSIZE LATEXHF
#
# Keywords defined in titledefs.tex
#
#
# "x:" x takes argument
#
-switches="DO:hkl:o:Kp:s\?"
+switches="DH:KLNO:hkl:o:p:s\?"
options=""
#
# ugh, "\-" is a hack to support long options
[ $debug_echo = echo ] && set -x
debug_echo=echo
;;
+ H )
+ LATEXHF=$OPTARG
+ ;;
+ K )
+ KEEP_LILY_OUTPUT=Y
+ ;;
+ L )
+ ORIENTATION=landscape
+ ;;
O )
ORIENTATION=$OPTARG
;;
+ N )
+ PNUM="\pagestyle{empty}"
+ ;;
h )
help;
exit 0
k )
KEEP_LY2DVI_OUTPUT=Y
;;
- K )
- KEEP_LILY_OUTPUT=Y
- ;;
-
l )
LANGUAGE=$OPTARG
;;
-)
$debug_echo "long option: \`$OPTARG'"
case "$OPTARG" in
- D*|-D*)
+ d*|-d*)
[ $debug_echo = echo ] && set -x
debug_echo=echo
;;
+ hea*|-hea*)
+ LATEXHF=`echo $OPTARG | sed -e s/"^.*="//`
+ ;;
h*|-h*)
help;
exit 0
;;
+ keepli*|-keepli*)
+ KEEP_LILY_OUTPUT=Y
+ ;;
k*|-k*)
KEEP_LY2DVI_OUTPUT=Y
;;
- l*|-l*)
- LANGUAGE=`echo $OPTARG | sed -e s/"^.*="//`
+ land*|-land*)
+ ORIENTATION=landscape
;;
- p*|-p*)
- PAPERSIZE=`echo $OPTARG | sed -e s/"^.*="//`
+ lang*|-lang*)
+ LANGUAGE=`echo $OPTARG | sed -e s/"^.*="//`
;;
+ n*|-n*)
+ PNUM="\pagestyle{empty}"
+ ;;
or*|-or*)
ORIENTATION=`echo $OPTARG | sed -e s/"^.*="//`
;;
ou*|-ou*)
OUTPUTDIR=`echo $OPTARG | sed -e s/"^.*="//`
;;
+ p*|-p*)
+ PAPERSIZE=`echo $OPTARG | sed -e s/"^.*="//`
+ ;;
s*|-s*)
SEPFILE=Y
;;
FN=$BN.$$
if [ "$KEEP_LY2DVI_OUTPUT" != "Y" ]
then
- LF=$TMP/$FN.tex
+ LatF=$TMP/$FN.tex
else
- LF=$FN.tex
+ LatF=$FN.tex
fi
#
# Find:
# textwidth
#
eval `sed -n \\
- -e 's/\\\\def\\\\mudelapapersize{\([^}]*\).*$/fPSZ=\1;/p' \\
- -e 's/\\\\def\\\\mudelaorientation{\([^}]*\).*$/fORI=\1;/p' \\
-e 's/\\\\def\\\\mudelalanguage{\([^}]*\).*$/fLNG=\1;/p' \\
+ -e 's/\\\\def\\\\mudelalatexheaders{\([^}]*\).*$/fLHF=\1;/p' \\
+ -e 's/\\\\def\\\\mudelaorientation{\([^}]*\).*$/fORI=\1;/p' \\
-e 's/\\\\def\\\\mudelapaperlinewidth{\([^}]*\).*$/TWN=\1;/p' \\
+ -e 's/\\\\def\\\\mudelapapersize{\([^}]*\).*$/fPSZ=\1;/p' \\
$File`
+#
+if [ -z "$LATEXHF" ]
+then
+ LATEXHF=$fLHF
+fi
+LLHF="%"
+if [ -n "$LATEXHF" ]
+then
+ [ -f $LATEXHF ] && LLHF="\input{$LATEXHF}"
+fi
+#
if [ -z "$PAPERSIZE" ]
then
PAPERSIZE=$fPSZ
#
# Write LaTeX file
#
-cat << EOF > $LF
+cat << EOF > $LatF
% Creator: $IDENTIFICATION
% Automatically generated from $IF, $NOW
\nonstopmode
$LLNG
\usepackage{geometry}
-%\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
+%\usepackage[T1]{fontenc}
+$PNUM
%\addtolength{\oddsidemargin}{-1cm}
%\addtolength{\topmargin}{-1cm}
\setlength{\textwidth}{$TW}
\geometry{width=$TW, left=$MARG}
\input lilyponddefs
\input titledefs
+$LLHF
\begin{document}
EOF
#
LLL=`echo $LL | sed -e 's/}.*$//' -e 's/.*{//'`
if [ "$LLL" != "" ]
then
- echo "\\"$L'{'$LLL'}%' >> $LF
+ echo "\\"$L'{'$LLL'}%' >> $LatF
fi
fi
done
#
-cat << EOF >> $LF
+cat << EOF >> $LatF
\makelilytitle
EOF
}
# Conclusion
#
endFile(){
-cat << EOF >> $LF
+cat << EOF >> $LatF
\vfill\hfill{\LilyIdString}
\end{document}
EOF
#
# Run LaTeX
#
-latex $LF || exit 5
+latex $LatF || exit 5
#
# Rename dvi file
#
cp $FN.dvi $RESULT
fi
#
-# Clean up
-#
-cleanup
-#
# Output some info
#
cat << EOF
FFile=$File
startFile
fi
- cat << EOF >> $LF
+ cat << EOF >> $LatF
\input{$File}
EOF
if [ $SEPFILE = Y ]
then
endFile
fi
-
-
-
-if [ $KEEP_LILY_OUTPUT = N ]
-then
- rm $LILY_OUTPUT_FILES
-fi
#
# OK - finished
#
i.e. you should rerun autoconf and configure\n\n'
# ugh, how to get rid of .tex files generated by lily?
-pats = ['*.lsm', 'configure', '*.txt', 'lilypond.spec']
+pats = ['*.lsm', 'configure', '*.txt', '.dstreamrc', 'lilypond.spec']
def remove_automatic(dirnames):
files = []
+++ /dev/null
-#!@PYTHON@
-# -*- python -*-
-
-#
-# mf-deps.py -- dependencies for metafont
-#
-# source file of the GNU LilyPond music typesetter
-#
-# (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
-#
-
-
-"""look into metafont source for dependencies.
-
- fixme: python path
- fixme: error reporting
- fixem: python sucks slightly: why doesn't it have closures?
-
-"""
-
-import sys
-import os
-
-lilypath =''
-try:
- lilypath = os.environ['LILYPOND_SOURCEDIR'] + '/'
-except KeyError:
- try:
- lilypath = os.environ['top_srcdir'] + '/'
- except KeyError:
- print 'Please set LILYPOND_SOURCEDIR to the toplevel source, eg LILYPOND_SOURCEDIR=/home/foobar/lilypond-1.2.3/'
-
- sys.exit(1)
-
-lilypath = lilypath + '/bin/'
-sys.path.append(lilypath)
-
-from regex import * ;
-from regsub import * ;
-import sys;
-import os;
-
-
-version = "0.2"
-input_re = compile('^[ \t]*input *\([^;]+\);')
-postfixes = ['log', 'dvi', '2602gf', 'tfm']
-
-def identify ():
- return "mf-deps.py %s" % version
-
-
-
-def print_one(x):
- print x
-
-def line_concat(x,y):
- return x + '\n' + y
-
-class Targetdeps:
- """Dependencies for one toplevel sourcefile
-
- """
-
- def __init__(self,nm):
- split = os.path.splitext(nm)
- self.basename=split[0];
- self.depfiles = []
- self.checkdep(nm)
-
- def checkdep(self, name):
- split = os.path.splitext(name)
- name = split[0] + '.mf';
-
- if name not in self.depfiles:
- self.get_filedeps(name)
-
- def get_filedeps(self,filename):
-# print sys.stderr.write( 'checking ' + filename + '\n');
- try:
- file = open(filename)
- except IOError:
-# print sys.stderr.write( 'can\'t open ' + filename + '\n')
- return
-
- self.depfiles.append(filename)
- lines = file.readlines()
- file.close()
- for line in lines:
- if input_re.search (line) <> -1:
- self.checkdep( input_re.group(1))
-
- def target_string(self):
- # ugh. Closures, anyone?
-# targets = map (lambda x,y = self.basename: 'out/' + y + '.' + x, postfixes)
- targets = map (lambda x,y = self.basename: y + '.' + x, postfixes)
- depstring = reduce(lambda x,y: x + ' ' + y, self.depfiles)
- dependencies = map (lambda x, y=depstring: x + ': ' + y, targets)
-
- return reduce(line_concat, dependencies)
-
-print "# Automatically generated by %s\n" % identify ()
-
-for file in sys.argv[1:]: # skip programname
- t = Targetdeps(file)
- print t.target_string()
-
-
raise 'unknown label: ' + label
def writedeps (self, deps):
+ if not len (deps):
+ sys.stderr.write ('Huh, no main target??')
+ return
filename = deps[0]
split = os.path.splitext(filename)
basename=split[0];
$mudela_b = 1 ;
open MUDELA, ">$outdir/book-mudela.ly";
print BOOK "\\preexample%\n";
+ print MUDELA "\\include \"paper16.ly\"\n";
if ($center_b) {
print BOOK "\\begin{minipage}[c]{.5\\textwidth}\n";
print MUDELA "default_paper = \\paper { \\paper_sixteen ";
die "The input can't be the output\n";
}
- open INFILE, "<$infile";
- open BOOK, ">$openout";
+ open INFILE, "<$infile" or die "Can't open $infile\n";
+ open BOOK, ">$openout" or die "Can't open $openout\n";;
while (<INFILE>) {
if ($mudela_b) {
if (end_b "mudela") {
}
} else {
- if (/^\\begin(\[.*\])?{mudela}/ ) {
+ if (/^\\begin{mudela}(\[.*\])?/ ) {
my $opts ="";
$opts = $1 if ( defined ($1));
OPTIMIZE="-O"
printing_b=no
checking_b=yes
-optimise_b=no
+optimise_b=tja
profile_b=no
CONFIGSUFFIX=
debug_b=yes
fi
+if test "$optimise_b" = no; then
+ OPTIMIZE=""
+fi
+
if test $profile_b = yes; then
EXTRA_LIBES="-pg"
DEFINES="$DEFINES -pg"
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:830: checking for $ac_word" >&5
+echo "configure:834: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:861: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
+echo "configure:865: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
ac_ext=C
# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 871 "configure"
+#line 875 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:875: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:879: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
ac_cv_prog_cxx_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
{ echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:895: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:899: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6
cross_compiling=$ac_cv_prog_cxx_cross
echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
-echo "configure:900: checking whether we are using GNU C++" >&5
+echo "configure:904: checking whether we are using GNU C++" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
yes;
#endif
EOF
-if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:909: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:913: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gxx=yes
else
ac_cv_prog_gxx=no
ac_save_CXXFLAGS="$CXXFLAGS"
CXXFLAGS=
echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
-echo "configure:924: checking whether ${CXX-g++} accepts -g" >&5
+echo "configure:928: checking whether ${CXX-g++} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:954: checking for $ac_word" >&5
+echo "configure:958: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:991: checking for a BSD compatible install" >&5
+echo "configure:995: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1045: checking for $ac_word" >&5
+echo "configure:1049: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_TAR'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1079: checking for $ac_word" >&5
+echo "configure:1083: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_FIND'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6
-echo "configure:1120: checking for 8-bit clean memcmp" >&5
+echo "configure:1124: checking for 8-bit clean memcmp" >&5
if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_func_memcmp_clean=no
else
cat > conftest.$ac_ext <<EOF
-#line 1128 "configure"
+#line 1132 "configure"
#include "confdefs.h"
#ifdef __cplusplus
extern "C" void exit(int);
}
EOF
-if { (eval echo configure:1141: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1145: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then
ac_cv_func_memcmp_clean=yes
else
test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.o"
echo $ac_n "checking for vprintf""... $ac_c" 1>&6
-echo "configure:1159: checking for vprintf" >&5
+echo "configure:1163: checking for vprintf" >&5
if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1164 "configure"
+#line 1168 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char vprintf(); below. */
; return 0; }
EOF
-if { (eval echo configure:1190: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1194: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_vprintf=yes"
else
if test "$ac_cv_func_vprintf" != yes; then
echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
-echo "configure:1214: checking for _doprnt" >&5
+echo "configure:1218: checking for _doprnt" >&5
if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1219 "configure"
+#line 1223 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char _doprnt(); below. */
; return 0; }
EOF
-if { (eval echo configure:1245: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1249: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func__doprnt=yes"
else
for ac_func in memmem snprintf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1272: checking for $ac_func" >&5
+echo "configure:1276: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1277 "configure"
+#line 1281 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:1303: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1307: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1380: checking for $ac_word" >&5
+echo "configure:1384: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_BISON'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1414: checking for $ac_word" >&5
+echo "configure:1418: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_FLEX'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1448: checking for $ac_word" >&5
+echo "configure:1452: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_MAKE'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "perl", so it can be a program name with args.
set dummy perl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1480: checking for $ac_word" >&5
+echo "configure:1484: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "python", so it can be a program name with args.
set dummy python; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1512: checking for $ac_word" >&5
+echo "configure:1516: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_PYTHON'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1546: checking for $ac_word" >&5
+echo "configure:1550: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_POD2HTML'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1580: checking for $ac_word" >&5
+echo "configure:1584: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_POD2MAN'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
echo $ac_n "checking TeX/MF root dir directory""... $ac_c" 1>&6
-echo "configure:1616: checking TeX/MF root dir directory" >&5
+echo "configure:1620: checking TeX/MF root dir directory" >&5
find_root_prefix="$prefix"
echo $ac_n "checking MF input directory""... $ac_c" 1>&6
-echo "configure:1657: checking MF input directory" >&5
+echo "configure:1661: checking MF input directory" >&5
find_dirdir=`(cd $find_texprefix;
$FIND ./ -type d -a -name source -print |sort|head -1|sed 's#^\./##')`
echo $ac_n "checking TeX input directory""... $ac_c" 1>&6
-echo "configure:1682: checking TeX input directory" >&5
+echo "configure:1686: checking TeX input directory" >&5
find_dirdir=`(cd $find_texprefix;
$FIND ./ -type d -a -name tex -print |sort|head -1|sed 's#^\./##')`
fi
echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6
-echo "configure:1799: checking how to run the C++ preprocessor" >&5
+echo "configure:1803: checking how to run the C++ preprocessor" >&5
if test -z "$CXXCPP"; then
if eval "test \"`echo '$''{'ac_cv_prog_CXXCPP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
cross_compiling=$ac_cv_prog_cxx_cross
CXXCPP="${CXX-g++} -E"
cat > conftest.$ac_ext <<EOF
-#line 1812 "configure"
+#line 1816 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1817: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1821: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
:
ac_safe=`echo "FlexLexer.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for FlexLexer.h""... $ac_c" 1>&6
-echo "configure:1837: checking for FlexLexer.h" >&5
+echo "configure:1841: checking for FlexLexer.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1842 "configure"
+#line 1846 "configure"
#include "confdefs.h"
#include <FlexLexer.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1847: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1851: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
OPTIMIZE="-O"
printing_b=no
checking_b=yes
-optimise_b=no
+optimise_b=tja
profile_b=no
CONFIGSUFFIX=
debug_b=yes
AC_DEFINE(STRINGS_UTILS_INLINED)
fi
+if test "$optimise_b" = no; then
+ OPTIMIZE=""
+fi
+
if test $profile_b = yes; then
EXTRA_LIBES="-pg"
DEFINES="$DEFINES -pg"
-pl 41.jcn1
+pl 42
+ - interval.*: Slice (Interval of int)
trying to get rid of 2.8 ice:
- moved functions with loops from varray.hh to varray.cc
MAJOR_VERSION=1
MINOR_VERSION=1
-PATCH_LEVEL=41
+PATCH_LEVEL=42
# use to send patches, always empty for released version:
#
-MY_PATCH_LEVEL=jcn1
+MY_PATCH_LEVEL=
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include <assert.h>
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "choleski.hh"
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "cpu-timer.hh"
source file FlowerLib
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "directed-graph.hh"
source file of the Flower Library
- (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include <fstream.h>
--- /dev/null
+/*
+ path.cc - manipulation of paths and filenames.
+*/
+#include <stdio.h>
+#include "file-path.hh"
+#include "flower-debug.hh"
+
+#ifndef DIRSEP
+#define DIRSEP '/'
+#endif
+
+#ifndef PATHSEP
+#define PATHSEP ':'
+#endif
+
+/**
+ @param path the original full filename
+ @return 4 components of the path. They can be empty
+*/
+void
+split_path (String path,
+ String &drive, String &dirs, String &filebase, String &extension)
+{
+ // peel off components, one by one.
+ int di = path.index_i (':');
+ if (di >= 0)
+ {
+ drive = path.left_str (di + 1);
+ path = path.right_str (path.length_i () - di -1);
+ }
+ else
+ drive = "";
+
+ di = path.index_last_i (DIRSEP);
+ if (di >=0)
+ {
+ dirs = path.left_str (di + 1);
+ path = path.right_str (path.length_i ()-di -1);
+ }
+ else
+ dirs = "";
+
+ di = path.index_last_i ('.');
+ if (di >= 0)
+ {
+ filebase = path.left_str (di);
+ extension =path.right_str (path.length_i ()-di);
+ }
+ else
+ {
+ extension = "";
+ filebase = path;
+ }
+}
+
+void
+File_path::parse_path (String p)
+{
+ int l;
+
+ while ( (l = p.length_i ()) )
+ {
+ int i = p.index_i(PATHSEP);
+ if (i <0)
+ i = l;
+ add (p.left_str(i));
+ p = p.right_str (l- i - 1);
+ }
+}
+
+
+
+
+/** find a file.
+ It will search in the current dir, in the construction-arg, and
+ in any other added path, in this order.
+ */
+String
+File_path::find (String nm) const
+{
+ fdebug << _("looking for ") << nm << ": ";
+ if (!nm.length_i() || (nm == "-") )
+ return nm;
+ for (int i=0; i < size(); i++)
+ {
+ String path = elem(i);
+ String sep (DIRSEP);
+ String right(path.right_str (1));
+ if (path.length_i () && right != sep)
+ path += DIRSEP;
+
+ path += nm;
+
+ fdebug << path << "? ";
+ FILE *f = fopen (path.ch_C(), "r"); // ugh!
+ if (f)
+ {
+ fdebug << _("found\n");
+ fclose (f);
+ return path;
+ }
+ }
+ fdebug << "\n";
+ return "";
+}
+
+void
+File_path::add (String s)
+{
+ push (s);
+}
source file of the Flower Library
- (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "full-storage.hh"
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#ifndef DSTREAM_HH
--- /dev/null
+/*
+ path.hh -- declare File_path
+
+ source file of the Flower Library
+
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
+#ifndef PATH_HH
+#define PATH_HH
+#include "string.hh"
+#include "varray.hh"
+
+
+/**
+ search in directories for a file.
+
+ Abstraction of PATH variable. An interface for searching input files.
+ Search a number of dirs for a file.
+
+ TODO: add a unix style PATH interface
+ Should use kpathsea?
+
+*/
+
+class File_path : private Array<String>
+{
+public:
+ /// locate a file in the search path
+ String find (String nm) const;
+
+ /// add to end of path.
+ Array<String>::push;
+ void add (String str);
+ void parse_path (String);
+};
+
+/** split a path into its components.
+
+ @params path
+
+ @return
+ String &drive, String &dirs, String &filebase, String &extension
+ */
+void split_path (String path, String &drive, String &dirs, String &filebase, String &extension);
+
+#endif
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
/// (i64)
typedef long long I64;
+template<class T> struct Link_array;
template<class T> struct Array;
template<class T> struct sstack;
template<class T,class K> struct Assoc;
#include "real.hh"
typedef Interval_t<Real> Interval;
+typedef Interval_t<int> Slice;
struct Choleski_decomposition;
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
return a*i;
}
+// again? see fproto.hh
typedef Interval_t<Real> Interval;
-
-
+typedef Interval_t<int> Slice;
#endif // INTERVAL_HH
-
-
source file of the Flower Library
- (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the flowerlib
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the flowerlib
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the Flower Library
- (c) 1996,1997
+ (c) 1996, 1997--1998
Jan Nieuwenhuizen <jan@digicash.com>
Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#ifndef LIST_CC
#define LIST_CC
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the Flower Library
- (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
+++ /dev/null
-/*
- path.hh -- declare File_path
-
- source file of the Flower Library
-
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
-*/
-
-#ifndef PATH_HH
-#define PATH_HH
-#include "string.hh"
-#include "varray.hh"
-
-
-/**
- search in directories for a file.
-
- Abstraction of PATH variable. An interface for searching input files.
- Search a number of dirs for a file.
-
- TODO: add a unix style PATH interface
- Should use kpathsea?
-
-*/
-
-class File_path : private Array<String>
-{
-public:
- /// locate a file in the search path
- String find (String nm) const;
-
- /// add to end of path.
- Array<String>::push;
- void add (String str);
- void parse_path (String);
-};
-
-/** split a path into its components.
-
- @params path
-
- @return
- String &drive, String &dirs, String &filebase, String &extension
- */
-void split_path (String path, String &drive, String &dirs, String &filebase, String &extension);
-
-#endif
/* -*-c++-*-
plist.icc -- part of flowerlib
- (c) 1996,1997 Han-Wen Nienhuys& Jan Nieuwenhuizen
+ (c) 1996, 1997--1998 Han-Wen Nienhuys& Jan Nieuwenhuizen
*/
#ifndef PLIST_INL
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of Flower lib
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#ifndef STRINGDATA_INL
source file of the LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of Flower lib
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#ifndef STRINGHANDLE_INL
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "real.hh"
#include "interval.tcc"
-
-template INTERVAL__INSTANTIATE(Real);
-
-
+template INTERVAL__INSTANTIATE (Real);
Real
-Interval_t<Real>::infinity()
+Interval_t<Real>::infinity ()
{
return HUGE_VAL;
}
{
return String (r);
}
+
+template INTERVAL__INSTANTIATE (int);
+
+int
+Interval_t<int>::infinity ()
+{
+ return INT_MAX;
+}
+
+String
+Interval_t<int>::T_to_str (int i)
+{
+ return String (i);
+}
+
source file of the flowerlib
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include <stdarg.h>
#include <stdio.h>
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "matrix.hh"
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include <math.h>
+++ /dev/null
-/*
- path.cc - manipulation of paths and filenames.
-*/
-#include <stdio.h>
-#include "path.hh"
-#include "flower-debug.hh"
-
-#ifndef DIRSEP
-#define DIRSEP '/'
-#endif
-
-#ifndef PATHSEP
-#define PATHSEP ':'
-#endif
-
-/**
- @param path the original full filename
- @return 4 components of the path. They can be empty
-*/
-void
-split_path (String path,
- String &drive, String &dirs, String &filebase, String &extension)
-{
- // peel off components, one by one.
- int di = path.index_i (':');
- if (di >= 0)
- {
- drive = path.left_str (di + 1);
- path = path.right_str (path.length_i () - di -1);
- }
- else
- drive = "";
-
- di = path.index_last_i (DIRSEP);
- if (di >=0)
- {
- dirs = path.left_str (di + 1);
- path = path.right_str (path.length_i ()-di -1);
- }
- else
- dirs = "";
-
- di = path.index_last_i ('.');
- if (di >= 0)
- {
- filebase = path.left_str (di);
- extension =path.right_str (path.length_i ()-di);
- }
- else
- {
- extension = "";
- filebase = path;
- }
-}
-
-void
-File_path::parse_path (String p)
-{
- int l;
-
- while ( (l = p.length_i ()) )
- {
- int i = p.index_i(PATHSEP);
- if (i <0)
- i = l;
- add (p.left_str(i));
- p = p.right_str (l- i - 1);
- }
-}
-
-
-
-
-/** find a file.
- It will search in the current dir, in the construction-arg, and
- in any other added path, in this order.
- */
-String
-File_path::find (String nm) const
-{
- fdebug << _("looking for ") << nm << ": ";
- if (!nm.length_i() || (nm == "-") )
- return nm;
- for (int i=0; i < size(); i++)
- {
- String path = elem(i);
- String sep (DIRSEP);
- String right(path.right_str (1));
- if (path.length_i () && right != sep)
- path += DIRSEP;
-
- path += nm;
-
- fdebug << path << "? ";
- FILE *f = fopen (path.ch_C(), "r"); // ugh!
- if (f)
- {
- fdebug << _("found\n");
- fclose (f);
- return path;
- }
- }
- fdebug << "\n";
- return "";
-}
-
-void
-File_path::add (String s)
-{
- push (s);
-}
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include <stdlib.h>
#include "rational.hh"
source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include <assert.h>
string.cc - implement String
- (c) 1997 Han-Wen Nienhuys & Jan Nieuwenhuizen
+ (c) 1997--1998 Han-Wen Nienhuys & Jan Nieuwenhuizen
*/
source file of the LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl> */
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl> */
#ifdef STRING_DEBUG
#define memmove mymemmove
INIFILES = $(wildcard *.ly)
DISTFILES = Makefile $(INIFILES)
-## we probably can make tex/*defs.tex and init/*.ly in one go...
-## moved to mf/Makefile
-FONT_FILES = $(wildcard $(depth)/mf/*[0-9].mf)
-TABLES = $(patsubst $(depth)/mf/%.mf,%.ly,$(FONT_FILES))
-
-localclean:
- rm -f $(TABLES)
-
INSTALLATION_DIR=$(datadir)/lilypond/
INSTALLATION_FILES=$(INIFILES)
--- /dev/null
+% Toplevel initialisation file.
+
+\version "0.1.9";
+
+
+\include "declarations.ly"
+
+\include "paper16.ly"
+
+\score {
+ \melodic {
+ \maininput
+ }
+ \paper { \paper_sixteen
+ linewidth = -1.\cm;
+ castingalgorithm = \Wordwrap;
+ }
+}
--- /dev/null
+
+
+breve = \duration { -1 0 }
+longa = \duration { -2 0 }
+
+\include "dynamic.ly"
+\include "nederlands.ly" % dutch
+\include "script.ly"
+
+
+Gourlay = 1.0
+Wordwrap = 0.0
+
+\include "paper20.ly"
+
+default_paper = \paper{
+ \paper_twenty
+}
+
+% ugh
+\include "midi.ly"
+
+% declarations for standard directions
+left = -1
+right = 1
+up = 1
+down = -1
+% zillie spellink?
+center=0
+
+\include "property.ly"
\consists "Tie_engraver";
}
-Grandstaff = \translator {
+Grand_staff = \translator {
\type "Engraver_group_engraver";
\consists "Span_bar_engraver";
\consists "Line_group_engraver";
\accepts "Staff";
\accepts "Rhythmic_staff";
- \accepts "Grandstaff";
+ \accepts "Grand_staff";
\accepts "Lyrics";
}
\accepts "Staff";
\accepts "Rhythmic_staff";
\accepts "Lyrics";
- \accepts "Grandstaff";
+ \accepts "Grand_staff";
}
Stupid_score = \translator {
+++ /dev/null
-% Creator: mf-to-table.py version 0.6
-% Automatically generated on
-% Do not edit
-% input from out/feta11.log
-% name=\symboltables {
- "rests" = \table {
- "0" "\\wholerest" 0.00\pt 4.12\pt -1.72\pt 0.00\pt
- "1" "\\halfrest" 0.00\pt 4.12\pt 0.00\pt 1.72\pt
- "0o" "\\outsidewholerest" -1.72\pt 5.84\pt -1.72\pt 0.28\pt
- "1o" "\\outsidehalfrest" -1.72\pt 5.84\pt -0.28\pt 1.72\pt
- "2" "\\quartrest" 0.00\pt 2.97\pt 2.06\pt 9.90\pt
- "3" "\\eighthrest" 0.00\pt 3.67\pt 2.75\pt 7.81\pt
- "4" "\\sixteenthrest" 0.00\pt 4.27\pt 0.00\pt 7.81\pt
- "5" "\\thirtysecondrest" 0.00\pt 4.81\pt 0.00\pt 10.56\pt
- "6" "\\sixtyfourthrest" 0.00\pt 5.16\pt 0.00\pt 13.31\pt
- "7" "\\hundredtwentyeighthrest" 0.00\pt 5.75\pt 0.00\pt 16.06\pt
- }
- "accidentals" = \table {
- "1" "\\sharp" 0.00\pt 3.03\pt -4.12\pt 4.12\pt
- "0" "\\natural" 0.00\pt 1.83\pt -4.12\pt 4.12\pt
- "-1" "\\flat" -0.33\pt 2.20\pt -1.38\pt 5.50\pt
- "-2" "\\flatflat" -0.33\pt 3.99\pt -1.38\pt 5.50\pt
- "2" "\\sharpsharp" 0.00\pt 2.75\pt -1.38\pt 1.38\pt
- }
- "dots" = \table {
- "dot" "\\dot" 0.00\pt 1.24\pt -0.62\pt 0.62\pt
- "repeatcolon" "\\repeatcolon" 0.00\pt 1.24\pt -1.38\pt 1.38\pt
- }
- "balls" = \table {
- "-1" "\\brevisball" 0.00\pt 5.50\pt -1.51\pt 1.51\pt
- "-1l" "\\brevisledger" -1.38\pt 6.88\pt -0.28\pt 0.28\pt
- "-2" "\\longaball" 0.00\pt 5.50\pt -1.51\pt 1.51\pt
- "-2l" "\\longaledger" -1.38\pt 6.88\pt -0.28\pt 0.28\pt
- "0" "\\wholeball" 0.00\pt 5.45\pt -1.51\pt 1.51\pt
- "0l" "\\wholeledger" -1.36\pt 6.81\pt -0.28\pt 0.28\pt
- "1" "\\halfball" 0.00\pt 3.79\pt -1.51\pt 1.51\pt
- "1l" "\\halfledger" -0.95\pt 4.74\pt -0.28\pt 0.28\pt
- "2" "\\quartball" 0.00\pt 3.63\pt -1.51\pt 1.51\pt
- "2l" "\\quartledger" -0.91\pt 4.54\pt -0.28\pt 0.28\pt
- }
- "scripts" = \table {
- "ufermata" "\\ufermata" -3.64\pt 3.64\pt -0.21\pt 3.99\pt
- "dfermata" "\\dfermata" -3.64\pt 3.64\pt -3.99\pt 0.21\pt
- "sforzato" "\\sforzatoaccent" -2.47\pt 2.47\pt -1.38\pt 1.38\pt
- "staccato" "\\staccato" -0.41\pt 0.41\pt -0.41\pt 0.41\pt
- "ustaccatissimo" "\\ustaccatissimo" -0.55\pt 0.55\pt -0.20\pt 2.75\pt
- "dstaccatissimo" "\\dstaccatissimo" -0.55\pt 0.55\pt -2.75\pt 0.20\pt
- "tenuto" "\\tenuto" -2.47\pt 2.47\pt -0.17\pt 0.17\pt
- "umarcato" "\\umarcato" -1.38\pt 1.38\pt 0.00\pt 3.03\pt
- "dmarcato" "\\dmarcato" -1.38\pt 1.38\pt -3.03\pt 0.00\pt
- "open" "\\ouvert" -1.10\pt 1.10\pt -1.38\pt 1.38\pt
- "stopped" "\\plusstop" -1.51\pt 1.51\pt -1.51\pt 1.51\pt
- "upbow" "\\upbow" -1.79\pt 1.79\pt 0.00\pt 5.72\pt
- "downbow" "\\downbow" -2.06\pt 2.06\pt 0.00\pt 3.67\pt
- "reverseturn" "\\reverseturn" -3.01\pt 3.01\pt -1.46\pt 1.46\pt
- "turn" "\\turn" -3.01\pt 3.01\pt -1.46\pt 1.46\pt
- "trill" "\\trill" -2.75\pt 2.75\pt 0.00\pt 6.19\pt
- "upedalheel" "\\upedalheel" -1.38\pt 1.38\pt -1.38\pt 1.83\pt
- "dpedalheel" "\\dpedalheel" -1.38\pt 1.38\pt -1.83\pt 1.38\pt
- "upedaltoe" "\\upedaltoe" -1.38\pt 1.38\pt 0.00\pt 4.12\pt
- "dpedaltoe" "\\dpedaltoe" -1.38\pt 1.38\pt -4.12\pt 0.00\pt
- "flageolet" "\\flageolet" -1.47\pt 1.47\pt -1.47\pt 1.47\pt
- "trilelement" "\\trilelement" -1.83\pt 0.72\pt -1.38\pt 1.38\pt
- "prall" "\\prall" -3.11\pt 3.11\pt -1.38\pt 1.38\pt
- "mordent" "\\mordent" -3.11\pt 3.11\pt -1.38\pt 1.38\pt
- "prallprall" "\\prallprall" -4.39\pt 4.39\pt -1.38\pt 1.38\pt
- "prallmordent" "\\prallmordent" -4.39\pt 4.39\pt -1.38\pt 1.38\pt
- "upprall" "\\upprall" -4.39\pt 4.39\pt -1.38\pt 1.38\pt
- "downprall" "\\downprall" -4.39\pt 4.39\pt -1.38\pt 1.38\pt
- }
- "flags" = \table {
- "u3" "\\eighthflag" -0.14\pt 3.39\pt -8.43\pt 0.14\pt
- "u4" "\\sixteenthflag" -0.14\pt 3.39\pt -9.80\pt 0.14\pt
- "u5" "\\thirtysecondflag" -0.14\pt 3.39\pt -11.87\pt 0.14\pt
- "u6" "\\sixtyfourthflag" -0.14\pt 3.39\pt -14.62\pt 0.14\pt
- "d3" "\\deighthflag" -0.14\pt 3.76\pt -0.14\pt 8.02\pt
- "d4" "\\dsixteenthflag" -0.14\pt 3.76\pt -0.14\pt 8.43\pt
- "d5" "\\dthirtysecondflag" -0.14\pt 3.76\pt -0.14\pt 10.77\pt
- "d6" "\\dsixtyfourthflag" -0.14\pt 3.76\pt -0.14\pt 12.14\pt
- }
- "clefs" = \table {
- "alto" "\\altoclef" -2.75\pt 10.24\pt -5.50\pt 5.50\pt
- "alto_change" "\\caltoclef" -2.20\pt 8.19\pt -4.40\pt 4.40\pt
- "bass" "\\bassclef" -1.38\pt 9.90\pt -6.88\pt 2.75\pt
- "bass_change" "\\cbassclef" -1.10\pt 7.92\pt -5.50\pt 2.20\pt
- "violin" "\\violinclef" -2.40\pt 10.28\pt -8.25\pt 13.75\pt
- "violin_change" "\\cviolinclef" -2.08\pt 8.06\pt -6.60\pt 11.00\pt
- }
- % } % $name
-% Creator: mf-to-table.py version 0.6
-% Automatically generated on
-% Do not edit
-% input from out/feta11.log
-% name=\symboltables {
- "rests" = \table {
- "0" "\\wholerest" 0.00\pt 4.12\pt -1.72\pt 0.00\pt
- "1" "\\halfrest" 0.00\pt 4.12\pt 0.00\pt 1.72\pt
- "0o" "\\outsidewholerest" -1.72\pt 5.84\pt -1.72\pt 0.28\pt
- "1o" "\\outsidehalfrest" -1.72\pt 5.84\pt -0.28\pt 1.72\pt
- "2" "\\quartrest" 0.00\pt 2.97\pt 2.06\pt 9.90\pt
- "3" "\\eighthrest" 0.00\pt 3.67\pt 2.75\pt 7.81\pt
- "4" "\\sixteenthrest" 0.00\pt 4.27\pt 0.00\pt 7.81\pt
- "5" "\\thirtysecondrest" 0.00\pt 4.81\pt 0.00\pt 10.56\pt
- "6" "\\sixtyfourthrest" 0.00\pt 5.16\pt 0.00\pt 13.31\pt
- "7" "\\hundredtwentyeighthrest" 0.00\pt 5.75\pt 0.00\pt 16.06\pt
- }
- "accidentals" = \table {
- "1" "\\sharp" 0.00\pt 3.03\pt -4.12\pt 4.12\pt
- "0" "\\natural" 0.00\pt 1.83\pt -4.12\pt 4.12\pt
- "-1" "\\flat" -0.33\pt 2.20\pt -1.38\pt 5.50\pt
- "-2" "\\flatflat" -0.33\pt 3.99\pt -1.38\pt 5.50\pt
- "2" "\\sharpsharp" 0.00\pt 2.75\pt -1.38\pt 1.38\pt
- }
- "dots" = \table {
- "dot" "\\dot" 0.00\pt 1.24\pt -0.62\pt 0.62\pt
- "repeatcolon" "\\repeatcolon" 0.00\pt 1.24\pt -1.38\pt 1.38\pt
- }
- "balls" = \table {
- "-1" "\\brevisball" 0.00\pt 5.50\pt -1.51\pt 1.51\pt
- "-1l" "\\brevisledger" -1.38\pt 6.88\pt -0.28\pt 0.28\pt
- "-2" "\\longaball" 0.00\pt 5.50\pt -1.51\pt 1.51\pt
- "-2l" "\\longaledger" -1.38\pt 6.88\pt -0.28\pt 0.28\pt
- "0" "\\wholeball" 0.00\pt 5.45\pt -1.51\pt 1.51\pt
- "0l" "\\wholeledger" -1.36\pt 6.81\pt -0.28\pt 0.28\pt
- "1" "\\halfball" 0.00\pt 3.79\pt -1.51\pt 1.51\pt
- "1l" "\\halfledger" -0.95\pt 4.74\pt -0.28\pt 0.28\pt
- "2" "\\quartball" 0.00\pt 3.63\pt -1.51\pt 1.51\pt
- "2l" "\\quartledger" -0.91\pt 4.54\pt -0.28\pt 0.28\pt
- }
- "scripts" = \table {
- "ufermata" "\\ufermata" -3.64\pt 3.64\pt -0.21\pt 3.99\pt
- "dfermata" "\\dfermata" -3.64\pt 3.64\pt -3.99\pt 0.21\pt
- "sforzato" "\\sforzatoaccent" -2.47\pt 2.47\pt -1.38\pt 1.38\pt
- "staccato" "\\staccato" -0.41\pt 0.41\pt -0.41\pt 0.41\pt
- "ustaccatissimo" "\\ustaccatissimo" -0.55\pt 0.55\pt -0.20\pt 2.75\pt
- "dstaccatissimo" "\\dstaccatissimo" -0.55\pt 0.55\pt -2.75\pt 0.20\pt
- "tenuto" "\\tenuto" -2.47\pt 2.47\pt -0.17\pt 0.17\pt
- "umarcato" "\\umarcato" -1.38\pt 1.38\pt 0.00\pt 3.03\pt
- "dmarcato" "\\dmarcato" -1.38\pt 1.38\pt -3.03\pt 0.00\pt
- "open" "\\ouvert" -1.10\pt 1.10\pt -1.38\pt 1.38\pt
- "stopped" "\\plusstop" -1.51\pt 1.51\pt -1.51\pt 1.51\pt
- "upbow" "\\upbow" -1.79\pt 1.79\pt 0.00\pt 5.72\pt
- "downbow" "\\downbow" -2.06\pt 2.06\pt 0.00\pt 3.67\pt
- "reverseturn" "\\reverseturn" -3.01\pt 3.01\pt -1.46\pt 1.46\pt
- "turn" "\\turn" -3.01\pt 3.01\pt -1.46\pt 1.46\pt
- "trill" "\\trill" -2.75\pt 2.75\pt 0.00\pt 6.19\pt
- "upedalheel" "\\upedalheel" -1.38\pt 1.38\pt -1.38\pt 1.83\pt
- "dpedalheel" "\\dpedalheel" -1.38\pt 1.38\pt -1.83\pt 1.38\pt
- "upedaltoe" "\\upedaltoe" -1.38\pt 1.38\pt 0.00\pt 4.12\pt
- "dpedaltoe" "\\dpedaltoe" -1.38\pt 1.38\pt -4.12\pt 0.00\pt
- "flageolet" "\\flageolet" -1.47\pt 1.47\pt -1.47\pt 1.47\pt
- "trilelement" "\\trilelement" -1.83\pt 0.72\pt -1.38\pt 1.38\pt
- "prall" "\\prall" -3.11\pt 3.11\pt -1.38\pt 1.38\pt
- "mordent" "\\mordent" -3.11\pt 3.11\pt -1.38\pt 1.38\pt
- "prallprall" "\\prallprall" -4.39\pt 4.39\pt -1.38\pt 1.38\pt
- "prallmordent" "\\prallmordent" -4.39\pt 4.39\pt -1.38\pt 1.38\pt
- "upprall" "\\upprall" -4.39\pt 4.39\pt -1.38\pt 1.38\pt
- "downprall" "\\downprall" -4.39\pt 4.39\pt -1.38\pt 1.38\pt
- }
- "flags" = \table {
- "u3" "\\eighthflag" -0.14\pt 3.39\pt -8.43\pt 0.14\pt
- "u4" "\\sixteenthflag" -0.14\pt 3.39\pt -9.80\pt 0.14\pt
- "u5" "\\thirtysecondflag" -0.14\pt 3.39\pt -11.87\pt 0.14\pt
- "u6" "\\sixtyfourthflag" -0.14\pt 3.39\pt -14.62\pt 0.14\pt
- "d3" "\\deighthflag" -0.14\pt 3.76\pt -0.14\pt 8.02\pt
- "d4" "\\dsixteenthflag" -0.14\pt 3.76\pt -0.14\pt 8.43\pt
- "d5" "\\dthirtysecondflag" -0.14\pt 3.76\pt -0.14\pt 10.77\pt
- "d6" "\\dsixtyfourthflag" -0.14\pt 3.76\pt -0.14\pt 12.14\pt
- }
- "clefs" = \table {
- "alto" "\\altoclef" -2.75\pt 10.24\pt -5.50\pt 5.50\pt
- "alto_change" "\\caltoclef" -2.20\pt 8.19\pt -4.40\pt 4.40\pt
- "bass" "\\bassclef" -1.38\pt 9.90\pt -6.88\pt 2.75\pt
- "bass_change" "\\cbassclef" -1.10\pt 7.92\pt -5.50\pt 2.20\pt
- "violin" "\\violinclef" -2.40\pt 10.28\pt -8.25\pt 13.75\pt
- "violin_change" "\\cviolinclef" -2.08\pt 8.06\pt -6.60\pt 11.00\pt
- }
- % } % $name
+++ /dev/null
-% Creator: mf-to-table.py version 0.6
-% Automatically generated on
-% Do not edit
-% input from out/feta13.log
-% name=\symboltables {
- "rests" = \table {
- "0" "\\wholerest" 0.00\pt 4.88\pt -2.03\pt 0.00\pt
- "1" "\\halfrest" 0.00\pt 4.88\pt 0.00\pt 2.03\pt
- "0o" "\\outsidewholerest" -2.03\pt 6.91\pt -2.03\pt 0.33\pt
- "1o" "\\outsidehalfrest" -2.03\pt 6.91\pt -0.33\pt 2.03\pt
- "2" "\\quartrest" 0.00\pt 3.51\pt 2.44\pt 11.70\pt
- "3" "\\eighthrest" 0.00\pt 4.33\pt 3.25\pt 9.24\pt
- "4" "\\sixteenthrest" 0.00\pt 5.04\pt 0.00\pt 9.24\pt
- "5" "\\thirtysecondrest" 0.00\pt 5.69\pt 0.00\pt 12.49\pt
- "6" "\\sixtyfourthrest" 0.00\pt 6.10\pt 0.00\pt 15.74\pt
- "7" "\\hundredtwentyeighthrest" 0.00\pt 6.79\pt 0.00\pt 18.99\pt
- }
- "accidentals" = \table {
- "1" "\\sharp" 0.00\pt 3.58\pt -4.88\pt 4.88\pt
- "0" "\\natural" 0.00\pt 2.17\pt -4.88\pt 4.88\pt
- "-1" "\\flat" -0.39\pt 2.60\pt -1.62\pt 6.50\pt
- "-2" "\\flatflat" -0.39\pt 4.71\pt -1.62\pt 6.50\pt
- "2" "\\sharpsharp" 0.00\pt 3.25\pt -1.62\pt 1.62\pt
- }
- "dots" = \table {
- "dot" "\\dot" 0.00\pt 1.46\pt -0.73\pt 0.73\pt
- "repeatcolon" "\\repeatcolon" 0.00\pt 1.46\pt -1.62\pt 1.62\pt
- }
- "balls" = \table {
- "-1" "\\brevisball" 0.00\pt 6.50\pt -1.79\pt 1.79\pt
- "-1l" "\\brevisledger" -1.62\pt 8.12\pt -0.33\pt 0.33\pt
- "-2" "\\longaball" 0.00\pt 6.50\pt -1.79\pt 1.79\pt
- "-2l" "\\longaledger" -1.62\pt 8.12\pt -0.33\pt 0.33\pt
- "0" "\\wholeball" 0.00\pt 6.44\pt -1.79\pt 1.79\pt
- "0l" "\\wholeledger" -1.61\pt 8.04\pt -0.33\pt 0.33\pt
- "1" "\\halfball" 0.00\pt 4.48\pt -1.79\pt 1.79\pt
- "1l" "\\halfledger" -1.12\pt 5.60\pt -0.33\pt 0.33\pt
- "2" "\\quartball" 0.00\pt 4.29\pt -1.79\pt 1.79\pt
- "2l" "\\quartledger" -1.07\pt 5.37\pt -0.33\pt 0.33\pt
- }
- "scripts" = \table {
- "ufermata" "\\ufermata" -4.31\pt 4.31\pt -0.24\pt 4.71\pt
- "dfermata" "\\dfermata" -4.31\pt 4.31\pt -4.71\pt 0.24\pt
- "sforzato" "\\sforzatoaccent" -2.92\pt 2.92\pt -1.62\pt 1.62\pt
- "staccato" "\\staccato" -0.49\pt 0.49\pt -0.49\pt 0.49\pt
- "ustaccatissimo" "\\ustaccatissimo" -0.65\pt 0.65\pt -0.20\pt 3.25\pt
- "dstaccatissimo" "\\dstaccatissimo" -0.65\pt 0.65\pt -3.25\pt 0.20\pt
- "tenuto" "\\tenuto" -2.92\pt 2.92\pt -0.20\pt 0.20\pt
- "umarcato" "\\umarcato" -1.62\pt 1.62\pt 0.00\pt 3.58\pt
- "dmarcato" "\\dmarcato" -1.62\pt 1.62\pt -3.58\pt 0.00\pt
- "open" "\\ouvert" -1.30\pt 1.30\pt -1.62\pt 1.62\pt
- "stopped" "\\plusstop" -1.79\pt 1.79\pt -1.79\pt 1.79\pt
- "upbow" "\\upbow" -2.11\pt 2.11\pt 0.00\pt 6.76\pt
- "downbow" "\\downbow" -2.44\pt 2.44\pt 0.00\pt 4.33\pt
- "reverseturn" "\\reverseturn" -3.55\pt 3.55\pt -1.72\pt 1.72\pt
- "turn" "\\turn" -3.55\pt 3.55\pt -1.72\pt 1.72\pt
- "trill" "\\trill" -3.25\pt 3.25\pt 0.00\pt 7.31\pt
- "upedalheel" "\\upedalheel" -1.62\pt 1.62\pt -1.62\pt 2.17\pt
- "dpedalheel" "\\dpedalheel" -1.62\pt 1.62\pt -2.17\pt 1.62\pt
- "upedaltoe" "\\upedaltoe" -1.62\pt 1.62\pt 0.00\pt 4.88\pt
- "dpedaltoe" "\\dpedaltoe" -1.62\pt 1.62\pt -4.88\pt 0.00\pt
- "flageolet" "\\flageolet" -1.73\pt 1.73\pt -1.73\pt 1.73\pt
- "trilelement" "\\trilelement" -2.17\pt 0.85\pt -1.62\pt 1.62\pt
- "prall" "\\prall" -3.67\pt 3.67\pt -1.62\pt 1.62\pt
- "mordent" "\\mordent" -3.67\pt 3.67\pt -1.62\pt 1.62\pt
- "prallprall" "\\prallprall" -5.18\pt 5.18\pt -1.62\pt 1.62\pt
- "prallmordent" "\\prallmordent" -5.18\pt 5.18\pt -1.62\pt 1.62\pt
- "upprall" "\\upprall" -5.18\pt 5.18\pt -1.62\pt 1.62\pt
- "downprall" "\\downprall" -5.18\pt 5.18\pt -1.62\pt 1.62\pt
- }
- "flags" = \table {
- "u3" "\\eighthflag" -0.16\pt 4.01\pt -9.96\pt 0.16\pt
- "u4" "\\sixteenthflag" -0.16\pt 4.01\pt -11.59\pt 0.16\pt
- "u5" "\\thirtysecondflag" -0.16\pt 4.01\pt -14.02\pt 0.16\pt
- "u6" "\\sixtyfourthflag" -0.16\pt 4.01\pt -17.27\pt 0.16\pt
- "d3" "\\deighthflag" -0.16\pt 4.44\pt -0.16\pt 9.47\pt
- "d4" "\\dsixteenthflag" -0.16\pt 4.44\pt -0.16\pt 9.96\pt
- "d5" "\\dthirtysecondflag" -0.16\pt 4.44\pt -0.16\pt 12.72\pt
- "d6" "\\dsixtyfourthflag" -0.16\pt 4.44\pt -0.16\pt 14.35\pt
- }
- "clefs" = \table {
- "alto" "\\altoclef" -3.25\pt 12.10\pt -6.50\pt 6.50\pt
- "alto_change" "\\caltoclef" -2.60\pt 9.68\pt -5.20\pt 5.20\pt
- "bass" "\\bassclef" -1.62\pt 11.70\pt -8.12\pt 3.25\pt
- "bass_change" "\\cbassclef" -1.30\pt 9.36\pt -6.50\pt 2.60\pt
- "violin" "\\violinclef" -2.83\pt 12.15\pt -9.75\pt 16.25\pt
- "violin_change" "\\cviolinclef" -2.46\pt 9.52\pt -7.80\pt 13.00\pt
- }
- % } % $name
-% Creator: mf-to-table.py version 0.6
-% Automatically generated on
-% Do not edit
-% input from out/feta13.log
-% name=\symboltables {
- "rests" = \table {
- "0" "\\wholerest" 0.00\pt 4.88\pt -2.03\pt 0.00\pt
- "1" "\\halfrest" 0.00\pt 4.88\pt 0.00\pt 2.03\pt
- "0o" "\\outsidewholerest" -2.03\pt 6.91\pt -2.03\pt 0.33\pt
- "1o" "\\outsidehalfrest" -2.03\pt 6.91\pt -0.33\pt 2.03\pt
- "2" "\\quartrest" 0.00\pt 3.51\pt 2.44\pt 11.70\pt
- "3" "\\eighthrest" 0.00\pt 4.33\pt 3.25\pt 9.24\pt
- "4" "\\sixteenthrest" 0.00\pt 5.04\pt 0.00\pt 9.24\pt
- "5" "\\thirtysecondrest" 0.00\pt 5.69\pt 0.00\pt 12.49\pt
- "6" "\\sixtyfourthrest" 0.00\pt 6.10\pt 0.00\pt 15.74\pt
- "7" "\\hundredtwentyeighthrest" 0.00\pt 6.79\pt 0.00\pt 18.99\pt
- }
- "accidentals" = \table {
- "1" "\\sharp" 0.00\pt 3.58\pt -4.88\pt 4.88\pt
- "0" "\\natural" 0.00\pt 2.17\pt -4.88\pt 4.88\pt
- "-1" "\\flat" -0.39\pt 2.60\pt -1.62\pt 6.50\pt
- "-2" "\\flatflat" -0.39\pt 4.71\pt -1.62\pt 6.50\pt
- "2" "\\sharpsharp" 0.00\pt 3.25\pt -1.62\pt 1.62\pt
- }
- "dots" = \table {
- "dot" "\\dot" 0.00\pt 1.46\pt -0.73\pt 0.73\pt
- "repeatcolon" "\\repeatcolon" 0.00\pt 1.46\pt -1.62\pt 1.62\pt
- }
- "balls" = \table {
- "-1" "\\brevisball" 0.00\pt 6.50\pt -1.79\pt 1.79\pt
- "-1l" "\\brevisledger" -1.62\pt 8.12\pt -0.33\pt 0.33\pt
- "-2" "\\longaball" 0.00\pt 6.50\pt -1.79\pt 1.79\pt
- "-2l" "\\longaledger" -1.62\pt 8.12\pt -0.33\pt 0.33\pt
- "0" "\\wholeball" 0.00\pt 6.44\pt -1.79\pt 1.79\pt
- "0l" "\\wholeledger" -1.61\pt 8.04\pt -0.33\pt 0.33\pt
- "1" "\\halfball" 0.00\pt 4.48\pt -1.79\pt 1.79\pt
- "1l" "\\halfledger" -1.12\pt 5.60\pt -0.33\pt 0.33\pt
- "2" "\\quartball" 0.00\pt 4.29\pt -1.79\pt 1.79\pt
- "2l" "\\quartledger" -1.07\pt 5.37\pt -0.33\pt 0.33\pt
- }
- "scripts" = \table {
- "ufermata" "\\ufermata" -4.31\pt 4.31\pt -0.24\pt 4.71\pt
- "dfermata" "\\dfermata" -4.31\pt 4.31\pt -4.71\pt 0.24\pt
- "sforzato" "\\sforzatoaccent" -2.92\pt 2.92\pt -1.62\pt 1.62\pt
- "staccato" "\\staccato" -0.49\pt 0.49\pt -0.49\pt 0.49\pt
- "ustaccatissimo" "\\ustaccatissimo" -0.65\pt 0.65\pt -0.20\pt 3.25\pt
- "dstaccatissimo" "\\dstaccatissimo" -0.65\pt 0.65\pt -3.25\pt 0.20\pt
- "tenuto" "\\tenuto" -2.92\pt 2.92\pt -0.20\pt 0.20\pt
- "umarcato" "\\umarcato" -1.62\pt 1.62\pt 0.00\pt 3.58\pt
- "dmarcato" "\\dmarcato" -1.62\pt 1.62\pt -3.58\pt 0.00\pt
- "open" "\\ouvert" -1.30\pt 1.30\pt -1.62\pt 1.62\pt
- "stopped" "\\plusstop" -1.79\pt 1.79\pt -1.79\pt 1.79\pt
- "upbow" "\\upbow" -2.11\pt 2.11\pt 0.00\pt 6.76\pt
- "downbow" "\\downbow" -2.44\pt 2.44\pt 0.00\pt 4.33\pt
- "reverseturn" "\\reverseturn" -3.55\pt 3.55\pt -1.72\pt 1.72\pt
- "turn" "\\turn" -3.55\pt 3.55\pt -1.72\pt 1.72\pt
- "trill" "\\trill" -3.25\pt 3.25\pt 0.00\pt 7.31\pt
- "upedalheel" "\\upedalheel" -1.62\pt 1.62\pt -1.62\pt 2.17\pt
- "dpedalheel" "\\dpedalheel" -1.62\pt 1.62\pt -2.17\pt 1.62\pt
- "upedaltoe" "\\upedaltoe" -1.62\pt 1.62\pt 0.00\pt 4.88\pt
- "dpedaltoe" "\\dpedaltoe" -1.62\pt 1.62\pt -4.88\pt 0.00\pt
- "flageolet" "\\flageolet" -1.73\pt 1.73\pt -1.73\pt 1.73\pt
- "trilelement" "\\trilelement" -2.17\pt 0.85\pt -1.62\pt 1.62\pt
- "prall" "\\prall" -3.67\pt 3.67\pt -1.62\pt 1.62\pt
- "mordent" "\\mordent" -3.67\pt 3.67\pt -1.62\pt 1.62\pt
- "prallprall" "\\prallprall" -5.18\pt 5.18\pt -1.62\pt 1.62\pt
- "prallmordent" "\\prallmordent" -5.18\pt 5.18\pt -1.62\pt 1.62\pt
- "upprall" "\\upprall" -5.18\pt 5.18\pt -1.62\pt 1.62\pt
- "downprall" "\\downprall" -5.18\pt 5.18\pt -1.62\pt 1.62\pt
- }
- "flags" = \table {
- "u3" "\\eighthflag" -0.16\pt 4.01\pt -9.96\pt 0.16\pt
- "u4" "\\sixteenthflag" -0.16\pt 4.01\pt -11.59\pt 0.16\pt
- "u5" "\\thirtysecondflag" -0.16\pt 4.01\pt -14.02\pt 0.16\pt
- "u6" "\\sixtyfourthflag" -0.16\pt 4.01\pt -17.27\pt 0.16\pt
- "d3" "\\deighthflag" -0.16\pt 4.44\pt -0.16\pt 9.47\pt
- "d4" "\\dsixteenthflag" -0.16\pt 4.44\pt -0.16\pt 9.96\pt
- "d5" "\\dthirtysecondflag" -0.16\pt 4.44\pt -0.16\pt 12.72\pt
- "d6" "\\dsixtyfourthflag" -0.16\pt 4.44\pt -0.16\pt 14.35\pt
- }
- "clefs" = \table {
- "alto" "\\altoclef" -3.25\pt 12.10\pt -6.50\pt 6.50\pt
- "alto_change" "\\caltoclef" -2.60\pt 9.68\pt -5.20\pt 5.20\pt
- "bass" "\\bassclef" -1.62\pt 11.70\pt -8.12\pt 3.25\pt
- "bass_change" "\\cbassclef" -1.30\pt 9.36\pt -6.50\pt 2.60\pt
- "violin" "\\violinclef" -2.83\pt 12.15\pt -9.75\pt 16.25\pt
- "violin_change" "\\cviolinclef" -2.46\pt 9.52\pt -7.80\pt 13.00\pt
- }
- % } % $name
+++ /dev/null
-% Creator: mf-to-table.py version 0.6
-% Automatically generated on
-% Do not edit
-% input from out/feta16.log
-% name=\symboltables {
- "rests" = \table {
- "0" "\\wholerest" 0.00\pt 6.00\pt -2.50\pt 0.00\pt
- "1" "\\halfrest" 0.00\pt 6.00\pt 0.00\pt 2.50\pt
- "0o" "\\outsidewholerest" -2.50\pt 8.50\pt -2.50\pt 0.40\pt
- "1o" "\\outsidehalfrest" -2.50\pt 8.50\pt -0.40\pt 2.50\pt
- "2" "\\quartrest" 0.00\pt 4.32\pt 3.00\pt 14.40\pt
- "3" "\\eighthrest" 0.00\pt 5.33\pt 4.00\pt 11.37\pt
- "4" "\\sixteenthrest" 0.00\pt 6.21\pt 0.00\pt 11.37\pt
- "5" "\\thirtysecondrest" 0.00\pt 7.00\pt 0.00\pt 15.37\pt
- "6" "\\sixtyfourthrest" 0.00\pt 7.51\pt 0.00\pt 19.37\pt
- "7" "\\hundredtwentyeighthrest" 0.00\pt 8.36\pt 0.00\pt 23.37\pt
- }
- "accidentals" = \table {
- "1" "\\sharp" 0.00\pt 4.40\pt -6.00\pt 6.00\pt
- "0" "\\natural" 0.00\pt 2.67\pt -6.00\pt 6.00\pt
- "-1" "\\flat" -0.48\pt 3.20\pt -2.00\pt 8.00\pt
- "-2" "\\flatflat" -0.48\pt 5.80\pt -2.00\pt 8.00\pt
- "2" "\\sharpsharp" 0.00\pt 4.00\pt -2.00\pt 2.00\pt
- }
- "dots" = \table {
- "dot" "\\dot" 0.00\pt 1.80\pt -0.90\pt 0.90\pt
- "repeatcolon" "\\repeatcolon" 0.00\pt 1.80\pt -2.00\pt 2.00\pt
- }
- "balls" = \table {
- "-1" "\\brevisball" 0.00\pt 8.00\pt -2.20\pt 2.20\pt
- "-1l" "\\brevisledger" -2.00\pt 10.00\pt -0.40\pt 0.40\pt
- "-2" "\\longaball" 0.00\pt 8.00\pt -2.20\pt 2.20\pt
- "-2l" "\\longaledger" -2.00\pt 10.00\pt -0.40\pt 0.40\pt
- "0" "\\wholeball" 0.00\pt 7.92\pt -2.20\pt 2.20\pt
- "0l" "\\wholeledger" -1.98\pt 9.90\pt -0.40\pt 0.40\pt
- "1" "\\halfball" 0.00\pt 5.51\pt -2.20\pt 2.20\pt
- "1l" "\\halfledger" -1.38\pt 6.89\pt -0.40\pt 0.40\pt
- "2" "\\quartball" 0.00\pt 5.28\pt -2.20\pt 2.20\pt
- "2l" "\\quartledger" -1.32\pt 6.61\pt -0.40\pt 0.40\pt
- }
- "scripts" = \table {
- "ufermata" "\\ufermata" -5.30\pt 5.30\pt -0.30\pt 5.80\pt
- "dfermata" "\\dfermata" -5.30\pt 5.30\pt -5.80\pt 0.30\pt
- "sforzato" "\\sforzatoaccent" -3.60\pt 3.60\pt -2.00\pt 2.00\pt
- "staccato" "\\staccato" -0.60\pt 0.60\pt -0.60\pt 0.60\pt
- "ustaccatissimo" "\\ustaccatissimo" -0.80\pt 0.80\pt -0.20\pt 4.00\pt
- "dstaccatissimo" "\\dstaccatissimo" -0.80\pt 0.80\pt -4.00\pt 0.20\pt
- "tenuto" "\\tenuto" -3.60\pt 3.60\pt -0.24\pt 0.24\pt
- "umarcato" "\\umarcato" -2.00\pt 2.00\pt 0.00\pt 4.40\pt
- "dmarcato" "\\dmarcato" -2.00\pt 2.00\pt -4.40\pt 0.00\pt
- "open" "\\ouvert" -1.60\pt 1.60\pt -2.00\pt 2.00\pt
- "stopped" "\\plusstop" -2.20\pt 2.20\pt -2.20\pt 2.20\pt
- "upbow" "\\upbow" -2.60\pt 2.60\pt 0.00\pt 8.32\pt
- "downbow" "\\downbow" -3.00\pt 3.00\pt 0.00\pt 5.33\pt
- "reverseturn" "\\reverseturn" -4.38\pt 4.38\pt -2.12\pt 2.12\pt
- "turn" "\\turn" -4.38\pt 4.38\pt -2.12\pt 2.12\pt
- "trill" "\\trill" -4.00\pt 4.00\pt 0.00\pt 9.00\pt
- "upedalheel" "\\upedalheel" -2.00\pt 2.00\pt -2.00\pt 2.67\pt
- "dpedalheel" "\\dpedalheel" -2.00\pt 2.00\pt -2.67\pt 2.00\pt
- "upedaltoe" "\\upedaltoe" -2.00\pt 2.00\pt 0.00\pt 6.00\pt
- "dpedaltoe" "\\dpedaltoe" -2.00\pt 2.00\pt -6.00\pt 0.00\pt
- "flageolet" "\\flageolet" -2.13\pt 2.13\pt -2.13\pt 2.13\pt
- "trilelement" "\\trilelement" -2.67\pt 1.05\pt -2.00\pt 2.00\pt
- "prall" "\\prall" -4.52\pt 4.52\pt -2.00\pt 2.00\pt
- "mordent" "\\mordent" -4.52\pt 4.52\pt -2.00\pt 2.00\pt
- "prallprall" "\\prallprall" -6.38\pt 6.38\pt -2.00\pt 2.00\pt
- "prallmordent" "\\prallmordent" -6.38\pt 6.38\pt -2.00\pt 2.00\pt
- "upprall" "\\upprall" -6.38\pt 6.38\pt -2.00\pt 2.00\pt
- "downprall" "\\downprall" -6.38\pt 6.38\pt -2.00\pt 2.00\pt
- }
- "flags" = \table {
- "u3" "\\eighthflag" -0.20\pt 4.94\pt -12.26\pt 0.20\pt
- "u4" "\\sixteenthflag" -0.20\pt 4.94\pt -14.26\pt 0.20\pt
- "u5" "\\thirtysecondflag" -0.20\pt 4.94\pt -17.26\pt 0.20\pt
- "u6" "\\sixtyfourthflag" -0.20\pt 4.94\pt -21.26\pt 0.20\pt
- "d3" "\\deighthflag" -0.20\pt 5.46\pt -0.20\pt 11.66\pt
- "d4" "\\dsixteenthflag" -0.20\pt 5.46\pt -0.20\pt 12.26\pt
- "d5" "\\dthirtysecondflag" -0.20\pt 5.46\pt -0.20\pt 15.66\pt
- "d6" "\\dsixtyfourthflag" -0.20\pt 5.46\pt -0.20\pt 17.66\pt
- }
- "clefs" = \table {
- "alto" "\\altoclef" -4.00\pt 14.89\pt -8.00\pt 8.00\pt
- "alto_change" "\\caltoclef" -3.20\pt 11.91\pt -6.40\pt 6.40\pt
- "bass" "\\bassclef" -2.00\pt 14.40\pt -10.00\pt 4.00\pt
- "bass_change" "\\cbassclef" -1.60\pt 11.52\pt -8.00\pt 3.20\pt
- "violin" "\\violinclef" -3.49\pt 14.95\pt -12.00\pt 20.00\pt
- "violin_change" "\\cviolinclef" -3.03\pt 11.72\pt -9.60\pt 16.00\pt
- }
- % } % $name
-% Creator: mf-to-table.py version 0.6
-% Automatically generated on
-% Do not edit
-% input from out/feta16.log
-% name=\symboltables {
- "rests" = \table {
- "0" "\\wholerest" 0.00\pt 6.00\pt -2.50\pt 0.00\pt
- "1" "\\halfrest" 0.00\pt 6.00\pt 0.00\pt 2.50\pt
- "0o" "\\outsidewholerest" -2.50\pt 8.50\pt -2.50\pt 0.40\pt
- "1o" "\\outsidehalfrest" -2.50\pt 8.50\pt -0.40\pt 2.50\pt
- "2" "\\quartrest" 0.00\pt 4.32\pt 3.00\pt 14.40\pt
- "3" "\\eighthrest" 0.00\pt 5.33\pt 4.00\pt 11.37\pt
- "4" "\\sixteenthrest" 0.00\pt 6.21\pt 0.00\pt 11.37\pt
- "5" "\\thirtysecondrest" 0.00\pt 7.00\pt 0.00\pt 15.37\pt
- "6" "\\sixtyfourthrest" 0.00\pt 7.51\pt 0.00\pt 19.37\pt
- "7" "\\hundredtwentyeighthrest" 0.00\pt 8.36\pt 0.00\pt 23.37\pt
- }
- "accidentals" = \table {
- "1" "\\sharp" 0.00\pt 4.40\pt -6.00\pt 6.00\pt
- "0" "\\natural" 0.00\pt 2.67\pt -6.00\pt 6.00\pt
- "-1" "\\flat" -0.48\pt 3.20\pt -2.00\pt 8.00\pt
- "-2" "\\flatflat" -0.48\pt 5.80\pt -2.00\pt 8.00\pt
- "2" "\\sharpsharp" 0.00\pt 4.00\pt -2.00\pt 2.00\pt
- }
- "dots" = \table {
- "dot" "\\dot" 0.00\pt 1.80\pt -0.90\pt 0.90\pt
- "repeatcolon" "\\repeatcolon" 0.00\pt 1.80\pt -2.00\pt 2.00\pt
- }
- "balls" = \table {
- "-1" "\\brevisball" 0.00\pt 8.00\pt -2.20\pt 2.20\pt
- "-1l" "\\brevisledger" -2.00\pt 10.00\pt -0.40\pt 0.40\pt
- "-2" "\\longaball" 0.00\pt 8.00\pt -2.20\pt 2.20\pt
- "-2l" "\\longaledger" -2.00\pt 10.00\pt -0.40\pt 0.40\pt
- "0" "\\wholeball" 0.00\pt 7.92\pt -2.20\pt 2.20\pt
- "0l" "\\wholeledger" -1.98\pt 9.90\pt -0.40\pt 0.40\pt
- "1" "\\halfball" 0.00\pt 5.51\pt -2.20\pt 2.20\pt
- "1l" "\\halfledger" -1.38\pt 6.89\pt -0.40\pt 0.40\pt
- "2" "\\quartball" 0.00\pt 5.28\pt -2.20\pt 2.20\pt
- "2l" "\\quartledger" -1.32\pt 6.61\pt -0.40\pt 0.40\pt
- }
- "scripts" = \table {
- "ufermata" "\\ufermata" -5.30\pt 5.30\pt -0.30\pt 5.80\pt
- "dfermata" "\\dfermata" -5.30\pt 5.30\pt -5.80\pt 0.30\pt
- "sforzato" "\\sforzatoaccent" -3.60\pt 3.60\pt -2.00\pt 2.00\pt
- "staccato" "\\staccato" -0.60\pt 0.60\pt -0.60\pt 0.60\pt
- "ustaccatissimo" "\\ustaccatissimo" -0.80\pt 0.80\pt -0.20\pt 4.00\pt
- "dstaccatissimo" "\\dstaccatissimo" -0.80\pt 0.80\pt -4.00\pt 0.20\pt
- "tenuto" "\\tenuto" -3.60\pt 3.60\pt -0.24\pt 0.24\pt
- "umarcato" "\\umarcato" -2.00\pt 2.00\pt 0.00\pt 4.40\pt
- "dmarcato" "\\dmarcato" -2.00\pt 2.00\pt -4.40\pt 0.00\pt
- "open" "\\ouvert" -1.60\pt 1.60\pt -2.00\pt 2.00\pt
- "stopped" "\\plusstop" -2.20\pt 2.20\pt -2.20\pt 2.20\pt
- "upbow" "\\upbow" -2.60\pt 2.60\pt 0.00\pt 8.32\pt
- "downbow" "\\downbow" -3.00\pt 3.00\pt 0.00\pt 5.33\pt
- "reverseturn" "\\reverseturn" -4.38\pt 4.38\pt -2.12\pt 2.12\pt
- "turn" "\\turn" -4.38\pt 4.38\pt -2.12\pt 2.12\pt
- "trill" "\\trill" -4.00\pt 4.00\pt 0.00\pt 9.00\pt
- "upedalheel" "\\upedalheel" -2.00\pt 2.00\pt -2.00\pt 2.67\pt
- "dpedalheel" "\\dpedalheel" -2.00\pt 2.00\pt -2.67\pt 2.00\pt
- "upedaltoe" "\\upedaltoe" -2.00\pt 2.00\pt 0.00\pt 6.00\pt
- "dpedaltoe" "\\dpedaltoe" -2.00\pt 2.00\pt -6.00\pt 0.00\pt
- "flageolet" "\\flageolet" -2.13\pt 2.13\pt -2.13\pt 2.13\pt
- "trilelement" "\\trilelement" -2.67\pt 1.05\pt -2.00\pt 2.00\pt
- "prall" "\\prall" -4.52\pt 4.52\pt -2.00\pt 2.00\pt
- "mordent" "\\mordent" -4.52\pt 4.52\pt -2.00\pt 2.00\pt
- "prallprall" "\\prallprall" -6.38\pt 6.38\pt -2.00\pt 2.00\pt
- "prallmordent" "\\prallmordent" -6.38\pt 6.38\pt -2.00\pt 2.00\pt
- "upprall" "\\upprall" -6.38\pt 6.38\pt -2.00\pt 2.00\pt
- "downprall" "\\downprall" -6.38\pt 6.38\pt -2.00\pt 2.00\pt
- }
- "flags" = \table {
- "u3" "\\eighthflag" -0.20\pt 4.94\pt -12.26\pt 0.20\pt
- "u4" "\\sixteenthflag" -0.20\pt 4.94\pt -14.26\pt 0.20\pt
- "u5" "\\thirtysecondflag" -0.20\pt 4.94\pt -17.26\pt 0.20\pt
- "u6" "\\sixtyfourthflag" -0.20\pt 4.94\pt -21.26\pt 0.20\pt
- "d3" "\\deighthflag" -0.20\pt 5.46\pt -0.20\pt 11.66\pt
- "d4" "\\dsixteenthflag" -0.20\pt 5.46\pt -0.20\pt 12.26\pt
- "d5" "\\dthirtysecondflag" -0.20\pt 5.46\pt -0.20\pt 15.66\pt
- "d6" "\\dsixtyfourthflag" -0.20\pt 5.46\pt -0.20\pt 17.66\pt
- }
- "clefs" = \table {
- "alto" "\\altoclef" -4.00\pt 14.89\pt -8.00\pt 8.00\pt
- "alto_change" "\\caltoclef" -3.20\pt 11.91\pt -6.40\pt 6.40\pt
- "bass" "\\bassclef" -2.00\pt 14.40\pt -10.00\pt 4.00\pt
- "bass_change" "\\cbassclef" -1.60\pt 11.52\pt -8.00\pt 3.20\pt
- "violin" "\\violinclef" -3.49\pt 14.95\pt -12.00\pt 20.00\pt
- "violin_change" "\\cviolinclef" -3.03\pt 11.72\pt -9.60\pt 16.00\pt
- }
- % } % $name
+++ /dev/null
-% Creator: mf-to-table.py version 0.6
-% Automatically generated on
-% Do not edit
-% input from out/feta19.log
-% name=\symboltables {
- "rests" = \table {
- "0" "\\wholerest" 0.00\pt 7.12\pt -2.97\pt 0.00\pt
- "1" "\\halfrest" 0.00\pt 7.12\pt 0.00\pt 2.97\pt
- "0o" "\\outsidewholerest" -2.97\pt 10.09\pt -2.97\pt 0.48\pt
- "1o" "\\outsidehalfrest" -2.97\pt 10.09\pt -0.48\pt 2.97\pt
- "2" "\\quartrest" 0.00\pt 5.13\pt 3.56\pt 17.10\pt
- "3" "\\eighthrest" 0.00\pt 6.33\pt 4.75\pt 13.50\pt
- "4" "\\sixteenthrest" 0.00\pt 7.37\pt 0.00\pt 13.50\pt
- "5" "\\thirtysecondrest" 0.00\pt 8.32\pt 0.00\pt 18.25\pt
- "6" "\\sixtyfourthrest" 0.00\pt 8.92\pt 0.00\pt 23.00\pt
- "7" "\\hundredtwentyeighthrest" 0.00\pt 9.93\pt 0.00\pt 27.75\pt
- }
- "accidentals" = \table {
- "1" "\\sharp" 0.00\pt 5.23\pt -7.12\pt 7.12\pt
- "0" "\\natural" 0.00\pt 3.17\pt -7.12\pt 7.12\pt
- "-1" "\\flat" -0.57\pt 3.80\pt -2.38\pt 9.50\pt
- "-2" "\\flatflat" -0.57\pt 6.89\pt -2.38\pt 9.50\pt
- "2" "\\sharpsharp" 0.00\pt 4.75\pt -2.38\pt 2.38\pt
- }
- "dots" = \table {
- "dot" "\\dot" 0.00\pt 2.14\pt -1.07\pt 1.07\pt
- "repeatcolon" "\\repeatcolon" 0.00\pt 2.14\pt -2.38\pt 2.38\pt
- }
- "balls" = \table {
- "-1" "\\brevisball" 0.00\pt 9.50\pt -2.61\pt 2.61\pt
- "-1l" "\\brevisledger" -2.38\pt 11.88\pt -0.48\pt 0.48\pt
- "-2" "\\longaball" 0.00\pt 9.50\pt -2.61\pt 2.61\pt
- "-2l" "\\longaledger" -2.38\pt 11.88\pt -0.48\pt 0.48\pt
- "0" "\\wholeball" 0.00\pt 9.41\pt -2.61\pt 2.61\pt
- "0l" "\\wholeledger" -2.35\pt 11.76\pt -0.48\pt 0.48\pt
- "1" "\\halfball" 0.00\pt 6.54\pt -2.61\pt 2.61\pt
- "1l" "\\halfledger" -1.64\pt 8.18\pt -0.48\pt 0.48\pt
- "2" "\\quartball" 0.00\pt 6.27\pt -2.61\pt 2.61\pt
- "2l" "\\quartledger" -1.57\pt 7.84\pt -0.48\pt 0.48\pt
- }
- "scripts" = \table {
- "ufermata" "\\ufermata" -6.29\pt 6.29\pt -0.36\pt 6.89\pt
- "dfermata" "\\dfermata" -6.29\pt 6.29\pt -6.89\pt 0.36\pt
- "sforzato" "\\sforzatoaccent" -4.27\pt 4.27\pt -2.38\pt 2.38\pt
- "staccato" "\\staccato" -0.71\pt 0.71\pt -0.71\pt 0.71\pt
- "ustaccatissimo" "\\ustaccatissimo" -0.95\pt 0.95\pt -0.20\pt 4.75\pt
- "dstaccatissimo" "\\dstaccatissimo" -0.95\pt 0.95\pt -4.75\pt 0.20\pt
- "tenuto" "\\tenuto" -4.27\pt 4.27\pt -0.29\pt 0.29\pt
- "umarcato" "\\umarcato" -2.38\pt 2.38\pt 0.00\pt 5.23\pt
- "dmarcato" "\\dmarcato" -2.38\pt 2.38\pt -5.23\pt 0.00\pt
- "open" "\\ouvert" -1.90\pt 1.90\pt -2.38\pt 2.38\pt
- "stopped" "\\plusstop" -2.61\pt 2.61\pt -2.61\pt 2.61\pt
- "upbow" "\\upbow" -3.09\pt 3.09\pt 0.00\pt 9.88\pt
- "downbow" "\\downbow" -3.56\pt 3.56\pt 0.00\pt 6.33\pt
- "reverseturn" "\\reverseturn" -5.20\pt 5.20\pt -2.51\pt 2.51\pt
- "turn" "\\turn" -5.20\pt 5.20\pt -2.51\pt 2.51\pt
- "trill" "\\trill" -4.75\pt 4.75\pt 0.00\pt 10.69\pt
- "upedalheel" "\\upedalheel" -2.38\pt 2.38\pt -2.38\pt 3.17\pt
- "dpedalheel" "\\dpedalheel" -2.38\pt 2.38\pt -3.17\pt 2.38\pt
- "upedaltoe" "\\upedaltoe" -2.38\pt 2.38\pt 0.00\pt 7.12\pt
- "dpedaltoe" "\\dpedaltoe" -2.38\pt 2.38\pt -7.12\pt 0.00\pt
- "flageolet" "\\flageolet" -2.53\pt 2.53\pt -2.53\pt 2.53\pt
- "trilelement" "\\trilelement" -3.17\pt 1.24\pt -2.38\pt 2.38\pt
- "prall" "\\prall" -5.37\pt 5.37\pt -2.38\pt 2.38\pt
- "mordent" "\\mordent" -5.37\pt 5.37\pt -2.38\pt 2.38\pt
- "prallprall" "\\prallprall" -7.57\pt 7.57\pt -2.38\pt 2.38\pt
- "prallmordent" "\\prallmordent" -7.57\pt 7.57\pt -2.38\pt 2.38\pt
- "upprall" "\\upprall" -7.57\pt 7.57\pt -2.38\pt 2.38\pt
- "downprall" "\\downprall" -7.57\pt 7.57\pt -2.38\pt 2.38\pt
- }
- "flags" = \table {
- "u3" "\\eighthflag" -0.24\pt 5.86\pt -14.56\pt 0.24\pt
- "u4" "\\sixteenthflag" -0.24\pt 5.86\pt -16.93\pt 0.24\pt
- "u5" "\\thirtysecondflag" -0.24\pt 5.86\pt -20.50\pt 0.24\pt
- "u6" "\\sixtyfourthflag" -0.24\pt 5.86\pt -25.25\pt 0.24\pt
- "d3" "\\deighthflag" -0.24\pt 6.49\pt -0.24\pt 13.85\pt
- "d4" "\\dsixteenthflag" -0.24\pt 6.49\pt -0.24\pt 14.56\pt
- "d5" "\\dthirtysecondflag" -0.24\pt 6.49\pt -0.24\pt 18.60\pt
- "d6" "\\dsixtyfourthflag" -0.24\pt 6.49\pt -0.24\pt 20.97\pt
- }
- "clefs" = \table {
- "alto" "\\altoclef" -4.75\pt 17.68\pt -9.50\pt 9.50\pt
- "alto_change" "\\caltoclef" -3.80\pt 14.14\pt -7.60\pt 7.60\pt
- "bass" "\\bassclef" -2.38\pt 17.10\pt -11.88\pt 4.75\pt
- "bass_change" "\\cbassclef" -1.90\pt 13.68\pt -9.50\pt 3.80\pt
- "violin" "\\violinclef" -4.14\pt 17.75\pt -14.25\pt 23.75\pt
- "violin_change" "\\cviolinclef" -3.60\pt 13.92\pt -11.40\pt 19.00\pt
- }
- % } % $name
-% Creator: mf-to-table.py version 0.6
-% Automatically generated on
-% Do not edit
-% input from out/feta19.log
-% name=\symboltables {
- "rests" = \table {
- "0" "\\wholerest" 0.00\pt 7.12\pt -2.97\pt 0.00\pt
- "1" "\\halfrest" 0.00\pt 7.12\pt 0.00\pt 2.97\pt
- "0o" "\\outsidewholerest" -2.97\pt 10.09\pt -2.97\pt 0.48\pt
- "1o" "\\outsidehalfrest" -2.97\pt 10.09\pt -0.48\pt 2.97\pt
- "2" "\\quartrest" 0.00\pt 5.13\pt 3.56\pt 17.10\pt
- "3" "\\eighthrest" 0.00\pt 6.33\pt 4.75\pt 13.50\pt
- "4" "\\sixteenthrest" 0.00\pt 7.37\pt 0.00\pt 13.50\pt
- "5" "\\thirtysecondrest" 0.00\pt 8.32\pt 0.00\pt 18.25\pt
- "6" "\\sixtyfourthrest" 0.00\pt 8.92\pt 0.00\pt 23.00\pt
- "7" "\\hundredtwentyeighthrest" 0.00\pt 9.93\pt 0.00\pt 27.75\pt
- }
- "accidentals" = \table {
- "1" "\\sharp" 0.00\pt 5.23\pt -7.12\pt 7.12\pt
- "0" "\\natural" 0.00\pt 3.17\pt -7.12\pt 7.12\pt
- "-1" "\\flat" -0.57\pt 3.80\pt -2.38\pt 9.50\pt
- "-2" "\\flatflat" -0.57\pt 6.89\pt -2.38\pt 9.50\pt
- "2" "\\sharpsharp" 0.00\pt 4.75\pt -2.38\pt 2.38\pt
- }
- "dots" = \table {
- "dot" "\\dot" 0.00\pt 2.14\pt -1.07\pt 1.07\pt
- "repeatcolon" "\\repeatcolon" 0.00\pt 2.14\pt -2.38\pt 2.38\pt
- }
- "balls" = \table {
- "-1" "\\brevisball" 0.00\pt 9.50\pt -2.61\pt 2.61\pt
- "-1l" "\\brevisledger" -2.38\pt 11.88\pt -0.48\pt 0.48\pt
- "-2" "\\longaball" 0.00\pt 9.50\pt -2.61\pt 2.61\pt
- "-2l" "\\longaledger" -2.38\pt 11.88\pt -0.48\pt 0.48\pt
- "0" "\\wholeball" 0.00\pt 9.41\pt -2.61\pt 2.61\pt
- "0l" "\\wholeledger" -2.35\pt 11.76\pt -0.48\pt 0.48\pt
- "1" "\\halfball" 0.00\pt 6.54\pt -2.61\pt 2.61\pt
- "1l" "\\halfledger" -1.64\pt 8.18\pt -0.48\pt 0.48\pt
- "2" "\\quartball" 0.00\pt 6.27\pt -2.61\pt 2.61\pt
- "2l" "\\quartledger" -1.57\pt 7.84\pt -0.48\pt 0.48\pt
- }
- "scripts" = \table {
- "ufermata" "\\ufermata" -6.29\pt 6.29\pt -0.36\pt 6.89\pt
- "dfermata" "\\dfermata" -6.29\pt 6.29\pt -6.89\pt 0.36\pt
- "sforzato" "\\sforzatoaccent" -4.27\pt 4.27\pt -2.38\pt 2.38\pt
- "staccato" "\\staccato" -0.71\pt 0.71\pt -0.71\pt 0.71\pt
- "ustaccatissimo" "\\ustaccatissimo" -0.95\pt 0.95\pt -0.20\pt 4.75\pt
- "dstaccatissimo" "\\dstaccatissimo" -0.95\pt 0.95\pt -4.75\pt 0.20\pt
- "tenuto" "\\tenuto" -4.27\pt 4.27\pt -0.29\pt 0.29\pt
- "umarcato" "\\umarcato" -2.38\pt 2.38\pt 0.00\pt 5.23\pt
- "dmarcato" "\\dmarcato" -2.38\pt 2.38\pt -5.23\pt 0.00\pt
- "open" "\\ouvert" -1.90\pt 1.90\pt -2.38\pt 2.38\pt
- "stopped" "\\plusstop" -2.61\pt 2.61\pt -2.61\pt 2.61\pt
- "upbow" "\\upbow" -3.09\pt 3.09\pt 0.00\pt 9.88\pt
- "downbow" "\\downbow" -3.56\pt 3.56\pt 0.00\pt 6.33\pt
- "reverseturn" "\\reverseturn" -5.20\pt 5.20\pt -2.51\pt 2.51\pt
- "turn" "\\turn" -5.20\pt 5.20\pt -2.51\pt 2.51\pt
- "trill" "\\trill" -4.75\pt 4.75\pt 0.00\pt 10.69\pt
- "upedalheel" "\\upedalheel" -2.38\pt 2.38\pt -2.38\pt 3.17\pt
- "dpedalheel" "\\dpedalheel" -2.38\pt 2.38\pt -3.17\pt 2.38\pt
- "upedaltoe" "\\upedaltoe" -2.38\pt 2.38\pt 0.00\pt 7.12\pt
- "dpedaltoe" "\\dpedaltoe" -2.38\pt 2.38\pt -7.12\pt 0.00\pt
- "flageolet" "\\flageolet" -2.53\pt 2.53\pt -2.53\pt 2.53\pt
- "trilelement" "\\trilelement" -3.17\pt 1.24\pt -2.38\pt 2.38\pt
- "prall" "\\prall" -5.37\pt 5.37\pt -2.38\pt 2.38\pt
- "mordent" "\\mordent" -5.37\pt 5.37\pt -2.38\pt 2.38\pt
- "prallprall" "\\prallprall" -7.57\pt 7.57\pt -2.38\pt 2.38\pt
- "prallmordent" "\\prallmordent" -7.57\pt 7.57\pt -2.38\pt 2.38\pt
- "upprall" "\\upprall" -7.57\pt 7.57\pt -2.38\pt 2.38\pt
- "downprall" "\\downprall" -7.57\pt 7.57\pt -2.38\pt 2.38\pt
- }
- "flags" = \table {
- "u3" "\\eighthflag" -0.24\pt 5.86\pt -14.56\pt 0.24\pt
- "u4" "\\sixteenthflag" -0.24\pt 5.86\pt -16.93\pt 0.24\pt
- "u5" "\\thirtysecondflag" -0.24\pt 5.86\pt -20.50\pt 0.24\pt
- "u6" "\\sixtyfourthflag" -0.24\pt 5.86\pt -25.25\pt 0.24\pt
- "d3" "\\deighthflag" -0.24\pt 6.49\pt -0.24\pt 13.85\pt
- "d4" "\\dsixteenthflag" -0.24\pt 6.49\pt -0.24\pt 14.56\pt
- "d5" "\\dthirtysecondflag" -0.24\pt 6.49\pt -0.24\pt 18.60\pt
- "d6" "\\dsixtyfourthflag" -0.24\pt 6.49\pt -0.24\pt 20.97\pt
- }
- "clefs" = \table {
- "alto" "\\altoclef" -4.75\pt 17.68\pt -9.50\pt 9.50\pt
- "alto_change" "\\caltoclef" -3.80\pt 14.14\pt -7.60\pt 7.60\pt
- "bass" "\\bassclef" -2.38\pt 17.10\pt -11.88\pt 4.75\pt
- "bass_change" "\\cbassclef" -1.90\pt 13.68\pt -9.50\pt 3.80\pt
- "violin" "\\violinclef" -4.14\pt 17.75\pt -14.25\pt 23.75\pt
- "violin_change" "\\cviolinclef" -3.60\pt 13.92\pt -11.40\pt 19.00\pt
- }
- % } % $name
+++ /dev/null
-% Creator: mf-to-table.py version 0.6
-% Automatically generated on
-% Do not edit
-% input from out/feta20.log
-% name=\symboltables {
- "rests" = \table {
- "0" "\\wholerest" 0.00\pt 7.50\pt -3.12\pt 0.00\pt
- "1" "\\halfrest" 0.00\pt 7.50\pt 0.00\pt 3.12\pt
- "0o" "\\outsidewholerest" -3.12\pt 10.62\pt -3.12\pt 0.50\pt
- "1o" "\\outsidehalfrest" -3.12\pt 10.62\pt -0.50\pt 3.12\pt
- "2" "\\quartrest" 0.00\pt 5.40\pt 3.75\pt 18.00\pt
- "3" "\\eighthrest" 0.00\pt 6.67\pt 5.00\pt 14.21\pt
- "4" "\\sixteenthrest" 0.00\pt 7.76\pt 0.00\pt 14.21\pt
- "5" "\\thirtysecondrest" 0.00\pt 8.75\pt 0.00\pt 19.21\pt
- "6" "\\sixtyfourthrest" 0.00\pt 9.38\pt 0.00\pt 24.21\pt
- "7" "\\hundredtwentyeighthrest" 0.00\pt 10.45\pt 0.00\pt 29.21\pt
- }
- "accidentals" = \table {
- "1" "\\sharp" 0.00\pt 5.50\pt -7.50\pt 7.50\pt
- "0" "\\natural" 0.00\pt 3.33\pt -7.50\pt 7.50\pt
- "-1" "\\flat" -0.60\pt 4.00\pt -2.50\pt 10.00\pt
- "-2" "\\flatflat" -0.60\pt 7.25\pt -2.50\pt 10.00\pt
- "2" "\\sharpsharp" 0.00\pt 5.00\pt -2.50\pt 2.50\pt
- }
- "dots" = \table {
- "dot" "\\dot" 0.00\pt 2.25\pt -1.12\pt 1.12\pt
- "repeatcolon" "\\repeatcolon" 0.00\pt 2.25\pt -2.50\pt 2.50\pt
- }
- "balls" = \table {
- "-1" "\\brevisball" 0.00\pt 10.00\pt -2.75\pt 2.75\pt
- "-1l" "\\brevisledger" -2.50\pt 12.50\pt -0.50\pt 0.50\pt
- "-2" "\\longaball" 0.00\pt 10.00\pt -2.75\pt 2.75\pt
- "-2l" "\\longaledger" -2.50\pt 12.50\pt -0.50\pt 0.50\pt
- "0" "\\wholeball" 0.00\pt 9.90\pt -2.75\pt 2.75\pt
- "0l" "\\wholeledger" -2.48\pt 12.38\pt -0.50\pt 0.50\pt
- "1" "\\halfball" 0.00\pt 6.89\pt -2.75\pt 2.75\pt
- "1l" "\\halfledger" -1.72\pt 8.61\pt -0.50\pt 0.50\pt
- "2" "\\quartball" 0.00\pt 6.61\pt -2.75\pt 2.75\pt
- "2l" "\\quartledger" -1.65\pt 8.26\pt -0.50\pt 0.50\pt
- }
- "scripts" = \table {
- "ufermata" "\\ufermata" -6.63\pt 6.63\pt -0.38\pt 7.25\pt
- "dfermata" "\\dfermata" -6.63\pt 6.63\pt -7.25\pt 0.38\pt
- "sforzato" "\\sforzatoaccent" -4.50\pt 4.50\pt -2.50\pt 2.50\pt
- "staccato" "\\staccato" -0.75\pt 0.75\pt -0.75\pt 0.75\pt
- "ustaccatissimo" "\\ustaccatissimo" -1.00\pt 1.00\pt -0.20\pt 5.00\pt
- "dstaccatissimo" "\\dstaccatissimo" -1.00\pt 1.00\pt -5.00\pt 0.20\pt
- "tenuto" "\\tenuto" -4.50\pt 4.50\pt -0.30\pt 0.30\pt
- "umarcato" "\\umarcato" -2.50\pt 2.50\pt 0.00\pt 5.50\pt
- "dmarcato" "\\dmarcato" -2.50\pt 2.50\pt -5.50\pt 0.00\pt
- "open" "\\ouvert" -2.00\pt 2.00\pt -2.50\pt 2.50\pt
- "stopped" "\\plusstop" -2.75\pt 2.75\pt -2.75\pt 2.75\pt
- "upbow" "\\upbow" -3.25\pt 3.25\pt 0.00\pt 10.40\pt
- "downbow" "\\downbow" -3.75\pt 3.75\pt 0.00\pt 6.67\pt
- "reverseturn" "\\reverseturn" -5.47\pt 5.47\pt -2.65\pt 2.65\pt
- "turn" "\\turn" -5.47\pt 5.47\pt -2.65\pt 2.65\pt
- "trill" "\\trill" -5.00\pt 5.00\pt 0.00\pt 11.25\pt
- "upedalheel" "\\upedalheel" -2.50\pt 2.50\pt -2.50\pt 3.33\pt
- "dpedalheel" "\\dpedalheel" -2.50\pt 2.50\pt -3.33\pt 2.50\pt
- "upedaltoe" "\\upedaltoe" -2.50\pt 2.50\pt 0.00\pt 7.50\pt
- "dpedaltoe" "\\dpedaltoe" -2.50\pt 2.50\pt -7.50\pt 0.00\pt
- "flageolet" "\\flageolet" -2.67\pt 2.67\pt -2.67\pt 2.67\pt
- "trilelement" "\\trilelement" -3.33\pt 1.31\pt -2.50\pt 2.50\pt
- "prall" "\\prall" -5.65\pt 5.65\pt -2.50\pt 2.50\pt
- "mordent" "\\mordent" -5.65\pt 5.65\pt -2.50\pt 2.50\pt
- "prallprall" "\\prallprall" -7.97\pt 7.97\pt -2.50\pt 2.50\pt
- "prallmordent" "\\prallmordent" -7.97\pt 7.97\pt -2.50\pt 2.50\pt
- "upprall" "\\upprall" -7.97\pt 7.97\pt -2.50\pt 2.50\pt
- "downprall" "\\downprall" -7.97\pt 7.97\pt -2.50\pt 2.50\pt
- }
- "flags" = \table {
- "u3" "\\eighthflag" -0.25\pt 6.17\pt -15.33\pt 0.25\pt
- "u4" "\\sixteenthflag" -0.25\pt 6.17\pt -17.83\pt 0.25\pt
- "u5" "\\thirtysecondflag" -0.25\pt 6.17\pt -21.58\pt 0.25\pt
- "u6" "\\sixtyfourthflag" -0.25\pt 6.17\pt -26.58\pt 0.25\pt
- "d3" "\\deighthflag" -0.25\pt 6.83\pt -0.25\pt 14.58\pt
- "d4" "\\dsixteenthflag" -0.25\pt 6.83\pt -0.25\pt 15.33\pt
- "d5" "\\dthirtysecondflag" -0.25\pt 6.83\pt -0.25\pt 19.58\pt
- "d6" "\\dsixtyfourthflag" -0.25\pt 6.83\pt -0.25\pt 22.08\pt
- }
- "clefs" = \table {
- "alto" "\\altoclef" -5.00\pt 18.61\pt -10.00\pt 10.00\pt
- "alto_change" "\\caltoclef" -4.00\pt 14.89\pt -8.00\pt 8.00\pt
- "bass" "\\bassclef" -2.50\pt 18.00\pt -12.50\pt 5.00\pt
- "bass_change" "\\cbassclef" -2.00\pt 14.40\pt -10.00\pt 4.00\pt
- "violin" "\\violinclef" -4.36\pt 18.69\pt -15.00\pt 25.00\pt
- "violin_change" "\\cviolinclef" -3.79\pt 14.65\pt -12.00\pt 20.00\pt
- }
- % } % $name
-% Creator: mf-to-table.py version 0.6
-% Automatically generated on
-% Do not edit
-% input from out/feta20.log
-% name=\symboltables {
- "rests" = \table {
- "0" "\\wholerest" 0.00\pt 7.50\pt -3.12\pt 0.00\pt
- "1" "\\halfrest" 0.00\pt 7.50\pt 0.00\pt 3.12\pt
- "0o" "\\outsidewholerest" -3.12\pt 10.62\pt -3.12\pt 0.50\pt
- "1o" "\\outsidehalfrest" -3.12\pt 10.62\pt -0.50\pt 3.12\pt
- "2" "\\quartrest" 0.00\pt 5.40\pt 3.75\pt 18.00\pt
- "3" "\\eighthrest" 0.00\pt 6.67\pt 5.00\pt 14.21\pt
- "4" "\\sixteenthrest" 0.00\pt 7.76\pt 0.00\pt 14.21\pt
- "5" "\\thirtysecondrest" 0.00\pt 8.75\pt 0.00\pt 19.21\pt
- "6" "\\sixtyfourthrest" 0.00\pt 9.38\pt 0.00\pt 24.21\pt
- "7" "\\hundredtwentyeighthrest" 0.00\pt 10.45\pt 0.00\pt 29.21\pt
- }
- "accidentals" = \table {
- "1" "\\sharp" 0.00\pt 5.50\pt -7.50\pt 7.50\pt
- "0" "\\natural" 0.00\pt 3.33\pt -7.50\pt 7.50\pt
- "-1" "\\flat" -0.60\pt 4.00\pt -2.50\pt 10.00\pt
- "-2" "\\flatflat" -0.60\pt 7.25\pt -2.50\pt 10.00\pt
- "2" "\\sharpsharp" 0.00\pt 5.00\pt -2.50\pt 2.50\pt
- }
- "dots" = \table {
- "dot" "\\dot" 0.00\pt 2.25\pt -1.12\pt 1.12\pt
- "repeatcolon" "\\repeatcolon" 0.00\pt 2.25\pt -2.50\pt 2.50\pt
- }
- "balls" = \table {
- "-1" "\\brevisball" 0.00\pt 10.00\pt -2.75\pt 2.75\pt
- "-1l" "\\brevisledger" -2.50\pt 12.50\pt -0.50\pt 0.50\pt
- "-2" "\\longaball" 0.00\pt 10.00\pt -2.75\pt 2.75\pt
- "-2l" "\\longaledger" -2.50\pt 12.50\pt -0.50\pt 0.50\pt
- "0" "\\wholeball" 0.00\pt 9.90\pt -2.75\pt 2.75\pt
- "0l" "\\wholeledger" -2.48\pt 12.38\pt -0.50\pt 0.50\pt
- "1" "\\halfball" 0.00\pt 6.89\pt -2.75\pt 2.75\pt
- "1l" "\\halfledger" -1.72\pt 8.61\pt -0.50\pt 0.50\pt
- "2" "\\quartball" 0.00\pt 6.61\pt -2.75\pt 2.75\pt
- "2l" "\\quartledger" -1.65\pt 8.26\pt -0.50\pt 0.50\pt
- }
- "scripts" = \table {
- "ufermata" "\\ufermata" -6.63\pt 6.63\pt -0.38\pt 7.25\pt
- "dfermata" "\\dfermata" -6.63\pt 6.63\pt -7.25\pt 0.38\pt
- "sforzato" "\\sforzatoaccent" -4.50\pt 4.50\pt -2.50\pt 2.50\pt
- "staccato" "\\staccato" -0.75\pt 0.75\pt -0.75\pt 0.75\pt
- "ustaccatissimo" "\\ustaccatissimo" -1.00\pt 1.00\pt -0.20\pt 5.00\pt
- "dstaccatissimo" "\\dstaccatissimo" -1.00\pt 1.00\pt -5.00\pt 0.20\pt
- "tenuto" "\\tenuto" -4.50\pt 4.50\pt -0.30\pt 0.30\pt
- "umarcato" "\\umarcato" -2.50\pt 2.50\pt 0.00\pt 5.50\pt
- "dmarcato" "\\dmarcato" -2.50\pt 2.50\pt -5.50\pt 0.00\pt
- "open" "\\ouvert" -2.00\pt 2.00\pt -2.50\pt 2.50\pt
- "stopped" "\\plusstop" -2.75\pt 2.75\pt -2.75\pt 2.75\pt
- "upbow" "\\upbow" -3.25\pt 3.25\pt 0.00\pt 10.40\pt
- "downbow" "\\downbow" -3.75\pt 3.75\pt 0.00\pt 6.67\pt
- "reverseturn" "\\reverseturn" -5.47\pt 5.47\pt -2.65\pt 2.65\pt
- "turn" "\\turn" -5.47\pt 5.47\pt -2.65\pt 2.65\pt
- "trill" "\\trill" -5.00\pt 5.00\pt 0.00\pt 11.25\pt
- "upedalheel" "\\upedalheel" -2.50\pt 2.50\pt -2.50\pt 3.33\pt
- "dpedalheel" "\\dpedalheel" -2.50\pt 2.50\pt -3.33\pt 2.50\pt
- "upedaltoe" "\\upedaltoe" -2.50\pt 2.50\pt 0.00\pt 7.50\pt
- "dpedaltoe" "\\dpedaltoe" -2.50\pt 2.50\pt -7.50\pt 0.00\pt
- "flageolet" "\\flageolet" -2.67\pt 2.67\pt -2.67\pt 2.67\pt
- "trilelement" "\\trilelement" -3.33\pt 1.31\pt -2.50\pt 2.50\pt
- "prall" "\\prall" -5.65\pt 5.65\pt -2.50\pt 2.50\pt
- "mordent" "\\mordent" -5.65\pt 5.65\pt -2.50\pt 2.50\pt
- "prallprall" "\\prallprall" -7.97\pt 7.97\pt -2.50\pt 2.50\pt
- "prallmordent" "\\prallmordent" -7.97\pt 7.97\pt -2.50\pt 2.50\pt
- "upprall" "\\upprall" -7.97\pt 7.97\pt -2.50\pt 2.50\pt
- "downprall" "\\downprall" -7.97\pt 7.97\pt -2.50\pt 2.50\pt
- }
- "flags" = \table {
- "u3" "\\eighthflag" -0.25\pt 6.17\pt -15.33\pt 0.25\pt
- "u4" "\\sixteenthflag" -0.25\pt 6.17\pt -17.83\pt 0.25\pt
- "u5" "\\thirtysecondflag" -0.25\pt 6.17\pt -21.58\pt 0.25\pt
- "u6" "\\sixtyfourthflag" -0.25\pt 6.17\pt -26.58\pt 0.25\pt
- "d3" "\\deighthflag" -0.25\pt 6.83\pt -0.25\pt 14.58\pt
- "d4" "\\dsixteenthflag" -0.25\pt 6.83\pt -0.25\pt 15.33\pt
- "d5" "\\dthirtysecondflag" -0.25\pt 6.83\pt -0.25\pt 19.58\pt
- "d6" "\\dsixtyfourthflag" -0.25\pt 6.83\pt -0.25\pt 22.08\pt
- }
- "clefs" = \table {
- "alto" "\\altoclef" -5.00\pt 18.61\pt -10.00\pt 10.00\pt
- "alto_change" "\\caltoclef" -4.00\pt 14.89\pt -8.00\pt 8.00\pt
- "bass" "\\bassclef" -2.50\pt 18.00\pt -12.50\pt 5.00\pt
- "bass_change" "\\cbassclef" -2.00\pt 14.40\pt -10.00\pt 4.00\pt
- "violin" "\\violinclef" -4.36\pt 18.69\pt -15.00\pt 25.00\pt
- "violin_change" "\\cviolinclef" -3.79\pt 14.65\pt -12.00\pt 20.00\pt
- }
- % } % $name
+++ /dev/null
-% Creator: mf-to-table.py version 0.6
-% Automatically generated on
-% Do not edit
-% input from out/feta23.log
-% name=\symboltables {
- "rests" = \table {
- "0" "\\wholerest" 0.00\pt 8.44\pt -3.52\pt 0.00\pt
- "1" "\\halfrest" 0.00\pt 8.44\pt 0.00\pt 3.52\pt
- "0o" "\\outsidewholerest" -3.52\pt 11.95\pt -3.52\pt 0.56\pt
- "1o" "\\outsidehalfrest" -3.52\pt 11.95\pt -0.56\pt 3.52\pt
- "2" "\\quartrest" 0.00\pt 6.08\pt 4.22\pt 20.25\pt
- "3" "\\eighthrest" 0.00\pt 7.50\pt 5.62\pt 15.98\pt
- "4" "\\sixteenthrest" 0.00\pt 8.73\pt 0.00\pt 15.98\pt
- "5" "\\thirtysecondrest" 0.00\pt 9.85\pt 0.00\pt 21.61\pt
- "6" "\\sixtyfourthrest" 0.00\pt 10.56\pt 0.00\pt 27.23\pt
- "7" "\\hundredtwentyeighthrest" 0.00\pt 11.75\pt 0.00\pt 32.86\pt
- }
- "accidentals" = \table {
- "1" "\\sharp" 0.00\pt 6.19\pt -8.44\pt 8.44\pt
- "0" "\\natural" 0.00\pt 3.75\pt -8.44\pt 8.44\pt
- "-1" "\\flat" -0.68\pt 4.50\pt -2.81\pt 11.25\pt
- "-2" "\\flatflat" -0.68\pt 8.16\pt -2.81\pt 11.25\pt
- "2" "\\sharpsharp" 0.00\pt 5.62\pt -2.81\pt 2.81\pt
- }
- "dots" = \table {
- "dot" "\\dot" 0.00\pt 2.53\pt -1.27\pt 1.27\pt
- "repeatcolon" "\\repeatcolon" 0.00\pt 2.53\pt -2.81\pt 2.81\pt
- }
- "balls" = \table {
- "-1" "\\brevisball" 0.00\pt 11.25\pt -3.09\pt 3.09\pt
- "-1l" "\\brevisledger" -2.81\pt 14.06\pt -0.56\pt 0.56\pt
- "-2" "\\longaball" 0.00\pt 11.25\pt -3.09\pt 3.09\pt
- "-2l" "\\longaledger" -2.81\pt 14.06\pt -0.56\pt 0.56\pt
- "0" "\\wholeball" 0.00\pt 11.14\pt -3.09\pt 3.09\pt
- "0l" "\\wholeledger" -2.78\pt 13.92\pt -0.56\pt 0.56\pt
- "1" "\\halfball" 0.00\pt 7.75\pt -3.09\pt 3.09\pt
- "1l" "\\halfledger" -1.94\pt 9.69\pt -0.56\pt 0.56\pt
- "2" "\\quartball" 0.00\pt 7.43\pt -3.09\pt 3.09\pt
- "2l" "\\quartledger" -1.86\pt 9.29\pt -0.56\pt 0.56\pt
- }
- "scripts" = \table {
- "ufermata" "\\ufermata" -7.45\pt 7.45\pt -0.42\pt 8.16\pt
- "dfermata" "\\dfermata" -7.45\pt 7.45\pt -8.16\pt 0.42\pt
- "sforzato" "\\sforzatoaccent" -5.06\pt 5.06\pt -2.81\pt 2.81\pt
- "staccato" "\\staccato" -0.84\pt 0.84\pt -0.84\pt 0.84\pt
- "ustaccatissimo" "\\ustaccatissimo" -1.13\pt 1.13\pt -0.20\pt 5.63\pt
- "dstaccatissimo" "\\dstaccatissimo" -1.13\pt 1.13\pt -5.63\pt 0.20\pt
- "tenuto" "\\tenuto" -5.06\pt 5.06\pt -0.34\pt 0.34\pt
- "umarcato" "\\umarcato" -2.81\pt 2.81\pt 0.00\pt 6.19\pt
- "dmarcato" "\\dmarcato" -2.81\pt 2.81\pt -6.19\pt 0.00\pt
- "open" "\\ouvert" -2.25\pt 2.25\pt -2.81\pt 2.81\pt
- "stopped" "\\plusstop" -3.09\pt 3.09\pt -3.09\pt 3.09\pt
- "upbow" "\\upbow" -3.66\pt 3.66\pt 0.00\pt 11.70\pt
- "downbow" "\\downbow" -4.22\pt 4.22\pt 0.00\pt 7.50\pt
- "reverseturn" "\\reverseturn" -6.15\pt 6.15\pt -2.98\pt 2.98\pt
- "turn" "\\turn" -6.15\pt 6.15\pt -2.98\pt 2.98\pt
- "trill" "\\trill" -5.62\pt 5.62\pt 0.00\pt 12.66\pt
- "upedalheel" "\\upedalheel" -2.81\pt 2.81\pt -2.81\pt 3.75\pt
- "dpedalheel" "\\dpedalheel" -2.81\pt 2.81\pt -3.75\pt 2.81\pt
- "upedaltoe" "\\upedaltoe" -2.81\pt 2.81\pt 0.00\pt 8.44\pt
- "dpedaltoe" "\\dpedaltoe" -2.81\pt 2.81\pt -8.44\pt 0.00\pt
- "flageolet" "\\flageolet" -3.00\pt 3.00\pt -3.00\pt 3.00\pt
- "trilelement" "\\trilelement" -3.75\pt 1.47\pt -2.81\pt 2.81\pt
- "prall" "\\prall" -6.36\pt 6.36\pt -2.81\pt 2.81\pt
- "mordent" "\\mordent" -6.36\pt 6.36\pt -2.81\pt 2.81\pt
- "prallprall" "\\prallprall" -8.97\pt 8.97\pt -2.81\pt 2.81\pt
- "prallmordent" "\\prallmordent" -8.97\pt 8.97\pt -2.81\pt 2.81\pt
- "upprall" "\\upprall" -8.97\pt 8.97\pt -2.81\pt 2.81\pt
- "downprall" "\\downprall" -8.97\pt 8.97\pt -2.81\pt 2.81\pt
- }
- "flags" = \table {
- "u3" "\\eighthflag" -0.28\pt 6.94\pt -17.24\pt 0.28\pt
- "u4" "\\sixteenthflag" -0.28\pt 6.94\pt -20.05\pt 0.28\pt
- "u5" "\\thirtysecondflag" -0.28\pt 6.94\pt -24.27\pt 0.28\pt
- "u6" "\\sixtyfourthflag" -0.28\pt 6.94\pt -29.90\pt 0.28\pt
- "d3" "\\deighthflag" -0.28\pt 7.68\pt -0.28\pt 16.40\pt
- "d4" "\\dsixteenthflag" -0.28\pt 7.68\pt -0.28\pt 17.24\pt
- "d5" "\\dthirtysecondflag" -0.28\pt 7.68\pt -0.28\pt 22.02\pt
- "d6" "\\dsixtyfourthflag" -0.28\pt 7.68\pt -0.28\pt 24.83\pt
- }
- "clefs" = \table {
- "alto" "\\altoclef" -5.62\pt 20.94\pt -11.25\pt 11.25\pt
- "alto_change" "\\caltoclef" -4.50\pt 16.75\pt -9.00\pt 9.00\pt
- "bass" "\\bassclef" -2.81\pt 20.25\pt -14.06\pt 5.62\pt
- "bass_change" "\\cbassclef" -2.25\pt 16.20\pt -11.25\pt 4.50\pt
- "violin" "\\violinclef" -4.90\pt 21.02\pt -16.88\pt 28.12\pt
- "violin_change" "\\cviolinclef" -4.26\pt 16.48\pt -13.50\pt 22.50\pt
- }
- % } % $name
-% Creator: mf-to-table.py version 0.6
-% Automatically generated on
-% Do not edit
-% input from out/feta23.log
-% name=\symboltables {
- "rests" = \table {
- "0" "\\wholerest" 0.00\pt 8.44\pt -3.52\pt 0.00\pt
- "1" "\\halfrest" 0.00\pt 8.44\pt 0.00\pt 3.52\pt
- "0o" "\\outsidewholerest" -3.52\pt 11.95\pt -3.52\pt 0.56\pt
- "1o" "\\outsidehalfrest" -3.52\pt 11.95\pt -0.56\pt 3.52\pt
- "2" "\\quartrest" 0.00\pt 6.08\pt 4.22\pt 20.25\pt
- "3" "\\eighthrest" 0.00\pt 7.50\pt 5.62\pt 15.98\pt
- "4" "\\sixteenthrest" 0.00\pt 8.73\pt 0.00\pt 15.98\pt
- "5" "\\thirtysecondrest" 0.00\pt 9.85\pt 0.00\pt 21.61\pt
- "6" "\\sixtyfourthrest" 0.00\pt 10.56\pt 0.00\pt 27.23\pt
- "7" "\\hundredtwentyeighthrest" 0.00\pt 11.75\pt 0.00\pt 32.86\pt
- }
- "accidentals" = \table {
- "1" "\\sharp" 0.00\pt 6.19\pt -8.44\pt 8.44\pt
- "0" "\\natural" 0.00\pt 3.75\pt -8.44\pt 8.44\pt
- "-1" "\\flat" -0.68\pt 4.50\pt -2.81\pt 11.25\pt
- "-2" "\\flatflat" -0.68\pt 8.16\pt -2.81\pt 11.25\pt
- "2" "\\sharpsharp" 0.00\pt 5.62\pt -2.81\pt 2.81\pt
- }
- "dots" = \table {
- "dot" "\\dot" 0.00\pt 2.53\pt -1.27\pt 1.27\pt
- "repeatcolon" "\\repeatcolon" 0.00\pt 2.53\pt -2.81\pt 2.81\pt
- }
- "balls" = \table {
- "-1" "\\brevisball" 0.00\pt 11.25\pt -3.09\pt 3.09\pt
- "-1l" "\\brevisledger" -2.81\pt 14.06\pt -0.56\pt 0.56\pt
- "-2" "\\longaball" 0.00\pt 11.25\pt -3.09\pt 3.09\pt
- "-2l" "\\longaledger" -2.81\pt 14.06\pt -0.56\pt 0.56\pt
- "0" "\\wholeball" 0.00\pt 11.14\pt -3.09\pt 3.09\pt
- "0l" "\\wholeledger" -2.78\pt 13.92\pt -0.56\pt 0.56\pt
- "1" "\\halfball" 0.00\pt 7.75\pt -3.09\pt 3.09\pt
- "1l" "\\halfledger" -1.94\pt 9.69\pt -0.56\pt 0.56\pt
- "2" "\\quartball" 0.00\pt 7.43\pt -3.09\pt 3.09\pt
- "2l" "\\quartledger" -1.86\pt 9.29\pt -0.56\pt 0.56\pt
- }
- "scripts" = \table {
- "ufermata" "\\ufermata" -7.45\pt 7.45\pt -0.42\pt 8.16\pt
- "dfermata" "\\dfermata" -7.45\pt 7.45\pt -8.16\pt 0.42\pt
- "sforzato" "\\sforzatoaccent" -5.06\pt 5.06\pt -2.81\pt 2.81\pt
- "staccato" "\\staccato" -0.84\pt 0.84\pt -0.84\pt 0.84\pt
- "ustaccatissimo" "\\ustaccatissimo" -1.13\pt 1.13\pt -0.20\pt 5.63\pt
- "dstaccatissimo" "\\dstaccatissimo" -1.13\pt 1.13\pt -5.63\pt 0.20\pt
- "tenuto" "\\tenuto" -5.06\pt 5.06\pt -0.34\pt 0.34\pt
- "umarcato" "\\umarcato" -2.81\pt 2.81\pt 0.00\pt 6.19\pt
- "dmarcato" "\\dmarcato" -2.81\pt 2.81\pt -6.19\pt 0.00\pt
- "open" "\\ouvert" -2.25\pt 2.25\pt -2.81\pt 2.81\pt
- "stopped" "\\plusstop" -3.09\pt 3.09\pt -3.09\pt 3.09\pt
- "upbow" "\\upbow" -3.66\pt 3.66\pt 0.00\pt 11.70\pt
- "downbow" "\\downbow" -4.22\pt 4.22\pt 0.00\pt 7.50\pt
- "reverseturn" "\\reverseturn" -6.15\pt 6.15\pt -2.98\pt 2.98\pt
- "turn" "\\turn" -6.15\pt 6.15\pt -2.98\pt 2.98\pt
- "trill" "\\trill" -5.62\pt 5.62\pt 0.00\pt 12.66\pt
- "upedalheel" "\\upedalheel" -2.81\pt 2.81\pt -2.81\pt 3.75\pt
- "dpedalheel" "\\dpedalheel" -2.81\pt 2.81\pt -3.75\pt 2.81\pt
- "upedaltoe" "\\upedaltoe" -2.81\pt 2.81\pt 0.00\pt 8.44\pt
- "dpedaltoe" "\\dpedaltoe" -2.81\pt 2.81\pt -8.44\pt 0.00\pt
- "flageolet" "\\flageolet" -3.00\pt 3.00\pt -3.00\pt 3.00\pt
- "trilelement" "\\trilelement" -3.75\pt 1.47\pt -2.81\pt 2.81\pt
- "prall" "\\prall" -6.36\pt 6.36\pt -2.81\pt 2.81\pt
- "mordent" "\\mordent" -6.36\pt 6.36\pt -2.81\pt 2.81\pt
- "prallprall" "\\prallprall" -8.97\pt 8.97\pt -2.81\pt 2.81\pt
- "prallmordent" "\\prallmordent" -8.97\pt 8.97\pt -2.81\pt 2.81\pt
- "upprall" "\\upprall" -8.97\pt 8.97\pt -2.81\pt 2.81\pt
- "downprall" "\\downprall" -8.97\pt 8.97\pt -2.81\pt 2.81\pt
- }
- "flags" = \table {
- "u3" "\\eighthflag" -0.28\pt 6.94\pt -17.24\pt 0.28\pt
- "u4" "\\sixteenthflag" -0.28\pt 6.94\pt -20.05\pt 0.28\pt
- "u5" "\\thirtysecondflag" -0.28\pt 6.94\pt -24.27\pt 0.28\pt
- "u6" "\\sixtyfourthflag" -0.28\pt 6.94\pt -29.90\pt 0.28\pt
- "d3" "\\deighthflag" -0.28\pt 7.68\pt -0.28\pt 16.40\pt
- "d4" "\\dsixteenthflag" -0.28\pt 7.68\pt -0.28\pt 17.24\pt
- "d5" "\\dthirtysecondflag" -0.28\pt 7.68\pt -0.28\pt 22.02\pt
- "d6" "\\dsixtyfourthflag" -0.28\pt 7.68\pt -0.28\pt 24.83\pt
- }
- "clefs" = \table {
- "alto" "\\altoclef" -5.62\pt 20.94\pt -11.25\pt 11.25\pt
- "alto_change" "\\caltoclef" -4.50\pt 16.75\pt -9.00\pt 9.00\pt
- "bass" "\\bassclef" -2.81\pt 20.25\pt -14.06\pt 5.62\pt
- "bass_change" "\\cbassclef" -2.25\pt 16.20\pt -11.25\pt 4.50\pt
- "violin" "\\violinclef" -4.90\pt 21.02\pt -16.88\pt 28.12\pt
- "violin_change" "\\cviolinclef" -4.26\pt 16.48\pt -13.50\pt 22.50\pt
- }
- % } % $name
+++ /dev/null
-% Creator: mf-to-table.py version 0.6
-% Automatically generated on
-% Do not edit
-% input from out/feta26.log
-% name=\symboltables {
- "rests" = \table {
- "0" "\\wholerest" 0.00\pt 9.75\pt -4.06\pt 0.00\pt
- "1" "\\halfrest" 0.00\pt 9.75\pt 0.00\pt 4.06\pt
- "0o" "\\outsidewholerest" -4.06\pt 13.81\pt -4.06\pt 0.65\pt
- "1o" "\\outsidehalfrest" -4.06\pt 13.81\pt -0.65\pt 4.06\pt
- "2" "\\quartrest" 0.00\pt 7.02\pt 4.88\pt 23.40\pt
- "3" "\\eighthrest" 0.00\pt 8.67\pt 6.50\pt 18.47\pt
- "4" "\\sixteenthrest" 0.00\pt 10.08\pt 0.00\pt 18.47\pt
- "5" "\\thirtysecondrest" 0.00\pt 11.38\pt 0.00\pt 24.97\pt
- "6" "\\sixtyfourthrest" 0.00\pt 12.20\pt 0.00\pt 31.47\pt
- "7" "\\hundredtwentyeighthrest" 0.00\pt 13.58\pt 0.00\pt 37.97\pt
- }
- "accidentals" = \table {
- "1" "\\sharp" 0.00\pt 7.15\pt -9.75\pt 9.75\pt
- "0" "\\natural" 0.00\pt 4.33\pt -9.75\pt 9.75\pt
- "-1" "\\flat" -0.78\pt 5.20\pt -3.25\pt 13.00\pt
- "-2" "\\flatflat" -0.78\pt 9.42\pt -3.25\pt 13.00\pt
- "2" "\\sharpsharp" 0.00\pt 6.50\pt -3.25\pt 3.25\pt
- }
- "dots" = \table {
- "dot" "\\dot" 0.00\pt 2.92\pt -1.46\pt 1.46\pt
- "repeatcolon" "\\repeatcolon" 0.00\pt 2.92\pt -3.25\pt 3.25\pt
- }
- "balls" = \table {
- "-1" "\\brevisball" 0.00\pt 13.00\pt -3.58\pt 3.58\pt
- "-1l" "\\brevisledger" -3.25\pt 16.25\pt -0.65\pt 0.65\pt
- "-2" "\\longaball" 0.00\pt 13.00\pt -3.58\pt 3.58\pt
- "-2l" "\\longaledger" -3.25\pt 16.25\pt -0.65\pt 0.65\pt
- "0" "\\wholeball" 0.00\pt 12.87\pt -3.58\pt 3.58\pt
- "0l" "\\wholeledger" -3.22\pt 16.09\pt -0.65\pt 0.65\pt
- "1" "\\halfball" 0.00\pt 8.95\pt -3.58\pt 3.58\pt
- "1l" "\\halfledger" -2.24\pt 11.19\pt -0.65\pt 0.65\pt
- "2" "\\quartball" 0.00\pt 8.59\pt -3.58\pt 3.58\pt
- "2l" "\\quartledger" -2.15\pt 10.73\pt -0.65\pt 0.65\pt
- }
- "scripts" = \table {
- "ufermata" "\\ufermata" -8.61\pt 8.61\pt -0.49\pt 9.43\pt
- "dfermata" "\\dfermata" -8.61\pt 8.61\pt -9.43\pt 0.49\pt
- "sforzato" "\\sforzatoaccent" -5.85\pt 5.85\pt -3.25\pt 3.25\pt
- "staccato" "\\staccato" -0.98\pt 0.98\pt -0.98\pt 0.98\pt
- "ustaccatissimo" "\\ustaccatissimo" -1.30\pt 1.30\pt -0.20\pt 6.50\pt
- "dstaccatissimo" "\\dstaccatissimo" -1.30\pt 1.30\pt -6.50\pt 0.20\pt
- "tenuto" "\\tenuto" -5.85\pt 5.85\pt -0.39\pt 0.39\pt
- "umarcato" "\\umarcato" -3.25\pt 3.25\pt 0.00\pt 7.15\pt
- "dmarcato" "\\dmarcato" -3.25\pt 3.25\pt -7.15\pt 0.00\pt
- "open" "\\ouvert" -2.60\pt 2.60\pt -3.25\pt 3.25\pt
- "stopped" "\\plusstop" -3.58\pt 3.58\pt -3.58\pt 3.58\pt
- "upbow" "\\upbow" -4.23\pt 4.23\pt 0.00\pt 13.52\pt
- "downbow" "\\downbow" -4.88\pt 4.88\pt 0.00\pt 8.67\pt
- "reverseturn" "\\reverseturn" -7.11\pt 7.11\pt -3.44\pt 3.44\pt
- "turn" "\\turn" -7.11\pt 7.11\pt -3.44\pt 3.44\pt
- "trill" "\\trill" -6.50\pt 6.50\pt 0.00\pt 14.62\pt
- "upedalheel" "\\upedalheel" -3.25\pt 3.25\pt -3.25\pt 4.33\pt
- "dpedalheel" "\\dpedalheel" -3.25\pt 3.25\pt -4.33\pt 3.25\pt
- "upedaltoe" "\\upedaltoe" -3.25\pt 3.25\pt 0.00\pt 9.75\pt
- "dpedaltoe" "\\dpedaltoe" -3.25\pt 3.25\pt -9.75\pt 0.00\pt
- "flageolet" "\\flageolet" -3.47\pt 3.47\pt -3.47\pt 3.47\pt
- "trilelement" "\\trilelement" -4.33\pt 1.70\pt -3.25\pt 3.25\pt
- "prall" "\\prall" -7.35\pt 7.35\pt -3.25\pt 3.25\pt
- "mordent" "\\mordent" -7.35\pt 7.35\pt -3.25\pt 3.25\pt
- "prallprall" "\\prallprall" -10.37\pt 10.37\pt -3.25\pt 3.25\pt
- "prallmordent" "\\prallmordent" -10.37\pt 10.37\pt -3.25\pt 3.25\pt
- "upprall" "\\upprall" -10.37\pt 10.37\pt -3.25\pt 3.25\pt
- "downprall" "\\downprall" -10.37\pt 10.37\pt -3.25\pt 3.25\pt
- }
- "flags" = \table {
- "u3" "\\eighthflag" -0.33\pt 8.02\pt -19.92\pt 0.33\pt
- "u4" "\\sixteenthflag" -0.33\pt 8.02\pt -23.17\pt 0.33\pt
- "u5" "\\thirtysecondflag" -0.33\pt 8.02\pt -28.05\pt 0.33\pt
- "u6" "\\sixtyfourthflag" -0.33\pt 8.02\pt -34.55\pt 0.33\pt
- "d3" "\\deighthflag" -0.33\pt 8.88\pt -0.33\pt 18.95\pt
- "d4" "\\dsixteenthflag" -0.33\pt 8.88\pt -0.33\pt 19.92\pt
- "d5" "\\dthirtysecondflag" -0.33\pt 8.88\pt -0.33\pt 25.45\pt
- "d6" "\\dsixtyfourthflag" -0.33\pt 8.88\pt -0.33\pt 28.70\pt
- }
- "clefs" = \table {
- "alto" "\\altoclef" -6.50\pt 24.19\pt -13.00\pt 13.00\pt
- "alto_change" "\\caltoclef" -5.20\pt 19.36\pt -10.40\pt 10.40\pt
- "bass" "\\bassclef" -3.25\pt 23.40\pt -16.25\pt 6.50\pt
- "bass_change" "\\cbassclef" -2.60\pt 18.72\pt -13.00\pt 5.20\pt
- "violin" "\\violinclef" -5.66\pt 24.29\pt -19.50\pt 32.50\pt
- "violin_change" "\\cviolinclef" -4.92\pt 19.04\pt -15.60\pt 26.00\pt
- }
- % } % $name
-% Creator: mf-to-table.py version 0.6
-% Automatically generated on
-% Do not edit
-% input from out/feta26.log
-% name=\symboltables {
- "rests" = \table {
- "0" "\\wholerest" 0.00\pt 9.75\pt -4.06\pt 0.00\pt
- "1" "\\halfrest" 0.00\pt 9.75\pt 0.00\pt 4.06\pt
- "0o" "\\outsidewholerest" -4.06\pt 13.81\pt -4.06\pt 0.65\pt
- "1o" "\\outsidehalfrest" -4.06\pt 13.81\pt -0.65\pt 4.06\pt
- "2" "\\quartrest" 0.00\pt 7.02\pt 4.88\pt 23.40\pt
- "3" "\\eighthrest" 0.00\pt 8.67\pt 6.50\pt 18.47\pt
- "4" "\\sixteenthrest" 0.00\pt 10.08\pt 0.00\pt 18.47\pt
- "5" "\\thirtysecondrest" 0.00\pt 11.38\pt 0.00\pt 24.97\pt
- "6" "\\sixtyfourthrest" 0.00\pt 12.20\pt 0.00\pt 31.47\pt
- "7" "\\hundredtwentyeighthrest" 0.00\pt 13.58\pt 0.00\pt 37.97\pt
- }
- "accidentals" = \table {
- "1" "\\sharp" 0.00\pt 7.15\pt -9.75\pt 9.75\pt
- "0" "\\natural" 0.00\pt 4.33\pt -9.75\pt 9.75\pt
- "-1" "\\flat" -0.78\pt 5.20\pt -3.25\pt 13.00\pt
- "-2" "\\flatflat" -0.78\pt 9.42\pt -3.25\pt 13.00\pt
- "2" "\\sharpsharp" 0.00\pt 6.50\pt -3.25\pt 3.25\pt
- }
- "dots" = \table {
- "dot" "\\dot" 0.00\pt 2.92\pt -1.46\pt 1.46\pt
- "repeatcolon" "\\repeatcolon" 0.00\pt 2.92\pt -3.25\pt 3.25\pt
- }
- "balls" = \table {
- "-1" "\\brevisball" 0.00\pt 13.00\pt -3.58\pt 3.58\pt
- "-1l" "\\brevisledger" -3.25\pt 16.25\pt -0.65\pt 0.65\pt
- "-2" "\\longaball" 0.00\pt 13.00\pt -3.58\pt 3.58\pt
- "-2l" "\\longaledger" -3.25\pt 16.25\pt -0.65\pt 0.65\pt
- "0" "\\wholeball" 0.00\pt 12.87\pt -3.58\pt 3.58\pt
- "0l" "\\wholeledger" -3.22\pt 16.09\pt -0.65\pt 0.65\pt
- "1" "\\halfball" 0.00\pt 8.95\pt -3.58\pt 3.58\pt
- "1l" "\\halfledger" -2.24\pt 11.19\pt -0.65\pt 0.65\pt
- "2" "\\quartball" 0.00\pt 8.59\pt -3.58\pt 3.58\pt
- "2l" "\\quartledger" -2.15\pt 10.73\pt -0.65\pt 0.65\pt
- }
- "scripts" = \table {
- "ufermata" "\\ufermata" -8.61\pt 8.61\pt -0.49\pt 9.43\pt
- "dfermata" "\\dfermata" -8.61\pt 8.61\pt -9.43\pt 0.49\pt
- "sforzato" "\\sforzatoaccent" -5.85\pt 5.85\pt -3.25\pt 3.25\pt
- "staccato" "\\staccato" -0.98\pt 0.98\pt -0.98\pt 0.98\pt
- "ustaccatissimo" "\\ustaccatissimo" -1.30\pt 1.30\pt -0.20\pt 6.50\pt
- "dstaccatissimo" "\\dstaccatissimo" -1.30\pt 1.30\pt -6.50\pt 0.20\pt
- "tenuto" "\\tenuto" -5.85\pt 5.85\pt -0.39\pt 0.39\pt
- "umarcato" "\\umarcato" -3.25\pt 3.25\pt 0.00\pt 7.15\pt
- "dmarcato" "\\dmarcato" -3.25\pt 3.25\pt -7.15\pt 0.00\pt
- "open" "\\ouvert" -2.60\pt 2.60\pt -3.25\pt 3.25\pt
- "stopped" "\\plusstop" -3.58\pt 3.58\pt -3.58\pt 3.58\pt
- "upbow" "\\upbow" -4.23\pt 4.23\pt 0.00\pt 13.52\pt
- "downbow" "\\downbow" -4.88\pt 4.88\pt 0.00\pt 8.67\pt
- "reverseturn" "\\reverseturn" -7.11\pt 7.11\pt -3.44\pt 3.44\pt
- "turn" "\\turn" -7.11\pt 7.11\pt -3.44\pt 3.44\pt
- "trill" "\\trill" -6.50\pt 6.50\pt 0.00\pt 14.62\pt
- "upedalheel" "\\upedalheel" -3.25\pt 3.25\pt -3.25\pt 4.33\pt
- "dpedalheel" "\\dpedalheel" -3.25\pt 3.25\pt -4.33\pt 3.25\pt
- "upedaltoe" "\\upedaltoe" -3.25\pt 3.25\pt 0.00\pt 9.75\pt
- "dpedaltoe" "\\dpedaltoe" -3.25\pt 3.25\pt -9.75\pt 0.00\pt
- "flageolet" "\\flageolet" -3.47\pt 3.47\pt -3.47\pt 3.47\pt
- "trilelement" "\\trilelement" -4.33\pt 1.70\pt -3.25\pt 3.25\pt
- "prall" "\\prall" -7.35\pt 7.35\pt -3.25\pt 3.25\pt
- "mordent" "\\mordent" -7.35\pt 7.35\pt -3.25\pt 3.25\pt
- "prallprall" "\\prallprall" -10.37\pt 10.37\pt -3.25\pt 3.25\pt
- "prallmordent" "\\prallmordent" -10.37\pt 10.37\pt -3.25\pt 3.25\pt
- "upprall" "\\upprall" -10.37\pt 10.37\pt -3.25\pt 3.25\pt
- "downprall" "\\downprall" -10.37\pt 10.37\pt -3.25\pt 3.25\pt
- }
- "flags" = \table {
- "u3" "\\eighthflag" -0.33\pt 8.02\pt -19.92\pt 0.33\pt
- "u4" "\\sixteenthflag" -0.33\pt 8.02\pt -23.17\pt 0.33\pt
- "u5" "\\thirtysecondflag" -0.33\pt 8.02\pt -28.05\pt 0.33\pt
- "u6" "\\sixtyfourthflag" -0.33\pt 8.02\pt -34.55\pt 0.33\pt
- "d3" "\\deighthflag" -0.33\pt 8.88\pt -0.33\pt 18.95\pt
- "d4" "\\dsixteenthflag" -0.33\pt 8.88\pt -0.33\pt 19.92\pt
- "d5" "\\dthirtysecondflag" -0.33\pt 8.88\pt -0.33\pt 25.45\pt
- "d6" "\\dsixtyfourthflag" -0.33\pt 8.88\pt -0.33\pt 28.70\pt
- }
- "clefs" = \table {
- "alto" "\\altoclef" -6.50\pt 24.19\pt -13.00\pt 13.00\pt
- "alto_change" "\\caltoclef" -5.20\pt 19.36\pt -10.40\pt 10.40\pt
- "bass" "\\bassclef" -3.25\pt 23.40\pt -16.25\pt 6.50\pt
- "bass_change" "\\cbassclef" -2.60\pt 18.72\pt -13.00\pt 5.20\pt
- "violin" "\\violinclef" -5.66\pt 24.29\pt -19.50\pt 32.50\pt
- "violin_change" "\\cviolinclef" -4.92\pt 19.04\pt -15.60\pt 26.00\pt
- }
- % } % $name
% Toplevel initialisation file.
-\version "0.1.9";
-
-breve = \duration { -1 0 }
-longa = \duration { -2 0 }
+\version "0.1.10";
-\include "dynamic.ly"
-\include "nederlands.ly" % dutch
-\include "script.ly"
+\include "declarations.ly"
-Gourlay = 1.0
-Wordwrap = 0.0
-
-\include "paper16.ly"
-
-default_paper = \paper{
- \paper_sixteen
-}
-
-% ugh
-\include "midi.ly"
-
-% declarations for standard directions
-left = -1
-right = 1
-up = 1
-down = -1
-% zillie spellink?
-center=0
-
-\include "property.ly"
-
+\maininput
--- /dev/null
+% Toplevel initialisation file.
+
+\version "0.1.10";
+
+
+\include "declarations.ly"
+
+\score {
+ \melodic {
+ \maininput
+ }
+ \paper { }
+}
interbeam = 3.14\pt;
gourlay_energybound = 100000.;
- gourlay_maxmeasures = 14.;
+ %{
+ The following bounds the number of measures
+ on a line. Decreasing it greatly reduces computation time
+ %}
+ gourlay_maxmeasures = 10.;
castingalgorithm = \Gourlay;
\symboltables { \table_sixteen }
\include "engraver.ly"
\include "table20.ly"
paper_twenty = \paper {
- linewidth = 15.0 \cm;
+ linewidth = 17.0 \cm;
indent = 12.\mm;
rulethickness = 0.4\pt;
barsize = 20.0 \pt;
interbeam = 3.90\pt;
gourlay_energybound = 100000.;
- gourlay_maxmeasures = 12.;
+ gourlay_maxmeasures = 10.;
castingalgorithm = \Gourlay;
\symboltables { \table_twenty }
\accepts Thread;
}
-Grandstaff = \translator
+Grand_staff = \translator
{
\type "Performer_group_performer";
\accepts Staff;
\type "Score_performer";
instrument = piano;
\accepts Staff;
- \accepts Grandstaff;
+ \accepts Grand_staff;
\accepts Lyrics;
\accepts Staff_group;
\consists "Swallow_performer";
"(Feta definitively is not an abbreviation of Font-En-TjA)";
}
-\version "0.1.9";
+\version "0.1.10";
shortlong = \melodic{
\octave c';
--- /dev/null
+\score{
+ \melodic{
+ \octave c';
+ [a'16 a']
+ [c16 c]
+ }
+}
Ugh.. Wish we had grace notes.... It adds another dimension to this
piece of music. %}
-\version "0.1.9";
+\version "0.1.10";
cad = \melodic {
\type Staff {
\cadenza 1;
\grouping 1*4;
- \duration 8;
\octave c';
\clef "violin";
\bar "empty";
c [c_"rubato" e g c']
\octave c'';
- e4. e [g () f_"rit" e d]
+ e4. e8 [g () f_"rit" e d]
- \duration 16;
dis4() e4
\bar "" ;
- r8 [c d] [e f g gis]
- \duration 4;
- a-> 'f() 'e g
+ r8 [c16 d] [e f g gis]
+
+ a4-> 'f() 'e g
f-> 'd() 'cis e
- \duration 8;
+
d4^\fermata
\bar "" ;
r8 'a ['b cis]
- \duration 16; [d cis d e]
- f4() [f e d c]
+ [d16 cis d e]
+ f4() [f16 e d c]
'b4-\turn
\octave c'; [2/3 d'8 c'8 a8]1/1
g2
\bar "" ;
- [g c e g] [c' e g c']\octave c'';
+ [g16 c e g] [c' e g c']\octave c'';
[e 'g c e] g4^\fermata
\bar "" ;
- [g8.(_"a tempo" e g8. )e]
+ [g8.(_"a tempo" e16 g8. )e16]
a4. g8 [f8 e8 d8 c8]
'g2 d2-\trill
c4
% (maybe even sooner :-)
%
-\version "0.1.8";
+\version "0.1.10";
alto1 = \melodic{
\meter 4/4;
-\version "0.1.9";
+\version "0.1.10";
blah = \melodic{
- \duration "last";
\meter 4/4;
\octave c';
\key bes es as;
Tested Features: example file with comments
%}
-\version "0.1.9";
+\version "0.1.10";
% the % is a comment.
}
\score{
- \melodic \type Grandstaff <
+ \melodic \type Grand_staff <
\melodie
\begeleiding
>
WARNING: the \multi construct is not very intuitive. You better try
the
- \type Grandstaff <
+ \type Grand_staff <
\type Staff = treble {.. }
\type Staff = bass {.. }
>
%}
-\version "0.1.9";
+\version "0.1.10";
\score{
\melodic
% \lbheel \lbheel \lfheel \lftoe
% \rbheel \rbtoe \rfheel \rftoe
-\version "0.1.9";
+\version "0.1.10";
\score{
\melodic {
* organ staff...
%}
-\version "0.1.9";
+\version "0.1.10";
noShift = { \property Voice.hshift = 0 }
Shift = { \property Voice.hshift = 1 }
% these should be two separate scores...
\score{
\type Score <
- \type Grandstaff <
+ \type Grand_staff <
\type Staff = treble {
\praeludium_right \breakmusic \fuga2_right }
\type Staff = bass {
-\version "0.1.9";
+\version "0.1.10";
ritme = \melodic{ %\octave ;
\partial 8;
\accepts "Staff_group";
\accepts "Staff";
\accepts "Lyrics";
- \accepts "Grandstaff";
+ \accepts "Grand_staff";
}
Rhythmic_staff = \translator
% scales with accents.
%
-\version "0.1.9";
+\version "0.1.10";
blah = \melodic {
\meter 6/8;
\octave 'c ;
-\version "0.1.9";
+\version "0.1.10";
blah = \melodic {
\octave c';
- 'c ->-.-\fermata-"text"
+ 'c4 ->-.-\fermata-"text"
c ->-.-\fermata-"text"
c' ->-.-\fermata-"text"
c'' ->-.-\fermata-"text"
\stemboth
\meter 4/4;
- \duration 8;
\octave c';
- [c \< d e \! f][d' \> e' f' \! g']
+ [c8 \< d e \! f][d' \> e' f' \! g']
[c-> \< d-> e-> \! f->][d'-> \> e'-> f'-> \! g'->]
[c-^ \< d-^ e-^ \! f-^][d'-^ \> e'-^ f'-^ \! g'-^]
[c-. \< d-. e-. \! f-.][d'-. \> e'-. f'-. \! g'-.]
--- /dev/null
+\score{
+ \melodic{
+ \property Score.beamquantisation = \none
+
+ \octave c';
+ [a'8 <a' g'']>
+ [c <c 'e]>
+ [a'16 <a' g'']>
+ [c <c 'e]>
+ [a'32 <a' g'']>
+ [c <c 'e]>
+ }
+ \paper{
+ castingalgorithm = \Wordwrap;
+ linewidth = 60.0\mm;
+ }
+}
--- /dev/null
+\score{
+ \melodic{
+ \property Score.beamquantisation = 3 % TEST
+ \octave c';
+ [c8 c] [c c] [c c] [c c]
+ [a'8 a'] [a' a'] [a' a'] [a' a']
+ }
+ \paper{
+ castingalgorithm = \Wordwrap;
+ linewidth = 60.0\mm;
+ }
+}
+
-
\header{
filename = "beams.ly";
composer = "heu";
TestedFeatures = "beams and beamflags";
}
-\version "0.1.9";
+\version "0.1.10";
\score{
- \melodic { \multi 3 <
- { \octave c';
+ <
+% \property Score.beamquantisation = \none
+ \type Grand_staff <
+ \melodic {
+ \octave c';
\meter 8/4;
- \duration8;
- \stemup [c c'' a' f']
- \duration16;
- \stemup [c c'' a' f']
- \duration32;
- \stemup [c c'' a' f']
- \duration64;
- \stemup [c c'' a' f']
- \duration128;
- \stemup [c c'' a' f']
+ \stemup [c8 c'' a' f']
+ \stemup [c16 c'' a' f']
+ \stemup [c32 c'' a' f']
+ \stemup [c64 c'' a' f']
+ \stemup [c128 c'' a' f']
r32
- \duration 8;
- \stemup ['g 'g 'g 'g]
- \duration 16;
- \stemup ['g 'g 'g 'g]
- \duration 32;
- \stemup ['g 'g 'g 'g]
- \duration 64;
- \stemup ['g 'g 'g 'g]
- \duration 128;
- \stemup ['g 'g 'g 'g]
+ \stemup [g8 g g g]
+ \stemup [g16 g g g]
+ \stemup [g32 g g g]
+ \stemup [g64 g g g]
+ \stemup [g128 g g g]
r32
+
+ \octave c;
+ \stemboth;
+ [c'8 c'] [b b] [a a] [g g] [f f] [e e]
+ [c'16 c'] [b b] [a a] [g g] [f f] [e e]
+ [c'32 c'] [b b] [a a] [g g] [f f] [e e]
+ [c'64 c'] [e e]
}
-
- { \octave c';
+ >
+ <
+ \melodic {
+ \octave c';
\meter 8/4;
- \duration8;
- \stemdown [a' 'a c e]
- \duration16;
- \stemdown [a' 'a c e]
- \duration32;
- \stemdown [a' 'a c e]
- \duration64;
- \stemdown [a' 'a c e]
- \duration128;
- \stemdown [a' 'a c e]
+ \stemdown [a'8 'a c e]
+ \stemdown [a'16 'a c e]
+ \stemdown [a'32 'a c e]
+ \stemdown [a'64 'a c e]
+ \stemdown [a'128 'a c e]
r32
\octave c;
- \duration 8;
- \stemdown [d'' d'' d'' d'']
- \duration 16;
- \stemdown [d'' d'' d'' d'']
- \duration 32;
- \stemdown [d'' d'' d'' d'']
- \duration 64;
- \stemdown [d'' d'' d'' d'']
- \duration 128;
- \stemdown [d'' d'' d'' d'']
+ \stemdown [d''8 d'' d'' d'']
+ \stemdown [d''16 d'' d'' d'']
+ \stemdown [d''32 d'' d'' d'']
+ \stemdown [d''64 d'' d'' d'']
+ \stemdown [d''128 d'' d'' d'']
r32
- } >
-
- {\duration "last";
- % ugh, "duration mode"
-
- [g8 g] [a a] [b b] [c' c']
-
- [g16 g ] [a a] [b b] [c' c']
- [g32 g] [a a] [b b] [c' c']
-
- [g64 g ] [c' c' ]
- }
- {
- \transpose d {
- \octave c''';
- | [g8 g] [a a] [b b] [c' c']
- [g16 g ] [a a] [b b] [c' c']
- [g32 g] [a a] [b b] [c' c']
- [g64 g]
- [c' c']
- }
+ \octave c'';
+ \stemboth;
+ [a8 a] [b b] [c' c'] [d' d'] [e' e'] [f' f']
+ [a16 a] [b b] [c' c'] [d' d'] [e' e'] [f' f']
+ [a32 a] [b b] [c' c'] [d' d'] [e' e'] [f' f']
+ [a64 a] [f' f']
}
- }
+ >
+ >
+
\paper{
- gourlay_maxmeasures = 1.;
+ castingalgorithm = \Wordwrap;
}
}
-
"(Feta definitively is not an abbreviation of Font-En-TjA)";
}
-\version "0.1.9";
+\version "0.1.10";
shortlong = \melodic{
c4()c( c c |
copyright = "public domain";
Tested = "test the Collision resolution ";
}
-\version "0.1.9";
+\version "0.1.10";
\include "paper20.ly"
-\version "0.1.9";
+\version "0.1.10";
oden = \lyric{
O8 |
-\version "0.1.9";
+\version "0.1.10";
FontBody= \melodic{
\octave c';
\bar "|:";
% "(Feta definitively is not an abbreviation of Font-En-TjA)";
}
-\version "0.1.9";
+\version "0.1.10";
\include "font-body.ly"
\score{
% "(Feta definitively is not an abbreviation of Font-En-TjA)";
}
-\version "0.1.9";
+\version "0.1.10";
\include "font-body.ly"
\score{
TestedFeatures = "This file tests some nasty Gourlay spacings";
}
-\version "0.1.9";
+\version "0.1.10";
%{
"(Feta definitively is not an abbreviation of Font-En-TjA)";
}
-\version "0.1.9";
+\version "0.1.10";
shortlong = \melodic{
c4()c( c c |
-\version "0.1.9";
+\version "0.1.10";
\score{
\melodic{\octave c';
TestedFeatures = "This file tests various spacings";
}
-\version "0.1.9";
+\version "0.1.10";
multipart = \melodic{
\multi 3 <
}
-\version "0.1.9";
+\version "0.1.10";
beamintervals = \melodic{
\meter 7/4;
--- /dev/null
+tie = \melodic{
+ \octave c'';
+ e4 ~ e e e ~ |
+ e ~ a a a ~ |
+ a d d d ~ |
+ e e e e |
+ ''g ''g ''g ''g ~ |
+ ''g ''g ''g ''g |
+}
+
+\score{
+ \tie
+ \paper{
+ indent = 0.0\pt;
+ linewidth= 30.\mm;
+ castingalgorithm = \Wordwrap;
+ }
+}
"(Feta definitively is not an abbreviation of Font-En-TjA)";
}
-\version "0.1.9";
+\version "0.1.10";
\score{
\melodic{
Tested Features lyrics and chords
%}
-\version "0.1.9";
+\version "0.1.10";
melodie = \melodic {
\clef"violin";
Tested Features: lyrics, interleaving lyrics and staffs
%}
-\version "0.1.9";
+\version "0.1.10";
melody = \melodic{
\clef violin;
accompany = \melodic {
\clef "bass";
\octave 'c;
- \duration 4;
c4 c' | e' c' | f' c' | e' c' |
d' b | c' a | f g | c2 |
source file of the LilyPond music typesetter
- (c) 1997 Jan Nieuwenhuizen
+ (c) 1997--1998 Jan Nieuwenhuizen
*/
source file of the LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
Jan Nieuwenhuizen <jan@digicash.com>
*/
#include <assert.h>
#include "duration-convert.hh"
+#include "duration-iter.hh"
#include "warn.hh"
// statics Duration_convert
Duration dur = mom2standardised_dur (mom);
return dur;
}
-
-Duration_iterator::Duration_iterator ()
-{
- cursor_dur_.durlog_i_ = 7;
- if (Duration_convert::no_smaller_than_i_s)
- cursor_dur_.durlog_i_ = Duration_convert::no_smaller_than_i_s;
-}
-
-Duration
-Duration_iterator::operator ++(int)
-{
- return forward_dur ();
-}
-
-Duration
-Duration_iterator::operator ()()
-{
- return dur ();
-}
-
-Duration_iterator::operator bool ()
-{
- return ok ();
-}
-
-Duration
-Duration_iterator::dur ()
-{
- return cursor_dur_;
-}
-
-Duration
-Duration_iterator::forward_dur ()
-{
- /* should do smart table? guessing:
- duration wholes
- 16 0.0625
- 32.. 0.0703
- 8:2/3 0.0833
- 16. 0.0938
- 8 0.1250
- 16.. 0.1406
- 4:2/3 0.1667
- 8. 0.1875
-
- */
- assert (ok ());
-
- Duration dur = cursor_dur_;
-
- if (!cursor_dur_.dots_i_ && !cursor_dur_.plet_b ())
- {
- cursor_dur_.durlog_i_ += 1;
- cursor_dur_.dots_i_ = 2;
- }
- else if (cursor_dur_.dots_i_ == 2)
- {
- assert (!cursor_dur_.plet_b ());
- cursor_dur_.dots_i_ = 0;
- cursor_dur_.durlog_i_ -=2;
- cursor_dur_.set_plet (2, 3);
- }
- else if (cursor_dur_.plet_b ()
- && (cursor_dur_.plet_.iso_i_ == 2)
- && (cursor_dur_.plet_.type_i_ == 3))
- {
- assert (!cursor_dur_.dots_i_);
- cursor_dur_.set_plet (1, 1);
- cursor_dur_.durlog_i_ += 1;
- cursor_dur_.dots_i_ = 1;
- }
- else if (cursor_dur_.dots_i_ == 1)
- {
- assert (!cursor_dur_.plet_b ());
- cursor_dur_.dots_i_ = 0;
- cursor_dur_.durlog_i_ -= 1;
- }
-
- if (Duration_convert::no_triplets_b_s
- && cursor_dur_.plet_b () && ok ())
- forward_dur ();
- if (Duration_convert::no_double_dots_b_s
- && (cursor_dur_.dots_i_ == 2) && ok ())
- forward_dur ();
- if (Duration_convert::no_smaller_than_i_s
- && (cursor_dur_.durlog_i_ > Duration_convert::no_smaller_than_i_s) && ok ())
- forward_dur ();
- if (Duration_convert::no_smaller_than_i_s
- && cursor_dur_.dots_i_
- && (cursor_dur_.durlog_i_ >= Duration_convert::no_smaller_than_i_s)
- && ok ())
- forward_dur ();
- if (Duration_convert::no_smaller_than_i_s
- && (cursor_dur_.dots_i_ == 2)
- && (cursor_dur_.durlog_i_ >= Duration_convert::no_smaller_than_i_s / 2)
- && ok ())
- forward_dur ();
-
- return dur;
-}
-
-bool
-Duration_iterator::ok ()
-{
- return (cursor_dur_.durlog_i_
- && !((cursor_dur_.durlog_i_ == 0) && (cursor_dur_.dots_i_ > 2)));
-}
--- /dev/null
+/*
+ duration-convert.cc -- implement Duration_convert
+
+ source file of the LilyPond music typesetter
+
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
+ Jan Nieuwenhuizen <jan@digicash.com>
+*/
+#include <assert.h>
+#include "duration-convert.hh"
+#include "warn.hh"
+#include "duration-iter.hh"
+
+Duration_iterator::Duration_iterator ()
+{
+ cursor_dur_.durlog_i_ = 7;
+ if (Duration_convert::no_smaller_than_i_s)
+ cursor_dur_.durlog_i_ = Duration_convert::no_smaller_than_i_s;
+}
+
+Duration
+Duration_iterator::operator ++(int)
+{
+ return forward_dur ();
+}
+
+Duration
+Duration_iterator::operator ()()
+{
+ return dur ();
+}
+
+Duration_iterator::operator bool ()
+{
+ return ok ();
+}
+
+Duration
+Duration_iterator::dur ()
+{
+ return cursor_dur_;
+}
+
+Duration
+Duration_iterator::forward_dur ()
+{
+ /* should do smart table? guessing:
+ duration wholes
+ 16 0.0625
+ 32.. 0.0703
+ 8:2/3 0.0833
+ 16. 0.0938
+ 8 0.1250
+ 16.. 0.1406
+ 4:2/3 0.1667
+ 8. 0.1875
+
+ */
+ assert (ok ());
+
+ Duration dur = cursor_dur_;
+
+ if (!cursor_dur_.dots_i_ && !cursor_dur_.plet_b ())
+ {
+ cursor_dur_.durlog_i_ += 1;
+ cursor_dur_.dots_i_ = 2;
+ }
+ else if (cursor_dur_.dots_i_ == 2)
+ {
+ assert (!cursor_dur_.plet_b ());
+ cursor_dur_.dots_i_ = 0;
+ cursor_dur_.durlog_i_ -=2;
+ cursor_dur_.set_plet (2, 3);
+ }
+ else if (cursor_dur_.plet_b ()
+ && (cursor_dur_.plet_.iso_i_ == 2)
+ && (cursor_dur_.plet_.type_i_ == 3))
+ {
+ assert (!cursor_dur_.dots_i_);
+ cursor_dur_.set_plet (1, 1);
+ cursor_dur_.durlog_i_ += 1;
+ cursor_dur_.dots_i_ = 1;
+ }
+ else if (cursor_dur_.dots_i_ == 1)
+ {
+ assert (!cursor_dur_.plet_b ());
+ cursor_dur_.dots_i_ = 0;
+ cursor_dur_.durlog_i_ -= 1;
+ }
+
+ if (Duration_convert::no_triplets_b_s
+ && cursor_dur_.plet_b () && ok ())
+ forward_dur ();
+ if (Duration_convert::no_double_dots_b_s
+ && (cursor_dur_.dots_i_ == 2) && ok ())
+ forward_dur ();
+ if (Duration_convert::no_smaller_than_i_s
+ && (cursor_dur_.durlog_i_ > Duration_convert::no_smaller_than_i_s) && ok ())
+ forward_dur ();
+ if (Duration_convert::no_smaller_than_i_s
+ && cursor_dur_.dots_i_
+ && (cursor_dur_.durlog_i_ >= Duration_convert::no_smaller_than_i_s)
+ && ok ())
+ forward_dur ();
+ if (Duration_convert::no_smaller_than_i_s
+ && (cursor_dur_.dots_i_ == 2)
+ && (cursor_dur_.durlog_i_ >= Duration_convert::no_smaller_than_i_s / 2)
+ && ok ())
+ forward_dur ();
+
+ return dur;
+}
+
+bool
+Duration_iterator::ok ()
+{
+ return (cursor_dur_.durlog_i_
+ && !((cursor_dur_.durlog_i_ == 0) && (cursor_dur_.dots_i_ > 2)));
+}
source file of the LilyPond music typesetter
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "moment.hh"
#include "duration.hh"
#include "duration-convert.hh"
+#include "duration-iter.hh"
// statics Duration
int Duration::division_1_i_s = 384 * 4;
plet_.type_i_ = t;
}
+/*
void
Duration::set_plet (Duration d)
{
plet_.iso_i_ = d.plet_.iso_i_;
plet_.type_i_ = d.plet_.type_i_;
}
+*/
void
Duration::set_ticks (int ticks_i)
source file of the LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
*/
struct Duration_convert {
- /* Urgh. statics.
- */
- static bool const midi_as_plet_b_s = true;
- static bool no_quantify_b_s;
- static bool no_double_dots_b_s;
- static bool no_triplets_b_s;
- static int no_smaller_than_i_s;
- static Array<Duration> dur_array_s;
-
- /// Return number of ticks in (ticks, division_1) representation
- static int dur2ticks_i (Duration dur );
+ /* Urgh. statics.
+ */
+ static bool const midi_as_plet_b_s = true;
+ static bool no_quantify_b_s;
+ static bool no_double_dots_b_s;
+ static bool no_triplets_b_s;
+ static int no_smaller_than_i_s;
+ static Array<Duration> dur_array_s;
+
+ /// Return number of ticks in (ticks, division_1) representation
+ static int dur2ticks_i (Duration dur );
- /// Return the type_i representation of note length i
- static int i2_type (int i);
+ /// Return the type_i representation of note length i
+ static int i2_type (int i);
- /// Return the note length corresponding to the type_i representation
- /// Return 0 if longer than whole note.
- static int type2_i (int type);
+ /// Return the note length corresponding to the type_i representation
+ /// Return 0 if longer than whole note.
+ static int type2_i (int type);
- /// Return Moment representation (fraction of whole note).
- static Moment dur2_mom (Duration dur );
+ /// Return Moment representation (fraction of whole note).
+ static Moment dur2_mom (Duration dur );
- /// Return Mudela string representation.
- static String dur2_str (Duration dur );
+ /// Return Mudela string representation.
+ static String dur2_str (Duration dur );
- /// Return duration from Moment (fraction of whole) representation.
- static Duration mom2_dur (Moment mom );
+ /// Return duration from Moment (fraction of whole) representation.
+ static Duration mom2_dur (Moment mom );
- /// Return standardised duration, best guess if not exact.
- static Duration mom2standardised_dur (Moment mom );
+ /// Return standardised duration, best guess if not exact.
+ static Duration mom2standardised_dur (Moment mom );
- /// Return plet factor (not a Moment: should use Rational?).
- static Moment plet_factor_mom (Duration dur );
+ /// Return plet factor (not a Moment: should use Rational?).
+ static Moment plet_factor_mom (Duration dur );
- static void set_array ();
+ static void set_array ();
- /** Return synchronisation factor for mom, so that
+ /** Return synchronisation factor for mom, so that
mom2_dur (mom / sync_f ) will return the duration dur.
- */
- static Real sync_f (Duration dur, Moment mom );
+ */
+ static Real sync_f (Duration dur, Moment mom );
- /// Return exact duration, in midi-ticks if not-exact.
- static Duration ticks2_dur (int ticks_i );
+ /// Return exact duration, in midi-ticks if not-exact.
+ static Duration ticks2_dur (int ticks_i );
- /// Return standardised duration, best guess if not exact.
- static Duration ticks2standardised_dur (int ticks_i );
-};
-
-/// (iter_dur)
-struct Duration_iterator {
- /// start at shortest: 128:2/3
- Duration_iterator ();
-
- // **** what about these three here ?
- /// return forward_dur ();
- Duration operator ++(int);
-
- /// return ok ()
- operator bool ();
-
- /// return dur ()
- Duration operator ()();
- // ****
-
- /// return current dur
- Duration dur ();
-
- /// return dur (), step to next
- Duration forward_dur ();
-
- /// durations left?
- bool ok ();
-
-private:
- Duration cursor_dur_;
+ /// Return standardised duration, best guess if not exact.
+ static Duration ticks2standardised_dur (int ticks_i );
};
--- /dev/null
+/*
+ duration-iter.hh -- declare Duration_iterator
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1998 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+
+ */
+
+#ifndef DURATION_ITER_HH
+#define DURATION_ITER_HH
+
+/// (iter_dur)
+struct Duration_iterator {
+
+ /// start at shortest: 128:2/3
+ Duration_iterator ();
+
+ // **** what about these three here ?
+ /// return forward_dur ();
+ Duration operator ++(int);
+
+ /// return ok ()
+ operator bool ();
+
+ /// return dur ()
+ Duration operator ()();
+
+
+ /// return current dur
+ Duration dur ();
+
+ /// return dur (), step to next
+ Duration forward_dur ();
+
+ /// durations left?
+ bool ok ();
+
+private:
+
+ Duration cursor_dur_;
+};
+
+
+
+#endif /* DURATION_ITER_HH */
+
source file of the LilyPond music typesetter
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#include "fproto.hh"
#include "moment.hh"
#include "plet.hh"
-// ugh, to get me in lily lib
-extern bool no_triplets_bo_g;
-
/**
Class to handle "musical" durations. This means: balltype 1,2,4,etc. and dots.
bool plet_b ();
String str () const;
void set_plet (int,int );
- void set_plet (Duration );
+
static bool duration_type_b (int t);
void set_ticks (int ticks_i );
Moment length () const ; // zo naai mij
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "proto.hh"
#include "input.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
Jan Nieuwenhuizen <jan@digicash.com>.
Nextstep fixes by tiggr@ics.ele.tue.nl
source file of the GNU LilyPond music typesetter
- (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include <iostream.h>
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "plet.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include <stdio.h>
source file of the GNU LilyPond music typesetter
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
& Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "plist.hh"
#include "source-file.hh"
#include "source.hh"
-#include "path.hh"
+#include "file-path.hh"
Sources::Sources ()
{
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "source-file.hh"
MAJOR_VERSION=0
MINOR_VERSION=1
-PATCH_LEVEL=60
+PATCH_LEVEL=61
MY_PATCH_LEVEL=
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
Jan Nieuwenhuizen <jan@digicash.com>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
Jan Nieuwenhuizen <jan@digicash.com>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "atom.hh"
#include "tex.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#include "audio-column.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "audio-element.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#include "debug.hh"
#include "audio-item.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#include "audio-staff.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "interval.hh"
#include "axis-group-administration.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "axis-group-element.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "axis-group-item.hh"
#include "p-col.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "axis-group-spanner.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "bar.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "bar-grav.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "text-def.hh"
#include "command-request.hh"
#include "bar.hh"
+#include "stem.hh"
#include "time-description.hh"
Bar_number_engraver::Bar_number_engraver()
}
static Command_script_req dummy;
+static Stem support;
void
Bar_number_engraver::acknowledge_element (Score_elem_info i)
script_p_->specs_l_ = td_p;
script_p_->breakable_b_ = true;
+
+ // ugh, howto move this up?
script_p_->dir_ = UP;
-// script_p_->y_ += 2;
- script_p_->y_ = 8;
+//// script_p_->y_ += 2;
+ script_p_->y_ = 10;
+
+ support.dir_ = UP;
+ support.set_stemend (10);
+ script_p_->set_stem (&support);
announce_element (Score_elem_info (script_p_, &dummy));
}
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "bar.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "duration-convert.hh"
#include "time-description.hh"
if (prop.isnum_b ())
beam_p_->damping_i_ = prop;
- prop = get_property ("beamquantisaton");
+ prop = get_property ("beamquantisation");
if (prop.isnum_b ())
- beam_p_->quantisation_ = (Beam::Quantise)(int)prop;
+ beam_p_->quantisation_ = (Beam::Quantisation)(int)prop;
announce_element (Score_elem_info (beam_p_, span_reqs_drul_[LEFT]));
}
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998, 1998 Han-Wen Nienhuys <hanwen@stack.nl>
+ Jan Nieuwenhuizen <jan@digicash.com>
- TODO
+*/
- Less hairy code. knee: ([\stem 1; c8 \stem -1; c8]
-*/
+/*
+ [TODO]
+ * lowest beam of (UP) beam must never be lower than second staffline
+ * centre beam symbol
+ * less hairy code
+ * redo grouping
+ * (future) knee: ([\stem 1; c8 \stem -1; c8]
+ */
#include <math.h>
#include "lookup.hh"
#include "grouping.hh"
#include "stem-info.hh"
-//#include "main.hh" // experimental features
+#include "main.hh" // experimental features
IMPLEMENT_IS_TYPE_B1 (Beam, Spanner);
-// ugh, hardcoded
-const Real MINIMUM_STEMLEN[] = {
- 0, // just in case
- 5,
- 4,
- 3,
- 2,
- 2,
-};
-
Beam::Beam ()
{
slope_f_ = 0;
- left_y_ = 0.0;
+ left_y_ = 0;
damping_i_ = 1;
quantisation_ = NORMAL;
multiple_i_ = 0;
Beam::brew_molecule_p () const
{
Molecule *mol_p = new Molecule;
- Real inter_f = paper ()->internote_f ();
+
+ Real interline_f = paper ()->interline_f ();
+ Real internote_f = interline_f / 2;
+ Real staffline_f = paper ()->rule_thickness ();
+ Real beam_f = 0.48 * (interline_f - staffline_f);
+
Real x0 = stems_[0]->hpos_f ();
for (int j=0; j <stems_.size (); j++)
{
Molecule sb = stem_beams (i, next, prev);
Real x = i->hpos_f ()-x0;
- sb.translate (Offset (x, (x * slope_f_ + left_y_)* inter_f));
+ sb.translate (Offset (x, (x * slope_f_ + left_y_) * internote_f));
mol_p->add (sb);
}
- mol_p->translate_axis (x0 - spanned_drul_[LEFT]->absolute_coordinate (X_AXIS), X_AXIS);
+ mol_p->translate_axis (x0
+ - spanned_drul_[LEFT]->absolute_coordinate (X_AXIS), X_AXIS);
+
return mol_p;
}
}
/*
- should use minimum energy formulation (cf linespacing)
-*/
+ See Documentation/tex/fonts.doc
+ */
void
Beam::solve_slope ()
{
+ /*
+ should use minimum energy formulation (cf linespacing)
+ */
+
+ assert (multiple_i_);
Array<Stem_info> sinfo;
for (int j=0; j <stems_.size (); j++)
{
Stem *i = stems_[j];
+ i->mult_i_ = multiple_i_;
i->set_default_extents ();
if (i->invisible_b ())
continue;
else
{
- Real leftx = sinfo[0].x;
+ Real leftx = sinfo[0].x_;
Least_squares l;
for (int i=0; i < sinfo.size (); i++)
{
- sinfo[i].x -= leftx;
- l.input.push (Offset (sinfo[i].x, sinfo[i].idealy_f_));
+ sinfo[i].x_ -= leftx;
+ l.input.push (Offset (sinfo[i].x_, sinfo[i].idealy_f_));
}
l.minimise (slope_f_, left_y_);
Real dy = 0.0;
for (int i=0; i < sinfo.size (); i++)
{
- Real y = sinfo[i].x * slope_f_ + left_y_;
+ Real y = sinfo[i].x_ * slope_f_ + left_y_;
Real my = sinfo[i].miny_f_;
if (my - y > dy)
if (damping_i_)
slope_f_ = 0.6 * tanh (slope_f_) / damping_i_;
- quantise_yspan ();
+ quantise_dy ();
- // y-values traditionally use internote dimension: therefore slope = (y/in)/x
- // but mf and beam-lookup use PT dimension for y (as used for x-values)
- // ugh --- there goes our simplified but careful quantisation
Real sl = slope_f_ * paper ()->internote_f ();
paper ()->lookup_l ()->beam (sl, 20 PT, 1 PT);
slope_f_ = sl / paper ()->internote_f ();
}
void
-Beam::quantise_yspan ()
+Beam::quantise_dy ()
{
/*
[Ross] (simplification of)
Try to set slope_f_ complying with y-span of:
- zero
- - beam_thickness / 2 + staffline_thickness / 2
- - beam_thickness + staffline_thickness
+ - beam_f / 2 + staffline_f / 2
+ - beam_f + staffline_f
+ n * interline
*/
- if (!quantisation_)
+ if (quantisation_ <= NONE)
return;
Real interline_f = paper ()->interline_f ();
Real internote_f = interline_f / 2;
- Real staffline_thickness = paper ()->rule_thickness ();
- Real beam_thickness = 0.48 * (interline_f - staffline_thickness);
-
- const int QUANTS = 3;
- Real qdy[QUANTS] = {
- 0,
- beam_thickness / 2 + staffline_thickness / 2,
- beam_thickness + staffline_thickness
- };
-
- Real xspan_f = stems_.top ()->hpos_f () - stems_[0]->hpos_f ();
- // y-values traditionally use internote dimension: therefore slope = (y/in)/x
- Real yspan_f = xspan_f * abs (slope_f_ * internote_f);
- int yspan_i = (int)(yspan_f / interline_f);
- Real q = (yspan_f / interline_f - yspan_i) * interline_f;
- int i = 0;
- for (; i < QUANTS - 1; i++)
- if ((q >= qdy[i]) && (q <= qdy[i + 1]))
- {
- if (q - qdy[i] < qdy[i + 1] - q)
- break;
- else
- {
- i++;
- break;
- }
- }
- q = qdy[i];
+ Real staffline_f = paper ()->rule_thickness ();
+ Real beam_f = 0.48 * (interline_f - staffline_f);
+
+ Real dx_f = stems_.top ()->hpos_f () - stems_[0]->hpos_f ();
+
+ // dim(y) = internote; so slope = (y/internote)/x
+ Real dy_f = dx_f * abs (slope_f_ * internote_f);
+
+ Real quanty_f = 0.0;
+
+ /* UGR. ICE in 2.8.1; bugreport filed. */
+ Array<Real> allowed_fraction (3);
+ allowed_fraction[0] = 0;
+ allowed_fraction[1] = (beam_f / 2 + staffline_f / 2);
+ allowed_fraction[2] = (beam_f + staffline_f);
- yspan_f = (Real)yspan_i * interline_f + q;
- // y-values traditionally use internote dimension: therefore slope = (y/in)/x
- slope_f_ = yspan_f / xspan_f / internote_f * sign (slope_f_);
+
+ Interval iv = quantise_iv (allowed_fraction, interline_f, dy_f);
+ quanty_f = (dy_f - iv.min () <= iv.max () - dy_f)
+ ? iv.min ()
+ : iv.max ();
+
+
+ slope_f_ = (quanty_f / dx_f) / internote_f * sign (slope_f_);
}
+static int test_pos = 0;
+
+
+/*
+
+ Prevent interference from stafflines and beams. See Documentation/tex/fonts.doc
+
+ */
void
-Beam::quantise_left_y (Beam::Pos pos, bool extend_b)
+Beam::quantise_left_y (bool extend_b)
{
- /*
- quantising left y should suffice, as slope is quantised too
- if extend then stems must not get shorter
+ /*
+ we only need to quantise the start of the beam as dy is quantised too
+ if extend_b then stems must *not* get shorter
*/
- if (!quantisation_)
+ if (quantisation_ <= NONE)
return;
+ /*
+ ----------------------------------------------------------
+ ########
+ ########
+ ########
+ --------------########------------------------------------
+ ########
+
+ hang straddle sit inter hang
+ */
+
+ Real interbeam_f = paper ()->interbeam_f ();
Real interline_f = paper ()->interline_f ();
Real internote_f = interline_f / 2;
- Real staffline_thickness = paper ()->rule_thickness ();
- Real beam_thickness = 0.48 * (interline_f - staffline_thickness);
+ Real staffline_f = paper ()->rule_thickness ();
+ Real beam_f = 0.48 * (interline_f - staffline_f);
+ Real symbol_f = beam_f + interbeam_f * (multiple_i_ - 1);
- const int QUANTS = 7;
- Real qy[QUANTS] =
- {
- 0,
- beam_thickness / 2,
- beam_thickness,
- interline_f / 2 + beam_thickness / 2 + staffline_thickness / 2,
- interline_f,
- interline_f + beam_thickness / 2,
- interline_f + beam_thickness
- };
- /*
- ugh, using i triggers gcc 2.7.2.1 internal compiler error (far down):
- for (int i = 0; i < QUANTS; i++)
+ Real straddle = 0;
+ Real sit = beam_f / 2 - staffline_f / 2;
+ Real inter = interline_f / 2;
+ Real hang = interline_f - beam_f / 2 + staffline_f / 2;
+
+ /*
+ Put all allowed positions into an array.
+ Whether a position is allowed or not depends on
+ strictness of quantisation, multiplicity and direction.
+
+ For simplicity, we'll assume dir = UP and correct if
+ dir = DOWN afterwards.
*/
-
- // fixme!
- for (int ii = 0; ii < QUANTS; ii++)
- qy[ii] -= 0.5 *beam_thickness;
- Pos qpos[QUANTS] =
- {
- HANG,
- STRADDLE,
- SIT,
- INTER,
- HANG,
- STRADDLE,
- SIT
- };
-
- // y-values traditionally use internote dimension
- Real y = left_y_ * internote_f;
- int y_i = (int)floor(y / interline_f);
- y = (y / interline_f - y_i) * interline_f;
-
- if (y < 0)
- for (int ii = 0; ii < QUANTS; ii++)
- qy[ii] -= interline_f;
-
- int lower_i = 0;
- int i = 0;
- for (; i < QUANTS; i++)
+
+ // dim(left_y_) = internote
+ Real dy_f = dir_ * left_y_ * internote_f;
+
+ Array<Real> allowed_position;
+ if (quantisation_ != TEST)
{
- if (qy[i] > y)
- break;
- // found if lower_i is allowed, and nearer (from below) y than new pos
- if ((pos & qpos[lower_i]) && (y - qy[lower_i] < y - qy[i]))
- break;
- // if new pos is allowed or old pos isn't: assign new pos
- if ((pos & qpos[i]) || !(pos & qpos[lower_i]))
- lower_i = i;
+ if (quantisation_ <= NORMAL)
+ {
+ if ((multiple_i_ <= 2) || (abs (dy_f) >= staffline_f / 2))
+ allowed_position.push (straddle);
+ if ((multiple_i_ <= 1) || (abs (dy_f) >= staffline_f / 2))
+ allowed_position.push (sit);
+ allowed_position.push (hang);
+ }
+ else
+ // TODO: check and fix TRADITIONAL
+ {
+ if ((multiple_i_ <= 2) || (abs (dy_f) >= staffline_f / 2))
+ allowed_position.push (straddle);
+ if ((multiple_i_ <= 1) && (dy_f <= staffline_f / 2))
+ allowed_position.push (sit);
+ if (dy_f >= -staffline_f / 2)
+ allowed_position.push (hang);
+ }
}
-
- int upper_i = QUANTS - 1;
- for (i = QUANTS - 1; i >= 0; i--)
+ else
{
- if (qy[i] < y)
- break;
- // found if upper_i is allowed, and nearer (from above) y than new pos
- if ((pos & qpos[upper_i]) && (qy[upper_i] - y < qy[i] - y))
- break;
- // if new pos is allowed or old pos isn't: assign new pos
- if ((pos & qpos[i]) || !(pos & qpos[upper_i]))
- upper_i = i;
+ if (test_pos == 0)
+ {
+ allowed_position.push (hang);
+ cout << "hang" << hang << endl;
+ }
+ else if (test_pos==1)
+ {
+ allowed_position.push (straddle);
+ cout << "straddle" << straddle << endl;
+ }
+ else if (test_pos==2)
+ {
+ allowed_position.push (sit);
+ cout << "sit" << sit << endl;
+ }
+ else if (test_pos==3)
+ {
+ allowed_position.push (inter);
+ cout << "inter" << inter << endl;
+ }
}
- // y-values traditionally use internote dimension
- Real upper_y = (qy[upper_i] + interline_f * y_i) / internote_f;
- Real lower_y = (qy[lower_i] + interline_f * y_i) / internote_f;
+#if 0
+ // this currently never happens
+ Real q = (dy_f / interline_f - dy_i) * interline_f;
+ if ((quantisation_ < NORMAL) && (q < interline_f / 3 - beam_f / 2))
+ allowed_position.push (inter);
+#endif
+ Interval iv = quantise_iv (allowed_position, interline_f, dy_f);
+
+ Real quanty_f = dy_f - iv.min () <= iv.max () - dy_f ? iv.min () : iv.max ();
if (extend_b)
- left_y_ = (dir_ > 0 ? upper_y : lower_y);
- else
- left_y_ = (upper_y - y < y - lower_y ? upper_y : lower_y);
+ quanty_f = iv.max ();
+
+ // dim(left_y_) = internote
+ left_y_ = dir_ * quanty_f / internote_f;
}
void
Beam::set_stemlens ()
{
- Real x0 = stems_[0]->hpos_f ();
- Real dy = 0;
-
+ Real interbeam_f = paper ()->interbeam_f ();
Real interline_f = paper ()->interline_f ();
Real internote_f = interline_f / 2;
- Real staffline_thickness = paper ()->rule_thickness ();
- Real beam_thickness = 0.48 * (interline_f - staffline_thickness);
- Real interbeam_f = paper ()->interbeam_f ();
- if (multiple_i_ > 3)
- interbeam_f += 2.0 * staffline_thickness / 4;
- Real xspan_f = stems_.top ()->hpos_f () - stems_[0]->hpos_f ();
- /*
- ugh, y values are in "internote" dimension
- */
- Real yspan_f = xspan_f * abs (slope_f_ * internote_f);
- int yspan_i = (int)(yspan_f / interline_f);
-
- Pos left_pos = NONE;
+ Real staffline_f = paper ()->rule_thickness ();
+ Real beam_f = 0.48 * (interline_f - staffline_f);
- if ((yspan_f < staffline_thickness / 2) || (quantisation_ == NORMAL))
- left_pos = (Pos)(STRADDLE | SIT | HANG);
- else
- left_pos = (Pos) (sign (slope_f_) > 0 ? STRADDLE | HANG
- : SIT | STRADDLE);
-
- /*
- ugh, slope currently mangled by availability mf chars...
- be more generous regarding beam position between stafflines
+ /*
+ if we have more than three beams they must open-up
+ in order to not collide with staff lines
*/
- Real q = (yspan_f / interline_f - yspan_i) * interline_f;
- if ((quantisation_ < NORMAL) && (q < interline_f / 3 - beam_thickness / 2))
- left_pos = (Pos) (left_pos | INTER);
-
-
- if (multiple_i_ > 1)
- left_pos = (Pos) (dir_ > 0 ? HANG : SIT);
+ if (multiple_i_ > 3)
+ interbeam_f += 2.0 * staffline_f / 4;
+ Real x0 = stems_[0]->hpos_f ();
+ Real dy = 0;
// ugh, rounding problems! (enge floots)
- const Real EPSILON = interline_f / 10;
+ Real epsilon = staffline_f / 8;
do
{
left_y_ += dy * dir_;
- quantise_left_y (left_pos, dy);
+ quantise_left_y (dy);
dy = 0;
for (int i=0; i < stems_.size (); i++)
{
Real x = s->hpos_f () - x0;
s->set_stemend (left_y_ + slope_f_ * x);
- Real y = s->stem_length_f ();
- // duh:
-// int mult_i = stems_[i]->beams_left_i_ >? stems_[i]->beams_right_i_;
- int mult_i = multiple_i_;
- if (mult_i > 1)
- // dim(y) = internote
- y -= (Real)(mult_i - 1) * interbeam_f / internote_f;
- if (y < MINIMUM_STEMLEN[mult_i])
- dy = dy >? (MINIMUM_STEMLEN[mult_i] - y);
+ Real y = s->stem_end_f () * dir_;
+ Stem_info info (s);
+ if (y < info.miny_f_)
+ dy = dy >? info.miny_f_ - y;
}
- } while (abs (dy) > EPSILON);
+ } while (abs (dy) > epsilon);
+
+ // ugh asymmetric symbol ?
+ if (dir_ == UP)
+ left_y_ -= dir_ * staffline_f / 4;
+
+ if ((multiple_i_ >= 3) && (dir_ == UP))
+ left_y_ -= dir_ * staffline_f / 4;
+
+ test_pos++;
+ test_pos %= 4;
}
+/*
+ FIXME
+ ugh. this is broken and should be rewritten.
+ - [c8. c32 c32]
+ */
void
Beam::set_grouping (Rhythmic_grouping def, Rhythmic_grouping cur)
{
assert (!next || next->hpos_f () > here->hpos_f ());
assert (!prev || prev->hpos_f () < here->hpos_f ());
- Real staffline_thickness = paper ()->rule_thickness ();
+ Real staffline_f = paper ()->rule_thickness ();
Real interbeam_f = paper ()->interbeam_f ();
Real internote_f =paper ()->internote_f ();
Real interline_f = 2 * internote_f;
- Real beamheight_f = 0.48 * (interline_f - staffline_thickness);
+ Real beamheight_f = 0.48 * (interline_f - staffline_f);
+
if (multiple_i_ > 3)
- interbeam_f += 2.0 * staffline_thickness / 4;
+ interbeam_f += 2.0 * staffline_f / 4;
Real dy = interbeam_f;
- Real stemdx = staffline_thickness;
+ Real stemdx = staffline_f;
Real sl = slope_f_* internote_f;
paper ()->lookup_l ()->beam (sl, 20 PT, 1 PT);
*/
return leftbeams;
}
+
#include <math.h>
#include "bezier.hh"
+#include "misc.hh"
#ifndef STANDALONE
#include "direction.hh"
Real
Bezier::y (Real x)
{
- for (int i = 1; i < curve_.size (); i++ )
- {
- if (x < curve_[i].x () || (i == curve_.size () - 1))
- {
- Offset z1 = curve_[i-1];
- Offset z2 = curve_[i];
- Real multiplier = (x - z2.x ()) / (z1.x () - z2.x ());
- Real y = z1.y () * multiplier + (1.0 - multiplier) *z2.y();
-
- return y;
- }
- }
- assert (false);
- // silly c++
- return 0;
+ // ugh
+ // bounds func should be templatised to take array of offsets too?
+ Array<Real> positions;
+ for (int i = 0; i < curve_.size (); i++)
+ positions.push (curve_[i].x ());
+
+ Slice slice = get_bounds_slice (positions, x);
+ // ugh
+ Offset z1 = curve_[0 >? slice.max () - 1];
+ Offset z2 = curve_[1 >? slice.max ()];
+ Real multiplier = (x - z2.x ()) / (z1.x () - z2.x ());
+ Real y = z1.y () * multiplier + (1.0 - multiplier) * z2.y();
+
+ return y;
}
return;
#ifndef STANDALONE
- Real epsilon = paper_l_->rule_thickness ();
+ Real internote_f = paper_l_->internote_f ();
#else
- Real epsilon = 1.5 * 0.4 PT;
+ Real internote_f = STAFFHEIGHT / 8;
#endif
+
+ //urg
+ Real epsilon = internote_f / 2;
if (abs (dy2 - dy1) < epsilon)
return;
This function tries to address two issues:
* the tangents of the slur should always point inwards
in the actual slur, i.e. *after rotating back*.
- * slurs shouldn't be too high ( <= 1.5 staffheight?)
+
+ * slurs shouldn't be too high
+ let's try : h <= 1.2 b && h <= 3 staffheight?
We could calculate the tangent of the bezier curve from
both ends going inward, and clip the slur at the point
Real staffsize_f = STAFFHEIGHT;
#endif
- Real clip_h = staffsize_f;
+ Real b = control_[3].x () - control_[0].x ();
+ Real clip_h = 1.2 * b <? 3.0 * staffsize_f;
Real begin_h = control_[1].y () - control_[0].y ();
Real end_h = control_[2].y () - control_[3].y ();
- Real begin_dy = begin_h - clip_h;
- Real end_dy = end_h - clip_h;
+ Real begin_dy = 0 >? begin_h - clip_h;
+ Real end_dy = 0 >? end_h - clip_h;
Real pi = M_PI;
Real begin_alpha = (control_[1] - control_[0]).arg () + alpha_;
Real end_alpha = pi - (control_[2] - control_[3]).arg () - alpha_;
- Real max_alpha = 1.1 * pi/2;
+ Real max_alpha = (100.0 / 90) * pi/2;
if ((begin_dy < 0) && (end_dy < 0)
&& (begin_alpha < max_alpha) && (end_alpha < max_alpha))
return false;
encompass_.rotate (alpha_);
- // ugh
origin_.y () *= dir_;
encompass_.translate (origin_);
bool again = true;
- //ugh
+
if ((begin_dy > 0) || (end_dy > 0))
{
Real dy = (begin_dy + end_dy) / 4;
else
{
//ugh
- Real c = -0.4;
+ Real c = 0.4;
if (begin_alpha >= max_alpha)
- begin_dy = c * begin_alpha / max_alpha * begin_h;
+ begin_dy = 0 >? c * begin_alpha / max_alpha * begin_h;
if (end_alpha >= max_alpha)
- end_dy = c * end_alpha / max_alpha * end_h;
+ end_dy = 0 >? c * end_alpha / max_alpha * end_h;
- Real dy = end_dy >? begin_dy;
+ encompass_[0].y () += begin_dy;
+ encompass_[encompass_.size () - 1].y () += end_dy;
- if (!experimental_features_global_b)
- {
- encompass_[0].y () += dy;
- encompass_[encompass_.size () - 1].y () += dy;
- }
- else
- {
- encompass_[0].y () += begin_dy;
- encompass_[encompass_.size () - 1].y () += end_dy;
-
- Offset delta = encompass_[encompass_.size () - 1] - encompass_[0];
- alpha_ = delta.arg ();
- alpha_ *= dir_;
- }
+ Offset delta = encompass_[encompass_.size () - 1] - encompass_[0];
+ alpha_ = delta.arg ();
}
origin_ = encompass_[0];
encompass_.translate (-origin_);
- // ugh
origin_.y () *= dir_;
encompass_.rotate (-alpha_);
void
Bezier_bow::calc_controls ()
{
- // try clipping twice
for (int i = 0; i < 3; i++)
{
if (i && !calc_clipping ())
Bezier_bow::check_fit_bo ()
{
for (int i = 1; i < encompass_.size () - 1; i++)
- if (encompass_[i].y () > y (encompass_[i].x ()))
- return false;
+ if ((encompass_[i].x () > encompass_[0].x ())
+ && (encompass_[i].x () < encompass_[encompass_.size () -1].x ()))
+ if (encompass_[i].y () > y (encompass_[i].x ()))
+ return false;
return true;
}
{
Real dy = 0;
for (int i = 1; i < encompass_.size () - 1; i++)
- dy = dy >? (encompass_[i].y () - y (encompass_[i].x ()));
+ if ((encompass_[i].x () > encompass_[0].x ())
+ && (encompass_[i].x () < encompass_[encompass_.size () -1].x ()))
+ dy = dy >? (encompass_[i].y () - y (encompass_[i].x ()));
return dy;
}
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
Jan Nieuwenhuizen <jan@digicash.com>
*/
Array<Offset>
Bow::get_encompass_offset_arr () const
{
- Real dx = width (). length ();
- dx += (dx_f_drul_[RIGHT] - dx_f_drul_[LEFT]);
- Real left_x = 0;
- Real interline = paper ()->interline_f ();
- if (dx < 2.0 * interline)
- {
- left_x = - 3.0 * interline;
- dx = 2.0 * interline;
- }
- Real dy = dy_f_drul_[RIGHT] - dy_f_drul_[LEFT];
+ Offset d (dx_f_drul_[RIGHT] - dx_f_drul_[LEFT],
+ dy_f_drul_[RIGHT] - dy_f_drul_[LEFT]);
+ d.x() += width (). length ();
#define RESIZE_ICE
#ifndef RESIZE_ICE
Array<Offset> notes;
- notes.push (Offset (left_x, 0));
- notes.push (Offset (left_x + dx, dy));
+ notes.push (Offset 0, 0));
+ notes.push (d);
#else
Array<Offset> notes (2);
- notes[0] = Offset (left_x, 0);
- notes[1] = Offset (left_x + dx, dy);
+ notes[0] = Offset (0, 0);
+ notes[1] = Offset (d);
#endif
return notes;
source file of the GNU LilyPond music typesetter
- (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "boxes.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "break-align-item.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996, 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "score-column.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "change-iterator.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "change-translator.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "translator-group.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>,
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>,
Mats Bengtsson <matsb@s3.kth.se>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include <ctype.h>
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "p-col.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "colhpos.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "note-column.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "debug.hh"
#include "collision.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "command-request.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "molecule.hh"
+++ /dev/null
-/*
- dot-column-grav.cc -- implement
-
- source file of the GNU LilyPond music typesetter
-
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
-*/
-
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "dots.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "dots.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "debug.hh"
#include "crescendo.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "proto.hh"
Sourcefile of GNU LilyPond musictypesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "music-list.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "global-translator.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "gourlay-breaking.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "graphical-element.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "debug.hh"
/*
head-grav.cc -- part of GNU LilyPond
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "note-head.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "string.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "horizontal-align-item.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "p-col.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "idealspacing.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include <assert.h>
Identifier::~Identifier()
{
- if (!accessed_b_ && !init_b_)
- warning (_("Variable not used"));
}
+
void
Identifier::error (String expect)
{
source file of the LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "includable-lexer.hh"
#include "source-file.hh"
LexerError (msg.ch_C ());
return;
}
-
+ filename_str_arr_.push (sl->name_str ());
char_count_stack_.push (0);
if (yy_current_buffer)
*/
yy_switch_to_buffer (yy_create_buffer (sl->istream_l (), YY_BUF_SIZE));
+
}
/** pop the inputstack. conceptually this is a destructor, but it
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
Jan Nieuwenhuizen <jan@digicash.com>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
Jan Nieuwenhuizen <jan@digicash.com>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#ifndef ATOM_HH
/*
audio-column.hh -- declare Audio_column
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#ifndef AUDIO_COLUMN_HH
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
/*
audio-item.hh -- declare Audio_items
- (c) 1996, 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1996, 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#ifndef AUDIO_ITEM_HH
/*
audio-staff.hh -- declare Audio_staff
- (c) 1996, 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1996, 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#ifndef AUDIO_STAFF_HH
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
beam and that point in the correct direction */
class Beam: public Directional_spanner {
public:
- /** The beams (especially at small slopes) should be prevented to
- conflict with the stafflines. This necessitates some quantisation
- of start and end posititons of the beam.
+ /**
+ The beams should be prevented to conflict with the stafflines,
+ especially at small slopes.
*/
- enum Pos { NONE, SIT = 1, STRADDLE = 2, HANG = 4, INTER = 8 };
- // ugh, silly C++ (Pos::NONE vs Quantise::NONE)
- enum Quantise { NUNE, NORMAL, TRADITIONAL };
+ enum Quantisation { NONE, NORMAL, TRADITIONAL, TEST };
Link_array<Stem> stems_;
/// the slope of the beam in posns / point (dimension)
/// should beam slope be damped? 0: no, 1: yes, 100000: horizontal beams
int damping_i_;
/// should beam pos / slope be quantised? 0: no, 1: yes, 2: traditional
- Quantise quantisation_;
+ Quantisation quantisation_;
/// maximum number of beams (for opening-up of beam-spacing)
int multiple_i_;
virtual void do_print() const;
- virtual void quantise_left_y (Beam::Pos pos, bool extend_b);
+ virtual void quantise_left_y (bool extend_b);
virtual Molecule stem_beams (Stem *here, Stem *next, Stem *prev) const;
virtual void solve_slope ();
- virtual void quantise_yspan ();
+ virtual void quantise_dy ();
virtual Molecule*brew_molecule_p () const;
};
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1996, 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1996, 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
/*
colhpos.hh -- part of GNU LilyPond
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#ifndef COLHPOS_HH
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1996, 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
--- /dev/null
+/*
+ file-results.hh -- declare
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1998 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+
+ */
+
+#ifndef FILE_RESULTS_HH
+#define FILE_RESULTS_HH
+#include "fproto.hh"
+
+void do_one_file (String init_str, String file_str);
+
+extern Array<String> target_str_global_array;
+extern Array<String> inclusion_global_array;
+extern Link_array<Score> score_global_array;
+void do_scores ();
+void clear_scores ();
+
+
+#endif /* FILE_RESULTS_HH */
+
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
/*
head-grav.hh -- part of GNU LilyPond
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "virtual-methods.hh"
#define IDACCESSOR( Input_staff, staff)\
- virtual Input_staff * staff () { error (#Input_staff); return 0; }
+virtual Input_staff * staff () { error (#Input_staff); return 0; }
/**
A declarable data structure in mudela.
*/
struct Identifier : public Input {
- bool init_b_;
- bool accessed_b_;
- int token_code_i_;
+ bool init_b_;
+ bool accessed_b_;
+ int token_code_i_;
- Identifier (int code) ;
- virtual ~Identifier() ;
+ Identifier (int code) ;
+ virtual ~Identifier() ;
- void print() const;
- DECLARE_MY_RUNTIME_TYPEINFO;
- void error (String);
- IDACCESSOR(Translator, translator)
+ void print() const;
+ DECLARE_MY_RUNTIME_TYPEINFO;
+ void error (String);
+ IDACCESSOR(Translator, translator)
IDACCESSOR(Music, music)
IDACCESSOR(General_script_def, script)
IDACCESSOR(Symtables, symtables)
IDACCESSOR(int, intid)
IDACCESSOR(Duration, duration)
-protected:
- virtual void do_print() const=0;
+ protected:
+ virtual void do_print() const=0;
private:
- Identifier (Identifier const&);
+ Identifier (Identifier const&);
};
#define DECLARE_ID_CLASS(Idclass, Class, accessor) \
struct Idclass : Identifier {\
- Class *data_p_; \
- DECLARE_MY_RUNTIME_TYPEINFO; \
- Idclass (Class*st, int code);\
- virtual Class* accessor ();\
- ~Idclass();\
- virtual void do_print() const; \
+ Class *data_p_; \
+ DECLARE_MY_RUNTIME_TYPEINFO; \
+ Idclass (Class*st, int code);\
+ virtual Class* accessor ();\
+ ~Idclass();\
+ virtual void do_print() const; \
}\
source file of the LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
Array<Source_file*> include_stack_;
Array<int> char_count_stack_;
public:
+ /// store dependencies for Makefile stuff.
+ Array<String> filename_str_arr_;
Source_file* source_file_l () const;
void new_input (String s,Sources*);
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#ifndef ITEM_HH
#define ITEM_HH
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#ifndef KEY_PERFOMER_HH
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#ifndef LILY_PROTO_HH
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#error
/*
local-key-grav.hh -- declare Local_key_engraver
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#ifndef LOOKUPSYMS_HH
Atom fill (Box b) const;
Atom beam_element (int,int,Real=0) const;
- /// round slope to closest TeXslope
- Atom beam (Real&,Real, Real) const;
- Atom ps_beam (Real, Real, Real)const;
+ Atom beam (Real,Real, Real) const;
+ Atom ps_beam (Real, Real, Real) const;
Atom streepje (int type) const;
Atom dots () const;
Atom slur (Array<Offset> controls) const;
- Atom plet (Real &dy, Real &dx, Direction dir) const;
+ Atom plet (Real dy, Real dx, Direction dir) const;
Atom text (String style, String text, int align = 1) const;
Atom script (String idx) const;
- Atom hairpin (Real & width, bool decresc, bool continued) const;
+ Atom hairpin (Real width, bool decresc, bool continued) const;
Atom dynamic (String) const;
};
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#ifndef MAIN_HH
#define MAIN_HH
extern bool no_timestamps_global_b;
extern int exit_status_i_;
extern bool experimental_features_global_b;
+extern bool dependency_global_b;
+extern bool version_ignore_global_b;
+
+extern Array<String> get_inclusion_names ();
+extern void set_inclusion_names (Array<String>);
extern String default_outname_base_global;
extern String default_outname_suffix_global;
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#ifndef METER_PERFOMER_HH
source file of the GNU LilyPond music typesetter
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
/*
midi-item.hh -- declare Midi items
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#ifndef MIDI_ITEM_HH
/*
midi-stream.hh -- declare Midi_stream
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#ifndef MIDI_STREAM_HH
/*
midi-walker.hh -- declare Midi_walker
- (c) 1996, 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
Jan Nieuwenhuizen <jan@digicash.com>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#ifndef MISC_HH
#define MISC_HH
-#include "lily-proto.hh"
#include "real.hh"
-#include "moment.hh"
-#include "scalar.hh"
-#include "grouping.hh"
+#include "varray.hh"
+#include "interval.hh"
-Moment wholes (int dur, int dots);
double log_2(double x) ;
int intlog2(int d);
#if ! defined(_ABS_)
else return 0;
}
+#ifndef STANDALONE
+#include "lily-proto.hh"
Interval itemlist_width (const Array<Item*> &its);
+#endif
+
+int get_lower_bound (Array<Real> const& positions, Real x);
+Slice get_bounds_slice (Array<Real> const& positions, Real x);
+Interval get_bounds_iv (Array<Real> const& positions, Real x);
+Interval quantise_iv (Array<Real> const& positions, Real period, Real x);
#endif
+
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#ifndef MOLECULE_HH
#define MOLECULE_HH
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
{
public:
Dictionary<Translator*> translator_p_dict_;
+ Array<String> filename_str_arr_;
+
+
Music_output_def (Music_output_def const&);
Music_output_def ();
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#ifndef LEXER_HH
bool post_quotes_b_;
char escaped_char(char) const;
public:
+ String main_input_str_;
void * lexval_l;
-
+
Notename_table *note_tab_p_;
Dictionary<Identifier*> *identifier_p_dict_p_;
Keyword_table * keytable_p_;
/* *************** */
+ void start_main_input ();
void clear_notenames();
Identifier*lookup_identifier (String s);
Melodic_req* lookup_melodic_req_l (String s);
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
void set_debug();
void set_yydebug (bool);
- void print_declarations();
bool ignore_version_b_;
public:
void do_init_file();
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
/*
note-performer.hh -- declare Note_performer
- (c) 1996, 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
Jan Nieuwenhuizen <jan@digicash.com>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
/*
performance.hh -- declare Performance
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#ifndef PERFORMANCE_HH
/*
performer-group-performer.hh -- declare Performer_group_performer
- (c) 1996, 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
Jan Nieuwenhuizen <jan@digicash.com>
*/
/*
performer.hh -- declare Performer
- (c) 1996, 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
Jan Nieuwenhuizen <jan@digicash.com>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#ifndef PLET_ENGRAVER_HH
/*
plet-spanner.hh -- part of GNU LilyPond
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#ifndef PLET_SPANNER_HH
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#ifndef QLP_HH
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#ifndef REQUEST_HH
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
/*
score-performer.hh -- declare Score_performer
- (c) 1996, 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
Jan Nieuwenhuizen <jan@digicash.com>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
/*
script-grav.hh -- part of GNU LilyPond
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
*/
/*
slur-grav.hh -- declare Slur_engraver
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
/*
staff-performer.hh -- declare Staff_performer
- (c) 1996, 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
Jan Nieuwenhuizen <jan@digicash.com>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#include "real.hh"
struct Stem_info {
- Real x;
+ Real x_;
int dir_;
Real idealy_f_;
Real miny_f_;
- int beams_i_;
+ int mult_i_;
- Stem_info();
+ Stem_info ();
Stem_info (Stem const *);
};
int beams_left_i_;
int beams_right_i_;
+ /// maximum number of beams
+ int mult_i_;
+
Direction dir_;
/* *************** */
source file of the LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "ineq-constrained-qp.hh"
#include "qlpsolve.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "p-score.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
Todo: key undo, special keys.
source file of the GNU LilyPond music typesetter
- (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
keyplacement by Mats Bengtsson
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#include "key-performer.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
TODO
transposition.
}
+<notes,INITIAL,lyrics>\\maininput {
+ start_main_input ();
+}
<notes,INITIAL,lyrics>\\include {
yy_push_state (incl);
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include <iostream.h>
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "staff-sym.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
*/
/*
local-key-reg.cc -- implement Local_key_engraver
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "musical-request.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "dimen.hh"
#include "local-key-item.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
TODO
This doth suck. We should have PS output, and read spacing info from TFMs
}
Atom
-Lookup::hairpin (Real &wid, bool decresc, bool continued) const
+Lookup::hairpin (Real width, bool decresc, bool continued) const
{
String embed;
Atom ret;
Real height = paper_l_->get_var ("barsize") / 6;
embed = "\\embeddedps{\n" ;
- embed += String (wid) + " "
+ embed += String (width) + " "
+ String (height) + " "
+ String (continued ? height/2 : 0) +
+ " draw_" + String(decresc ? "de" : "") + "cresc}\n";
ret.tex_ = embed;
- ret.dim_.x () = Interval (0,wid);
- ret.dim_.y () = Interval (-2*height,2*height);
+ ret.dim_.x () = Interval (0, width);
+ ret.dim_.y () = Interval (-2*height, 2*height);
return ret;
}
Atom bracket = (*symtables_p_)("param")->lookup ("bracket");
Interval ydims = bracket.dim_[Y_AXIS];
-
Real min_y = ydims[LEFT];
Real max_y = ydims[RIGHT];
Real step = 1.0 PT;
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "lyric-engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#include "lyric-performer.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include <stdlib.h>
#include "misc.hh"
#include "string.hh"
#include "main.hh"
-#include "path.hh"
+#include "file-path.hh"
#include "config.hh"
-#include "source.hh"
+#include "file-results.hh"
#include "debug.hh"
-#include "my-lily-parser.hh"
-static bool version_ignore_b = false;
-Sources* source_global_l = 0;
+
+bool version_ignore_global_b = false;
bool no_paper_global_b = false;
bool no_timestamps_global_b = false;
+String default_outname_base_global = "lelie";
+int default_count_global;
bool experimental_features_global_b = false;
+bool dependency_global_b = false;
int exit_status_i_;
{0, "warranty", 'w'},
{0, "help", 'h'},
{0, "test", 't'},
- {0, "debug", 'd'},
+ {0, "debug", 'D'},
{1, "init", 'i'},
{1, "include", 'I'},
{0, "no-paper", 'M'},
-
+ {0, "dependencies", 'd'},
{0, "no-timestamps", 'T'},
{0, "ignore-version", 'V'},
{0,0,0}
"Typeset and or produce midi output from mudela-file or stdin\n"
"\n"
"Options:\n"
- " -d, --debug enable debugging output\n"
+ " -D, --debug enable debugging output\n"
+ " -d, --dependencies write dependency files for every output\n"
" -I, --include=DIR add DIR to search path\n"
" -i, --init=FILE use FILE as init file\n"
" -h, --help this help\n"
}
-static File_path path;
+ File_path path;
-void
-do_one_file (String init_str, String file_str)
-{
- if (init_str.length_i () && path.find (init_str).empty_b ())
- {
- error (_("Can not find `") + init_str +"\'");
- return ;
- }
- if (file_str.length_i () && path.find (file_str).empty_b ())
- {
- error (_("Can not find `") + file_str + "'");
- return ;
- }
-
- Sources sources;
- source_global_l = &sources;
- source_global_l->set_path (&path);
- {
- My_lily_parser parser (source_global_l);
- parser.set_version_check (version_ignore_b);
- parser.parse_file (init_str, file_str);
-
- if (file_str.length_i () && file_str[0] != '-')
- {
- String a,b,c,d;
- split_path (file_str, a, b, c, d);
- default_outname_base_global = c;
- }
- else
- default_outname_base_global = "lelie";
-
- if (parser.error_level_i_)
- {
- exit_status_i_ = 1;
- }
- else
- do_scores ();
- clear_scores ();
- }
- source_global_l = 0;
-}
void
identify ()
exit (0);
break;
case 'V':
- version_ignore_b = true;
+ version_ignore_global_b = true;
break;
case 'd':
+ dependency_global_b = true;
+ break;
+ case 'D':
set_debug (true);
break;
case 'M':
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "meter-grav.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#include "meter-performer.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#include <math.h>
source file of the GNU LilyPond music typesetter
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#include "proto.hh"
//
// source file of the GNU LilyPond music typesetter
//
-// (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+// (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
#include <fstream.h>
#include "string.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
Jan Nieuwenhuizen <jan@digicash.com>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998, 1998 Han-Wen Nienhuys <hanwen@stack.nl>
+ Jan Nieuwenhuizen <jan@digicash.com>
*/
#include <math.h>
-#include "item.hh"
#include "misc.hh"
-#include "moment.hh"
+
+#ifndef STANDALONE
+#include "item.hh"
+#endif
int
intlog2(int d) {
return log (x) /log (2.0);
}
-#if 1
+#ifndef STANDALONE
Interval
itemlist_width (const Array<Item*> &its)
{
}
#endif
+
+
+/*
+ TODO
+ group in some Array_*
+ make more generic / templatise
+ */
+int
+get_lower_bound (Array<Real> const& positions, Real x)
+{
+ if (x < positions[0])
+ return 0;
+ for (int i = 1; i < positions.size (); i++)
+ if (x < positions[i])
+ return i - 1;
+ return positions.size () - 1;
+}
+
+Slice
+get_bounds_slice (Array<Real> const& positions, Real x)
+{
+ int l = get_lower_bound (positions, x);
+ int u = positions.size () - 1 <? l + 1;
+ if (x < positions[l])
+ u = l;
+ return Slice (l, u);
+}
+
+Interval
+get_bounds_iv (Array<Real> const& positions, Real x)
+{
+ Slice slice = get_bounds_slice (positions, x);
+ return Interval (positions[slice.min ()], positions[slice.max ()]);
+}
+
+// silly name
+Interval
+quantise_iv (Array<Real> const& positions, Real period, Real x)
+{
+ /*
+ ugh
+ assume that
+ * positions are sorted,
+ * positions are nonnegative
+ * period starts at zero
+ */
+
+ int n = (int)(x / period);
+ Real frac = (x / period - n) * period;
+ if (frac < 0)
+ {
+ frac += period;
+ n--;
+ }
+
+ Slice slice = get_bounds_slice (positions, frac);
+ Interval iv(positions[slice.min ()], positions[slice.max ()]);
+
+ if (slice.min () == slice.max ())
+ {
+ if (slice.min () == 0)
+ iv.min () = - period + positions.top ();
+ else
+ iv.max () = period + positions[0];
+ }
+
+ iv += period * n;
+
+ return iv;
+}
+
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "interval.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "debug.hh"
#include "music-list.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
+
#include "debug.hh"
#include "music-output-def.hh"
#include "global-translator.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "musical-request.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include <strstream.h>
#include "debug.hh"
#include "source-file.hh"
#include "parseconstruct.hh"
+#include "main.hh"
static Keyword_ent the_key_tab[]={
{"accepts", ACCEPTS},
return (*identifier_p_dict_p_)[s];
}
+void
+My_lily_lexer::start_main_input ()
+{
+ if (!monitor->silent_b ("InitDeclarations") && check_debug)
+ print_declarations (true);
+ if (!monitor->silent_b ("InitLexer") && check_debug)
+ set_debug (1);
+
+ new_input (main_input_str_, source_global_l);
+
+ print_declarations(true);
+}
void
My_lily_lexer::set_identifier (String name_str, Identifier*i)
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "my-lily-parser.hh"
#include "command-request.hh"
#include "parser.hh"
#include "header.hh"
-
+#include "file-results.hh"
My_lily_parser::My_lily_parser (Sources * source_l)
{
{
ignore_version_b_ = ig;
}
-void
-My_lily_parser::set_debug()
-{
-#ifndef NPRINT
- String s = "";
- if (init_parse_b_)
- s = "Init";
- set_yydebug (!monitor->silent_b (s+"Parser") && check_debug);
- lexer_p_->set_debug (!monitor->silent_b (s+"Lexer") && check_debug);
-#endif
-}
-
-void
-My_lily_parser::print_declarations()
-{
-#ifndef NPRINT
- String s = "";
-
- if (init_parse_b_)
- s = "Init";
- if (!monitor->silent_b (s+"Declarations") && check_debug)
- {
- lexer_p_->print_declarations (init_parse_b_);
- }
-#endif
-}
void
My_lily_parser::parse_file (String init, String s)
{
lexer_p_ = new My_lily_lexer;
init_str_ = init;
+ lexer_p_->main_input_str_ = s;
*mlog << _("Parsing ... ");
- init_parse_b_ = true;
- set_debug();
- lexer_p_->new_input (init, source_l_);
- do_yyparse();
-
- if (error_level_i_)
- {
- error (_("Found errors in init files"));
- }
- print_declarations();
-
init_parse_b_ = false;
- set_debug();
- lexer_p_->new_input (s , source_l_);
- do_yyparse();
- print_declarations();
+ set_yydebug (!monitor->silent_b ("Parser") && check_debug);
+ lexer_p_->new_input (init, source_l_);
+ do_yyparse ();
if (!define_spot_array_.empty())
warning (_("Braces don't match."));
error_level_i_ = 1;
}
+
+ inclusion_global_array = lexer_p_->filename_str_arr_;
}
void
My_lily_parser::set_last_duration (Duration const *d)
{
if (last_duration_mode_b_)
- default_duration_ = *d;
+ {
+ default_duration_ = *d;
+ /*
+ forget plet part,
+ sticky plet factor only within plet brackets
+ */
+ default_duration_.set_plet (1, 1);
+ }
}
else if ((duration_p->plet_.type_i_ == 1) && (duration_p->plet_.iso_i_ > 1))
{
Multi_measure_rest_req* m = new Multi_measure_rest_req;
- plet_.iso_i_ = 1;
- default_duration_.plet_.iso_i_ = 1;
+ // these shouldn't be necessary anymore
+// plet_.iso_i_ = 1;
+// default_duration_.plet_.iso_i_ = 1;
m->duration_ = *duration_p;
m->set_spot (here_input());
velt_p->add (m);
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "dot-column.hh"
#include "note-column.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "misc.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996, 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1996, 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#include "note-performer.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "notename-table.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "outputter.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "p-col.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996, 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "main.hh"
#include "word-wrap.hh"
#include "gourlay-breaking.hh"
#include "outputter.hh"
-
+#include "file-results.hh"
// sucking Cygnus egcs - w32
#include "list.tcc"
#include "cursor.tcc"
Paper_score::tex_output ()
{
// output
- String outname = paper_l_->outfile_str_ ;
- if (outname.empty_b ())
+ String base_outname = paper_l_->outfile_str_ ;
+ if (base_outname.empty_b ())
{
- outname = default_outname_base_global;
+ base_outname = default_outname_base_global;
int def = paper_l_->get_next_default_count ();
if (def)
{
- outname += "-" + String(def);
+ base_outname += "-" + String(def);
}
- outname += ".tex";
}
+
+ String outname = base_outname + ".tex";
+ target_str_global_array.push (outname);
+
+
*mlog << _("TeX output to ") << outname << " ...\n";
Tex_stream tex_out (outname);
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include <math.h>
#include <iostream.h>
// mmm
-#define MUDELA_VERSION "0.1.9"
+#define MUDELA_VERSION "0.1.10"
#include "scalar.hh"
#include "translation-property.hh"
#include "header.hh"
#include "duration-convert.hh"
#include "change-translator.hh"
+#include "file-results.hh"
// needed for bison.simple's malloc() and free()
#include <malloc.h>
THIS->default_header_p_ = $2;
}
| mudela score_block {
- add_score ($2);
+ score_global_array.push ($2);
}
| mudela add_declaration { }
| mudela error
'[' ':' unsigned {
$$ = '[';
if (!Duration::duration_type_b ($3))
- THIS->parser_error ("1:Not a duration");
+ THIS->parser_error (String ("Not a duration: ") + $3);
else if ($3 < 8)
THIS->parser_error ("Can't abbreviate");
else
entered_notemode_duration:
/* */ {
$$ = new Duration (THIS->default_duration_);
+ // get sticky plet part too
+ $$->set_plet (THIS->plet_.iso_i_, THIS->plet_.type_i_);
}
| dots {
$$ = new Duration (THIS->default_duration_);
+ // get sticky plet part too
+ $$->set_plet (THIS->plet_.iso_i_, THIS->plet_.type_i_);
$$->dots_i_ = $1;
}
| explicit_steno_duration {
unsigned {
$$ = new Duration;
if (!Duration::duration_type_b ($1))
- THIS->parser_error ("2:Not a duration");
+ THIS->parser_error ("Not a duration:" + String ($1));
else {
$$->durlog_i_ = Duration_convert::i2_type ($1);
- $$->set_plet (THIS->default_duration_);
+ $$->set_plet (THIS->plet_.iso_i_, THIS->plet_.type_i_);
}
}
| DURATION_IDENTIFIER {
$$->dots_i_ ++;
}
| explicit_steno_duration '*' unsigned {
- $$->plet_.iso_i_ = $3;
+ $$->plet_.iso_i_ = $3; /* ugh. should do *= */
}
| explicit_steno_duration '/' unsigned {
- $$->plet_.type_i_ = $3;
+ $$->plet_.type_i_ = $3; /* ugh. should do *= iso = */
}
;
}
| ':' unsigned {
if (!Duration::duration_type_b ($2))
- THIS->parser_error ("3:Not a duration");
+ THIS->parser_error ("Not a duration:" + String ($2));
else if ($2 < 8)
THIS->parser_error ("Can't abbreviate");
$$ = $2;
source file of the GNU LilyPond music typesetter
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#include <time.h>
#include "audio-staff.hh"
#include "performance.hh"
#include "score.hh"
+#include "file-results.hh"
Performance::Performance ()
{
Midi_stream midi_stream (out);
*mlog << _("MIDI output to ") << out<< " ..." << endl;
+ target_str_global_array.push (out);
output (midi_stream);
*mlog << endl;
source file of the GNU LilyPond music typesetter
- (c) 1996, 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
Jan Nieuwenhuizen <jan@digicash.com>
*/
source file of the GNU LilyPond music typesetter
- (c) 1996, 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
Jan Nieuwenhuizen <jan@digicash.com>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
/*
plet-engraver.cc -- implement Plet_engraver
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#include "proto.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#include "atom.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "musical-request.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "bar.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "property-iterator.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#include <math.h>
#include "string-convert.hh"
Atom
-Lookup::plet (Real& dy , Real& dx, Direction dir) const
+Lookup::plet (Real dy , Real dx, Direction dir) const
{
String ps = "\\embeddedps{\n";
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "debug.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996, 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
TODO:
try fixed point arithmetic, to speed up lily.
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "translator-group.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "request.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "debug.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "debug.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "rest-grav.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "molecule.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "rhythmic-column-grav.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "rhythmic-head.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "debug.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "score-elem-info.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "outputter.hh"
#include "p-score.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "super-elem.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996, 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1996, 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#include "score-performer.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "score.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996, 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "scoreline.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
-
+#include <fstream.h>
#include "main.hh"
#include "score.hh"
#include "string.hh"
#include "header.hh"
#include "debug.hh"
#include "parray.hh"
+#include "file-path.hh"
+#include "file-results.hh"
+#include "my-lily-parser.hh"
+#include "source.hh"
+
+Sources* source_global_l = 0;
+Array<String> inclusion_global_array;
+Array<String> target_str_global_array;
+Link_array<Score> score_global_array;
+
+
+void write_dependency_file (String fn, Array<String> targets,
+ Array<String> deps)
+{
+ const int WRAPWIDTH = 65;
+
+
+ cout << "Writing dependency file " << fn << " ...\n";
+ ofstream f (fn.ch_C ());
+ if (!f)
+ warning ( _("Can't open dependency file `" + fn + "\'"));
+
+ f << "# Automatically generated by " << get_version_str () << "\n";
+ String out;
+ for (int i=0; i < targets.size (); i ++)
+ out += targets[i] + " ";
+ out += ": ";
+ for (int i=0; i < deps.size (); i ++)
+ {
+ if (out.length_i() > WRAPWIDTH)
+ {
+ f << out << "\\\n";
+ out = " ";
+ }
+ out += " " + deps[i];
+ }
+ f << out << endl;
+}
-static Link_array<Score> global_score_array;
-String default_outname_suffix_global = "";
-String default_outname_base_global = "lelie";
-int default_count_global;
+void
+do_deps()
+{
+ if (dependency_global_b)
+ {
+ write_dependency_file (default_outname_base_global + ".dep", target_str_global_array,
+ inclusion_global_array);
+ }
+}
void
do_scores()
{
- for (int i=0; i < global_score_array.size(); i++)
+ for (int i=0; i < score_global_array.size(); i++)
{
-// Score *&is_p = global_score_array[i];
- Score* is_p = global_score_array[i];
+ Score* is_p = score_global_array[i];
if (!is_p->header_p_)
is_p->header_p_ = new Header;
is_p->process();
}
}
+ do_deps ();
}
void
clear_scores ()
{
- for (int i=0; i < global_score_array.size(); i++)
+ for (int i=0; i < score_global_array.size(); i++)
{
- delete global_score_array[i];
+ delete score_global_array[i];
}
- global_score_array.clear();
+ score_global_array.clear();
+ inclusion_global_array.clear ();
}
+extern File_path path;
+
void
-add_score (Score * s)
+do_one_file (String init_str, String file_str)
{
- global_score_array.push (s);
-}
+ if (init_str.length_i () && path.find (init_str).empty_b ())
+ {
+ error (_("Can not find `") + init_str +"\'");
+ return ;
+ }
+ if (file_str.length_i () && path.find (file_str).empty_b ())
+ {
+ error (_("Can not find `") + file_str + "'");
+ return ;
+ }
+
+ Sources sources;
+ source_global_l = &sources;
+ source_global_l->set_path (&path);
+ {
+ My_lily_parser parser (source_global_l);
+ parser.set_version_check (version_ignore_global_b);
+ parser.parse_file (init_str, file_str);
+
+ if (file_str.length_i () && file_str[0] != '-')
+ {
+ String a,b,c,d;
+ split_path (file_str, a, b, c, d);
+ default_outname_base_global = c;
+ }
+ else
+ default_outname_base_global = "lelie";
+
+ if (parser.error_level_i_)
+ {
+ exit_status_i_ = 1;
+ }
+ else
+ do_scores ();
+ clear_scores ();
+ }
+ source_global_l = 0;
+}
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "script-column.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "debug.hh"
/*
script-reg.cc -- implement Script_engraver
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "script-grav.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "script-def.hh"
#include "musical-request.hh"
/*
slur-grav.cc -- implement Slur_engraver
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "proto.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996, 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998, 1998 Han-Wen Nienhuys <hanwen@stack.nl>
Jan Nieuwenhuizen <jan@digicash.com>
*/
#include "debug.hh"
#include "boxes.hh"
#include "bezier.hh"
+#include "encompass-info.hh"
// #include "main.hh"
IMPLEMENT_IS_TYPE_B1(Slur,Bow);
encompass_arr_.sort (Note_column_compare);
if (!dir_)
set_default_dir ();
- Real interline_f = paper ()->interline_f ();
- Real inter_f = interline_f / 2;
+
+ Real interline = paper ()->interline_f ();
+ Real internote = interline / 2;
+ Real notewidth = paper ()->note_width ();
+ Real const SLUR_MIN = 2.0 * interline;
/*
[OSU]: slur and tie placement
* suggested gap = ss / 5;
*/
// jcn: 1/5 seems so small?
- Real gap_f = interline_f / 2; // 5;
+ Real gap_f = interline / 2; // 5;
Drul_array<Note_column*> extrema;
extrema[LEFT] = encompass_arr_[0];
extrema[RIGHT] = encompass_arr_.top ();
Direction d=LEFT;
- Real nw_f = paper ()->note_width ();
do
{
+ /*
+ broken slur
+ */
if (extrema[d] != spanned_drul_[d])
{
dx_f_drul_[d] = -d
- *(spanned_drul_[d]->width ().length () -0.5*nw_f);
+ *(spanned_drul_[d]->width ().length () -0.5*notewidth);
Direction u = d;
flip(&u);
if ((extrema[u] == spanned_drul_[u]) && extrema[u]->stem_l_)
dy_f_drul_[d] = extrema[u]->stem_l_->height ()[dir_];
dy_f_drul_[u] = extrema[u]->stem_l_->height ()[dir_];
}
+
+ // prebreak
+ if (d == RIGHT)
+ {
+ dx_f_drul_[LEFT] = spanned_drul_[LEFT]->width ().length ();
+// dx_f_drul_[LEFT] -= 2 * notewidth;
+
+ // urg
+ if (encompass_arr_.size () > 1)
+ dx_f_drul_[RIGHT] += notewidth;
+ }
+
+ // postbreak
+ if (d == LEFT)
+ dy_f_drul_[d] += 2.0 * dir_ * internote;
}
+ /*
+ normal slur
+ */
else if (extrema[d]->stem_l_ && !extrema[d]->stem_l_->transparent_b_)
{
dy_f_drul_[d] = (int)rint (extrema[d]->stem_l_->height ()[dir_]);
- dx_f_drul_[d] += 0.5 * nw_f - d * gap_f;
+ dx_f_drul_[d] += 0.5 * notewidth - d * gap_f;
if (dir_ == extrema[d]->stem_l_->dir_)
{
if (dir_ == d)
- dx_f_drul_[d] += 0.5 * (dir_ * d) * d * nw_f;
+ dx_f_drul_[d] += 0.5 * (dir_ * d) * d * notewidth;
else
- dx_f_drul_[d] += 0.25 * (dir_ * d) * d * nw_f;
+ dx_f_drul_[d] += 0.25 * (dir_ * d) * d * notewidth;
}
}
else
{
dy_f_drul_[d] = (int)rint (extrema[d]->head_positions_interval ()
- [dir_])* inter_f;
+ [dir_])* internote;
}
- dy_f_drul_[d] += dir_ * interline_f;
+ dy_f_drul_[d] += dir_ * interline;
}
while (flip(&d) != LEFT);
+
+ // now that both are set, do dependent
+ do
+ {
+ /*
+ broken slur
+ */
+ if (extrema[d] != spanned_drul_[d])
+ {
+ // pre and post
+ if (dx_f_drul_[RIGHT] - dx_f_drul_[LEFT] < SLUR_MIN)
+ {
+ dx_f_drul_[d] -= d * SLUR_MIN
+ - (dx_f_drul_[RIGHT] - dx_f_drul_[LEFT]);
+ dx_f_drul_[d] = dx_f_drul_[(Direction)-d] + d * SLUR_MIN;
+ }
+ dy_f_drul_[d] = dy_f_drul_[(Direction)-d];
+ }
+ }
+ while (flip(&d) != LEFT);
}
Array<Offset>
Slur::get_encompass_offset_arr () const
{
- Real interline = paper ()->interline_f ();
- Real notewidth = paper ()->note_width ();
- Real internote = interline / 2;
-
- Stem* left_stem = encompass_arr_[0]->stem_l_;
- Real left_x = left_stem->hpos_f ();
- left_x += dx_f_drul_[LEFT];
+ Offset left = Offset (dx_f_drul_[LEFT], dy_f_drul_[LEFT]);
+ left.x () += encompass_arr_[0]->stem_l_->hpos_f ();
- Real left_y = dy_f_drul_[LEFT];
+ Offset d = Offset (dx_f_drul_[RIGHT] - dx_f_drul_[LEFT],
+ dy_f_drul_[RIGHT] - dy_f_drul_[LEFT]);
+ d.x () += width ().length ();
- Real dx = width ().length ();
- dx += (dx_f_drul_[RIGHT] - dx_f_drul_[LEFT]);
- dx = dx <? 1000;
- dx = dx >? 2.0 * interline;
-
- Real dy = (dy_f_drul_[RIGHT] - dy_f_drul_[LEFT]);
- if (abs (dy) > 1000)
- dy = sign (dy) * 1000;
-
- Real start_x = 0;
- Real start_y = left_y - dy_f_drul_[LEFT];
int first = 1;
int last = encompass_arr_.size () - 1;
- // broken slur first part
+ // prebreak
if (encompass_arr_[0] != spanned_drul_[LEFT])
- {
- first = 0;
- left_x = spanned_drul_[LEFT]->width ().length ();
- left_x -= 2 * notewidth;
- // urg
- start_x = left_x - 2 * notewidth;
+ first--;
- // urg
- if (encompass_arr_.size () > 1)
- dx += notewidth;
-
- if (dx < 2.0 * interline)
- {
- left_x -= 2.0 * interline - dx;
- dx = 2.0 * interline;
- start_x = left_x;
- }
+ // postbreak
+ if (encompass_arr_.top () != spanned_drul_[RIGHT])
+ last++;
- if (dir_ == UP)
- left_y = left_y >? dy_f_drul_[LEFT];
- else
- left_y = left_y <? dy_f_drul_[LEFT];
- start_y = left_y - dy_f_drul_[LEFT];
+#define RESIZE_ICE
+#ifndef RESIZE_ICE
- dy = 0;
- }
+ Array<Offset> notes;
+ notes.push (Offset (0,0));
- // broken slur second part
- if (encompass_arr_.top () != spanned_drul_[RIGHT])
+ for (int i = first; i < last; i++)
{
- left_y += 2.0 * dir_ * internote;
- start_y = left_y - dy_f_drul_[LEFT];
- last += 1;
- dy = 0;
+ Encompass_info info (encompass_arr_[i], dir_);
+ notes.push (info.o_ - left);
}
+ notes.push (d);
-#define RESIZE_ICE
-#ifndef RESIZE_ICE
- Array<Offset> notes;
- notes.push (Offset (start_x, start_y));
#else
+
int n = last - first + 2;
Array<Offset> notes (n);
- notes[0] = Offset (start_x, start_y);
-#endif
+ notes[0] = Offset (0,0);
+
for (int i = first; i < last; i++)
{
- Stem* stem = encompass_arr_[i]->stem_l_;
- /*
- set x to middle of notehead or on exact x position of stem,
- according to slur direction
- */
- Real x = stem->hpos_f ();
-
- if (stem->dir_ != dir_)
- {
- x += 0.5 * notewidth;
- // ugh
- if (dir_ == DOWN)
- x -= 0.5 * notewidth;
- else
- x += 0.5 * notewidth;
- }
- else if (stem->dir_ == UP)
- x += 1.0 * notewidth;
-
- x -= left_x;
-
- Real y = stem->height ()[dir_];
-
- /*
- leave a gap: slur mustn't touch head/stem
- */
- y += 2.5 * internote * dir_;
-
- // ugh
- if (dir_ == DOWN)
- y += 1.5 * internote * dir_;
-
- y -= left_y;
-
-#ifndef RESIZE_ICE
- notes.push (Offset (x, y));
+ Encompass_info info (encompass_arr_[i], dir_);
+ notes[i - first + 1] = info.o_ - left;
}
- notes.push (Offset (start_x + dx, start_y + dy));
-#else
- notes[i - first + 1] = Offset (x, y);
- }
- notes[n - 1] = Offset (start_x + dx, start_y + dy);
+ notes[n - 1] = Offset (d);
+
#endif
return notes;
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "span-bar.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "dimen.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "span-score-bar.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "span-score-bar.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "debug.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996, 1997, 1998 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998, 1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "proto.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#include "staff-performer.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "interval.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "staff-sym-grav.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "staff-sym.hh"
#include "lookup.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "stem-grav.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
Stem_info::Stem_info (Stem const *s)
{
- x = s->hpos_f ();
+ x_ = s->hpos_f ();
dir_ = s->dir_;
- beams_i_ = 0 >? (abs (s->flag_i_) - 2);
+ mult_i_ = s->mult_i_;
/*
[todo]
- * get algorithm
- * runtime
+ * get algorithm runtime
Breitkopf + H\"artel:
miny_f_ = interline + #beams * interbeam
*/
Real internote_f = s->paper ()->internote_f ();
- Real interline_f = 2 * internote_f;
- Real notehead_y = interline_f;
- // huh? why do i seem to need the / 2 ?
+ Real interline_f = 2.0 * internote_f;
Real interbeam_f = s->paper ()->interbeam_f ();
- // Real interbeam_f = s->paper ()->interbeam_f () / 2;
- // perhaps bo dim (y) = internote?
+ Real staffline_f = s->paper ()->rule_thickness ();
+ Real beam_f = 0.48 * (interline_f - staffline_f);
- idealy_f_ = dir_ * s->stem_begin_f () + beams_i_ * interbeam_f;
- if (beams_i_ < 3)
- idealy_f_ += 2 * interline_f;
- else
- idealy_f_ += 1.5 * interline_f;
- idealy_f_ /= internote_f;
- miny_f_ = dir_ * s->stem_begin_f () + 2 + beams_i_ * interbeam_f / internote_f;
-
- idealy_f_ = miny_f_ >? idealy_f_;
- // assert (miny_f_ <= idealy_f_);
+ if (check_debug && !monitor->silent_b ("Stem_info"))
+ {
+ static int i = 1;
+ cout << "******" << i++ << "******" << endl;
+ cout << "begin_f: " << s->stem_begin_f () * dir_ << endl;
+ // urg urg urg
+ cout << "chord_f/i: " << s->chord_start_f () * dir_ / internote_f << endl;
+ }
+
+ /*
+ For simplicity, we'll assume dir = UP and correct if
+ dir = DOWN afterwards.
+ */
+ idealy_f_ = s->chord_start_f () * dir_ / internote_f;
+ idealy_f_ *= internote_f;
+
+ idealy_f_ += interbeam_f * mult_i_;
+
+ miny_f_ = idealy_f_;
+
+ // B"arenreiter
+ if (mult_i_ < 3)
+ idealy_f_ += 2.0 * interline_f;
+ else
+ idealy_f_ += 1.5 * interline_f;
+
+ miny_f_ += 1.0 * interline_f;
+
+ // lowest beam of (UP) beam must never be lower than second staffline
+ miny_f_ = miny_f_ >? (- 2 * internote_f - beam_f
+ + (mult_i_ > 0) * beam_f + interbeam_f * (mult_i_ - 1));
+
+ idealy_f_ /= internote_f;
+ miny_f_ /= internote_f;
+
+ if (check_debug && !monitor->silent_b ("Stem_info"))
+ {
+ cout << "dir_: " << dir_ << endl;
+ cout << "mult_i_: " << mult_i_ << endl;
+ cout << "idealy_f_: " << idealy_f_ << endl;
+ cout << "miny_f_: " << miny_f_ << endl;
+ }
+
+ idealy_f_ = miny_f_ >? idealy_f_;
}
source file of the GNU LilyPond music typesetter
- (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
TODO: This is way too hairy
*/
beam_l_ = 0;
beams_left_i_ = 0;
beams_right_i_ = 0;
+ mult_i_ = 0;
yextent_drul_[DOWN] = yextent_drul_[UP] = 0;
flag_i_ = 2;
source file of the LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "super-elem.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "swallow-grav.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "swallow-perf.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "misc.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "proto.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "line-spacer.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "atom.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#ifndef __CYGWIN32__
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include <limits.h>
#include "interval.tcc"
template INTERVAL__INSTANTIATE(Rational);
-template INTERVAL__INSTANTIATE(int);
#include "compare.hh"
return a.str ();
}
-int
-Interval_t<int>::infinity()
-{
- return INT_MAX;
-}
-
-String
-Interval_t<int>::T_to_str (int i)
-{
- return String (i);
-}
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "proto.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "proto.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
/*
}
Atom
-Lookup::beam(Real &slope, Real width, Real y_thick) const
+Lookup::beam(Real slope, Real width, Real thick) const
{
- Atom a( ps_beam (slope, width, y_thick));
- Real slope_y =slope * width;
- Real min_y = (0 <? slope_y )- y_thick/2;
- Real max_y = (0 >? slope_y) + y_thick/2;
+ Atom a (ps_beam (slope, width, thick));
+ Real height = slope * width;
+ Real min_y = (0 <? height) - thick/2;
+ Real max_y = (0 >? height) + thick/2;
a.dim_[X_AXIS] = Interval(0, width);
a.dim_[Y_AXIS] = Interval(min_y, max_y);
}
Atom
-Lookup::ps_beam (Real slope, Real width, Real y_thickness)const
+Lookup::ps_beam (Real slope, Real width, Real thick) const
{
String ps = "\\embeddedps{\n";
- ps += String (width) + " "+ String (slope) + " " + String (y_thickness)
+ ps += String (width) + " "+ String (slope) + " " + String (thick)
+ " draw_beam}";
- /*
- beam parts are rarely wider than 100pt:
- precision of 4 yields maximum (half beam spanning half a page)
- error of: 1%% * 3*72pt === 0.2pt = 0.07mm
- */
- String width_str = String_convert::precision_str (width, 4);
- String slope_str = String_convert::precision_str (slope, 4);
- String thick_str = String_convert::precision_str (y_thickness, 3);
- String name = "feta-beum-" + width_str + "-" + slope_str + "-" + thick_str;
-
- int i;
- while ((i = name.index_i ('.')) != -1)
- name[i]= 'x';
-
-
-
Atom s;
s.tex_ = ps;
return s;
}
+
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "dimen.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "debug.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "molecule.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "tie-grav.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "paper-def.hh"
void
Tie::do_post_processing()
{
- Real nw_f = paper ()->note_width ();
- Real interline_f = paper ()->interline_f ();
assert (head_l_drul_[LEFT] || head_l_drul_[RIGHT]);
+ Real notewidth = paper ()->note_width ();
+ Real interline_f = paper ()->interline_f ();
+ Real const TIE_MIN = 2.0 * interline_f;
+
/*
[OSU]: slur and tie placement
do
{
+ // tie attached to outer notehead
if (head_l_drul_[d] && head_l_drul_[d]->extremal_i_)
{
- /* normal tie between noteheads, with gap of space */
if (d == LEFT)
- dx_f_drul_[d] += nw_f;
+ dx_f_drul_[d] += notewidth;
dx_f_drul_[d] += -d * gap_f;
/* attach to outer 3/4 end of head */
dy_f_drul_[d] += dir_ * 0.25 * interline_f;
}
+ // tie attached to inner notehead
else if (head_l_drul_[d])
{
- dx_f_drul_[d] += d*0.5 * nw_f;
+ dx_f_drul_[d] += d*0.5 * notewidth;
}
+ // uhm? loose end of tie // tie attached to stem
else
{
- dy_f_drul_[d] = dy_f_drul_[(Direction) -d];
dx_f_drul_[d] = -d * (spanned_drul_[d]->width ().length ()
- -0.5 * nw_f);
+ -0.5 * notewidth);
+ }
+ }
+ while (flip(&d) != LEFT);
+
+ // now that both are set, do dependent
+ do
+ {
+ // tie attached to outer notehead
+ if (!head_l_drul_[d])
+ {
+ if (dx_f_drul_[RIGHT] - dx_f_drul_[LEFT] < TIE_MIN)
+ {
+ dx_f_drul_[d] -= d * TIE_MIN
+ - (dx_f_drul_[RIGHT] - dx_f_drul_[LEFT]);
+ dx_f_drul_[d] = dx_f_drul_[(Direction)-d] + d * TIE_MIN;
+ }
+
+ dy_f_drul_[d] = dy_f_drul_[(Direction) -d];
}
}
while (flip(&d) != LEFT);
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "time-description.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "score-grav.hh"
#include "timing-grav.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "timing-translator.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "translation-property.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "proto.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "music-output-def.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "type-swallow-trans.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "vertical-align-elem.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "p-col.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "vertical-align-spanner.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "vertical-group-elem.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "vertical-group-spanner.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "translator-group.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "proto.hh"
source file of the LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "word-wrap.hh"
-
localinstall: localinstall-files
localinstall-files: $(INSTALLATION_OUT_FILES)
- $(INSTALL) -d $(INSTALLATION_DIR)
- $(INSTALL) -m 644 $(INSTALLATION_OUT_FILES) $(INSTALLATION_DIR)
+ $(INSTALL) -d $(INSTALLATION_OUT_DIR)
+ $(INSTALL) -m 644 $(INSTALLATION_OUT_FILES) $(INSTALLATION_OUT_DIR)
localuninstall: localuninstall-files
localuninstall-files:
for i in $(notdir $(INSTALLATION_OUT_FILES)) ; do \
- rm -f $(INSTALLATION_DIR)/$$i; \
+ rm -f $(INSTALLATION_OUT_DIR)/$$i; \
done
- -rmdir $(INSTALLATION_DIR)
+ -rmdir $(INSTALLATION_OUT_DIR)
--- /dev/null
+
+# project LilyPond -- the musical typesetter
+# title generic red tape for include/Makefile
+# file make/Include.make
+#
+# Copyright (c) 1997 by
+# Jan Nieuwenhuizen <jan@digicash.com>
+# Han-Wen Nienhuys <hanwen@stack.nl>
+
+# identify module:
+#
+
+
+include $(depth)/make/Variables.make
+include $(depth)/make/Version.make
+include $(depth)/make/Files.make
+include $(depth)/make/Targets.make
+include $(depth)/make/Rules.make
+include $(depth)/make/Install_outfiles.make
default: $(RPMSPEC) $(LSMENTRY)
-rpmdocs=$(addprefix Documentation/out/, $(notdir $(shell find $(depth)/Documentation/ -name '*.txt' ))) \
- BUGS TODO NEWS DEDICATION ANNOUNCE README
-rpmmudocs=$(addprefix Documentation/, $(notdir $(shell ls $(depth)/Documentation/*.doc)))
+rpmdocs=BUGS TODO NEWS DEDICATION ANNOUNCE README
rpmdvis=$(rpmmudocs:.doc=.dvi)
-rpmexamples= $(addprefix input/, $(notdir $(shell ls $(depth)/input/*.{ly,tex})))
+rpmexamples= $(addprefix input/, $(notdir $(shell ls $(depth)/input/*.ly)))
date = $(shell date '+%d%b%y'|tr a-z A-Z)
ln -f $< $@
$(outdir)/%.dvi: %.ly
- (cd $(outdir); \
- LILYINCLUDE="..:$$LILYINCLUDE" ly2dvi ../$< )
+ ly2dvi -o $(outdir) $<
website:
+ $(MAKE) CONFIGSUFFIX='www' -C Documentation WWW
examples:
Group: Applications/Publishing
Source0: pcnov095.win.tue.nl:/pub/lilypond/development/lilypond-@TOPLEVEL_VERSION@.tar.gz
Summary: A program for typesetting music.
-URL: http://www.cs.ruu.nl/~hanwen/lilypond
-Packager: Han-Wen Nienhuys <hanwen@stack.nl>
+URL: http://www.cs.uu.nl/~hanwen/lilypond
+Packager: Han-Wen Nienhuys <hanwen@cs.uu.nl>
Icon: lelie_icon.gif
Buildroot: /tmp/lilypond-install
make -C Documentation gifs
make prefix="$RPM_BUILD_ROOT/usr" install
%files
-%doc @TEXT_DOCS@
-%doc @EXAMPLE_LYS@
+%doc Documentation/out/*.txt
+%doc Documentation/tex/*.doc
+%doc Documentation/tex/*.bib
+%doc mutopia/*.ly
+%doc input/*.ly
%doc Documentation/out/lelie_logo.gif
/usr/bin/convert-mudela
/usr/bin/mudela-book
/usr/share/lilypond/
%post
+ln -s
texhash # takes some time...
rm `find /var/lib/texmf -name 'feta*pk' -or -name 'feta*tfm'`
+ln -s /usr/lib/texmf/texmf/tex/lilypond /usr/lib/texmf/texmf/tex/latex/lilypond # suck me plenty
Begin3
Titel: LilyPond
-Versie: 0.1.60
-Inschrijf datum: 29APR98
+Versie: 0.1.61
+Inschrijf datum: 03MAY98
Beschrijving: LilyPond is de muziek typesetter van het GNU Project.
Het programma genereert muziek in zichtbare of
hoorbare vorm uit uit een muzikale definitie file:
jan@digicash.com (Jan Nieuwenhuizen)
Onderhouden door: hanwen@stack.nl (Han-Wen Nienhuys)
Voornaamste plek: sunsite.unc.edu /pub/Linux/apps
- 395k lilypond-0.1.60.tar.gz
+ 395k lilypond-0.1.61.tar.gz
Oorspronkelijke plek: pcnov095.win.tue.nl /pub/lilypond/
- 395k lilypond-0.1.60.tar.gz
+ 395k lilypond-0.1.61.tar.gz
Copi"eer politie: GPL
End
Begin3
Title: LilyPond
-Version: 0.1.60
-Entered-date: 29APR98
+Version: 0.1.61
+Entered-date: 03MAY98
Description: LilyPond is the GNU Project music typesetter. The program
generates visual or auditive output from a music
definition file: it can typeset formatted sheet music
jan@digicash.com (Jan Nieuwenhuizen)
Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
- 570k lilypond-0.1.60.tar.gz
+ 570k lilypond-0.1.61.tar.gz
Original-site: pcnov095.win.tue.nl /pub/lilypond/development/
- 570k lilypond-0.1.60.tar.gz
+ 570k lilypond-0.1.61.tar.gz
Copying-policy: GPL
End
Name: lilypond
-Version: 0.1.60
+Version: 0.1.61
Release: 1
Copyright: GPL
Group: Applications/Publishing
-Source0: pcnov095.win.tue.nl:/pub/lilypond/development/lilypond-0.1.60.tar.gz
+Source0: pcnov095.win.tue.nl:/pub/lilypond/development/lilypond-0.1.61.tar.gz
Summary: A program for typesetting music.
-URL: http://www.cs.ruu.nl/~hanwen/lilypond
-Packager: Han-Wen Nienhuys <hanwen@stack.nl>
+URL: http://www.cs.uu.nl/~hanwen/lilypond
+Packager: Han-Wen Nienhuys <hanwen@cs.uu.nl>
Icon: lelie_icon.gif
Buildroot: /tmp/lilypond-install
make -C Documentation gifs
make prefix="$RPM_BUILD_ROOT/usr" install
%files
-%doc Documentation/out/AUTHORS.txt Documentation/out/CodingStyle.txt Documentation/out/INSTALL.txt Documentation/out/MANIFESTO.txt Documentation/out/PATCHES.txt Documentation/out/faq.txt Documentation/out/gnu-music.txt Documentation/out/index.txt Documentation/out/internals.txt Documentation/out/language.txt Documentation/out/links.txt Documentation/out/literature.txt Documentation/out/mi2mu.txt Documentation/out/mutopia.txt Documentation/out/other-packages.txt BUGS TODO NEWS DEDICATION ANNOUNCE README
-%doc input/cadenza.ly input/coriolan-alto.ly input/keys.ly input/kortjakje.ly input/multi.ly input/part.ly input/pedal.ly input/praeludium-fuga-E.ly input/rhythm.ly input/scales.ly input/scripts.ly input/tril.ly input/twinkle-pop.ly input/twinkle.ly Documentation/mudela.doc
+%doc Documentation/out/*.txt
+%doc Documentation/tex/*.doc
+%doc Documentation/tex/*.bib
+%doc mutopia/*.ly
+%doc input/*.ly
%doc Documentation/out/lelie_logo.gif
/usr/bin/convert-mudela
/usr/bin/mudela-book
/usr/share/lilypond/
%post
+ln -s
texhash # takes some time...
rm `find /var/lib/texmf -name 'feta*pk' -or -name 'feta*tfm'`
+ln -s /usr/lib/texmf/texmf/tex/lilypond /usr/lib/texmf/texmf/tex/latex/lilypond # suck me plenty
MFFILES = $(wildcard *.mf)
EXTRA_DISTFILES = TODO README $(MFFILES)
#
-lyout = $(depth)/init
-texout = $(depth)/tex
+lyout = $(outdir)/
+texout = $(outdir)/
FONT_FILES = $(wildcard *[0-9].mf)
FET_FILES = $(wildcard feta[0-9]*.mf)
$(PYTHON) $(depth)/bin/mf-to-table.py --outdir=$(outdir) --dep $(outdir)/$(<F:.log=.dep) --ly $(lyout)/$(<F:.log=.ly) --tex $(texout)/$(<F:.log=.tex) $<
+lyouts:
+
+TEXINSTALL=$(MAKE) INSTALLATION_OUT_DIR=$(TEXDIR)/lilypond depth=.. INSTALLATION_OUT_FILES="$(TEXTABLES)" -f $(depth)/make/Install_outfiles.sub.make $@
+
+LYINSTALL=$(MAKE) depth=.. INSTALLATION_OUT_DIR=$(datadir)/lilypond INSTALLATION_OUT_FILES="$(LYTABLES)" -f $(depth)/make/Install_outfiles.sub.make $@
+
+localinstall:
+ $(TEXINSTALL)
+ $(LYINSTALL)
+
+localuninstall:
+ $(TEXINSTALL)
+ $(LYINSTALL)
+
INSTALLATION_DIR=$(MFDIR)/public/lilypond
INSTALLATION_FILES=$(MFFILES)
- design decent macro for bulbed endings
- printer dependencies.
- y-refpoint for rests should be the 4th staffline (gclef: b')
+ - clean-up eight+ rests
- versioning
- lo-res fixes.
- work out sizes of character fonts.
source file of mi2mu, part of the GNU LilyPond package,
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#include <assert.h>
#include "string-convert.hh"
#include "lgetopt.hh"
-#include "path.hh"
+#include "file-path.hh"
#include "duration-convert.hh"
#include "source.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#include <assert.h>
source file of the GNU LilyPond music typesetter
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#include "moment.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+ (c) 1997--1998 Jan Nieuwenhuizen <jan@digicash.com>
*/
#include <assert.h>
//
// source file of the LilyPond music typesetter
//
-// (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+// (c) 1997--1998, 1998 Jan Nieuwenhuizen <jan@digicash.com>
#include <assert.h>
#include <time.h>
*os_p_ << filename_str_g;
*os_p_ << "\n\n";
// ugh
- *os_p_ << "\\version \"0.1.9\";\n";
+ *os_p_ << "\\version \"0.1.10\";\n";
}
void
;; * handle lexer modes (\header, \melodic, \lyric) etc.
;; * indentation
;; * notenames?
-;; * fontlock: \melodic \melodic
+;; * fontlock: \melodic \melodic
+;;
(defconst mudela-font-lock-keywords
(let* ((keywords '(
"accepts" "break" "bar" "cadenza" "clear" "clef" "cm" "consists" "contains"
"duration" "absdynamic" "in" "translator" "type" "lyric" "key"
- "melodic" "melodic_request" "meter" "midi" "mm" "multi" "header"
+ "maininput" "melodic" "melodic_request" "meter" "midi" "mm" "multi" "header"
"notenames" "octave" "output" "partial" "paper" "plet" "property" "pt" "shape"
"include"
"score" "script" "skip" "staff" "table" "spandynamic" "symboltables"
( ?\" . "\"" )
( ?\% . "<")
( ?\n . ">")
-
- )))
+
+; FIXME
+; ( ?% . ". 124b" )
+: ( ?{ . ". 23" )
+ ))
+
+ )
(defconst mu-stringlit-re
"\"\\([^\"\n\\]\\|\\\\.\\)*\"" ; double-quoted
copyright = "public domain";
}
-\version "0.1.9";
+\version "0.1.10";
\include "global.ly"
\include "clarinetti.ly"
}
-\version "0.1.9";
+\version "0.1.10";
\include "clarinetto-1.ly"
\include "clarinetto-2.ly"
}
-\version "0.1.9";
+\version "0.1.10";
clarinetto1 = \melodic{
\octave c';
}
-\version "0.1.9";
+\version "0.1.10";
clarinetto2 = \melodic{
\octave c';
% koor: clarinetto-part.ly
% lilypond: ../../current/lily/dynamic-grav.cc:58: void Dynamic_engraver::do_process_requests(): Assertion `!dynamic_p_' failed.
% Aborted (core dumped)
+
+% huh?
+
% r1 | r1 | as4-.\ff r r2 | r1 |
r1*2 | as4-. r r2 | r1*3 |
b4-. r r2 | r1*3 |
}
-\version "0.1.9";
+\version "0.1.10";
contrabasso = \melodic{
\octave c;
}
-\version "0.1.9";
+\version "0.1.10";
\include "global.ly"
\$timpani_staff
>
-$violini = \type Grandstaff = violini_group <
+$violini = \type Grand_staff = violini_group <
\$violino1_staff
\$violino2_staff
>
-$bassi = \type Grandstaff = violine_group <
+$bassi = \type Grand_staff = violine_group <
\$violoncello_staff
\$contrabasso_staff
>
}
-\version "0.1.9";
+\version "0.1.10";
\include "global.ly"
\include "corni.ly"
}
-\version "0.1.9";
+\version "0.1.10";
\include "corno-1.ly"
\include "corno-2.ly"
}
-\version "0.1.9";
+\version "0.1.10";
corno1 = \melodic{
\octave c';
}
-\version "0.1.9";
+\version "0.1.10";
corno2 = \melodic{
\octave c';
}
-\version "0.1.9";
+\version "0.1.10";
\include "global.ly"
\include "fagotti.ly"
}
-\version "0.1.9";
+\version "0.1.10";
\include "fagotto-1.ly"
\include "fagotto-2.ly"
}
-\version "0.1.9";
+\version "0.1.10";
fagotto1 = \melodic{
\octave c;
}
-\version "0.1.9";
+\version "0.1.10";
fagotto2 = \melodic{
\octave c;
}
-\version "0.1.9";
+\version "0.1.10";
\include "global.ly"
\include "flauti.ly"
}
-\version "0.1.9";
+\version "0.1.10";
\include "flauto-1.ly"
\include "flauto-2.ly"
}
-\version "0.1.9";
+\version "0.1.10";
flauto1 = \melodic{
\octave c'';
}
-\version "0.1.9";
+\version "0.1.10";
flauto2 = \melodic{
\octave c'';
}
-\version "0.1.9";
+\version "0.1.10";
global = \melodic{
\meter 4/4;
}
-\version "0.1.9";
+\version "0.1.10";
oboe1 = \melodic{
\octave c'';
}
-\version "0.1.9";
+\version "0.1.10";
oboe2 = \melodic{
\octave c'';
}
-\version "0.1.9";
+\version "0.1.10";
\include "global.ly"
\include "oboi.ly"
}
-\version "0.1.9";
+\version "0.1.10";
\include "oboe-1.ly"
\include "oboe-2.ly"
}
-\version "0.1.9";
+\version "0.1.10";
timpani = \melodic{
\octave c;
}
-\version "0.1.9";
+\version "0.1.10";
\include "global.ly"
\include "trombe.ly"
}
-\version "0.1.9";
+\version "0.1.10";
\include "trombo-1.ly"
\include "trombo-2.ly"
}
-\version "0.1.9";
+\version "0.1.10";
trombo1 = \melodic{
\octave c';
}
-\version "0.1.9";
+\version "0.1.10";
trombo2 = \melodic{
\octave c';
}
-\version "0.1.9";
+\version "0.1.10";
viola = \melodic{
\octave c;
}
-\version "0.1.9";
+\version "0.1.10";
violino1 = \melodic{
\octave c';
}
-\version "0.1.9";
+\version "0.1.10";
violino2 = \melodic{
\octave c';
}
-\version "0.1.9";
+\version "0.1.10";
violoncello = \melodic{
\octave c;
\two
>
-grand_staff = \type Grandstaff <
+grand_staff = \type Grand_staff <
\treble_staff
\bass_staff
>
\two
>
-grand_staff = \type Grandstaff <
+grand_staff = \type Grand_staff <
\treble_staff
\bass_staff
>
\two
>
-grand_staff = \type Grandstaff <
+grand_staff = \type Grand_staff <
\treble_staff
\bass_staff
>
{ \voicetwo \three }
>
-grand_staff = \type Grandstaff <
+grand_staff = \type Grand_staff <
\treble_staff
\bass_staff
>
\two
>
-grand_staff = \type Grandstaff <
+grand_staff = \type Grand_staff <
\treble_staff
\bass_staff
>
\four
>
-grand_staff = \type Grandstaff <
+grand_staff = \type Grand_staff <
\treble_staff
\bass_staff
>
Tested Features:breaking algorithm, chords, multivoice, accents
%}
-\version "0.1.9";
+\version "0.1.10";
%% Stuff from MPP version
% \lefttitle{Menuetto}
%{
%}
-\version "0.1.9";
+\version "0.1.10";
global =
\score {
- \melodic \type Grandstaff <
+ \melodic \type Grand_staff <
\multi 2 <
\global
\soprane
Tested Features: stem direction, multivoice, forced accidentals.
%}
-\version "0.1.9";
+\version "0.1.10";
\include "nederlands.ly" % for correct parsing of note names
\score {
\melodic {
- \type Grandstaff <
+ \type Grand_staff <
\type Staff = treble <
\global
\dux
copyright = "Public Domain";
}
-\version "0.1.9";
+\version "0.1.10";
global =
\melodic {
\score {
- \melodic \type Grandstaff <
+ \melodic \type Grand_staff <
<
\global
\soprane
definition below. --MB
%}
-\version "0.1.9";
+\version "0.1.10";
vi1=\melodic{
\meter 4/4;
+++ /dev/null
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% gallina.tex
-% Mats Bengtsson, 17/8 1997
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\documentclass[a4paper]{article}
-
-\addtolength{\oddsidemargin}{-1cm}
-\addtolength{\topmargin}{-1cm}
-\setlength{\textwidth}{15cm}
-\input lilyponddefs
-\input titledefs
-\begin{document}
-
-\title{La Gallina a 2 violini \\
-\normalsize from \textit{Canzoni overo Sonate Concertate
- libro terzo, opera duodecima}, 1637}
-\composer{Tarquinio Merula (1594/95-1665)}
-%\instrument{M\"a\ss ig} % heu
-%#%\tempo{M\"a\ss ig}
-\makelilytitle
-\input{gallina.out}
-
-
-\end{document}
\header{
filename = "los-toros-oboe.ly";
-title = "La Feria\\normalsize\\[2ex]Los Toros";
+title = "La Feria"
+subtitle = "Los Toros";
opus = "";
composer = "Paul Lac\\^ome d'Estalenx (1838-1920)";
enteredby = "jcn";
copyright = "public domain";
}
-\version "0.1.9";
+\version "0.1.10";
\include "standchen.ly"
copyright = "public domain";
description = "A schubert song in 20 pt";
}
-\version "0.1.9";
+\version "0.1.10";
% fool make-website
% \include "standchen.ly";
%}
\include "paper20.ly"
-\version "0.1.9";
+\version "0.1.10";
commands = \melodic{
\skip 2.*4;
\begeleiding
>
-$grand_staff = \type Grandstaff<
+$grand_staff = \type Grand_staff<
\$treble_staff
\$bass_staff
>
multiple \paper{}s in one \score
%}
-\version "0.1.9";
+\version "0.1.10";
$vocal_verse1 = \melodic{
\octave c';
\bass
>
-$grand_staff = \type Grandstaff<
+$grand_staff = \type Grand_staff<
\$treble_staff
\$bass_staff
>
bool experimental_features_global_b = true;
#include "bezier.hh"
-#include "bezier.cc"
+
+#if 0
#include "offset.cc"
+#include "interval.cc"
+#endif
+#include "misc.cc"
+#include "bezier.cc"
struct Point
{
{
//cout.unsetf(ios::scientific);
cout.setf(ios::fixed);
-#if 0
+#if 1
bow ((Point[6]){ 0,0, 20,0, 40,0, 60,0, 80,0, 100,1 }, 6, 1);
bow ((Point[6]){ 0,0, 20,0, 40,30, 60,30, 80,0, 100,1 }, 6, 1);
bow ((Point[6]){ 0,0, 20,0, 40,0, 60,0, 80,10, 100,1 }, 6, 1);
bow ((Point[6]){ 0,10, 20,20, 40,0, 60,40, 80,20, 100,50 }, 6, -1);
#endif
+#if 1
//clipping
-#if 0
+
bow ((Point[6]){ 0,0, 20,60, 40,0, 60,0, 80,0, 100,1 }, 6, 1);
bow ((Point[6]){ 0,1, 20,0, 40,0, 60,0, 80,60, 100,0 }, 6, 1);
-// bow ((Point[6]){ 0,0, 20,20, 40,40, 60,60, 80,140, 100,100 }, 6, 1);
+ bow ((Point[6]){ 0,0, 20,20, 40,40, 60,60, 80,140, 100,100 }, 6, 1);
bow ((Point[6]){ 0,0, 20,20, 40,40, 60,60, 80,20, 100,100 }, 6, -1);
bow ((Point[6]){ 0,0, 20,-20, 40,-40, 60,-60, 80,-20, 100,-100 }, 6, 1);
-// bow ((Point[6]){ 0,0, 20,-20, 40,-40, 60,-60, 80,-140, 100,-100 }, 6, -1);
+ bow ((Point[6]){ 0,0, 20,-20, 40,-40, 60,-60, 80,-140, 100,-100 }, 6, -1);
+ bow ((Point[7]){ 0,0, 20,40, 100,0, 150,0, 200,0, 280,40, 300,0 }, 7, 1);
bow ((Point[7]){ 0,0, 20,40, 100,0, 150,0, 200,0, 280,40, 300,0 }, 7, 1);
+ bow ((Point[7]){ 0,20, 20,40, 100,0, 150,0, 200,0, 280,40, 300,20 }, 7, 1);
+ bow ((Point[3]){ 0,0, 10,10, 20,-20 }, 3, 1);
#endif
-#if 0
- // bugs
+#if 1
+ // infeasible
bow ((Point[6]){ 0,0, 20,20, 40,40, 60,60, 80,140, 100,100 }, 6, 1);
bow ((Point[6]){ 0,0, 20,-40, 40,0, 60,20, 80,20, 100,40 }, 6, -1);
bow ((Point[6]){ 0,0, 20,20, 40,40, 60,60, 80,140, 100,100 }, 6, 1);
#endif
-// bow ((Point[6]){ 0,0, 20,20, 40,0, 60,0, 80,20, 100,1 }, 6, 1);
-// bow ((Point[6]){ 0,20, 20,40, 40,0, 60,0, 80,40, 100,20 }, 6, 1);
-
- bow ((Point[7]){ 0,0, 20,40, 100,0, 150,0, 200,0, 280,40, 300,0 }, 7, 1);
- bow ((Point[7]){ 0,20, 20,40, 100,0, 150,0, 200,0, 280,40, 300,20 }, 7, 1);
cout << "\\end" << endl;
--- /dev/null
+// vim:sw=2 makeprg=g++\ -g\ bow.cc\ -o\ bow
+#include <iostream.h>
+#define PT
+// #define STAFFHEIGHT 16.0
+#define STAFFHEIGHT 20.0
+
+#define UP 1
+#define DOWN (-1)
+
+// mmm
+#define STANDALONE
+
+#include <math.h>
+
+typedef void *Paper_def;
+
+bool experimental_features_global_b = true;
+
+#include "misc.cc"
+
+int
+main ()
+{
+ //cout.unsetf(ios::scientific);
+ cout.setf(ios::fixed);
+
+ Array<Real> a;
+ a.push (3.4);
+ a.push (3.9);
+ Interval iv;
+
+ iv = quantise_iv (a, 4, 3.5);
+ cout << "iv: " << iv.min () << ", " << iv.max () << endl;
+
+ iv = quantise_iv (a, 4, -1.5);
+ cout << "iv: " << iv.min () << ", " << iv.max () << endl;
+
+ iv = quantise_iv (a, 4, -7.5);
+ cout << "iv: " << iv.min () << ", " << iv.max () << endl;
+
+ iv = quantise_iv (a, 4, 3.4);
+ cout << "iv: " << iv.min () << ", " << iv.max () << endl;
+
+ iv = quantise_iv (a, 4, 3.9);
+ cout << "iv: " << iv.min () << ", " << iv.max () << endl;
+
+ cout << "\\end" << endl;
+
+ return 0;
+}
+
+++ /dev/null
-% Creator: mf-to-table.py version 0.6
-% Automatically generated on
-% Do not edit
-% input from out/feta11.log
-% name
-% rests
-\fetdef\wholerest{0}
-\fetdef\halfrest{1}
-\fetdef\outsidewholerest{2}
-\fetdef\outsidehalfrest{3}
-\fetdef\quartrest{4}
-\fetdef\eighthrest{5}
-\fetdef\sixteenthrest{6}
-\fetdef\thirtysecondrest{7}
-\fetdef\sixtyfourthrest{8}
-\fetdef\hundredtwentyeighthrest{9}
-
-% accidentals
-\fetdef\sharp{10}
-\fetdef\natural{11}
-\fetdef\flat{12}
-\fetdef\flatflat{13}
-\fetdef\sharpsharp{14}
-
-% dots
-\fetdef\dot{15}
-\fetdef\repeatcolon{16}
-
-% balls
-\fetdef\brevisball{17}
-\fetdef\brevisledger{18}
-\fetdef\longaball{19}
-\fetdef\longaledger{20}
-\fetdef\wholeball{21}
-\fetdef\wholeledger{22}
-\fetdef\halfball{23}
-\fetdef\halfledger{24}
-\fetdef\quartball{25}
-\fetdef\quartledger{26}
-
-% scripts
-\fetdef\ufermata{27}
-\fetdef\dfermata{28}
-\fetdef\sforzatoaccent{29}
-\fetdef\staccato{30}
-\fetdef\ustaccatissimo{31}
-\fetdef\dstaccatissimo{32}
-\fetdef\tenuto{33}
-\fetdef\umarcato{34}
-\fetdef\dmarcato{35}
-\fetdef\ouvert{36}
-\fetdef\plusstop{37}
-\fetdef\upbow{38}
-\fetdef\downbow{39}
-\fetdef\reverseturn{40}
-\fetdef\turn{41}
-\fetdef\trill{42}
-\fetdef\upedalheel{43}
-\fetdef\dpedalheel{44}
-\fetdef\upedaltoe{45}
-\fetdef\dpedaltoe{46}
-\fetdef\flageolet{47}
-\fetdef\trilelement{48}
-\fetdef\prall{49}
-\fetdef\mordent{50}
-\fetdef\prallprall{51}
-\fetdef\prallmordent{52}
-\fetdef\upprall{53}
-\fetdef\downprall{54}
-
-% flags
-\fetdef\eighthflag{55}
-\fetdef\sixteenthflag{56}
-\fetdef\thirtysecondflag{57}
-\fetdef\sixtyfourthflag{58}
-\fetdef\deighthflag{59}
-\fetdef\dsixteenthflag{60}
-\fetdef\dthirtysecondflag{61}
-\fetdef\dsixtyfourthflag{62}
-
-% clefs
-\fetdef\altoclef{63}
-\fetdef\caltoclef{64}
-\fetdef\bassclef{65}
-\fetdef\cbassclef{66}
-\fetdef\violinclef{67}
-\fetdef\cviolinclef{68}
-
-% Creator: mf-to-table.py version 0.6
-% Automatically generated on
-% Do not edit
-% input from out/feta11.log
-% name
-% rests
-\fetdef\wholerest{0}
-\fetdef\halfrest{1}
-\fetdef\outsidewholerest{2}
-\fetdef\outsidehalfrest{3}
-\fetdef\quartrest{4}
-\fetdef\eighthrest{5}
-\fetdef\sixteenthrest{6}
-\fetdef\thirtysecondrest{7}
-\fetdef\sixtyfourthrest{8}
-\fetdef\hundredtwentyeighthrest{9}
-
-% accidentals
-\fetdef\sharp{10}
-\fetdef\natural{11}
-\fetdef\flat{12}
-\fetdef\flatflat{13}
-\fetdef\sharpsharp{14}
-
-% dots
-\fetdef\dot{15}
-\fetdef\repeatcolon{16}
-
-% balls
-\fetdef\brevisball{17}
-\fetdef\brevisledger{18}
-\fetdef\longaball{19}
-\fetdef\longaledger{20}
-\fetdef\wholeball{21}
-\fetdef\wholeledger{22}
-\fetdef\halfball{23}
-\fetdef\halfledger{24}
-\fetdef\quartball{25}
-\fetdef\quartledger{26}
-
-% scripts
-\fetdef\ufermata{27}
-\fetdef\dfermata{28}
-\fetdef\sforzatoaccent{29}
-\fetdef\staccato{30}
-\fetdef\ustaccatissimo{31}
-\fetdef\dstaccatissimo{32}
-\fetdef\tenuto{33}
-\fetdef\umarcato{34}
-\fetdef\dmarcato{35}
-\fetdef\ouvert{36}
-\fetdef\plusstop{37}
-\fetdef\upbow{38}
-\fetdef\downbow{39}
-\fetdef\reverseturn{40}
-\fetdef\turn{41}
-\fetdef\trill{42}
-\fetdef\upedalheel{43}
-\fetdef\dpedalheel{44}
-\fetdef\upedaltoe{45}
-\fetdef\dpedaltoe{46}
-\fetdef\flageolet{47}
-\fetdef\trilelement{48}
-\fetdef\prall{49}
-\fetdef\mordent{50}
-\fetdef\prallprall{51}
-\fetdef\prallmordent{52}
-\fetdef\upprall{53}
-\fetdef\downprall{54}
-
-% flags
-\fetdef\eighthflag{55}
-\fetdef\sixteenthflag{56}
-\fetdef\thirtysecondflag{57}
-\fetdef\sixtyfourthflag{58}
-\fetdef\deighthflag{59}
-\fetdef\dsixteenthflag{60}
-\fetdef\dthirtysecondflag{61}
-\fetdef\dsixtyfourthflag{62}
-
-% clefs
-\fetdef\altoclef{63}
-\fetdef\caltoclef{64}
-\fetdef\bassclef{65}
-\fetdef\cbassclef{66}
-\fetdef\violinclef{67}
-\fetdef\cviolinclef{68}
-
+++ /dev/null
-% Creator: mf-to-table.py version 0.6
-% Automatically generated on
-% Do not edit
-% input from out/feta13.log
-% name
-% rests
-\fetdef\wholerest{0}
-\fetdef\halfrest{1}
-\fetdef\outsidewholerest{2}
-\fetdef\outsidehalfrest{3}
-\fetdef\quartrest{4}
-\fetdef\eighthrest{5}
-\fetdef\sixteenthrest{6}
-\fetdef\thirtysecondrest{7}
-\fetdef\sixtyfourthrest{8}
-\fetdef\hundredtwentyeighthrest{9}
-
-% accidentals
-\fetdef\sharp{10}
-\fetdef\natural{11}
-\fetdef\flat{12}
-\fetdef\flatflat{13}
-\fetdef\sharpsharp{14}
-
-% dots
-\fetdef\dot{15}
-\fetdef\repeatcolon{16}
-
-% balls
-\fetdef\brevisball{17}
-\fetdef\brevisledger{18}
-\fetdef\longaball{19}
-\fetdef\longaledger{20}
-\fetdef\wholeball{21}
-\fetdef\wholeledger{22}
-\fetdef\halfball{23}
-\fetdef\halfledger{24}
-\fetdef\quartball{25}
-\fetdef\quartledger{26}
-
-% scripts
-\fetdef\ufermata{27}
-\fetdef\dfermata{28}
-\fetdef\sforzatoaccent{29}
-\fetdef\staccato{30}
-\fetdef\ustaccatissimo{31}
-\fetdef\dstaccatissimo{32}
-\fetdef\tenuto{33}
-\fetdef\umarcato{34}
-\fetdef\dmarcato{35}
-\fetdef\ouvert{36}
-\fetdef\plusstop{37}
-\fetdef\upbow{38}
-\fetdef\downbow{39}
-\fetdef\reverseturn{40}
-\fetdef\turn{41}
-\fetdef\trill{42}
-\fetdef\upedalheel{43}
-\fetdef\dpedalheel{44}
-\fetdef\upedaltoe{45}
-\fetdef\dpedaltoe{46}
-\fetdef\flageolet{47}
-\fetdef\trilelement{48}
-\fetdef\prall{49}
-\fetdef\mordent{50}
-\fetdef\prallprall{51}
-\fetdef\prallmordent{52}
-\fetdef\upprall{53}
-\fetdef\downprall{54}
-
-% flags
-\fetdef\eighthflag{55}
-\fetdef\sixteenthflag{56}
-\fetdef\thirtysecondflag{57}
-\fetdef\sixtyfourthflag{58}
-\fetdef\deighthflag{59}
-\fetdef\dsixteenthflag{60}
-\fetdef\dthirtysecondflag{61}
-\fetdef\dsixtyfourthflag{62}
-
-% clefs
-\fetdef\altoclef{63}
-\fetdef\caltoclef{64}
-\fetdef\bassclef{65}
-\fetdef\cbassclef{66}
-\fetdef\violinclef{67}
-\fetdef\cviolinclef{68}
-
-% Creator: mf-to-table.py version 0.6
-% Automatically generated on
-% Do not edit
-% input from out/feta13.log
-% name
-% rests
-\fetdef\wholerest{0}
-\fetdef\halfrest{1}
-\fetdef\outsidewholerest{2}
-\fetdef\outsidehalfrest{3}
-\fetdef\quartrest{4}
-\fetdef\eighthrest{5}
-\fetdef\sixteenthrest{6}
-\fetdef\thirtysecondrest{7}
-\fetdef\sixtyfourthrest{8}
-\fetdef\hundredtwentyeighthrest{9}
-
-% accidentals
-\fetdef\sharp{10}
-\fetdef\natural{11}
-\fetdef\flat{12}
-\fetdef\flatflat{13}
-\fetdef\sharpsharp{14}
-
-% dots
-\fetdef\dot{15}
-\fetdef\repeatcolon{16}
-
-% balls
-\fetdef\brevisball{17}
-\fetdef\brevisledger{18}
-\fetdef\longaball{19}
-\fetdef\longaledger{20}
-\fetdef\wholeball{21}
-\fetdef\wholeledger{22}
-\fetdef\halfball{23}
-\fetdef\halfledger{24}
-\fetdef\quartball{25}
-\fetdef\quartledger{26}
-
-% scripts
-\fetdef\ufermata{27}
-\fetdef\dfermata{28}
-\fetdef\sforzatoaccent{29}
-\fetdef\staccato{30}
-\fetdef\ustaccatissimo{31}
-\fetdef\dstaccatissimo{32}
-\fetdef\tenuto{33}
-\fetdef\umarcato{34}
-\fetdef\dmarcato{35}
-\fetdef\ouvert{36}
-\fetdef\plusstop{37}
-\fetdef\upbow{38}
-\fetdef\downbow{39}
-\fetdef\reverseturn{40}
-\fetdef\turn{41}
-\fetdef\trill{42}
-\fetdef\upedalheel{43}
-\fetdef\dpedalheel{44}
-\fetdef\upedaltoe{45}
-\fetdef\dpedaltoe{46}
-\fetdef\flageolet{47}
-\fetdef\trilelement{48}
-\fetdef\prall{49}
-\fetdef\mordent{50}
-\fetdef\prallprall{51}
-\fetdef\prallmordent{52}
-\fetdef\upprall{53}
-\fetdef\downprall{54}
-
-% flags
-\fetdef\eighthflag{55}
-\fetdef\sixteenthflag{56}
-\fetdef\thirtysecondflag{57}
-\fetdef\sixtyfourthflag{58}
-\fetdef\deighthflag{59}
-\fetdef\dsixteenthflag{60}
-\fetdef\dthirtysecondflag{61}
-\fetdef\dsixtyfourthflag{62}
-
-% clefs
-\fetdef\altoclef{63}
-\fetdef\caltoclef{64}
-\fetdef\bassclef{65}
-\fetdef\cbassclef{66}
-\fetdef\violinclef{67}
-\fetdef\cviolinclef{68}
-
+++ /dev/null
-% Creator: mf-to-table.py version 0.6
-% Automatically generated on
-% Do not edit
-% input from out/feta16.log
-% name
-% rests
-\fetdef\wholerest{0}
-\fetdef\halfrest{1}
-\fetdef\outsidewholerest{2}
-\fetdef\outsidehalfrest{3}
-\fetdef\quartrest{4}
-\fetdef\eighthrest{5}
-\fetdef\sixteenthrest{6}
-\fetdef\thirtysecondrest{7}
-\fetdef\sixtyfourthrest{8}
-\fetdef\hundredtwentyeighthrest{9}
-
-% accidentals
-\fetdef\sharp{10}
-\fetdef\natural{11}
-\fetdef\flat{12}
-\fetdef\flatflat{13}
-\fetdef\sharpsharp{14}
-
-% dots
-\fetdef\dot{15}
-\fetdef\repeatcolon{16}
-
-% balls
-\fetdef\brevisball{17}
-\fetdef\brevisledger{18}
-\fetdef\longaball{19}
-\fetdef\longaledger{20}
-\fetdef\wholeball{21}
-\fetdef\wholeledger{22}
-\fetdef\halfball{23}
-\fetdef\halfledger{24}
-\fetdef\quartball{25}
-\fetdef\quartledger{26}
-
-% scripts
-\fetdef\ufermata{27}
-\fetdef\dfermata{28}
-\fetdef\sforzatoaccent{29}
-\fetdef\staccato{30}
-\fetdef\ustaccatissimo{31}
-\fetdef\dstaccatissimo{32}
-\fetdef\tenuto{33}
-\fetdef\umarcato{34}
-\fetdef\dmarcato{35}
-\fetdef\ouvert{36}
-\fetdef\plusstop{37}
-\fetdef\upbow{38}
-\fetdef\downbow{39}
-\fetdef\reverseturn{40}
-\fetdef\turn{41}
-\fetdef\trill{42}
-\fetdef\upedalheel{43}
-\fetdef\dpedalheel{44}
-\fetdef\upedaltoe{45}
-\fetdef\dpedaltoe{46}
-\fetdef\flageolet{47}
-\fetdef\trilelement{48}
-\fetdef\prall{49}
-\fetdef\mordent{50}
-\fetdef\prallprall{51}
-\fetdef\prallmordent{52}
-\fetdef\upprall{53}
-\fetdef\downprall{54}
-
-% flags
-\fetdef\eighthflag{55}
-\fetdef\sixteenthflag{56}
-\fetdef\thirtysecondflag{57}
-\fetdef\sixtyfourthflag{58}
-\fetdef\deighthflag{59}
-\fetdef\dsixteenthflag{60}
-\fetdef\dthirtysecondflag{61}
-\fetdef\dsixtyfourthflag{62}
-
-% clefs
-\fetdef\altoclef{63}
-\fetdef\caltoclef{64}
-\fetdef\bassclef{65}
-\fetdef\cbassclef{66}
-\fetdef\violinclef{67}
-\fetdef\cviolinclef{68}
-
-% Creator: mf-to-table.py version 0.6
-% Automatically generated on
-% Do not edit
-% input from out/feta16.log
-% name
-% rests
-\fetdef\wholerest{0}
-\fetdef\halfrest{1}
-\fetdef\outsidewholerest{2}
-\fetdef\outsidehalfrest{3}
-\fetdef\quartrest{4}
-\fetdef\eighthrest{5}
-\fetdef\sixteenthrest{6}
-\fetdef\thirtysecondrest{7}
-\fetdef\sixtyfourthrest{8}
-\fetdef\hundredtwentyeighthrest{9}
-
-% accidentals
-\fetdef\sharp{10}
-\fetdef\natural{11}
-\fetdef\flat{12}
-\fetdef\flatflat{13}
-\fetdef\sharpsharp{14}
-
-% dots
-\fetdef\dot{15}
-\fetdef\repeatcolon{16}
-
-% balls
-\fetdef\brevisball{17}
-\fetdef\brevisledger{18}
-\fetdef\longaball{19}
-\fetdef\longaledger{20}
-\fetdef\wholeball{21}
-\fetdef\wholeledger{22}
-\fetdef\halfball{23}
-\fetdef\halfledger{24}
-\fetdef\quartball{25}
-\fetdef\quartledger{26}
-
-% scripts
-\fetdef\ufermata{27}
-\fetdef\dfermata{28}
-\fetdef\sforzatoaccent{29}
-\fetdef\staccato{30}
-\fetdef\ustaccatissimo{31}
-\fetdef\dstaccatissimo{32}
-\fetdef\tenuto{33}
-\fetdef\umarcato{34}
-\fetdef\dmarcato{35}
-\fetdef\ouvert{36}
-\fetdef\plusstop{37}
-\fetdef\upbow{38}
-\fetdef\downbow{39}
-\fetdef\reverseturn{40}
-\fetdef\turn{41}
-\fetdef\trill{42}
-\fetdef\upedalheel{43}
-\fetdef\dpedalheel{44}
-\fetdef\upedaltoe{45}
-\fetdef\dpedaltoe{46}
-\fetdef\flageolet{47}
-\fetdef\trilelement{48}
-\fetdef\prall{49}
-\fetdef\mordent{50}
-\fetdef\prallprall{51}
-\fetdef\prallmordent{52}
-\fetdef\upprall{53}
-\fetdef\downprall{54}
-
-% flags
-\fetdef\eighthflag{55}
-\fetdef\sixteenthflag{56}
-\fetdef\thirtysecondflag{57}
-\fetdef\sixtyfourthflag{58}
-\fetdef\deighthflag{59}
-\fetdef\dsixteenthflag{60}
-\fetdef\dthirtysecondflag{61}
-\fetdef\dsixtyfourthflag{62}
-
-% clefs
-\fetdef\altoclef{63}
-\fetdef\caltoclef{64}
-\fetdef\bassclef{65}
-\fetdef\cbassclef{66}
-\fetdef\violinclef{67}
-\fetdef\cviolinclef{68}
-
+++ /dev/null
-% Creator: mf-to-table.py version 0.6
-% Automatically generated on
-% Do not edit
-% input from out/feta19.log
-% name
-% rests
-\fetdef\wholerest{0}
-\fetdef\halfrest{1}
-\fetdef\outsidewholerest{2}
-\fetdef\outsidehalfrest{3}
-\fetdef\quartrest{4}
-\fetdef\eighthrest{5}
-\fetdef\sixteenthrest{6}
-\fetdef\thirtysecondrest{7}
-\fetdef\sixtyfourthrest{8}
-\fetdef\hundredtwentyeighthrest{9}
-
-% accidentals
-\fetdef\sharp{10}
-\fetdef\natural{11}
-\fetdef\flat{12}
-\fetdef\flatflat{13}
-\fetdef\sharpsharp{14}
-
-% dots
-\fetdef\dot{15}
-\fetdef\repeatcolon{16}
-
-% balls
-\fetdef\brevisball{17}
-\fetdef\brevisledger{18}
-\fetdef\longaball{19}
-\fetdef\longaledger{20}
-\fetdef\wholeball{21}
-\fetdef\wholeledger{22}
-\fetdef\halfball{23}
-\fetdef\halfledger{24}
-\fetdef\quartball{25}
-\fetdef\quartledger{26}
-
-% scripts
-\fetdef\ufermata{27}
-\fetdef\dfermata{28}
-\fetdef\sforzatoaccent{29}
-\fetdef\staccato{30}
-\fetdef\ustaccatissimo{31}
-\fetdef\dstaccatissimo{32}
-\fetdef\tenuto{33}
-\fetdef\umarcato{34}
-\fetdef\dmarcato{35}
-\fetdef\ouvert{36}
-\fetdef\plusstop{37}
-\fetdef\upbow{38}
-\fetdef\downbow{39}
-\fetdef\reverseturn{40}
-\fetdef\turn{41}
-\fetdef\trill{42}
-\fetdef\upedalheel{43}
-\fetdef\dpedalheel{44}
-\fetdef\upedaltoe{45}
-\fetdef\dpedaltoe{46}
-\fetdef\flageolet{47}
-\fetdef\trilelement{48}
-\fetdef\prall{49}
-\fetdef\mordent{50}
-\fetdef\prallprall{51}
-\fetdef\prallmordent{52}
-\fetdef\upprall{53}
-\fetdef\downprall{54}
-
-% flags
-\fetdef\eighthflag{55}
-\fetdef\sixteenthflag{56}
-\fetdef\thirtysecondflag{57}
-\fetdef\sixtyfourthflag{58}
-\fetdef\deighthflag{59}
-\fetdef\dsixteenthflag{60}
-\fetdef\dthirtysecondflag{61}
-\fetdef\dsixtyfourthflag{62}
-
-% clefs
-\fetdef\altoclef{63}
-\fetdef\caltoclef{64}
-\fetdef\bassclef{65}
-\fetdef\cbassclef{66}
-\fetdef\violinclef{67}
-\fetdef\cviolinclef{68}
-
-% Creator: mf-to-table.py version 0.6
-% Automatically generated on
-% Do not edit
-% input from out/feta19.log
-% name
-% rests
-\fetdef\wholerest{0}
-\fetdef\halfrest{1}
-\fetdef\outsidewholerest{2}
-\fetdef\outsidehalfrest{3}
-\fetdef\quartrest{4}
-\fetdef\eighthrest{5}
-\fetdef\sixteenthrest{6}
-\fetdef\thirtysecondrest{7}
-\fetdef\sixtyfourthrest{8}
-\fetdef\hundredtwentyeighthrest{9}
-
-% accidentals
-\fetdef\sharp{10}
-\fetdef\natural{11}
-\fetdef\flat{12}
-\fetdef\flatflat{13}
-\fetdef\sharpsharp{14}
-
-% dots
-\fetdef\dot{15}
-\fetdef\repeatcolon{16}
-
-% balls
-\fetdef\brevisball{17}
-\fetdef\brevisledger{18}
-\fetdef\longaball{19}
-\fetdef\longaledger{20}
-\fetdef\wholeball{21}
-\fetdef\wholeledger{22}
-\fetdef\halfball{23}
-\fetdef\halfledger{24}
-\fetdef\quartball{25}
-\fetdef\quartledger{26}
-
-% scripts
-\fetdef\ufermata{27}
-\fetdef\dfermata{28}
-\fetdef\sforzatoaccent{29}
-\fetdef\staccato{30}
-\fetdef\ustaccatissimo{31}
-\fetdef\dstaccatissimo{32}
-\fetdef\tenuto{33}
-\fetdef\umarcato{34}
-\fetdef\dmarcato{35}
-\fetdef\ouvert{36}
-\fetdef\plusstop{37}
-\fetdef\upbow{38}
-\fetdef\downbow{39}
-\fetdef\reverseturn{40}
-\fetdef\turn{41}
-\fetdef\trill{42}
-\fetdef\upedalheel{43}
-\fetdef\dpedalheel{44}
-\fetdef\upedaltoe{45}
-\fetdef\dpedaltoe{46}
-\fetdef\flageolet{47}
-\fetdef\trilelement{48}
-\fetdef\prall{49}
-\fetdef\mordent{50}
-\fetdef\prallprall{51}
-\fetdef\prallmordent{52}
-\fetdef\upprall{53}
-\fetdef\downprall{54}
-
-% flags
-\fetdef\eighthflag{55}
-\fetdef\sixteenthflag{56}
-\fetdef\thirtysecondflag{57}
-\fetdef\sixtyfourthflag{58}
-\fetdef\deighthflag{59}
-\fetdef\dsixteenthflag{60}
-\fetdef\dthirtysecondflag{61}
-\fetdef\dsixtyfourthflag{62}
-
-% clefs
-\fetdef\altoclef{63}
-\fetdef\caltoclef{64}
-\fetdef\bassclef{65}
-\fetdef\cbassclef{66}
-\fetdef\violinclef{67}
-\fetdef\cviolinclef{68}
-
+++ /dev/null
-% Creator: mf-to-table.py version 0.6
-% Automatically generated on
-% Do not edit
-% input from out/feta20.log
-% name
-% rests
-\fetdef\wholerest{0}
-\fetdef\halfrest{1}
-\fetdef\outsidewholerest{2}
-\fetdef\outsidehalfrest{3}
-\fetdef\quartrest{4}
-\fetdef\eighthrest{5}
-\fetdef\sixteenthrest{6}
-\fetdef\thirtysecondrest{7}
-\fetdef\sixtyfourthrest{8}
-\fetdef\hundredtwentyeighthrest{9}
-
-% accidentals
-\fetdef\sharp{10}
-\fetdef\natural{11}
-\fetdef\flat{12}
-\fetdef\flatflat{13}
-\fetdef\sharpsharp{14}
-
-% dots
-\fetdef\dot{15}
-\fetdef\repeatcolon{16}
-
-% balls
-\fetdef\brevisball{17}
-\fetdef\brevisledger{18}
-\fetdef\longaball{19}
-\fetdef\longaledger{20}
-\fetdef\wholeball{21}
-\fetdef\wholeledger{22}
-\fetdef\halfball{23}
-\fetdef\halfledger{24}
-\fetdef\quartball{25}
-\fetdef\quartledger{26}
-
-% scripts
-\fetdef\ufermata{27}
-\fetdef\dfermata{28}
-\fetdef\sforzatoaccent{29}
-\fetdef\staccato{30}
-\fetdef\ustaccatissimo{31}
-\fetdef\dstaccatissimo{32}
-\fetdef\tenuto{33}
-\fetdef\umarcato{34}
-\fetdef\dmarcato{35}
-\fetdef\ouvert{36}
-\fetdef\plusstop{37}
-\fetdef\upbow{38}
-\fetdef\downbow{39}
-\fetdef\reverseturn{40}
-\fetdef\turn{41}
-\fetdef\trill{42}
-\fetdef\upedalheel{43}
-\fetdef\dpedalheel{44}
-\fetdef\upedaltoe{45}
-\fetdef\dpedaltoe{46}
-\fetdef\flageolet{47}
-\fetdef\trilelement{48}
-\fetdef\prall{49}
-\fetdef\mordent{50}
-\fetdef\prallprall{51}
-\fetdef\prallmordent{52}
-\fetdef\upprall{53}
-\fetdef\downprall{54}
-
-% flags
-\fetdef\eighthflag{55}
-\fetdef\sixteenthflag{56}
-\fetdef\thirtysecondflag{57}
-\fetdef\sixtyfourthflag{58}
-\fetdef\deighthflag{59}
-\fetdef\dsixteenthflag{60}
-\fetdef\dthirtysecondflag{61}
-\fetdef\dsixtyfourthflag{62}
-
-% clefs
-\fetdef\altoclef{63}
-\fetdef\caltoclef{64}
-\fetdef\bassclef{65}
-\fetdef\cbassclef{66}
-\fetdef\violinclef{67}
-\fetdef\cviolinclef{68}
-
-% Creator: mf-to-table.py version 0.6
-% Automatically generated on
-% Do not edit
-% input from out/feta20.log
-% name
-% rests
-\fetdef\wholerest{0}
-\fetdef\halfrest{1}
-\fetdef\outsidewholerest{2}
-\fetdef\outsidehalfrest{3}
-\fetdef\quartrest{4}
-\fetdef\eighthrest{5}
-\fetdef\sixteenthrest{6}
-\fetdef\thirtysecondrest{7}
-\fetdef\sixtyfourthrest{8}
-\fetdef\hundredtwentyeighthrest{9}
-
-% accidentals
-\fetdef\sharp{10}
-\fetdef\natural{11}
-\fetdef\flat{12}
-\fetdef\flatflat{13}
-\fetdef\sharpsharp{14}
-
-% dots
-\fetdef\dot{15}
-\fetdef\repeatcolon{16}
-
-% balls
-\fetdef\brevisball{17}
-\fetdef\brevisledger{18}
-\fetdef\longaball{19}
-\fetdef\longaledger{20}
-\fetdef\wholeball{21}
-\fetdef\wholeledger{22}
-\fetdef\halfball{23}
-\fetdef\halfledger{24}
-\fetdef\quartball{25}
-\fetdef\quartledger{26}
-
-% scripts
-\fetdef\ufermata{27}
-\fetdef\dfermata{28}
-\fetdef\sforzatoaccent{29}
-\fetdef\staccato{30}
-\fetdef\ustaccatissimo{31}
-\fetdef\dstaccatissimo{32}
-\fetdef\tenuto{33}
-\fetdef\umarcato{34}
-\fetdef\dmarcato{35}
-\fetdef\ouvert{36}
-\fetdef\plusstop{37}
-\fetdef\upbow{38}
-\fetdef\downbow{39}
-\fetdef\reverseturn{40}
-\fetdef\turn{41}
-\fetdef\trill{42}
-\fetdef\upedalheel{43}
-\fetdef\dpedalheel{44}
-\fetdef\upedaltoe{45}
-\fetdef\dpedaltoe{46}
-\fetdef\flageolet{47}
-\fetdef\trilelement{48}
-\fetdef\prall{49}
-\fetdef\mordent{50}
-\fetdef\prallprall{51}
-\fetdef\prallmordent{52}
-\fetdef\upprall{53}
-\fetdef\downprall{54}
-
-% flags
-\fetdef\eighthflag{55}
-\fetdef\sixteenthflag{56}
-\fetdef\thirtysecondflag{57}
-\fetdef\sixtyfourthflag{58}
-\fetdef\deighthflag{59}
-\fetdef\dsixteenthflag{60}
-\fetdef\dthirtysecondflag{61}
-\fetdef\dsixtyfourthflag{62}
-
-% clefs
-\fetdef\altoclef{63}
-\fetdef\caltoclef{64}
-\fetdef\bassclef{65}
-\fetdef\cbassclef{66}
-\fetdef\violinclef{67}
-\fetdef\cviolinclef{68}
-
+++ /dev/null
-% Creator: mf-to-table.py version 0.6
-% Automatically generated on
-% Do not edit
-% input from out/feta23.log
-% name
-% rests
-\fetdef\wholerest{0}
-\fetdef\halfrest{1}
-\fetdef\outsidewholerest{2}
-\fetdef\outsidehalfrest{3}
-\fetdef\quartrest{4}
-\fetdef\eighthrest{5}
-\fetdef\sixteenthrest{6}
-\fetdef\thirtysecondrest{7}
-\fetdef\sixtyfourthrest{8}
-\fetdef\hundredtwentyeighthrest{9}
-
-% accidentals
-\fetdef\sharp{10}
-\fetdef\natural{11}
-\fetdef\flat{12}
-\fetdef\flatflat{13}
-\fetdef\sharpsharp{14}
-
-% dots
-\fetdef\dot{15}
-\fetdef\repeatcolon{16}
-
-% balls
-\fetdef\brevisball{17}
-\fetdef\brevisledger{18}
-\fetdef\longaball{19}
-\fetdef\longaledger{20}
-\fetdef\wholeball{21}
-\fetdef\wholeledger{22}
-\fetdef\halfball{23}
-\fetdef\halfledger{24}
-\fetdef\quartball{25}
-\fetdef\quartledger{26}
-
-% scripts
-\fetdef\ufermata{27}
-\fetdef\dfermata{28}
-\fetdef\sforzatoaccent{29}
-\fetdef\staccato{30}
-\fetdef\ustaccatissimo{31}
-\fetdef\dstaccatissimo{32}
-\fetdef\tenuto{33}
-\fetdef\umarcato{34}
-\fetdef\dmarcato{35}
-\fetdef\ouvert{36}
-\fetdef\plusstop{37}
-\fetdef\upbow{38}
-\fetdef\downbow{39}
-\fetdef\reverseturn{40}
-\fetdef\turn{41}
-\fetdef\trill{42}
-\fetdef\upedalheel{43}
-\fetdef\dpedalheel{44}
-\fetdef\upedaltoe{45}
-\fetdef\dpedaltoe{46}
-\fetdef\flageolet{47}
-\fetdef\trilelement{48}
-\fetdef\prall{49}
-\fetdef\mordent{50}
-\fetdef\prallprall{51}
-\fetdef\prallmordent{52}
-\fetdef\upprall{53}
-\fetdef\downprall{54}
-
-% flags
-\fetdef\eighthflag{55}
-\fetdef\sixteenthflag{56}
-\fetdef\thirtysecondflag{57}
-\fetdef\sixtyfourthflag{58}
-\fetdef\deighthflag{59}
-\fetdef\dsixteenthflag{60}
-\fetdef\dthirtysecondflag{61}
-\fetdef\dsixtyfourthflag{62}
-
-% clefs
-\fetdef\altoclef{63}
-\fetdef\caltoclef{64}
-\fetdef\bassclef{65}
-\fetdef\cbassclef{66}
-\fetdef\violinclef{67}
-\fetdef\cviolinclef{68}
-
-% Creator: mf-to-table.py version 0.6
-% Automatically generated on
-% Do not edit
-% input from out/feta23.log
-% name
-% rests
-\fetdef\wholerest{0}
-\fetdef\halfrest{1}
-\fetdef\outsidewholerest{2}
-\fetdef\outsidehalfrest{3}
-\fetdef\quartrest{4}
-\fetdef\eighthrest{5}
-\fetdef\sixteenthrest{6}
-\fetdef\thirtysecondrest{7}
-\fetdef\sixtyfourthrest{8}
-\fetdef\hundredtwentyeighthrest{9}
-
-% accidentals
-\fetdef\sharp{10}
-\fetdef\natural{11}
-\fetdef\flat{12}
-\fetdef\flatflat{13}
-\fetdef\sharpsharp{14}
-
-% dots
-\fetdef\dot{15}
-\fetdef\repeatcolon{16}
-
-% balls
-\fetdef\brevisball{17}
-\fetdef\brevisledger{18}
-\fetdef\longaball{19}
-\fetdef\longaledger{20}
-\fetdef\wholeball{21}
-\fetdef\wholeledger{22}
-\fetdef\halfball{23}
-\fetdef\halfledger{24}
-\fetdef\quartball{25}
-\fetdef\quartledger{26}
-
-% scripts
-\fetdef\ufermata{27}
-\fetdef\dfermata{28}
-\fetdef\sforzatoaccent{29}
-\fetdef\staccato{30}
-\fetdef\ustaccatissimo{31}
-\fetdef\dstaccatissimo{32}
-\fetdef\tenuto{33}
-\fetdef\umarcato{34}
-\fetdef\dmarcato{35}
-\fetdef\ouvert{36}
-\fetdef\plusstop{37}
-\fetdef\upbow{38}
-\fetdef\downbow{39}
-\fetdef\reverseturn{40}
-\fetdef\turn{41}
-\fetdef\trill{42}
-\fetdef\upedalheel{43}
-\fetdef\dpedalheel{44}
-\fetdef\upedaltoe{45}
-\fetdef\dpedaltoe{46}
-\fetdef\flageolet{47}
-\fetdef\trilelement{48}
-\fetdef\prall{49}
-\fetdef\mordent{50}
-\fetdef\prallprall{51}
-\fetdef\prallmordent{52}
-\fetdef\upprall{53}
-\fetdef\downprall{54}
-
-% flags
-\fetdef\eighthflag{55}
-\fetdef\sixteenthflag{56}
-\fetdef\thirtysecondflag{57}
-\fetdef\sixtyfourthflag{58}
-\fetdef\deighthflag{59}
-\fetdef\dsixteenthflag{60}
-\fetdef\dthirtysecondflag{61}
-\fetdef\dsixtyfourthflag{62}
-
-% clefs
-\fetdef\altoclef{63}
-\fetdef\caltoclef{64}
-\fetdef\bassclef{65}
-\fetdef\cbassclef{66}
-\fetdef\violinclef{67}
-\fetdef\cviolinclef{68}
-
+++ /dev/null
-% Creator: mf-to-table.py version 0.6
-% Automatically generated on
-% Do not edit
-% input from out/feta26.log
-% name
-% rests
-\fetdef\wholerest{0}
-\fetdef\halfrest{1}
-\fetdef\outsidewholerest{2}
-\fetdef\outsidehalfrest{3}
-\fetdef\quartrest{4}
-\fetdef\eighthrest{5}
-\fetdef\sixteenthrest{6}
-\fetdef\thirtysecondrest{7}
-\fetdef\sixtyfourthrest{8}
-\fetdef\hundredtwentyeighthrest{9}
-
-% accidentals
-\fetdef\sharp{10}
-\fetdef\natural{11}
-\fetdef\flat{12}
-\fetdef\flatflat{13}
-\fetdef\sharpsharp{14}
-
-% dots
-\fetdef\dot{15}
-\fetdef\repeatcolon{16}
-
-% balls
-\fetdef\brevisball{17}
-\fetdef\brevisledger{18}
-\fetdef\longaball{19}
-\fetdef\longaledger{20}
-\fetdef\wholeball{21}
-\fetdef\wholeledger{22}
-\fetdef\halfball{23}
-\fetdef\halfledger{24}
-\fetdef\quartball{25}
-\fetdef\quartledger{26}
-
-% scripts
-\fetdef\ufermata{27}
-\fetdef\dfermata{28}
-\fetdef\sforzatoaccent{29}
-\fetdef\staccato{30}
-\fetdef\ustaccatissimo{31}
-\fetdef\dstaccatissimo{32}
-\fetdef\tenuto{33}
-\fetdef\umarcato{34}
-\fetdef\dmarcato{35}
-\fetdef\ouvert{36}
-\fetdef\plusstop{37}
-\fetdef\upbow{38}
-\fetdef\downbow{39}
-\fetdef\reverseturn{40}
-\fetdef\turn{41}
-\fetdef\trill{42}
-\fetdef\upedalheel{43}
-\fetdef\dpedalheel{44}
-\fetdef\upedaltoe{45}
-\fetdef\dpedaltoe{46}
-\fetdef\flageolet{47}
-\fetdef\trilelement{48}
-\fetdef\prall{49}
-\fetdef\mordent{50}
-\fetdef\prallprall{51}
-\fetdef\prallmordent{52}
-\fetdef\upprall{53}
-\fetdef\downprall{54}
-
-% flags
-\fetdef\eighthflag{55}
-\fetdef\sixteenthflag{56}
-\fetdef\thirtysecondflag{57}
-\fetdef\sixtyfourthflag{58}
-\fetdef\deighthflag{59}
-\fetdef\dsixteenthflag{60}
-\fetdef\dthirtysecondflag{61}
-\fetdef\dsixtyfourthflag{62}
-
-% clefs
-\fetdef\altoclef{63}
-\fetdef\caltoclef{64}
-\fetdef\bassclef{65}
-\fetdef\cbassclef{66}
-\fetdef\violinclef{67}
-\fetdef\cviolinclef{68}
-
-% Creator: mf-to-table.py version 0.6
-% Automatically generated on
-% Do not edit
-% input from out/feta26.log
-% name
-% rests
-\fetdef\wholerest{0}
-\fetdef\halfrest{1}
-\fetdef\outsidewholerest{2}
-\fetdef\outsidehalfrest{3}
-\fetdef\quartrest{4}
-\fetdef\eighthrest{5}
-\fetdef\sixteenthrest{6}
-\fetdef\thirtysecondrest{7}
-\fetdef\sixtyfourthrest{8}
-\fetdef\hundredtwentyeighthrest{9}
-
-% accidentals
-\fetdef\sharp{10}
-\fetdef\natural{11}
-\fetdef\flat{12}
-\fetdef\flatflat{13}
-\fetdef\sharpsharp{14}
-
-% dots
-\fetdef\dot{15}
-\fetdef\repeatcolon{16}
-
-% balls
-\fetdef\brevisball{17}
-\fetdef\brevisledger{18}
-\fetdef\longaball{19}
-\fetdef\longaledger{20}
-\fetdef\wholeball{21}
-\fetdef\wholeledger{22}
-\fetdef\halfball{23}
-\fetdef\halfledger{24}
-\fetdef\quartball{25}
-\fetdef\quartledger{26}
-
-% scripts
-\fetdef\ufermata{27}
-\fetdef\dfermata{28}
-\fetdef\sforzatoaccent{29}
-\fetdef\staccato{30}
-\fetdef\ustaccatissimo{31}
-\fetdef\dstaccatissimo{32}
-\fetdef\tenuto{33}
-\fetdef\umarcato{34}
-\fetdef\dmarcato{35}
-\fetdef\ouvert{36}
-\fetdef\plusstop{37}
-\fetdef\upbow{38}
-\fetdef\downbow{39}
-\fetdef\reverseturn{40}
-\fetdef\turn{41}
-\fetdef\trill{42}
-\fetdef\upedalheel{43}
-\fetdef\dpedalheel{44}
-\fetdef\upedaltoe{45}
-\fetdef\dpedaltoe{46}
-\fetdef\flageolet{47}
-\fetdef\trilelement{48}
-\fetdef\prall{49}
-\fetdef\mordent{50}
-\fetdef\prallprall{51}
-\fetdef\prallmordent{52}
-\fetdef\upprall{53}
-\fetdef\downprall{54}
-
-% flags
-\fetdef\eighthflag{55}
-\fetdef\sixteenthflag{56}
-\fetdef\thirtysecondflag{57}
-\fetdef\sixtyfourthflag{58}
-\fetdef\deighthflag{59}
-\fetdef\dsixteenthflag{60}
-\fetdef\dthirtysecondflag{61}
-\fetdef\dsixtyfourthflag{62}
-
-% clefs
-\fetdef\altoclef{63}
-\fetdef\caltoclef{64}
-\fetdef\bassclef{65}
-\fetdef\cbassclef{66}
-\fetdef\violinclef{67}
-\fetdef\cviolinclef{68}
-
--- /dev/null
+
+
+\usepackage{fancyheadings}
+\lhead{}
+\rhead{}
+\chead{}
+\lfoot{}
+\cfoot{\ifnum\thepage=1{\hfill\LilyIdString}\fi}
+\rfoot{\ifnum\thepage>1{\hfill\thepage\hfill}\fi}
+\headrulewidth0mm
+\pagestyle{fancy}
+\thispagestyle{fancy}