Lines Matching refs:event
85 /* Length of a sequencer event. */
277 static int seq_convertold(u_char *event, u_char *out);
285 static int seq_processevent(struct seq_softc *scp, u_char *event);
287 static int seq_timing(struct seq_softc *scp, u_char *event);
288 static int seq_local(struct seq_softc *scp, u_char *event);
290 static int seq_chnvoice(struct seq_softc *scp, kobj_t md, u_char *event);
291 static int seq_chncommon(struct seq_softc *scp, kobj_t md, u_char *event);
292 static int seq_sysex(struct seq_softc *scp, kobj_t md, u_char *event);
295 void seq_copytoinput(struct seq_softc *scp, u_char *event, int len);
431 u_char event[EV_SZ];
452 MIDIQ_DEQ(scp->out_q, event, EV_SZ);
458 seq_processevent(scp, event);
469 * seq_processevent: This maybe called by the event thread or the IOCTL
473 seq_processevent(struct seq_softc *scp, u_char *event)
480 if (event[0] == EV_SEQ_LOCAL)
481 ret = seq_local(scp, event);
482 else if (event[0] == EV_TIMING)
483 ret = seq_timing(scp, event);
484 else if (event[0] != EV_CHN_VOICE &&
485 event[0] != EV_CHN_COMMON &&
486 event[0] != EV_SYSEX &&
487 event[0] != SEQ_MIDIPUTC) {
490 event[0]));
491 } else if (seq_fetch_mid(scp, event[1], &m) != 0) {
494 event[1]));
496 switch (event[0]) {
498 ret = seq_chnvoice(scp, m, event);
501 ret = seq_chncommon(scp, m, event);
504 ret = seq_sysex(scp, m, event);
508 ret = SYNTH_WRITERAW(m, &event[2], 1);
939 u_char event[EV_SZ], newevent[EV_SZ], ev_code;
998 retval = uiomove(event, used, uio);
1003 ev_code = event[0];
1004 SEQ_DEBUG(8, printf("seq_write: unit %d, event %s.\n",
1007 /* Have a look at the event code. */
1014 * A long event, these are the patches/samples for a
1017 midiunit = *(u_short *)&event[2];
1026 ret = md->synth.loadpatch(md, *(short *)&event[0], buf,
1037 retval = uiomove(event, MIN(EV_SZ, uio->uio_resid), uio);
1051 * Some sort of an extended event. The size is eight
1055 SEQ_DEBUG(2, printf("seq_write: invalid level two event %x.\n", ev_code));
1062 error = uiomove((caddr_t)&event[4], 4, uio);
1071 * Size four event.
1074 SEQ_DEBUG(2, printf("seq_write: four byte event in music mode.\n"));
1080 * TODO: event[2] is unit number to receive char.
1086 if (event[0] == EV_TIMING &&
1087 (event[1] == TMR_START || event[1] == TMR_STOP)) {
1093 seq_processevent(scp, event);
1095 MIDIQ_ENQ(scp->out_q, event, EV_SZ);
1097 MIDIQ_ENQ(scp->out_q, event, EV_SZ);
1100 if (seq_convertold(event, newevent) > 0)
1131 u_char event[EV_SZ];
1168 event[1] = TMR_TEMPO;
1169 event[4] = *(int *)arg & 0xFF;
1170 event[5] = (*(int *)arg >> 8) & 0xFF;
1171 event[6] = (*(int *)arg >> 16) & 0xFF;
1172 event[7] = (*(int *)arg >> 24) & 0xFF;
1175 event[1] = TMR_TIMERBASE;
1176 event[4] = *(int *)arg & 0xFF;
1177 event[5] = (*(int *)arg >> 8) & 0xFF;
1178 event[6] = (*(int *)arg >> 16) & 0xFF;
1179 event[7] = (*(int *)arg >> 24) & 0xFF;
1182 event[1] = TMR_START;
1185 event[1] = TMR_STOP;
1188 event[1] = TMR_CONTINUE;
1190 event[0] = EV_TIMING;
1197 seq_processevent(scp, event);
1321 event[ret] = (u_char)arg[0];
1325 ret = seq_processevent(scp, event);
1327 if (seq_convertold(event, newevent) > 0)
1497 * style /dev/sequencer event to a /dev/music event
1500 seq_convertold(u_char *event, u_char *out)
1509 chn = event[1];
1510 note = event[2];
1511 vel = event[3];
1519 switch (event[0]) {
1525 out[0] = event[0];
1526 out[1] = event[1];
1527 out[2] = event[2];
1528 out[3] = event[3];
1529 out[4] = event[4];
1530 out[5] = event[5];
1531 out[6] = event[6];
1532 out[7] = event[7];
1556 * wait delay = (event[2] << 16) + (event[3] << 8) + event[4]
1582 event[1], event[2]));
1585 * device = event[2]
1586 * data = event[1]
1600 if (seq_copytoinput(scp, event, 4) == EAGAIN) {
1608 switch (event[1]) {
1612 event++;
1618 * SYNTH_AFTERTOUCH(md, event[3], event[4])
1622 * SYNTH_PANNING(md, event[3], (char)event[4])
1626 * SYNTH_CONTROLLER(md, event[3], event[4], *(short *)&event[5])
1630 * SYNTH_VOLUMEMETHOD(md, event[3])
1635 "not handled\n", event[1]));
1642 out[4] = event[2];
1643 out[5] = event[3];
1644 out[6] = event[4];
1647 event[2] + (event[3] << 8) + (event[4] << 24)));
1657 printf("seq_convertold: event type %d not handled %d %d %d\n",
1658 event[0], event[1], event[2], event[3]));
1669 seq_copytoinput(struct seq_softc *scp, u_char *event, int len)
1680 MIDIQ_ENQ(scp->in_q, event, len);
1688 seq_chnvoice(struct seq_softc *scp, kobj_t md, u_char *event)
1694 cmd = event[2];
1695 chn = event[3];
1696 note = event[4];
1697 parm = event[5];
1702 " chn %d, note %d, parm %d.\n", scp->unit, event[1],
1752 SEQ_DEBUG(2, printf("seq_chnvoice event type %d not handled\n",
1753 event[1]));
1762 seq_chncommon(struct seq_softc *scp, kobj_t md, u_char *event)
1769 cmd = event[2];
1770 chn = event[3];
1771 p1 = event[4];
1772 w14 = *(u_short *)&event[6];
1775 " p1 %d, w14 %d.\n", scp->unit, event[1],
1829 printf("seq_chncommon event type %d not handled.\n",
1830 event[1]));
1838 seq_timing(struct seq_softc *scp, u_char *event)
1844 param = event[4] + (event[5] << 8) +
1845 (event[6] << 16) + (event[7] << 24);
1848 scp->unit, event[1], param));
1849 switch (event[1]) {
1897 seq_copytoinput(scp, event, 8);
1903 seq_copytoinput(scp, event, 8);
1907 SEQ_DEBUG(2, printf("seq_timing event type %d not handled.\n",
1908 event[1]));
1916 seq_local(struct seq_softc *scp, u_char *event)
1924 event[1]));
1925 switch (event[1]) {
1927 SEQ_DEBUG(1, printf("seq_local event type %d not handled\n",
1928 event[1]));
1936 seq_sysex(struct seq_softc *scp, kobj_t md, u_char *event)
1942 event[1]));
1944 for (i = 0; i < 6 && event[i + 2] != 0xff; i++)
1948 if (SYNTH_SENDSYSEX(md, &event[2], l) == EAGAIN) {
2003 * flush the event queue, then flush the synthsisers.