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

📄 server_defs.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    remote_def.c - written by Masanao Izumo <mo@goice.co.jp>    Define some macros    */#ifndef ___REMOTE_DEFS_H_#define ___REMOTE_DEFS_H_/* * /dev/sequencer input events. * * The data written to the /dev/sequencer is a stream of events. Events * are records of 4 or 8 bytes. The first byte defines the size.  * Any number of events can be written with a write call. There * is a set of macros for sending these events. Use these macros if you * want to maximize portability of your program. * * Events SEQ_WAIT, SEQ_MIDIPUTC and SEQ_ECHO. Are also input events. * (All input events are currently 4 bytes long. Be prepared to support * 8 byte events also. If you receive any event having first byte >= 128, * it's a 8 byte event. * * The events are documented at the end of this file. * * Normal events (4 bytes) * There is also a 8 byte version of most of the 4 byte events. The * 8 byte one is recommended. */#define SEQ_NOTEOFF		0#define SEQ_NOTEON		1#define SEQ_WAIT		TMR_WAIT_ABS#define SEQ_PGMCHANGE		3#define SEQ_SYNCTIMER		TMR_START#define SEQ_MIDIPUTC		5#define SEQ_DRUMON		6	/*** OBSOLETE ***/#define SEQ_DRUMOFF		7	/*** OBSOLETE ***/#define SEQ_ECHO		TMR_ECHO	/* For synching programs with output */#define SEQ_AFTERTOUCH		9#define SEQ_CONTROLLER		10#define SEQ_FULLSIZE		0xfd#define SEQ_PRIVATE		0xfe#define SEQ_EXTENDED		0xff/******************************************* *	Midi controller numbers ******************************************* * Controllers 0 to 31 (0x00 to 0x1f) and * 32 to 63 (0x20 to 0x3f) are continuous * controllers. * In the MIDI 1.0 these controllers are sent using * two messages. Controller numbers 0 to 31 are used * to send the MSB and the controller numbers 32 to 63 * are for the LSB. Note that just 7 bits are used in MIDI bytes. */#define	   CTL_BANK_SELECT		0x00#define	   CTL_MODWHEEL			0x01#define    CTL_BREATH			0x02/*		undefined		0x03 */#define    CTL_FOOT			0x04#define    CTL_PORTAMENTO_TIME		0x05#define    CTL_DATA_ENTRY		0x06#define    CTL_MAIN_VOLUME		0x07#define    CTL_BALANCE			0x08/*		undefined		0x09 */#define    CTL_PAN			0x0a#define    CTL_EXPRESSION		0x0b/*		undefined		0x0c *//*		undefined		0x0d *//*		undefined		0x0e *//*		undefined		0x0f */#define    CTL_GENERAL_PURPOSE1	0x10#define    CTL_GENERAL_PURPOSE2	0x11#define    CTL_GENERAL_PURPOSE3	0x12#define    CTL_GENERAL_PURPOSE4	0x13/*		undefined		0x14 - 0x1f *//*		undefined		0x20 *//* The controller numbers 0x21 to 0x3f are reserved for the *//* least significant bytes of the controllers 0x00 to 0x1f. *//* These controllers are not recognised by the driver. *//* Controllers 64 to 69 (0x40 to 0x45) are on/off switches. *//* 0=OFF and 127=ON (intermediate values are possible) */#define    CTL_DAMPER_PEDAL		0x40#define    CTL_SUSTAIN			0x40	/* Alias */#define    CTL_HOLD			0x40	/* Alias */#define    CTL_PORTAMENTO		0x41#define    CTL_SOSTENUTO		0x42#define    CTL_SOFT_PEDAL		0x43/*		undefined		0x44 */#define    CTL_HOLD2			0x45/*		undefined		0x46 - 0x4f */#define    CTL_GENERAL_PURPOSE5	0x50#define    CTL_GENERAL_PURPOSE6	0x51#define    CTL_GENERAL_PURPOSE7	0x52#define    CTL_GENERAL_PURPOSE8	0x53/*		undefined		0x54 - 0x5a */#define    CTL_EXT_EFF_DEPTH		0x5b#define    CTL_TREMOLO_DEPTH		0x5c#define    CTL_CHORUS_DEPTH		0x5d#define    CTL_DETUNE_DEPTH		0x5e#define    CTL_CELESTE_DEPTH		0x5e	/* Alias for the above one */#define    CTL_PHASER_DEPTH		0x5f#define    CTL_DATA_INCREMENT		0x60#define    CTL_DATA_DECREMENT		0x61#define    CTL_NONREG_PARM_NUM_LSB	0x62#define    CTL_NONREG_PARM_NUM_MSB	0x63#define    CTL_REGIST_PARM_NUM_LSB	0x64#define    CTL_REGIST_PARM_NUM_MSB	0x65/*		undefined		0x66 - 0x78 *//*		reserved		0x79 - 0x7f *//* Pseudo controllers (not midi compatible) */#define    CTRL_PITCH_BENDER		255#define    CTRL_PITCH_BENDER_RANGE	254#define    CTRL_EXPRESSION		253	/* Obsolete */#define    CTRL_MAIN_VOLUME		252	/* Obsolete */#define SEQ_BALANCE		11#define SEQ_VOLMODE             12/* * Level 2 event types for /dev/sequencer *//* * The 4 most significant bits of byte 0 specify the class of * the event:  * *	0x8X = system level events, *	0x9X = device/port specific events, event[1] = device/port, *		The last 4 bits give the subtype: *			0x02	= Channel event (event[3] = chn). *			0x01	= note event (event[4] = note). *			(0x01 is not used alone but always with bit 0x02). *	       event[2] = MIDI message code (0x80=note off etc.) * */#define EV_SEQ_LOCAL		0x80#define EV_TIMING		0x81#define EV_CHN_COMMON		0x92#define EV_CHN_VOICE		0x93#define EV_SYSEX		0x94/* * Event types 200 to 220 are reserved for application use. * These numbers will not be used by the driver. *//* * Events for event type EV_CHN_VOICE */#define MIDI_NOTEOFF		0x80#define MIDI_NOTEON		0x90#define MIDI_KEY_PRESSURE	0xA0/* * Events for event type EV_CHN_COMMON */#define MIDI_CTL_CHANGE		0xB0#define MIDI_PGM_CHANGE		0xC0#define MIDI_CHN_PRESSURE	0xD0#define MIDI_PITCH_BEND		0xE0#define MIDI_SYSTEM_PREFIX	0xF0/* * Timer event types */#define TMR_WAIT_REL		1	/* Time relative to the prev time */#define TMR_WAIT_ABS		2	/* Absolute time since TMR_START */#define TMR_STOP		3#define TMR_START		4#define TMR_CONTINUE		5#define TMR_TEMPO		6#define TMR_ECHO		8#define TMR_CLOCK		9	/* MIDI clock */#define TMR_SPP			10	/* Song position pointer */#define TMR_TIMESIG		11	/* Time signature */#endif /* ___REMOTE_DEFS_H_ */

⌨️ 快捷键说明

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