(define at (lambda (fix level) (if (list? fix) (for-each (lambda (q) (at q level)) fix) (set-intensity (find-fixture fixtures fix) level)))) (define find-fixture (lambda (fixtures name) (cond [(null? fixtures) #f] [(eq? (fixture-name (car fixtures)) name) (car fixtures)] [else (find-fixture (cdr fixtures) name)]))) (define find-fixture-class (lambda (fixture-classes name) (cond [(null? fixture-classes) #f] [(string-ci=? (fixture-class-name (car fixture-classes)) name) (car fixture-classes)] [else (find-fixture-class (cdr fixture-classes) name)]))) #! (let ([robe-dl7s-mode1 (find-fixture-class fixture-class-library "Robe Robin DL7S Profile Mode 1")]) (if robe-dl7s-mode1 (begin (patch-fixture 'mh1 robe-dl7s-mode1 0 1) (patch-fixture 'mh2 robe-dl7s-mode1 0 52) (patch-fixture 'mh3 robe-dl7s-mode1 0 103) (patch-fixture 'mh4 robe-dl7s-mode1 0 154)) (display "DL7S not available\n"))) !# (let ([dimmer (find-fixture-class fixture-class-library "Generic dimmer")]) (if dimmer (patch-fixture 'dim1 dimmer 0 1) (display "Dimmer class not available\n")))