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

DVD

开发平台:

Others

  1. /*
  2. file: samp_apm_exp.c
  3. decription: implements SAMP apm APIs for use by UI task.
  4. */
  5. #include "config.h"
  6. #ifdef TEST_HARNASS // for test only.
  7. #include "IncludeSysDefs.h"
  8. #include "playcoresampsamp_gen.h"
  9. #include "playcoresampsamp_apm.h"
  10. #include "playcoresampschedulersamp_api.h"
  11. #define SAMP_EXP(name) SAMP_EXP_##name
  12. SAMP(ErrCode) SAMP_EXP(APM_SetInputMode)(SAMP(SACD_InputModeDef) InputStream)
  13. {
  14.      SAMP(ErrCode) err;
  15.      SAMP_API_PARAM[0] = (UINT32)InputStream ;
  16.      SAMP_APICallRequest (APM_SET_INPUTMODE, &err);
  17.      return err;
  18. }
  19. SAMP(ErrCode) SAMP_EXP(APM_SetOutputMode)(SAMP(APM_OutputModeDef) out_mode_6ch, SAMP(APM_OutputModeDef) out_mode_2ch)
  20. {
  21.      SAMP(ErrCode) err;
  22.      SAMP_API_PARAM[0] = (UINT32)out_mode_6ch ;
  23.      SAMP_API_PARAM[1] = (UINT32)out_mode_2ch ;
  24.      SAMP_APICallRequest (APM_SET_OUTPUTMODE, &err);
  25.      return err;
  26. }
  27. SAMP(ErrCode) SAMP_EXP(APM_Set6chDownmix)(SAMP(APM_6ch_MixDef) Downmix)
  28. {
  29.      SAMP(ErrCode) err;
  30.      SAMP_API_PARAM[0] = (UINT32)Downmix ;
  31.      SAMP_APICallRequest (APM_SET_6CHDOWNMIX, &err);
  32.      return err;
  33. }
  34. SAMP(ErrCode) SAMP_EXP(APM_Set2chDownmix)(SAMP(APM_2ch_MixDef) Downmix)
  35. {
  36.      SAMP(ErrCode) err;
  37.      SAMP_API_PARAM[0] = (UINT32)Downmix ;
  38.      SAMP_APICallRequest (APM_SET_2CHDOWNMIX, &err);
  39.      return err;
  40. }
  41. SAMP(ErrCode) SAMP_EXP(APM_SetSpeakers)(SAMP(APM_SpeakerDef) Downmix)
  42. {
  43.      SAMP(ErrCode) err;
  44.      SAMP_API_PARAM[0] = (UINT32)Downmix ;
  45.      SAMP_APICallRequest (APM_SET_SPEAKERS, &err);
  46.      return err;
  47. }
  48. SAMP(ErrCode) SAMP_EXP(APM_SetAttenuation)(SAMP(UInt16) Attenuation[8])
  49. {
  50.      SAMP(ErrCode) err;
  51.      SAMP_API_PARAM[0] = (UINT32)Attenuation[0] ;
  52.      SAMP_API_PARAM[1] = (UINT32)Attenuation[1] ;
  53.      SAMP_API_PARAM[2] = (UINT32)Attenuation[2] ;
  54.      SAMP_API_PARAM[3] = (UINT32)Attenuation[3] ;
  55.      SAMP_API_PARAM[4] = (UINT32)Attenuation[4] ;
  56.      SAMP_API_PARAM[5] = (UINT32)Attenuation[5] ;
  57.      SAMP_API_PARAM[6] = (UINT32)Attenuation[6] ;
  58.      SAMP_API_PARAM[7] = (UINT32)Attenuation[7] ;
  59.      SAMP_APICallRequest (APM_SET_ATTENUATION, &err);
  60.      return err;
  61. }
  62. SAMP(ErrCode) SAMP_EXP(APM_SetDelay)(SAMP(UInt32) Delay[6])
  63. {
  64.      SAMP(ErrCode) err;
  65.      SAMP_API_PARAM[0] = (UINT32)Delay[0];
  66.      SAMP_API_PARAM[1] = (UINT32)Delay[1];
  67.      SAMP_API_PARAM[2] = (UINT32)Delay[2];
  68.      SAMP_API_PARAM[3] = (UINT32)Delay[3];
  69.      SAMP_API_PARAM[4] = (UINT32)Delay[4];
  70.      SAMP_API_PARAM[5] = (UINT32)Delay[5];
  71.      SAMP_APICallRequest (APM_SET_DELAY, &err);
  72.      return err;
  73. }
  74. SAMP(ErrCode) SAMP_EXP(APM_SetFilterMode)(SAMP(APM_FilterModeDef) FilterMode)
  75. {
  76.      SAMP(ErrCode) err;
  77.      SAMP_API_PARAM[0] = (UINT32)FilterMode ;
  78.      SAMP_APICallRequest (APM_SET_FILTERMODE, &err);
  79.      return err;
  80. }
  81. SAMP(ErrCode) SAMP_EXP(APM_SetPcmUpsampling)(SAMP(UInt8) Upsampling)
  82. {
  83.      SAMP(ErrCode) err;
  84.      SAMP_API_PARAM[0] = (UINT32)Upsampling ;
  85.      SAMP_APICallRequest (APM_SET_PCMUPSAMPLING, &err);
  86.      return err;
  87. }
  88. SAMP(ErrCode) SAMP_EXP(APM_SetBassFilters)(SAMP(APM_BassFrequencyDef) BassFrequency, SAMP(APM_BassSlopeDef) BassSlope)
  89. {
  90.      SAMP(ErrCode) err;
  91.      SAMP_API_PARAM[0] = (UINT32)BassFrequency ;
  92.      SAMP_API_PARAM[1] = (UINT32)BassSlope ;
  93.      SAMP_APICallRequest (APM_SET_BASSFILTERS, &err);
  94.      return err;
  95. }
  96. SAMP(ErrCode) SAMP_EXP(APM_SetPIO)(SAMP(BitSet16) pio_bits)
  97. {
  98.      SAMP(ErrCode) err;
  99.      SAMP_API_PARAM[0] = (UINT32)pio_bits ;
  100.      SAMP_APICallRequest (APM_SET_PIO, &err);
  101.      return err;
  102. }
  103. #endif