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

📄 qcdmoddefs.h

📁 the mpeg2/4 aac decoder
💻 H
📖 第 1 页 / 共 2 页
字号:
	opMovePlaylistTrack = 1012,		// param1 = index of track to move, param2 = destination index (move shifts tracks between param1 and param2)	opSwapPlaylistTracks = 1013,	// param1 = index of first track, param2 = index of second track (swap only switches indecies param1 and param2)	opCreateDiscInfo = 1020,		// returns: pointer to ICddbDisc object. Do not release or deallocate this pointer	opSetDiscInfo = 1021,			// buffer = ICddbDisc*, param1 = MediaInfo*, param2 = track number	opSetSeekPosition = 1100,		// seek to position during playback									//		buffer = NULL, param1 = position									//		param2 = 0 - position is in seconds, 1 - position is in milliseconds, 2 - position is in percent (use (float)param1))	opSetRepeatState = 1110,		// set playlist repeat state, buffer = NULL, param1 = 0 - off, 1 - repeat track, 2 - repeat playlist	opSetShuffleState = 1111,		// set playlist shuffle state, buffer = NULL, param1 = 0 - off, 1 - on									//*** below configures custom plugin menu items for the 'plugin menu'									//*** Player will call plugin's configure routine with menu value when menu item selected									//*** returns 1 on success, 0 on failure	opSetPluginMenuItem = 2000,		// buffer = HINSTANCE of plugin, param1 = item id, param2 = (string ptr)string to display									//		- set param2 = 0 to remove item id from menu									//		- set param1 = 0 and param2 = 0 to remove whole menu	opSetPluginMenuState = 2001,	// buffer = HINSTANCE of plugin, param1 = item id, param2 = menu flags (same as windows menu flags - eg: MF_CHECKED)									//*** below are services for using the player's filename template editor									//*** returns 1 on success, 0 on failure	opShowTemplateEditor = 2100,	// displays template editor dialog, param1 = (HWND)parent window, param2 = modal flag	opLoadTemplate = 2101,			// loads saved templates, buffer = (char*)string buf, param1 = bufsize, param2 = index of template (index < 0 for default formats, index >= 0 for user made formats)	opRenderTemplate = 2102,		// create string based on template, buffer = (char*)template, param1 = FormatMetaInfo*, param2 = (char*)string buffer (min 260 bytes)									//*** other services	opUTF8toUCS2 = 9000,			// convert UTF8 string to UCS2 (Unicode) string, buffer = null terminated utf8 string, param1 = (WCHAR*)result string buffer, param2 = size of result buffer	opUCS2toUTF8 = 9001,			// convert UCS2 (Unicode) string to UTF8 string, buffer = null terminated ucs2 string, param1 = (char*)result string buffer, param2 = size of result buffer	opSafeWait = 10000				// plugin's can use this to wait on an object without worrying about deadlocking the player.									// this should only be called by the thread that enters the plugin, not by any plugin-created threads} PluginServiceOp;//-----------------------------------------------------------------------------// Info services api provided by the Player, called by Plugin.//-----------------------------------------------------------------------------typedef long (*PluginServiceFunc)(PluginServiceOp op, void *buffer, long param1, long param2);// Use to retrieve service func for DSP plugins (or other inproc process that doesn't have access to PluginServiceFunc)// Eg: PluginServiceFunc Service = (PluginServiceFunc)SendMessage(hwndPlayer, WM_GETSERVICEFUNC, 0, 0);// Set WPARAM = PLUGIN_API_WANTUTF8 for UTF8 string parameters#define WM_GETSERVICEFUNC			(WM_USER + 1)//-----------------------------------------------------------------------------typedef struct				// for Output Plugin Write callback{	void	*data;			// pointer to valid data	int		bytelen;		// length of data pointed to by 'data' in bytes	UINT	numsamples;		// number of samples represented by 'data'	UINT	bps;			// bits per sample	UINT	nch;			// number of channels	UINT	srate;			// sample rate	UINT	markerstart;	// Marker position at start of data (marker is time value of data) 							// (set to WAVE_VIS_DATA_ONLY to not have data sent to output plugins)	UINT	markerend;		// Marker position at end of data (not currently used, set to 0)} WriteDataStruct;//-----------------------------------------------------------------------------typedef struct			// for GetTrackExtents Input Plugin callback{	UINT track;			// for CD's, set the track number. Otherwise set to 1.	UINT start;			// for CD's or media that doesn't start at the beginning 						// of the file, set to start position. Otherwise set to 0.	UINT end;			// set to end position of media.	UINT unitpersec;	// whatever units are being used for this media, how many						// of them per second. 						// (Note: ((end - start) / unitpersecond) = file length	UINT bytesize;		// size of file in bytes (if applicable, otherwise 0).} TrackExtents;//-----------------------------------------------------------------------------typedef struct			// for opSetAudioInfo service{		    long struct_size;	// sizeof(AudioInfo)    long level;			// MPEG level (1 for MPEG1, 2 for MPEG2, 3 for MPEG2.5, 7 for MPEGpro)    long layer;			// and layer (1, 2 or 3)    long bitrate;		// audio bitrate in bits per second    long frequency;		// audio freq in Hz    long mode;			// 0 for stereo, 1 for joint-stereo, 2 for dual-channel, 3 for mono, 4 for multi-channel	char text[8];		// up to eight characters to identify format (will override level and layer settings)} AudioInfo;//-----------------------------------------------------------------------------// Equalizer Info//-----------------------------------------------------------------------------typedef struct			// for coming QCD version{	long struct_size;	// sizeof(EQInfo)	char enabled;			char preamp;		// -128 to 127, 0 is even	char bands[10];		// -128 to 127, 0 is even} EQInfo;//-----------------------------------------------------------------------------typedef struct{	long struct_size;	// sizeof(ProxyInfo)	char hostname[200];	long port;	char username[100];	char password[100];} ProxyInfo;//-----------------------------------------------------------------------------typedef enum			// for MediaInfo.mediaType{ 	UNKNOWN_MEDIA = 0,	CD_AUDIO_MEDIA = 1,	DIGITAL_FILE_MEDIA = 2,	DIGITAL_STREAM_MEDIA = 3} MediaTypes;//-----------------------------------------------------------------------------#define MAX_TOC_LEN				2048typedef struct{	// media descriptors	CHAR		mediaFile[MAX_PATH];	MediaTypes	mediaType;	// cd audio media info	CHAR		cd_mediaTOC[MAX_TOC_LEN];	int			cd_numTracks;	int			cd_hasAudio;	// operation info	int			op_canSeek;	// not used	int			reserved[4];} MediaInfo;//-----------------------------------------------------------------------------typedef struct{	long	struct_size;	LPCWSTR	title;	LPCWSTR	artalb;	LPCWSTR	album;	LPCWSTR	genre;	LPCWSTR	year;	LPCWSTR	tracknum;	LPCWSTR	filename;	LPCWSTR	arttrk;	long	reserved;} FormatMetaInfo;//-----------------------------------------------------------------------------// When subclassing the parent window, a plugin can watch for these messages// to react to events going on between plugins and player// DO NOT SEND THESE MESSAGES - can only watch for them// Plugin to Player Notifiers#define WM_PN_POSITIONUPDATE	(WM_USER + 100)	// playback progress updated#define WM_PN_PLAYSTARTED		(WM_USER + 101)	// playback has started#define WM_PN_PLAYSTOPPED		(WM_USER + 102) // playback has stopped by user#define WM_PN_PLAYPAUSED		(WM_USER + 103) // playback has been paused#define WM_PN_PLAYDONE			(WM_USER + 104) // playback has finished (track completed)#define WM_PN_MEDIAEJECTED		(WM_USER + 105) // a CD was ejected (CDRom drive letter= 'A' + lParam)#define WM_PN_MEDIAINSERTED		(WM_USER + 106) // a CD was inserted (CDRom drive letter= 'A' + lParam)#define WM_PN_INFOCHANGED		(WM_USER + 107) // track information was updated (lParam = (LPCSTR)medianame)#define WM_PN_TRACKCHANGED		(WM_USER + 109)	// current track playing has changed (relevant from CD plugin) (lParam = (LPCSTR)medianame)// Player to Plugin Notifiers#define WM_PN_PLAYLISTCHANGED	(WM_USER + 200) // playlist has changed in some way (add, delete, sort, shuffle, drag-n-drop, etc...)// For intercepting main menu display// (so you can get handle, modify, and display your own)#define WM_SHOWMAINMENU			(WM_USER + 20)// For intercepting skinned border window commands#define WM_BORDERWINDOW			(WM_USER + 26)// WM_BORDERWINDOW	wParam's#define BORDERWINDOW_NORMALSIZE			0x100000#define BORDERWINDOW_DOUBLESIZE			0x200000#define BORDERWINDOW_FULLSCREEN			0x400000// send to border window to cause resize// wParam = LPPOINT lpp; // point x-y is CLIENT area size of window#define WM_SIZEBORDERWINDOW		(WM_USER + 1)//-----------------------------------------------------------------------------// To shutdown player, send this command#define WM_SHUTDOWN				(WM_USER + 5)//-----------------------------------------------------------------------------// opSetStatusMessage textflags#define TEXT_DEFAULT		0x0		// message scrolls by in status window#define TEXT_TOOLTIP		0x1		// message acts as tooltip in status window#define TEXT_URGENT			0x2		// forces message to appear even if no status window (using msg box)#define TEXT_HOLD			0x4		// tooltip message stays up (no fade out)#define TEXT_UNICODE		0x10	// buffer contains a unicode string (multibyte string otherwise)#endif //QCDMODDEFS_H

⌨️ 快捷键说明

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