global.h
来自「代码有点长,需细心阅读,仅供影音视听类产品的开发人员参考」· C头文件 代码 · 共 254 行
H
254 行
#ifndef __GLOBAL_H
#define __GLOBAL_H
#include "bufloc.h"
#include "types.h"
#include "config.h"
#include "user_init.h" //jhuang 2002/5/17
/*
** FUNCTION pointer prototype
*/
typedef void (*vfunc) ();
typedef int (*ifunc) ();
/*
** STATE
*/
enum
{
SYSTEM_OPEN,
SYSTEM_READ_TITLE,
SYSTEM_SETUP_BROWSER,
SYSTEM_STOP,
SYSTEM_BROWSE,
SYSTEM_PLAYGAME,
SYSTEM_UNDECIDED,
#ifdef POWER_KEY
SYSTEM_POWER, //zhyf 2-9-11 10:45
#endif
};
EXTERN BYTE system_state;
EXTERN vfunc browser;
#define ON 0x1
#define OFF 0x0
/*
** User Interface processing state
**
*/
//#define VCD_STATE_PREVIEW 0x12
//#define VCD_STATE_INTRO 0x13
//#define VCD_STATE_9FRAMES 0x14
#define IsUIStateForward() (adv_search_time>0)
#define IsUIStateBackward() (adv_search_time<0)
#define IsUIStateSearch() (adv_search_time!=0)
#define UISetState(c) (play_state = (c))
#define CheckUIState(c) (play_state == (c))
#if 1
enum
{
VCD_STATE_IDLE = 0x00,
VCD_STATE_READTOC = 0x01, /* reading TOC */
VCD_STATE_OPEN = 0x02,
VCD_STATE_CLOSE = 0x03,
VCD_STATE_STOP = 0x04, /* DSA send CDROM stop command */
VCD_STATE_FORWARD = 0x05, /* FF/FB */
VCD_STATE_BACKWARD = 0x06,
VCD_STATE_FAST = 0x07, /* 2X CDROM speed */
VCD_STATE_STEP = 0x08,
VCD_STATE_FREEZE = 0x09,
VCD_STATE_PAUSE = 0x0a, /* Pause Macro command */
VCD_STATE_SLOW = 0x0b,
VCD_STATE_MP3_DIRLIST = 0x0c,
VCD_STATE_GAME = 0x0d,
VCD_STATE_NORMAL = 0x0e,
#ifdef POWER_KEY
VCD_STATE_POWER =0x0f,
VCD_STATE_MAX=0x10
#else
VCD_STATE_MAX=0x0f
#endif
};
#endif
EXTERN BYTE play_state;
EXTERN BYTE arti_control;
/*
** To specify different playing
** in VCD_STATE_NORMAL
*/
#ifdef POWER_KEY
enum {
MODE_NORMAL = 0,//(1<<0), //KEY_NORM=0,
MODE_PREVIEW = 2,//(1<<1), //PREVIEW
MODE_9FRAME = 3,//(1<<2), //9FRAME
MODE_INTRO = 4,//(1<<3), //INTRO,
MODE_PLAYMP3 = 5,//(1<<4), //PLAYMP3,
};
#else
enum
{
MODE_NORMAL = 0, //(1<<0), //KEY_NORM=0,
MODE_PREVIEW = 1, //(1<<1), //PREVIEW
MODE_9FRAME = 2, //(1<<2), //9FRAME
MODE_INTRO = 3, //(1<<3), //INTRO,
MODE_PLAYMP3 = 4, //(1<<4), //PLAYMP3,
MODE_INTREADY = 5, //zhyf 2-9-24 20:18
MODE_RANREADY = 6,
};
#endif
EXTERN BYTE norm_mode;
#define IsNMNorm() (norm_mode == MODE_NORMAL)
#define IsNMPreview() (norm_mode == MODE_PREVIEW)
#define IsNM9frame() (norm_mode == MODE_9FRAME)
#define IsNMIntro() (norm_mode == MODE_INTRO)
#define IsNMPlayMP3() (norm_mode == MODE_PLAYMP3)
#if VFD_DRIVER==SPL10 //zhg 2002/10/16
#define IsNMRanReady() (norm_mode == MODE_RANREADY) //2-9-24 20:18
#define IsNMIntReady() (norm_mode == MODE_INTREADY)
#define UISetNMRanReady() (norm_mode = MODE_RANREADY)
#define UISetNMIntReady() (norm_mode = MODE_INTREADY)
#endif
#define UISetNMNorm() (norm_mode = MODE_NORMAL)
#define UISetNMPreview() (norm_mode = MODE_PREVIEW)
#define UISetNM9frame() (norm_mode = MODE_9FRAME)
#define UISetNMIntro() (norm_mode = MODE_INTRO)
#define UISetNMPlayMP3() (norm_mode = MODE_PLAYMP3)
#define UISetNormMode(c) (norm_mode=(c))
/*
** To memorize some special key press/release
** mode
*/
enum
{
KEY_NORM = (1 << 0), //KEY_NORM=0,
KEY_GOTO = (1 << 1), //goto,
KEY_PROG = (1 << 2), //PROGRAM,
KEY_RAND = (1 << 3), //SHUFFLE,
KEY_3D = (1 << 4), //audio 3D
KEY_SETUP = (1 << 5), //setup menu
};
EXTERN BYTE key_mode;
#define IsKYNorm() (key_mode & KEY_NORM)
#define IsKYGoto() (key_mode & KEY_GOTO)
#define IsKYProg() (key_mode & KEY_PROG)
#define IsKYRand() (key_mode & KEY_RAND)
#define IsKY3D() (key_mode & KEY_3D)
#define IsKYSetup() (key_mode & KEY_SETUP)
#define UISetKYNorm() (key_mode |= KEY_NORM)
#define UISetKYGoto() (key_mode |= KEY_GOTO)
#define UISetKYProg() (key_mode |= KEY_PROG)
#define UISetKYRand() (key_mode |= KEY_RAND)
#define UISetKY3D() (key_mode |= KEY_3D)
#define UISetKYSetup() (key_mode |= KEY_SETUP)
#define ClrKYGoto() (key_mode &=~KEY_GOTO,ir_select_number=0) ; //zhyf input GOTO time>disc time.2-4-27 12:35
#define ClrKYProg() (key_mode &=~KEY_PROG)
#define ClrKYRand() (key_mode &=~KEY_RAND)
#define ClrKY3D() (key_mode &=~KEY_3D)
#define ClrKYSetup() (key_mode &=~KEY_SETUP)
#define UISetKeyMode(c) (key_mode=(c))
enum
{
GOTO_NONE = 0, /* No goto action */
GOTO_PROCEED, /* searching.... */
GOTO_FINISH, /* Has received DSA response */
};
EXTERN BYTE goto_active;
enum
{
PROG_IDLE,
STORE_PROGRAM,
PLAY_PROGRAM
};
EXTERN BYTE prog_state;
#define UISetProgState(c) (prog_state =(c))
#define CheckUIProgState(c) (prog_state ==(c))
#define SHOW_PROG_NO 20
#define MAX_LINE 0x05
#define PAGE_CHG_RDY (1<<1)
#define ARR_MOV_RDY (1<<2)
//#define PAGE_CHG_END (1<<2)
//#define ARR_MOV_END (1<<3)
#define ARR_WAIT_TIME 0x64
enum
{
CLEAR_ALL = 0,
GOTO,
PROGRAM,
SHUFFLE,
REPEAT_ALL,
REPEAT_AB,
RESUME, //keep resume
};
#if 0
EXTERN BYTE play_mode;
#endif
/*
** REPEAT MODE of Playing
*/
enum
{
REPEAT_IDLE = 0,
REPEAT_TRACK,
REPEAT_DISC,
};
EXTERN BYTE rep_mode;
#define UISetRepMode(c) (rep_mode=(c))
#define CheckUIRep(c) (rep_mode==(c))
enum
{
REPEAT_AB_IDLE = 0,
REPEAT_FIND_A,
REPEAT_FIND_B,
};
EXTERN BYTE rep_ab_mode;
#define UISetRepABMode(c) (rep_ab_mode=(c))
#define CheckUIRepAB(c) (rep_ab_mode==(c))
//////////////////////////璽弄璽佰///////////////////////////////////
enum
{
FDFC_STOP = (1 << 0), //礚璽弄璽佰
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?