📄 play.c
字号:
/*------------------------------------------------------------------------ Function: Parameters: Description:------------------------------------------------------------------------*/#if (defined(JPEG_DEC) && defined(JPEG_ROTATE))void JpgRotationKeyProc(JPEG_ROTATION){ if(play_state == PLAY_NORMAL_STATE) { JPEG_ReDecoding = 1; Rotate_Proc = JPEG_ROTATION; cur_track_index--; if(cur_track_index<0) cur_track_index=0; cur_track_number = cur_track_index+1; system_reset(); play_data_file(cur_track_number); } else if((play_state==PLAY_PAUSE_STATE)|| (play_state==PLAY_WAIT_TIME_STATE)) { if(Huff_state_jpg==0) JPG_rotate_pic(JPEG_ROTATION); else { Pause_JPEG_ReDecoding = 1; play_state = PLAY_NORMAL_STATE; jpeg_pause = 0; JPEG_ReDecoding = 1; Rotate_Proc = JPEG_ROTATION; cur_track_index--; if(cur_track_index<0) cur_track_index=0; cur_track_number = cur_track_index+1; system_reset(); play_data_file(cur_track_number); } } }#endifextern 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 save_key = current_key; current_key = NO_KEY;#ifdef SCREEN_ON_TIME_SAME_KEY#define SCREEN_KEY_INDEX_LIMIT 2#define TIME_KEY_INDEX_LIMIT 4 /* Convert the osd and time key. */ if (!cd_stop && (save_key == SCREEN_ON_KEY) && ((!(DiscMode & DISC_PBC_ON) || (SystemStatus != SYSTEM_PLAYING)))#ifdef DATA_CD && (!STREAM_type)#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 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#ifdef EQUALIZER if ((KEY_RESUME_mode == EQ_KEY_INPUT) && (save_key == EQ_ON_OFF_KEY)) { EQ_mode ^= 1; /* toggle on/off */ if (EQ_mode) MIX_init(); return (1); } if (((KEY_RESUME_mode == EQ_KEY_INPUT) && (save_key == EQ_KEY)) || (OSD_eq_mode>0) || (OSD_eq_mode_previous>0)) { key_processed = process_EQ_key(save_key); if (key_processed) return (1); }#endif EQUALIZER if (save_key == TV_MODE_KEY) { if (!tv_changed) {#ifndef LTOC_TV_CHANGE play_change_tv_mode();#endif } else { /* ignore if currently in TV mode change..next time */ assign_key = TV_MODE_KEY; } return (1); } if ((save_key == NEXT_KEY) || (save_key == PREVIOUS_KEY)) forceDSAabort = 0; if (save_key == EJECT_KEY) { forceDSAabort = 0; if (cd_opened) { OUTOSD(OSD_FUNCTION_STATUS_REGION, MSG_close, MSG_c_close, DISPLAY_TIME_OUT); process_close_key(); } else {#ifndef THREE_CDS CLEARALLOSD();#endif /* THREE_CDS */ OUTOSD(OSD_FUNCTION_STATUS_REGION, MSG_open, MSG_c_open, DISPLAY_TIME_OUT); process_open_key();#ifdef CD_TEXT if(CDT_data_ready) CD_text_reset();#endif } save_key = NO_KEY;#ifndef THREE_CDS play_state = ENTRY_STATE;#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; 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 */ /* check cd type and tray status first */ if (cd_opened) { if (initCD()) { current_key = save_key; } return (1); }#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) { assign_osd_msg(osd_msg, MSG_unknown_disc, c_osd_msg, MSG_c_unknown_disc); play_state = ENTRY_STATE; return (1); } if ((play_state != PLAY_MENU_STATE) #ifdef GAMEBOY && (play_state != PLAY_GAME_STATE)#endif ) { switch (save_key) {#if (defined(JPEG_DEC) && defined(JPEG_ROTATE)) case ZOOM_UP_KEY: if(is_jpeg #ifdef FLESHTONE && !JpgFleshtoneVscale && !fleshtone_proc #endif && !Rotate_Proc) JpgRotationKeyProc(ROTATE_INVERT); else key_processed = 0; break; case ZOOM_DOWN_KEY: if(is_jpeg #ifdef FLESHTONE && !JpgFleshtoneVscale && !fleshtone_proc #endif && !Rotate_Proc) JpgRotationKeyProc(ROTATE_MIRROR); else key_processed = 0; break; case ZOOM_LEFT_KEY: if(is_jpeg #ifdef FLESHTONE && !JpgFleshtoneVscale && !fleshtone_proc #endif && !Rotate_Proc) JpgRotationKeyProc(ROTATE_LEFT); else key_processed = 0; break; case ZOOM_RIGHT_KEY: if(is_jpeg #ifdef FLESHTONE && !JpgFleshtoneVscale && !fleshtone_proc #endif && !Rotate_Proc) JpgRotationKeyProc(ROTATE_RIGHT); else key_processed = 0; break;#endif case KEY_PLUS:#ifdef GAMMA if (KEY_RESUME_mode == GAMMA_KEY_INPUT) { if(vcx_user_video_stream != 0xe2) { gamma_index++; if (play_state == PLAY_PAUSE_STATE) Gamma_Pause_Proc(); else Gamma_NonPause_Proc(); } else { OUTOSD(1, error_msg, error_msg, QUICK_TIME_OUT); } } else#endif #ifdef FLESHTONE if (KEY_RESUME_mode == FLESHTONE_KEY_INPUT) { if (((play_state==PLAY_PAUSE_STATE)#ifdef JPEG_DEC ||(is_jpeg&&(!JpgFleshtoneVscale)&&(!done_blank))#endif )&&(!fleshtone_proc) &&(!CG_menu_on)) { fleshtone_index++; FleshTone_Main_Proc(); } } else#endif { /* KEY_ADJUST_INPUT */#ifdef HOST_SLAVE if (codeOperand==0xff) {#endif if (vcx_karaokey < 7) vcx_karaokey++;#ifdef HOST_SLAVE } else vcx_karaokey=(codeOperand>7)?7:codeOperand;#endif #ifdef KARAOKE panel_key_shift(vcx_karaokey);#endif } break; case KEY_MINUS:#ifdef GAMMA if (KEY_RESUME_mode == GAMMA_KEY_INPUT) { if(vcx_user_video_stream != 0xe2) { gamma_index--; if (play_state == PLAY_PAUSE_STATE) Gamma_Pause_Proc(); else Gamma_NonPause_Proc(); } else { OUTOSD(1, error_msg, error_msg, QUICK_TIME_OUT); } } else#endif#ifdef FLESHTONE if(KEY_RESUME_mode == FLESHTONE_KEY_INPUT) { if (((play_state==PLAY_PAUSE_STATE)#ifdef JPEG_DEC ||(is_jpeg&&(!JpgFleshtoneVscale)&&(!done_blank)) #endif )&&(!fleshtone_proc)&&(!CG_menu_on)) { fleshtone_index--; FleshTone_Main_Proc(); } } else#endif { /* KEY_ADJUST_INPUT */#ifdef HOST_SLAVE if (codeOperand==0xff) {#endif if (vcx_karaokey > -7) vcx_karaokey--;#ifdef HOST_SLAVE } else vcx_karaokey=(codeOperand <-7)? 7:codeOperand;#endif #ifdef KARAOKE panel_key_shift(vcx_karaokey);#endif } break; case KEY_RESUME_KEY: KEY_RESUME_mode++; { int mode_limit = GAMMA_KEY_INPUT;#if (defined DAE_SPATIAL && defined ECHO && defined KARASC && defined MIC_RECORD) /*Since we have no enough power to support all the functions turned on when MIC_REC is on, we close the GAMMA. */ if ( KSC_mode>0 && DAE_mode>0 && EQ_mode>0 && play_state == PLAY_FOLLOWING_STATE) mode_limit = EQ_KEY_INPUT;#endif if((vcx_user_video_stream==0xe2)||(TDM_isCDDA)) mode_limit = EQ_KEY_INPUT; if (STREAM_type) { mode_limit = EQ_KEY_INPUT;#ifndef KARAOKE if (CG_menu_on) { OUTOSD(1, error_msg, error_msg, 3); break; }#endif#if (defined(VCDJPEG) && defined(FLESHTONE)) if (is_jpeg&&(!done_blank)&&(!CG_menu_on)) { { mode_limit = FLESHTONE_KEY_INPUT; if (KEY_RESUME_mode == GAMMA_KEY_INPUT) KEY_RESUME_mode = FLESHTONE_KEY_INPUT; }#endif } else { if ((play_state == PLAY_PAUSE_STATE) && (vcx_user_video_stream != 0xe2)) { mode_limit = FLESHTONE_KEY_INPUT; } } if (KEY_RESUME_mode > mode_limit) KEY_RESUME_mode = KEY_ADJUST_INPUT; }#ifdef FLESHTONE if (is_jpeg && (!CG_menu_on)) KEY_RESUME_mode = FLESHTONE_KEY_INPUT;#endif assign_osd_msg(osd_msg, KEY_mode_msg[KEY_RESUME_mode], c_osd_msg, KEY_mode_msg[KEY_RESUME_mode]); osd_timeout = QUICK_TIME_OUT; if (KEY_RESUME_mode_old != KEY_RESUME_mode) {#if (defined(GAMMA) || defined(FLESHTONE)) if (KEY_RESUME_mode_old > EQ_KEY_INPUT) { /* clear slide bar */ OSD_clear_region(OSD_SLIDE_BAR_REGION); } else #endif /* GAMMA || FLESHTONE */ if (KEY_RESUME_mode_old == KEY_ADJUST_INPUT) { /* clear pitch bar */ OSD_clear_region(OSD_KARAOKE_REGION); } } #ifdef GAMMA if (KEY_RESUME_mode == GAMMA_KEY_INPUT) { GAMMA_bar(gamma_index); } #endif #ifdef FLESHTONE else if(KEY_RESUME_mode == FLESHTONE_KEY_INPUT) { OSD_slide_bar(fleshtone_index, 5); } else#endif#ifdef KARAOKE if ((KEY_RESUME_mode == KEY_ADJUST_INPUT) && !is_jpeg) { if(!CG_menu_on)panel_key_shift(vcx_karaokey); }#endif KEY_RESUME_mode_old = KEY_RESUME_mode; OUTOSD(1,osd_msg,c_osd_msg,osd_timeout); key_processed = 1; break;#ifdef ECHO case ECHO_PLUS: if (vcx_echo < vcx_echo_max_level) { vcx_echo ++; if (vcx_echo == 0) { /* -1 -> 0 */ MIC_init(); MIC_start_take_in(); } } OSD_echo(); break; case ECHO_MINUS: if (vcx_echo > -1) { vcx_echo --; if (vcx_echo == -1) { /* 0 -> -1 */ MIC_stop_take_in(); } } OSD_echo(); break;#endif case SURROUND_KEY:#ifdef REVERB RVB_toggle_mode();#elif defined(EQUALIZER) && defined(DAE_SPAT
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -