anchor.diff:  		   for src = (cl-video:frame cur)
   		   until (cl-video:finish avi) do
   		   ;; pause synching protocol w/video stream
  -		     (bt:acquire-lock (cl-video:pause-lock avi))
  +		     (mezzano.supervisor:acquire-mutex (cl-video:pause-lock avi))
   		   ;; send the audio frame
   		     (mezzano.driver.intel-hda::play-sound src (first mezzano.driver.intel-hda::*cards*))
   		     (loop while (cl-video:pause avi) do (sleep 0.2))
  -		     (bt:release-lock (cl-video:pause-lock avi))
  +		     (mezzano.supervisor:release-mutex (cl-video:pause-lock avi))
   		   ;; advance the cursor lock
  -		     (bt:acquire-lock (cl-video:vacancy-lock (car (cl-video:rcursor audio-rec))))
  -		     (bt:release-lock (cl-video:vacancy-lock cur))
  +		     (mezzano.supervisor:acquire-mutex (cl-video:vacancy-lock (car (cl-video:rcursor audio-rec))))
  +		     (mezzano.supervisor:release-mutex (cl-video:vacancy-lock cur))
   		     (when (eql cur (cl-video:final audio-rec))
   		       (return))
   		     (sleep (/ (cl-video:scale audio-rec) (cl-video:rate audio-rec))))
  
positive.code: 			   ;; Exit when the close button is clicked.
  			   (mezzano.gui.widgets:close-button-clicked ()
  			     (setf (cl-video:pause avi) (not (cl-video:pause avi)))
  			     (bt:acquire-lock (cl-video:pause-lock avi))
  			     (bt:release-lock (cl-video:pause-lock avi))
  			     (return-from main))))
  		 (stream-playback-stop rec)))))))))
  
  
negative.code: (defpackage faux-bordeaux
    (:nicknames #:bt)
    (:import-from #:mezzano.supervisor #:make-thread)
    (:export #:make-thread #:make-lock #:acquire-lock #:release-lock))
  
  (defun faux-bordeaux:acquire-lock (mutex &optional (wait-p t))
    (mezzano.supervisor:acquire-mutex mutex wait-p))
  
  (defun faux-bordeaux:release-lock (mutex)
    (mezzano.supervisor:release-mutex mutex))
  
  (defun faux-bordeaux:make-lock (&optional name)
    (mezzano.supervisor:make-mutex name))
  
  (defpackage mezzano.gui.trentino
    (:use #:cl #:mezzano.gui.font #:cl-video)
  