📄 recordmain.c
字号:
MYOSQPost(Recorder_Out,&msg);
return; */
case 2:
msg.type = MSG_KEY;
msg.msg.data[0] = ((WM_KEY_INFO*)(pMsg->Data.p))->Key | GUI_Key_Long;
MYOSQPost(Recorder_Out,&msg);
return;
case 3:
msg.type = MSG_KEY;
msg.msg.data[0] = ((WM_KEY_INFO*)(pMsg->Data.p))->Key | GUI_Key_Hold;
MYOSQPost(Recorder_Out,&msg);
return;
case 4:
System_DealMessage(pMsg);
return;
}
}
void cbCallBack_FunctionWindow(WM_MESSAGE* pMsg)
{
switch (pMsg->MsgId)
{
case WM_KEY:
_cbCallBack_DeakKeyMsg(pMsg);
return;
}
}
void cbCallBack_FunctionSubWindow(WM_MESSAGE* pMsg)
{
switch (pMsg->MsgId)
{
case WM_KEY:
_cbCallBack_DeakKeyMsg(pMsg);
return;
}
}
bitrate_t _ConvertStringToBT(char *BTString)
{
int BTIndex = 0;
while(*BTString != 'K')
{
BTIndex = BTIndex + BTIndex + (BTIndex << 3);//BTIndex *= 10;
BTIndex += *(BTString++) - '0';
}
switch(BTIndex)
{
case 8:
return _BT_8K;
case 16:
return _BT_16K;
case 24:
return _BT_24K;
case 32:
return _BT_32K;
case 40:
return _BT_40K;
case 48:
return _BT_48K;
case 56:
return _BT_56K;
case 64:
return _BT_64K;
case 80:
return _BT_80K;
case 96:
return _BT_96K;
case 112:
return _BT_112K;
case 128:
return _BT_128K;
case 144:
return _BT_144K;
case 160:
return _BT_160K;
case 192:
return _BT_192K;
case 224:
return _BT_224K;
case 256:
return _BT_256K;
case 320:
return _BT_320K;
default :
return _BT_32K;
}
}
char *_ConvertBTToString(bitrate_t BTIndex,char *string)
{
int i = 0;
int BT;
switch(BTIndex)
{
case _BT_8K:
BT = 8;
case _BT_16K:
BT = 16;
case _BT_24K:
BT = 24;
case _BT_32K:
BT = 32;
case _BT_40K:
BT = 40;
case _BT_48K:
BT = 48;
case _BT_56K:
BT = 56;
case _BT_64K:
BT = 64;
case _BT_80K:
BT = 80;
case _BT_96K:
BT = 96;
case _BT_112K:
BT = 112;
case _BT_128K:
BT = 128;
case _BT_144K:
BT = 144;
case _BT_160K:
BT = 160;
case _BT_192K:
BT = 192;
case _BT_224K:
BT = 224;
case _BT_256K:
BT = 256;
case _BT_320K:
BT = 320;
default :
BT = 32;
}
string[i] = BT / 100 + '0';
if(string[i] != '0')
i++;
string[i] = BT % 100 / 10 + '0';
if(string[i] != '0')
i++;
string[i++] = BT % 10 +'0';
string[i++] = 'K';
string[i] = 0;
return string;
}
char *_ConvertRectypeToString(RecType_t type,char *string)
{
switch(type)
{
case REC_AG8:// 录音类型ACT
string[0] = 'A';
string[1] = 'C';
string[2] = 'T';
break;
case REC_ADPCM:// 语音WAV
case REC_WAV:// 音乐WAV
string[0] = 'W';
string[1] = 'A';
string[2] = 'V';
break;
case REC_MP3:
string[0] = 'M';
string[1] = 'p';
string[2] = '3';
break;
default:
return NULL;
}
string[3] = 0;
return string;
}
char *_ConvertTimeToString(Full_time_t *time,char *string)
{
string[0] = time->hour /10 +'0';
string[1] = time->hour %10 +'0';
string[2] = ':';
string[3] = time->minute /10 + '0';
string[4] = time->minute %10 + '0';
string[5] = ':';
string[6] = time->second /10 + '0';
string[7] = time->second %10 + '0';
string[8] = 0;
return string;
}
char *_ConvertRestTimeToString(Rest_time_t *restTime,char *string)
{
BYTE i = 0;
string[i] = restTime->hour / 1000 + '0';
if(string[i] != '0')
i++;
string[i++] = restTime->hour % 1000 / 100 + '0';
string[i++] = restTime->hour % 10 + '0';
string[i++] = ':';
string[i++] = restTime->minute / 10 + '0';
string[i++] = restTime->minute % 10 + '0';
string[i++] = ':';
string[i++]= restTime->second / 10 + '0';
string[i++]= restTime->second % 10 + '0';
string[i]= 0;
return string;
}
void _BackToMainTask(record_vars *RecordTaskVars)
{
WM_SetFocus(WM_HBKWIN);
//_CloseFileSelector(RecordTaskVars);
_DeleteAllWindow(RecordTaskVars);
MainTaskCreate();
RecordTaskDelete();
}
void _DeleteAllWindow(record_vars *RecordTaskVars)
{
__DeleteFunctionWindow(RecordTaskVars);
if(RecordTaskVars->MainWin)
{
WM_DeleteWindow(RecordTaskVars->MainWin);
RecordTaskVars->MainWin = 0;
}
}
void _ExitFunctionsWindow(record_vars *RecordTaskVars)
{
__DeleteFunctionWindow(RecordTaskVars);
RecordTaskVars->CurWin = 0;
RecordTaskVars->RedrawFlag = TRUE;
WM_SetFocus(RecordTaskVars->MainWin);
}
void __DeleteFunctionWindow(record_vars *RecordTaskVars)
{
if(RecordTaskVars->FunctionWin)
{
WM_DeleteWindow(RecordTaskVars->FunctionWin);
RecordTaskVars->FunctionWin = 0;
}
if(RecordTaskVars->FunctionSubWin)
{
WM_DeleteWindow(RecordTaskVars->FunctionSubWin);
RecordTaskVars->FunctionSubWin = 0;
}
}
unsigned long _GetDiskTotalSize1()
{
//return FS_GetSpace( pDevInfo[RecordTaskVars->recorder_vars->device_no].devname, 0 );
return (*pDevInfo).devvolume;//RecordTaskVars->recorder_vars->device_no
//return FS_GetSpace( pDevInfo[0].devname, 0 );
}
unsigned long _GetDiskFreeSize1()
{
//return FS_GetSpace( pDevInfo[RecordTaskVars->recorder_vars->device_no].devname, 1 );
return (*pDevInfo).devvolume - (*pDevInfo).devvolOffset;
//return FS_GetSpace( pDevInfo[0].devname, 1 );
}
void _SetMemuItems(record_vars *RecordTaskVars)
{
//{W_RECFO,W_RECTY,W_DIR,W_EXIT,0}
RecordTaskVars->FunctionMenu[0] = W_RECFO;
RecordTaskVars->FunctionMenu[1] = W_RECTY;
RecordTaskVars->FunctionMenu[2] = W_DIR;
RecordTaskVars->FunctionMenu[3] = W_EXIT;
RecordTaskVars->FunctionMenu[4] = 0;
//{W_WAV,W_MP3,W_VOICE,0}
RecordTaskVars->FunctionSubMenu[0][0] = W_VOICE;
RecordTaskVars->FunctionSubMenu[0][1] = W_WAV;
RecordTaskVars->FunctionSubMenu[0][2] = W_MP3;
RecordTaskVars->FunctionSubMenu[0][3] = 0;
//{W_32KW,W_8KACT,W_32KV,W_8KAV,0}
RecordTaskVars->FunctionSubMenu[1][0] = W_32KW;
RecordTaskVars->FunctionSubMenu[1][1] = W_8KACT;
RecordTaskVars->FunctionSubMenu[1][2] = W_32KV;
RecordTaskVars->FunctionSubMenu[1][3] = W_8KAV;
RecordTaskVars->FunctionSubMenu[1][4] = 0;
//{W_32K,W_64K,W_192K,W_384K,0}
RecordTaskVars->FunctionSubMenu[2][0] = W_32K;
RecordTaskVars->FunctionSubMenu[2][1] = W_64K;
RecordTaskVars->FunctionSubMenu[2][2] = W_192K;
RecordTaskVars->FunctionSubMenu[2][3] = W_384K;
RecordTaskVars->FunctionSubMenu[2][4] = 0;
//{W_32K,W_64K,W_128K,W_192K,0}
RecordTaskVars->FunctionSubMenu[3][0] = W_32K;
RecordTaskVars->FunctionSubMenu[3][1] = W_64K;
RecordTaskVars->FunctionSubMenu[3][2] = W_128K;
RecordTaskVars->FunctionSubMenu[3][3] = W_192K;
RecordTaskVars->FunctionSubMenu[3][4] = 0;
}
void RecordTaskCreate()
{
int result;
msg_t msg_send;
if(!RecordTaskDetect())
{
if((result = RecorderEngineDetect()) <= 0 )
{
if( result == -1 )
{
msg_send.type = MS_END;
MYOSQPost(Engine_In, &msg_send);
do
{
OSTimeDly(5);
}while(RecorderEngineDetect() != 0);
}
OSTaskCreate((void(*)(void *))(long)RecorderEngine, (void *)0x0000,
(void *)RECORDER_ENGINE_SPACE, RECORDER_ENGINE_PRIO, RECORDER_ENGINE_ID);
OSTimeDly(1);
}
OSTaskCreate((void(*)(void *))(long)RecordTask, (void *)0x0000,
(void *)RECORDER_FACE_SPACE, RECORD_FACE_PRIO, RECORD_FACE_ID);
}
}
void RecordTaskDelete()
{
for(;;)
{
output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
OSTaskDel(OS_PRIO_SELF);
}
}
bool RecordTaskDetect()
{
OS_ENTER_CRITICAL();
if(OSTCBPrioTbl[RECORD_FACE_PRIO] != (OS_TCB *)0)
{
OS_EXIT_CRITICAL();
return TRUE;
}
OS_EXIT_CRITICAL();
return FALSE;
}
int RecorderEngineDetect()
{
OS_ENTER_CRITICAL();
if(OSTCBPrioTbl[RECORDER_ENGINE_PRIO] != (OS_TCB *)0)
{
if(OSGetIDFromPrio(RECORDER_ENGINE_PRIO) == RECORDER_ENGINE_ID)
{
OS_EXIT_CRITICAL();
return 1;
}
OS_EXIT_CRITICAL();
return -1;
}
OS_EXIT_CRITICAL();
return 0;
}
void _ReadDefaultVars(record_vars *RecordTaskVars)
{
/* RecordTaskVars->TotalSizeStr[0] = 'T';
RecordTaskVars->TotalSizeStr[1] = 'o';
RecordTaskVars->TotalSizeStr[2] = 't';
RecordTaskVars->TotalSizeStr[3] = 'a';
RecordTaskVars->TotalSizeStr[4] = 'l';
RecordTaskVars->TotalSizeStr[5] = ' ';
RecordTaskVars->TotalSizeStr[6] = 'd';
RecordTaskVars->TotalSizeStr[7] = 'i';
RecordTaskVars->TotalSizeStr[8] = 's';
RecordTaskVars->TotalSizeStr[9] = 'k';
RecordTaskVars->TotalSizeStr[10] = ' ';
RecordTaskVars->TotalSizeStr[11] = 's';
RecordTaskVars->TotalSizeStr[12] = 'i';
RecordTaskVars->TotalSizeStr[13] = 'z';
RecordTaskVars->TotalSizeStr[14] = 'e';
RecordTaskVars->TotalSizeStr[15] = '(';
RecordTaskVars->TotalSizeStr[16] = 'K';
RecordTaskVars->TotalSizeStr[17] = 'B';
RecordTaskVars->TotalSizeStr[18] = ')';
RecordTaskVars->TotalSizeStr[19] = ':';
RecordTaskVars->TotalSizeStr[20] = 0;
RecordTaskVars->RestSizeStr[0] = 'R';
RecordTaskVars->RestSizeStr[1] = 'e';
RecordTaskVars->RestSizeStr[2] = 's';
RecordTaskVars->RestSizeStr[3] = 't';
RecordTaskVars->RestSizeStr[4] = ' ';
RecordTaskVars->RestSizeStr[5] = 's';
RecordTaskVars->RestSizeStr[6] = 'i';
RecordTaskVars->RestSizeStr[7] = 'z';
RecordTaskVars->RestSizeStr[8] = 'e';
RecordTaskVars->RestSizeStr[9] = '(';
RecordTaskVars->RestSizeStr[10] = 'K';
RecordTaskVars->RestSizeStr[11] = 'B';
RecordTaskVars->RestSizeStr[12] = ')';
RecordTaskVars->RestSizeStr[13] = ':';
RecordTaskVars->RestSizeStr[14] = 0;
RecordTaskVars->RestTimeStr[0] = 'R';
RecordTaskVars->RestTimeStr[1] = 'e';
RecordTaskVars->RestTimeStr[2] = 's';
RecordTaskVars->RestTimeStr[3] = 't';
RecordTaskVars->RestTimeStr[4] = ' ';
RecordTaskVars->RestTimeStr[5] = 'R';
RecordTaskVars->RestTimeStr[6] = 'e';
RecordTaskVars->RestTimeStr[7] = 'c';
RecordTaskVars->RestTimeStr[8] = 'o';
RecordTaskVars->RestTimeStr[9] = 'r';
RecordTaskVars->RestTimeStr[10] = 'd';
RecordTaskVars->RestTimeStr[11] = ' ';
RecordTaskVars->RestTimeStr[12] = 't';
RecordTaskVars->RestTimeStr[13] = 'i';
RecordTaskVars->RestTimeStr[14] = 'm';
RecordTaskVars->RestTimeStr[15] = 'e';
RecordTaskVars->RestTimeStr[16] = ':';
RecordTaskVars->RestTimeStr[17] = 0;*/
}
//#endif /*__RECORD_*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -