r10888: add 5d
[cl-photo.git] / cameras.lisp
index d914d0bad6eb4f123f6022f218bb5afe86f78e09..5f43170b601c6d7734dbb9b4a1d0f4951a880e54 100644 (file)
 
 (eval-when (:compile-toplevel :load-toplevel :execute)
   (defun make-output-format (w h &key (units :inches))
-    (let ((name (format nil "~Dx~Din" w h)))
+    (let ((name (format nil "~Dx~D~A" w h
+                       (ecase units
+                         (:inches "in")
+                         (:mm "mm")
+                         (:cm "cm")
+                         (:m "m")
+                         (:feet "ft")))))
       (list :format (kmrcl:ensure-keyword name)
-            :output (cons (inches->mm w) (inches->mm h))
+            :output (cons (length->mm w units) (length->mm h units))
             :name name
             :nicks (list (kmrcl:ensure-keyword (format nil "~Dx~D" w h)))))))
 
@@ -43,6 +49,7 @@
     (:format :d60 :make "Canon" :pixels (3072 . 2048) :imager (22.7 . 15.1) :name "D60")
     (:format :10d :make "Canon" :pixels (3072 . 2048) :imager (22.7 . 15.1) :name "10D")
     (:format :20d :make "Canon" :pixels (3456 . 2304) :imager (22.5 . 15) :name "20D")
+    (:format :5d :make "Canon" :pixels (4368 . 2912) :imager (35.8 . 23.9) :name "5D")
     (:format :300d :make "Canon" :pixels (3072 . 2048) :imager (22.7 . 15.1) :name "300D")
     (:format :350d :make "Canon" :pixels (3456 . 2304) :imager (22.2 . 14.8) :name "350D")
     (:format :1d :make "Canon" :pixels (2464 . 1648) :imager (27 . 17.8) :name "1D")
     (:format :d2hs :make "Nikon" :pixels (2464 . 1632) :imager (23.3 . 15.5) :name "D2Hs")
     (:format :d2x :make "Nikon" :pixels (4288 . 2848) :imager (23.7 . 15.6) :name "D2X")
 
+    (:format :cp5900 :make "Nikon" :pixels (2592 . 1944) :imager (7.18 . 5.32) :name "Coolpix 5900")
+    (:format :cp7900 :make "Nikon" :pixels (3072 . 2304) :imager (7.18 . 5.32) :name "Coolpix 7900")
+    (:format :cp8800 :make "Nikon" :pixels (3264 . 2448) :imager (8.8 . 6.6) :name "Coolpix 8800")
+
     (:format :*ist-d :make "Pentax" :pixels (3008 . 2008) :imager (36 . 24)
      :name "*ist D")
     (:format :*ist-ds :make "Pentax" :pixels (3008 . 2008) :imager (36 . 24)
     (:format :sd10 :make "Sigma" :pixels (2268 . 1512) :imager (20.7 . 13.8)
      :name "SD10")
 
+    (:format :1/1.8in :imager (7.18 . 5.32) :name "1/1.8\"")
+    (:format :dx :imager (24 . 16) :name "DX")
     (:format :35mm :imager (36 . 24) :name "35mm")
     
     (:format :6x4.5cm :imager (60 . 45) :name "6x4.5cm" :nicks (:\645))