📄 play.cc
字号:
forceDSAabort = 0;
cd_tray_just_closed = 1;
return (1);
} else {
save_key = NO_KEY;
forceDSAabort = 0;
return(1);
}
save_key = NO_KEY;
return (1);
}
#else
/* check cd type and tray status first */
if (cd_opened) {
if (initCD()) {
current_key = save_key;
}
return (1);
}
#endif /* TWO_CDS */
#endif /* THREE_CDS */
if (CDinfo.type == CD_NODISC) {
assign_osd_msg(osd_msg, MSG_no_disc, c_osd_msg, MSG_c_no_disc);
play_state = ENTRY_STATE;
return (1);
} else if (CDinfo.type == CD_UNKNOWN) {
OUTOSD(OSD_FUNCTION_STATUS_REGION, MSG_unknown_disc, MSG_c_unknown_disc, 0);
play_state = ENTRY_STATE;
return (1);
}
if ((play_state != PLAY_MENU_STATE)
#ifdef SGAME
&& (play_state != PLAY_GAME_MENU_STATE)
&& (PLAY_vcd_type != VCD_TYPE_game)
#endif
#ifdef MDC_GAME
&& (play_state != PLAY_GAME_STATE)
#endif
) {
switch (save_key) {
case ERROR_KEY:
if (concealment_mode == BLOCKY)
{
concealment_mode = JERKY;
OUTOSD(OSD_FUNCTION_STATUS_REGION, MSG_ma_you, MSG_ma_you,DISPLAY_TIME_OUT);
}
else
{
concealment_mode = BLOCKY;
OUTOSD(OSD_FUNCTION_STATUS_REGION, MSG_ma_wu, MSG_ma_wu,DISPLAY_TIME_OUT);
}
break;
case KEY_PLUS:
if (vcx_karaokey < 7)
vcx_karaokey++;
panel_key_shift(vcx_karaokey);
break;
case KEY_MINUS:
if (vcx_karaokey > -7)
vcx_karaokey--;
panel_key_shift(vcx_karaokey);
break;
case KEY_RESUME_KEY:
vcx_karaokey = 0;
panel_key_shift(vcx_karaokey);
break;
#ifdef SUOJIA_AVGAME_SW
case AV_SW_KEY:
if (avinto_flag==1) {
av_sw_flag ^= 1;
if (av_sw_flag == 1) {
current_key = PAUSE_KEY;
AVSEL_GAME;
vcx_echo = 0;
if (vcx_echo == -1) vcx_echo = 0;
if (vcx_echo == 0) { /* -1 -> 0 */
MIC_init();
MIC_start_take_in();
}
} else {
current_key = PLAY_KEY;
AVSEL_VCD;
}
}
break;
#endif
#ifdef ECHO
#ifdef JINRE_USE_ECHO
case ECHO_PLUS:
#ifdef MDC_GAME
if (play_state == PLAY_GAME_STATE) return;
#endif
if (EAUX9_HIGH)
{
if (vcx_echo < vcx_echo_max_level) {
vcx_echo ++;
vcx_echo1=vcx_echo;
if (vcx_echo == 0) { /* -1 -> 0 */
MIC_init();
MIC_start_take_in();
}
MIC_clear_buffer();
}
OSD_echo();
}
break;
case ECHO_MINUS:
#ifdef MDC_GAME
if (play_state == PLAY_GAME_STATE) return;
#endif
if (EAUX9_HIGH)
{
if (vcx_echo > -1) {
vcx_echo --;
vcx_echo1=vcx_echo;
if (vcx_echo == -1) { /* 0 -> -1 */
MIC_stop_take_in();
}
}
OSD_echo();
}
break;
#else
case ECHO_PLUS:
#ifdef MDC_GAME
if (play_state == PLAY_GAME_STATE) return;
#endif
if (vcx_echo < vcx_echo_max_level) {
vcx_echo ++;
if (vcx_echo == 0) { /* -1 -> 0 */
MIC_init();
MIC_start_take_in();
}
MIC_clear_buffer();
}
OSD_echo();
break;
case ECHO_MINUS:
#ifdef MDC_GAME
if (play_state == PLAY_GAME_STATE) return;
#endif
if (vcx_echo > -1) {
vcx_echo --;
if (vcx_echo == -1) { /* 0 -> -1 */
MIC_stop_take_in();
}
}
OSD_echo();
break;
#endif
#endif
#ifdef USE_SLEEP
case AUTO_POWER_OFF_KEY:
sleep_flag += 1;
if (sleep_flag == 11)
sleep_flag = 0;
if (sleep_flag == 1) {
sleep_limit_timer = NINETY_NINE_MINUTE;
assign_osd_msg(osd_msg, MSG_ninimi_msg, c_osd_msg, MSG_c_ninimi_msg);
} else if (sleep_flag == 2) {
sleep_limit_timer = NINETY_MINUTE;
assign_osd_msg(osd_msg, MSG_nimi_msg, c_osd_msg, MSG_c_nimi_msg);
} else if (sleep_flag == 3) {
sleep_limit_timer = EIGHTY_MINUTE;
assign_osd_msg(osd_msg, MSG_eimi_msg, c_osd_msg, MSG_c_eimi_msg);
} else if (sleep_flag == 4) {
sleep_limit_timer = SEVENTY_MINUTE;
assign_osd_msg(osd_msg, MSG_semi_msg, c_osd_msg, MSG_c_semi_msg);
} else if (sleep_flag == 5) {
sleep_limit_timer = SIXTY_MINUTE;
assign_osd_msg(osd_msg, MSG_simi_msg, c_osd_msg, MSG_c_simi_msg);
} else if (sleep_flag == 6) {
sleep_limit_timer = FIFTY_MINUTE;
assign_osd_msg(osd_msg, MSG_fimi_msg, c_osd_msg, MSG_c_fimi_msg);
} else if (sleep_flag == 7) {
sleep_limit_timer = FOURTY_MINUTE;
assign_osd_msg(osd_msg, MSG_fomi_msg, c_osd_msg, MSG_c_fomi_msg);
} else if (sleep_flag == 8) {
sleep_limit_timer = THIRTY_MINUTE;
assign_osd_msg(osd_msg, MSG_thmi_msg, c_osd_msg, MSG_c_thmi_msg);
} else if (sleep_flag == 9) {
sleep_limit_timer = TWENTY_MINUTE;
assign_osd_msg(osd_msg, MSG_twmi_msg, c_osd_msg, MSG_c_twmi_msg);
} else if (sleep_flag == 10) {
sleep_limit_timer = TEN_MINUTE;
assign_osd_msg(osd_msg, MSG_temi_msg, c_osd_msg, MSG_c_temi_msg);
} else if (sleep_flag == 0) {
assign_osd_msg(osd_msg, MSG_tioff_msg, c_osd_msg, MSG_c_tioff_msg);
}
sleep_timer = glbTimer;
break;
#endif
#if SPATIAL & KARAOKE
case SURROUND_KEY:
#ifdef MDC_GAME
if (play_state == PLAY_GAME_STATE) return;
#endif
SPA_msg = SPA_set_level((SPA_level >= SPA_VOCAL_CUT) ? SPA_OFF
: SPA_level + 1);
assign_osd_msg(osd_msg, SPA_msg, c_osd_msg, SPA_msg);
osd_region = OSD_AUDFX_REGION;
break;
#endif
#ifdef JINRE_USE_ECHO
case VOCAL_ASSIST_KEY:
#ifdef MDC_GAME
if (play_state == PLAY_GAME_STATE) return;
#endif
audio_mode++;
if (echo_vocal_flag ==1) {
audio_mode1=audio_mode;
if ((play_item_type == DATA_TRACK) &&
(audio_mode > (LEFT_RIGHT + 2)))
{
audio_mode = LEFT_LEFT;
} else if ((play_item_type == AUDIO_TRACK) &&
(audio_mode > LEFT_RIGHT)) { /* Audio track..no vocal assist */
audio_mode = LEFT_LEFT;
}
} else {
if ((play_item_type == DATA_TRACK) &&
(audio_mode > (LEFT_RIGHT)))
{
audio_mode = LEFT_LEFT;
} else if ((play_item_type == AUDIO_TRACK) &&
(audio_mode > LEFT_RIGHT)) { /* Audio track..no vocal assist */
audio_mode = LEFT_LEFT;
}
}
show_audio_panel(1); /* 1 -> show osd */
break;
#else
case VOCAL_ASSIST_KEY:
#ifdef MDC_GAME
if (play_state == PLAY_GAME_STATE) return;
#endif
audio_mode++;
/* additional vocal LL/RR */
#ifdef ONE
if ((play_item_type == DATA_TRACK) &&
(audio_mode > (LEFT_RIGHT)))
#else
#ifdef SUOJIA_NEW_REMOTE
if ((play_item_type == DATA_TRACK) &&
(audio_mode > (LEFT_RIGHT)))
#else
if ((play_item_type == DATA_TRACK) &&
(audio_mode > (LEFT_RIGHT + 2)))
#endif
#endif
{
audio_mode = LEFT_LEFT;
} else if ((play_item_type == AUDIO_TRACK) &&
(audio_mode > LEFT_RIGHT)) { /* Audio track..no vocal assist */
audio_mode = LEFT_LEFT;
}
show_audio_panel(1); /* 1 -> show osd */
break;
#endif
case REPEAT_KEY:
#ifdef VCDROM
if (play_clip) {
key_processed = 0; /* do not accept key repeat in vcd3.0 */
} else {
if (PBC_on) {
assign_osd_msg(osd_msg, error_msg, c_osd_msg, error_msg);
} else {
repeat_mode = panel_repeat_mode_change();
}
}
#else
repeat_mode = panel_repeat_mode_change();
#endif
break;
case PBC_KEY:
#ifdef VCDROM
if (play_clip == VCD30_PLAY_CLIP) {
play_clip = VCD30_PLAY_VCD;
VCD30_event = VCD30_PLAY_VCD;
return;
}
#endif
if ((!play_clip) && (CDinfo.type == CD_VCD) &&
(PLAY_vcd_type & VCD_TYPE_20)) {
if (!cd_stop)
process_stop_key();
if (play_state == PLAY_MENU_STATE) {
vcx_user_video_stream = 0xe0;
fill_screen(COLOR_BLUE);
}
/* process_PBC_key() after process_stop_key()..OSD related */
process_PBC_key();
play_state = ENTRY_STATE;
} else {
/* PBC off can not change to PBC on */
assign_osd_msg(osd_msg, error_msg, c_osd_msg, error_msg);
}
break;
case TIME_KEY:
#ifdef REAL_CLOCK
if (play_state != ENTRY_STATE) {
/* when ENTRY_TATE, time key is used for clock setting. */
#endif
if (!screen_display) {
start_timer = glbTimer;
screen_flag = 1;
screen_display = 1;
}
panel_time_mode_change();
#ifdef REAL_CLOCK
} else {
key_processed = 0;
}
#endif
break;
#ifdef JINRE_REMOTE
case SCREEN_ON_KEY:
screen_display += 1;
if (screen_display == 4)
screen_display = 0;
else if (screen_display >= 1)
panel_time_mode_change();
if (!screen_display)
OSD_clear_all();
break;
#else
case SCREEN_ON_KEY:
if (!play_clip)
screen_display ^= 1;
if (!screen_display)
OSD_clear_all();
#ifdef SCREEN_ON_TIME_SAME_KEY
if (!cd_stop && (osd_time_key_index == 0))
panel_time_mode_change();
#endif
break;
#endif
#ifdef VOLUME_CONTROL
case MUTE_KEY:
process_mute_key();
break;
case VOLUME_UP_KEY:
process_volume_key(1); /* increase one level. */
break;
case VOLUME_DOWN_KEY:
process_volume_key(-1); /* decrease one level. */
break;
#endif
case XUECHANG_KEY:
xuechang_flag +=1;
if (xuechang_flag ==1) {
if (PBC_on) {
xuechang_flag =0;
assign_osd_msg(osd_msg, error_msg, c_osd_msg, error_msg);
} else {
if (play_state == PLAY_NORMAL_STATE) {
continue_sec = (servo_info & 0xff);
continue_min = ((servo_info >> 8) & 0xff);
if (continue_sec < 0x05 ) {
continue_sec += 0x55;
if (continue_min >= 1)
continue_min -= 1;
else
continue_sec = 0x00;
} else {
continue_sec -= 0x05;
if ((continue_sec & 0x0f) >= 0x0a) {
continue_sec -= 0x06;
}
}
continuetime = ((continue_min << 16) | (continue_sec << 8)) | 0 ;
servo_info = (continue_min << 8) | continue_sec;
get_current_track_time();
get_track_info(track_list[cur_track_index], &play_item_start_time,
&play_item_end_time, &play_item_type);
play_item_real_end_time = play_item_end_time;
play_item_begin_time = play_item_start_time;
continuetime1 = adjCDtime(play_item_start_time, continuetime, 1);
compute_cd_total_remain();
cur_list_state = PLAY_TRACK_LIST_STATE;
check_entry_number(cur_track_number, continuetime1);
panel_play_track(cur_track_number);
play_item_mode = PLAY_INFO_STOP_MODE;
play_item_start_time = continuetime1;
xuechang_flag =0;
}
}
}
break;
#ifdef USE_CLEAR_KEY
case CLEAR_KEY:
/* clear repeat a2b mode */
if (repeat_a2b == REPEAT_AB_END) {
/* reset the play time back to normal */
repeat_a2b = REPEAT_AB_OFF;
second_endCDtime = x00999999;
play_item_start_time = play_item_begin_time;
play_item_end_time = play_item_real_end_time;
endCDtime = play_item_end_time;
if (play_item_type == AUDIO_TRACK)
dsa_release(play_item_begin_time, play_item_real_end_time);
panel_repeat_ab(REPEAT_AB_OFF);
} e
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -