;;;Replace end repeat start repeat with EndStartRepeat (while (d-NextObject) (if (and (d-DirectiveGetForTag-standalone "RepeatEnd") (d-NextObject) (d-DirectiveGetForTag-standalone "RepeatStart")) (begin (d-DeleteObject) (d-DeletePreviousObject) (d-RepeatEndStart)))) ;;two successive notes of equal pitch both begin slur should be tie (while (d-NextObject) (if (and (d-IsSlurStart) (d-NextObject) (d-IsSlurStart)) (let ((note (d-GetNote))) (d-ToggleBeginSlur) (d-PrevObject) (if (equal? note (d-GetNote)) (begin (d-ToggleBeginSlur) (d-ToggleTie)))))) ;;; replace rests that are for whole measure with whole-measure rests. (while (d-NextObject) (if (Rest?) (let ((duration (d-GetDurationInTicks))) (if (= duration (* 1536 (GetPrevailingTimeSig #t))) (begin (d-DeleteObject) (DenemoWholeMeasureRestCommand))))))