-% erg lang
+ritme = rhythmstaff {
+ voice { $ c2 r32 r32 r16 r8 r4 c2 c2 c2 c2 c2
+ c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 $ }
+}
+melody=
+melodicstaff {
+ voice { $ c2.. r8 r4 r8 r16 r32 r32 d8 e8 f8 g8 a8 b8 'c8 c8 r4 c4 c4 c4 c4 c4 c4 $ }
+}
score {
paper {
unitspace 3 cm
}
- rhythmstaff {
- voice { $ c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 $ }
- }
- rhythmstaff {
- voice { $ c2.. r8 c4 r4 c4 r4 c4 r4 c4 r4 c4 r4 c4 r4 c4 r4
- r2 r4 r1
- $ }
- }
+ staff { ritme }
+ staff { melody }
commands {
meter 4 4
skip 3:0
meter 2 4
- skip 8:0
+ skip 19:0
}
}
+
+
--- /dev/null
+#include "melodicstaff.hh"
+#include "paper.hh"
+#include "molecule.hh"
+#include "linestaff.hh"
+#include "rhythmstaff.hh"
+#include "sccol.hh"
+
+void
+Melodic_staff::set_output(PScore*ps)
+{
+ theline = new Linestaff(5,ps);
+ Simple_staff::set_output(ps);
+}
+
+void
+Melodic_column::typeset_command(Command *com, int breakst)
+{
+ Item *i = create_command_item(com);
+ typeset_item(i, breakst);
+}
+
+void
+Melodic_column::typeset_req(Request *rq)
+{
+ Item *i = create_req_item(rq);
+ if (rq->note()) {
+ int h = rq->note()->height();
+ Real dy = staff_->paper()->interline()/2;
+ i->output->translate(Offset(0,(h-2)*dy));
+ }
+ typeset_item(i);
+}
+
+/*
+ creation
+ */
+Staff *
+get_new_melodicstaff()
+{
+ return new Melodic_staff;
+}
+
+
+Staff_column*
+Melodic_staff::create_col(Score_column*s)
+{
+ return new Melodic_column(s,this);
+}
+
+Melodic_staff*
+Melodic_staff::clone()const
+{
+ return new Melodic_staff(*this);
+}
+
+
+
+symboltables
# index TeXstring, xmin xmax ymin ymax
# be careful with editing this:
# the "index" entry is hardwired into lilypond.
table balls
- 1 \wholeball -5pt 5pt -1pt 1pt
- 2 \halfball -5pt 5pt -1pt 1pt
- 4 \quartball -5pt 5pt -1pt 1pt
+ 1 \wholeball -5pt 5pt -2.5pt 2.5pt
+ 2 \halfball -5pt 5pt -2.5pt 2.5pt
+ 4 \quartball -5pt 5pt -2.5pt 2.5pt
end
table bars
empty \emptybar 0pt 0pt 0pt 0pt
- | \maatstreep 0pt 1pt -8pt 8pt
- || \finishbar 0pt 2pt -8pt 8pt
+ | \maatstreep 0pt 1pt -12pt 12pt
+ || \finishbar 0pt 2pt -12pt 12pt
end
table rests
1 \wholerest -5pt 1pt -1pt 1pt
2 \halfrest -5pt 1pt -1pt 1pt
- 4 \cquartrest -5pt 2pt -5pt 5pt
- 8 \ceighthrest -5pt 1pt -1pt 1pt
- 16 \csixteenthrest -5pt 1pt -1pt 1pt
- 32 \cthirtysecondrest -1pt 1pt -1pt 1pt
+ 4 \quartrest -5pt 2pt -5pt 5pt
+ 8 \eighthrest 0pt 5pt 0pt 8pt
+ 16 \sixteenthrest 0pt 6pt 0pt 12pt
+ 32 \thirtysecondrest 0pt 6pt 0pt 16pt
end
table meters
1 \lsingledot 0pt 8pt -1pt 1pt
2 \ldoubledot 0pt 12pt -1pt 1pt
3 \ltripledot 0pt 16pt -1pt 1pt
-end
+end
+end # symboltables
\ No newline at end of file