MDItem.pas 65 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367
  1. { MDItem.h
  2. Copyright (c) 2003-2010, Apple Inc. All rights reserved.
  3. }
  4. {
  5. Modified for use with Free Pascal
  6. Version 308
  7. Please report any bugs to <[email protected]>
  8. }
  9. {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
  10. {$mode macpas}
  11. {$modeswitch cblocks}
  12. {$packenum 1}
  13. {$macro on}
  14. {$inline on}
  15. {$calling mwpascal}
  16. {$IFNDEF FPC_DOTTEDUNITS}
  17. unit MDItem;
  18. {$ENDIF FPC_DOTTEDUNITS}
  19. interface
  20. {$setc UNIVERSAL_INTERFACES_VERSION := $0400}
  21. {$setc GAP_INTERFACES_VERSION := $0308}
  22. {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
  23. {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
  24. {$endc}
  25. {$ifc defined CPUPOWERPC and defined CPUI386}
  26. {$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
  27. {$endc}
  28. {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
  29. {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
  30. {$endc}
  31. {$ifc not defined __ppc__ and defined CPUPOWERPC32}
  32. {$setc __ppc__ := 1}
  33. {$elsec}
  34. {$setc __ppc__ := 0}
  35. {$endc}
  36. {$ifc not defined __ppc64__ and defined CPUPOWERPC64}
  37. {$setc __ppc64__ := 1}
  38. {$elsec}
  39. {$setc __ppc64__ := 0}
  40. {$endc}
  41. {$ifc not defined __i386__ and defined CPUI386}
  42. {$setc __i386__ := 1}
  43. {$elsec}
  44. {$setc __i386__ := 0}
  45. {$endc}
  46. {$ifc not defined __x86_64__ and defined CPUX86_64}
  47. {$setc __x86_64__ := 1}
  48. {$elsec}
  49. {$setc __x86_64__ := 0}
  50. {$endc}
  51. {$ifc not defined __arm__ and defined CPUARM}
  52. {$setc __arm__ := 1}
  53. {$elsec}
  54. {$setc __arm__ := 0}
  55. {$endc}
  56. {$ifc not defined __arm64__ and defined CPUAARCH64}
  57. {$setc __arm64__ := 1}
  58. {$elsec}
  59. {$setc __arm64__ := 0}
  60. {$endc}
  61. {$ifc defined cpu64}
  62. {$setc __LP64__ := 1}
  63. {$elsec}
  64. {$setc __LP64__ := 0}
  65. {$endc}
  66. {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
  67. {$error Conflicting definitions for __ppc__ and __i386__}
  68. {$endc}
  69. {$ifc defined __ppc__ and __ppc__}
  70. {$setc TARGET_CPU_PPC := TRUE}
  71. {$setc TARGET_CPU_PPC64 := FALSE}
  72. {$setc TARGET_CPU_X86 := FALSE}
  73. {$setc TARGET_CPU_X86_64 := FALSE}
  74. {$setc TARGET_CPU_ARM := FALSE}
  75. {$setc TARGET_CPU_ARM64 := FALSE}
  76. {$setc TARGET_OS_MAC := TRUE}
  77. {$setc TARGET_OS_IPHONE := FALSE}
  78. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  79. {$setc TARGET_OS_EMBEDDED := FALSE}
  80. {$elifc defined __ppc64__ and __ppc64__}
  81. {$setc TARGET_CPU_PPC := FALSE}
  82. {$setc TARGET_CPU_PPC64 := TRUE}
  83. {$setc TARGET_CPU_X86 := FALSE}
  84. {$setc TARGET_CPU_X86_64 := FALSE}
  85. {$setc TARGET_CPU_ARM := FALSE}
  86. {$setc TARGET_CPU_ARM64 := FALSE}
  87. {$setc TARGET_OS_MAC := TRUE}
  88. {$setc TARGET_OS_IPHONE := FALSE}
  89. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  90. {$setc TARGET_OS_EMBEDDED := FALSE}
  91. {$elifc defined __i386__ and __i386__}
  92. {$setc TARGET_CPU_PPC := FALSE}
  93. {$setc TARGET_CPU_PPC64 := FALSE}
  94. {$setc TARGET_CPU_X86 := TRUE}
  95. {$setc TARGET_CPU_X86_64 := FALSE}
  96. {$setc TARGET_CPU_ARM := FALSE}
  97. {$setc TARGET_CPU_ARM64 := FALSE}
  98. {$ifc defined iphonesim}
  99. {$setc TARGET_OS_MAC := FALSE}
  100. {$setc TARGET_OS_IPHONE := TRUE}
  101. {$setc TARGET_IPHONE_SIMULATOR := TRUE}
  102. {$elsec}
  103. {$setc TARGET_OS_MAC := TRUE}
  104. {$setc TARGET_OS_IPHONE := FALSE}
  105. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  106. {$endc}
  107. {$setc TARGET_OS_EMBEDDED := FALSE}
  108. {$elifc defined __x86_64__ and __x86_64__}
  109. {$setc TARGET_CPU_PPC := FALSE}
  110. {$setc TARGET_CPU_PPC64 := FALSE}
  111. {$setc TARGET_CPU_X86 := FALSE}
  112. {$setc TARGET_CPU_X86_64 := TRUE}
  113. {$setc TARGET_CPU_ARM := FALSE}
  114. {$setc TARGET_CPU_ARM64 := FALSE}
  115. {$ifc defined iphonesim}
  116. {$setc TARGET_OS_MAC := FALSE}
  117. {$setc TARGET_OS_IPHONE := TRUE}
  118. {$setc TARGET_IPHONE_SIMULATOR := TRUE}
  119. {$elsec}
  120. {$setc TARGET_OS_MAC := TRUE}
  121. {$setc TARGET_OS_IPHONE := FALSE}
  122. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  123. {$endc}
  124. {$setc TARGET_OS_EMBEDDED := FALSE}
  125. {$elifc defined __arm__ and __arm__}
  126. {$setc TARGET_CPU_PPC := FALSE}
  127. {$setc TARGET_CPU_PPC64 := FALSE}
  128. {$setc TARGET_CPU_X86 := FALSE}
  129. {$setc TARGET_CPU_X86_64 := FALSE}
  130. {$setc TARGET_CPU_ARM := TRUE}
  131. {$setc TARGET_CPU_ARM64 := FALSE}
  132. {$setc TARGET_OS_MAC := FALSE}
  133. {$setc TARGET_OS_IPHONE := TRUE}
  134. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  135. {$setc TARGET_OS_EMBEDDED := TRUE}
  136. {$elifc defined __arm64__ and __arm64__}
  137. {$setc TARGET_CPU_PPC := FALSE}
  138. {$setc TARGET_CPU_PPC64 := FALSE}
  139. {$setc TARGET_CPU_X86 := FALSE}
  140. {$setc TARGET_CPU_X86_64 := FALSE}
  141. {$setc TARGET_CPU_ARM := FALSE}
  142. {$setc TARGET_CPU_ARM64 := TRUE}
  143. {$ifc defined ios}
  144. {$setc TARGET_OS_MAC := FALSE}
  145. {$setc TARGET_OS_IPHONE := TRUE}
  146. {$setc TARGET_OS_EMBEDDED := TRUE}
  147. {$elsec}
  148. {$setc TARGET_OS_MAC := TRUE}
  149. {$setc TARGET_OS_IPHONE := FALSE}
  150. {$setc TARGET_OS_EMBEDDED := FALSE}
  151. {$endc}
  152. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  153. {$elsec}
  154. {$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ nor __arm64__ is defined.}
  155. {$endc}
  156. {$ifc defined __LP64__ and __LP64__ }
  157. {$setc TARGET_CPU_64 := TRUE}
  158. {$elsec}
  159. {$setc TARGET_CPU_64 := FALSE}
  160. {$endc}
  161. {$ifc defined FPC_BIG_ENDIAN}
  162. {$setc TARGET_RT_BIG_ENDIAN := TRUE}
  163. {$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
  164. {$elifc defined FPC_LITTLE_ENDIAN}
  165. {$setc TARGET_RT_BIG_ENDIAN := FALSE}
  166. {$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
  167. {$elsec}
  168. {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
  169. {$endc}
  170. {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
  171. {$setc CALL_NOT_IN_CARBON := FALSE}
  172. {$setc OLDROUTINENAMES := FALSE}
  173. {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
  174. {$setc OPAQUE_UPP_TYPES := TRUE}
  175. {$setc OTCARBONAPPLICATION := TRUE}
  176. {$setc OTKERNEL := FALSE}
  177. {$setc PM_USE_SESSION_APIS := TRUE}
  178. {$setc TARGET_API_MAC_CARBON := TRUE}
  179. {$setc TARGET_API_MAC_OS8 := FALSE}
  180. {$setc TARGET_API_MAC_OSX := TRUE}
  181. {$setc TARGET_CARBON := TRUE}
  182. {$setc TARGET_CPU_68K := FALSE}
  183. {$setc TARGET_CPU_MIPS := FALSE}
  184. {$setc TARGET_CPU_SPARC := FALSE}
  185. {$setc TARGET_OS_UNIX := FALSE}
  186. {$setc TARGET_OS_WIN32 := FALSE}
  187. {$setc TARGET_RT_MAC_68881 := FALSE}
  188. {$setc TARGET_RT_MAC_CFM := FALSE}
  189. {$setc TARGET_RT_MAC_MACHO := TRUE}
  190. {$setc TYPED_FUNCTION_POINTERS := TRUE}
  191. {$setc TYPE_BOOL := FALSE}
  192. {$setc TYPE_EXTENDED := FALSE}
  193. {$setc TYPE_LONGLONG := TRUE}
  194. {$IFDEF FPC_DOTTEDUNITS}
  195. uses MacOsApi.MacTypes,MacOsApi.CFBase,MacOsApi.CFString,MacOsApi.CFDictionary,MacOsApi.CFArray;
  196. {$ELSE FPC_DOTTEDUNITS}
  197. uses MacTypes,CFBase,CFString,CFDictionary,CFArray;
  198. {$ENDIF FPC_DOTTEDUNITS}
  199. {$endc} {not MACOSALLINCLUDE}
  200. {$ifc TARGET_OS_MAC}
  201. {$ALIGN POWER}
  202. {!
  203. @header MDItem
  204. MDItem is a CF-compliant object, and follows the CF conventions,
  205. and can be used with the CF polymorphic functions, like CFRetain().
  206. An MDItemRef represents a file in the Metadata database, and the
  207. metadata associated with the file.
  208. Undefined Behavior
  209. For functions which take an MDItemRef parameter, if this
  210. parameter is not a valid MDItemRef, the behavior is
  211. undefined. NULL is not a valid MDItemRef.
  212. For functions which take CF*Ref parameters, such as
  213. CFStringRef and CFArrayRef, if this parameter is not a
  214. valid CF object of the correct type, the behavior is
  215. undefined. NULL is not a valid CF*Ref.
  216. A NULL CF*Ref parameter value is allowed only where
  217. explicitly noted below.
  218. Additional constraints or allowed values on parameters
  219. are noted with the specific functions.
  220. }
  221. {!
  222. @typedef MDItemRef
  223. This is the type of a reference to MDItems.
  224. }
  225. type
  226. MDItemRef = ^__MDItem; { an opaque type }
  227. __MDItem = record end;
  228. {!
  229. @function MDItemGetTypeID
  230. Returns the type identifier of all MDItem instances.
  231. }
  232. function MDItemGetTypeID: CFTypeID; external name '_MDItemGetTypeID';
  233. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  234. {!
  235. @function MDItemCreate
  236. Returns an metadata item for the given path.
  237. @param allocator The CFAllocator which should be used to allocate
  238. memory for the query and its sub-storage. This
  239. parameter may be NULL in which case the current default
  240. CFAllocator is used.
  241. @param path A path to the file for which to create the MDItem.
  242. [[Currently, the path must exist. MDItemRefs may or
  243. may not be uniqued. Use CFEqual() to compare them.]]
  244. @result An MDItemRef, or NULL on failure.
  245. }
  246. function MDItemCreate( allocator: CFAllocatorRef; path: CFStringRef ): MDItemRef; external name '_MDItemCreate';
  247. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  248. {!
  249. @function MDItemCreateWithURL
  250. Returns an metadata item for the given path.
  251. @param allocator The CFAllocator which should be used to allocate
  252. memory for the query and its sub-storage. This
  253. parameter may be NULL in which case the current default
  254. CFAllocator is used.
  255. @param url A url to the file for which to create the MDItem.
  256. [[Currently, the file must exist. MDItemRefs may or
  257. may not be uniqued. Use CFEqual() to compare them.]]
  258. @result An MDItemRef, or NULL on failure.
  259. }
  260. function MDItemCreateWithURL( allocator: CFAllocatorRef; url: CFURLRef ): MDItemRef; external name '_MDItemCreateWithURL';
  261. (* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *)
  262. {!
  263. @function MDItemsCreateWithURLs
  264. Returns metadata items for the given urls.
  265. @param allocator The CFAllocator which should be used to allocate
  266. memory for the array. This parameter may be NULL in which case the current default
  267. CFAllocator is used.
  268. @param urls A CFArray of urls to the file for which to create the MDItem.
  269. @result A CFArrayRef of MDItemRefs, or NULL on failure. Missing items will have kCFNull entries in the result array.
  270. }
  271. function MDItemsCreateWithURLs( allocator: CFAllocatorRef; urls: CFArrayRef ): CFArrayRef; external name '_MDItemsCreateWithURLs';
  272. (* AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER *)
  273. {!
  274. @function MDItemCopyAttribute
  275. Returns the value of the given attribute for the item.
  276. @param item The item to be interrogated.
  277. @param name The name of the desired attribute.
  278. @result A CFTypeRef, or NULL on failure, or if the attribute
  279. does not exist, of if the attribute is not readable.
  280. }
  281. function MDItemCopyAttribute( item: MDItemRef; name: CFStringRef ): CFTypeRef; external name '_MDItemCopyAttribute';
  282. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  283. {!
  284. @function MDItemCopyAttributes
  285. Returns the values of the given attributes for the item.
  286. @param item The item to be interrogated.
  287. @param names A CFArray of the names of the desired attributes.
  288. @result A CFDictionary where the keys are the attribute names,
  289. and the values are the attribute values, or NULL on
  290. failure. If an attribute does not exist, or is
  291. unreadable, there will be no key-value pair for it
  292. in the dictionary.
  293. }
  294. function MDItemCopyAttributes( item: MDItemRef; names: CFArrayRef ): CFDictionaryRef; external name '_MDItemCopyAttributes';
  295. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  296. {!
  297. @function MDItemCopyAttributeList
  298. Returns the values of the given attributes for the item.
  299. @param item The item to be interrogated.
  300. @param ... A comma-separated varargs list of the string
  301. attribute names.
  302. @result A CFDictionary where the keys are the attribute names,
  303. and the values are the attribute values, or NULL on
  304. failure. If an attribute does not exist, or is
  305. unreadable, there will be no key-value pair for
  306. it in the dictionary.
  307. }
  308. { GK NOTE: list must be NULL terminated }
  309. function MDItemCopyAttributeList( item: MDItemRef; ... { CFStringRef names } ): CFDictionaryRef; external name '___MDItemCopyAttributesEllipsis1';
  310. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  311. {!
  312. @function MDItemCopyAttributeNames
  313. Returns an array of the attribute names existing in the item.
  314. @param item The item to be interrogated.
  315. @result A CFArray of CFString attribute names, or NULL on
  316. failure.
  317. }
  318. function MDItemCopyAttributeNames( item: MDItemRef ): CFArrayRef; external name '_MDItemCopyAttributeNames';
  319. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  320. {!
  321. @function MDItemsCopyAttributes
  322. Returns metadata for the given items.
  323. @param items A CFArray of MDItemRefs to items for which to fetch data
  324. @param names A CFArray of attribute names for which to fetch data.
  325. The attribute names are CFStrings
  326. @result A CFArrayRef, or NULL on failure. Each entry in the array is either kCFNull,
  327. if the item is not accessible, or a CFArray of attribute values.
  328. If an attribute is not available, there will be a kCFNull in its slot in the nested array.
  329. }
  330. function MDItemsCopyAttributes( items: CFArrayRef; names: CFArrayRef ): CFArrayRef; external name '_MDItemsCopyAttributes';
  331. (* AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER *)
  332. { List of well-known attributes }
  333. {!
  334. @constant kMDItemAttributeChangeDate
  335. This is the date that the last metadata attribute was changed.
  336. @constant kMDItemContentType
  337. UTI Type pedigree for a file for example a jpeg file will have the
  338. following ItemContentType public.jpeg/public.image/public.data
  339. the kMDItemContentType is set by the sniffer, any changes to this
  340. value will get over written by the sniffer when the contents of
  341. this MDItemRef changes. Type is a CFStringRef
  342. @constant kMDItemKeywords
  343. Represents keywords associated with this particular
  344. MDItemRef. Example Keywords might be Birthday,Important etc. Type
  345. is a CFArray of CFStrings
  346. @constant kMDItemTitle
  347. The title of this particular MDItemRef. Title of the document, or
  348. it could be the title of this mp3 or a subject of a mail
  349. message. Type is a CFString
  350. @constant kMDItemAuthors
  351. The list of author/authors that has worked on this file. There
  352. could be 0 or more authors of a particular file. The order of the
  353. authors in the array is preserved, but is not intended to represent
  354. the main author or relative importance of the authors. Type is a
  355. CFArray of CFStrings.
  356. @constant kMDItemEditors
  357. The list of editor/editors that has worked on this file. There
  358. could be 0 or more editors of a particular file. The order of the
  359. editors in the array is preserved, but is not intended to represent
  360. the main editor or relative importance of the editors. Type is a
  361. CFArray of CFStrings.
  362. @constant kMDItemParticipants
  363. The list of people who are visible in an image or movie or
  364. written about in a document. Type is CFArray of CFStrings.
  365. @constant kMDItemProjects
  366. The list of projects etc that this file is part of. For example if
  367. you were working on a movie, all of the movie files could be marked
  368. as belonging to the project "My movie" then a query could be done
  369. kMDItemProjects = "My movie" and all of the related files would
  370. show up. Type is a CFArray of CFStrings
  371. @constant kMDItemComment
  372. This is a comment related to a file, and can be any random
  373. string. Type is a CFString
  374. @constant kMDItemCopyright
  375. This is the copyright of the content. Type is a CFString
  376. @constant kMDItemDownloadedDate
  377. This is the date that the file was last downloaded / received.
  378. @constant kMDItemWhereFroms
  379. This attribute indicates where the item was obtained from.
  380. Examples:
  381. - downloaded file may refer to the site they were downloaded from,
  382. the refering URL, etc
  383. - files reveived by email may indicate who sent the file, the
  384. message subject, etc
  385. Type is a CFArray of CFStrings
  386. @constant kMDItemLastUsedDate
  387. This is the date that the file was last used, this field is updated
  388. by LaunchServices everytime a file is opend by double clicking or
  389. by asking LaunchServices to open a file. Type is a CFDate
  390. @constant kMDItemContentCreationDate
  391. This is the date that the contents of the file were created,
  392. has an application specific semantic.
  393. Type is a CFDate.
  394. @constant kMDItemContentModificationDate
  395. This is the date that the contents of the file were last
  396. modified, has an application specific semantic. For example an
  397. application can use this field to mark when the file was last
  398. modified, this date is not related to the file system modification
  399. date, but can be independent of that. This allows tracking of the
  400. last time the content was modified irrespective of the last time the
  401. file was modified. Type is a CFDate.
  402. @constant kMDItemDateAdded
  403. This is the date that the file was moved into the current location.
  404. Not all files will have this attribute. Not all file systems support
  405. this attribute.
  406. @constant kMDItemDurationSeconds
  407. This is the duration, in seconds, of the content of the file (if
  408. appropriate). A value of 10.5 represents media whose content is
  409. 10 and 1/2 seconds long. Type is a CFNumber.
  410. @constant kMDItemContactKeywords
  411. A list of contacts that are somehow associated with this document,
  412. beyond what is captured as Author.
  413. @constant kMDItemVersion
  414. A version number for this item. Type is a CFString
  415. @constant kMDItemPixelHeight
  416. The height of the document in pixels (ie Image height or Video frame height)
  417. @constant kMDItemPixelWidth
  418. The width of the document in pixels (ie Image width or Video frame width)
  419. @constant kMDItemPixelCount
  420. The total number of pixels in the document. Type is a CFNumber.
  421. @constant kMDItemColorSpace
  422. What color space model is this document following
  423. (For example, are examples "RGB", "CMYK", "YUV", "YCbCr")
  424. @constant kMDItemBitsPerSample
  425. Number of bits per sample
  426. For example bit depth of an image (8-bit, 16-bit etc..) or bit
  427. depth per audio sample of uncompressed audio data (8, 16, 24, 32,
  428. 64, etc..)
  429. @constant kMDItemFlashOnOff
  430. Indicates if the flash was used to take the picture. 0 means flash did not fire
  431. @constant kMDItemFocalLength
  432. The actual focal length of the lens in mm.
  433. @constant kMDItemAcquisitionMake
  434. Device make that was used to acquire this document
  435. @constant kMDItemAcquisitionModel
  436. Device model that was used to acquire this document
  437. @const kMDItemISOSpeed
  438. The ISO Speed the camera was set to when the image was
  439. taken. Examples are 100, 200, 400, etc.
  440. @const kMDItemOrientation
  441. The orientation of the data. Values are 0 is "Landscape" or 1 is "Portrait"
  442. @const kMDItemLayerNames
  443. The names of the various layers in the file
  444. @const kMDItemWhiteBalance
  445. The white balance setting of the camera when the image was
  446. acquired. 0 is auto white balance and 1 is manual
  447. @const kMDItemAperture
  448. The size of the lens aperture as a log-scale APEX value
  449. when the image was acquired.
  450. @const kMDItemProfileName
  451. Name of the color profile used for the image
  452. @const kMDItemResolutionWidthDPI
  453. Resolution width of this image in DPI
  454. @const kMDItemResolutionHeightDPI
  455. Resolution height of this image in DPI
  456. @const kMDItemExposureMode
  457. Mode that was used for the exposure. 0 is auto exposure, 1 is
  458. manual, and 2 is auto bracket.
  459. @const kMDItemExposureTimeSeconds
  460. Time that the lens was open during exposure
  461. @const kMDItemEXIFVersion
  462. The verion of the EXIF header that was used to generate the metadata
  463. @const kMDItemEXIFGPSVersion
  464. The version of GPSInfoIFD header that was used to generate the metadata
  465. @const kMDItemCodecs
  466. The codecs used to encode/decode the media
  467. @const kMDItemMediaTypes
  468. Media types present in the content
  469. @const kMDItemStreamable
  470. Whether the content is prepared for streaming
  471. @const kMDItemTotalBitRate
  472. The total byte rate (audio & video combined) of the media
  473. @const kMDItemVideoBitRate
  474. The video byte rate
  475. @const kMDItemAudioBitRate
  476. The audio byte rate
  477. @const kMDItemDeliveryType
  478. Delivery type Fast start or RTSP
  479. @constant kMDItemAlbum
  480. The title for a collection of media. This is analagous to a record album,
  481. or photo album whichs are collections of audio or images. Type is a CFString.
  482. @constant kMDItemHasAlphaChannel
  483. Boolean indicating if this image file has an alpha channel. Type is
  484. a CFBoolean.
  485. @constant kMDItemRedEyeOnOff
  486. Indicates if the flash was used to take the picture. 0 means no
  487. red-eye reduction mode or unknown. 1 means red-eye reduction
  488. supported.
  489. @const kMDItemMeteringMode
  490. The metering mode (Unknown, Average, CenterWeightedAverage, Spot,
  491. MultiSpot, Pattern, Partial)
  492. @const kMDItemMaxAperture
  493. The smallest F number of the lens. The unit is the APEX
  494. value. Ordinarily it is given in the range of 00.00 to 99.99.
  495. @const kMDItemFNumber
  496. The focal length of the lens divided by the diameter of the aperture
  497. when the image was acquired.
  498. @const kMDItemExposureProgram
  499. The class of the program used by the camera to set exposure when
  500. the picture is taken (Manual, Normal, Aperture priority, ...)
  501. @const kMDItemExposureTimeString
  502. The time of the exposure.
  503. @const kMDItemHeadline
  504. A publishable entry providing a synopsis of the contents of the
  505. objectdata.
  506. @const kMDItemInstructions
  507. Other editorial instructions concerning the use of the objectdata,
  508. such as embargoes and warnings.
  509. @const kMDItemCity
  510. Identifies city of objectdata origin according to guidelines
  511. established by the provider.
  512. @const kMDItemStateOrProvince
  513. Identifies Province/State of origin according to guidelines
  514. established by the provider.
  515. @const kMDItemCountry
  516. Provides full, publishable, name of the country/primary location
  517. where the intellectual property of the objectdata was created,
  518. according to guidelines of the provider.
  519. @const kMDItemEXIFGPSVersion
  520. The version of GPSInfoIFD in EXIF used to generate the metadata.
  521. @const kMDItemAltitude
  522. The altitude of the item in meters above sea level, expressed
  523. using the WGS84 datum. Negative values lie below sea level.
  524. @const kMDItemLatitude
  525. The latitude of the item in degrees north of the equator, expressed
  526. using the WGS84 datum. Negative values lie south of the equator.
  527. @const kMDItemLongitude
  528. The longitude of the item in degrees east of the prime meridian,
  529. expressed using the WGS84 datum. Negative values lie west of the prime meridian.
  530. @const kMDItemTimestamp
  531. The timestamp on the item. This generally is used to indicate the time at
  532. which the event captured by the item took place.
  533. @const kMDItemSpeed
  534. The speed of the item, in kilometers per hour.
  535. @const kMDItemGPSTrack
  536. The direction of travel of the item, in degrees from true north.
  537. @const kMDItemImageDirection
  538. The direction of the item's image, in degrees from true north.
  539. @const kMDItemNamedLocation
  540. The name of the location or point of interest associated with the item.
  541. The name may be user provided.
  542. }
  543. var kMDItemAttributeChangeDate: CFStringRef; external name '_kMDItemAttributeChangeDate'; (* attribute const *)
  544. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFDate
  545. var kMDItemContentType: CFStringRef; external name '_kMDItemContentType'; (* attribute const *)
  546. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  547. var kMDItemContentTypeTree: CFStringRef; external name '_kMDItemContentTypeTree'; (* attribute const *)
  548. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFArray of CFStringRef
  549. var kMDItemKeywords: CFStringRef; external name '_kMDItemKeywords'; (* attribute const *)
  550. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFArray of CFString
  551. var kMDItemTitle: CFStringRef; external name '_kMDItemTitle'; (* attribute const *)
  552. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  553. var kMDItemAuthors: CFStringRef; external name '_kMDItemAuthors'; (* attribute const *)
  554. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFArray of CFString
  555. var kMDItemEditors: CFStringRef; external name '_kMDItemEditors'; (* attribute const *)
  556. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFArray of CFString
  557. var kMDItemParticipants: CFStringRef; external name '_kMDItemParticipants'; (* attribute const *)
  558. (* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *) // CFArray of CFString
  559. var kMDItemProjects: CFStringRef; external name '_kMDItemProjects'; (* attribute const *)
  560. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFArray of CFString
  561. var kMDItemDownloadedDate: CFStringRef; external name '_kMDItemDownloadedDate'; (* attribute const *)
  562. (* AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER *) // CFDate
  563. var kMDItemWhereFroms: CFStringRef; external name '_kMDItemWhereFroms'; (* attribute const *)
  564. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFArray of CFString
  565. var kMDItemComment: CFStringRef; external name '_kMDItemComment'; (* attribute const *)
  566. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  567. var kMDItemCopyright: CFStringRef; external name '_kMDItemCopyright'; (* attribute const *)
  568. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  569. var kMDItemLastUsedDate: CFStringRef; external name '_kMDItemLastUsedDate'; (* attribute const *)
  570. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFDate
  571. var kMDItemContentCreationDate: CFStringRef; external name '_kMDItemContentCreationDate'; (* attribute const *)
  572. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFDate
  573. var kMDItemContentModificationDate: CFStringRef; external name '_kMDItemContentModificationDate'; (* attribute const *)
  574. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFDate
  575. var kMDItemDateAdded: CFStringRef; external name '_kMDItemDateAdded'; (* attribute const *)
  576. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFDate
  577. var kMDItemDurationSeconds: CFStringRef; external name '_kMDItemDurationSeconds'; (* attribute const *)
  578. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  579. var kMDItemContactKeywords: CFStringRef; external name '_kMDItemContactKeywords'; (* attribute const *)
  580. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFArray of CFString
  581. var kMDItemVersion: CFStringRef; external name '_kMDItemVersion'; (* attribute const *)
  582. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  583. var kMDItemPixelHeight: CFStringRef; external name '_kMDItemPixelHeight'; (* attribute const *)
  584. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  585. var kMDItemPixelWidth: CFStringRef; external name '_kMDItemPixelWidth'; (* attribute const *)
  586. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  587. var kMDItemPixelCount: CFStringRef; external name '_kMDItemPixelCount'; (* attribute const *)
  588. (* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *) // CFNumber
  589. var kMDItemColorSpace: CFStringRef; external name '_kMDItemColorSpace'; (* attribute const *)
  590. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  591. var kMDItemBitsPerSample: CFStringRef; external name '_kMDItemBitsPerSample'; (* attribute const *)
  592. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  593. var kMDItemFlashOnOff: CFStringRef; external name '_kMDItemFlashOnOff'; (* attribute const *)
  594. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFBoolean
  595. var kMDItemFocalLength: CFStringRef; external name '_kMDItemFocalLength'; (* attribute const *)
  596. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  597. var kMDItemAcquisitionMake: CFStringRef; external name '_kMDItemAcquisitionMake'; (* attribute const *)
  598. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  599. var kMDItemAcquisitionModel: CFStringRef; external name '_kMDItemAcquisitionModel'; (* attribute const *)
  600. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  601. var kMDItemISOSpeed: CFStringRef; external name '_kMDItemISOSpeed'; (* attribute const *)
  602. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  603. var kMDItemOrientation: CFStringRef; external name '_kMDItemOrientation'; (* attribute const *)
  604. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  605. var kMDItemLayerNames: CFStringRef; external name '_kMDItemLayerNames'; (* attribute const *)
  606. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFArray of CFString
  607. var kMDItemWhiteBalance: CFStringRef; external name '_kMDItemWhiteBalance'; (* attribute const *)
  608. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  609. var kMDItemAperture: CFStringRef; external name '_kMDItemAperture'; (* attribute const *)
  610. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  611. var kMDItemProfileName: CFStringRef; external name '_kMDItemProfileName'; (* attribute const *)
  612. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  613. var kMDItemResolutionWidthDPI: CFStringRef; external name '_kMDItemResolutionWidthDPI'; (* attribute const *)
  614. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  615. var kMDItemResolutionHeightDPI: CFStringRef; external name '_kMDItemResolutionHeightDPI'; (* attribute const *)
  616. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  617. var kMDItemExposureMode: CFStringRef; external name '_kMDItemExposureMode'; (* attribute const *)
  618. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  619. var kMDItemExposureTimeSeconds: CFStringRef; external name '_kMDItemExposureTimeSeconds'; (* attribute const *)
  620. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  621. var kMDItemEXIFVersion: CFStringRef; external name '_kMDItemEXIFVersion'; (* attribute const *)
  622. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  623. var kMDItemCameraOwner: CFStringRef; external name '_kMDItemCameraOwner'; (* attribute const *)
  624. (* AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER *) // CFString
  625. var kMDItemFocalLength35mm: CFStringRef; external name '_kMDItemFocalLength35mm'; (* attribute const *)
  626. (* AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER *) // CFNumber
  627. var kMDItemLensModel: CFStringRef; external name '_kMDItemLensModel'; (* attribute const *)
  628. (* AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER *) // CFString
  629. var kMDItemEXIFGPSVersion: CFStringRef; external name '_kMDItemEXIFGPSVersion'; (* attribute const *)
  630. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFString
  631. var kMDItemAltitude: CFStringRef; external name '_kMDItemAltitude'; (* attribute const *)
  632. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFNumber
  633. var kMDItemLatitude: CFStringRef; external name '_kMDItemLatitude'; (* attribute const *)
  634. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFNumber
  635. var kMDItemLongitude: CFStringRef; external name '_kMDItemLongitude'; (* attribute const *)
  636. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFNumber
  637. var kMDItemSpeed: CFStringRef; external name '_kMDItemSpeed'; (* attribute const *)
  638. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFNumber
  639. var kMDItemTimestamp: CFStringRef; external name '_kMDItemTimestamp'; (* attribute const *)
  640. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFDate
  641. var kMDItemGPSTrack: CFStringRef; external name '_kMDItemGPSTrack'; (* attribute const *)
  642. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFNumber
  643. var kMDItemImageDirection: CFStringRef; external name '_kMDItemImageDirection'; (* attribute const *)
  644. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFNumber
  645. var kMDItemNamedLocation: CFStringRef; external name '_kMDItemNamedLocation'; (* attribute const *)
  646. (* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *) // CFString
  647. var kMDItemGPSStatus: CFStringRef; external name '_kMDItemGPSStatus'; (* attribute const *)
  648. (* AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER *) // CFString
  649. var kMDItemGPSMeasureMode: CFStringRef; external name '_kMDItemGPSMeasureMode'; (* attribute const *)
  650. (* AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER *) // CFString
  651. var kMDItemGPSDOP: CFStringRef; external name '_kMDItemGPSDOP'; (* attribute const *)
  652. (* AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER *) // CFNumber
  653. var kMDItemGPSMapDatum: CFStringRef; external name '_kMDItemGPSMapDatum'; (* attribute const *)
  654. (* AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER *) // CFString
  655. var kMDItemGPSDestLatitude: CFStringRef; external name '_kMDItemGPSDestLatitude'; (* attribute const *)
  656. (* AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER *) // CFNumber
  657. var kMDItemGPSDestLongitude: CFStringRef; external name '_kMDItemGPSDestLongitude'; (* attribute const *)
  658. (* AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER *) // CFNumber
  659. var kMDItemGPSDestBearing: CFStringRef; external name '_kMDItemGPSDestBearing'; (* attribute const *)
  660. (* AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER *) // CFNumber
  661. var kMDItemGPSDestDistance: CFStringRef; external name '_kMDItemGPSDestDistance'; (* attribute const *)
  662. (* AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER *) // CFNumber
  663. var kMDItemGPSProcessingMethod: CFStringRef; external name '_kMDItemGPSProcessingMethod'; (* attribute const *)
  664. (* AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER *) // CFString
  665. var kMDItemGPSAreaInformation: CFStringRef; external name '_kMDItemGPSAreaInformation'; (* attribute const *)
  666. (* AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER *) // CFString
  667. var kMDItemGPSDateStamp: CFStringRef; external name '_kMDItemGPSDateStamp'; (* attribute const *)
  668. (* AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER *) // CFDate
  669. var kMDItemGPSDifferental: CFStringRef; external name '_kMDItemGPSDifferental'; (* attribute const *)
  670. (* AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER *) // CFNumber
  671. var kMDItemCodecs: CFStringRef; external name '_kMDItemCodecs'; (* attribute const *)
  672. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFArray of CFString
  673. var kMDItemMediaTypes: CFStringRef; external name '_kMDItemMediaTypes'; (* attribute const *)
  674. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFArray of CFString
  675. var kMDItemStreamable: CFStringRef; external name '_kMDItemStreamable'; (* attribute const *)
  676. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFBoolean
  677. var kMDItemTotalBitRate: CFStringRef; external name '_kMDItemTotalBitRate'; (* attribute const *)
  678. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  679. var kMDItemVideoBitRate: CFStringRef; external name '_kMDItemVideoBitRate'; (* attribute const *)
  680. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  681. var kMDItemAudioBitRate: CFStringRef; external name '_kMDItemAudioBitRate'; (* attribute const *)
  682. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  683. var kMDItemDeliveryType: CFStringRef; external name '_kMDItemDeliveryType'; (* attribute const *)
  684. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  685. var kMDItemAlbum: CFStringRef; external name '_kMDItemAlbum'; (* attribute const *)
  686. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  687. var kMDItemHasAlphaChannel: CFStringRef; external name '_kMDItemHasAlphaChannel'; (* attribute const *)
  688. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFBoolean
  689. var kMDItemRedEyeOnOff: CFStringRef; external name '_kMDItemRedEyeOnOff'; (* attribute const *)
  690. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFBoolean
  691. var kMDItemMeteringMode: CFStringRef; external name '_kMDItemMeteringMode'; (* attribute const *)
  692. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  693. var kMDItemMaxAperture: CFStringRef; external name '_kMDItemMaxAperture'; (* attribute const *)
  694. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  695. var kMDItemFNumber: CFStringRef; external name '_kMDItemFNumber'; (* attribute const *)
  696. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  697. var kMDItemExposureProgram: CFStringRef; external name '_kMDItemExposureProgram'; (* attribute const *)
  698. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  699. var kMDItemExposureTimeString: CFStringRef; external name '_kMDItemExposureTimeString'; (* attribute const *)
  700. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  701. { From IPTC }
  702. var kMDItemHeadline: CFStringRef; external name '_kMDItemHeadline'; (* attribute const *)
  703. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  704. var kMDItemInstructions: CFStringRef; external name '_kMDItemInstructions'; (* attribute const *)
  705. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  706. var kMDItemCity: CFStringRef; external name '_kMDItemCity'; (* attribute const *)
  707. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  708. var kMDItemStateOrProvince: CFStringRef; external name '_kMDItemStateOrProvince'; (* attribute const *)
  709. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  710. var kMDItemCountry: CFStringRef; external name '_kMDItemCountry'; (* attribute const *)
  711. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  712. {!
  713. @constant kMDItemTextContent
  714. Contains the text content of the document. Type is a CFString.
  715. @constant kMDItemDisplayName
  716. This is the localized version of the LaunchServices call
  717. LSCopyDisplayNameForURL()/LSCopyDisplayNameForRef().
  718. @constant kMDItemFSName
  719. This is the file name of the MDItemRef. Type is a CFString
  720. @constant kMDItemPath
  721. This is the complete path to the MDItemRef. Type is a CFString.
  722. @constant kMDItemFSSize
  723. The total logical size of the file (data and resources) on disk in bytes. Type is a CFNumber.
  724. @constant kMDItemFSCreationDate
  725. This is the date that the file was created. Type is a CFDate.
  726. @constant kMDItemFSContentChangeDate
  727. This is the date the the file content last changed. This is a CFDate.
  728. @constant kMDItemFSOwnerUserID
  729. User-id of owner of the file. Type is a CFNumber.
  730. @constant kMDItemFSOwnerGroupID
  731. Group-id of owner of the file. Type is a CFNumber.
  732. @constant kMDItemFSExists *** DEPRECATED ***
  733. Boolean indicating if this MDItem references a file that still
  734. exists. The file that the MDItem references might have been
  735. deleted. Type is a CFBoolean.
  736. @constant kMDItemFSIsReadable *** DEPRECATED ***
  737. Boolean indicating if this file is readable. Type is a CFBoolean.
  738. @constant kMDItemFSIsWriteable *** DEPRECATED ***
  739. Boolean indicating if this file is writable. Type is a CFBoolean.
  740. @constant kMDItemFSNodeCount
  741. Number of files in directory. Type is a CFNumber.
  742. @constant kMDItemFSHasCustomIcon
  743. Boolean indicating if this file has a custom icon. Type is a CFBoolean.
  744. @constant kMDItemFSIsExtensionHidden
  745. Boolean indicating if this file has its extension hidden. Type is a CFBoolean.
  746. @constant kMDItemFSIsStationery
  747. Boolean indicating if this file is stationery. Type is a CFBoolean.
  748. @constant kMDItemFSInvisible
  749. Boolean indicating if this file is visible. Type is a CFBoolean.
  750. @constant kMDItemFSLabel
  751. Number indicating which finder label is in use (0-7). Type is a CFNumber.
  752. }
  753. var kMDItemFSName: CFStringRef; external name '_kMDItemFSName'; (* attribute const *)
  754. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  755. var kMDItemDisplayName: CFStringRef; external name '_kMDItemDisplayName'; (* attribute const *)
  756. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  757. var kMDItemPath: CFStringRef; external name '_kMDItemPath'; (* attribute const *)
  758. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  759. var kMDItemFSSize: CFStringRef; external name '_kMDItemFSSize'; (* attribute const *)
  760. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  761. var kMDItemFSCreationDate: CFStringRef; external name '_kMDItemFSCreationDate'; (* attribute const *)
  762. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFDate
  763. var kMDItemFSContentChangeDate: CFStringRef; external name '_kMDItemFSContentChangeDate'; (* attribute const *)
  764. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFDate
  765. var kMDItemFSOwnerUserID: CFStringRef; external name '_kMDItemFSOwnerUserID'; (* attribute const *)
  766. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  767. var kMDItemFSOwnerGroupID: CFStringRef; external name '_kMDItemFSOwnerGroupID'; (* attribute const *)
  768. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  769. var kMDItemFSExists: CFStringRef; external name '_kMDItemFSExists'; (* attribute const *)
  770. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED *)
  771. var kMDItemFSIsReadable: CFStringRef; external name '_kMDItemFSIsReadable'; (* attribute const *)
  772. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED *)
  773. var kMDItemFSIsWriteable: CFStringRef; external name '_kMDItemFSIsWriteable'; (* attribute const *)
  774. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED *)
  775. var kMDItemFSHasCustomIcon: CFStringRef; external name '_kMDItemFSHasCustomIcon'; (* attribute const *)
  776. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFBoolean
  777. var kMDItemFSIsExtensionHidden: CFStringRef; external name '_kMDItemFSIsExtensionHidden'; (* attribute const *)
  778. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFBoolean
  779. var kMDItemFSIsStationery: CFStringRef; external name '_kMDItemFSIsStationery'; (* attribute const *)
  780. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFBoolean
  781. var kMDItemFSInvisible: CFStringRef; external name '_kMDItemFSInvisible'; (* attribute const *)
  782. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFBoolean
  783. var kMDItemFSLabel: CFStringRef; external name '_kMDItemFSLabel'; (* attribute const *)
  784. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  785. var kMDItemFSNodeCount: CFStringRef; external name '_kMDItemFSNodeCount'; (* attribute const *)
  786. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  787. var kMDItemTextContent: CFStringRef; external name '_kMDItemTextContent'; (* attribute const *)
  788. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // a Write-Only CFString
  789. {!
  790. @constant kMDItemAudioSampleRate
  791. The sample rate of the audio data contained in the file. The sample rate is a
  792. float value representing hz (audio_frames/second). For example: 44100.0, 22254.54.
  793. Type is a CFNumber (float).
  794. @constant kMDItemAudioChannelCount
  795. The number of channels in the audio data contained in the file. This item only represents
  796. the number of discreet channels of audio data found in the file. It does not indicate
  797. any configuration of the data in regards to a user's speaker setup.
  798. Type is a CFNumber (integer).
  799. @constant kMDItemTempo
  800. The tempo of the music contained in the audio file in Beats Per Minute.
  801. Type is a CFNumber (float).
  802. @constant kMDItemKeySignature
  803. The musical key of the song/composition contained in an audio file.
  804. For example: C, Dm, F#m, Bb. Type is a CFString.
  805. @constant kMDItemTimeSignature
  806. The time signature of the musical composition contained in the audio/MIDI file.
  807. For example: "4/4", "7/8". Type is a CFString.
  808. @constant kMDItemAudioEncodingApplication
  809. The name of the application that encoded the data contained in the audio file.
  810. Type is a CFString.
  811. @constant kMDItemComposer
  812. The composer of the song/composition contained in the audio file.
  813. Type is a CFString.
  814. @constant kMDItemLyricist
  815. The lyricist/text writer for song/composition contained in the audio file.
  816. Type is a CFString.
  817. @constant kMDItemAudioTrackNumber
  818. The track number of a song/composition when it is part of an album (kMDItemAlbum).
  819. Type is a CFNumber (integer).
  820. @constant kMDItemRecordingDate
  821. The recording date of the song/composition. This information differs from
  822. the kMDItemContentCreationDate attribute as it indicates the date that the
  823. 'art' was created, in contrast to ContentCreationDate which for example, could indicate
  824. the creation date of an edited or 'mastered' version of the original art.
  825. Type is a CFDate.
  826. @constant kMDItemMusicalGenre
  827. The musical genre of the song/composition contained in the audio file.
  828. For example: Jazz, Pop, Rock, Classical. Type is a CFString.
  829. @constant kMDItemIsGeneralMIDISequence
  830. This attribute indicates whether the MIDI sequence contained in the file
  831. is setup for use with a General MIDI device. Type is a CFBoolean.
  832. @const kMDItemRecordingYear
  833. This attribute indicates what year the item was recorded on.
  834. Type is a CFNumber
  835. }
  836. var kMDItemAudioSampleRate: CFStringRef; external name '_kMDItemAudioSampleRate'; (* attribute const *)
  837. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  838. var kMDItemAudioChannelCount: CFStringRef; external name '_kMDItemAudioChannelCount'; (* attribute const *)
  839. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  840. var kMDItemTempo: CFStringRef; external name '_kMDItemTempo'; (* attribute const *)
  841. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  842. var kMDItemKeySignature: CFStringRef; external name '_kMDItemKeySignature'; (* attribute const *)
  843. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  844. var kMDItemTimeSignature: CFStringRef; external name '_kMDItemTimeSignature'; (* attribute const *)
  845. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  846. var kMDItemAudioEncodingApplication: CFStringRef; external name '_kMDItemAudioEncodingApplication'; (* attribute const *)
  847. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  848. var kMDItemComposer: CFStringRef; external name '_kMDItemComposer'; (* attribute const *)
  849. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  850. var kMDItemLyricist: CFStringRef; external name '_kMDItemLyricist'; (* attribute const *)
  851. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  852. var kMDItemAudioTrackNumber: CFStringRef; external name '_kMDItemAudioTrackNumber'; (* attribute const *)
  853. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  854. var kMDItemRecordingDate: CFStringRef; external name '_kMDItemRecordingDate'; (* attribute const *)
  855. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFDate
  856. var kMDItemMusicalGenre: CFStringRef; external name '_kMDItemMusicalGenre'; (* attribute const *)
  857. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  858. var kMDItemIsGeneralMIDISequence: CFStringRef; external name '_kMDItemIsGeneralMIDISequence'; (* attribute const *)
  859. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFBoolean
  860. var kMDItemRecordingYear: CFStringRef; external name '_kMDItemRecordingYear'; (* attribute const *)
  861. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  862. {!
  863. @const kMDItemOrganizations
  864. Used to indicate company/Organization that created the document.
  865. Type is a CFArray of CFStrings.
  866. @const kMDItemLanguages
  867. Used to designate the languages of the intellectual content of the
  868. resource. Recommended best practice for the values of the Language
  869. element is defined by RFC 3066.
  870. Type is a CFArray of CFStrings.
  871. @const kMDItemRights
  872. Used to provide a link to information about rights held in and
  873. over the resource. Typically a Rights element will contain a
  874. rights management statement for the resource, or reference a
  875. service providing such information. Rights information often
  876. encompasses Intellectual Property Rights (IPR), Copyright, and
  877. various Property Rights. If the rights element is absent, no
  878. assumptions can be made about the status of these and other rights
  879. with respect to the resource. Type is a CFString type.
  880. @const kMDItemPublishers
  881. Used to designate the entity responsible for making the resource
  882. available. Examples of a Publisher include a person, an
  883. organization, or a service. Typically, the name of a Publisher
  884. should be used to indicate the entity. Type is a CFArray of CFStrings.
  885. @const kMDItemContributors
  886. Used to designate the entity responsible for making contributions
  887. to the content of the resource. Examples of a Contributor include
  888. a person, an organization or a service. Typically, the name of a
  889. Contributor should be used to indicate the entity. Type is a
  890. CFArray of CFStrings.
  891. @const kMDItemCoverage
  892. Used to designate the extent or scope of the content of the
  893. resource. Coverage will typically include spatial location (a
  894. place name or geographic co-ordinates), temporal period (a period
  895. label, date, or date range) or jurisdiction (such as a named
  896. administrative entity). Recommended best practice is to select a
  897. value from a controlled vocabulary, and that, where appropriate,
  898. named places or time periods be used in preference to numeric
  899. identifiers such as sets of co-ordinates or date ranges. Type is a
  900. CFString.
  901. @const kMDItemSubject
  902. Subject of the this item. Type is a CFString.
  903. @const kMDItemTheme
  904. Theme of the this item. Type is a CFString.
  905. @const kMDItemDescription
  906. An account of the content of the resource. Description may include
  907. but is not limited to: an abstract, table of contents, reference
  908. to a graphical representation of content or a free-text account of
  909. the content. Type is a CFString.
  910. @const kMDItemIdentifier
  911. Used to reference to the resource within a given
  912. context. Recommended best practice is to identify the resource by
  913. means of a string or number conforming to a formal identification
  914. system. Type is a CFString.
  915. @const kMDItemAudiences
  916. A class of entity for whom the resource is intended or useful. A
  917. class of entity may be determined by the creator or the publisher
  918. or by a third party. Type is a CFArray of CFString.
  919. }
  920. var kMDItemOrganizations: CFStringRef; external name '_kMDItemOrganizations'; (* attribute const *)
  921. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFArray of CFStrings
  922. var kMDItemLanguages: CFStringRef; external name '_kMDItemLanguages'; (* attribute const *)
  923. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFArray of CFStrings
  924. var kMDItemRights: CFStringRef; external name '_kMDItemRights'; (* attribute const *)
  925. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  926. var kMDItemPublishers: CFStringRef; external name '_kMDItemPublishers'; (* attribute const *)
  927. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFArray of CFStrings
  928. var kMDItemContributors: CFStringRef; external name '_kMDItemContributors'; (* attribute const *)
  929. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFArray of CFStrings
  930. var kMDItemCoverage: CFStringRef; external name '_kMDItemCoverage'; (* attribute const *)
  931. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFArray of CFStrings
  932. var kMDItemSubject: CFStringRef; external name '_kMDItemSubject'; (* attribute const *)
  933. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  934. var kMDItemTheme: CFStringRef; external name '_kMDItemTheme'; (* attribute const *)
  935. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  936. var kMDItemDescription: CFStringRef; external name '_kMDItemDescription'; (* attribute const *)
  937. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  938. var kMDItemIdentifier: CFStringRef; external name '_kMDItemIdentifier'; (* attribute const *)
  939. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  940. var kMDItemAudiences: CFStringRef; external name '_kMDItemAudiences'; (* attribute const *)
  941. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFArray of CFStrings
  942. {!
  943. @const kMDItemNumberOfPages
  944. Number of pages in the item. Type is a CFNumberRef
  945. @const kMDItemPageWidth
  946. Width in points (72 points per inch) of the document page
  947. (first page only for PDF's - other pages within the PDF may
  948. not be the same width). Type is a CFNumber.
  949. @const kMDItemPageHeight
  950. Height in points (72 points per inch) of the document page
  951. (first page only for PDF's - other pages within the PDF may
  952. not be the same height). Type is a CFNumber.
  953. @const kMDItemSecurityMethod
  954. Security (encryption) method used in the file, for a PDF will be one of:
  955. "Password Encrypted" or "None". Type is a CFStrings.
  956. @const kMDItemCreator
  957. Application used to create the document content (e.g. "Word",
  958. "Framemaker", etc.). Type is a CFStrings.
  959. @const kMDItemEncodingApplications
  960. Software used to convert the original content into a PDF stream
  961. (e.g. "Distiller", etc.). Type is a Array of CFStrings.
  962. @const kMDItemDueDate
  963. Date this item is due. Type is a CFDate.
  964. @const kMDItemStarRating
  965. User rate of this item like iTunes. Type is a CFNumber
  966. @const kMDItemPhoneNumbers
  967. Phone numbers for this item. Type is an Array of CFStrings.
  968. @const kMDItemEmailAddresses
  969. Email addresses for this item. Type is an Array of CFStrings.
  970. @const kMDItemInstantMessageAddresses
  971. Instant message addresses for this item. Type is an Array of CFStrings.
  972. @const kMDItemKind
  973. Kind that this item represents. Type is a CFString.
  974. @const kMDItemRecipients
  975. This attribute indicates the recipients of this item. Type is a Array of CFStrings
  976. @const kMDItemFinderComment
  977. These are the finder comments for this item. Type is a CFString.
  978. @const kMDItemFonts
  979. Array of font names used in the item. Attribute would store the Fonts
  980. full name, the postscript name or the font family name based on whats available.
  981. Type is an Array of CFStrings.
  982. }
  983. var kMDItemNumberOfPages: CFStringRef; external name '_kMDItemNumberOfPages'; (* attribute const *)
  984. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  985. var kMDItemPageWidth: CFStringRef; external name '_kMDItemPageWidth'; (* attribute const *)
  986. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  987. var kMDItemPageHeight: CFStringRef; external name '_kMDItemPageHeight'; (* attribute const *)
  988. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  989. var kMDItemSecurityMethod: CFStringRef; external name '_kMDItemSecurityMethod'; (* attribute const *)
  990. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  991. var kMDItemCreator: CFStringRef; external name '_kMDItemCreator'; (* attribute const *)
  992. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  993. var kMDItemEncodingApplications: CFStringRef; external name '_kMDItemEncodingApplications'; (* attribute const *)
  994. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFArray of CFStrings
  995. var kMDItemDueDate: CFStringRef; external name '_kMDItemDueDate'; (* attribute const *)
  996. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFDate
  997. var kMDItemStarRating: CFStringRef; external name '_kMDItemStarRating'; (* attribute const *)
  998. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFNumber
  999. var kMDItemPhoneNumbers: CFStringRef; external name '_kMDItemPhoneNumbers'; (* attribute const *)
  1000. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFArray of CFStrings
  1001. var kMDItemEmailAddresses: CFStringRef; external name '_kMDItemEmailAddresses'; (* attribute const *)
  1002. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFArray of CFStrings
  1003. var kMDItemInstantMessageAddresses: CFStringRef; external name '_kMDItemInstantMessageAddresses'; (* attribute const *)
  1004. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFArray of CFStrings
  1005. var kMDItemKind: CFStringRef; external name '_kMDItemKind'; (* attribute const *)
  1006. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFStrings
  1007. var kMDItemRecipients: CFStringRef; external name '_kMDItemRecipients'; (* attribute const *)
  1008. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFArray of CFStrings
  1009. var kMDItemFinderComment: CFStringRef; external name '_kMDItemFinderComment'; (* attribute const *)
  1010. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  1011. var kMDItemFonts: CFStringRef; external name '_kMDItemFonts'; (* attribute const *)
  1012. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFArray of CFString
  1013. {!
  1014. @const kMDItemAppleLoopsRootKey
  1015. Meta data attribute that stores the root note or tonic for the
  1016. loop, and does not include the scale type. The root key is
  1017. represented as follows: "C" "C#/Db" "D" "D#/Eb" "E" "F"
  1018. "F#/Gb" "G" "G#/Ab" "A" "A#/Bb" "B" "NoKey"
  1019. @const kMDItemAppleLoopsKeyFilterType
  1020. Meta data attribute that stores key filtering information
  1021. about a loop. Loops are matched against projects that often in
  1022. a major or minor key. To assist users in identifying loops
  1023. that will "fit" with their compositions, loops can be tagged
  1024. with one of the following key filters: "AnyKey" "Minor"
  1025. "Major" "NeitherKey" "BothKeys". AnyKey means that it fits
  1026. with anything (whether in a major key, minor key or
  1027. neither). Minor fits with compositions in a minor
  1028. key. NeitherKey doesn't work well with compositions that are
  1029. in major or minor key. BothKeys means it fits with major or
  1030. minor key.
  1031. @const kMDItemAppleLoopsLoopMode
  1032. Meta data attribute that stores how a file should be
  1033. played. Tagged files can either be loops or non-loops (e.g., a
  1034. cymbal crash). "Looping" indicates if the file should be
  1035. treated as a loop. "Non-looping" indicates the file should not
  1036. be treated as a loop.
  1037. @const kMDItemAppleLoopDescriptors
  1038. Meta data attribute that stores multiple pieces of descriptive
  1039. information about a loop. Besides genre and instrument, files
  1040. can contain descriptive information that help users in
  1041. refining searches. A file can have multiple descriptors
  1042. associated with them, though they come in pairs of antonyms
  1043. (e.g., "Acoustic" and "Electric"). A file can have zero or
  1044. more descriptors.
  1045. @const kMDItemMusicalInstrumentCategory
  1046. Meta data attribute that stores the category of
  1047. instrument. Files should have an instrument associated with
  1048. them ("Other Instrument" is provided as a catch-all). For some
  1049. categories, like "Keyboards" there are instrument names which
  1050. provide a more detailed instrument definition (e.g., Piano,
  1051. Organ, etc.)
  1052. @const kMDItemMusicalInstrumentName
  1053. Meta data attribute that stores the name of instrument
  1054. (relative to the instrument category) Files can have an
  1055. instrument name associated with them if they have certain
  1056. instrument categories (e.g., the category Percussion has
  1057. multiple instruments, including Conga and Bongo).
  1058. @const kMDItemCFBundleIdentifier
  1059. If this item is a bundle, then this is the CFBundleIdentifier
  1060. }
  1061. var kMDItemAppleLoopsRootKey: CFStringRef; external name '_kMDItemAppleLoopsRootKey'; (* attribute const *)
  1062. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  1063. var kMDItemAppleLoopsKeyFilterType: CFStringRef; external name '_kMDItemAppleLoopsKeyFilterType'; (* attribute const *)
  1064. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  1065. var kMDItemAppleLoopsLoopMode: CFStringRef; external name '_kMDItemAppleLoopsLoopMode'; (* attribute const *)
  1066. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  1067. var kMDItemAppleLoopDescriptors: CFStringRef; external name '_kMDItemAppleLoopDescriptors'; (* attribute const *)
  1068. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFArray of CFStrings
  1069. var kMDItemMusicalInstrumentCategory: CFStringRef; external name '_kMDItemMusicalInstrumentCategory'; (* attribute const *)
  1070. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  1071. var kMDItemMusicalInstrumentName: CFStringRef; external name '_kMDItemMusicalInstrumentName'; (* attribute const *)
  1072. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *) // CFString
  1073. var kMDItemCFBundleIdentifier: CFStringRef; external name '_kMDItemCFBundleIdentifier'; (* attribute const *)
  1074. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFString
  1075. var kMDItemSupportFileType: CFStringRef; external name '_kMDItemSupportFileType'; (* attribute const *)
  1076. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED *) // CFArray of CFStrings
  1077. {!
  1078. @const kMDItemInformation
  1079. Information about the item
  1080. @const kMDItemDirector
  1081. Director of the movie
  1082. @const kMDItemProducer
  1083. Producer of the content
  1084. @const kMDItemGenre
  1085. Genre of the movie
  1086. @const kMDItemPerformers
  1087. Performers in the movie
  1088. @const kMDItemOriginalFormat
  1089. Original format of the movie
  1090. @const kMDItemOriginalSource
  1091. Original source of the movie
  1092. @const kMDItemAuthorEmailAddresses
  1093. This attribute indicates the author of the emails message addresses. (This is always
  1094. the email address, and not the human readable version)
  1095. @const kMDItemRecipientEmailAddresses
  1096. This attribute indicates the reciepients email addresses. (This is always the email
  1097. address, and not the human readable version).
  1098. @const kMDItemAuthorAddresses
  1099. This attribute indicates the author addresses of the document.
  1100. @const kMDItemRecipientAddresses
  1101. This attribute indicates the recipient addresses of the document.
  1102. @const kMDItemURL
  1103. Url of the item
  1104. @const kMDItemIsLikelyJunk
  1105. This attribute indicates if the document is likely to be considered junk.
  1106. @const kMDItemExecutableArchitectures
  1107. Array of executables architectures the item contains.
  1108. @const kMDItemExecutablePlatform
  1109. Indicates platform required to execute this application.
  1110. @const kMDItemApplicationCategories
  1111. Array of categories the item application is a member of.
  1112. }
  1113. var kMDItemInformation: CFStringRef; external name '_kMDItemInformation'; (* attribute const *)
  1114. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFString
  1115. var kMDItemDirector: CFStringRef; external name '_kMDItemDirector'; (* attribute const *)
  1116. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFString
  1117. var kMDItemProducer: CFStringRef; external name '_kMDItemProducer'; (* attribute const *)
  1118. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFString
  1119. var kMDItemGenre: CFStringRef; external name '_kMDItemGenre'; (* attribute const *)
  1120. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFString
  1121. var kMDItemPerformers: CFStringRef; external name '_kMDItemPerformers'; (* attribute const *)
  1122. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFArray of CFString
  1123. var kMDItemOriginalFormat: CFStringRef; external name '_kMDItemOriginalFormat'; (* attribute const *)
  1124. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFString
  1125. var kMDItemOriginalSource: CFStringRef; external name '_kMDItemOriginalSource'; (* attribute const *)
  1126. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFString
  1127. var kMDItemAuthorEmailAddresses: CFStringRef; external name '_kMDItemAuthorEmailAddresses'; (* attribute const *)
  1128. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFArray of CFString
  1129. var kMDItemRecipientEmailAddresses: CFStringRef; external name '_kMDItemRecipientEmailAddresses'; (* attribute const *)
  1130. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFArray of CFString
  1131. var kMDItemAuthorAddresses: CFStringRef; external name '_kMDItemAuthorAddresses'; (* attribute const *)
  1132. (* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *) // CFArray of CFString
  1133. var kMDItemRecipientAddresses: CFStringRef; external name '_kMDItemRecipientAddresses'; (* attribute const *)
  1134. (* AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER *) // CFArray of CFString
  1135. var kMDItemURL: CFStringRef; external name '_kMDItemURL'; (* attribute const *)
  1136. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *) // CFString
  1137. var kMDItemLabelIcon: CFStringRef; external name '_kMDItemLabelIcon'; (* attribute const *)
  1138. (* AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED *)
  1139. var kMDItemLabelID: CFStringRef; external name '_kMDItemLabelID'; (* attribute const *)
  1140. (* AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED *)
  1141. var kMDItemLabelKind: CFStringRef; external name '_kMDItemLabelKind'; (* attribute const *)
  1142. (* AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED *)
  1143. var kMDItemLabelUUID: CFStringRef; external name '_kMDItemLabelUUID'; (* attribute const *)
  1144. (* AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED *)
  1145. var kMDItemIsLikelyJunk: CFStringRef; external name '_kMDItemIsLikelyJunk'; (* attribute const *)
  1146. (* AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER *) // CFBoolean
  1147. var kMDItemExecutableArchitectures: CFStringRef; external name '_kMDItemExecutableArchitectures'; (* attribute const *)
  1148. (* AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER *) // CFArray of CFString
  1149. var kMDItemExecutablePlatform: CFStringRef; external name '_kMDItemExecutablePlatform'; (* attribute const *)
  1150. (* AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER *) // CFString
  1151. var kMDItemApplicationCategories: CFStringRef; external name '_kMDItemApplicationCategories'; (* attribute const *)
  1152. (* AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER *) // CFArray of CFString
  1153. var kMDItemIsApplicationManaged: CFStringRef; external name '_kMDItemIsApplicationManaged'; (* attribute const *)
  1154. (* AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER *) // CFBoolean
  1155. { ================================================================ }
  1156. {$endc} {TARGET_OS_MAC}
  1157. {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
  1158. end.
  1159. {$endc} {not MACOSALLINCLUDE}