1 2 #ifndef INSTTYPES_H 3 4 /* Device and Instrument suported types definitions. */ 5 6 /* 7 * Argyll Color Correction System 8 * 9 * Author: Graeme W. Gill 10 * Date: 15/3/2001 11 * 12 * Copyright 2001 - 2013 Graeme W. Gill 13 * All rights reserved. 14 * 15 * This material is licenced under the GNU GENERAL PUBLIC LICENSE Version 2 or later :- 16 * see the License2.txt file for licencing details. 17 * 18 */ 19 20 #ifdef __cplusplus 21 extern "C" { 22 #endif 23 24 25 /* ----------------------------- */ 26 /* Possible types of devices and instruments */ 27 typedef enum { 28 devUnknown = 0, /* Undefined Device */ 29 30 /* Color measurement instruments */ 31 instDTP22, /* Xrite DTP22 (Digital Swatchbook) */ 32 instDTP41, /* Xrite DTP41 */ 33 instDTP51, /* Xrite DTP51 */ 34 instSpectrolino, /* GretagMacbeth Spectrolino */ 35 instSpectroScan, /* GretagMacbeth SpectroScan */ 36 instSpectroScanT, /* GretagMacbeth SpectroScanT */ 37 instSpectrocam, /* Avantes Spectrocam */ 38 instSpecbos1201, /* JETI specbos 1201 */ 39 instSpecbos, /* JETI specbos XXXX */ 40 instSpectraval, /* JETI spectraval 1501, 1511 */ 41 instKleinK10, /* Klein K10-A */ 42 instSMCube, /* SwatchMate Cube */ 43 instDTP20, /* Xrite DTP20 (Pulse) */ 44 instDTP92, /* Xrite DTP92 */ 45 instDTP94, /* Xrite DTP94 (Optix) */ 46 instI1Disp1, /* GretagMacbeth i1 Display 1 */ 47 instI1Disp2, /* GretagMacbeth i1 Display 2 */ 48 instI1Disp3, /* Xrite i1 DisplayPro, ColorMunki Display */ 49 instI1Monitor, /* GretagMacbeth i1 Monitor */ 50 instI1Pro, /* GretagMacbeth i1 Pro */ 51 instI1Pro2, /* X-Rite i1 Pro2 */ 52 instColorMunki, /* X-Rite ColorMunki */ 53 instHCFR, /* Colorimtre HCFR */ 54 instSpyder1, /* Datacolor/ColorVision Spyder1 */ 55 instSpyder2, /* Datacolor/ColorVision Spyder2 */ 56 instSpyder3, /* Datacolor Spyder3 */ 57 instSpyder4, /* Datacolor Spyder4 */ 58 instSpyder5, /* Datacolor Spyder5 */ 59 instHuey, /* GretagMacbeth Huey */ 60 instSmile, /* X-rite Colormunki Smile */ 61 instEX1, /* Image Engineering EX1 */ 62 instColorHug, /* Hughski ColorHug */ 63 instColorHug2, /* Hughski ColorHug2 */ 64 65 66 instFakeDisp = 9998, /* Fake display & instrument device id */ 67 68 /* 3D cLUT box */ 69 // 20000 70 71 /* Video test patern generator box */ 72 // 30000 73 74 /* Printers */ 75 devEpsonR1800 = 40000 /* Epson R1800 printer */ 76 77 } devType; 78 79 /* Aliases for backwards compatibility */ 80 #define instUnknown devUnknown 81 typedef devType instType; 82 typedef devType cLUTType; 83 typedef devType vtpgType; 84 typedef devType printerType; 85 86 struct _icoms; /* Forward declarations */ 87 enum _icom_type; 88 89 /* Utility functions in libinsttypes */ 90 91 /* Given a device type, return the corrsponding */ 92 /* category */ 93 //extern _icom_type inst_category(instType itype); 94 95 /* Given its instrument type, return the matching */ 96 /* short instrument name (static string), */ 97 extern char *inst_sname(instType itype); 98 99 /* Given its instrument type, return the matching */ 100 /* long instrument identification name (static string), */ 101 extern char *inst_name(instType itype); 102 103 104 /* Given an instrument long identification name, return the matching */ 105 /* instType, or instUnknown if not matched */ 106 extern instType inst_enum(char *name); 107 108 109 #ifdef ENABLE_USB 110 /* Given a USB vendor and product ID, */ 111 /* return the matching instrument type, or */ 112 /* instUnknown if none match. */ 113 extern instType inst_usb_match( 114 unsigned int idVendor, 115 unsigned int idProduct, 116 int nep); /* Number of end points (0 for prelim match) */ 117 #endif /* ENABLE_USB */ 118 119 120 /* Should deprecate the following. It should be replaced with a */ 121 /* method in the instrument class that returns its configured spectrum, */ 122 /* and the spectrum should be embedded in the .ti3 file, not the instrument */ 123 /* name. */ 124 125 /* Fill in an instruments illuminant spectrum. */ 126 /* Return 0 on sucess, 1 if not not applicable. */ 127 extern int inst_illuminant(xspect *sp, instType itype); 128 129 130 #ifdef __cplusplus 131 } 132 #endif 133 134 #define INSTTYPES_H 135 #endif /* INSTTYPES_H */ 136 137