📄 fsmidi.h
字号:
//
// fsmidi.h
//
// notes:
//
// history:
// 2003/04/09 : create(Jeff)
//
#ifndef __FS_MIDI_H
#define __FS_MIDI_H
#include "memmap.h"
#include "memmap0.h"
#include "user_init.h"
#include "jpegeffect.h"
//*************************************************************************
//***** BEGIN : The following is main function define ******
//*************************************************************************
//***********************************************
//**Load Midi Multi Index Menu Font
//**define : the font base size
//**define : download the 30*30 font fot the menu font
//***********************************************
#define MIDI_MENU_FONT
//***********************************************
//**extend the second region for variable index
//***********************************************
#define SUPPORT_REGION2_DOT
//*************************************************************************
//*** END : main function define ****
//*************************************************************************
//added by dtb in 200307022
#ifdef EXTERN_MIDI_HERE
#define EXTERN_FSMIDI
#else
#define EXTERN_FSMIDI extern
#endif
//xlluo 04-9-2
#define SUPPORT_DISPQXQ_STOP
#define SUPPORT_ONTIME_CAPTIONCLEAR
#ifdef SUPPORT_ONTIME_CAPTIONCLEAR
#define CLEAR_DELAYTIMES (90000<<3)
#define CLEAR_DELAYTIMES_MP3 (90000<<3)
EXTERN_FSMIDI BYTE bIsCaptionDisp;
#endif
//xlluo add 060514
//forbid ir control when read mp3
//for pure music play
EXTERN_FSMIDI BYTE bIsPureMusic;
EXTERN_FSMIDI int cCntClsMusicTitle;
extern void ClsPureMUCaption(void);
//xlluo add for 8202 to read from cardreader midi file
#ifdef SPHE8202_CARD_STORAGE
#define SUPPORT_CARDREADER_TEST
#endif//SPHE8202_CARD_STORAGE
#ifdef SUPPORT_CARDREADER_TEST
EXTERN_FSMIDI BYTE bIsCardFile;//xlluo add only for test 04-1-21
#endif//SUPPORT_CARDREADER_TEST
// for the midi state for midi player
enum {
MIDI_STATE_INIT=0,
MIDI_STATE_PREPARSE,
MIDI_STATE_PAYLOAD,
MIDI_STATE_DONE,
MIDI_STATE_PLAY_ONLYVIDEO,
};
// recording the location and size of the fs9660 file
typedef struct
{
UINT32 loc; // mmssff
UINT32 size; // in Bytes
} PLF_REC;
//midi module variables for external reference
extern UINT32 iByteRemain;
extern UINT32 iMidiPos;
extern BYTE *pMidi;
extern PLF_REC *melody, *rhythm; //melody[128], rhythm[47]
extern PLF_REC midiMovie[10]; //midiMovie[10]
extern PLF_REC allPLF;
#ifdef SUPPORT_MIDI_VOCAL
EXTERN_FSMIDI BYTE bIsMp3LyricSyn;
EXTERN_FSMIDI PLF_REC *pMidiVocal; //Jeff 20031015
#endif
EXTERN_FSMIDI UINT32 midi_timenow,midi_polling_time;
EXTERN_FSMIDI UINT8 Midi_pause_flag;
EXTERN_FSMIDI BYTE midiState;
//xlluo add for disable the irinput when load disk
//will crash //04-11-23
EXTERN_FSMIDI BYTE bHoldInput;
//**********************************************************************
//******define the interface buffer between the MIDI RISC and MIDI DSP
//**********************************************************************
#define MIDIDSP_INTERFACE_SIZE ((AUDSIZE)-12)
#define MIDIDSP_INTERFACE_BUFFER_ADDR (SDRAM_BASE + A_AUDYA*1024 + 12*1024) //put .mid file content, with AUDYA-offset 12KBytes
//**********************************************************************************
//****** define the read buffer on reading the midi file and converting the format1 into format0
//****** Use the JPEG Buffer as the temporary buffer
//**********************************************************************************
#define MIDIREAD_BUFFER (SDRAM_BASE + 1024*(JPEG_YA))
#define MIDIREAD_BUFFER_SIZE (1024*(JPEG_CDBUF_SIZE))
#ifdef SUPPORT_OSDLYRIC
//define Menu&Lyric Region X and Y
#define MENU_REGION_X (20)
#define MENU_REGION_Y (60)
#define LYRIC_REGION_X (20)
#define LYRIC_REGION_Y (180)
//define the font base NO. 0: the Lyric font (40*48)
// 1: the Menu font (30*30)
#define MIDI_LYRIC_FONTDEBASE (0)
#define MIDI_MENU_FONTDEBASE (1)
//define the Lyric font Para for OSD
#define OTHER_FONT_WIDTH (20)
#define LYRIC_FONT_HIGHT (40)
#define LYRIC_FONT_WIDTH (48)
#define LYRIC_FONT_MARGIN (2)
#define LYRIC_ABC_WIDTH (30)
#define LYRIC_NUMFONT_WIDTH (30)
#define LYRIC_ABC_CAP_WIDTH (28)
#define MIDI_LYRIC_REGION (640)
//define these parameter including the OSD region partition
#ifdef SUPPORT_REGION2_DOT
#define MIDI_LYRIC_HEIGHT (140-50)
#define MIDI_MENU_REGION (640)
#define MIDI_MENU_HEIGHT (190+50)
#define LYRIC_YY_LINE0 (0)
#define LYRIC_YY_LINE1 (LYRIC_YY_LINE0+LYRIC_FONT_HIGHT+4)
#define DISP_DOT_REGION (REGION2)
#define DISP_DOT_XPOS (20)
#define DISP_DOT_LINE (200)
#define DISP_LYRIC_REGION (REGION3)
#else
#define MIDI_LYRIC_HEIGHT (140)
#define MIDI_MENU_REGION (512)
#define MIDI_MENU_HEIGHT (190)
#define LYRIC_YY_LINE0 (4+LYRIC_FONT_HIGHT)
#define LYRIC_YY_LINE1 (LYRIC_YY_LINE0+LYRIC_FONT_HIGHT+4)
#define DISP_DOT_REGION (REGION3)
#define DISP_DOT_LINE (0)
#define DISP_LYRIC_REGION (REGION3)
#endif
#define DISP_CAPTION_REGION (REGION2)
//define midi lyric osd colour table
//----------------------lyric colour--------------------
#define LYRIC_INIT_COLOUR 2 //white
#define MAN_REV_COLOUR 6 //blue
#define WOMAN_REV_COLOUR 10 //red
#define CHROUS_REV_COLOUR 8 //green
//----------------------lyric colour end-----------------
#define TITLE_COLOUR 10
#define FONT_FIGURE_COLOUR 11
#define FONT_FIGURE_REV_COLOUR 2
#define FONT_BACKGROUND_COLOUR 0
#define DOT_CUE_COLOUR 2
#define DOT_CUE_REV_COLOUR 10
//xlluo add for gray back on region0
#define SUPPORT_REPREGIONCOL
#ifdef SUPPORT_REPREGIONCOL
void osd_updataRegion_Color(BYTE R,BYTE G,BYTE B,BYTE A,BYTE code,BYTE regNum);
#endif
//the following is the memory allocation for the Midi Player
//should be 4N for memory allocation
#define MAXLYRICDATALEN (5120)
//define the max ff05 event number
#define MAXLYRICEVENT (2500)
//sizeof(LyricPos)
#define LYRIC_DATA_BUFFER_SIZE (((MAXLYRICEVENT)*(sizeof(LyricPos)))+(MAXLYRICDATALEN)+1024) //1000*20+2048+1024
#define MIDI_INDEX_BUFFER_SIZE ((500)<<(10))
#ifdef SUPPORT_MIDI_VOCAL
#define MIDI_MAX_MP3_FILES (1)
#else // for other schemes in future
#define MIDI_MAX_MP3_FILES (1)
#endif
//#define MIDI_VOCAL_INDEX_ADDR (SDRAM_BASE+0x800000) //store vocal file, Jeff 20031015
#define MIDI_VOCAL_INDEX_ADDR (SDRAM_BASE+(A_PCMYA+PCMSIZE)*1024) //2004/01/04 yltseng
//Jeff 20040916
//#define MIDI_VOCAL_INDEX_ADDR (SDRAM_BASE+0x8c0000) //store vocal file, Jeff 20031015
//#define MIDI_VOCAL_INDEX_ADDR (SDRAM_BASE+0x8b0000) //store vocal file, Jeff 20031015
//#ifdef SUPPORT_CARDREADER_TEST
//#define MIDICARD_INDEXBUFFERADDR (MIDI_VOCAL_INDEX_ADDR+MIDICARD_INDEXBUFFER*1024)
//#define MIDI_OSDFONT_ADDR (MIDICARD_INDEXBUFFERADDR+sizeof(PLF_REC)*MIDI_MAX_MP3_FILES)
//#else
#define MIDI_OSDFONT_ADDR (MIDI_VOCAL_INDEX_ADDR+sizeof(PLF_REC)*MIDI_MAX_MP3_FILES)
//#endif
#ifdef MIDI_MENU_FONT
#define SUPPORT_GB_FONTBASE3
// 1039837
#define MIDI_INDEX_SEARCH_STACK_SIZE (4096)
#define MIDI_LYRIC_FONT_GB1SIZE (2208490)
#define MIDI_LYRIC_FONT_GB2SIZE (1443850)
#define MIDI_MENU_FONT_GB1SIZE (519916)
#define MIDI_MENU_FONT_GB2SIZE (339907)
#ifdef SUPPORT_GB_FONTBASE3
//Jeff 20040916
#define MIDI_FONT_GB3SIZE (50000) //xlluo redefine 04-10-21 for some midifiles play error
//#define MIDI_FONT_GB3SIZE (200000)
#else
#define MIDI_FONT_GB3SIZE (0)
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -