read.h
上传用户:poi891205
上传日期:2013-07-15
资源大小:9745k
文件大小:6k
源码类别:

DVD

开发平台:

C/C++

  1. /*
  2.  *************************************************************************
  3.  * File Name:   read.h
  4.  * Created:     2003/8/1 12:49PM Maoyong 
  5.  * Description: Repeat reading implement header file
  6.  * Maintain:    Maoyong 2004.06.09 rewrite
  7.  ************************************************************************
  8.  */
  9. #include "cfont.h"
  10. #include "icon.h"
  11. #ifdef SUPPORT_REP_READ
  12. /* FUDO DSP Command types definition*/
  13. enum{
  14.     FUDO_CMD_STOP = 0,
  15.     FUDO_CMD_REC = 1,
  16.     FUDO_CMD_PLAY,
  17.     FUDO_CMD_PAUSE,
  18.     FUDO_CMD_Q_H,       //high record quality
  19.     FUDO_CMD_Q_M,       //middle record quality
  20.     FUDO_CMD_Q_L,       //low record quality
  21. };
  22. /* FUDO Operation mode definition*/
  23. enum{
  24.     FUDO_GENDU = 0,
  25.     FUDO_REPEAT = 1,
  26.     FUDO_COMPARE,  
  27. };
  28. /* FUDO record mode definition*/
  29. enum{
  30.     REC_Q_HIGH = 0,
  31.     REC_Q_MIDDLE = 1,
  32.     REC_Q_LOW,  
  33. };
  34. /*for uReadStatus: current read status */
  35. enum
  36. {
  37.     READ_ST_NONE = 0,
  38.     READ_ST_RECORDING = 1,
  39.     READ_ST_PLAYBACK,
  40. };
  41. enum
  42. {
  43. UNSEL_BTN_NORM = 0,     //button not selected, no Up,Down,Left,Right to this Button
  44. UNSEL_BTN_HL = 1,       //button not selected, Up,Down,Left,Right to this Button
  45. SEL_BTN_NORM,           //button is selected, no Up,Down,Left,Right to this Button
  46. SEL_BTN_HL              //button isselected, Up,Down,Left,Right to this Button
  47. };
  48. enum
  49. {
  50.     SET_NE=0,
  51.     SET_BS=0x1,
  52.     SET_FUNC=0x2,
  53.     SET_CHART=0x3,
  54.     SET_NM = 0x04,
  55.     SET_SPACE=0x5,
  56.     SET_SCALE=0x6,
  57. };
  58. //keep color style with setup and program panel
  59. #define TRANS_CLR     0
  60. #define BG_CLR       6
  61. #define FONT_CLR       11
  62. #define BLACK_CLR           11
  63. #define WHITE_CLR           2
  64. #define YELLOW_CLR     7
  65. #define ANTI_BG_CLR      5
  66. #define ANTI_FONT_CLR       2
  67. #define INFO_FONT_CLR       14
  68. #define SEL_FONT_CLR     4
  69. //button up/down state definition
  70. #define BTN_DOWN        1
  71. #define BTN_UP         0
  72. //fudu osd main panel region
  73. #define READ_REGION         2
  74. #define READ_REG_W          25  //16pixel per unit
  75. #define READ_REG_H          172   //24pixel per unit
  76. #define ORI_EQ              0   //original EQ
  77. #define REC_EQ              1   //record voice EQ
  78. //menu level definition
  79. #define MAIN_LEVEL          0
  80. #define SUB_LEVEL           1
  81. //page and item definition
  82. #define MAX_READ_ITEM       4
  83. #define MAX_ITEM_SEL        6
  84. #define REC_MODE_ITEM       0
  85. #define READ_MODE_ITEM      1
  86. #define REPTIMES_ITEM       2
  87. #define EQ_ITEM             3
  88. #define READ_BTN_WIDTH      15  //setup rep read  button length(16pixels UNIT)
  89. #define PB_BTN_WIDTH        4   //playback/rec control button length(16pixels UNIT)
  90. #define READ_SUB_MENU_X     17  //for sub menu start
  91. #define EQ_BG_START_Y       14  //for EQ bg start Y (pixel)
  92. #define INFO_STR_X          1   //for information display
  93. #define INFO_STR_Y          34
  94. #define DEF_REP_TIMES       1
  95. //used osd string releated definition 
  96. #define MAX_READ_OSD_LANGS  2   //English and Chinese 
  97. #define MAX_OSD_STR     15
  98. //used string ID definition
  99. #define STR_OS_REC_MODE     0
  100. #define STR_OS_HIGH         1 
  101. #define STR_OS_MIDDLE       2
  102. #define STR_OS_LOW          3
  103. #define STR_OS_READ_MODE    4 
  104. #define STR_OS_GENDU        5
  105. #define STR_OS_COMPARE      6
  106. #define STR_OS_REPEAT       7
  107. #define STR_OS_REP_TIMES    8
  108. #define STR_OS_READ_EQ      9
  109. #define STR_OS_TIME_PROMP   10
  110. //chinese string definition
  111. #define OS_REC_MODE         _cat4_(Ch_lu, Ch_yin, Ch_mo, Ch_shi) 
  112. #define OS_REC_HIGH         Ch_gao
  113. #define OS_REC_MIDDLE       Ch_zhong
  114. #define OS_REC_LOW          Ch_di
  115. #define OS_READ_MODE        _cat4_(Ch_fu, Ch_du, Ch_mo, Ch_shi) 
  116. #define OS_READ_GENDU       Ch_du
  117. #define OS_READ_COMPARE     _cat_(Ch_dui, Ch_bi1)
  118. #define OS_READ_REPEAT      _cat_(Ch_fu, Ch_du)
  119. #define OS_REP_TIMES       _cat3_(Ch_chong, Ch_fu, Ch_shu4)
  120. #define OS_READ_EQ          OS_EQ
  121. //flow control flag in mediamainloop
  122. #define PRE_MAIN_LOOP       0
  123. #define IN_MAIN_LOOP        1
  124. #define POST_MAIN_LOOP      2
  125. //some utilization marco 
  126. #define IsReadSetPBTimes()      ( (full_scrn & READ) && 
  127.                                 (index_y == REPTIMES_ITEM)&&
  128.                                 uReadMenuLevel )
  129. #define SetReadRecording()      ( uReadStatus = READ_ST_RECORDING )
  130. #define SetReadPlayback()       ( uReadStatus = READ_ST_PLAYBACK )
  131. #define IsReadRecording()       ( uReadStatus == READ_ST_RECORDING )
  132. #define IsReadPlayback()        ( uReadStatus == READ_ST_PLAYBACK )
  133. #define IsReadMode()            ( (full_scrn & READ) && ( IsReadRecording()||IsReadPlayback() ) )  
  134.                                     
  135. #define IsReadGendu()           ( (full_scrn & READ) && (uFudoMode == FUDO_GENDU) )
  136. #define IsReadCompare()         ( (full_scrn & READ) && (uFudoMode == FUDO_COMPARE) )
  137. #define IsReadRepeat()          ( (full_scrn & READ) && (uFudoMode == FUDO_REPEAT) )
  138.                                     
  139. UINT8  uFudoMode;              //compare/repeat/follow read(gendu)
  140. UINT8   uRecordMode;            //record quality setting   
  141. UINT8  uPlaybackTimes;         //the set playback times
  142. int     uPBTimesSetting;        //used for user input number to setting 
  143. UINT8   uRealPBTimes;           //the real playback times used in flow control
  144. UINT8   uPlaybackFlag;          //for playback control. 1 = paly music , 0: red/playback rec/follow read 
  145. UINT8   uReadMenuLevel;         //read menu level
  146. UINT8   uReadSelMaxIndex;       //the sub menu's useful selection items number
  147. UINT8   uReadShowEq;            //the flag to show EQ in repeat mode
  148. UINT8   uReadEqType;            //record EQ /original music EQ
  149. UINT8   uReadStatus;            //recording or playback
  150. extern  BYTE index_y2;      
  151. extern  BYTE index_y_start;
  152. //function prototype for external calling
  153. void CancelRead(void);
  154. void InitRead(void);
  155. void ClearReadMode(void);
  156. int RepReadSendCmd(UINT8 uCmdType);
  157. void ReadShowPromptInfo(UINT8 uShowHide);
  158. void DisplayReadEq(UINT8 type, BYTE r);
  159. UINT32 PollingRecBufStatus(void);
  160. UINT32 MainLoopCtrlReadMode(UINT32 uFlag);
  161. void RepBCtrlReadMode(void);
  162. #endif  //#ifdef SUPPORT_REP_READ