📄 melody_env.h
字号:
#ifndef _MELODY_ENV_H_
#define _MELODY_ENV_H_
/*
* vibrator setting macro
*/
/* vibrator control source */
#define MI_VBR_SRC_OFF 0 /* vibrator control source off */
#define MI_VBR_SRC_FORCED 1 /* designation forced */
#define MI_VBR_SRC_SEQSYNC 2 /* sync with synthesizer */
/* vibrator blinking setting */
#define MI_VBR_BLK_OFF 0 /* vibrator blinking off */
#define MI_VBR_BLK_225HZ 1 /* vibrator blinking at freqency 2.25Hz */
#define MI_VBR_BLK_200HZ 2 /* vibrator blinking at freqency 2.0Hz */
#define MI_VBR_BLK_150HZ 3 /* vibrator blinking at freqency 1.5Hz */
#define MI_VBR_BLK_100HZ 4 /* vibrator blinking at freqency 1.0Hz */
#define MI_VBR_BLK_050HZ 5 /* vibrator blinking at freqency 0.5Hz */
#define MI_VBR_BLK_DEFAULT MI_VBR_BLK_225HZ /* default setting */
/* vibrator forced control setting */
#define MI_VBR_FORCED_OFF 0 /* vibrator off */
#define MI_VBR_FORCED_ON 1 /* vibrator on */
/* power save timer value */
#define MI_POWERSAVE_SECS 10 /* seconds */
/* power control reason */
#define MI_PWRCTRL_ALL 0x0
#define MI_PWRCTRL_VBR 0x01
#define MI_PWRCTRL_MUSIC 0x02
#if MELODY_TRACE
/* trace a formated string message */
#define MELODYTRACE_MSG(s) MI_dbgPrintf s
#else
#define MELODYTRACE_MSG(s)
#endif /* MELODY_TRACE */
/* music internal infomation */
typedef struct MusicInfomation
{
UINT8 mID; /* music id */
UINT8 mType; /* music file type */
UINT8* mPtr; /* music file pointer */
UINT32 mLen; /* music file length */
} T_MUSIC_INFO;
/* process mode when a play end or a stop requested */
typedef enum PostStopMode
{
MI_PostOnly, /* only post process needed */
MI_StopAndPost /* stop process needed before post process */
} T_POSTSTOP;
/* reset melody chip */
void MI_Melody_Reset(void);
#if (MELODY_FFS_SUPPORT == 1)
/* load a music file in FFS to internal buffer */
T_MELODY_RET MI_LoadMusicByName(const char * musicName, UINT8 type);
/* detect type of music file */
T_MELODY_RET MI_DetectMusicType(const char *pData, UINT8 *type);
#endif
/* get a music information by its ID */
T_MELODY_RET MI_GetMusicInfoByID(T_MUSIC_INFO *const musicInfo);
/* callback function invoked by MA sound middleware when event occurs */
signed long MI_Melody_CB( unsigned char id );
/* music player error handler */
void MI_Melody_ErrHdr(SINT32 funcID, SINT32 fileID);
#ifdef MELODY_POWERSAVE
/* power saving timer handler */
void MI_pwrSaveTmrProcess(UINT32 tmrID);
/* release device from power saving mode */
T_MELODY_RET MI_Melody_PwrRelease(void);
#endif
/* set a specific file to ready state and can begin play or seek hereafter */
T_MELODY_RET MI_PlayPrepare(UINT8 musicID, UINT8 count);
/* stop a playing file and some poststop process */
T_MELODY_RET MI_Melody_PostStop(SINT32 funcID, SINT32 fileID, T_POSTSTOP mode);
/* for enable/disable external headphone amplifier */
void MI_Melody_HpAmpCtrl(UINT8 AmpOn, UINT8 reason);
#endif /* _MELODY_ENV_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -