File: CheckForIncompleteMeasures.scm

package info (click to toggle)
denemo 2.6.49-0.2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 66,916 kB
  • sloc: ansic: 94,587; lisp: 38,713; xml: 22,675; python: 1,930; sh: 1,239; makefile: 642; yacc: 288; sed: 93
file content (26 lines) | stat: -rw-r--r-- 977 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
;; CheckForIncompleteMeasures
(d-PushPosition)
(d-MoveToBeginning)
(while (d-MoveToStaffUp))
(let loop ()
        (while (and (d-Directive-voice? "SubstituteMusic") (d-MoveToStaffDown)))
        (if (not  (d-Directive-voice? "SubstituteMusic"))
            (begin
            (while (and (AcceptableDurationMeasure?)  (d-MoveToMeasureRight))
        
              (if (and (AcceptableDurationMeasure?) (d-MoveToStaffDown))
              (begin 
                (while (and (d-Directive-voice? "SubstituteMusic") (d-MoveToStaffDown)))
                (d-MoveToBeginning)
                (if (not (d-Directive-voice? "SubstituteMusic"))
                    (loop))))))))
     
(if (or (d-Directive-voice? "SubstituteMusic") (AcceptableDurationMeasure?))
    (begin
      (d-PopPosition)
      (d-WarningDialog (_ "All measures appear complete.")))
    (begin 
      (d-PopPushPosition)
      (d-PopPosition)
      (d-WarningDialog (_ "This measure has the wrong duration."))))