⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 macro.h

📁 C语言编写的监控中心终端程序。基于GPRS上传收发数据功能
💻 H
字号:
#ifndef __MACRO_H
#define __MACRO_H

#include "sig.h"
#include "avd.h"

void			MacroSync(void);
void			MacroAbort(void);
void			MacroContinue(void);
void			MacroDisplayBackground(void);
void			MacroDisplayPreviewBackground(void);
void			MacroForward(void);
void			MacroBackward(void);
void			MacroSearch(void);
void			MacroFreeze(void);
void			MacroOSD_OnOff(void);
void			MacroPause(void);
void			MacroPlay(void);
void			MacroPlayLBA(void);
void			MacroPlayOneSlide(void);
void			MacroPlayRomSlide(void);
void			MacroPlaySector(void);
void			MacroPlayMP3(void);
void			MacroPlayMSF(void);
void			MacroPlayMSFPreview();
void			MacroPlayTrackPreview(void);
void			MacroPlayTrack();
void			MacroPlayEntry();
void			MacroPlaySegment();
void			MacroPlaySlides(void);
void			MacroPreview(void);
void			MacroPreviewSector(void);
void			MacroReadCD(void);
void			MacroReadSeqheader(void);
void			MacroSelectStream(void);
void			MacroSetBackgroundColor(void);
void			MacroSetOsdColor(void);
void			MacroSetVideoFormat(void);
void			MacroSetVolume(void);
void			MacroSlowMotion(void);
void			MacroStep(void);
void			MacroStop(void);
void			MacroVolUp(void);
void			MacroVolDn(void);

enum {
    ID_Abort			= 0xf0,
    ID_Continue			= 0x10,
    ID_DisplayBackground	= 0x14,
    ID_DisplayOsdFifo		= 0x02,
    ID_FastCDPlay		= 0x13,
    ID_Freeze			= 0x08,
    ID_OSD_OnOff		= 0x12,
    ID_Pause			= 0x09,
    ID_Play			= 0x0a,
    ID_PlayOneSlide		= 0x04,
    ID_PlayRomSlide		= 0x05,
    ID_PlaySector		= 0x0b,
    ID_PlaySlides		= 0x06,
    ID_Preview			= 0x15,
    ID_PreviewSector		= 0x16,
    ID_ReadCD			= 0x07,
    ID_ReadSeqheader		= 0x1a,
    ID_Search			= 0x0c,
    ID_SelectStream		= 0x0d,
    ID_SetBackgroundColor	= 0x01,
    ID_SetOsdColor		= 0x03,
    ID_SetVideoFormat		= 0x0e,
    ID_SetVolume		= 0x18,
    ID_SlowMotion		= 0x0f,
    ID_Step			= 0x11
};

#define	Abort()			MacroAbort()
#define	Sync()			MacroSync()
#define	Continue()		MacroContinue()
#define	DisplayBackground()	MacroDisplayBackground()
#define	DisplayPreviewBackground()	MacroDisplayPreviewBackground()

#define	OSD_OnOff(OnOff)				\
	do {						\
	    MacroParam.OSD_OnOff.on_off=(OnOff);	\
	    MacroOSD_OnOff();				\
	}   while (0)

#define	FastForward()		MacroForward()
#define	FastBackward()		MacroBackward()
/*
#define	Search()		MacroSearch()       
#define	Freeze()		MacroFreeze()               
#define	Pause()			MacroPause()
*/
#define	Play()			MacroPlay()
/*
#define	Step()			MacroStep()
*/
#define	Stop()			MacroStop()

#define	PlayMSF(msf)					\
	do {						\
	    MacroParam.PlayMSF.addr_msf = (msf);	\
	    MacroPlayMSF();				\
	}   while (0)
#define	PlayLBA(a, b)					\
	do {						\
	    MacroParam.PlayLBA.lba = (a);		\
	    MacroParam.PlayLBA.len = (b);		\
	    MacroPlayLBA();				\
	}   while (0)
#define	PlayMSFPreview(a, b, msf, trk)			\
	do {						\
	    MacroParam.PlayMSFPreview.x = (a);		\
	    MacroParam.PlayMSFPreview.y = (b);		\
	    MacroParam.PlayMSFPreview.addr_msf = (msf);	\
	    MacroParam.PlayMSFPreview.track = (trk);	\
	    MacroPlayMSFPreview();			\
	}   while (0)
#define	PlayTrackPreview(a, b, trk)			\
	do {						\
	    MacroParam.PlayTrackPreview.x = (a);	\
	    MacroParam.PlayTrackPreview.y = (b);	\
	    MacroParam.PlayTrackPreview.track = (trk);	\
	    MacroPlayTrackPreview();			\
	}   while (0)
#define	PlayTrack(trk)					\
	do {						\
	    MacroParam.PlayTrack.track = (trk);		\
	    MacroPlayTrack();				\
	}   while (0)
#define	PlayEntry(ent)					\
	do {						\
	    MacroParam.PlayEntry.entry = (ent);		\
	    MacroPlayEntry();				\
	}   while (0)
#define	PlaySegment(seg)				\
	do {						\
	    MacroParam.PlaySegment.segment = (seg);	\
	    MacroPlaySegment();				\
	}   while (0)
#define	PlayMP3(msf, len)				\
	do {						\
	    MacroParam.PlayMP3.address_msf = (msf);	\
	    MacroParam.PlayMP3.length = (len);		\
	    MacroPlayMP3();				\
	}   while (0)
#define PlayRomSlide(RomAddr)				\
	do {						\
	    MacroParam.PlayRomSlide.rom_addr = (RomAddr); \
	    MacroPlayRomSlide();			\
	}   while (0)
#define	PlaySector()		MacroPlaySector()
#define	PlaySlides()		MacroPlaySlides()
#define	Preview()		MacroPreview()
#define	PreviewSector()		MacroPreviewSector()
#define	ReadCD()		MacroReadCD()
#define	ReadSeqheader()		MacroReadSeqheader()
#define	SelectStream(A, V)				\
	do {						\
	     MacroParam.SelectStream.audio = (A);	\
	     MacroParam.SelectStream.video = (V);	\
	     MacroSelectStream();			\
	 }   while (0)
#define	SetBackgroundColor()	MacroSetBackgroundColor()

#define	SetOsdColor(Region, Color, Y, U, V)		\
	do {						\
	    MacroParam.SetOsdColor.region = (Region);	\
	    MacroParam.SetOsdColor.color  = (Color);	\
	    MacroParam.SetOsdColor.y = (Y);		\
	    MacroParam.SetOsdColor.u = (U);		\
	    MacroParam.SetOsdColor.v = (V);		\
	    MacroParam.SetOsdColor.b = 0x03;		\
	    MacroSetOsdColor();				\
	}   while (0)

#define	SetVideoFormat(Fmt)				\
	do {						\
	    MacroParam.SetVideoFormat.format = (Fmt);	\
	    MacroSetVideoFormat();			\
	}   while (0)
#define	Step(a)						\
	do {						\
	    MacroParam.Step.factor = (a);		\
	    MacroStep();				\
	}   while (0)
#define	Pause(a)					\
	do {						\
	    MacroParam.Pause.factor = (a);		\
	    MacroPause();				\
	}   while (0)
#define	Search(a)					\
	do {						\
	    MacroParam.Search.factor = (a);		\
	    MacroSearch();				\
	}   while (0)
#define	SlowMotion(a)					\
	do {						\
	    MacroParam.SlowMotion.slow = (a);		\
	    MacroSlowMotion();				\
	}   while (0)
#define	Freeze(a)					\
	do {						\
	    MacroParam.Freeze.enable = (a);		\
	    MacroFreeze();				\
	}   while (0)

#define	SetVolume()		MacroSetVolume()
/*
#define	SlowMotion()		MacroSlowMotion()
*/
#define	VolumeUp()		MacroVolUp()
#define	VolumeDown()		MacroVolDn()

/*
 **	SetVideoFormat(BYTE format)
 */
enum {
    TV_NTSC		= 0,
    TV_PAL		= 1,
    TV_PALM		= 2,
//  TV_NTSC_D		= 2,
//  TV_PAL_D		= 3,
//  TV_NTSC_A		= 4,
//  TV_PAL_A		= 5
};

/*
 **	MacroParam
 **	Parameter for macros
 */
typedef struct
{
    BYTE		mm, ss, ff;
    BYTE		sectors;
    BYTE		*dst;
}   t_ReadCD;

typedef struct
{
    BYTE		region;
    BYTE		color;
    BYTE		y, u, v, b;
}   t_SetOsdColor;

typedef struct
{
    BYTE		on_off;
}   t_OSD_OnOff;

typedef struct
{
    BYTE		format;
}   t_SetVideoFormat;

typedef struct
{
    BYTE		video;
    BYTE		audio;
}   t_SelectStream;

typedef struct
{
    BYTE		volume;
}   t_SetVolume;

typedef struct
{
    BYTE		*rom_addr;
}   t_PlayRomSlide;

typedef struct
{
    UINT32		addr_msf;
}   t_PlayMSF;

typedef struct
{
    UINT32		lba;
    UINT32		len;
}   t_PlayLBA;

typedef struct
{
    BYTE		track;
}   t_PlayTrack;

typedef struct
{
    UINT16		x;
    UINT16		y;
    UINT32		addr_msf;
    BYTE		track;
}   t_PlayMSFPreview;

typedef struct
{
    UINT16		x;
    UINT16		y;
    BYTE		track;
}   t_PlayTrackPreview;

typedef struct
{
    UINT16		entry;
}   t_PlayEntry;

typedef struct
{
    UINT16		segment;
}   t_PlaySegment;

typedef struct
{
    UINT32		address_msf;
    UINT32		length;
}   t_PlayMP3;

typedef struct
{
    BYTE		factor;
}   t_Step;

typedef struct
{
    BYTE		factor;
}   t_Pause;

typedef struct
{
    int			factor;
}   t_Search;

typedef struct
{
    BYTE		slow;
}   t_SlowMotion;

typedef struct
{
    BYTE		enable;
}   t_Freeze;

/*
 **	Command Record
 */
EXTERN union
{
    t_ReadCD		ReadCD;
    t_SetOsdColor	SetOsdColor;
    t_OSD_OnOff		OSD_OnOff;
    t_SetVideoFormat	SetVideoFormat;
    t_SelectStream	SelectStream;
    t_PlayRomSlide	PlayRomSlide;
    t_PlayTrack		PlayTrack;
    t_PlayTrackPreview	PlayTrackPreview;
    t_PlayMSF		PlayMSF;
    t_PlayMSFPreview	PlayMSFPreview;
    t_PlayLBA		PlayLBA;
    t_PlayEntry		PlayEntry;
    t_PlaySegment	PlaySegment;
    t_PlayMP3		PlayMP3;
    t_SetVolume		SetVolume;
    t_Step		Step;
    t_Pause		Pause;
    t_Search		Search;
    t_SlowMotion	SlowMotion;
    t_Freeze		Freeze;
}   MacroParam;

#endif	__MACRO_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -