]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.1
authorfred <fred>
Sun, 15 Sep 1996 13:01:06 +0000 (13:01 +0000)
committerfred <fred>
Sun, 15 Sep 1996 13:01:06 +0000 (13:01 +0000)
request.cc [new file with mode: 0644]

diff --git a/request.cc b/request.cc
new file mode 100644 (file)
index 0000000..27029ba
--- /dev/null
@@ -0,0 +1,70 @@
+#include "request.hh"
+Request::Request(Voice_element*v)
+{
+    elt = v;
+    tag = UNKNOWN;
+}
+
+Note_req::Note_req(Voice_element*v):
+    Request(v)
+{
+    name = 'c';
+    octave = 0;
+    accidental = 0;
+    forceacc = false;
+    balltype = 1;
+    dots = 0;
+    tag = NOTE;
+}
+
+Rest_req::Rest_req(Voice_element*v)
+     :Request(v)
+{
+    balltype = 1;
+    dots = 0;
+    tag =REST;    
+}
+
+Request::Request()
+{
+    elt = 0;
+    tag = UNKNOWN;    
+}
+
+Note_req*
+Request::note()
+{
+    assert(tag == NOTE);
+    return (Note_req*)this;
+}
+
+Rest_req*
+Request::rest()
+{
+    assert(tag == REST);
+    return (Rest_req*)this;
+}
+
+
+Real
+wholes(int dur, int dots)
+{
+    Real f = 1.0/Real(dur);
+    Real delta = f;
+
+    while (dots--) {
+       delta /= 2.0;
+       f += delta;
+    }
+    return f;    
+}
+
+Real
+Note_req::duration() const {    
+    return wholes( balltype,dots);
+}
+Real
+Rest_req::duration() const{
+    return wholes( balltype,dots);
+}
+