anchor.diff:  (defun set-pathname-encoding-for-osx ()   (set-pathname-encoding :utf-8))
   (defun set-pathname-encoding-for-linux () (set-pathname-encoding nil))
   
  -(defun do-audio-file (&key (file *song-m4a*)
  -                           (func #'abstract-tag:show-tags))
  +(defun do-audio-file (&optional (file *song-m4a*)
  +                                (func #'abstract-tag:show-tags))
     "Parse one audio file and display the tags"
     (awhen (open-audio-file file)
       (funcall func it)))
  
positive.code:             mp3-count mp4-count flac-count other-count
              (+ mp3-count mp4-count flac-count other-count))))
  
  (defun do-audio-dir (&key (dir "/home/markv/Music/Queen")
                            (file-system-encoding :utf-8)
                            (func #'abstract-tag:show-tags))
    "Walk :DIR and FUNCALL specified function for each file audio found."
    (set-pathname-encoding file-system-encoding)
    (let ((file-counts (make-file-counts)))
      (with-slots (mp3-count flac-count mp4-count other-count) file-counts
        (cl-fad:walk-directory dir
                               (lambda (f)
                                 (do-audio-file :file f
                                   :func (lambda (s)
                                           (cond ((typep s 'id3:mp3-file)
                                                  (incf mp3-count))
                                                 ((typep s 'flac:flac-file)
                                                  (incf flac-count))
                                                 ((typep s 'm4a:mp4-file)
                                                  (incf mp4-count))
                                                 ((null s)
                                                  (incf other-count)))
                                           (when (and (not (null s)) func)
                                             (funcall func s)))))))
      file-counts))
  
  (defun time-test (&key (dir "/home/markv/Music/Queen")
                         (file-system-encoding :utf-8) (do-audio-processing t))
    "Time parsing of DIR."
    (set-pathname-encoding file-system-encoding)
    (let ((audio-streams:*get-audio-info* do-audio-processing))
      (time (format t "~a~%"
                    (do-audio-dir :dir dir
                      :file-system-encoding file-system-encoding :func nil)))))
  
  (defun insert-into-ht (id ht)
    (multiple-value-bind (value foundp)
  
negative.code:     mp4-count
      other-count)
  
    (defun mp-do-audio-dir (&optional (dir "/home/markv/Music/Queen")
                                      (func nil))
      "Walk :DIR and FUNCALL specified function for each file audio found."
      (let ((channel      (make-instance 'chanl:unbounded-channel))
            (dead-channel (make-instance 'chanl:unbounded-channel))
            (mp3-count   0)
  