Lines Matching +full:0 +full:x7f
37 if (src <= 0x40) in upscale_7_to_16bit()
39 repeat = src & 0x3f; in upscale_7_to_16bit()
48 if (src <= 0x40) in upscale_7_to_32bit()
50 repeat = src & 0x3f; in upscale_7_to_32bit()
60 if (src <= 0x2000) in upscale_14_to_32bit()
62 repeat = src & 0x1fff; in upscale_14_to_32bit()
68 return port->ump_group ? (port->ump_group - 1) : 0; in get_ump_group()
73 ump_compose(type, get_ump_group(port), 0, 0)
122 /* Encoders for MIDI1 status 0x80-0xe0 */
124 {SNDRV_SEQ_EVENT_NOTEOFF, ump_midi1_to_note_ev}, /* 0x80 */
125 {SNDRV_SEQ_EVENT_NOTEON, ump_midi1_to_note_ev}, /* 0x90 */
126 {SNDRV_SEQ_EVENT_KEYPRESS, ump_midi1_to_note_ev}, /* 0xa0 */
127 {SNDRV_SEQ_EVENT_CONTROLLER, ump_midi1_to_cc_ev}, /* 0xb0 */
128 {SNDRV_SEQ_EVENT_PGMCHANGE, ump_midi1_to_ctrl_ev}, /* 0xc0 */
129 {SNDRV_SEQ_EVENT_CHANPRESS, ump_midi1_to_ctrl_ev}, /* 0xd0 */
130 {SNDRV_SEQ_EVENT_PITCHBEND, ump_midi1_to_pitchbend_ev}, /* 0xe0 */
138 if (status < 0x8 || status > 0xe) in cvt_ump_midi1_to_event()
139 return 0; /* invalid - skip */ in cvt_ump_midi1_to_event()
163 /* Encoders for 0xf0 - 0xff */
165 {SNDRV_SEQ_EVENT_NONE, NULL}, /* 0xf0 */
166 {SNDRV_SEQ_EVENT_QFRAME, ump_system_to_one_param_ev}, /* 0xf1 */
167 {SNDRV_SEQ_EVENT_SONGPOS, ump_system_to_songpos_ev}, /* 0xf2 */
168 {SNDRV_SEQ_EVENT_SONGSEL, ump_system_to_one_param_ev}, /* 0xf3 */
169 {SNDRV_SEQ_EVENT_NONE, NULL}, /* 0xf4 */
170 {SNDRV_SEQ_EVENT_NONE, NULL}, /* 0xf5 */
171 {SNDRV_SEQ_EVENT_TUNE_REQUEST, NULL}, /* 0xf6 */
172 {SNDRV_SEQ_EVENT_NONE, NULL}, /* 0xf7 */
173 {SNDRV_SEQ_EVENT_CLOCK, NULL}, /* 0xf8 */
174 {SNDRV_SEQ_EVENT_NONE, NULL}, /* 0xf9 */
175 {SNDRV_SEQ_EVENT_START, NULL}, /* 0xfa */
176 {SNDRV_SEQ_EVENT_CONTINUE, NULL}, /* 0xfb */
177 {SNDRV_SEQ_EVENT_STOP, NULL}, /* 0xfc */
178 {SNDRV_SEQ_EVENT_NONE, NULL}, /* 0xfd */
179 {SNDRV_SEQ_EVENT_SENSING, NULL}, /* 0xfe */
180 {SNDRV_SEQ_EVENT_RESET, NULL}, /* 0xff */
188 if ((status & 0xf0) != UMP_MIDI1_MSG_REALTIME) in cvt_ump_system_to_event()
189 return 0; /* invalid status - skip */ in cvt_ump_system_to_event()
190 status &= 0x0f; in cvt_ump_system_to_event()
194 return 0; in cvt_ump_system_to_event()
209 /* correct note-on velocity 0 to 1; in ump_midi2_to_note_ev()
249 ev[1] = ev[0]; in ump_midi2_to_pgm_ev()
283 /* Encoders for MIDI2 status 0x00-0xf0 */
285 {SNDRV_SEQ_EVENT_NONE, NULL}, /* 0x00 */
286 {SNDRV_SEQ_EVENT_NONE, NULL}, /* 0x10 */
287 {SNDRV_SEQ_EVENT_REGPARAM, ump_midi2_to_rpn_ev}, /* 0x20 */
288 {SNDRV_SEQ_EVENT_NONREGPARAM, ump_midi2_to_rpn_ev}, /* 0x30 */
289 {SNDRV_SEQ_EVENT_NONE, NULL}, /* 0x40 */
290 {SNDRV_SEQ_EVENT_NONE, NULL}, /* 0x50 */
291 {SNDRV_SEQ_EVENT_NONE, NULL}, /* 0x60 */
292 {SNDRV_SEQ_EVENT_NONE, NULL}, /* 0x70 */
293 {SNDRV_SEQ_EVENT_NOTEOFF, ump_midi2_to_note_ev}, /* 0x80 */
294 {SNDRV_SEQ_EVENT_NOTEON, ump_midi2_to_note_ev}, /* 0x90 */
295 {SNDRV_SEQ_EVENT_KEYPRESS, ump_midi2_to_note_ev}, /* 0xa0 */
296 {SNDRV_SEQ_EVENT_CONTROLLER, ump_midi2_to_cc_ev}, /* 0xb0 */
297 {SNDRV_SEQ_EVENT_PGMCHANGE, ump_midi2_to_pgm_ev}, /* 0xc0 */
298 {SNDRV_SEQ_EVENT_CHANPRESS, ump_midi2_to_ctrl_ev}, /* 0xd0 */
299 {SNDRV_SEQ_EVENT_PITCHBEND, ump_midi2_to_pitchbend_ev}, /* 0xe0 */
300 {SNDRV_SEQ_EVENT_NONE, NULL}, /* 0xf0 */
310 return 0; /* skip */ in cvt_ump_midi2_to_event()
322 int size = 0; in cvt_ump_sysex7_to_event()
324 val = data[0]; in cvt_ump_sysex7_to_event()
328 return 0; // skip in cvt_ump_sysex7_to_event()
332 buf[0] = UMP_MIDI1_MSG_SYSEX_START; in cvt_ump_sysex7_to_event()
336 if (bytes > 0) in cvt_ump_sysex7_to_event()
337 buf[size++] = (val >> 8) & 0x7f; in cvt_ump_sysex7_to_event()
339 buf[size++] = val & 0x7f; in cvt_ump_sysex7_to_event()
342 buf[size++] = (val >> 24) & 0x7f; in cvt_ump_sysex7_to_event()
344 buf[size++] = (val >> 16) & 0x7f; in cvt_ump_sysex7_to_event()
346 buf[size++] = (val >> 8) & 0x7f; in cvt_ump_sysex7_to_event()
348 buf[size++] = val & 0x7f; in cvt_ump_sysex7_to_event()
373 memset(&ev_cvt.ump, 0, sizeof(ev_cvt.ump)); in cvt_ump_midi1_to_midi2()
404 return 0; in cvt_ump_midi1_to_midi2()
425 memset(&ev_cvt.ump, 0, sizeof(ev_cvt.ump)); in cvt_ump_midi2_to_midi1()
454 midi1->pb.data_lsb = v & 0x7f; in cvt_ump_midi2_to_midi1()
457 return 0; in cvt_ump_midi2_to_midi1()
479 ev_cvt[0] = ev_cvt[1] = *event; in cvt_ump_to_any()
480 ev_cvt[0].flags = flags; in cvt_ump_to_any()
499 return 0; in cvt_ump_to_any()
502 for (i = 0; i < len; i++) { in cvt_ump_to_any()
505 if (err < 0) in cvt_ump_to_any()
509 return 0; in cvt_ump_to_any()
521 ev.ump[0] &= ~(0xfU << 24); in deliver_with_group_convert()
523 ev.ump[0] |= ((dest_port->ump_group - 1) << 24); in deliver_with_group_convert()
536 group = ump_message_group(ev->ump[0]); in ump_event_filtered()
537 if (ump_is_groupless_msg(ump_message_type(ev->ump[0]))) in ump_event_filtered()
538 return dest->group_filter & (1U << 0); in ump_event_filtered()
554 return 0; // skip, no variable event for UMP, so far in snd_seq_deliver_from_ump()
556 return 0; // skip if group filter is set and matching in snd_seq_deliver_from_ump()
557 type = ump_message_type(ump_ev->ump[0]); in snd_seq_deliver_from_ump()
597 data->note.channel = event->data.note.channel & 0x0f; in note_ev_to_ump_midi1()
598 data->note.velocity = event->data.note.velocity & 0x7f; in note_ev_to_ump_midi1()
599 data->note.note = event->data.note.note & 0x7f; in note_ev_to_ump_midi1()
610 data->cc.channel = event->data.control.channel & 0x0f; in cc_ev_to_ump_midi1()
623 data->caf.channel = event->data.control.channel & 0x0f; in ctrl_ev_to_ump_midi1()
624 data->caf.data = event->data.control.value & 0x7f; in ctrl_ev_to_ump_midi1()
636 val = clamp(val, 0, 0x3fff); in pitchbend_ev_to_ump_midi1()
638 data->pb.channel = event->data.control.channel & 0x0f; in pitchbend_ev_to_ump_midi1()
639 data->pb.data_msb = (val >> 7) & 0x7f; in pitchbend_ev_to_ump_midi1()
640 data->pb.data_lsb = val & 0x7f; in pitchbend_ev_to_ump_midi1()
651 data->cc.channel = event->data.control.channel & 0x0f; in ctrl14_ev_to_ump_midi1()
652 data->cc.index = event->data.control.param & 0x7f; in ctrl14_ev_to_ump_midi1()
653 if (event->data.control.param < 0x20) { in ctrl14_ev_to_ump_midi1()
654 data->cc.data = (event->data.control.value >> 7) & 0x7f; in ctrl14_ev_to_ump_midi1()
655 data[1] = data[0]; in ctrl14_ev_to_ump_midi1()
656 data[1].cc.index = event->data.control.param | 0x20; in ctrl14_ev_to_ump_midi1()
657 data[1].cc.data = event->data.control.value & 0x7f; in ctrl14_ev_to_ump_midi1()
661 data->cc.data = event->data.control.value & 0x7f; in ctrl14_ev_to_ump_midi1()
674 data->cc.channel = event->data.control.channel & 0x0f; in rpn_ev_to_ump_midi1()
675 data[1] = data[2] = data[3] = data[0]; in rpn_ev_to_ump_midi1()
677 data[0].cc.index = is_rpn ? UMP_CC_RPN_MSB : UMP_CC_NRPN_MSB; in rpn_ev_to_ump_midi1()
678 data[0].cc.data = (event->data.control.param >> 7) & 0x7f; in rpn_ev_to_ump_midi1()
680 data[1].cc.data = event->data.control.param & 0x7f; in rpn_ev_to_ump_midi1()
682 data[2].cc.data = (event->data.control.value >> 7) & 0x7f; in rpn_ev_to_ump_midi1()
684 data[3].cc.data = event->data.control.value & 0x7f; in rpn_ev_to_ump_midi1()
705 data->system.parm1 = event->data.control.value & 0x7f; in system_1p_ev_to_ump_midi1()
716 data->system.parm1 = (event->data.control.value >> 7) & 0x7f; in system_2p_ev_to_ump_midi1()
717 data->system.parm2 = event->data.control.value & 0x7f; in system_2p_ev_to_ump_midi1()
732 data->note.channel = event->data.note.channel & 0x0f; in note_ev_to_ump_midi2()
733 data->note.note = event->data.note.note & 0x7f; in note_ev_to_ump_midi2()
734 data->note.velocity = upscale_7_to_16bit(event->data.note.velocity & 0x7f); in note_ev_to_ump_midi2()
745 data->paf.channel = event->data.note.channel & 0x0f; in paf_ev_to_ump_midi2()
746 data->paf.note = event->data.note.note & 0x7f; in paf_ev_to_ump_midi2()
747 data->paf.data = upscale_7_to_32bit(event->data.note.velocity & 0x7f); in paf_ev_to_ump_midi2()
759 cc->rpn_set = 0; in fill_rpn()
760 cc->cc_rpn_msb = cc->cc_rpn_lsb = 0; in fill_rpn()
765 cc->nrpn_set = 0; in fill_rpn()
766 cc->cc_nrpn_msb = cc->cc_nrpn_lsb = 0; in fill_rpn()
770 cc->cc_data_msb = cc->cc_data_lsb = 0; in fill_rpn()
779 unsigned char channel = event->data.control.channel & 0x0f; in cc_ev_to_ump_midi2()
780 unsigned char index = event->data.control.param & 0x7f; in cc_ev_to_ump_midi2()
781 unsigned char val = event->data.control.value & 0x7f; in cc_ev_to_ump_midi2()
789 return 0; // skip in cc_ev_to_ump_midi2()
793 return 0; // skip in cc_ev_to_ump_midi2()
797 return 0; // skip in cc_ev_to_ump_midi2()
801 return 0; // skip in cc_ev_to_ump_midi2()
804 return 0; // skip in cc_ev_to_ump_midi2()
808 return 0; // skip in cc_ev_to_ump_midi2()
812 return 0; // skip in cc_ev_to_ump_midi2()
816 return 0; // skip in cc_ev_to_ump_midi2()
824 data->cc.data = upscale_7_to_32bit(event->data.control.value & 0x7f); in cc_ev_to_ump_midi2()
835 data->caf.channel = event->data.control.channel & 0x0f; in ctrl_ev_to_ump_midi2()
836 data->caf.data = upscale_7_to_32bit(event->data.control.value & 0x7f); in ctrl_ev_to_ump_midi2()
846 unsigned char channel = event->data.control.channel & 0x0f; in pgm_ev_to_ump_midi2()
851 data->pg.program = event->data.control.value & 0x7f; in pgm_ev_to_ump_midi2()
856 cc->bank_set = 0; in pgm_ev_to_ump_midi2()
857 cc->cc_bank_msb = cc->cc_bank_lsb = 0; in pgm_ev_to_ump_midi2()
870 val = clamp(val, 0, 0x3fff); in pitchbend_ev_to_ump_midi2()
872 data->pb.channel = event->data.control.channel & 0x0f; in pitchbend_ev_to_ump_midi2()
883 unsigned char channel = event->data.control.channel & 0x0f; in ctrl14_ev_to_ump_midi2()
884 unsigned char index = event->data.control.param & 0x7f; in ctrl14_ev_to_ump_midi2()
888 msb = (event->data.control.value >> 7) & 0x7f; in ctrl14_ev_to_ump_midi2()
889 lsb = event->data.control.value & 0x7f; in ctrl14_ev_to_ump_midi2()
898 return 0; // skip in ctrl14_ev_to_ump_midi2()
905 return 0; // skip in ctrl14_ev_to_ump_midi2()
912 return 0; // skip in ctrl14_ev_to_ump_midi2()
919 return 0; // skip in ctrl14_ev_to_ump_midi2()
927 if (event->data.control.param < 0x20) { in ctrl14_ev_to_ump_midi2()
929 data[1] = data[0]; in ctrl14_ev_to_ump_midi2()
930 data[1].cc.index = event->data.control.param | 0x20; in ctrl14_ev_to_ump_midi2()
947 data->rpn.bank = (event->data.control.param >> 7) & 0x7f; in rpn_ev_to_ump_midi2()
948 data->rpn.index = event->data.control.param & 0x7f; in rpn_ev_to_ump_midi2()
949 data->rpn.data = upscale_14_to_32bit(event->data.control.value & 0x3fff); in rpn_ev_to_ump_midi2()
1014 { SNDRV_SEQ_EVENT_CONTROL14, 0,
1044 for (i = 0; i < ARRAY_SIZE(seq_ev_ump_encoders); i++) in find_ump_encoder()
1055 dest->type = 0; in setup_ump_event()
1058 memset(dest->ump, 0, sizeof(dest->ump)); in setup_ump_event()
1080 return 0; in cvt_to_ump_midi1()
1083 for (i = 0; i < n; i++) { in cvt_to_ump_midi1()
1084 ev_cvt.ump[0] = data[i].raw; in cvt_to_ump_midi1()
1088 if (err < 0) in cvt_to_ump_midi1()
1092 return 0; in cvt_to_ump_midi1()
1111 data->raw[0] = make_raw_ump(dest_port, UMP_MSG_TYPE_MIDI2_CHANNEL_VOICE); in cvt_to_ump_midi2()
1112 data->raw[1] = 0; in cvt_to_ump_midi2()
1115 return 0; in cvt_to_ump_midi2()
1118 for (i = 0; i < n; i++) { in cvt_to_ump_midi2()
1123 if (err < 0) in cvt_to_ump_midi2()
1127 return 0; in cvt_to_ump_midi2()
1134 memset(val, 0, 8); in fill_sysex7_ump()
1139 val[0] |= ump_compose(UMP_MSG_TYPE_DATA, get_ump_group(dest_port), in fill_sysex7_ump()
1152 int offset = 0; in cvt_sysex_to_ump()
1156 return 0; in cvt_sysex_to_ump()
1161 if (len <= 0) in cvt_sysex_to_ump()
1171 if (len > 0 && xbuf[len - 1] == UMP_MIDI1_MSG_SYSEX_END) { in cvt_sysex_to_ump()
1187 if (err < 0) in cvt_sysex_to_ump()
1190 return 0; in cvt_sysex_to_ump()
1201 return 0; /* group filtered - skip the event */ in snd_seq_deliver_to_ump()