• Home
  • Raw
  • Download

Lines Matching refs:dev

57 typedef void (*event_encode_t)(snd_midi_event_t *dev, snd_seq_event_t *ev);
65 static void note_event(snd_midi_event_t *dev, snd_seq_event_t *ev);
66 static void one_param_ctrl_event(snd_midi_event_t *dev, snd_seq_event_t *ev);
67 static void pitchbend_ctrl_event(snd_midi_event_t *dev, snd_seq_event_t *ev);
68 static void two_param_ctrl_event(snd_midi_event_t *dev, snd_seq_event_t *ev);
69 static void one_param_event(snd_midi_event_t *dev, snd_seq_event_t *ev);
70 static void songpos_event(snd_midi_event_t *dev, snd_seq_event_t *ev);
116 static int extra_decode_ctrl14(snd_midi_event_t *dev, unsigned char *buf, int len, const snd_seq_ev…
117 static int extra_decode_xrpn(snd_midi_event_t *dev, unsigned char *buf, int count, const snd_seq_ev…
121 int (*decode)(snd_midi_event_t *dev, unsigned char *buf, int len, const snd_seq_event_t *ev);
152 snd_midi_event_t *dev; in snd_midi_event_new() local
155 dev = (snd_midi_event_t *)calloc(1, sizeof(snd_midi_event_t)); in snd_midi_event_new()
156 if (dev == NULL) in snd_midi_event_new()
159 dev->buf = malloc(bufsize); in snd_midi_event_new()
160 if (dev->buf == NULL) { in snd_midi_event_new()
161 free(dev); in snd_midi_event_new()
165 dev->bufsize = bufsize; in snd_midi_event_new()
166 dev->lastcmd = 0xff; in snd_midi_event_new()
167 dev->type = ST_INVALID; in snd_midi_event_new()
168 *rdev = dev; in snd_midi_event_new()
181 void snd_midi_event_free(snd_midi_event_t *dev) in snd_midi_event_free() argument
183 if (dev != NULL) { in snd_midi_event_free()
184 free(dev->buf); in snd_midi_event_free()
185 free(dev); in snd_midi_event_free()
200 void snd_midi_event_no_status(snd_midi_event_t *dev, int on) in snd_midi_event_no_status() argument
202 dev->nostat = on ? 1 : 0; in snd_midi_event_no_status()
208 inline static void reset_encode(snd_midi_event_t *dev) in reset_encode() argument
210 dev->read = 0; in reset_encode()
211 dev->qlen = 0; in reset_encode()
212 dev->type = ST_INVALID; in reset_encode()
226 void snd_midi_event_reset_encode(snd_midi_event_t *dev) in snd_midi_event_reset_encode() argument
228 reset_encode(dev); in snd_midi_event_reset_encode()
242 void snd_midi_event_reset_decode(snd_midi_event_t *dev) in snd_midi_event_reset_decode() argument
244 dev->lastcmd = 0xff; in snd_midi_event_reset_decode()
257 void snd_midi_event_init(snd_midi_event_t *dev) in snd_midi_event_init() argument
259 snd_midi_event_reset_encode(dev); in snd_midi_event_init()
260 snd_midi_event_reset_decode(dev); in snd_midi_event_init()
280 int snd_midi_event_resize_buffer(snd_midi_event_t *dev, size_t bufsize) in snd_midi_event_resize_buffer() argument
284 if (bufsize == dev->bufsize) in snd_midi_event_resize_buffer()
289 old_buf = dev->buf; in snd_midi_event_resize_buffer()
290 dev->buf = new_buf; in snd_midi_event_resize_buffer()
291 dev->bufsize = bufsize; in snd_midi_event_resize_buffer()
292 reset_encode(dev); in snd_midi_event_resize_buffer()
360 long snd_midi_event_encode(snd_midi_event_t *dev, const unsigned char *buf, long count, snd_seq_eve… in snd_midi_event_encode() argument
368 rc = snd_midi_event_encode_byte(dev, *buf++, ev); in snd_midi_event_encode()
398 int snd_midi_event_encode_byte(snd_midi_event_t *dev, int c, snd_seq_event_t *ev) in snd_midi_event_encode_byte() argument
413 (c != MIDI_CMD_COMMON_SYSEX_END || dev->type != ST_SYSEX)) { in snd_midi_event_encode_byte()
415 dev->buf[0] = c; in snd_midi_event_encode_byte()
417 dev->type = (c & 0x0f) + ST_SPECIAL; in snd_midi_event_encode_byte()
419 dev->type = (c >> 4) & 0x07; in snd_midi_event_encode_byte()
420 dev->read = 1; in snd_midi_event_encode_byte()
421 dev->qlen = status_event[dev->type].qlen; in snd_midi_event_encode_byte()
423 if (dev->qlen > 0) { in snd_midi_event_encode_byte()
425 dev->buf[dev->read++] = c; in snd_midi_event_encode_byte()
426 if (dev->type != ST_SYSEX) in snd_midi_event_encode_byte()
427 dev->qlen--; in snd_midi_event_encode_byte()
430 dev->buf[1] = c; in snd_midi_event_encode_byte()
431 dev->qlen = status_event[dev->type].qlen - 1; in snd_midi_event_encode_byte()
432 dev->read = 2; in snd_midi_event_encode_byte()
435 if (dev->qlen == 0) { in snd_midi_event_encode_byte()
436 ev->type = status_event[dev->type].event; in snd_midi_event_encode_byte()
439 if (status_event[dev->type].encode) /* set data values */ in snd_midi_event_encode_byte()
440 status_event[dev->type].encode(dev, ev); in snd_midi_event_encode_byte()
441 if (dev->type >= ST_SPECIAL) in snd_midi_event_encode_byte()
442 dev->type = ST_INVALID; in snd_midi_event_encode_byte()
444 } else if (dev->type == ST_SYSEX) { in snd_midi_event_encode_byte()
446 dev->read >= dev->bufsize) { in snd_midi_event_encode_byte()
450 ev->data.ext.len = dev->read; in snd_midi_event_encode_byte()
451 ev->data.ext.ptr = dev->buf; in snd_midi_event_encode_byte()
453 dev->read = 0; /* continue to parse */ in snd_midi_event_encode_byte()
455 reset_encode(dev); /* all parsed */ in snd_midi_event_encode_byte()
464 static void note_event(snd_midi_event_t *dev, snd_seq_event_t *ev) in note_event() argument
466 ev->data.note.channel = dev->buf[0] & 0x0f; in note_event()
467 ev->data.note.note = dev->buf[1]; in note_event()
468 ev->data.note.velocity = dev->buf[2]; in note_event()
472 static void one_param_ctrl_event(snd_midi_event_t *dev, snd_seq_event_t *ev) in one_param_ctrl_event() argument
474 ev->data.control.channel = dev->buf[0] & 0x0f; in one_param_ctrl_event()
475 ev->data.control.value = dev->buf[1]; in one_param_ctrl_event()
479 static void pitchbend_ctrl_event(snd_midi_event_t *dev, snd_seq_event_t *ev) in pitchbend_ctrl_event() argument
481 ev->data.control.channel = dev->buf[0] & 0x0f; in pitchbend_ctrl_event()
482 ev->data.control.value = (int)dev->buf[2] * 128 + (int)dev->buf[1] - 8192; in pitchbend_ctrl_event()
486 static void two_param_ctrl_event(snd_midi_event_t *dev, snd_seq_event_t *ev) in two_param_ctrl_event() argument
488 ev->data.control.channel = dev->buf[0] & 0x0f; in two_param_ctrl_event()
489 ev->data.control.param = dev->buf[1]; in two_param_ctrl_event()
490 ev->data.control.value = dev->buf[2]; in two_param_ctrl_event()
494 static void one_param_event(snd_midi_event_t *dev, snd_seq_event_t *ev) in one_param_event() argument
496 ev->data.control.value = dev->buf[1]; in one_param_event()
500 static void songpos_event(snd_midi_event_t *dev, snd_seq_event_t *ev) in songpos_event() argument
502 ev->data.control.value = (int)dev->buf[2] * 128 + (int)dev->buf[1]; in songpos_event()
557 long snd_midi_event_decode(snd_midi_event_t *dev, unsigned char *buf, long count, const snd_seq_eve… in snd_midi_event_decode() argument
572 return extra_event[type].decode(dev, buf, count, ev); in snd_midi_event_decode()
585 snd_midi_event_reset_decode(dev); in snd_midi_event_decode()
598 if ((cmd & 0xf0) == 0xf0 || dev->lastcmd != cmd || dev->nostat) { in snd_midi_event_decode()
599 dev->lastcmd = cmd; in snd_midi_event_decode()
655 static int extra_decode_ctrl14(snd_midi_event_t *dev, unsigned char *buf, int count, const snd_seq_… in extra_decode_ctrl14() argument
664 if (dev->nostat && count < 6) in extra_decode_ctrl14()
666 if (cmd != dev->lastcmd || dev->nostat) { in extra_decode_ctrl14()
669 buf[idx++] = dev->lastcmd = cmd; in extra_decode_ctrl14()
673 if (dev->nostat) in extra_decode_ctrl14()
680 if (cmd != dev->lastcmd || dev->nostat) { in extra_decode_ctrl14()
683 buf[idx++] = dev->lastcmd = cmd; in extra_decode_ctrl14()
692 static int extra_decode_xrpn(snd_midi_event_t *dev, unsigned char *buf, int count, const snd_seq_ev… in extra_decode_xrpn() argument
709 if (dev->nostat && count < 12) in extra_decode_xrpn()
716 if (cmd != dev->lastcmd && !dev->nostat) { in extra_decode_xrpn()
719 buf[idx++] = dev->lastcmd = cmd; in extra_decode_xrpn()
723 if (dev->nostat) in extra_decode_xrpn()
724 buf[idx++] = dev->lastcmd = cmd; in extra_decode_xrpn()