anchor.diff:             #:make-sound-output-sink
              #:sink-volume
              #:output-sound
  -           #:flush-sink))
  +           #:flush-sink
  +           #:sound-format-error))
   
   (in-package :mezzano.driver.sound)
   
  
positive.code: 
  (defun make-sound-output-sink (&key
                                   (buffer-duration 0.2)
  				 buffer-size-in-samples
                                   (volume 1.0)
                                   (format :pcm-single-float))
    (make-instance 'sound-output-sink
                   :volume volume
                   :format format
                   :buffer (make-array (or buffer-size-in-samples (* (truncate (* 44100 buffer-duration)) 2))
                                       :element-type 'single-float)
                   :buffer-empty t
                   :buffer-head 0
  
negative.code: (defmethod (setf sink-volume) :around (value (sink sound-output-sink))
    (check-type value single-float)
    (call-next-method))
  
  (define-condition sound-format-error (simple-error)
    ((%format :initarg :format
              :reader sound-format-error-format)
     (%channels :initarg :channels
                :reader sound-format-error-channels)
     (%sample-rate :initarg :sample-rate
                   :reader sound-format-error-sample-rate)))
  
  (defvar *cards* '())
  
  