📄 osdutil.c
字号:
#include "config.h"
#include "regmap.h"
#include "global.h"
#include "func.h"
#include "cfont.h"
#include "epp.h"
#include "macro.h"
#include "user_init.h"
#include "osd.h"
#include "vfdfunc.h"
#include "util.h"
#include "func.h"
#include "stdlib.h"
#include "jpegeffect.h"
//#define OSDUTIL_DBG 1
#ifdef SUPPORT_MIDI
#include "fsmidi.h"
#ifdef SUPPORT_MIDI_MENU_SEL
#include "fsMidiUI.h"
#endif
#endif
extern BYTE bin2asc(BYTE pp); /*jhuang 2000/11/27 reduce warning*/
extern void osd_init4(void);
void region_update_empty(BYTE ,BYTE ,BYTE);
void region_clear_arrow(BYTE,BYTE);
void region_update_item(BYTE ,BYTE,BYTE);
#ifdef VIDEO_SETUP_NEW_GUI//zhaoyanhua add 2004-1-8 18:15
extern int GetVideoSetValue(int id);
#endif//VIDEO_SETUP_NEW_GUI
#ifdef MIC_FUNCTION_KEY
extern BYTE bFuncStep;//nono 20040107
#endif//MIC_FUNCTION_KEY
#include "osd_jpg_rotate.c" //Maoyong 2004.06.30
//
// show_level
//
void show_level(int id,INT8 level,BYTE total_level)
{
BYTE i;
int pos;
PatternMode=id;
if (id==Echo_Font_ID) {
linebuf[0] = ' ';
linebuf[1] = '[';
pos = 2;
for(i=pos;i<level+pos;i++) {
linebuf[i] = N_longbar; //long bar
}
for(i=level+pos;i<total_level-1+pos;i++) {
linebuf[i] = N_shortbar; //short bar
}
linebuf[total_level-1+pos] = 0;
psprintf(RegionValStr[REGION1],"] %02d",level);
strcat1(linebuf,RegionValStr[REGION1]);
strcpy(RegionValStr[REGION1], linebuf);
PrintOsdMsg(STR_OS_ECHO, REGION1, 1, 1);
} else if (id==Mic_Font_ID) {
linebuf[0] = ' ';
linebuf[1] = '[';
pos = 2;
for(i=pos;i<level+pos;i++) {
linebuf[i] = N_longbar; //long bar
}
for(i=level+pos;i<total_level-1+pos;i++) {
linebuf[i] = N_shortbar; //short bar
}
linebuf[total_level-1+pos] = 0;
psprintf(RegionValStr[REGION1],"] %02d",level);
strcat1(linebuf,RegionValStr[REGION1]);
strcpy(RegionValStr[REGION1], linebuf);
#if defined(MIC_2CHANNEL)&&defined(MIC_FUNCTION_KEY)
if(bFuncStep==1)
PrintOsdMsg(STR_OS_MIC_VOL_1, REGION1, 1, 1);
else
PrintOsdMsg(STR_OS_MIC_VOL_2, REGION1, 1, 1);
#else//MIC_2CHANNEL
PrintOsdMsg(STR_OS_MIC_VOL, REGION1, 1, 1);
#endif//MIC_2CHANNEL
}
/* // jason ych mark it 2-9-30 15:36
else if (id==Volume_Font_ID) {
linebuf[0] = ' ';
linebuf[1] = '[';
pos = 2;
for(i=pos;i<level+pos;i++) {
linebuf[i] = N_longbar; //long bar
}
for(i=level+pos;i<total_level-1+pos;i++) {
linebuf[i] = N_shortbar; //short bar
}
linebuf[total_level-1+pos] = 0;
psprintf(RegionValStr[REGION1],"] %02d",level);
strcat1(linebuf,RegionValStr[REGION1]);
strcpy(RegionValStr[REGION1], linebuf);
PrintOsdMsg(STR_OS_VOL, REGION1, 1, 1);
}
*/
#if defined(Ti3001_OSD_UI_1)||defined(Ti5026_OSD_UI_1)
else if (id==Volume_Font_ID||id==VOL_DRC_ID||id==AMP_F_VOL_ID \
||id==AMP_S_VOL_ID||id==AMP_C_VOL_ID||id==AMP_SW_VOL_ID)
#else
else if ( (id==Volume_Font_ID)
#ifdef CNTR_5SPK_VOLUME
||(id==VOL_FL_ID)||(id==VOL_FR_ID) ||(id==VOL_SL_ID) ||(id==VOL_SR_ID) ||(id==VOL_C_ID) ||(id==VOL_SW_ID) //Jeff 20031028
#endif //CNTR_5SPK_VOLUME
)
#endif
{
#ifdef CNTR_5SPK_VOLUME//wangfeng 2003-11-12 13:54
{
int i;
linebuf[0] = ' ';
pos = 2+5;
for (i=1; i<5; i++) {
linebuf[i] = ' ';
}
if (id==VOL_FL_ID) {
linebuf[2] = 'F';
linebuf[4] = 'L';
} else if (id==VOL_FR_ID) {
linebuf[2] = 'F';
linebuf[4] = 'R';
} else if (id==VOL_SL_ID) {
linebuf[2] = 'S';
linebuf[4] = 'L';
} else if (id==VOL_SR_ID) {
linebuf[2] = 'S';
linebuf[4] = 'R';
} else if (id==VOL_C_ID) {
linebuf[2] = 'C';
} else if (id==VOL_SW_ID) {
linebuf[2] = 'S';
linebuf[4] = 'W';
} else {
linebuf[1] = 'M';
linebuf[2] = 'A';
linebuf[3] = 'I';
linebuf[4] = 'N';
}
}
#elif defined(OSD_BMP_REGION1)
pos = 1;
#else
pos = 2;
#endif
//#ifndef CNTR_5SPK_VOLUME
#ifdef NEW_VOL_DISP_MODE
linebuf[pos-2] = ':';
linebuf[pos-1] = ' ';
linebuf[pos] = 0;
#else
#ifdef OSD_BMP_REGION1
linebuf[pos-1] = ' ';
#else
linebuf[pos-2] = ' ';
linebuf[pos-1] = '[';
#endif
for(i=pos;i<level+pos;i++) {
linebuf[i] = N_longbar; //long bar
}
for(i=level+pos;i<total_level-1+pos;i++) {
linebuf[i] = N_shortbar; //short bar
}
linebuf[total_level-1+pos] = 0;
#endif //NEW_VOL_DISP_MODE
//#endif
#ifdef Ti3001_OSD_UI_1
if (id==Volume_Font_ID)
psprintf(RegionValStr[REGION1],"] %02d DB",(level*4-60)); // MAX vol==0db and level=15
else if(id==VOL_DRC_ID)
psprintf(RegionValStr[REGION1],"] %02d DB",(level*2-36));
else
psprintf(RegionValStr[REGION1],"]%02dDB",level-10);
#elif defined(Ti5026_OSD_UI_1)
if (id==Volume_Font_ID)
psprintf(RegionValStr[REGION1],"] %02d DB",(level-10)*2); // MAX vol==0db and level=15
if( (id==AMP_F_VOL_ID)||(id==AMP_S_VOL_ID)||(id==AMP_SW_VOL_ID)||(id==AMP_C_VOL_ID))
psprintf(RegionValStr[REGION1],"] %02d DB",(level-10)*2); // MAX vol==0db and level=15
else if(id==VOL_DRC_ID)
psprintf(RegionValStr[REGION1],"] %02d DB",(level*2-36));
else
psprintf(RegionValStr[REGION1],"]%02dDB",level-10);
#else
#ifdef NEW_VOL_DISP_MODE
if (id==VOL_FL_ID) {
psprintf(RegionValStr[REGION1],"FRONT_L VOL: %02d",level);
} else if (id==VOL_FR_ID) {
psprintf(RegionValStr[REGION1],"FRONT_R VOL: %02d",level);
} else if (id==VOL_SL_ID) {
psprintf(RegionValStr[REGION1],"REAR_L VOL: %02d",level);
} else if (id==VOL_SR_ID) {
psprintf(RegionValStr[REGION1],"REAR_R VOL: %02d",level);
} else if (id==VOL_C_ID) {
psprintf(RegionValStr[REGION1],"CENTER VOL: %02d",level);
} else if (id==VOL_SW_ID) { //Jeff 20031028
psprintf(RegionValStr[REGION1],"SUBWOOFER VOL: %02d",level);
} else
psprintf(RegionValStr[REGION1],"MAIN VOL: %02d",level);
#else
#ifdef OSD_BMP_REGION1
psprintf(RegionValStr[REGION1]," %02d",level);
#else
psprintf(RegionValStr[REGION1],"] %02d",level);
#endif
#endif
#endif
#ifndef NEW_VOL_DISP_MODE//CNTR_5SPK_VOLUME
strcat1(linebuf,RegionValStr[REGION1]);
strcpy(RegionValStr[REGION1], linebuf);
#endif
#if defined(Ti3001_OSD_UI_1)||defined(Ti5026_OSD_UI_1)
if (id==Volume_Font_ID)
PrintOsdMsg(STR_OS_AMP_MAINVOLUME, REGION1, 2, 1); // jason change t=2 2-9-30 15:12
else if(id==VOL_DRC_ID)
PrintOsdMsg(STR_OS_AMP_DYNAMICRANGE, REGION1, 2, 1);
else if(id==AMP_F_VOL_ID)
PrintOsdMsg(STR_OS_AMP_FSPK, REGION1, 2, 1);
else if(id==AMP_S_VOL_ID)
PrintOsdMsg(STR_OS_AMP_SSPK, REGION1, 2, 1);
else if(id==AMP_C_VOL_ID)
PrintOsdMsg(STR_OS_AMP_CSPK, REGION1, 2, 1);
else if(id==AMP_SW_VOL_ID)
PrintOsdMsg(STR_OS_AMP_SUBWOOFER, REGION1, 2, 1);
#else
//avoid twinkling when adjust volume, wangfeng 2003-09-29 14:01
#ifdef NEW_VOL_DISP_MODE
PrintOsdMsg(STR_OS_SPACE, REGION1, 2, 1);
#else
PrintOsdMsg(STR_OS_VOL, REGION1, 1, 1);
#endif
#endif
} else if (id==AudKey_Font_ID) {
linebuf[0] = ' ';
linebuf[1] = '[';
linebuf[2] = N_dkey; //b
pos = 2;
for(i=pos+1;i<pos+6;i++) {
linebuf[i] = N_dot; //.
}
linebuf[pos+6] = N_rkey; //key reset
for(i=pos+7;i<pos+12;i++) {
linebuf[i] = N_dot; //.
}
linebuf[pos+12] = N_ukey; //#
linebuf[pos+level+6] = N_music; //music key
linebuf[total_level+pos] = 0;
psprintf(RegionValStr[REGION1],"] %02d",level);
strcat1(linebuf,RegionValStr[REGION1]);
strcpy(RegionValStr[REGION1], linebuf);
PrintOsdMsg(STR_OS_KEY, REGION1, 1, 1);
} else if (id==Score_Font_ID) { //Jeff 20020416
linebuf[0] = ' ';
linebuf[1] = '[';
pos = 2;
for(i=pos;i<(level/10+pos);i++) {
linebuf[i] = N_longbar; //long bar
}
for(i=(level/10+pos);i<total_level-1+pos;i++) {
linebuf[i] = N_shortbar; //short bar
}
linebuf[total_level-1+pos] = 0;
#ifdef MIDI_SCORE_TEST
extern BYTE gb_showScore;
if (gb_showScore)
{
psprintf(RegionValStr[REGION1],"] %d",level);
strcat1(linebuf,RegionValStr[REGION1]);
strcpy(RegionValStr[REGION1], linebuf);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -