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

DVD

开发平台:

C/C++

  1. /*
  2. *  Terry,2004/1/29 06:17PM
  3. */
  4. //--------------------------------------------------------------------------------------
  5. //#define is_dvd()    (cd_type_loaded == CDDVD)//move to ircmd_audio.c 2004-4-10 17:24
  6. #define is_cdda()   (cd_type_loaded == CDDA)
  7. #define is_dts_cd() (cd_subtype == CD_DTS)
  8. #define is_ppcm()   (coding_mode_now == AUDIF_CODING_MODE_PPCM)
  9. #ifdef SUPPORT_WMA//zhaoyanhua add 03-10-11 17:58 when WMA ,not dot MP3.
  10. #define is_wma()    (GetCurrentFileType()== CDROM_WMA)
  11. #else
  12. #define is_wma()    (0)
  13. #endif
  14. #ifdef SUPPORT_NESGAME
  15. #define is_game()   (Is_GAME_STATE())
  16. #else
  17. #define is_game()   (0)
  18. #endif
  19. #ifdef INVALID_3D_WHEN_DTS //dingzhy for tonic  2004-2-8 15:54
  20. #define  is_DTS()    ( ( coding_mode_now&(AUDIF_CODING_MODE_DTS|AUDIF_CODING_MODE_DTSCD) )||(cd_subtype==CD_DTS) )
  21. #else
  22. #define  is_DTS()     (0)
  23. #endif
  24. #ifdef INVALID_3D_WHEN_AB //wangfeng 2004-2-18 22:48
  25. //#define is_repeat() (rep_mode==REPEAT_TRACK||rep_ab_mode==REPEAT_FIND_A||rep_ab_mode==REPEAT_FIND_B)
  26. #define is_repeat() (rep_ab_mode==REPEAT_FIND_B)
  27. #else
  28. #define is_repeat() (0)
  29. #endif
  30. //--------------------------------------------------------------------------------------
  31. #ifdef USE_108MHZ
  32. #if defined(REPEAT_AB_TOO_SHORT_DISABLE_3D)
  33. #define is_108mhz() (is_dts_cd()||is_wma()||( is_cdda()&&ircmd_repeat_ab_time_is_too_short()))//wangfeng 2004-2-18 15:42)
  34. #else//REPEAT_AB_TOO_SHORT_DISABLE_3D
  35. #define is_108mhz() (is_dts_cd()||is_wma() ||is_repeat())
  36. #endif//REPEAT_AB_TOO_SHORT_DISABLE_3D
  37. #else//#ifdef USE_108MHZ
  38. #define is_108mhz() (0)
  39. #endif//#ifdef USE_108MHZ
  40. #ifdef SUPPORT_REP_READ   //Maoyong add 0812  
  41. #define is_read()  (full_scrn & READ)
  42. #else
  43. #define is_read()   (0)
  44. #endif
  45. #ifdef SUPPORT_PROLOGIC_II
  46. #define is_pl2_on() (setup_GetPrologicII()<=3)
  47. #else
  48. #define is_pl2_on() (0)
  49. #endif
  50. //--------------------------------------------------------------------------------
  51. //terry,2004/2/4 07:04PM
  52. #ifdef SHOW_3D_WHEN_SPDIF //show 3d when spdif by wangfeng,2003-10-21 10:20
  53. #define is_spdif_on() (0)
  54. #else
  55. #define is_spdif_on() ( setup_IsSet2SPDIF_Bitstream()||setup_IsSet2SPDIF_PCM() )
  56. #endif
  57. #define is_5ch_out() (setup_GetDownmixMode()>5)
  58. #define is_dsp_performance_not_ok() ((is_dts_cd()||is_dvd())&&(is_5ch_out()||is_spdif_on()))
  59. //--------------------------------------------------------------------------------
  60. #define is_invalid() 
  61.           (is_108mhz()||is_game()||is_read()||is_pl2_on()||is_dsp_performance_not_ok()||is_ppcm()||is_DTS()||(setup_IsSpkDownmixOff()&&(cd_type_loaded==CDDVD)))
  62.           
  63. //        (is_108mhz()||is_game()||is_read()||is_pl2_on()&&(!is_dsp_performance_ok())||is_ppcm() )//20040203
  64. //-------------------------------------------------------------------------------------
  65. #ifdef SUPPORT_OSDID3//suqiaoli add 2004-3-26 
  66. extern void osd_init_OSDID3(void);
  67. extern void show_id3(void);
  68. #endif
  69. #ifdef SUPPORT_MP4_SUBTITLE  // David 2004-5-12
  70. extern void osd_init_OSDSRT(void);
  71. #endif
  72. //---------------------------------------------------------------------------------------
  73. //freyman add for sva 2002-10-25 15:34
  74. void  cancel_sound(void)
  75. {
  76. #ifdef SUPPORT_3DSOUND
  77.     full_scrn=0;
  78.     //bEqDisplay=0;
  79.     setup_eq_display(0);//terry,2003/9/26 04:43PM
  80.     sound_set_EQ_again();//NONO 20040722
  81. #ifdef CD_PLAYER        //liweihua add 2003-9-11
  82.     if(cd_type_loaded == CDDA)
  83.         osd_init_cdplayer();
  84.     else
  85.     //osd_init();
  86. #elif defined(SUPPORT_OSDID3)//liweihua add 2004-1-9 10:26
  87.     if(Is_MP3_STATE())
  88.     {
  89.         osd_init_OSDID3();
  90.         show_id3();
  91.     }
  92.     else
  93. #endif
  94.     osd_init();
  95. #ifdef SUPPORT_CD_TEXT//LIZHX ADD 2004,8,19
  96.         if(cd_type_loaded == CDDA)
  97.         {
  98.             osd_init_CDText();
  99.             show_CDText(v11_trk_now);
  100.         }
  101. #endif
  102. #ifdef SUPPORT_MP4_SUBTITLE  // David 2004-5-12
  103.     if (GetCurrentFileType() ==  CDROM_MP4)
  104.     {
  105.         osd_init_OSDSRT();
  106.     }
  107. #endif
  108. #endif//#ifdef SUPPORT_3DSOUND
  109. }
  110. /*huziqin 2004-2-26 I removed a block here*/
  111. #if defined(SDRAM_16Mb_Mode)|| !defined(SUPPORT_3DSOUND)
  112. #ifdef PANDA_16Mb_Mode_3D_KEY_VALID //gerry,2004-3-16 0:40
  113. int surround_off=0;
  114. #endif//PANDA_16Mb_Mode_3D_KEY_VALID
  115. void ircmd_3dsound(void)
  116. {
  117. #ifdef PANDA_16Mb_Mode_3D_KEY_VALID //gerry,2004-3-16 0:36 
  118. if(surround_off==1) 
  119. surround_off = 0; 
  120. else 
  121. surround_off = 1; 
  122. if(surround_off==1) 
  123.         OSD1000ISP_STATUS(OSDISP_3DON, OSDIR_3D);
  124. PrintOsdMsg(STR_OS_SURR|(STR_OS_ON<<OSDSTR_ID_TOTL_BIT),REGION1,1,4);
  125. }
  126. else
  127. {
  128.         OSD1000ISP_STATUS(OSDISP_3DOFF, OSDIR_3D);
  129.      PrintOsdMsg(STR_OS_SURR|(STR_OS_OFF<<OSDSTR_ID_TOTL_BIT),REGION1,1,4);
  130. }
  131. #else//PANDA_16Mb_Mode_3D_KEY_VALID
  132.    invalid_key();
  133. #endif//PANDA_16Mb_Mode_3D_KEY_VALID
  134. }
  135. #else
  136. static inline void start_up_3dsound(void)
  137. {
  138.    setup_eq_display(0);//terry,2003/9/26 04:43PM
  139.     sound_set_EQ_again();//nono 20040722
  140.     
  141.    full_scrn = SOUND;
  142.    osd_init_music();
  143. #if defined(SOUND_NO_KEYPAGE)&&defined(VTREK_DVD)
  144.    sound_init_2();
  145. #else   
  146.    sound_init();
  147. #endif   
  148.    ShowSoundPage();
  149.    
  150.    //Maoyong added for IR U/D/L/R/Sel proc func setting 2004-9-24 2004-9-24 9:07            
  151.    SetFullscrnCmdFuncPtr(sound_func_up, sound_func_down,  sound_func_left,
  152.                          sound_func_right, sound_func_select);
  153. }
  154. void ircmd_3dsound(void)
  155. {
  156.   printf("================= ircmd_3dsound =================n");
  157. #ifdef FAT_FILE_MODE//liweihua 2004-11-11 21:52
  158.     if((fat_play_mode == 1)&&(media_type == MEDIA_CARD))
  159.     {
  160.         ircmd_card_delete();
  161.         return;        
  162.     }
  163.     else if((fat_play_mode != 1)&&(play_state == VCD_STATE_CLOSE))
  164.     {
  165.         invalid_key();
  166.         return;        
  167.     }
  168. #endif
  169.   #ifdef SUPPORT_MIDI_MENU_SEL
  170.   if(gIsMidiSelMenu)  return;
  171.   #endif
  172. #ifndef GBM_3D_KEY_ALL_VALID //gerry,2004-2-7 15:48
  173.   // invalid function ...............
  174.   if(is_invalid())
  175.   {
  176.     invalid_key();
  177.     return;
  178.   }
  179. #endif//GBM_3D_KEY_ALL_VALID
  180.   //old dvd 3d function
  181. #ifndef GBM_DVD //gerry,2004-2-7 15:55
  182.   #ifndef DVD_3D_SHOW_SPECTRUM
  183.   if ( is_dvd()||is_dts_cd() )
  184.   {
  185.       #ifdef ADJUSTING_ACTION_VALID_RIGHT_NOW
  186.          setup_DVD3DSound(1);
  187.       #else
  188.          setup_DVD3DSound(action_click);
  189.       #endif
  190.       return;
  191.   }
  192.   #endif
  193. #endif//GBM_DVD
  194.   
  195.   //3d sound function
  196.   if(full_scrn & SOUND)
  197.   {
  198.       cancel_sound();
  199. #if 0//def OSD_BMP_DISPLAY //when display, press 3D to show sound menu in the region4 for cdrom,libing 20041120
  200.       osd_init();//libing2004-11-16 11:30 
  201. #endif
  202.       #ifdef CD_PLAYER        //liweihua 2003-9-3
  203.       if(is_cdda())  osd_init_cdplayer();
  204.       #endif
  205. #if defined(SUPPORT_TUNER_MV114) || defined(SUPPORT_TUNER_ALPS)  //xyy 2003-10-13 9:42
  206.       if(play_state == VCD_STATE_POWER)  disfreq();
  207.       #endif
  208.       OSD1000ISP_STATUS(OSDISP_3DOFF, OSDIR_3D);
  209.   }
  210.   else
  211.   {
  212.       start_up_3dsound();
  213.   }
  214. #if 0//def OSD_BMP_DISPLAY //when display, press 3D to show sound menu in the region4 for cdrom,feeling 20041009
  215. if((cd_type_loaded == CDROM) & t_disp)//libing 2004-11-14 12:43
  216.     {
  217. DispFadeIn();
  218. }
  219. #endif
  220. }
  221. #endif
  222. //--------------------------------------------------------------------------------------------