📄 play.cc
字号:
track_list_max++;
track_list[i] = track_num;
} else {
track_list[i] = i + 1;
}
}
track_list_max = CDinfo.lasttrack;
/* PV..don't want to do this when pbc on...
cur_track_index = 0;
cur_track_number = track_list[0];
*/
}
void show_audio_panel(int show_osd)
{
unsigned char *msg, *c_msg;
int region;
region = OSD_AUDIO_REGION; /* default */
if (audio_mode < VOCAL_LEFT_LEFT) {
panel_vocal_mode(VOCAL_OFF);
OSD_clear_region(OSD_VOCAL_REGION);
vocal_assist_on = 0;
}
vcx_audio_channel = audio_mode;
if (audio_mode == LEFT_LEFT) {
panel_audio_mode(AUDIO_L_L);
assign_osd_msg(msg, MSG_left, c_msg, MSG_c_left);
} else if (vcx_audio_channel == RIGHT_RIGHT) {
panel_audio_mode(AUDIO_R_R);
assign_osd_msg(msg, MSG_right, c_msg, MSG_c_right);
} else if (vcx_audio_channel == LEFT_RIGHT) {
panel_audio_mode(AUDIO_L_R);
assign_osd_msg(msg, MSG_stereo, c_msg, MSG_c_stereo);
}
else {
vocal_assist_on = 1;
vcx_audio_channel = LEFT_RIGHT;
panel_audio_mode(AUDIO_L_R);
if (audio_mode == VOCAL_LEFT_LEFT) {
panel_vocal_mode(VOCAL_LEFT);
assign_osd_msg(msg, MSG_vocal_left, c_msg,
MSG_c_vocal_left);
}
else if (audio_mode == VOCAL_RIGHT_RIGHT) {
panel_vocal_mode(VOCAL_RIGHT);
assign_osd_msg(msg, MSG_vocal_right, c_msg,
MSG_c_vocal_right);
}
#ifdef FOUR_LINE_OSD
region = OSD_VOCAL_REGION;
#endif
}
if (show_osd) {
OUTOSD(region, msg, c_msg, DISPLAY_TIME_OUT);
}
}
/*------------------------------------------------------------------------
Function:
Parameters:
Description:
------------------------------------------------------------------------*/
extern int SystemStatus;
int process_non_play_keys()
{
int min, sec;
int key_processed = 1;
int save_key;
/* check if we are in power off key */
#ifdef DSC
if (IS_POWER_DOWN) {
if (current_key != POWER_KEY) {
current_key = NO_KEY;
return (1);
}
}
#endif
#ifdef DVD_VCD
if (current_key == POWER_KEY){
av_sys_power_down();
}
#endif
save_key = current_key;
current_key = NO_KEY;
#ifdef SCREEN_ON_TIME_SAME_KEY
#if (defined(FOUR_LINE_OSD) && !defined(BF43))
#define SCREEN_KEY_INDEX_LIMIT 3
#define TIME_KEY_INDEX_LIMIT 5
#else
#define SCREEN_KEY_INDEX_LIMIT 2
#define TIME_KEY_INDEX_LIMIT 4
#endif /* FOUR_LINE_OSD && not BF43 */
/* Convert the osd and time key. */
if (!cd_stop && (save_key == SCREEN_ON_KEY)
&& ((!(DiscMode & DISC_PBC_ON) || (SystemStatus != SYSTEM_PLAYING)))
#ifdef VCDROM
&& (play_clip != VCD30_PLAY_CLIP)
#endif
) {
/* Sync with OSD & TimeMode */
if (!osd_time_key_index && (DiscMode & DISC_OSD_ON))
osd_time_key_index = SCREEN_KEY_INDEX_LIMIT - 1;
osd_time_key_index++;
if (osd_time_key_index < SCREEN_KEY_INDEX_LIMIT) {
save_key = SCREEN_ON_KEY;
} else if (osd_time_key_index == TIME_KEY_INDEX_LIMIT) {
save_key = SCREEN_ON_KEY;
osd_time_key_index = 0;
} else {
save_key = TIME_KEY;
}
}
#endif
#ifdef ZOOM
#ifdef HUALU_REMOTE
if (zoom_level >= 1) {
/* reset zoom level if the key is not good for zoom mode. */
if (save_key == FF_KEY)
save_key = ZOOM_RIGHT_KEY;
else if (save_key == FB_KEY)
save_key = ZOOM_LEFT_KEY;
else if (save_key == NEXT_KEY)
save_key = ZOOM_DOWN_KEY;
else if (save_key == PREVIOUS_KEY)
save_key = ZOOM_UP_KEY;
}
#endif
#ifdef DONGPENG_REMOTE
if (zoom_level >= 1) {
/* reset zoom level if the key is not good for zoom mode. */
if (save_key == FF_KEY)
save_key = ZOOM_RIGHT_KEY;
else if (save_key == FB_KEY)
save_key = ZOOM_LEFT_KEY;
else if (save_key == NEXT_KEY)
save_key = ZOOM_UP_KEY;
else if (save_key == PREVIOUS_KEY)
save_key = ZOOM_DOWN_KEY;
}
#endif
/*
if (((zoom_key_timer + ONE_SECOND) > glbTimer)
&& (save_key == ZOOM_IN_KEY)) {
save_key = NO_KEY;
return;
}
*/
if (zoom_level) {
/* reset zoom level if the key is not good for zoom mode. */
if ((save_key < ZOOM_IN_KEY) || (save_key > ZOOM_DOWN_KEY)) {
zoom_reset();
}
}
#endif
if (play_state == PLAY_NORMAL_STATE) {
if (save_key == FREEZE_KEY ) {
vcx_playaudio_only ^= 1;
if (vcx_playaudio_only == 1)
OUTOSD(1,MSG_freeze,MSG_c_freeze,0);
else
OUTOSD(OSD_FUNCTION_STATUS_REGION, clear_msg, clear_msg, 2);
save_key = NO_KEY;
return;
}
if ((save_key == PLAY_KEY) && (vcx_playaudio_only) ) {
vcx_playaudio_only = 0;
save_key = NO_KEY;
OUTOSD(1,MSG_play,MSG_c_play,5);
return;
}
}
if (save_key == TV_MODE_KEY) {
play_change_tv_mode();
return (1);
}
if ((save_key == PLAY_KEY) && ((play_state == PLAY_NORMAL_STATE)
)) {
save_key = PAUSE_KEY;
}
#ifdef JINRE_STOPRETURN
if ( save_key == STOPRETURN_KEY) {
if (!PBC_on) {
save_key = STOP_KEY;
}
else {
if ((cur_list_state == PLAY_SELECTION_STATE) && (play_state != PLAY_NORMAL_STATE)
&& (upper_selection_limit >= 1) && (selection_list_default_list_offset == -1)) {
save_key = STOP_KEY;
} else {
save_key = RETURN_KEY;
}
}
}
#endif
#ifdef JINRE_REMOTE
if ((play_state != PLAY_NORMAL_STATE) && (save_key == MUTE_KEY))
{
save_key =OSD_LANGUAGE_KEY ;
}
#endif
#ifdef SUOJIA_NEW_REMOTE
if (zoom_level == 0) {
if (save_key == ZOOM_UP_KEY)
save_key = SHUFFLE_KEY;
}
if (zoom_level >= 1) {
if (save_key == AV_SW_KEY)
save_key = ZOOM_DOWN_KEY;
}
#endif
#ifdef SUOJIA_860
if ((play_state == PLAY_PROGRAM_STATE) && (save_key == STOP_KEY)) {
save_key = CLEAR_KEY;
}
#endif
if ((save_key == NEXT_KEY) || (save_key == PREVIOUS_KEY))
forceDSAabort = 0;
if ((save_key == EJECT_KEY)
#ifdef TWO_CDS
|| (save_key == DISC_1_EJECT_KEY)
|| (save_key == DISC_2_EJECT_KEY)
#endif
) {
screen_display = 0;
forceDSAabort = 0;
if ((cd_opened > 0)
#ifdef TWO_CDS
&& (((save_key == DISC_1_EJECT_KEY) && (cd_disc_slot == 2))
|| ((save_key == DISC_2_EJECT_KEY) && (cd_disc_slot == 1))
|| (save_key == EJECT_KEY))
#endif
) {
OUTOSD(OSD_FUNCTION_STATUS_REGION, MSG_close, MSG_c_close,
DISPLAY_TIME_OUT);
process_close_key();
} else {
#ifndef THREE_CDS
#ifdef TWO_CDS
if ((play_state == ENTRY_STATE) || (play_state == PLAY_MENU_STATE) || (cd_stop)) {
CLEARALLOSD();
asm("nop");
}
#else
CLEARALLOSD();
asm("nop");
#endif
#endif /* THREE_CDS */
OUTOSD(OSD_FUNCTION_STATUS_REGION, MSG_open, MSG_c_open,
DISPLAY_TIME_OUT);
#ifdef MDC_GAME
#ifdef SUOJIA_AVGAME_SW
AVSEL_VCD;
#else
stopgame_echo();
#endif
#endif
#ifdef TWO_CDS
if (((play_state == ENTRY_STATE) || (play_state == PLAY_MENU_STATE) || (cd_stop))
|| (((cd_disc_slot == 1) && (save_key == DISC_1_EJECT_KEY))
|| ((cd_disc_slot == 2) && (save_key == DISC_2_EJECT_KEY)))
) {
if (save_key == DISC_1_EJECT_KEY) {
panel_system_status(SYSTEM_1OPEN);
} else {
panel_system_status(SYSTEM_2OPEN);
}
}
#endif
process_open_key(save_key);
}
save_key = NO_KEY;
#ifndef THREE_CDS
#ifndef TWO_CDS
play_state = ENTRY_STATE;
#endif
#endif /* THREE_CDS */
return (1);
}
/* check rotation key */
#ifdef THREE_CDS
if (save_key == FIRST_DISC_KEY) {
if (cd_disc_slot == 2)
save_key = ROTATE_CLOCK_KEY;
else if (cd_disc_slot == 3)
save_key = ROTATE_ANTI_CLOCK_KEY;
else
return (1);
}
if (save_key == SECOND_DISC_KEY) {
if (cd_disc_slot == 3)
save_key = ROTATE_CLOCK_KEY;
else if (cd_disc_slot == 1)
save_key = ROTATE_ANTI_CLOCK_KEY;
else
return (1);
}
if (save_key == THIRD_DISC_KEY) {
if (cd_disc_slot == 1)
save_key = ROTATE_CLOCK_KEY;
else if (cd_disc_slot == 2)
save_key = ROTATE_ANTI_CLOCK_KEY;
else
return (1);
}
if (((save_key == ROTATE_CLOCK_KEY) || (save_key == ROTATE_ANTI_CLOCK_KEY))
&& (play_state != PLAY_MENU_STATE)) {
forceDSAabort = 0;
process_stop_key();
repeat_a2b = REPEAT_AB_OFF;
repeat_mode = 0;
shuffle_on = 0;
PBC_on = 0;
#ifdef MDC_GAME
stopgame_echo();
#endif
if (save_key == ROTATE_CLOCK_KEY)
dsa_rotate_disk(0);
else
dsa_rotate_disk(1);
CDinited = 0;
initCD();
dsa_stop();
play_state = ENTRY_STATE;
return (1);
}
#else /* ifndef THREE_CDS */
#ifdef TWO_CDS
if (save_key == FIRST_DISC_KEY) {
if (cd_disc_slot == 2)
save_key = ROTATE_CLOCK_KEY;
else
return (1);
}
if (save_key == SECOND_DISC_KEY) {
if (cd_disc_slot == 1)
save_key = ROTATE_ANTI_CLOCK_KEY;
else
return (1);
}
if (((save_key == ROTATE_CLOCK_KEY) || (save_key == ROTATE_ANTI_CLOCK_KEY))) {
#ifdef LEDON
vfdled = 0xff;
#endif
#ifdef VCDROM
vcd30_cwdloc = 0;
play_clip = 0;
VCD30_DISC = 0;
#endif
forceDSAabort = 0;
CLEARALLOSD();
if (1)
{
continue_play = 0;
if ((play_state == ENTRY_STATE) && (cd_opened >= 1)) {
disc_ltoc &= 0x00;
} else {
process_stop_key(0,0);
screen_display = 0;
}
forceDSAabort = 0;
trans_dsa(0x0b, 0);
panel_system_status(SYSTEM_CLOSE);
forceDSAabort = 0;
show_still_pic();
OSD_clear_all();
dsa_stop();
trans_dsa(0x14,0);
dsa_stop();
system_reset();
clear_dec();
vcx_user_video_stream = 0xe0;
repeat_a2b = REPEAT_AB_OFF;
repeat_mode = 0;
shuffle_on = 0;
PBC_on = 0;
CDinited = 0;
if (!process_change_disc(0)) {
if (cd_disc_slot == 2) {
TRAY_OPEN;
do {
receive_dsa();
} while (DISC_1_CLOSE_IS_HIGH);
} else {
TRAY_CLOSE;
do {
receive_dsa();
} while (DISC_2_CLOSE_IS_HIGH);
}
TRAY_STOP;
trans_dsa(0x14,0);
dsa_stop();
process_change_disc(0);
}
#ifdef FU271
panel_disc_slot(cd_disc_slot);
#endif
if (cd_opened == 0) {
if (forceDSAabort)
return(1);
dsa_stop();
trans_dsa(0x0b, 0);
play_state = ENTRY_STATE;
}
cd_opened = 0;
CDinited = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -