📄 time_handler.c
字号:
#include "winamp_remote_control.h"
TIME_DATA __xdata timeData;
//extern WINAMP_DISPLAY_DATA __xdata waDispData;
void timeInit() {
t4mgrInit(T4MGR_TICK_INTERVAL);
timeData.t4mgrIndex = t4mgrSetupCallback(TIME_T4MGR_PERIOD, timeTickCallback);
} // timeInit
void timeSyncToWinamp(void) {
BYTE critSect = utilEnterCriticalSection();
// Minutes
timeData.minutes = waDispData.minutes;
// Seconds
timeData.seconds = waDispData.seconds;
// Milliseconds
timeData.milliseconds = waDispData.milliseconds;
t4mgrModifyCallback(timeData.t4mgrIndex, T4MGR_KEEP_PERIOD, 0);
utilLeaveCriticalSection(critSect);
} // timeSyncToWinamp
void timeTickCallback(void) {
BYTE critSect = utilEnterCriticalSection();
P0_1 = ~P0_1;
if (waDispData.state & WDD_STATE_PLAYING_BM) {
timeData.milliseconds += TIME_MSECS_PER_T4MGR_TICK;
if (timeData.milliseconds >= 1000) {
timeData.milliseconds -= 1000;
P0_0 = ~P0_0;
if (++timeData.seconds == 60) {
timeData.seconds = 0;
timeData.minutes++;
}
rcData.refreshTime = TRUE;
}
}
utilLeaveCriticalSection(critSect);
} // timeTickCallback
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -