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

📄 w32g.h

📁 linux上播放midi音乐,但是要一些设置.可网上查找. 软件名称: TiMidity++-2.13.0.tar
💻 H
字号:
/*    TiMidity++ -- MIDI to WAVE converter and player    Copyright (C) 1999-2002 Masanao Izumo <mo@goice.co.jp>    Copyright (C) 1995 Tuukka Toivonen <tt@cgs.fi>    This program is free software; you can redistribute it and/or modify    it under the terms of the GNU General Public License as published by    the Free Software Foundation; either version 2 of the License, or    (at your option) any later version.    This program is distributed in the hope that it will be useful,    but WITHOUT ANY WARRANTY; without even the implied warranty of    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the    GNU General Public License for more details.    You should have received a copy of the GNU General Public License    along with this program; if not, write to the Free Software    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA*/#ifndef ___W32G_H_#define ___W32G_H_#include <process.h>#ifdef RC_NONE#undef RC_NONE#endif#include <windows.h>#ifdef RC_NONE#undef RC_NONE#endif#define RC_NONE	0#define LANGUAGE_JAPANESE				0x0001#define LANGUAGE_ENGLISH				0x0002extern int PlayerLanguage;extern int PlayerMode;#ifndef MAXPATH#define MAXPATH 256#endif /* MAXPATH */typedef struct argc_argv_t_ {	int argc;	char **argv;} argc_argv_t;#if defined(_MSC_VER)//typedef void (__cdecl *MSVC_BEGINTHREAD_START_ADDRESS)(void *);typedef LPTHREAD_START_ROUTINE MSVC_BEGINTHREAD_START_ADDRESS;#elif defined(_BORLANDC_)// typedef _USERENTRY (*BCC_BEGINTHREAD_START_ADDRESS)(void *);typedef LPTHREAD_START_ROUTINE BCC_BEGINTHREAD_START_ADDRESS;#endif// beginthread for C RUNTIME LIBRARY// HANDLE crt_beginthread(LPTHREAD_START_ROUTINE start_address, DWORD stack_size, LPVOID arglist);#if defined(_MSC_VER)#define crt_beginthread(start_address,stack_size,arglist) \(HANDLE)_beginthread((MSVC_BEGINTHREAD_START_ADDRESS)start_address,(unsigned)stack_size,(void *)arglist)#elif defined(_BORLANDC_)#define crt_beginthread(start_address,stack_size,arglist) \(HANDLE)_beginthread((BCC_BEGINTHREAD_START_ADDRESS)start_address,(unsigned)stack_size,(void *)arglist)#else#define crt_beginthread(start_address,stack_size,arglist) \(HANDLE)CreateThread(NULL,(DWORD)stack_size,(LPTHREAD_START_ROUTINE)start_address,(LPVOID)arglist,0,&dwTmp)#endif// (HANDLE)crt_beginthreadex(LPSECURITY_ATTRIBUTES security, DWORD stack_size, LPTHREAD_START_ROUTINE start_address, LPVOID arglist, DWORD initflag, LPDWORD thrdaddr );#if defined(_MSC_VER)#define crt_beginthreadex(security,stack_size,start_address,arglist,initflag,thrdaddr ) \(HANDLE)_beginthreadex((void *)security,(unsigned)stack_size,(MSVC_BEGINTHREAD_START_ADDRESS)start_address,(void *)arglist,(unsigned)initflag,(unsigned *)thrdaddr)#elif defined(_BORLANDC_)#define crt_beginthreadex(security,stack_size,start_address,arglist,initflag,thrdaddr ) \(HANDLE)_beginthreadNT((BCC_BEGINTHREAD_START_ADDRESS)start_address,(unsigned)stack_size,(void *)arglist,(void *)security_attrib,(unsigned long)create_flags,(unsigned long *)thread_id)#else#define crt_beginthreadex(security,stack_size,start_address,arglist,initflag,thrdaddr ) \(HANDLE)CreateThread((LPSECURITY_ATTRIBUTES)security,(DWORD)stack_size,(LPTHREAD_START_ROUTINE)start_address,(LPVOID)arglist,(DWORD)initflag,(LPDWORD)thrdaddr)#endif#if defined(_MSC_VER)#define crt_endthread() _endthread()#elif defined(_BORLANDC_)#define crt_endthread() _endthread()#else#define crt_endthread() ExitThread(0);#endif#define RANGE(x,min,max) (((x)<(min))?((x)=(min)):(((x)>(max))?((x)=(max)):(x)))#define RC_EXT_BASE 1000enum {    RC_EXT_DROP = RC_EXT_BASE,    RC_EXT_LOAD_FILE,    RC_EXT_LOAD_PLAYLIST,    RC_EXT_SAVE_PLAYLIST,    RC_EXT_MODE_CHANGE,    RC_EXT_APPLY_SETTING,    RC_EXT_DELETE_PLAYLIST,    RC_EXT_UPDATE_PLAYLIST,    RC_EXT_UNIQ_PLAYLIST,    RC_EXT_REFINE_PLAYLIST,    RC_EXT_JUMP_FILE,    RC_EXT_ROTATE_PLAYLIST,    RC_EXT_CLEAR_PLAYLIST,    RC_EXT_OPEN_DOC,    RC_EXT_RESTART_GUI,	RC_EXT_LOAD_FILES_AND_PLAY};#define MAX_W32G_MIDI_CHANNELS	32// Toolbar Macros#define IDM_STOP		2501#define IDM_PAUSE		2502#define IDM_PREV		2503#define IDM_FOREWARD	2504#define IDM_PLAY		2505#define IDM_BACKWARD	2506#define IDM_NEXT		2507#define IDM_CONSOLE		2511#define IDM_LIST		2512#define IDM_TRACER	 	2513#define IDM_DOC			2514#define IDM_WRD			2515#define IDM_SOUNDSPEC	2516#define FLAG_NOTE_OFF	1#define FLAG_NOTE_ON	2#define FLAG_BANK	0x0001#define FLAG_PROG	0x0002#define FLAG_PAN	0x0004#define FLAG_SUST	0x0008#define FLAG_NOTE_OFF	1#define FLAG_NOTE_ON	2#define FLAG_BANK	0x0001#define FLAG_PROG	0x0002#define FLAG_PAN	0x0004#define FLAG_SUST	0x0008typedef struct {	int reset_panel;	int wait_reset;	int multi_part;	char v_flags[MAX_W32G_MIDI_CHANNELS];	int16 cnote[MAX_W32G_MIDI_CHANNELS];	int16 cvel[MAX_W32G_MIDI_CHANNELS];	int16 ctotal[MAX_W32G_MIDI_CHANNELS];	char c_flags[MAX_W32G_MIDI_CHANNELS];	Channel channel[MAX_W32G_MIDI_CHANNELS];	int32 total_time;	int total_time_h;	int total_time_m;	int total_time_s;	int total_time_ss;	int32 cur_time;	int cur_time_h;	int cur_time_m;	int cur_time_s;	int cur_time_ss;	int cur_voices;	int voices;	int upper_voices;	char filename[MAXPATH + 64];	char titlename[MAXPATH + 64];	int filename_setflag;	int titlename_setflag;	int32 master_volume;	int32 master_volume_max;	int meas;	int beat;	char keysig[7];	int key_offset;	int tempo;	int tempo_ratio;	int invalid_flag;	int32 xnote[MAX_W32G_MIDI_CHANNELS][4];	int aq_ratio;	int changed;	char dummy[1024];	int8 GSLCD[16][16];	double gslcd_last_display_time;	int8 gslcd_displayed_flag;} PanelInfo;extern PanelInfo *Panel;#define PANELRESET_TIME			0x0001#define PANELRESET_CHANNEL		0x0002#define PANELRESET_MIDIINFO	0x0004#define PANELRESET_MISC			0x0008#define PANELRESET_EFFECT		0x0010#define CANVAS_MODE_GSLCD		0x0001#define CANVAS_MODE_MAP16		0x0002#define CANVAS_MODE_MAP32		0x0003#define CANVAS_MODE_KBD_A		0x0004#define CANVAS_MODE_KBD_B		0x0005#define CANVAS_MODE_SLEEP		0x0006#if 0#define TMCCC_BLACK	RGB(0x00,0x00,0x00)#define TMCCC_WHITE	RGB(0xff,0xff,0xff)#define TMCCC_RED	RGB(0xff,0x00,0x00)#define TMCCC_FORE	TMCCC_BLACK // Aliased#define TMCCC_BACK 	RGB(0x00, 0xf0, 0x00)#define TMCCC_LOW	RGB(0x80, 0xd0, 0x00)#define TMCCC_MIDDLE	RGB(0xb0, 0xb0, 0x00)#define TMCCC_HIGH	RGB(0xe0, 0x00, 0x00)enum {    TMCC_BLACK, // Aliased FORE    TMCC_WHITE,    TMCC_RED,    TMCC_BACK,    TMCC_LOW,    TMCC_MIDDLE,    TMCC_HIGH,    TMCC_FORE_HALF,    TMCC_LOW_HALF,    TMCC_MIDDLE_HALF,    TMCC_HIGH_HALF,    TMCC_FORE_WEAKHALF,    TMCC_SIZE};#define TMCC_FORE TMCC_BLACK // Aliasedtypedef struct _TmColors {    COLORREF color;    HPEN pen;    HBRUSH brush;} TmColors;#endif/* w32g_i.c */extern int w32g_open(void);extern void w32g_close(void);extern void w32g_send_rc(int rc, int32 value);extern int w32g_get_rc(int32 *value, int wait_if_empty);extern void w32g_lock(void);extern void w32g_unlock(void);extern void MainWndScrollbarProgressUpdate(int sec);extern void PutsConsoleWnd(char *str);extern void w32g_ctle_play_start(int sec);extern void SettingWndApply(void);extern int w32g_lock_open_file;extern void w32g_i_init();extern void CanvasChange(int mode);extern HINSTANCE hInst;extern void w32g_show_console();extern void MPanelStartLoad(char *filename);/* w32g_utl.c *//* w32g_playlist.c */extern int w32g_add_playlist(int nfiles, char **files, int expand_flag,			     int autouniq, int autorefine);extern char *w32g_get_playlist(int idx);extern int w32g_next_playlist(int skip_invalid_file);extern int w32g_prev_playlist(int skip_invalid_file);extern int w32g_random_playlist(int skip_invalid_file);extern int w32g_shuffle_playlist_reset(int preserve);extern int w32g_shuffle_playlist_next(int skip_invalid_file);extern void w32g_first_playlist(int skip_invalid_file);extern int w32g_isempty_playlist(void);extern char *w32g_curr_playlist(void);extern void w32g_update_playlist(void);extern void w32g_get_playlist_index(int *selected, int *nfiles, int *cursel);extern int w32g_goto_playlist(int num, int skip_invalid_file);extern int w32g_delete_playlist(int pos);extern int w32g_nvalid_playlist(void);extern int w32g_ismidi_playlist(int n);extern void w32g_setcur_playlist(void);extern int w32g_refine_playlist(int *is_selected_removed);extern int w32g_uniq_playlist(int *is_selected_removed);extern void w32g_clear_playlist(void);extern void w32g_rotate_playlist(int dest);#if 0/* w32g_panel.c */extern void w32g_init_panel(HWND hwnd);extern void TmPanelStartToLoad(char *filename);extern void TmPanelStartToPlay(int total_sec);extern void TmPanelSetVoices(int v);//extern void TmPanelInit(HWND hwnd);extern void TmPanelRefresh(void);extern void TmPanelSetTime(int sec);extern void TmPanelSetMasterVol(int v);extern void TmPanelUpdateList(void);/* w32g_canvas.c */extern void w32g_init_canvas(HWND hwnd);extern void TmCanvasRefresh(void);extern void TmCanvasReset(void);extern void TmCanvasNote(int status, int ch, int note, int vel);extern int TmCanvasChange(void);extern void TmCanvasUpdateInterval();extern int TmCanvasMode;#endif/* w32g_c.c */extern volatile int w32g_play_active;extern int w32g_current_volume[/* MAX_CHANNELS */];extern int w32g_current_expression[/* MAX_CHANNELS */];extern volatile int w32g_restart_gui_flag;void PrefSettingApplyReally(void);// flagsextern int InitMinimizeFlag;extern int DebugWndStartFlag;extern int ConsoleWndStartFlag;extern int ListWndStartFlag;extern int TracerWndStartFlag;extern int DocWndStartFlag;extern int WrdWndStartFlag;extern int DebugWndFlag;extern int ConsoleWndFlag;extern int ListWndFlag;extern int TracerWndFlag;extern int DocWndFlag;extern int WrdWndFlag;extern int SoundSpecWndFlag;extern int SubWindowMax;extern char *IniFile;extern char *ConfigFile;extern char *PlaylistFile;extern char *PlaylistHistoryFile;extern char *MidiFileOpenDir;extern char *ConfigFileOpenDir;extern char *PlaylistFileOpenDir;extern int PlayerThreadPriority;extern int GUIThreadPriority;extern int WrdGraphicFlag;extern int TraceGraphicFlag;extern int DocMaxSize;extern char *DocFileExt;extern int w32g_has_ini_file;extern char *w32g_output_dir;extern int w32g_auto_output_mode;// HWNDextern HWND hMainWnd;extern HWND hDebugWnd;extern HWND hConsoleWnd;extern HWND hTracerWnd;extern HWND hDocWnd;extern HWND hListWnd;extern HWND hWrdWnd;extern HWND hSoundSpecWnd;extern HWND hDebugEditWnd;extern HWND hDocEditWnd;// gdi_lockextern int gdi_lock(void);extern int gdi_unlock(void);#define GDI_SAFETY(command) (gdi_lock(),(command),gdi_unlock);#define W32G_RANDOM_IS_SHUFFLE#ifndef BELOW_NORMAL_PRIORITY_CLASS	/* VC6.0 doesn't support them. */#define BELOW_NORMAL_PRIORITY_CLASS 0x4000#define ABOVE_NORMAL_PRIORITY_CLASS 0x8000#endif /* BELOW_NORMAL_PRIORITY_CLASS */#endif

⌨️ 快捷键说明

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