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 + -
显示快捷键?