anchor.diff:    "map a mime string returned from magic to a taglib enum")
   
   ;;; Seems more trouble than it is worth, honestly..
  -
  +)
   
   ;;; some error conditions
   (define-condition bad-path () 
  
positive.code: 		  read-only t)))
  
  ;;; convenience macro for opening, operating, and ensuring close of an audio file
  (defmacro with-open-audio-file ((var filename) &body body)
    `(let ((,var (open-audio-file ,filename)))
  	 (unwind-protect
  		  (progn
  			,@body)
  	   (when ,var (close-audio-file ,var)))))
    
  (defmethod print-object ((me audio-file) stream)
    (with-slots (af-path af-type file tag audioproperties modified read-only) me
  
negative.code: ;;; ltag.lisp
  (in-package :cl-user)
  (defpackage :ltag
    (:use :cl :ccl)
    (:export :open-audio-file :close-audio-file :save-audio-file :with-open-audio-file
  		   :bad-path :bad-file :bad-tag :bad-audioproperties
  		   :af-path :af-type :af-title :af-artist :af-album :af-comment :af-genre :af-year :af-track
  		   :af-length :af-bitrate :af-samplerate :af-channels))
  (in-package :ltag)
  
  ;;; load up any shared libraries and interfaces we need
  (eval-when (:compile-toplevel :load-toplevel :execute)
  