parse_duration 1
parse_pitchmod 1
Col_configuration 1
-Request 1
+Request 0
Note_req 1
-Rhythmic_req 1
+Rhythmic_req 0
Rest_req 1
delete_identifiers 1
Command 1
Staff_commands 1
Stem 1
-Staff 1
+Staff 0
Score 1
Voice 1
Voice_element 1
Input_command 1
Time_description 1
Melodic_req 1
-Stem_req 1
+Stem_req 0
Group_change_req 1
Script_req 1
Colinfo 1
TXTS=$(PODS:.pod=.txt)
MANS=$(PODS:.pod=.1)
HTMLS=$(PODS:.pod=.html)
-DISTFILES=$(PODS) Makefile lelie_logo.png #lelieblond.gif
+DISTFILES=$(PODS) Makefile lelie_logo.png make_website #lelieblond.gif
default:
pod2man --center="LilyPond documentation" --section="0"\
--release="LilyPond $(MAJVER).$(MINVER).$(PATCHLEVEL)" $< > $@
-html:
- pod2html
\ No newline at end of file
+html: $(pod)
+ pod2html
+
+htmldist: html
+ make_website
--- /dev/null
+#!/usr/bin/perl -w
+sub
+ set_hrefs
+{
+ while (<HTMLIN>) {
+ s#href=([A-Za-z.]+)#href=$base/$1#g;
+ print HTMLOUT $_;
+ }
+}
+
+local $base="lilypond/";
+local @examples=("wohltemperirt");
+
+system 'make html';
+
+print "resetting refs.\n";
+
+foreach $a (<*.html>)
+{
+ rename $a, "$a~";
+ open HTMLIN, "$a~";
+ open HTMLOUT, ">$a";
+ set_hrefs;
+}
+
+foreach $a (@examples) {
+ $texfile="test";
+ system "cd ..; lilypond input/$a; tex $texfile; dvips $texfile;";
+ system "mv ../$texfile.ps $a.ps";
+ system "gs -q -sDEVICE=ppmraw -sOutputFile=- -r200 -dNOPAUSE $a.ps -c quit |pnmscale 0.5| ppmtogif > $a.gif"
+}
+
+system "tar cfz website.tgz *.html *.gif *.png *.ps "
+pl 31
+
+Examples
+ - Coriolan example (JN)
+ - standchen updated
+Bugfix
+ - calcideal assertion bugfix
+
pl 30
Features
- split register source files
- hardcoded dimensions compile time
- Lookup::tex_hairpin
-Bugs
+Bugfix
- non G-clef clefs
- script junking (2x)
- empty files
localkeyitem.hh localkeyreg.hh lookup.hh \
lyriccolumn.hh lyricitem.hh lyricstaff.hh lyricwalker.hh\
main.hh meter.hh misc.hh\
- molecule.hh moment.hh notehead.hh notename.hh offset.hh paper.hh\
+ molecule.hh moment.hh notehead.hh notename.hh offset.hh paperdef.hh\
parseconstruct.hh pcol.hh proto.hh pscore.hh pstaff.hh qlp.hh\
qlpsolve.hh register.hh request.hh rest.hh \
sccol.hh score.hh\
lyriccolumn.cc lyricitem.cc lyricstaff.cc lyricwalker.cc\
main.cc meter.cc\
misc.cc molecule.cc mylexer.cc note.cc notehead.cc notename.cc\
- paper.cc pcol.cc pscore.cc pstaff.cc qlp.cc qlpsolve.cc\
+ paperdef.cc pcol.cc pscore.cc pstaff.cc qlp.cc qlpsolve.cc\
register.cc request.cc rest.cc sccol.cc score.cc\
scoreline.cc scores.cc script.cc scriptdef.cc scriptreg.cc \
slur.cc\
stablecc=request.cc bar.cc boxes.cc break.cc clef.cc getcommands.cc grouping.cc\
item.cc keyword.cc leastsquares.cc \
linepstaff.cc linespace.cc lookup.cc molecule.cc meter.cc\
- paper.cc parser.cc lexer.cc pstaff.cc qlp.cc qlpsolve.cc\
+ paperdef.cc parser.cc lexer.cc pstaff.cc qlp.cc qlpsolve.cc\
template1.cc template2.cc template3.cc template4.cc\
template5.cc template6.cc version.cc tstream.cc tex.cc\
voice.cc wordwrap.cc spanner.cc
SMALLISH PROJECTS
+ * read from mmap directly: study yy_scan_buffer
+
* binsearch for notenames
* stafftypes: voice names/ instrument names.
* all errors
+ * a decent webpage
+
FUTURE
* warning: beam(): Beam too narrow: beam gen not per stem
* PostScript output (esp. Beams, Slurs, etc)
- * caching breakpoints
\ No newline at end of file
+ * caching breakpoints\r
# version info
MAJVER=0
MINVER=0
-PATCHLEVEL=30
+PATCHLEVEL=31
+
-include Site.make
####
#### USER CONFIGURABLE
depfile=deps/$(subst .o,.dep,$(notdir $@))
DODEP=rm -f $(depfile); DEPENDENCIES_OUTPUT="$(depfile) $(OBJECTDIR)/$(notdir $@)"
-STRIPDEBUG=strip --strip-debug
\ No newline at end of file
+STRIPDEBUG=true # replace to do stripping of certain objects
+
+include Site.make
\ No newline at end of file
#include "proto.hh"
#include "colhpos.hh"
+/** Class representation of an algorithm which decides where to put
+ the column, and where to break lines. */
struct Break_algorithm {
PScore &pscore_;
Real linelength;
#include "register.hh"
#include "localkeyreg.hh"
+
+/**
+ A staff walker which uses registers to what to print
+ */
struct Complex_walker: Staff_walker {
Local_key local_key_;
Key key_;
#include "spanner.hh"
+/// a spanner which can be pointing "up" or "down"
struct Directional_spanner : Spanner{
/// -1 below heads, +1 above heads.
#include "scalar.hh"
#include "varray.hh"
#include "moment.hh"
-
+/// command without time assoced
struct Input_command {
/// analogous to argv[]
Array<Scalar> args;
#ifndef INPUTCOMMANDS_HH
#define INPUTCOMMANDS_HH
-//#include "pcursor.hh"
#include "proto.hh"
#include "plist.hh"
#include "real.hh"
struct Input_staff {
- /// defined where?
+
const char * defined_ch_c_l_;
String type;
IPointerList<Input_command*> commands_;
spacing calculation.
*/
-
struct Item : Staff_elem {
/// indirection to the column it is in
PCol * pcol_l_;
/*
- key.hh -- part of LilyPond
+ key.hh -- declare Key
(c) 1996,97 Han-Wen Nienhuys
*/
#include "varray.hh"
#include "scalar.hh"
+/// administration of current key
class Key {
Array<int> accidentals;
int acc(int i) { return accidentals[i]; }
};
+/// administration of accidentals
struct Local_key
{
void reset(Key);
struct Clef;
-/// An item which places accidentals at the start of the line
+/// An item which places accidentals at the start of the line
struct Keyitem : Item {
const char * name() const;
Array<int> pitch;
#include "fproto.hh"
#include "scalar.hh"
+/// intuitive interface to symbol table
struct Lookup {
Symtables *symtables_;
String texsetting;
struct Notehead : Item {
const char * name() const;
- const char* defined_ch_c_l_m; //sorry, trying to find error in martien.ly
+
int position;
/// -1 = lowest, 0 = inside, 1 = top
int extremal;
+++ /dev/null
-#include "proto.hh"
-#include "real.hh"
-#include "string.hh"
-#include "moment.hh"
-
-
-/** symbols, dimensions and constants
-
- This struct takes care of all kinds of symbols, dimensions and
- constants. Most of them are related to the point-size of the fonts,
- so therefore, the lookup table for symbols is also in here.
-
- see TODO
- */
-struct Paperdef {
- Lookup *lookup_p_;
- String outfile;
-
- Real linewidth;
-
- /// how much space does a whole note take (ideally?)
- Real whole_width;
-
- /// ideal = geometric_ ^ log2(duration)
- Real geometric_;
-
- /* *************** */
- void reinit();
- Paperdef(Lookup*);
- void set(Lookup*);
- ~Paperdef();
- Paperdef(Paperdef const&);
- Real interline()const;
- Real internote()const;
- Real rule_thickness()const;
- Real standard_height()const;
- Real note_width() const;
- void print() const;
- Real duration_to_dist(Moment);
-};
-
--- /dev/null
+/*
+ paperdef.hh -- declare
+
+ source file of the LilyPond music typesetter
+
+ (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
+
+#ifndef PAPERDEF_HH
+#define PAPERDEF_HH
+#include "proto.hh"
+#include "real.hh"
+#include "string.hh"
+#include "moment.hh"
+
+
+/** symbols, dimensions and constants
+
+ This struct takes care of all kinds of symbols, dimensions and
+ constants. Most of them are related to the point-size of the fonts,
+ so therefore, the lookup table for symbols is also in here.
+
+ see TODO
+ */
+struct Paperdef {
+ Lookup *lookup_p_;
+ String outfile;
+
+ Real linewidth;
+
+ /// how much space does a whole note take (ideally?)
+ Real whole_width;
+
+ /// ideal = geometric_ ^ log2(duration)
+ Real geometric_;
+
+ /* *************** */
+ void reinit();
+ Paperdef(Lookup*);
+ void set(Lookup*);
+ ~Paperdef();
+ Paperdef(Paperdef const&);
+ Real interline()const;
+ Real internote()const;
+ Real rule_thickness()const;
+ Real standard_height()const;
+ Real note_width() const;
+ void print() const;
+ Real duration_to_dist(Moment);
+};
+
+#endif // PAPERDEF_HH
+
+/*
+ qlp.hh -- declare Ineq_constrained_qp, Mixed_qp
+
+ source file of the LilyPond music typesetter
+
+ (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
#ifndef QLP_HH
#define QLP_HH
/**
use a KKT method to assert optimality of sol
*/
- void assert_solution(Vector sol) const;
- /// solve the problem using a projected gradient method
+ void assert_solution(Vector sol) const;
+ /// solve the problem using a projected gradient method
Vector solve(Vector start) const;
/** return the number of variables in the problem */
x^T QUAD x /2 + b^T x
*/
-
-
class Mixed_qp :public Ineq_constrained_qp {
Array<int> eq_cons;
Array<Real> eq_consrhs;
+/*
+ qlpsolve.hh -- declare Active_constraints, Inactive_iter
+
+ source file of the LilyPond music typesetter
+
+ (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
+
+#ifndef QLPSOLVE_HH
+#define QLPSOLVE_HH
#include "qlp.hh"
#include "matrix.hh"
Real rhs() const { return ac->rhs(constraint_id()); }
bool ok() const { return j < ac->inactive.size(); }
};
+
+#endif // QLPSOLVE_HH
REQUESTMETHODS(Lyric_req, lreq_l);
};
-
+/// request which has some kind of pitch
struct Melodic_req :virtual Request
{
/// 0 is c
#if 0
-///Put a lyric above or below (?) this staff.
-struct Lyric_req : Request {
- String text;
-};
-
-
///Draw a (Guitar) chord above or below this ``note''
-struct Chord : Request {
- // don't know how this looks.
-};
/**
Why a request?
Because everything else is done in requests.
*/
+struct Chord : Request {
+ // don't know how this looks.
+};
/// for absolute dynamics
///Start / stop a slur or a bracket.
-struct Bracket_req : Span_req {
- int nplet; // print a number over the beam.
-};
/**
Start/stop a bracket at this note. if #nplet# is set, the staff will
try to put an appropriate number over the bracket
*/
+struct Bracket_req : Span_req {
+ int nplet; // print a number over the beam.
+};
struct Subtle_req {
Moment subtime;
//
-// sourcefile.hh -- part of LilyPond
+// sourcefile.hh -- declare Source_file
//
// copyright 1997 Jan Nieuwenhuizen <jan@digicash.nl>
#ifndef SOURCE_FILE_HH
#define SOURCE_FILE_HH
+/// class for reading and mapping a file.
class Source_file
{
public:
-include "init/dutch.ini"
-include "init/script.ini"
-include "init/table_sixteen.ini"
+include "dutch.ini" # do not include init/ path
+include "script.ini"
+include "table_sixteen.ini"
cadenza.ly scales.ly standchen.ly twinkle.ly\
wohltemperirt.ly error.ly\
martien.ly mlalt.ly mlvio1.ly mlvio2.ly mlcello.ly\
+ coriolan-alto.ly\
standchen.tex pavane.tex scsii-menuetto.tex scsii-menuetto.ly\
martien.tex
--- /dev/null
+% Ludwig van Beethoven (1770-1792)
+%
+% Opus 62
+% Ouverture zu Collins Trauerspiel "Coriolan"
+%
+% a 5 bar fragment of the alto part
+%
+% Copyright (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
+%
+% when lily can handle this, i-ll type the other 304 bars
+% (maybe even sooner :-)
+%
+
+alto = music {
+ $
+ \duration{ 8 }
+
+ % these are chords (i.e. non-divisi)
+ % that-s why i-d rather type chords,
+ % but how to type slurs?
+%30
+ {
+ \music{
+ [ c c-. ] c2.( |
+%31
+ [ ) c c-. ] c2.( |
+%32
+ [ ) c c-. ] c4. c-. c4( |
+%33
+ [ ) c c-. ] c4. c-. c4
+ }
+%30:2
+ \music{
+ \octave{ ` }
+ \textstyle "italic"
+ % this should be a dynamic, rather than text
+ [ c c_"cresc. \ \ - \ \ \ \ - \ \ \ \ - \ \ \ \
+ - \ \ \ \ - \ \ \ \ - \ \ \ \ - \ \ \ \
+ - \ \ \ \ - \ \ \ \ - \ \ \ \ - \ \ \ \
+ - \ \ \ \ - \ \ \ \ -" ] c2.( |
+ \textstyle "roman"
+%31:2
+ [ ) c c-. ] c2.( |
+%32:2
+ [ ) c c-. ] c4. c-. c4( |
+%33:2
+ [ ) c c-. ] c4. c-. c4 |
+ \octave{ }
+ }
+ }
+%34
+ % these are two voices (i.e. divisi)
+ % the c4 and c2, however are really 16th...
+ % e.g.: c16*4 and c16*8 or
+ % [ c4 c2 ]*16 ?
+ % we-ll say "simile" for now...
+ %
+ { \multivoice
+ \music{ \stem{ 1 }[ c16^"div." c16 c16 c16 ] c4 c2 }
+ \music {
+ \octave{ ` }
+ \textstyle "italic"
+ \stem{ -1 } [ as16_"\ff" as16 as16 as16 ] as4_"simile" as2
+ \textstyle "roman"
+ }
+ }
+ $
+}
+
+score {
+ staff { melodic music { alto }
+ commands {
+ clef "alto"
+ key $c es as$ % c ???
+ }
+ }
+ commands {
+ meter 4*4
+ skip 5:0
+ }
+ paper {
+ unitspace 14mm
+ geometric 1.4
+ }
+}
mwa = music {
$
+% [ a8 a8 a8 a8 a8 ] % assertion fail
+% [ a8 a8 a8 ] % assertion fail
+% [ a8 ] % assertion fail
a ) b ] c % warning
& % ok; error
a b ) ] % ok; error
% comments with # note missing stuff
% heu, make that %#%
%
-%% Still looks fairly on the "ugh" side the beauty scale, mainly because of
-%% LilyPond's naive idealspacing calc.
-%%
+% thanks to \music "2" group changing, all notes
+% (except for grace notes) are printed
+%
%#%%
%#%\title{St\"andchen}
%%1
melodie = music { $
\duration{ 8 }
-% r_"\pp" { [ d `a-| } f-| { d `a-| } f-| { d `a-| ] }
- r { [ d `a-|_"\pp" } f-| { d `a-| } f-| { d `a-| ] }
+ r_"\pp" { [ d `a-| } f-| { d `a-| } f-| { d `a-| ] } |
%%2
- r { [ d `bes-| } f-| { d `bes-| } f-| { d `bes-| ] }
+ r { [ d `bes-| } f-| { d `bes-| } f-| { d `bes-| ] } |
%%3
\textstyle "italic"
r_"simile" { [ d `bes } e { d `bes } e { d `bes ] }
- \textstyle "roman"
+ \textstyle "roman" |
%%4
- r { [ `a cis } e { `a cis } e { `a cis ] }
+ r { [ `a cis } e { `a cis } e { `a cis ] } |
%#%:|
%%5
- \plet{ 2/3 } [ a()bes a ] \plet{ 1/1 } 'd4. a
+ \plet{ 2/3 } [ a()bes a ] \plet{ 1/1 } 'd4. a |
%%6
- \plet{ 2/3 } [ g()a g ] \plet{ 1/1 } 'd4 a r
+ \plet{ 2/3 } [ g()a g ] \plet{ 1/1 } 'd4 a r |
%#%\tighten
%#%\newline
%%7
- a4.^> g \plet{ 2/3 } [ g( f )e ] \plet{ 1/1 }
+ a4.^> g \plet{ 2/3 } [ g( f )e ] \plet{ 1/1 } |
%%8
- f2 r4
+ f2 r4 |
%%9
-%#% { 'a4.( 'cis4.\stemdown_p } { ) 'g 'e_{dolce} }
-%#% { 'g( 'e } 'f ) 'e
- 'a4.( )'g \plet{ 2/3 } { 'g 'e } { 'f } { 'e } \plet{ 1/1 }
+ { \music{ 'a4.( )'g \plet{ 2/3 } [ 'g( 'f )'e ] \plet{ 1/1 } }
+ \music{ 'cis4. 'e_"dolce" \plet{ 2/3 } 'e \plet{ 1/1 } } } |
%%10
- { 'f2. 'd2. }
+ { 'f2. 'd2. } |
%%11
- \plet { 2/3 } [ a_"\pp"( )bes a ] \plet { 1/1 } 'f4. a
+ \plet { 2/3 } [ a_"\pp"( )bes a ] \plet { 1/1 } 'f4. a |
%%12
- \plet { 2/3 } [ g( ) a g ] \plet { 1/1 } 'e4. 'd
+ \plet { 2/3 } [ g( ) a g ] \plet { 1/1 } 'e4. 'd |
%%13
- 'c4. bes \plet { 2/3 } [ bes( ) a g ] \plet { 1/1 }
+ 'c4. bes \plet { 2/3 } [ bes( ) a g ] \plet { 1/1 } |
%%14
-%#% a2 r { 'd(^ f_p(v }
- a2 r { 'd f_"\p" }
-%%15
-%#% { ) e4. ) 'c4.\stemup_{dolce} } { bes g }
- { e4. 'c4._"dolce" } { bes g }
- \plet { 2/3 } { [ bes g } a g ] \plet { 1/1 }
+ a2 r
+ { \music{ 'd( | )'c4. g \plet { 2/3 } [ bes a g ] \plet { 1/1 } }
+ \music{ f_"\p"( | )e4._"dolce" bes \plet { 2/3 } [ g ] \plet { 1/1 } } } |
%%16
- { a2. f2. }
+ { a2. f2. } |
%%17
\textstyle "italic"
[ a8._"cresc." 'cis16 ] 'f4. 'e
- \textstyle "roman"
+ \textstyle "roman" |
%%18
- [ 'd8. a16 ] f4. d
+ [ 'd8. a16 ] f4. d |
%%19
%#% 'c\grace\stemup
- \plet { 2/3 } [ bes_"\pp"( ) a bes ] \plet { 1/1 } 'd4. bes
+ \plet { 2/3 } [ bes_"\pp"( ) a bes ] \plet { 1/1 } 'd4. bes |
%%20
- a2.
+ a2. |
%%21
%#% a\grace
- \plet { 2/3 } [ g( )fis g ] \plet { 1/1 } bes4.^> g
+ \plet { 2/3 } [ g( )fis g ] \plet { 1/1 } bes4.^> g |
%%22
-%#% =f2.
- f2.
+%#% =f2. |
+ f2. |
%%23
- [ a8._"\mf" 'cis16 ] 'f4. 'e
+ [ a8._"\mf" 'cis16 ] 'f4. 'e |
%%24
- [ 'd8. a16 ] fis4. d
+ [ 'd8. a16 ] fis4. d |
%%25
%#% 'cis\grace\stemup
- \plet { 2/3 } [ b_"\mf"( ) ais b ] \plet { 1/1 } 'd4. b
+ \plet { 2/3 } [ b_"\mf"( ) ais b ] \plet { 1/1 } 'd4. b |
%%26
- { a2. fis2. }
+ { a2. fis2. } |
%#%\tighten\newline
%%27
- \plet { 2/3 } [ 'e_"\f"( )'dis 'e ] \plet { 1/1 } 'g4. 'cis
+ \plet { 2/3 } [ 'e_"\f"( )'dis 'e ] \plet { 1/1 } 'g4. 'cis |
%%28
- { 'd2. fis2. }
+ { 'd2. fis2. } |
%#%\volta1
%%29
-%#% { bes2(^++++ g2_{mf} }
- { bes2 g2_"\mf" }
-%#% [v { 'd8.( bes8. } { bes16 ) )++ g16 } ]
- { [ 'd8. bes8. } { bes16 g16 ] }
+ { \music { bes2( [ 'd8.( ))g16 ] } \music{ g2_"\mf" [ bes8. bes16 ] } } |
%%30
- { a4. fis4. }
-%#% [ { [ a_. f_.( } { a_. f_. } { a_. ) f_. } ]
- { [ a_. f_. } { a_. f_. } { a_. f_. ] }
+ { \music{ a4. [ a-. a-. a-. ] } \music{ fis4. [ f-.( f-. )f-. ] } } |
%%31
- { a4. g4. }
-%#% [ { a cis_.( } { a e_. } { a )- g_. } ]
- { [ a cis_. } { a e_. } { a g_. ] }
+ { \music{ a4. [ a-. a-. a-. ] } \music{ g4. [ cis-.( e-. )g-. ] } } |
%%32
- { a2 fis2_"\pp" } { a4 fis4 }
+ { a2 fis2_"\pp" } { a4 fis4 } |
%%33
-%#% { b2(^ g2 } [v { 'd8.( b8. } { b16 ) ) g16 } ]
- { b2 g2 } { [ 'd8. b8. } { b16 g16 ] }
+%#% { b2(^ g2 } [v { 'd8.( b8. } { b16 ) ) g16 } ] |
+ { \music{ b2( [ 'd8.( ) )g16 ] } \music{ g2 [ b8. b16 ] } } |
%%34
-%#% { a4. fis4. } [ { a_. fis_.( } { a_. fis_. } { a_. ) fis_. } ]
- { a4. fis4. } { [ a_. fis_. } { a_. fis_. } { a_. fis_. ] }
+%#% { a4. fis4. } [ { a-. fis-.( } { a-. fis-. } { a-. ) fis-. } ] |
+% { a4. fis4. } { [ a-. fis-. } { a-. fis-. } { a-. fis-. ] } |
+ { \music{ a4. [ a-. a-. a-. ] } \music{ fis4. [ fis-.( fis-. )fis-. ] } } |
%%35
-%#% { a4. g4. } [ { a cis_.( } { a e_. } { a )- g_. } ]
- { a4. g4. } { [ a cis_. } { a e_. } { a g_. ] }
+%#% { a4. g4. } [ { a cis-.( } { a e-. } { a )- g-. } ] |
+% { a4. g4. } { [ a cis-. } { a e-. } { a g-. ] } |
+ { \music{ a4. [ a-. a-. a-. ] } \music{ g4. [ cis-.( e-. )g-. ] } } |
%%36
- { a2. fis2. }
+ { a2. fis2. } |
%#%\volta2
%#%:|
%%37
- [ a8. a16 ] [ 'cis8. 'cis16 ] [ 'e8. 'e16 ]
+ [ a8. a16 ] [ 'cis8. 'cis16 ] [ 'e8. 'e16 ] |
%%38
- 'd4( )'cis4 r4
+ 'd4( )'cis4 r4 |
%%39
-%#% > a4. [ 'cis 'e8. >! 'd16 ]
- a4. [ 'cis 'e8. 'd16 ]
+%#% > a4. [ 'cis 'e8. >! 'd16 ] |
+ a4. [ 'cis 'e8. 'd16 ] |
%%40
- 'cis2 r4
+ 'cis2 r4 |
%%41
-%#% { > 'fis4. 'cis4._f } 'e [ 'e( ) 'd >! 'cis ] \plet { 1/1 }
- { 'fis4. 'cis4._"\f" } 'e \plet { 2/3 } [ 'e( )'d 'cis ] \plet { 1/1 }
+%#% { > 'fis4. 'cis4._f } 'e [ 'e( ) 'd >! 'cis ] \plet { 1/1 } |
+ { 'fis4. 'cis4._"\f" } 'e \plet { 2/3 } [ 'e( )'d 'cis ] \plet { 1/1 } |
%%42
- [ b8. 'cis16 ] 'd4^> b r
+ [ b8. 'cis16 ] 'd4^> b r |
%%43
-%#% [^ { b8._{ }_{ }_{ }_{ }_{ }_f g2. } 'cis16 ] 'd4^> b r
- [ b8._"\f" 'cis16 ] 'd4^> b r
+%#% [^ { b8._{ }_{ }_{ }_{ }_{ }_f g2. } 'cis16 ] 'd4^> b r |
+ [ b8._"\f" 'cis16 ] 'd4^> b r |
%%44
-%#% [^ { > b8. fis2 } 'cis16 ] 'd4^> b >! r
- [ b8. 'cis16 ] 'd4^> b r
+%#% [^ { > b8. fis2 } 'cis16 ] 'd4^> b >! r |
+ [ b8. 'cis16 ] 'd4^> b r |
%%45
%#% 'cis\grace\stemup
- \plet { 2/3 } [ b_"\p"( )ais b ] \plet { 1/1 } 'd4. b
+ \plet { 2/3 } [ b_"\p"( )ais b ] \plet { 1/1 } 'd4. b |
%%46
-%#% { =a2. fis2. }
- { a2. fis2. }
+%#% { =a2. fis2. } |
+ { a2. fis2. } |
%%47
- \plet { 2/3 } [ 'e_"\f"( )'dis 'e ] \plet { 1/1 } 'g4.^> 'cis
+ \plet { 2/3 } [ 'e_"\f"( )'dis 'e ] \plet { 1/1 } 'g4.^> 'cis |
%%48
%#% { fis2.(v ='d2.\stemup(^ }
- { fis2. 'd2. }
+% { fis2. 'd2. } |
%%49
%#% { ) 'd4 ) =f2._> } { r4 s4_{decr} } 'd4\stemup
\textstyle "italic"
- 'd4 r4_"decresc." 'd4
- \textstyle "roman"
+ { \multivoice \music{ \stem{ 1 } fis2.( | \stem{ -1 } )f2. } \music { \stem{ 1 } 'd2.( | \stem{ 1 } )'d4 r4_"decresc." 'd4 } }
+ \textstyle "roman" |
%%50
- { bes2. e2. }
+ { bes2. e2. } |
%%51
- { a2. cis2. }
+ { a2. cis2. } |
%%52
- { fis2 d2 } { a4 f4_"\pp" }
+ { fis2 d2 } { a4 f4_"\pp" } |
%%53
-%#% { bes2 g2 } [ { 'd8.^>( bes8. } { ) bes16 g16 } ]
- { bes2 g2 } { [ 'd8.^> bes8. } { bes16 g16 ] }
+%#% { bes2 g2 } [ { 'd8.^>( bes8. } { ) bes16 g16 } ] |
+ { bes2 g2 } { [ 'd8.^> bes8. } { bes16 g16 ] } |
%%54
-%#% { a4. fis4. } [ { a_. fis_.( } { a_. fis_. } { a_. ) fis_. } ]
- { a4. fis4. } { [ a_. fis_. } { a_. fis_. } { a_. fis_. ] }
+%#% { a4. fis4. } [ { a-. fis-.( } { a-. fis-. } { a-. ) fis-. } ] |
+% { a4. fis4. } { [ a-. fis-. } { a-. fis-. } { a-. fis-. ] } |
+ { \music{ a4. [ a-. a-. a-. ] } \music{ fis4. [ fis-.( fis-. )fis-.] } } |
%%55
-%#% { a4. g4. } [ { a cis_.( } { a e_. } { a )- g_. } ]
- { a4. g4. } { [ a cis_. } { a e_. } { a g_. ] }
+%#% { a4. g4. } [ { a cis-.( } { a e-. } { a )- g-. } ] |
+% { a4. g4. } { [ a cis-. } { a e-. } { a g-. ] } |
+ { \music{ a4. [ a-. a-. a-. ] } \music{ g4. [ cis-.( e-. )g-. ] } } |
%%56
\textstyle "italic"
{ a2. fis2._"dim." }
- \textstyle "roman"
+ \textstyle "roman" |
%%57
- { a2. fis2. }
+ { a2. fis2. } |
%%58
- { a2.^\fermata fis2. }
+ { a2.^\fermata fis2. } |
%#%\tighten
$ }
%#%\stemlength2
\duration{ 8 }
%#% { =`f `d2 } `a d `a { d r4 } `a
-% i-d rather type:
-% { \music{ [ `f `a d `a d `a ] } \music{ `d2 r4 } }
-% output little better...
-% { `d2 \music{ [ `f `a d `a } } { \music{ d `a ] } r4 }
- [ `f `a d `a d `a ]
+ { \multivoice \music{ \stem{1}[ `f `a d `a d `a ] } \music { \stem{ -1 } `d2 r4 } } |
%%6
-%#% { `d ``bes2 } `e `g `e { `g r4 } `e
- [ `d `e `g `e `g `e ]
-%%7
-%#% { `cis ``a2 } `e `g `e { `g r4 } `e
- [ `cis `e `g `e `g `e ]
+ { \multivoice \music{\stem{1} [ `d `e `g `e `g `e ] } \music { \stem{ -1 } ``bes2 r4 } } |
+%%7
+% this (one note missing) fails with assertion:
+% lilypond: src/beam.cc:144: void Beam::set_grouping(struct Rhythmic_grouping,
+% struct Rhythmic_grouping): Assertion `cur.children.size() == stems.size()' failed.
+
+%% seems fixed now, HWN
+% { \multivoice \music{ \stem{1}[ `cis `e `g `e `g ] } \music { \stem{ -1 } ``a2 r4 } } |
+ { \multivoice \music{\stem{1} [ `cis `e `g `e `g e ] } \music { \stem{ -1 } ``a2 r4 } } |
%%8
-%#% { `d `d2 } `a d `a { d r4 } `a
- [ `d `a d `a d `a ]
+ { \multivoice \music{ \stem{1}[ `d `a d `a d `a ] } \music { \stem{ -1 } `d2 r4 } } |
%%9
-%#% `a e f e f e
- [ `a e f e f e ]
+ [ `a e f e f e ] |
%%10
-%#% `d `a d `a d `a
- [ `d `a d `a d `a ]
+ [ `d `a d `a d `a ] |
%%11
-%#% [^ { `f `d2 } `a d `a { d r4 } `a ]
- [ `f `a d `a d `a ]
-
+ { \multivoice \music{ \stem{1} [ `f `a d `a d `a ] } \music { \stem{ -1 } `d2 r4 } } |
%%12 == 6
-%#% { `d ``bes2 } `e `g `e { `g r4 } `e
- [ `d `e `g `e `g `e ]
+ { \multivoice \music{ \stem{1}[ `d `e `g `e `g `e ] } \music { \stem{ -1 } ``bes2 r4 } } |
%13
-%#% { `e ``bes2 } `e `g `e { `g r4 } `e
- [ `e `e `g `e `g `e ]
+ { \multivoice \music{ \stem{1}[ `e `e `g `e `g `e ] } \music { \stem{ -1 } ``bes2 r4 } } |
%%14
-%#% { `a `f2 } c f c { f r4 } c
- [ `a c f c f c ]
+ { \multivoice \music{ \stem{1}[ `a c f c f c ] } \music { \stem{ -1 } `f2 r4 } } |
%%15
- [ `c `g `bes `g `bes `g ]
+ [ `c `g `bes `g `bes `g ] |
%%16
- [ ``f `c `f `c `f `c ]
+ [ ``f `c `f `c `f `c ] |
%%17
-%#% [^ { ``a ``a2 } `e `g `e { `g r4 } `e ]
- [ ``a `e `g `e `g `e ]
+ { \multivoice \music{ \stem{1}[ ``a `e `g `e `g `e ] } \music { \stem{ -1 } ``a2 r4 } } |
%%18
-%#% [^ { `d `d2 } `a d `a { d r4 } `a ]
- [ `d `a d `a d `a ]
+ { \multivoice \music{ \stem{1}[ `d `a d `a d `a ] } \music { \stem{ -1 } `d2 r4 } } |
%%19
-%#% s8 % skip space of `grace note
-%#% [^ { ``bes ``bes2 } `f `bes `f { `bes r4 } `f ]
- [ ``bes `f `bes `f `bes `f ]
+ { \multivoice \music{ \stem{1}[ ``bes `f `bes `f `bes `f ] } \music { \stem{ -1 } ``bes2 r4 } } |
%%20
-%#% [^ { ``f ``f2 } `c `f `c { `f r4 } `c ]
- [ ``f `c `f `c `f `c ]
+ { \multivoice \music{ \stem{1}[ ``f `c `f `c `f `c ] } \music { \stem{ -1 } ``f2 r4 } } |
%%21
-%#% s8 % skip space of `grace note
-%#% [ { `e `c } `g c `g c `g ]
- { [ `e `c } `g c `g c `g ]
+%#% s8 % skip space of grace note
+ { [ `e `c } `g c `g c `g ] |
%%22
- [ `f `a c `a `f `c ]
+ [ `f `a c `a `f `c ] |
%%23
-%#% [^ { ``a ``a2 } `e `g `e { `g r4 } `e ]
- [ ``a `e `g `e `g `e ]
+ { \multivoice \music{ \stem{1}[ ``a `e `g `e `g `e ] } \music { \stem{ -1 } ``a2 r4 } } |
%%24
-%#% [^ { `d `d2 } `fis `a `fis { `a r4 } `fis]
- [ `d `fis `a `fis `a `fis ]
+ { \multivoice \music{ \stem{1}[ `d `fis `a `fis `a `fis ] } \music { \stem{ -1 } `d2 r4 } } |
%%25
-%#% s8 % skip space of `grace note
-%#% [^ { ``g ``g2 } `d `b `d { `b r4 } `d]
- [ ``g `d `b `d `b `d ]
+%#% s8 % skip space of grace note
+ { \multivoice \music{ \stem{1}[ ``g `d `b `d `b `d ] } \music { \stem{ -1 } ``g2 r4 } } |
%%26
-%#% [^ { `d `d2 } `a d `a { d r4 } `a]
- [ `d `a d `a d `a ]
+ { \multivoice \music{ \stem{1}[ `d `a d `a d `a ] } \music { \stem{ -1 } `d2 r4 } } |
%%27
- { [ `cis ``a } `e `a `e `a `e ]
+ { [ `cis ``a } `e `a `e `a `e ] |
%%28
- [ `d `a d `a d `a ]
+ [ `d `a d `a d `a ] |
%%29
-%#% [ `d `g @ `bes `g `bes `g ]
- [ `d `g `bes `g `bes `g ]
+%#% [ `d `g @ `bes `g `bes `g ] |
+ [ `d `g `bes `g `bes `g ] |
%#%\volta1
%%30
- [ `d `fis `a `fis `a `fis ]
+ [ `d `fis `a `fis `a `fis ] |
%%31
- [ `a `e `a `e `a `e ]
+ [ `a `e `a `e `a `e ] |
%%32
- [ `d `fis `a `fis `a `fis ]
+ [ `d `fis `a `fis `a `fis ] |
%%33
- [ `d `g `b `g `b `g ]
+ [ `d `g `b `g `b `g ] |
%%34
- [ `d `fis `a `fis `a `fis ]
+ [ `d `fis `a `fis `a `fis ] |
%%35
- [ `a `e `a `e `a `e ]
+ [ `a `e `a `e `a `e ] |
%%36
- [ `d `fis `a `fis `a `fis ]
+ [ `d `fis `a `fis `a `fis ] |
%#%\volta2
%#%:|
%%37
- [ `a `e `g `e ``bes^> `e ]
+ [ `a `e `g `e ``bes^> `e ] |
%%38
- [ `a { e cis `a } { e cis `a } { e cis `a } { e cis `a } { e cis `a ] }
+ [ `a { e cis `a } { e cis `a } { e cis `a } { e cis `a } { e cis `a ] } |
%%39
- [ `a `e `g `e ``bes^> `e ]
+ [ `a `e `g `e ``bes^> `e ] |
%%40
- [ `a { e cis `a } { e cis `a } { e cis `a } { e cis `a } { e cis `a ] }
+ [ `a { e cis `a } { e cis `a } { e cis `a } { e cis `a } { e cis `a ] } |
%%41
- [ `ais `e `gis `e `gis `e ]
+ [ `ais `e `gis `e `gis `e ] |
%%42
- { [ `d ``b } `fis `b `fis `b `fis ]
+ { [ `d ``b } `fis `b `fis `b `fis ] |
%%43
- { [ `e ``b } `g `b `g `b `g ]
+ { [ `e ``b } `g `b `g `b `g ] |
%%44
- { [ `d ``b } `fis `b `fis `b `fis ]
+ { [ `d ``b } `fis `b `fis `b `fis ] |
%%45
-%#% s8 % skip space of `grace note
-%#% [^{ ``g ``g2 } `d `b `d { `b r4 } `d]
- [ ``g `d `b `d `b `d ]
+%#% s8 % skip space of grace note
+ { \multivoice \music{ [ ``g `d `b `d `b `d ] } \music { \stem{ -1 } ``g2 r4 } } |
%%46
-%#% [^ { `d `d2 } `a d `a { d r4 } `a ]
- [ `d `a d `a d `a ]
+ { \multivoice \music{ [ `d `a d `a d `a ] } \music { \stem{ -1 } `d2 r4 } } |
%%47
- { [ `cis ``a } `e `a `e `a `e ]
+ { [ `cis ``a } `e `a `e `a `e ] |
%%48
- [ `d `fis `a `fis `a `fis ]
+ [ `d `fis `a `fis `a `fis ] |
%%49
- [ `d `a d `a d `a ]
+ [ `d `a d `a d `a ] |
%%50
- [ ``g `e `g `e `g `e ]
+ [ ``g `e `g `e `g `e ] |
%%51
- [ `a `e `g `e `g `e ]
+ [ `a `e `g `e `g `e ] |
%%52
- [ ``d `d `fis `d `fis `d ]
+ [ ``d `d `fis `d `fis `d ] |
%%53
- [ `d `g `bes `g `bes `g ]
+ [ `d `g `bes `g `bes `g ] |
%%54
- [ `d `fis `a `fis `a `fis ]
+ [ `d `fis `a `fis `a `fis ] |
%%55
- [ `a `e `g `e `g `e ]
+ [ `a `e `g `e `g `e ] |
%%56
- [ ``d ``a `d ``a `d ``a ]
+ [ ``d ``a `d ``a `d ``a ] |
%%57
[ ``d ``a `d ``a `d ``a ]
%%58
- { `d2.^\fermata ``d2. }
+ { `d2.^\fermata ``d2. } |
$ }
_ _ _
_ _ _
-% 17 ok tot hier
+% 17
Sie-8. ver-16 stehn4. des8
Bus-8. ens16 Seh-4. nen,8
\plet{ 2/3 } Ken- nen8 \plet{ 1/1 } Lieb-4. es-8
%
% a 7 bar fragment
%
-% Public Domain -- by HWN
+% Public Domain -- typed by by HWN
%
dux = music { $
$}
bassdux = music { $
- r1 r1 r1 r1 r1 r1
+ r1 r r r r r
\octave { }
r8 [c16 B] [c8 G] [As c16 B] [c8 d] |
[G c16 B] [c8 d] [F16 G] As4 [G16 F] | $
paper { %unitspace 2.5cm
%geometric 1.4
}
-}
\ No newline at end of file
+}
+
#include "bar.hh"
#include "string.hh"
#include "molecule.hh"
-#include "paper.hh"
+#include "paperdef.hh"
#include "lookup.hh"
NAME_METHOD(Bar);
#include "leastsquares.hh"
#include "pcol.hh"
#include "stem.hh"
-#include "paper.hh"
+#include "paperdef.hh"
#include "lookup.hh"
#include "grouping.hh"
do calculations for breaking problem
*/
#include "break.hh"
-#include "paper.hh"
+#include "paperdef.hh"
#include "linespace.hh"
#include "debug.hh"
#include "scoreline.hh"
#include "idealspacing.hh"
#include "score.hh"
#include "pscore.hh"
-#include "paper.hh"
+#include "paperdef.hh"
#include "sccol.hh"
-//#include "debug.hh"
#include "dimen.hh"
while (j->when() < d + i->when())
j++;
- assert( j->when()== d+i->when());
+ Moment delta_desired = j->when() - (d+i->when());
+ dist += paper_p_->duration_to_dist(delta_desired);
pscore_p_->connect(i->pcol_l_, j->pcol_l_, dist, strength);
}
#include "clefitem.hh"
#include "string.hh"
#include "molecule.hh"
-#include "paper.hh"
+#include "paperdef.hh"
#include "lookup.hh"
#include "clef.hh"
#include "request.hh"
#include "pscore.hh"
-#include "paper.hh"
+#include "paperdef.hh"
#include "complexstaff.hh"
#include "sccol.hh"
#include "debug.hh"
#include "rest.hh"
#include "notehead.hh"
#include "headreg.hh"
-#include "paper.hh"
+#include "paperdef.hh"
#include "complexwalker.hh"
#include "inputscore.hh"
#include "inputstaff.hh"
#include "score.hh"
-#include "paper.hh"
+#include "paperdef.hh"
#include "staff.hh"
void
#include "key.hh"
#include "debug.hh"
#include "molecule.hh"
-#include "paper.hh"
+#include "paperdef.hh"
#include "lookup.hh"
#include "clef.hh"
#include "molecule.hh"
#include "scalar.hh"
#include "lookup.hh"
-#include "paper.hh"
+#include "paperdef.hh"
#include "request.hh"
#include "notehead.hh"
#include "request.hh"
-#include "paper.hh"
+#include "paperdef.hh"
#include "lyricitem.hh"
#include "stem.hh"
#include "molecule.hh"
#include "scalar.hh"
#include "molecule.hh"
#include "meter.hh"
-#include "paper.hh"
+#include "paperdef.hh"
#include "lookup.hh"
NAME_METHOD(Meter);
Meter::Meter(Array<Scalar>a)
get_script_req(int d , Script_def*def)
{
Script_req* script_req_p = new Script_req(d, def);
-// script_req_p->defined_ch_c_l_m = req_defined_ch_c_l;
// all terminal symbols, rather set directly here:
script_req_p->defined_ch_c_l_m = lexer->here_ch_c_l();
return script_req_p;
#include "notehead.hh"
#include "dimen.hh"
#include "debug.hh"
-#include "paper.hh"
+#include "paperdef.hh"
#include "lookup.hh"
#include "molecule.hh"
#include "request.hh"
balltype = 0;
dots = 0;
extremal = 0;
- defined_ch_c_l_m = 0;
}
void
{
balltype = r_req_l->balltype;
dots = r_req_l->dots;
- if ( r_req_l->defined_ch_c_l_m )
- defined_ch_c_l_m = r_req_l->defined_ch_c_l_m;
}
void
+++ /dev/null
-#include <math.h>
-#include "misc.hh"
-#include "paper.hh"
-#include "debug.hh"
-#include "lookup.hh"
-#include "dimen.hh"
-
-
-
-// golden ratio
-const Real PHI = (1+sqrt(5))/2;
-
-// see Roelofs, p. 57
-Real
-Paperdef::duration_to_dist(Moment d)
-{
- return whole_width * pow(geometric_, log_2(d));
-}
-
-Real
-Paperdef::rule_thickness()const
-{
- return 0.4 PT;
-}
-
-Paperdef::Paperdef(Lookup *l)
-{
- lookup_p_ = l;
- linewidth = 15 *CM_TO_PT; // in cm for now
- whole_width = 8 * note_width();
- geometric_ = sqrt(2);
-}
-
-Paperdef::~Paperdef()
-{
- delete lookup_p_;
-}
-Paperdef::Paperdef(Paperdef const&s)
-{
- lookup_p_ = new Lookup(*s.lookup_p_);
- geometric_ = s.geometric_;
- whole_width = s.whole_width;
- outfile = s.outfile;
- linewidth = s.linewidth;
-}
-
-void
-Paperdef::set(Lookup*l)
-{
- assert(l != lookup_p_);
- delete lookup_p_;
- lookup_p_ = l;
-}
-
-Real
-Paperdef::interline() const
-{
- return lookup_p_->ball(4).dim.y.length();
-}
-
-Real
-Paperdef::internote() const
-{
- return lookup_p_->internote();
-}
-Real
-Paperdef::note_width()const
-{
- return lookup_p_->ball(4).dim.x.length( );
-}
-Real
-Paperdef::standard_height() const
-{
- return 20 PT;
-}
-
-void
-Paperdef::print() const
-{
-#ifndef NPRINT
- mtor << "Paper {width: " << print_dimen(linewidth);
- mtor << "whole: " << print_dimen(whole_width);
- mtor << "out: " <<outfile;
- mtor << "}\n";
-#endif
-}
--- /dev/null
+#include <math.h>
+#include "misc.hh"
+#include "paperdef.hh"
+#include "debug.hh"
+#include "lookup.hh"
+#include "dimen.hh"
+
+
+
+// golden ratio
+const Real PHI = (1+sqrt(5))/2;
+
+// see Roelofs, p. 57
+Real
+Paperdef::duration_to_dist(Moment d)
+{
+ if (!d)
+ return 0;
+
+ return whole_width * pow(geometric_, log_2(d));
+}
+
+Real
+Paperdef::rule_thickness()const
+{
+ return 0.4 PT;
+}
+
+Paperdef::Paperdef(Lookup *l)
+{
+ lookup_p_ = l;
+ linewidth = 15 *CM_TO_PT; // in cm for now
+ whole_width = 8 * note_width();
+ geometric_ = sqrt(2);
+}
+
+Paperdef::~Paperdef()
+{
+ delete lookup_p_;
+}
+Paperdef::Paperdef(Paperdef const&s)
+{
+ lookup_p_ = new Lookup(*s.lookup_p_);
+ geometric_ = s.geometric_;
+ whole_width = s.whole_width;
+ outfile = s.outfile;
+ linewidth = s.linewidth;
+}
+
+void
+Paperdef::set(Lookup*l)
+{
+ assert(l != lookup_p_);
+ delete lookup_p_;
+ lookup_p_ = l;
+}
+
+Real
+Paperdef::interline() const
+{
+ return lookup_p_->ball(4).dim.y.length();
+}
+
+Real
+Paperdef::internote() const
+{
+ return lookup_p_->internote();
+}
+Real
+Paperdef::note_width()const
+{
+ return lookup_p_->ball(4).dim.x.length( );
+}
+Real
+Paperdef::standard_height() const
+{
+ return 20 PT;
+}
+
+void
+Paperdef::print() const
+{
+#ifndef NPRINT
+ mtor << "Paper {width: " << print_dimen(linewidth);
+ mtor << "whole: " << print_dimen(whole_width);
+ mtor << "out: " <<outfile;
+ mtor << "}\n";
+#endif
+}
#include "lookup.hh"
#include "misc.hh"
#include "lexer.hh"
-#include "paper.hh"
+#include "paperdef.hh"
#include "inputscore.hh"
#include "main.hh"
#include "keyword.hh"
#include "debug.hh"
#include "lookup.hh"
#include "spanner.hh"
-#include "paper.hh"
+#include "paperdef.hh"
#include "molecule.hh"
#include "dimen.hh"
#include "scoreline.hh"
#include "rest.hh"
#include "dimen.hh"
#include "debug.hh"
-#include "paper.hh"
+#include "paperdef.hh"
#include "lookup.hh"
#include "molecule.hh"
#include "pscore.hh"
#include "staff.hh"
#include "debug.hh"
-#include "paper.hh"
+#include "paperdef.hh"
#include "main.hh"
#include "source.hh"
#include "sourcefile.hh"
pscore_p_->process();
}
-// remove empty cols.
+/**
+ Remove empty cols, preprocess other columns.
+ */
void
Score::clean_cols()
-{
+{
for (iter_top(staffs_,i); i.ok(); i++)
i->clean_cols();
-
+
for (iter_top(cols_,c); c.ok(); ) {
if (!c->pcol_l_->used()) {
delete c.get();
}
}
}
-/*
+
+/**
this sux. We should have Score_column create the appropriate PCol.
Unfortunately, PCols don't know about their position.
*/
#include "dimen.hh"
#include "spanner.hh"
#include "symbol.hh"
-#include "paper.hh"
+#include "paperdef.hh"
#include "pcol.hh"
#include "pscore.hh"
#include "request.hh"
-#include "paper.hh"
+#include "paperdef.hh"
#include "script.hh"
#include "stem.hh"
#include "molecule.hh"
#include "slur.hh"
#include "scalar.hh"
#include "lookup.hh"
-#include "paper.hh"
+#include "paperdef.hh"
#include "notehead.hh"
#include "pcol.hh"
#include "molecule.hh"
s_l->add(j);
now += j->duration;
}
+ get_col(now, false);
}
OK();
set_time_descriptions();
#include "dimen.hh"
#include "spanner.hh"
#include "symbol.hh"
-#include "paper.hh"
+#include "paperdef.hh"
#include "molecule.hh"
#include "pcol.hh"
#include "pscore.hh"
*/
#include "staffsym.hh"
#include "lookup.hh"
-#include "paper.hh"
+#include "paperdef.hh"
#include "debug.hh"
NAME_METHOD(Staff_symbol);
#include "stem.hh"
#include "dimen.hh"
#include "debug.hh"
-#include "paper.hh"
+#include "paperdef.hh"
#include "notehead.hh"
#include "lookup.hh"
#include "molecule.hh"
#include "debug.hh"
#include "lookup.hh"
-#include "paper.hh"
+#include "paperdef.hh"
#include "molecule.hh"
#include "textdef.hh"
#include "request.hh"
-#include "paper.hh"
+#include "paperdef.hh"
#include "textitem.hh"
#include "stem.hh"
#include "molecule.hh"
#include "textspanner.hh"
#include "textdef.hh"
#include "debug.hh"
-#include "paper.hh"
+#include "paperdef.hh"
NAME_METHOD(Text_spanner);