samp_sdi.h
上传用户:super_houu
上传日期:2008-09-21
资源大小:4099k
文件大小:7k
源码类别:

DVD

开发平台:

Others

  1. /*******************************************************************************
  2. * Copyright(c) Philips Consumer Electronics B.V. 2001
  3. * The attached material and the information contained therein is proprietary
  4. * to Philips and is issued only under strict confidentiality arrangements.
  5. * It shall not be used, reproduced, copied in whole or in part, adapted,
  6. * modified, or disseminated without a written license of Philips.           
  7. * It must be returned to Philips upon its first request.
  8. *
  9. *  Project:        SA-MP ( Super Audio Media Player )
  10. *  File %name:     samp_sdi.h %
  11. *  %version:       9 %
  12. *  %date_modified: Fri May 24 17:57:25 2002 %
  13. *  %derived_by:    potm %
  14. *  Creation date:  Fri Jun 15 09:42:54 2001
  15. *  First author:   klerxm
  16. *
  17. *  Advanced Systems and Applications Lab - Eindhoven
  18. *
  19. *  Continuus %full_filespec: samp_sdi.h~9:incl:1 %
  20. *
  21. *  Description:    Exported header file of the SACD Disc Information
  22. *
  23. * Change history:
  24. *
  25. * Rev  Date       Who      Comments
  26. * ---- ---------- -------- -----------------------------------------------------
  27. *   1  2001-06-07 klerxm   Initial version
  28. *   2  2001-06-15 klerxm   Removed newlines
  29. *   3  2001-08-22 potm     Changed first parameter of SDI_SetLanguagePreference
  30. *                          to UInt8 instead of UInt16.
  31. *   4  2001-10-19 potm     - Removed character set data type
  32. *                          - Added pLanguage output parameter to text functions
  33. *   5  2001-10-30 potm     - Added messages from content provider/artist and
  34. *                            extra messages to SDI_TrackTextField type
  35. *                          - Added prototype of SetAvailableCharSets
  36. *   6  2002-02-18 potm     Changed type of language parameters to 
  37. *                          SDI_LanguageCodeDef (CR340)
  38. *   7  2002-05-16 potm     Moved SDI_GetNumberOfIndices from this file to
  39. *                          sdi_external.c since it is now part of the external 
  40. *                          interface of SA-MP
  41. *   8  2002-06-07 klerxm   Added 'extern "C"'
  42. *   9  2003-02-13 potm     - Added prototypes of SDI_GetDTCP_Info, 
  43. *                            SDI_GetSpecVersion and SDI_GetAreaData (CR405)
  44. *                          - Added types SDI_Spec_Version and SDI_Area_Data
  45. *                            (CR405)
  46. *
  47. *******************************************************************************/
  48. #ifndef _SAMP_SDI_H
  49. #define _SAMP_SDI_H
  50. /*******************************************************************************
  51. *                                Include Files
  52. *******************************************************************************/
  53. #include "Playcoresampsamp_gen.h"
  54. #ifdef __cplusplus
  55. extern "C" {
  56. #endif
  57. /*******************************************************************************
  58. *                              Macro Definitions
  59. *******************************************************************************/
  60. /*******************************************************************************
  61. *                              Type Definitions
  62. *******************************************************************************/
  63. typedef char SAMP(SDI_LanguageCodeDef)[2];
  64. typedef struct {
  65.   SAMP(UInt16)  Year;
  66.   SAMP(UInt8)   Month;
  67.   SAMP(UInt8)   Day;
  68. } SAMP(SDI_Date);
  69. typedef struct {
  70.   SAMP(UInt8)   Genre_Table;
  71.   SAMP(UInt16)  Genre_Index;
  72. } SAMP(SDI_Genre_Code);
  73. typedef struct {
  74.   SAMP(UInt16)          Album_Set_Size;
  75.   SAMP(UInt16)          Album_Sequence_Number;
  76.   char                  Album_Catalog_Number[17];
  77.   SAMP(SDI_Genre_Code)  Album_Genre[4];
  78. } SAMP(SDI_Album_Info);
  79. typedef struct {
  80.   char                  Disc_Catalog_Number[17];
  81.   SAMP(SDI_Genre_Code)  Disc_Genre[4];
  82.   SAMP(SDI_Date)        Disc_Date;
  83. } SAMP(SDI_Disc_Info);
  84. typedef struct {
  85.   char  Country_Code[2];
  86.   char  Owner_Code[3];
  87.   char  Recording_Year[2];
  88.   char  Designation_Code[5];
  89. } SAMP(SDI_ISRC_Code);
  90. typedef struct {
  91.   SAMP(SDI_Genre_Code)  Genre;
  92.   SAMP(SDI_ISRC_Code)   ISRC;
  93. } SAMP(SDI_Track_Info);
  94. typedef enum {
  95.   SAMP(NORMAL),
  96.   SAMP(PHONETIC)
  97. } SAMP(SDI_TextChannelType);
  98. typedef enum {
  99.   SAMP(ALBUM_TEXT_TITLE),
  100.   SAMP(ALBUM_TEXT_ARTIST),
  101.   SAMP(ALBUM_TEXT_PUBLISHER),
  102.   SAMP(ALBUM_TEXT_COPYRIGHT)
  103. } SAMP(SDI_AlbumTextField);
  104.   
  105. typedef enum {
  106.   SAMP(DISC_TEXT_TITLE),
  107.   SAMP(DISC_TEXT_ARTIST),
  108.   SAMP(DISC_TEXT_PUBLISHER),
  109.   SAMP(DISC_TEXT_COPYRIGHT)
  110. } SAMP(SDI_DiscTextField);
  111. typedef enum {
  112.   SAMP(AREA_TEXT_NAME),
  113.   SAMP(AREA_TEXT_COPYRIGHT)
  114. } SAMP(SDI_AreaTextField);
  115. typedef enum {
  116.   SAMP(TRACK_TEXT_TITLE),
  117.   SAMP(TRACK_TEXT_PERFORMER),
  118.   SAMP(TRACK_TEXT_SONGWRITER),
  119.   SAMP(TRACK_TEXT_COMPOSER),
  120.   SAMP(TRACK_TEXT_ARRANGER),
  121.   SAMP(TRACK_TEXT_MESSAGE),
  122.   SAMP(TRACK_TEXT_EXTRA)
  123. } SAMP(SDI_TrackTextField);
  124. typedef struct {
  125.   SAMP(UInt8) Major_Version;
  126.   SAMP(UInt8) Minor_Version;
  127. } SAMP(SDI_Spec_Version);
  128. typedef struct {
  129.   SAMP(UInt8) N_Channels;
  130.   SAMP(UInt8) Area_Config;
  131.   SAMP(UInt8) Max_Available_Channels;
  132.   SAMP(UInt8) Area_Mute_Flags;
  133. } SAMP(SDI_Area_Data);
  134. /*******************************************************************************
  135. *                            Functions Prototypes
  136. *******************************************************************************/
  137. SAMP(ErrCode) SAMP(SDI_SetAvailableCharSets)( SAMP(UInt8) nrOfCharSets, SAMP(UInt8) *pCharSetList );
  138. SAMP(ErrCode) SAMP(SDI_SetLanguagePreference)( SAMP(UInt8) nrOfLanguages, SAMP(SDI_LanguageCodeDef) *pLanguageCodes );
  139. SAMP(ErrCode) SAMP(SDI_GetAlbumInfo)( SAMP(SDI_Album_Info) *pAlbumInfo );
  140. SAMP(ErrCode) SAMP(SDI_GetAlbumText)( SAMP(SDI_AlbumTextField) field, SAMP(SDI_TextChannelType) type, SAMP(UInt32) bufferSize, void *pAlbumText, SAMP(UInt8) *pCharSet, SAMP(SDI_LanguageCodeDef) *pLanguage );
  141. SAMP(ErrCode) SAMP(SDI_GetDiscInfo)( SAMP(SDI_Disc_Info) *pDiscInfo );
  142. SAMP(ErrCode) SAMP(SDI_GetDiscText)( SAMP(SDI_DiscTextField) field, SAMP(SDI_TextChannelType) type, SAMP(UInt32) bufferSize, void *pDiscText, SAMP(UInt8) *pCharSet, SAMP(SDI_LanguageCodeDef) *pLanguage );
  143. SAMP(ErrCode) SAMP(SDI_GetAreaText)( SAMP(SACD_Area) area, SAMP(SDI_AreaTextField) field, SAMP(SDI_TextChannelType) type, SAMP(UInt32) bufferSize, void *pAreaText, SAMP(UInt8) *pCharSet, SAMP(SDI_LanguageCodeDef) *pLanguage );
  144. SAMP(ErrCode) SAMP(SDI_GetTrackInfo)( SAMP(SACD_Area) area, SAMP(UInt8) trackNr, SAMP(SDI_Track_Info) *pTrackInfo );
  145. SAMP(ErrCode) SAMP(SDI_GetTrackText)( SAMP(SACD_Area) area, SAMP(UInt8) trackNr, SAMP(SDI_TrackTextField) field, SAMP(SDI_TextChannelType) type, SAMP(UInt32) bufferSize, void *pTrackText, SAMP(UInt8) *pCharSet, SAMP(SDI_LanguageCodeDef) *pLanguage );
  146. SAMP(ErrCode) SAMP(SDI_GetNumberOfIndices)( SAMP(SACD_Area) area, SAMP(UInt8) track, SAMP(UInt8) *pNrOfIndices );
  147. SAMP(ErrCode) SAMP(SDI_GetDTCP_Info)(SAMP(UInt32) offset, SAMP(UInt32) size, void *pBuffer);
  148. SAMP(ErrCode) SAMP(SDI_GetSpecVersion)( SAMP(SDI_Spec_Version) *pSpecVersion );
  149. SAMP(ErrCode) SAMP(SDI_GetAreaData)(SAMP(SACD_Area) area, SAMP(SDI_Area_Data) *pAreaData );
  150. #ifdef __cplusplus
  151. }
  152. #endif
  153. #endif /* _SAMP_SDI_H */
  154. /*******************************************************************************
  155. *                                End of File
  156. *******************************************************************************/