   (interactive "@d")
   (let ((button (get-char-property pos 'button)))
     (if button
-        (widget-apply-action
-         (widget-value-set
-          button
-          (- pos (overlay-start (widget-get button :button-overlay))))
-         event)
+	(widget-apply-action
+	 (widget-value-set
+	  button
+	  (- pos (overlay-start (widget-get button :button-overlay))))
+	 event)
       (let ((command (lookup-key widget-global-map (this-command-keys))))
         (when (commandp command)
           (call-interactively command))))))

    "ctrl-status"
    "ctrl-register"
    ;; OBJECT MAPS
                                        ; Unimplemented currently...
    )
  "Available Ecasound IAM commands.")
  

This is done using the ecasound-cop widget."
  (interactive)
  (let ((cb (current-buffer))
	(chains (eci-cop-status)))
    (switch-to-buffer-other-window (generate-new-buffer "*cop-edit*"))
    (ecasound-cop-edit-mode)
    (mapc
     (lambda (chain)
       (widget-insert (format "Chain %s:\n" (car chain)))
       (mapc
	(lambda (cop)
	  (apply 'widget-create 'ecasound-cop :buffer cb cop))
	(cdr chain)))
     chains)
    (widget-setup)
    (goto-char (point-min))))
