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

📄 fsmidi.h

📁 Sunplus 8202S source code.
💻 H
📖 第 1 页 / 共 2 页
字号:
//
// 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 + -