diff options
-rw-r--r-- | guile/nanolight/fixture.scm | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/guile/nanolight/fixture.scm b/guile/nanolight/fixture.scm index b532e8b..ff45c22 100644 --- a/guile/nanolight/fixture.scm +++ b/guile/nanolight/fixture.scm @@ -104,12 +104,24 @@ (fixture-address-string fix))) +(define (home-attribute attr) + (let ((attr-home-value (home-value attr))) + (set-value-func! attr (lambda () attr-home-value)))) + + +(define (home-all-attributes fix) + (for-each + home-attribute + (attributes fix))) + + (define (patch-fixture output attributes universe start-addr friendly-name) (let ((new-fixture (make <fixture> #:attributes (copy-tree attributes) #:uni universe #:sa start-addr #:friendly-name friendly-name))) + (home-all-attributes new-fixture) (output 'add-fixture new-fixture) new-fixture)) |