anchor.diff:     (len     :accessor len     :initarg :len                 :documentation "the length of this frame")
      (version :accessor version :initarg :version             :documentation "the ID3-HEADER version number stored here for convenience")
      (flags   :accessor flags   :initarg :flags :initform nil :documentation "the frame's flags"))
  -  (:documentation "Base class for an ID3 frame.  Used for versions 2.2, 3.3, and 2.4"))
  +  (:documentation "Base class for an ID3 frame.  Used for versions 2.2, 2.3, and 2.4"))
   
   ;;; The frame flags are the same for V22/V23
   (defmacro frame-23-altertag-p  (frame-flags) `(logbitp 15 ,frame-flags))
  
positive.code: ;; Picture data    <binary data>
  (defclass frame-apic (id3-frame)
    ((encoding :accessor encoding)
     (mime     :accessor mime)
     (type     :accessor type)
     (desc     :accessor desc)
     (data     :accessor data))
  
negative.code: 	  (multiple-value-bind (n v) (get-name-value-pair instream (- len 1 (length mime) 1 1) encoding -1)
  		(setf desc n)
  		(setf data v)
  		(log-id3-frame "enoding = ~d, mime = <~a>, type = ~d (~a), desc = <~a>, data = ~a" encoding mime type (get-picture-type type) desc (printable-array data))))))
  
  (defmethod vpprint ((me frame-apic) stream)
    (with-slots (encoding mime type desc data) me
  	(format stream "frame-apic: ~a, encoding ~d, mime type: ~a, picture type: ~d (~a), description <~a>, data: ~a"
  			(vpprint-frame-header me) encoding mime type (get-picture-type type) desc (printable-array data))))
  
  ;;; V23/V24 COMM frames
  ;;; <Header for 'Comment', ID: "COMM">
  