home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2J (Developer) / os42jdev.iso / NextLibrary / Frameworks / NEXTIME.framework / Versions / A / Headers / NTDictionaryKeys.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-04-05  |  8.3 KB  |  259 lines

  1. //
  2. //  NTDictionaryKeys.h
  3. //
  4. //
  5. //    Popular keys reserved by NEXTIME, and API for constructing frequently
  6. //    used dictionaries.
  7. //
  8. #import <Foundation/NSString.h>
  9. #import <AppKit/NSGraphics.h>
  10. #import "NTValueDictionary.h"
  11. #import "typetags.h"
  12.  
  13. // In general, components are identified with a type and subtype name.
  14. // All components with a specific type name have the same core API, which
  15. // is defined by a protocol with that type name.  Component subtypes differ
  16. // in the implementation of that API.  For example, there may be a number of
  17. // components with the component type name of "NTMovieParser", but each
  18. // subtype will be designed to parse a different format movie file (e.g., AVI,
  19. // QuickTime, 'cdy', ... )
  20.  
  21. extern NSString * NTComponentTypeName;
  22. extern NSString * NTComponentSubtypeName;
  23.  
  24. // Generic subtype
  25. extern NSString * NTGeneric;
  26.  
  27. // The version indicates the API version the component works with,
  28. // and should change infrequently, if at all.  The Revision Level
  29. // may be bumped at any time, and is used to track which revision
  30. // component was used to generate a movie.
  31. extern NSString * NTComponentVersion;
  32. extern NSString * NTComponentRevisionLevel;
  33. extern NSString * NTVendor;
  34.  
  35. // Keys used in reporting a component description (localizable)
  36. // These are intended for use in GUIs which support selection of a
  37. // component from a list.
  38. extern NSString * NTComponentName;
  39. extern NSString * NTComponentDescription;
  40. extern NSString * NTLocalizedComponentName;
  41. extern NSString * NTLocalizedComponentDescription;
  42.  
  43. // Key to retreive the principal class of a component as a C string
  44. extern NSString * NTComponentPrincipalClass;
  45.  
  46. // Key to define input and output formats for configuration
  47. extern NSString * NTConfigurationKey;
  48. extern NSString * NTSampleInput;
  49. extern NSString * NTSampleOutput;
  50.  
  51. // Keys for sample description dictionaries
  52. extern NSString * NTSampleDescriptionIndex;
  53. extern NSString * NTSampleRate;
  54. extern NSString * NTBitsPerChannel;
  55. extern NSString * NTChannelsPerSample;
  56.  
  57. extern NSString * NTMediaType;
  58. extern NSString * NTCodecName;
  59. extern NSString * NTFormatType;
  60. extern NSString * NTFormatSubtype;
  61. extern NSString * NTFileSuffixArray;
  62. extern NSString * NTCodecInstance;
  63. extern NSString * NTCodecData;
  64. extern NSString * NTEncodingKey;
  65.  
  66. extern NSString * NTHeight;
  67. extern NSString * NTWidth;
  68.  
  69. extern NSString * NTPixelEncoding;
  70. extern NSString * NTColorSpace;
  71. extern NSString * NTBitsPerPixel;
  72. extern NSString * NTBytesPerRow;
  73. extern NSString * NTHasAlpha;
  74. extern NSString * NTIsPlanar;
  75.  
  76. // Assorted video related odds and ends
  77. extern NSString * NTTemporalQuality;
  78. extern NSString * NTSpatialQuality;
  79. extern NSString * NTHorizontalResolution;
  80. extern NSString * NTVerticalResolution;
  81. extern NSString * NTColorLookupTable;
  82. extern NSString * NTColorLookupTableID;
  83. extern NSString * NTPixelTransfer;
  84. extern NSString * NTPrivateData;
  85. extern NSString * NTHiQuality;
  86.  
  87. // TO DO: Define keys for members of current property list hierarchy
  88. extern NSString * NTCompressor;
  89. extern NSString * NTDecompressor;
  90. extern NSString * NTMediaPlaybackHandler;
  91. extern NSString * NTFile_Parser;
  92. extern NSString * NTFile_Writer;
  93. extern NSString * NTPasteboardMovie_Parser;
  94.  
  95. //
  96. // Values for NTFormatType and NTFormatSubtype keys
  97. //
  98. // Predefined (but not all-inclusive!) NTFormatType names
  99. extern NSString * NTRaw;
  100. extern NSString * NTCompressed;
  101. extern NSString * NTText;
  102. extern NSString * NTVideoOut;
  103. extern NSString * NTFilename;
  104. extern NSString * NTSampleOut;
  105. extern NSString * NTOutputDevice;
  106.  
  107. // Predefined (but not all-inclusive!) NTFormatSubtype names for
  108. // NTMediaType "Sound" NTFormatType "NTRaw"
  109. extern NSString * NTBiased;
  110.  
  111. // Predefined (but not all-inclusive!) NTFormatSubtype names for
  112. // NTMediaType "Sound" NTFormatType "Compressed"
  113. extern NSString * NTDeltaMulaw;
  114. extern NSString * NTMulaw;
  115.  
  116. // Predefined (but not all-inclusive!) NTFormatSubtype names for
  117. // NTMediaType "Video" NTFormatType "Compressed"
  118. extern NSString * NTRoadPizza;
  119. extern NSString * NTCinepak;
  120. extern NSString * NT_MPEG1;
  121. extern NSString * NT_JPEG1;
  122. extern NSString * NTWavelet;
  123. extern NSString * NTMicroWavelet;
  124. extern NSString * NTSpaceTimeVQ;
  125. extern NSString * NTRawQT;
  126.  
  127. // Predefined keys for video display device
  128. extern NSString * NTDisplay;
  129. extern NSString * NTViewID;
  130.  
  131. // Predefined keys for sound device
  132. extern NSString * NTSoundContextID;
  133.  
  134. // Keys used with I/O devices (Sound or graphics input or output)
  135. extern NSString * NTDeviceName;
  136. extern NSString * NTDeviceType;
  137.  
  138. // Predefined (but not all-inclusive!) NTDeviceType names
  139. extern NSString * NTSoundOut;
  140. extern NSString * NTSoundIn;
  141.  
  142. // Predefined (but not all-inclusive!) NTMediaType names
  143. extern NSString * NTVideo;
  144. extern NSString * NTSound;
  145.  
  146. // Keys used with NTSoundIn and  NTSoundOut dictionaries
  147. //
  148. // NTSampleRates keys a NTStorage object full of doubles.
  149. // NTAvailableBitsPerChannel keys a NTStorage object full of
  150. // integer bits per sample values.
  151. //
  152. extern NSString * NTAvailableBitsPerChannel;
  153. extern NSString * NTSampleRates;
  154. extern NSString * NTMinimumSampleRate;
  155. extern NSString * NTMaximumSampleRate;
  156. extern NSString * NTMaximumChannels;
  157.  
  158. // Predefined NTPixelEncoding names
  159. extern NSString * NTPixel_RGBX8888;
  160. extern NSString * NTPixel_XRGB8888;
  161. extern NSString * NTPixel_XBGR8888;
  162. extern NSString * NTPixel_RGBX4444;
  163. extern NSString * NTPixel_XRGB1555;
  164. extern NSString * NTPixel_W8;
  165. extern NSString * NTPixel_C8;
  166.  
  167. // Keys for NTMediaHandler objects
  168. extern NSString * NTReserveSystemOverhead;
  169.  
  170. // Error reporting keys
  171. extern NSString * NTErrorTitle;
  172. extern NSString * NTErrorMessage;
  173. extern NSString * NTErrorDetails;
  174. extern NSString * NTErrorCode;
  175.  
  176. // User Dictionary keys, as used in movie, track, and media user dictionaries
  177. extern NSString * NTMovieCopyright;
  178. extern NSString * NTMovieDate;
  179. extern NSString * NTMovieDirector;
  180. extern NSString * NTMovieEditDesc1;
  181. extern NSString * NTMovieEditDesc2;
  182. extern NSString * NTMovieEditDesc3;
  183. extern NSString * NTMovieEditDesc4;
  184. extern NSString * NTMovieEditDesc5;
  185. extern NSString * NTMovieEditDesc6;
  186. extern NSString * NTMovieEditDesc7;
  187. extern NSString * NTMovieEditDesc8;
  188. extern NSString * NTMovieEditDesc9;
  189. extern NSString * NTMovieFormat;
  190. extern NSString * NTMovieInformation;
  191. extern NSString * NTMovieProducer;
  192. extern NSString * NTMoviePerformers;
  193. extern NSString * NTMovieRequirements;
  194. extern NSString * NTMovieSourceCredits;
  195. extern NSString * NTMovieWriters;
  196.  
  197. // NSThread threadDictionary keys
  198. extern NSString * NTThreadContext;
  199.  
  200. // Misc keys
  201. extern NSString * NTFileType;
  202.  
  203. // Keys to support inspector panel, used in currentMovieParameters dict
  204. extern NSString * NTMovieDataSize;
  205. extern NSString * NTMovieDataRate;
  206. extern NSString * NTMovieVideoBitsPerPixel;
  207. extern NSString * NTMovieVideoFrameRate;
  208. extern NSString * NTMovieUserDictionary;
  209. extern NSString * NTMovieReferencedFiles;
  210.  
  211. @interface NSMutableDictionary (NEXTIME_CannedDictionaries)
  212. //
  213. // Sample description dictionaries:
  214. //
  215. //    All sample data within NEXTIME is stamped with a sample size in bytes,
  216. //    a sample time, sample duration, and a count.  A dictionary may also be
  217. //    associated with a sample to provide additional descriptive information.
  218. //    The initializers in this module provide a convenient means of
  219. //    constructing dictionaries containing supplementary information for
  220. //    specific sample types.
  221.  
  222. - initSoundDescriptionWithFormat:(int)format
  223.         sampleRate    :(double)rate
  224.         bitsPerChannel    :(int)nbits
  225.         channelCount    :(int)nchannels;
  226.  
  227. - initEncodedDescriptionWithSampleType:(NTTypeTag)sampleType
  228.         codecName :(NSString *)codecName
  229.         formatType :(NSString *)codecType
  230.         formatSubtype :(NSString *)subType
  231.         codecInstance :(id)codec;
  232.  
  233. - initBitmapDescriptionWithFormatType: (NSString *) type
  234.                 subtype: (NSString *) subtype
  235.                 width: (int) width
  236.                 height: (int) height;
  237.  
  238. //
  239. // the following is obsolete -- pixel encodings are completely described
  240. // by their pixel encoding (format subtype).
  241. //  
  242. - initBitmapDescriptionWithColorSpace:(NSString *)cSpace
  243.         pixelsWide    :(int)width
  244.         pixelsHigh    :(int)height
  245.         bitsPerChannel    :(int)bpc
  246.         channelsPerPixel:(int)cpp
  247.         bitsPerPixel    :(int)pBits
  248.         bytesPerRow    :(int)rBytes
  249.         hasAlpha    :(BOOL)alpha
  250.         isPlanar    :(BOOL)is_planar;
  251.  
  252. //
  253. // Components may be requested from the Component Manager by passing
  254. // in a dictionary of key/value pairs to be matched.
  255. //
  256. - initComponentRequestForType :(NSString *)componentType subtype :(NSString *)componentSubtype;
  257.  
  258. @end
  259.