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

📄 seq_event.h

📁 socle開發板 移植Picture_Wave套件 可在螢幕上顯示照片並利用觸碰螢幕方式移動 kernel-2.6.19 crosstool-gcc-3.4.5
💻 H
📖 第 1 页 / 共 2 页
字号:
	SND_SEQ_EVENT_USR_VAR4,	/** NOP; ignored in any case */	SND_SEQ_EVENT_NONE = 255};/** Sequencer event address */typedef struct snd_seq_addr {	unsigned char client;	/**< Client id */	unsigned char port;	/**< Port id */} snd_seq_addr_t;/** Connection (subscription) between ports */typedef struct snd_seq_connect {	snd_seq_addr_t sender;	/**< sender address */	snd_seq_addr_t dest;	/**< destination address */} snd_seq_connect_t;/** Real-time data record */typedef struct snd_seq_real_time {	unsigned int tv_sec;		/**< seconds */	unsigned int tv_nsec;		/**< nanoseconds */} snd_seq_real_time_t;/** (MIDI) Tick-time data record */typedef unsigned int snd_seq_tick_time_t;/** unioned time stamp */typedef union snd_seq_timestamp {	snd_seq_tick_time_t tick;	/**< tick-time */	struct snd_seq_real_time time;	/**< real-time */} snd_seq_timestamp_t;/** * Event mode flags * * NOTE: only 8 bits available! */#define SND_SEQ_TIME_STAMP_TICK		(0<<0)	/**< timestamp in clock ticks */#define SND_SEQ_TIME_STAMP_REAL		(1<<0)	/**< timestamp in real time */#define SND_SEQ_TIME_STAMP_MASK		(1<<0)	/**< mask for timestamp bits */#define SND_SEQ_TIME_MODE_ABS		(0<<1)	/**< absolute timestamp */#define SND_SEQ_TIME_MODE_REL		(1<<1)	/**< relative to current time */#define SND_SEQ_TIME_MODE_MASK		(1<<1)	/**< mask for time mode bits */#define SND_SEQ_EVENT_LENGTH_FIXED	(0<<2)	/**< fixed event size */#define SND_SEQ_EVENT_LENGTH_VARIABLE	(1<<2)	/**< variable event size */#define SND_SEQ_EVENT_LENGTH_VARUSR	(2<<2)	/**< variable event size - user memory space */#define SND_SEQ_EVENT_LENGTH_MASK	(3<<2)	/**< mask for event length bits */#define SND_SEQ_PRIORITY_NORMAL		(0<<4)	/**< normal priority */#define SND_SEQ_PRIORITY_HIGH		(1<<4)	/**< event should be processed before others */#define SND_SEQ_PRIORITY_MASK		(1<<4)	/**< mask for priority bits *//** Note event */typedef struct snd_seq_ev_note {	unsigned char channel;		/**< channel number */	unsigned char note;		/**< note */	unsigned char velocity;		/**< velocity */	unsigned char off_velocity;	/**< note-off velocity; only for #SND_SEQ_EVENT_NOTE */	unsigned int duration;		/**< duration until note-off; only for #SND_SEQ_EVENT_NOTE */} snd_seq_ev_note_t;/** Controller event */typedef struct snd_seq_ev_ctrl {	unsigned char channel;		/**< channel number */	unsigned char unused[3];	/**< reserved */	unsigned int param;		/**< control parameter */	signed int value;		/**< control value */} snd_seq_ev_ctrl_t;/** generic set of bytes (12x8 bit) */typedef struct snd_seq_ev_raw8 {	unsigned char d[12];		/**< 8 bit value */} snd_seq_ev_raw8_t;/** generic set of integers (3x32 bit) */typedef struct snd_seq_ev_raw32 {	unsigned int d[3];		/**< 32 bit value */} snd_seq_ev_raw32_t;/** external stored data */typedef struct snd_seq_ev_ext {	unsigned int len;		/**< length of data */	void *ptr;			/**< pointer to data (note: can be 64-bit) */} __attribute__((packed)) snd_seq_ev_ext_t;/** Instrument cluster type */typedef unsigned int snd_seq_instr_cluster_t;/** Instrument type */typedef struct snd_seq_instr {	snd_seq_instr_cluster_t cluster;	/**< cluster id */	unsigned int std;	/**< instrument standard id; the upper byte means a private instrument (owner - client id) */	unsigned short bank;	/**< instrument bank id */	unsigned short prg;	/**< instrument program id */} snd_seq_instr_t;/** sample number */typedef struct snd_seq_ev_sample {	unsigned int std;	/**< sample standard id */	unsigned short bank;	/**< sample bank id */	unsigned short prg;	/**< sample program id */} snd_seq_ev_sample_t;/** sample cluster */typedef struct snd_seq_ev_cluster {	snd_seq_instr_cluster_t cluster;	/**< cluster id */} snd_seq_ev_cluster_t;/** sample position */typedef unsigned int snd_seq_position_t; /**< playback position (in samples) * 16 *//** sample stop mode */typedef enum snd_seq_stop_mode {	SND_SEQ_SAMPLE_STOP_IMMEDIATELY = 0,	/**< terminate playing immediately */	SND_SEQ_SAMPLE_STOP_VENVELOPE = 1,	/**< finish volume envelope */	SND_SEQ_SAMPLE_STOP_LOOP = 2		/**< terminate loop and finish wave */} snd_seq_stop_mode_t;/** sample frequency */typedef int snd_seq_frequency_t; /**< playback frequency in HZ * 16 *//** sample volume control; if any value is set to -1 == do not change */typedef struct snd_seq_ev_volume {	signed short volume;	/**< range: 0-16383 */	signed short lr;	/**< left-right balance; range: 0-16383 */	signed short fr;	/**< front-rear balance; range: 0-16383 */	signed short du;	/**< down-up balance; range: 0-16383 */} snd_seq_ev_volume_t;/** simple loop redefinition */typedef struct snd_seq_ev_loop {	unsigned int start;	/**< loop start (in samples) * 16 */	unsigned int end;	/**< loop end (in samples) * 16 */} snd_seq_ev_loop_t;/** Sample control events */typedef struct snd_seq_ev_sample_control {	unsigned char channel;		/**< channel */	unsigned char unused[3];	/**< reserved */	union {		snd_seq_ev_sample_t sample;	/**< sample number */		snd_seq_ev_cluster_t cluster;	/**< cluster number */		snd_seq_position_t position;	/**< position */		snd_seq_stop_mode_t stop_mode;	/**< stop mode */		snd_seq_frequency_t frequency;	/**< frequency */		snd_seq_ev_volume_t volume;	/**< volume */		snd_seq_ev_loop_t loop;		/**< loop control */		unsigned char raw8[8];		/**< raw 8-bit */	} param;		/**< control parameters */} snd_seq_ev_sample_control_t;/** INSTR_BEGIN event */typedef struct snd_seq_ev_instr_begin {	int timeout;		/**< zero = forever, otherwise timeout in ms */} snd_seq_ev_instr_begin_t;/** Result events */typedef struct snd_seq_result {	int event;		/**< processed event type */	int result;		/**< status */} snd_seq_result_t;/** Queue skew values */typedef struct snd_seq_queue_skew {	unsigned int value;	/**< skew value */	unsigned int base;	/**< skew base */} snd_seq_queue_skew_t;/** queue timer control */typedef struct snd_seq_ev_queue_control {	unsigned char queue;			/**< affected queue */	unsigned char unused[3];		/**< reserved */	union {		signed int value;		/**< affected value (e.g. tempo) */		snd_seq_timestamp_t time;	/**< time */		unsigned int position;		/**< sync position */		snd_seq_queue_skew_t skew;	/**< queue skew */		unsigned int d32[2];		/**< any data */		unsigned char d8[8];		/**< any data */	} param;				/**< data value union */} snd_seq_ev_queue_control_t;/** Sequencer event */typedef struct snd_seq_event {	snd_seq_event_type_t type;	/**< event type */	unsigned char flags;		/**< event flags */	unsigned char tag;		/**< tag */		unsigned char queue;		/**< schedule queue */	snd_seq_timestamp_t time;	/**< schedule time */	snd_seq_addr_t source;		/**< source address */	snd_seq_addr_t dest;		/**< destination address */	union {		snd_seq_ev_note_t note;		/**< note information */		snd_seq_ev_ctrl_t control;	/**< MIDI control information */		snd_seq_ev_raw8_t raw8;		/**< raw8 data */		snd_seq_ev_raw32_t raw32;	/**< raw32 data */		snd_seq_ev_ext_t ext;		/**< external data */		snd_seq_ev_queue_control_t queue; /**< queue control */		snd_seq_timestamp_t time;	/**< timestamp */		snd_seq_addr_t addr;		/**< address */		snd_seq_connect_t connect;	/**< connect information */		snd_seq_result_t result;	/**< operation result code */		snd_seq_ev_instr_begin_t instr_begin; /**< instrument */		snd_seq_ev_sample_control_t sample; /**< sample control */	} data;				/**< event data... */} snd_seq_event_t;/** \} */#endif /* __ALSA_SEQ_EVENT_H */

⌨️ 快捷键说明

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