Lines Matching refs:buf

69 static int cvt_ump_system_to_legacy(u32 data, unsigned char *buf)  in cvt_ump_system_to_legacy()  argument
71 buf[0] = ump_message_status_channel(data); in cvt_ump_system_to_legacy()
75 buf[1] = (data >> 8) & 0x7f; in cvt_ump_system_to_legacy()
78 buf[1] = (data >> 8) & 0x7f; in cvt_ump_system_to_legacy()
79 buf[2] = data & 0x7f; in cvt_ump_system_to_legacy()
87 static int cvt_ump_midi1_to_legacy(u32 data, unsigned char *buf) in cvt_ump_midi1_to_legacy() argument
89 buf[0] = ump_message_status_channel(data); in cvt_ump_midi1_to_legacy()
90 buf[1] = (data >> 8) & 0xff; in cvt_ump_midi1_to_legacy()
96 buf[2] = data & 0xff; in cvt_ump_midi1_to_legacy()
103 unsigned char *buf) in cvt_ump_midi2_to_legacy() argument
109 buf[0] = (status << 4) | channel; in cvt_ump_midi2_to_legacy()
113 buf[1] = midi2->note.note; in cvt_ump_midi2_to_legacy()
114 buf[2] = downscale_16_to_7bit(midi2->note.velocity); in cvt_ump_midi2_to_legacy()
115 if (status == UMP_MSG_STATUS_NOTE_ON && !buf[2]) in cvt_ump_midi2_to_legacy()
116 buf[2] = 1; in cvt_ump_midi2_to_legacy()
119 buf[1] = midi2->paf.note; in cvt_ump_midi2_to_legacy()
120 buf[2] = downscale_32_to_7bit(midi2->paf.data); in cvt_ump_midi2_to_legacy()
123 buf[1] = midi2->cc.index; in cvt_ump_midi2_to_legacy()
124 buf[2] = downscale_32_to_7bit(midi2->cc.data); in cvt_ump_midi2_to_legacy()
127 buf[1] = downscale_32_to_7bit(midi2->caf.data); in cvt_ump_midi2_to_legacy()
131 buf[0] = channel | (UMP_MSG_STATUS_CC << 4); in cvt_ump_midi2_to_legacy()
132 buf[1] = UMP_CC_BANK_SELECT; in cvt_ump_midi2_to_legacy()
133 buf[2] = midi2->pg.bank_msb; in cvt_ump_midi2_to_legacy()
134 buf[3] = channel | (UMP_MSG_STATUS_CC << 4); in cvt_ump_midi2_to_legacy()
135 buf[4] = UMP_CC_BANK_SELECT_LSB; in cvt_ump_midi2_to_legacy()
136 buf[5] = midi2->pg.bank_lsb; in cvt_ump_midi2_to_legacy()
137 buf[6] = channel | (UMP_MSG_STATUS_PROGRAM << 4); in cvt_ump_midi2_to_legacy()
138 buf[7] = midi2->pg.program; in cvt_ump_midi2_to_legacy()
141 buf[1] = midi2->pg.program; in cvt_ump_midi2_to_legacy()
145 buf[1] = v & 0x7f; in cvt_ump_midi2_to_legacy()
146 buf[2] = v >> 7; in cvt_ump_midi2_to_legacy()
150 buf[0] = channel | (UMP_MSG_STATUS_CC << 4); in cvt_ump_midi2_to_legacy()
151 buf[1] = status == UMP_MSG_STATUS_RPN ? UMP_CC_RPN_MSB : UMP_CC_NRPN_MSB; in cvt_ump_midi2_to_legacy()
152 buf[2] = midi2->rpn.bank; in cvt_ump_midi2_to_legacy()
153 buf[3] = buf[0]; in cvt_ump_midi2_to_legacy()
154 buf[4] = status == UMP_MSG_STATUS_RPN ? UMP_CC_RPN_LSB : UMP_CC_NRPN_LSB; in cvt_ump_midi2_to_legacy()
155 buf[5] = midi2->rpn.index; in cvt_ump_midi2_to_legacy()
156 buf[6] = buf[0]; in cvt_ump_midi2_to_legacy()
157 buf[7] = UMP_CC_DATA; in cvt_ump_midi2_to_legacy()
159 buf[8] = v >> 7; in cvt_ump_midi2_to_legacy()
160 buf[9] = buf[0]; in cvt_ump_midi2_to_legacy()
161 buf[10] = UMP_CC_DATA_LSB; in cvt_ump_midi2_to_legacy()
162 buf[11] = v & 0x7f; in cvt_ump_midi2_to_legacy()
170 static int cvt_ump_sysex7_to_legacy(const u32 *data, unsigned char *buf) in cvt_ump_sysex7_to_legacy() argument
186 buf[0] = UMP_MIDI1_MSG_SYSEX_START; in cvt_ump_sysex7_to_legacy()
192 buf[size] = (*data >> offset) & 0x7f; in cvt_ump_sysex7_to_legacy()
203 buf[size++] = UMP_MIDI1_MSG_SYSEX_END; in cvt_ump_sysex7_to_legacy()
220 unsigned char *buf, in snd_ump_convert_from_ump() argument
227 return cvt_ump_system_to_legacy(*data, buf); in snd_ump_convert_from_ump()
229 return cvt_ump_midi1_to_legacy(*data, buf); in snd_ump_convert_from_ump()
232 buf); in snd_ump_convert_from_ump()
234 return cvt_ump_sysex7_to_legacy(data, buf); in snd_ump_convert_from_ump()
263 *data |= cvt->buf[i] << offset; in cvt_legacy_sysex_to_ump()
282 data[0] = ump_compose(UMP_MSG_TYPE_SYSTEM, group, 0, cvt->buf[0]); in cvt_legacy_system_to_ump()
284 data[0] |= cvt->buf[1] << 8; in cvt_legacy_system_to_ump()
286 data[0] |= cvt->buf[2]; in cvt_legacy_system_to_ump()
317 const unsigned char *buf = cvt->buf; in cvt_legacy_cmd_to_ump() local
328 group, 0, buf[0]); in cvt_legacy_cmd_to_ump()
329 data[0] |= buf[1] << 8; in cvt_legacy_cmd_to_ump()
331 data[0] |= buf[2]; in cvt_legacy_cmd_to_ump()
335 status = *buf >> 4; in cvt_legacy_cmd_to_ump()
336 channel = *buf & 0x0f; in cvt_legacy_cmd_to_ump()
340 if (status == UMP_MSG_STATUS_NOTE_ON && !buf[2]) in cvt_legacy_cmd_to_ump()
351 midi2->note.note = buf[1]; in cvt_legacy_cmd_to_ump()
352 midi2->note.velocity = upscale_7_to_16bit(buf[2]); in cvt_legacy_cmd_to_ump()
355 midi2->paf.note = buf[1]; in cvt_legacy_cmd_to_ump()
356 midi2->paf.data = upscale_7_to_32bit(buf[2]); in cvt_legacy_cmd_to_ump()
359 switch (buf[1]) { in cvt_legacy_cmd_to_ump()
362 cc->cc_rpn_msb = buf[2]; in cvt_legacy_cmd_to_ump()
366 cc->cc_rpn_lsb = buf[2]; in cvt_legacy_cmd_to_ump()
370 cc->cc_nrpn_msb = buf[2]; in cvt_legacy_cmd_to_ump()
374 cc->cc_nrpn_lsb = buf[2]; in cvt_legacy_cmd_to_ump()
377 cc->cc_data_msb = buf[2]; in cvt_legacy_cmd_to_ump()
381 cc->cc_bank_msb = buf[2]; in cvt_legacy_cmd_to_ump()
385 cc->cc_bank_lsb = buf[2]; in cvt_legacy_cmd_to_ump()
388 cc->cc_data_lsb = buf[2]; in cvt_legacy_cmd_to_ump()
395 midi2->cc.index = buf[1]; in cvt_legacy_cmd_to_ump()
396 midi2->cc.data = upscale_7_to_32bit(buf[2]); in cvt_legacy_cmd_to_ump()
401 midi2->pg.program = buf[1]; in cvt_legacy_cmd_to_ump()
411 midi2->caf.data = upscale_7_to_32bit(buf[1]); in cvt_legacy_cmd_to_ump()
414 midi2->pb.data = upscale_14_to_32bit(buf[1] | (buf[2] << 7)); in cvt_legacy_cmd_to_ump()
455 cvt->buf[0] = c; in do_convert_to_ump()
464 cvt->buf[0] = c; in do_convert_to_ump()
472 cvt->buf[cvt->len++] = c; in do_convert_to_ump()
481 cvt->buf[cvt->len++] = c; in do_convert_to_ump()
485 if ((cvt->buf[0] & 0xf0) == UMP_MIDI1_MSG_REALTIME) in do_convert_to_ump()