Plaster

commonlisp
(ql:quickload :harmony-coreaudio) (let* ((context (make-instance 'harmony:mixing-context)) (segment (make-instance 'harmony-coreaudio:coreaudio-drain :context context))) (setf (cl-mixed:input 0 segment) (cl-mixed:make-buffer (harmony:buffersize context))) (setf (cl-mixed:input 1 segment) (cl-mixed:make-buffer (harmony:buffersize context))) (cl-mixed:start segment) (unwind-protect (loop (cl-mixed:mix (harmony:samples context) segment)) (cl-mixed:end segment)))